// This file was autogenerated by Hardhat, do not edit it. // prettier-ignore // tslint:disable // eslint-disable // biome-ignore format: see above export interface TestNameCoder$Type { readonly _format: "hh3-artifact-1"; readonly contractName: "TestNameCoder"; readonly sourceName: "contracts/utils/TestNameCoder.sol"; readonly abi: [{"inputs":[{"internalType":"bytes","name":"dns","type":"bytes"}],"name":"DNSDecodingFailed","type":"error"},{"inputs":[{"internalType":"string","name":"ens","type":"string"}],"name":"DNSEncodingFailed","type":"error"},{"inputs":[],"name":"LabelIsEmpty","type":"error"},{"inputs":[{"internalType":"string","name":"label","type":"string"}],"name":"LabelIsTooLong","type":"error"},{"inputs":[{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"OffsetOutOfBoundsError","type":"error"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"string","name":"label","type":"string"}],"name":"addLabel","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"countLabels","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"dns","type":"bytes"}],"name":"decode","outputs":[{"internalType":"string","name":"ens","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"ens","type":"string"}],"name":"encode","outputs":[{"internalType":"bytes","name":"dns","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"label","type":"string"}],"name":"ethName","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"extractLabel","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"}],"name":"firstLabel","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"bytes32","name":"nodeSuffix","type":"bytes32"}],"name":"matchSuffix","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"namehash","outputs":[{"internalType":"bytes32","name":"nameHash","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"nextLabel","outputs":[{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"prevLabel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"uint256","name":"offset","type":"uint256"}],"name":"readLabel","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]; readonly bytecode: "0x6080604052348015600f57600080fd5b5061114c8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063d28bb70311610081578063ecc4401d1161005b578063ecc4401d146101e0578063f74bd69b146101f3578063fb4a42b31461020657600080fd5b8063d28bb7031461018e578063e5c5e9a3146101a1578063e96b6219146101b457600080fd5b806390497d23116100b257806390497d2314610140578063c2846a9614610168578063c5f22c621461017b57600080fd5b80632eb623a0146100d95780636a11b2a8146100ff5780636b5c056f1461011f575b600080fd5b6100ec6100e7366004610e38565b61023b565b6040519081526020015b60405180910390f35b61011261010d366004610e7d565b610250565b6040516100f69190610f20565b61013261012d366004610e38565b61025b565b6040516100f6929190610f33565b61015361014e366004610e38565b610275565b604080519283526020830191909152016100f6565b610112610176366004610f55565b610282565b6100ec610189366004610e38565b61028e565b61011261019c366004610e7d565b61029a565b6101126101af366004610e7d565b6102a5565b6101c76101c2366004610e38565b6102b0565b6040805160ff90931683526020830191909152016100f6565b6100ec6101ee366004610e38565b6102bd565b610112610201366004610e7d565b6102c9565b610219610214366004610fbe565b6102d4565b60408051941515855260208501939093529183015260608201526080016100f6565b600061024783836102f6565b90505b92915050565b606061024a82610328565b60606000610269848461055c565b915091505b9250929050565b60008061026984846105db565b6060610247838361060a565b60006102478383610640565b606061024a826106a2565b606061024a826106e3565b6000806102698484610910565b600061024783836109c0565b606061024a826109f3565b6000806000806102e5878787610a40565b935093509350935093509350935093565b6000805b6103048484610910565b9350905060ff8116156103215761031a8261103b565b91506102fa565b5092915050565b80516060906000819003610352575050604080518082019091526001815260006020820152919050565b8060020167ffffffffffffffff81111561036e5761036e610d55565b6040519080825280601f01601f191660200182016040528015610398576020820181803683370190505b5091506103ac602183016020850183610ab3565b60008060005b838110156104c3578581815181106103cc576103cc611073565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f2e00000000000000000000000000000000000000000000000000000000000000036104bb578281039150816000148061042d575060ff82115b1561046f57856040517f9a4c3e3b0000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b60405180910390fd5b8160f81b85848151811061048557610485611073565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060010192505b6001016103b2565b5050808203828214806104d6575060ff81115b1561050f57846040517f9a4c3e3b0000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b8060f81b84838151811061052557610525611073565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050919050565b606060008061056b8585610910565b92509050600060ff821667ffffffffffffffff81111561058d5761058d610d55565b6040519080825280601f01601f1916602001820160405280156105b7576020820181803683370190505b5090506105d06020820160218888010160ff8516610ab3565b959194509092505050565b60008060006105ea8585610910565b9250905060ff81161561060257806021858701012092505b509250929050565b606061061582610b39565b8284604051602001610629939291906110a2565b604051602081830303815290604052905092915050565b60005b600061064f8483610910565b91505082810361065f575061024a565b8281111561069b57836040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b9050610643565b606061024a6040518060400160405280600581526020017f03657468000000000000000000000000000000000000000000000000000000008152508361060a565b805160609060018114801561072f57508260008151811061070657610706611073565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016155b1561074a575050604080516020810190915260008152919050565b600381101561078757826040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b60006002820367ffffffffffffffff8111156107a5576107a5610d55565b6040519080825280601f01601f1916602001820160405280156107cf576020820181803683370190505b50905061080560208201602186017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8501610ab3565b60005b6000806108158784610910565b915091508160ff1660000361082b575050610908565b61085a84848460ff167f2e00000000000000000000000000000000000000000000000000000000000000610bb4565b1561089357866040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b82156108ff577f2e000000000000000000000000000000000000000000000000000000000000008460018503815181106108cf576108cf611073565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b91506108089050565b509392505050565b6000808351831061094f57836040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b83838151811061096157610961611073565b016020015160f81c91505081810160010181610981578351811415610987565b83518110155b1561026e57836040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b60006109cc83836105db565b92509050801561024a576102476109e384846109c0565b8260009182526020526040902090565b60606000610a0283600061055c565b509050805160000361024a576040517fbf9a274000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600080600080610a5389896105db565b90925090508115610a9657610a69898289610a40565b92985090965094509250868503610a8557600195508793508092505b600085815260208390526040902094505b868503610aa857600195508792508293505b505093509350935093565b5b601f811115610af25781518352602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610ab4565b8015610b3457815183516001602084900360031b1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161783525b505050565b8051600090808203610b77576040517fbf9a274000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff81111561024a57826040517fdab6c73c0000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b6000610bc985610bc48587611103565b610d09565b61ff0060f083901c1660f883901c17601081901b17602081901b17604081901b17608081901b17610bfa8660200190565b90940193928401925b83851015610cff57600081610c16875190565b602097909701961890507ffefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefeff81018119167f80808080808080808080808080808080808080808080808080808080808080801615610cf9578486111580610cf057507ffefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefeff600186880360031b1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182179081019019167f80808080808080808080808080808080808080808080808080808080808080801615155b92505050610d01565b50610c03565b505b949350505050565b8151811115610d515781516040517f8a3c1cfb000000000000000000000000000000000000000000000000000000008152610466918391600401918252602082015260400190565b5050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610d9557600080fd5b81356020830160008067ffffffffffffffff841115610db657610db6610d55565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715610e0357610e03610d55565b604052838152905080828401871015610e1b57600080fd5b838360208301376000602085830101528094505050505092915050565b60008060408385031215610e4b57600080fd5b823567ffffffffffffffff811115610e6257600080fd5b610e6e85828601610d84565b95602094909401359450505050565b600060208284031215610e8f57600080fd5b813567ffffffffffffffff811115610ea657600080fd5b610d0184828501610d84565b60005b83811015610ecd578181015183820152602001610eb5565b50506000910152565b60008151808452610eee816020860160208601610eb2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006102476020830184610ed6565b604081526000610f466040830185610ed6565b90508260208301529392505050565b60008060408385031215610f6857600080fd5b823567ffffffffffffffff811115610f7f57600080fd5b610f8b85828601610d84565b925050602083013567ffffffffffffffff811115610fa857600080fd5b610fb485828601610d84565b9150509250929050565b600080600060608486031215610fd357600080fd5b833567ffffffffffffffff811115610fea57600080fd5b610ff686828701610d84565b9660208601359650604090950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361106c5761106c61100c565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7fff000000000000000000000000000000000000000000000000000000000000008460f81b168152600083516110df816001850160208801610eb2565b8351908301906110f6816001840160208801610eb2565b0160010195945050505050565b8082018082111561024a5761024a61100c56fea264697066735822122029c4ee9a36109d2cd249c88a87b1abe6858dca2b69b4b6383082596df8ce881d64736f6c634300081a0033"; readonly deployedBytecode: "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063d28bb70311610081578063ecc4401d1161005b578063ecc4401d146101e0578063f74bd69b146101f3578063fb4a42b31461020657600080fd5b8063d28bb7031461018e578063e5c5e9a3146101a1578063e96b6219146101b457600080fd5b806390497d23116100b257806390497d2314610140578063c2846a9614610168578063c5f22c621461017b57600080fd5b80632eb623a0146100d95780636a11b2a8146100ff5780636b5c056f1461011f575b600080fd5b6100ec6100e7366004610e38565b61023b565b6040519081526020015b60405180910390f35b61011261010d366004610e7d565b610250565b6040516100f69190610f20565b61013261012d366004610e38565b61025b565b6040516100f6929190610f33565b61015361014e366004610e38565b610275565b604080519283526020830191909152016100f6565b610112610176366004610f55565b610282565b6100ec610189366004610e38565b61028e565b61011261019c366004610e7d565b61029a565b6101126101af366004610e7d565b6102a5565b6101c76101c2366004610e38565b6102b0565b6040805160ff90931683526020830191909152016100f6565b6100ec6101ee366004610e38565b6102bd565b610112610201366004610e7d565b6102c9565b610219610214366004610fbe565b6102d4565b60408051941515855260208501939093529183015260608201526080016100f6565b600061024783836102f6565b90505b92915050565b606061024a82610328565b60606000610269848461055c565b915091505b9250929050565b60008061026984846105db565b6060610247838361060a565b60006102478383610640565b606061024a826106a2565b606061024a826106e3565b6000806102698484610910565b600061024783836109c0565b606061024a826109f3565b6000806000806102e5878787610a40565b935093509350935093509350935093565b6000805b6103048484610910565b9350905060ff8116156103215761031a8261103b565b91506102fa565b5092915050565b80516060906000819003610352575050604080518082019091526001815260006020820152919050565b8060020167ffffffffffffffff81111561036e5761036e610d55565b6040519080825280601f01601f191660200182016040528015610398576020820181803683370190505b5091506103ac602183016020850183610ab3565b60008060005b838110156104c3578581815181106103cc576103cc611073565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f2e00000000000000000000000000000000000000000000000000000000000000036104bb578281039150816000148061042d575060ff82115b1561046f57856040517f9a4c3e3b0000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b60405180910390fd5b8160f81b85848151811061048557610485611073565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060010192505b6001016103b2565b5050808203828214806104d6575060ff81115b1561050f57846040517f9a4c3e3b0000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b8060f81b84838151811061052557610525611073565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050919050565b606060008061056b8585610910565b92509050600060ff821667ffffffffffffffff81111561058d5761058d610d55565b6040519080825280601f01601f1916602001820160405280156105b7576020820181803683370190505b5090506105d06020820160218888010160ff8516610ab3565b959194509092505050565b60008060006105ea8585610910565b9250905060ff81161561060257806021858701012092505b509250929050565b606061061582610b39565b8284604051602001610629939291906110a2565b604051602081830303815290604052905092915050565b60005b600061064f8483610910565b91505082810361065f575061024a565b8281111561069b57836040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b9050610643565b606061024a6040518060400160405280600581526020017f03657468000000000000000000000000000000000000000000000000000000008152508361060a565b805160609060018114801561072f57508260008151811061070657610706611073565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016155b1561074a575050604080516020810190915260008152919050565b600381101561078757826040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b60006002820367ffffffffffffffff8111156107a5576107a5610d55565b6040519080825280601f01601f1916602001820160405280156107cf576020820181803683370190505b50905061080560208201602186017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8501610ab3565b60005b6000806108158784610910565b915091508160ff1660000361082b575050610908565b61085a84848460ff167f2e00000000000000000000000000000000000000000000000000000000000000610bb4565b1561089357866040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b82156108ff577f2e000000000000000000000000000000000000000000000000000000000000008460018503815181106108cf576108cf611073565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b91506108089050565b509392505050565b6000808351831061094f57836040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b83838151811061096157610961611073565b016020015160f81c91505081810160010181610981578351811415610987565b83518110155b1561026e57836040517fba4adc230000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b60006109cc83836105db565b92509050801561024a576102476109e384846109c0565b8260009182526020526040902090565b60606000610a0283600061055c565b509050805160000361024a576040517fbf9a274000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600080600080610a5389896105db565b90925090508115610a9657610a69898289610a40565b92985090965094509250868503610a8557600195508793508092505b600085815260208390526040902094505b868503610aa857600195508792508293505b505093509350935093565b5b601f811115610af25781518352602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610ab4565b8015610b3457815183516001602084900360031b1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161783525b505050565b8051600090808203610b77576040517fbf9a274000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff81111561024a57826040517fdab6c73c0000000000000000000000000000000000000000000000000000000081526004016104669190610f20565b6000610bc985610bc48587611103565b610d09565b61ff0060f083901c1660f883901c17601081901b17602081901b17604081901b17608081901b17610bfa8660200190565b90940193928401925b83851015610cff57600081610c16875190565b602097909701961890507ffefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefeff81018119167f80808080808080808080808080808080808080808080808080808080808080801615610cf9578486111580610cf057507ffefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefeff600186880360031b1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182179081019019167f80808080808080808080808080808080808080808080808080808080808080801615155b92505050610d01565b50610c03565b505b949350505050565b8151811115610d515781516040517f8a3c1cfb000000000000000000000000000000000000000000000000000000008152610466918391600401918252602082015260400190565b5050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610d9557600080fd5b81356020830160008067ffffffffffffffff841115610db657610db6610d55565b506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85018116603f0116810181811067ffffffffffffffff82111715610e0357610e03610d55565b604052838152905080828401871015610e1b57600080fd5b838360208301376000602085830101528094505050505092915050565b60008060408385031215610e4b57600080fd5b823567ffffffffffffffff811115610e6257600080fd5b610e6e85828601610d84565b95602094909401359450505050565b600060208284031215610e8f57600080fd5b813567ffffffffffffffff811115610ea657600080fd5b610d0184828501610d84565b60005b83811015610ecd578181015183820152602001610eb5565b50506000910152565b60008151808452610eee816020860160208601610eb2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006102476020830184610ed6565b604081526000610f466040830185610ed6565b90508260208301529392505050565b60008060408385031215610f6857600080fd5b823567ffffffffffffffff811115610f7f57600080fd5b610f8b85828601610d84565b925050602083013567ffffffffffffffff811115610fa857600080fd5b610fb485828601610d84565b9150509250929050565b600080600060608486031215610fd357600080fd5b833567ffffffffffffffff811115610fea57600080fd5b610ff686828701610d84565b9660208601359650604090950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361106c5761106c61100c565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7fff000000000000000000000000000000000000000000000000000000000000008460f81b168152600083516110df816001850160208801610eb2565b8351908301906110f6816001840160208801610eb2565b0160010195945050505050565b8082018082111561024a5761024a61100c56fea264697066735822122029c4ee9a36109d2cd249c88a87b1abe6858dca2b69b4b6383082596df8ce881d64736f6c634300081a0033"; readonly linkReferences: {}; readonly deployedLinkReferences: {}; readonly immutableReferences: {}; readonly inputSourceName: "project/contracts/utils/TestNameCoder.sol"; readonly buildInfoId: "solc-0_8_26-f05bdccb11f2cf6df865fc6a27a95b5ace6017ea"; }; import "hardhat/types/artifacts"; declare module "hardhat/types/artifacts" { interface ArtifactMap { ["TestNameCoder"]: TestNameCoder$Type; ["contracts/utils/TestNameCoder.sol:TestNameCoder"]: TestNameCoder$Type; } }