{
  "_format": "hh-sol-artifact-1",
  "contractName": "IMessageLibE1",
  "sourceName": "contracts/uln/uln301/interfaces/IMessageLibE1.sol",
  "abi": [
    {
      "inputs": [],
      "name": "LZ_MessageLib_InsufficientMsgValue",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "LZ_MessageLib_InvalidPath",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "LZ_MessageLib_InvalidSender",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "LZ_MessageLib_LzTokenPaymentAddressMustBeSender",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "_chainId",
          "type": "uint16"
        },
        {
          "internalType": "address",
          "name": "_userApplication",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_payload",
          "type": "bytes"
        },
        {
          "internalType": "bool",
          "name": "_payInZRO",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "_adapterParam",
          "type": "bytes"
        }
      ],
      "name": "estimateFees",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "nativeFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "zroFee",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "_chainId",
          "type": "uint16"
        },
        {
          "internalType": "address",
          "name": "_userApplication",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_configType",
          "type": "uint256"
        }
      ],
      "name": "getConfig",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_userApplication",
          "type": "address"
        },
        {
          "internalType": "uint64",
          "name": "_lastNonce",
          "type": "uint64"
        },
        {
          "internalType": "uint16",
          "name": "_chainId",
          "type": "uint16"
        },
        {
          "internalType": "bytes",
          "name": "_destination",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "_payload",
          "type": "bytes"
        },
        {
          "internalType": "address payable",
          "name": "refundAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_zroPaymentAddress",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_adapterParams",
          "type": "bytes"
        }
      ],
      "name": "send",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "_chainId",
          "type": "uint16"
        },
        {
          "internalType": "address",
          "name": "_userApplication",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_configType",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_config",
          "type": "bytes"
        }
      ],
      "name": "setConfig",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_lzToken",
          "type": "address"
        }
      ],
      "name": "setLzToken",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_treasury",
          "type": "address"
        }
      ],
      "name": "setTreasury",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "major",
          "type": "uint64"
        },
        {
          "internalType": "uint8",
          "name": "minor",
          "type": "uint8"
        },
        {
          "internalType": "uint8",
          "name": "endpointVersion",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "withdrawFee",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
