export default [ { inputs: [ { internalType: 'contract ENS', name: 'ens_', type: 'address', }, { internalType: 'address', name: 'registrarController_', type: 'address', }, { internalType: 'address', name: 'reverseRegistrar_', type: 'address', }, { internalType: 'address', name: 'owner_', type: 'address', }, ], stateMutability: 'nonpayable', type: 'constructor', }, { inputs: [], name: 'AlreadyInitialized', type: 'error', }, { inputs: [], name: 'CantSetSelfAsDelegate', type: 'error', }, { inputs: [], name: 'CantSetSelfAsOperator', type: 'error', }, { inputs: [], name: 'NewOwnerIsZeroAddress', type: 'error', }, { inputs: [], name: 'NoHandoverRequest', type: 'error', }, { inputs: [], name: 'Unauthorized', type: 'error', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: true, internalType: 'uint256', name: 'contentType', type: 'uint256', }, ], name: 'ABIChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'address', name: 'a', type: 'address', }, ], name: 'AddrChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'uint256', name: 'coinType', type: 'uint256', }, { indexed: false, internalType: 'bytes', name: 'newAddress', type: 'bytes', }, ], name: 'AddressChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'owner', type: 'address', }, { indexed: true, internalType: 'address', name: 'operator', type: 'address', }, { indexed: false, internalType: 'bool', name: 'approved', type: 'bool', }, ], name: 'ApprovalForAll', type: 'event', }, { anonymous: false, inputs: [ { indexed: false, internalType: 'address', name: 'owner', type: 'address', }, { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: true, internalType: 'address', name: 'delegate', type: 'address', }, { indexed: true, internalType: 'bool', name: 'approved', type: 'bool', }, ], name: 'Approved', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'bytes', name: 'hash', type: 'bytes', }, ], name: 'ContenthashChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'bytes', name: 'name', type: 'bytes', }, { indexed: false, internalType: 'uint16', name: 'resource', type: 'uint16', }, { indexed: false, internalType: 'bytes', name: 'record', type: 'bytes', }, ], name: 'DNSRecordChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'bytes', name: 'name', type: 'bytes', }, { indexed: false, internalType: 'uint16', name: 'resource', type: 'uint16', }, ], name: 'DNSRecordDeleted', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'bytes', name: 'lastzonehash', type: 'bytes', }, { indexed: false, internalType: 'bytes', name: 'zonehash', type: 'bytes', }, ], name: 'DNSZonehashChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: true, internalType: 'bytes4', name: 'interfaceID', type: 'bytes4', }, { indexed: false, internalType: 'address', name: 'implementer', type: 'address', }, ], name: 'InterfaceChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'string', name: 'name', type: 'string', }, ], name: 'NameChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'pendingOwner', type: 'address', }, ], name: 'OwnershipHandoverCanceled', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'pendingOwner', type: 'address', }, ], name: 'OwnershipHandoverRequested', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'oldOwner', type: 'address', }, { indexed: true, internalType: 'address', name: 'newOwner', type: 'address', }, ], name: 'OwnershipTransferred', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'bytes32', name: 'x', type: 'bytes32', }, { indexed: false, internalType: 'bytes32', name: 'y', type: 'bytes32', }, ], name: 'PubkeyChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'newRegistrarController', type: 'address', }, ], name: 'RegistrarControllerUpdated', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'newReverseRegistrar', type: 'address', }, ], name: 'ReverseRegistrarUpdated', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: true, internalType: 'string', name: 'indexedKey', type: 'string', }, { indexed: false, internalType: 'string', name: 'key', type: 'string', }, { indexed: false, internalType: 'string', name: 'value', type: 'string', }, ], name: 'TextChanged', type: 'event', }, { anonymous: false, inputs: [ { indexed: true, internalType: 'bytes32', name: 'node', type: 'bytes32', }, { indexed: false, internalType: 'uint64', name: 'newVersion', type: 'uint64', }, ], name: 'VersionChanged', type: 'event', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'uint256', name: 'contentTypes', type: 'uint256', }, ], name: 'ABI', outputs: [ { internalType: 'uint256', name: '', type: 'uint256', }, { internalType: 'bytes', name: '', type: 'bytes', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, ], name: 'addr', outputs: [ { internalType: 'address payable', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'uint256', name: 'coinType', type: 'uint256', }, ], name: 'addr', outputs: [ { internalType: 'bytes', name: '', type: 'bytes', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'address', name: 'delegate', type: 'address', }, { internalType: 'bool', name: 'approved', type: 'bool', }, ], name: 'approve', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [], name: 'cancelOwnershipHandover', outputs: [], stateMutability: 'payable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, ], name: 'clearRecords', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pendingOwner', type: 'address', }, ], name: 'completeOwnershipHandover', outputs: [], stateMutability: 'payable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, ], name: 'contenthash', outputs: [ { internalType: 'bytes', name: '', type: 'bytes', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes32', name: 'name', type: 'bytes32', }, { internalType: 'uint16', name: 'resource', type: 'uint16', }, ], name: 'dnsRecord', outputs: [ { internalType: 'bytes', name: '', type: 'bytes', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'ens', outputs: [ { internalType: 'contract ENS', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes32', name: 'name', type: 'bytes32', }, ], name: 'hasDNSRecords', outputs: [ { internalType: 'bool', name: '', type: 'bool', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes4', name: 'interfaceID', type: 'bytes4', }, ], name: 'interfaceImplementer', outputs: [ { internalType: 'address', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'owner', type: 'address', }, { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'address', name: 'delegate', type: 'address', }, ], name: 'isApprovedFor', outputs: [ { internalType: 'bool', name: '', type: 'bool', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'account', type: 'address', }, { internalType: 'address', name: 'operator', type: 'address', }, ], name: 'isApprovedForAll', outputs: [ { internalType: 'bool', name: '', type: 'bool', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes[]', name: 'data', type: 'bytes[]', }, ], name: 'multicall', outputs: [ { internalType: 'bytes[]', name: 'results', type: 'bytes[]', }, ], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'nodehash', type: 'bytes32', }, { internalType: 'bytes[]', name: 'data', type: 'bytes[]', }, ], name: 'multicallWithNodeCheck', outputs: [ { internalType: 'bytes[]', name: 'results', type: 'bytes[]', }, ], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, ], name: 'name', outputs: [ { internalType: 'string', name: '', type: 'string', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'owner', outputs: [ { internalType: 'address', name: 'result', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'pendingOwner', type: 'address', }, ], name: 'ownershipHandoverExpiresAt', outputs: [ { internalType: 'uint256', name: 'result', type: 'uint256', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, ], name: 'pubkey', outputs: [ { internalType: 'bytes32', name: 'x', type: 'bytes32', }, { internalType: 'bytes32', name: 'y', type: 'bytes32', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: '', type: 'bytes32', }, ], name: 'recordVersions', outputs: [ { internalType: 'uint64', name: '', type: 'uint64', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'registrarController', outputs: [ { internalType: 'address', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'payable', type: 'function', }, { inputs: [], name: 'requestOwnershipHandover', outputs: [], stateMutability: 'payable', type: 'function', }, { inputs: [ { internalType: 'bytes', name: '', type: 'bytes', }, { internalType: 'bytes', name: 'data', type: 'bytes', }, ], name: 'resolve', outputs: [ { internalType: 'bytes', name: '', type: 'bytes', }, ], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'reverseRegistrar', outputs: [ { internalType: 'address', name: '', type: 'address', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'uint256', name: 'contentType', type: 'uint256', }, { internalType: 'bytes', name: 'data', type: 'bytes', }, ], name: 'setABI', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'uint256', name: 'coinType', type: 'uint256', }, { internalType: 'bytes', name: 'a', type: 'bytes', }, ], name: 'setAddr', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'address', name: 'a', type: 'address', }, ], name: 'setAddr', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'operator', type: 'address', }, { internalType: 'bool', name: 'approved', type: 'bool', }, ], name: 'setApprovalForAll', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes', name: 'hash', type: 'bytes', }, ], name: 'setContenthash', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes', name: 'data', type: 'bytes', }, ], name: 'setDNSRecords', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes4', name: 'interfaceID', type: 'bytes4', }, { internalType: 'address', name: 'implementer', type: 'address', }, ], name: 'setInterface', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'string', name: 'newName', type: 'string', }, ], name: 'setName', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes32', name: 'x', type: 'bytes32', }, { internalType: 'bytes32', name: 'y', type: 'bytes32', }, ], name: 'setPubkey', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'registrarController_', type: 'address', }, ], name: 'setRegistrarController', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'address', name: 'reverseRegistrar_', type: 'address', }, ], name: 'setReverseRegistrar', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'string', name: 'key', type: 'string', }, { internalType: 'string', name: 'value', type: 'string', }, ], name: 'setText', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'bytes', name: 'hash', type: 'bytes', }, ], name: 'setZonehash', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [ { internalType: 'bytes4', name: 'interfaceID', type: 'bytes4', }, ], name: 'supportsInterface', outputs: [ { internalType: 'bool', name: '', type: 'bool', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, { internalType: 'string', name: 'key', type: 'string', }, ], name: 'text', outputs: [ { internalType: 'string', name: '', type: 'string', }, ], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'newOwner', type: 'address', }, ], name: 'transferOwnership', outputs: [], stateMutability: 'payable', type: 'function', }, { inputs: [ { internalType: 'bytes32', name: 'node', type: 'bytes32', }, ], name: 'zonehash', outputs: [ { internalType: 'bytes', name: '', type: 'bytes', }, ], stateMutability: 'view', type: 'function', }, ] as const;