{
  "1": [
    {
      "name": "fork",
      "chainId": "1",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0x52735D63bfAe96ddb1aD81C7356d938E8E5e2C19",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x2802876D8F9e389Baa16D17a3AbBa5402513B529",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "bool",
                  "name": "isTestnet",
                  "type": "bool"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "TESTNET",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    },
    {
      "name": "localhost",
      "chainId": "1",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0xdEE49F247c8B567273437F41CC326A2fA1e9cC3D",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x7baFe060A37E31E707b8B28a90a36731ee99aFBa",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "remote",
                  "type": "address"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "upgrade",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    },
    {
      "name": "mainnet",
      "chainId": "1",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0xdEE49F247c8B567273437F41CC326A2fA1e9cC3D",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x7baFe060A37E31E707b8B28a90a36731ee99aFBa",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "remote",
                  "type": "address"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "upgrade",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    }
  ],
  "5": [
    {
      "name": "goerli",
      "chainId": "5",
      "contracts": {
        "MessagePassingBridge": {
          "address": "0x57ef07B6C7bc69E2A48fC073047112d3320103f1",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0xf738870a8063a060f59E3754C89039663bA1b027",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "bool",
                  "name": "isTestnet",
                  "type": "bool"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum MessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum MessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "TESTNET",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum MessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLzAdapterParams",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "onTokenTransfer",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    }
  ],
  "50": [
    {
      "name": "development-xdc",
      "chainId": "50",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0x5D4C25c3B621027A8011474Eb005e45Dd014a2c1",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x9aDF1E99b06CeDDB5787675f9744bc53B4e34a41",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "bool",
                  "name": "isTestnet",
                  "type": "bool"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "TESTNET",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "upgrade",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    },
    {
      "name": "xdc",
      "chainId": "50",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0xdEE49F247c8B567273437F41CC326A2fA1e9cC3D",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0xa7bFc0D36300B5978Cfa18301446caD3E855aE06",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "remote",
                  "type": "address"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "upgrade",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    },
    {
      "name": "xdc_testnet",
      "chainId": "50",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0xdEE49F247c8B567273437F41CC326A2fA1e9cC3D",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xD77Ace8A2b38811Ec1f04e098390b583b9354Db7",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x86D908d5EF85903823e12CD959db8aa6b2638a89",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "remote",
                  "type": "address"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "upgrade",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    }
  ],
  "122": [
    {
      "name": "fuse",
      "chainId": "122",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0xdEE49F247c8B567273437F41CC326A2fA1e9cC3D",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x6f252280eB53df085eAD27BBe55d615741A8268D",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "remote",
                  "type": "address"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "upgrade",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    },
    {
      "name": "fuse_testnet",
      "chainId": "122",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0x52735D63bfAe96ddb1aD81C7356d938E8E5e2C19",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0x1d722ecd6186BAd155BA9198a93c079B6705dcD9",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x9A1f9A4DA988c65111Ef56D002CC46EBb003A03b",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "bool",
                  "name": "isTestnet",
                  "type": "bool"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "TESTNET",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    }
  ],
  "42220": [
    {
      "name": "celo",
      "chainId": "42220",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0xdEE49F247c8B567273437F41CC326A2fA1e9cC3D",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0x7bDaF2Fb332761b2a6A565a43ccB0ACfC36d2C3D",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "remote",
                  "type": "address"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "upgrade",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    },
    {
      "name": "celo_testnet",
      "chainId": "42220",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0xdEE49F247c8B567273437F41CC326A2fA1e9cC3D",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xD77Ace8A2b38811Ec1f04e098390b583b9354Db7",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0xF7c7bba5b1Cd748d087706a3245616f199663d67",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "uint32",
                  "name": "homeChainId",
                  "type": "uint32"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "HOME_CHAIN_ID",
              "outputs": [
                {
                  "internalType": "uint32",
                  "name": "",
                  "type": "uint32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "remote",
                  "type": "address"
                }
              ],
              "name": "addLzChainSupport",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "approveRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "approvedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum IMessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "gasRefundAddress",
                  "type": "address"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "feeRecipient",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "name": "fromAxelarChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "name": "fromLzChainId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "lzChainToIdsMapping",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "preventRequest",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "recipient",
                  "type": "address"
                }
              ],
              "name": "setFeeRecipient",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toAxelarChainId",
              "outputs": [
                {
                  "internalType": "string",
                  "name": "axlChainId",
                  "type": "string"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "toLzChainId",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "lzChainId",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    },
    {
      "name": "development-celo",
      "chainId": "42220",
      "contracts": {
        "BridgeHelperLibrary": {
          "address": "0x5D4C25c3B621027A8011474Eb005e45Dd014a2c1",
          "abi": [
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeLimits",
                  "name": "bridgeLimits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.AccountLimit",
                  "name": "accountDailyLimit",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "lastTransferReset",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "bridged24Hours",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct IMessagePassingBridge.BridgeDailyLimit",
                  "name": "bridgeDailyLimit",
                  "type": "tuple"
                },
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "INameService"
                },
                {
                  "internalType": "bool",
                  "name": "isClosed",
                  "type": "bool"
                },
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFrom18ToTokenDecimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "uint8",
                  "name": "decimals",
                  "type": "uint8"
                }
              ],
              "name": "normalizeFromTokenTo18Decimals",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "normalized",
                  "type": "uint256"
                }
              ],
              "stateMutability": "pure",
              "type": "function"
            }
          ]
        },
        "MessagePassingBridge": {
          "address": "0xD3dd0944835bD31DFF1DDe616ecd198D543Dd83d",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        }
      }
    }
  ],
  "44787": [
    {
      "name": "alfajores",
      "chainId": "44787",
      "contracts": {
        "MessagePassingBridge": {
          "address": "0x57ef07B6C7bc69E2A48fC073047112d3320103f1",
          "abi": [
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "stateMutability": "payable",
              "type": "fallback"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_logic",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "_data",
                  "type": "bytes"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "stateMutability": "payable",
              "type": "receive"
            }
          ]
        },
        "MessagePassingBridge_Implementation": {
          "address": "0xa60f52035281159eF4C51207968C0646E1A399BD",
          "abi": [
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "axlGateway",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "axlGasReceiver",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                },
                {
                  "internalType": "bool",
                  "name": "isTestnet",
                  "type": "bool"
                }
              ],
              "stateMutability": "nonpayable",
              "type": "constructor"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "requestId",
                  "type": "uint256"
                }
              ],
              "name": "ALREADY_EXECUTED",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "AlreadyInitialized",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "string",
                  "name": "",
                  "type": "string"
                }
              ],
              "name": "BRIDGE_LIMITS",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "lzEndpoint",
                  "type": "address"
                }
              ],
              "name": "INVALID_ENDPOINT",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "INVALID_SENDER",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "INVALID_TARGET_OR_CHAINID",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddress",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "InvalidAddressString",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "required",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "sent",
                  "type": "uint256"
                }
              ],
              "name": "LZ_FEE",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "MISSING_FEE",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "sender",
                  "type": "address"
                }
              ],
              "name": "NOT_GUARDIAN",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "NotApprovedByGateway",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER",
              "type": "error"
            },
            {
              "inputs": [],
              "name": "TRANSFER_FROM",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "chainId",
                  "type": "uint256"
                }
              ],
              "name": "UNSUPPORTED_CHAIN",
              "type": "error"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                }
              ],
              "name": "WRONG_TOKEN",
              "type": "error"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "previousAdmin",
                  "type": "address"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "newAdmin",
                  "type": "address"
                }
              ],
              "name": "AdminChanged",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "beacon",
                  "type": "address"
                }
              ],
              "name": "BeaconUpgraded",
              "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": "targetChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "timestamp",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum MessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "BridgeRequest",
              "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": "normalizedAmount",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "enum MessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                },
                {
                  "indexed": true,
                  "internalType": "uint256",
                  "name": "id",
                  "type": "uint256"
                }
              ],
              "name": "ExecutedTransfer",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "sourceChainId",
                  "type": "uint256"
                },
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "sourceAddress",
                  "type": "address"
                }
              ],
              "name": "FalseSender",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint8",
                  "name": "version",
                  "type": "uint8"
                }
              ],
              "name": "Initialized",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_reason",
                  "type": "bytes"
                }
              ],
              "name": "MessageFailed",
              "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": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "indexed": false,
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "indexed": false,
                  "internalType": "bytes32",
                  "name": "_payloadHash",
                  "type": "bytes32"
                }
              ],
              "name": "RetryMessageSuccess",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_type",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "uint256",
                  "name": "_minDstGas",
                  "type": "uint256"
                }
              ],
              "name": "SetMinDstGas",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "address",
                  "name": "precrime",
                  "type": "address"
                }
              ],
              "name": "SetPrecrime",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemote",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": false,
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "indexed": false,
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "SetTrustedRemoteAddress",
              "type": "event"
            },
            {
              "anonymous": false,
              "inputs": [
                {
                  "indexed": true,
                  "internalType": "address",
                  "name": "implementation",
                  "type": "address"
                }
              ],
              "name": "Upgraded",
              "type": "event"
            },
            {
              "inputs": [],
              "name": "DEFAULT_PAYLOAD_SIZE_LIMIT",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "TESTNET",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "name": "accountsDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "avatar",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeDailyLimit",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "lastTransferReset",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "bridged24Hours",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeFees",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "minFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "maxFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "fee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "bridgeLimits",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "dailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "txLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "accountDailyLimit",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "minAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "onlyWhitelisted",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "enum MessagePassingBridge.BridgeService",
                  "name": "bridge",
                  "type": "uint8"
                }
              ],
              "name": "bridgeTo",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "bridgeToWithAxelar",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "bridgeToWithLz",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "targetChainId",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "bridgeToWithLzAdapterParams",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "canBridge",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "isWithinLimit",
                  "type": "bool"
                },
                {
                  "internalType": "string",
                  "name": "error",
                  "type": "string"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "currentId",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "dao",
              "outputs": [
                {
                  "internalType": "contract Controller",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "name": "disabledSourceBridges",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "_fromAddress",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "_toAddress",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_normalizedAmount",
                  "type": "uint256"
                },
                {
                  "internalType": "bool",
                  "name": "_useZro",
                  "type": "bool"
                },
                {
                  "internalType": "bytes",
                  "name": "_adapterParams",
                  "type": "bytes"
                }
              ],
              "name": "estimateSendFee",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "nativeFee",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "zroFee",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                }
              ],
              "name": "execute",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32",
                  "name": "commandId",
                  "type": "bytes32"
                },
                {
                  "internalType": "string",
                  "name": "sourceChain",
                  "type": "string"
                },
                {
                  "internalType": "string",
                  "name": "sourceAddress",
                  "type": "string"
                },
                {
                  "internalType": "bytes",
                  "name": "payload",
                  "type": "bytes"
                },
                {
                  "internalType": "string",
                  "name": "tokenSymbol",
                  "type": "string"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "executeWithToken",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "executedRequests",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "",
                  "type": "uint64"
                }
              ],
              "name": "failedMessages",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "faucet",
              "outputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "forceResumeReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gasService",
              "outputs": [
                {
                  "internalType": "contract IAxelarGasService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "gateway",
              "outputs": [
                {
                  "internalType": "contract IAxelarGateway",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                }
              ],
              "name": "getConfig",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                }
              ],
              "name": "getTrustedRemoteAddress",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "guardian",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract INameService",
                  "name": "nameService",
                  "type": "address"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                },
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "initialize",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "isClosed",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                }
              ],
              "name": "isTrustedRemote",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "name": "lzChainIdsMapping",
              "outputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint",
              "outputs": [
                {
                  "internalType": "contract ILayerZeroEndpointUpgradeable",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "lzEndpoint_",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "lzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "minDstGasLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nameService",
              "outputs": [
                {
                  "internalType": "contract INameService",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "nativeToken",
              "outputs": [
                {
                  "internalType": "contract IGoodDollar",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "nonblockingLzReceive",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "from",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "onTokenTransfer",
              "outputs": [
                {
                  "internalType": "bool",
                  "name": "",
                  "type": "bool"
                }
              ],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "owner",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bool",
                  "name": "isPaused",
                  "type": "bool"
                }
              ],
              "name": "pauseBridge",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "payloadSizeLimitLookup",
              "outputs": [
                {
                  "internalType": "uint256",
                  "name": "",
                  "type": "uint256"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "precrime",
              "outputs": [
                {
                  "internalType": "address",
                  "name": "",
                  "type": "address"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "proxiableUUID",
              "outputs": [
                {
                  "internalType": "bytes32",
                  "name": "",
                  "type": "bytes32"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "renounceOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_srcAddress",
                  "type": "bytes"
                },
                {
                  "internalType": "uint64",
                  "name": "_nonce",
                  "type": "uint64"
                },
                {
                  "internalType": "bytes",
                  "name": "_payload",
                  "type": "bytes"
                }
              ],
              "name": "retryMessage",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "minFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "maxFee",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "fee",
                      "type": "uint256"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeFees",
                  "name": "fees",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeFees",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "components": [
                    {
                      "internalType": "uint256",
                      "name": "dailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "txLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "accountDailyLimit",
                      "type": "uint256"
                    },
                    {
                      "internalType": "uint256",
                      "name": "minAmount",
                      "type": "uint256"
                    },
                    {
                      "internalType": "bool",
                      "name": "onlyWhitelisted",
                      "type": "bool"
                    }
                  ],
                  "internalType": "struct MessagePassingBridge.BridgeLimits",
                  "name": "limits",
                  "type": "tuple"
                }
              ],
              "name": "setBridgeLimits",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_chainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_configType",
                  "type": "uint256"
                },
                {
                  "internalType": "bytes",
                  "name": "_config",
                  "type": "bytes"
                }
              ],
              "name": "setConfig",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "bytes32[]",
                  "name": "bridgeKeys",
                  "type": "bytes32[]"
                },
                {
                  "internalType": "bool[]",
                  "name": "disabled",
                  "type": "bool[]"
                }
              ],
              "name": "setDisabledBridges",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "contract IFaucet",
                  "name": "_faucet",
                  "type": "address"
                }
              ],
              "name": "setFaucet",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_guardian",
                  "type": "address"
                }
              ],
              "name": "setGuardian",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "_packetType",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_minGas",
                  "type": "uint256"
                }
              ],
              "name": "setMinDstGas",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_dstChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "uint256",
                  "name": "_size",
                  "type": "uint256"
                }
              ],
              "name": "setPayloadSizeLimit",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "_precrime",
                  "type": "address"
                }
              ],
              "name": "setPrecrime",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setReceiveVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_version",
                  "type": "uint16"
                }
              ],
              "name": "setSendVersion",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_srcChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_path",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemote",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "_remoteChainId",
                  "type": "uint16"
                },
                {
                  "internalType": "bytes",
                  "name": "_remoteAddress",
                  "type": "bytes"
                }
              ],
              "name": "setTrustedRemoteAddress",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newOwner",
                  "type": "address"
                }
              ],
              "name": "transferOwnership",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "uint16",
                  "name": "",
                  "type": "uint16"
                }
              ],
              "name": "trustedRemoteLookup",
              "outputs": [
                {
                  "internalType": "bytes",
                  "name": "",
                  "type": "bytes"
                }
              ],
              "stateMutability": "view",
              "type": "function"
            },
            {
              "inputs": [],
              "name": "updateAvatar",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                }
              ],
              "name": "upgradeTo",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "newImplementation",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                }
              ],
              "name": "upgradeToAndCall",
              "outputs": [],
              "stateMutability": "payable",
              "type": "function"
            },
            {
              "inputs": [
                {
                  "internalType": "address",
                  "name": "token",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "amount",
                  "type": "uint256"
                }
              ],
              "name": "withdraw",
              "outputs": [],
              "stateMutability": "nonpayable",
              "type": "function"
            }
          ]
        }
      }
    }
  ]
}