{
  "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"
        }
      ]
    }
  }
}