{
  "_format": "hh3-artifact-1",
  "contractName": "TestHexUtils",
  "sourceName": "contracts/utils/TestHexUtils.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "addressToHex",
      "outputs": [
        {
          "internalType": "string",
          "name": "hexString",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "v",
          "type": "bytes"
        }
      ],
      "name": "bytesToHex",
      "outputs": [
        {
          "internalType": "string",
          "name": "hexString",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "name",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "off",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "end",
          "type": "uint256"
        }
      ],
      "name": "hexStringToBytes32",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        },
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "input",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "off",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "end",
          "type": "uint256"
        }
      ],
      "name": "hexToAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "name",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "off",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "end",
          "type": "uint256"
        }
      ],
      "name": "hexToBytes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        },
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "dropZeroNibble",
          "type": "bool"
        }
      ],
      "name": "unpaddedUintToHex",
      "outputs": [
        {
          "internalType": "string",
          "name": "hexString",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b50610a388061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806374399dea1161005057806374399dea146101035780639eb0c39d14610116578063b1fb90711461012957600080fd5b80633a2988c014610077578063437276d4146100bb578063451d89fa146100e3575b600080fd5b61008a610085366004610701565b61014a565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683529015156020830152015b60405180910390f35b6100ce6100c9366004610701565b61019d565b604080519283529015156020830152016100b2565b6100f66100f13660046107b1565b6101e3565b6040516100b2919061090b565b6100f661011136600461091e565b6101f4565b6100f6610124366004610954565b6101ff565b61013c610137366004610701565b610212565b6040516100b2929190610989565b60008061019086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506102599050565b9150915094509492505050565b60008061019086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506102949050565b60606101ee8261030c565b92915050565b60606101ee82610375565b606061020b83836103b0565b9392505050565b6060600061019086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506104879050565b600080826102688560286109dc565b146102785750600090508061028c565b6000610285868686610294565b9093509150505b935093915050565b600080838310156102aa5750600090508061028c565b60006102b685856109ef565b905060408111806102c75750855184115b156102d957506000915081905061028c565b8585016020016102eb8160008461052d565b92506001820160011c6020036000518160031b1c9450505050935093915050565b805160609060011b8067ffffffffffffffff81111561032d5761032d610782565b6040519080825280601f01601f191660200182016040528015610357576020820181803683370190505b509150602083810190830161036d828285610679565b505050919050565b604080516028808252606082810190935260208201818036833750505060008390529050602081016103aa600c826028610679565b50919050565b606082600060805b600881106103e9576001811b8310156103dc576103d581836109dc565b91506103e1565b91821c915b60011c6103b8565b508380156103f75750601082105b1561040a576104076004826109dc565b90505b600061041b600283901c60406109ef565b90508067ffffffffffffffff81111561043657610436610782565b6040519080825280601f01601f191660200182016040528015610460576020820181803683370190505b509350600086831b60005260208501905061047d60008284610679565b5050505092915050565b60606000838310156104aa5750506040805160208101909152600080825261028c565b60006104b685856109ef565b905060016104c482826109dc565b901c67ffffffffffffffff8111156104de576104de610782565b6040519080825280601f01601f191660200182016040528015610508576020820181803683370190505b5092506020858701810190840161052082828561052d565b9350505050935093915050565b60006105e7565b811a6000602f8211603a8310161561056f57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd081016101ee565b604782106040831116156105a657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc981016101ee565b606782106060831116156105dd57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa981016101ee565b5061010092915050565b506001838201828216156106235761060160008651610534565b80855360018601955060018501945060ff81111561062157600092508195505b505b80851015610671578451610638600182610534565b610643600083610534565b60041b17905060ff81111561065c576000925050610671565b80855350600285019450600184019350610623565b509392505050565b8181015b808310156106fb5783516101005b828510801561069a5750600081115b156106ee577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01600f82821c16600a81106106d857806057016106dd565b806030015b90508086535060019094019361068b565b505060208401935061067d565b50505050565b6000806000806060858703121561071757600080fd5b843567ffffffffffffffff81111561072e57600080fd5b8501601f8101871361073f57600080fd5b803567ffffffffffffffff81111561075657600080fd5b87602082840101111561076857600080fd5b602091820198909750908601359560400135945092505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156107c357600080fd5b813567ffffffffffffffff8111156107da57600080fd5b8201601f810184136107eb57600080fd5b803567ffffffffffffffff81111561080557610805610782565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561087157610871610782565b60405281815282820160200186101561088957600080fd5b81602084016020830137600091810160200191909152949350505050565b6000815180845260005b818110156108cd576020818501810151868301820152016108b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061020b60208301846108a7565b60006020828403121561093057600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461020b57600080fd5b6000806040838503121561096757600080fd5b823591506020830135801515811461097e57600080fd5b809150509250929050565b60408152600061099c60408301856108a7565b905082151560208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101ee576101ee6109ad565b818103818111156101ee576101ee6109ad56fea2646970667358221220e47386dc57436f029d066302a38e5e8cb7dcf9307f59e5e2026a60ee92146b2b64736f6c634300081a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c806374399dea1161005057806374399dea146101035780639eb0c39d14610116578063b1fb90711461012957600080fd5b80633a2988c014610077578063437276d4146100bb578063451d89fa146100e3575b600080fd5b61008a610085366004610701565b61014a565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683529015156020830152015b60405180910390f35b6100ce6100c9366004610701565b61019d565b604080519283529015156020830152016100b2565b6100f66100f13660046107b1565b6101e3565b6040516100b2919061090b565b6100f661011136600461091e565b6101f4565b6100f6610124366004610954565b6101ff565b61013c610137366004610701565b610212565b6040516100b2929190610989565b60008061019086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506102599050565b9150915094509492505050565b60008061019086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506102949050565b60606101ee8261030c565b92915050565b60606101ee82610375565b606061020b83836103b0565b9392505050565b6060600061019086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506104879050565b600080826102688560286109dc565b146102785750600090508061028c565b6000610285868686610294565b9093509150505b935093915050565b600080838310156102aa5750600090508061028c565b60006102b685856109ef565b905060408111806102c75750855184115b156102d957506000915081905061028c565b8585016020016102eb8160008461052d565b92506001820160011c6020036000518160031b1c9450505050935093915050565b805160609060011b8067ffffffffffffffff81111561032d5761032d610782565b6040519080825280601f01601f191660200182016040528015610357576020820181803683370190505b509150602083810190830161036d828285610679565b505050919050565b604080516028808252606082810190935260208201818036833750505060008390529050602081016103aa600c826028610679565b50919050565b606082600060805b600881106103e9576001811b8310156103dc576103d581836109dc565b91506103e1565b91821c915b60011c6103b8565b508380156103f75750601082105b1561040a576104076004826109dc565b90505b600061041b600283901c60406109ef565b90508067ffffffffffffffff81111561043657610436610782565b6040519080825280601f01601f191660200182016040528015610460576020820181803683370190505b509350600086831b60005260208501905061047d60008284610679565b5050505092915050565b60606000838310156104aa5750506040805160208101909152600080825261028c565b60006104b685856109ef565b905060016104c482826109dc565b901c67ffffffffffffffff8111156104de576104de610782565b6040519080825280601f01601f191660200182016040528015610508576020820181803683370190505b5092506020858701810190840161052082828561052d565b9350505050935093915050565b60006105e7565b811a6000602f8211603a8310161561056f57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd081016101ee565b604782106040831116156105a657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc981016101ee565b606782106060831116156105dd57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa981016101ee565b5061010092915050565b506001838201828216156106235761060160008651610534565b80855360018601955060018501945060ff81111561062157600092508195505b505b80851015610671578451610638600182610534565b610643600083610534565b60041b17905060ff81111561065c576000925050610671565b80855350600285019450600184019350610623565b509392505050565b8181015b808310156106fb5783516101005b828510801561069a5750600081115b156106ee577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01600f82821c16600a81106106d857806057016106dd565b806030015b90508086535060019094019361068b565b505060208401935061067d565b50505050565b6000806000806060858703121561071757600080fd5b843567ffffffffffffffff81111561072e57600080fd5b8501601f8101871361073f57600080fd5b803567ffffffffffffffff81111561075657600080fd5b87602082840101111561076857600080fd5b602091820198909750908601359560400135945092505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156107c357600080fd5b813567ffffffffffffffff8111156107da57600080fd5b8201601f810184136107eb57600080fd5b803567ffffffffffffffff81111561080557610805610782565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561087157610871610782565b60405281815282820160200186101561088957600080fd5b81602084016020830137600091810160200191909152949350505050565b6000815180845260005b818110156108cd576020818501810151868301820152016108b1565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061020b60208301846108a7565b60006020828403121561093057600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461020b57600080fd5b6000806040838503121561096757600080fd5b823591506020830135801515811461097e57600080fd5b809150509250929050565b60408152600061099c60408301856108a7565b905082151560208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101ee576101ee6109ad565b818103818111156101ee576101ee6109ad56fea2646970667358221220e47386dc57436f029d066302a38e5e8cb7dcf9307f59e5e2026a60ee92146b2b64736f6c634300081a0033",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "immutableReferences": {},
  "inputSourceName": "project/contracts/utils/TestHexUtils.sol",
  "buildInfoId": "solc-0_8_26-f05bdccb11f2cf6df865fc6a27a95b5ace6017ea"
}