# ensforge > Type-safe TypeScript tools for ENS One typed interface for names, records, registration, migration, batching, and React applications. ## Table of Contents ### Introduction - [Why ensforge](/core/why.md): Learn why ensforge Core exists and when to use it. - [Installation](/core/installation.md): Install ensforge Core and its peer dependencies. - [Getting Started](/core/getting-started.md): Configure ensforge Core and read your first ENS name. - [Effect](/core/effect.md): Use the Effect interface exposed by every ensforge Core action. ### Guides - [Effect Guide](/core/guides/effect.md): Compose, retry, interrupt, and observe ensforge actions with Effect. - [Error Handling](/core/guides/error-handling.md): Handle typed ensforge errors with Promise and Effect APIs. - [Batching](/core/guides/batching.md): Batch typed reads and wallet writes with ensforge Core. - [Protocol Routing](/core/guides/protocol-routing.md): Understand how ensforge selects ENSv1 and ENSv2 contracts. - [Writes](/core/guides/writes.md): Simulate, authorize, submit, batch, and resume ENS writes. - [FAQ](/core/guides/faq.md): Common questions about ensforge Core. ### Configuration - [createConfig](/core/api/create-config.md): Create an immutable ensforge Core configuration. - [Config](/core/api/config.md): Configure reads, writes, gateways, clients, and networks in ensforge Core. ### API - [Actions](/core/api/actions.md): Understand the Promise, Effect, request, and call interfaces of Core actions. - [Schemas](/core/api/schemas.md): Runtime schemas and branded domain values exported by ensforge Core. - [Errors](/core/api/errors.md): Tagged error classes and stable error codes exported by ensforge Core. - [Write Plans](/core/api/write-plans.md): Model staged, resumable ENS writes. ### Name Utilities - [Name Utilities](/core/api/names.md): Normalize, analyze, hash, and encode ENS names and records. - [normalizeName](/core/api/names/normalize-name.md): Normalize a complete ENS name with ENSIP-15. - [normalizeLabel](/core/api/names/normalize-label.md): Normalize one ENS label with ENSIP-15. - [analyzeName](/core/api/names/analyze-name.md): Classify a normalized ENS name and derive its labels and parent. - [namehash](/core/api/names/namehash.md): Compute the ENS namehash of a name. - [labelhash](/core/api/names/labelhash.md): Compute the keccak256 labelhash of an ENS label. - [dnsEncodeName](/core/api/names/dns-encode-name.md): Encode an ENS name in DNS wire format. - [dnsDecodeName](/core/api/names/dns-decode-name.md): Decode DNS wire-format bytes into a normalized ENS name. - [encodeAddressRecord](/core/api/names/encode-address-record.md): Encode a coin address for an ENS resolver address record. - [decodeAddressRecord](/core/api/names/decode-address-record.md): Decode ENS address record bytes for a coin type. - [encodeContentHash](/core/api/names/encode-content-hash.md): Encode a content-addressed URI into an ENS content hash. - [decodeContentHash](/core/api/names/decode-content-hash.md): Decode an ENS content hash into its protocol and value. - [toCoinType](/core/api/names/to-coin-type.md): Convert an EVM chain ID into an ENS coin type. - [fromCoinType](/core/api/names/from-coin-type.md): Inspect the namespace represented by an ENS coin type. ### Batch Actions - [estimateCalls](/core/api/actions/batch/estimate-calls.md): estimate calls for typed read and wallet-aware write batching. - [executeWritePlan](/core/api/actions/batch/execute-write-plan.md): Executes a staged ENS write plan and returns resumable progress. - [getCallsStatus](/core/api/actions/batch/get-calls-status.md): Gets calls status for typed read and wallet-aware write batching. - [getWalletCapabilities](/core/api/actions/batch/get-wallet-capabilities.md): Gets wallet capabilities for typed read and wallet-aware write batching. - [prepareCalls](/core/api/actions/batch/prepare-calls.md): Resolves authorization and simulates ENS write intents without submitting them. - [readBatch](/core/api/actions/batch/read-batch.md): Executes a typed collection of ENS read requests, using Multicall where compatible. - [readBatchSettled](/core/api/actions/batch/read-batch-settled.md): Executes a typed read batch and preserves each success or failure independently. - [resumeCalls](/core/api/actions/batch/resume-calls.md): Continues a partially completed wallet or sequential call execution. - [sendCalls](/core/api/actions/batch/send-calls.md): Submits ENS write intents through wallet batching or sequential fallback. - [simulateCalls](/core/api/actions/batch/simulate-calls.md): simulate calls for typed read and wallet-aware write batching. ### Capabilities Actions - [getNameCapabilities](/core/api/actions/capabilities/get-name-capabilities.md): Gets name capabilities for ENS permissions and contract capabilities. - [getOperatorApproval](/core/api/actions/capabilities/get-operator-approval.md): Gets operator approval for ENS permissions and contract capabilities. - [getRecordPermissions](/core/api/actions/capabilities/get-record-permissions.md): Gets record permissions for ENS permissions and contract capabilities. - [getRegistryCapabilities](/core/api/actions/capabilities/get-registry-capabilities.md): Gets registry capabilities for ENS permissions and contract capabilities. - [getRegistryRoles](/core/api/actions/capabilities/get-registry-roles.md): Gets registry roles for ENS permissions and contract capabilities. - [getRequiredAuthorization](/core/api/actions/capabilities/get-required-authorization.md): Determines the authorization required by a proposed ENS write. - [getResolverCapabilities](/core/api/actions/capabilities/get-resolver-capabilities.md): Gets resolver capabilities for ENS permissions and contract capabilities. - [getResolverDelegateApproval](/core/api/actions/capabilities/get-resolver-delegate-approval.md): Gets resolver delegate approval for ENS permissions and contract capabilities. - [getResolverRoles](/core/api/actions/capabilities/get-resolver-roles.md): Gets resolver roles for ENS permissions and contract capabilities. - [getTokenApproval](/core/api/actions/capabilities/get-token-approval.md): Gets token approval for ENS permissions and contract capabilities. - [getWrapperPermissions](/core/api/actions/capabilities/get-wrapper-permissions.md): Gets wrapper permissions for ENS permissions and contract capabilities. - [getWriteTarget](/core/api/actions/capabilities/get-write-target.md): Resolves the contract, resource, and authorization required for an ENS write. - [hasRegistryRoles](/core/api/actions/capabilities/has-registry-roles.md): Checks whether registry roles for ENS permissions and contract capabilities. - [hasResolverRoles](/core/api/actions/capabilities/has-resolver-roles.md): Checks whether resolver roles for ENS permissions and contract capabilities. ### Dns Actions - [claimDnsName](/core/api/actions/dns/claim-dns-name.md): Claims dns name through DNSSEC names and DNS resolver records. - [getDnsClaimStatus](/core/api/actions/dns/get-dns-claim-status.md): Gets dns claim status for DNSSEC names and DNS resolver records. - [getDnsImportPlan](/core/api/actions/dns/get-dns-import-plan.md): Builds the DNSSEC proof and write plan required to import a DNS name. - [getDnsRecord](/core/api/actions/dns/get-dns-record.md): Gets dns record for DNSSEC names and DNS resolver records. - [getDnsRecords](/core/api/actions/dns/get-dns-records.md): Gets dns records for DNSSEC names and DNS resolver records. - [getZoneHash](/core/api/actions/dns/get-zone-hash.md): Gets zone hash for DNSSEC names and DNS resolver records. - [hasDnsRecords](/core/api/actions/dns/has-dns-records.md): Checks whether dns records for DNSSEC names and DNS resolver records. - [importDnsName](/core/api/actions/dns/import-dns-name.md): Runs the resumable DNSSEC proof and ENS import workflow. - [setDnsRecords](/core/api/actions/dns/set-dns-records.md): Sets dns records for DNSSEC names and DNS resolver records. - [setZoneHash](/core/api/actions/dns/set-zone-hash.md): Sets zone hash for DNSSEC names and DNS resolver records. ### Events Actions - [getEnsEvents](/core/api/actions/events/get-ens-events.md): Gets ens events for normalized ENS contract events. - [getNameHistory](/core/api/actions/events/get-name-history.md): Gets the normalized event history for one ENS name. - [watchEnsEvents](/core/api/actions/events/watch-ens-events.md): Watches supported contracts and emits normalized ENS events. ### Migration Actions - [approveMigration](/core/api/actions/migration/approve-migration.md): Approves migration for ENSv1 to ENSv2 migration. - [getMigrationEligibility](/core/api/actions/migration/get-migration-eligibility.md): Gets migration eligibility for ENSv1 to ENSv2 migration. - [getMigrationPlan](/core/api/actions/migration/get-migration-plan.md): Builds the authorization and transaction plan for migrating a name. - [getMigrationStatus](/core/api/actions/migration/get-migration-status.md): Gets migration status for ENSv1 to ENSv2 migration. - [getMigrationTarget](/core/api/actions/migration/get-migration-target.md): Gets migration target for ENSv1 to ENSv2 migration. - [migrateName](/core/api/actions/migration/migrate-name.md): Runs the resumable workflow that migrates one name to ENSv2. - [migrateNames](/core/api/actions/migration/migrate-names.md): Runs a resumable migration workflow for multiple names. ### Name Actions - [getCanonicalResource](/core/api/actions/name/get-canonical-resource.md): Get the canonical ENSv2 resource identifier for a name. - [getExpiry](/core/api/actions/name/get-expiry.md): Get the expiry and grace-period boundary of an ENS name. - [getManager](/core/api/actions/name/get-manager.md): Get the account that manages an ENS name. - [getNameState](/core/api/actions/name/get-name-state.md): Get the complete protocol-aware state of an ENS name. - [getNameStatus](/core/api/actions/name/get-name-status.md): Get the lifecycle status of an ENS name. - [getOwner](/core/api/actions/name/get-owner.md): Get the effective owner of an ENS name. - [getProtocol](/core/api/actions/name/get-protocol.md): Get the active ENS protocol route for a name. - [getRegistrant](/core/api/actions/name/get-registrant.md): Get the ENSv1 .eth registrant for a name. - [getRegistry](/core/api/actions/name/get-registry.md): Get the registry contract that contains an ENS name. - [getTokenId](/core/api/actions/name/get-token-id.md): Get the registrar, wrapper, or registry token ID for an ENS name. - [isAvailable](/core/api/actions/name/is-available.md): Check whether an ENS name is available through its active registration route. - [isMigrated](/core/api/actions/name/is-migrated.md): Check whether an ENS name migrated from ENSv1 to ENSv2. - [isRenewable](/core/api/actions/name/is-renewable.md): Check whether an ENS .eth registration can be renewed. - [isReserved](/core/api/actions/name/is-reserved.md): Check whether ENSv2 reserves a name for its ENSv1 owner. - [isWrapped](/core/api/actions/name/is-wrapped.md): Check whether an ENS name is represented by a wrapper registry. ### Ownership Actions - [getTtl](/core/api/actions/ownership/get-ttl.md): Gets ttl for name ownership and registry management. - [reclaimName](/core/api/actions/ownership/reclaim-name.md): reclaim name for name ownership and registry management. - [setManager](/core/api/actions/ownership/set-manager.md): Sets manager for name ownership and registry management. - [setTtl](/core/api/actions/ownership/set-ttl.md): Sets ttl for name ownership and registry management. - [transferName](/core/api/actions/ownership/transfer-name.md): Transfers name through the active ENS ownership route. - [transferRegistrant](/core/api/actions/ownership/transfer-registrant.md): Transfers registrant through the active ENS ownership route. ### Permissions Actions - [approveName](/core/api/actions/permissions/approve-name.md): Approves name for approvals and scoped roles. - [clearNameApproval](/core/api/actions/permissions/clear-name-approval.md): Clears name approval for approvals and scoped roles. - [grantRegistryRoles](/core/api/actions/permissions/grant-registry-roles.md): Grants registry roles for approvals and scoped roles. - [grantResolverRoles](/core/api/actions/permissions/grant-resolver-roles.md): Grants resolver roles for approvals and scoped roles. - [grantResolverRootRoles](/core/api/actions/permissions/grant-resolver-root-roles.md): Grants resolver root roles for approvals and scoped roles. - [revokeRegistryRoles](/core/api/actions/permissions/revoke-registry-roles.md): Revokes registry roles for approvals and scoped roles. - [revokeResolverRoles](/core/api/actions/permissions/revoke-resolver-roles.md): Revokes resolver roles for approvals and scoped roles. - [revokeResolverRootRoles](/core/api/actions/permissions/revoke-resolver-root-roles.md): Revokes resolver root roles for approvals and scoped roles. - [setOperatorApproval](/core/api/actions/permissions/set-operator-approval.md): Sets operator approval for approvals and scoped roles. - [setRecordPermissions](/core/api/actions/permissions/set-record-permissions.md): Sets record permissions for approvals and scoped roles. - [setResolverDelegateApproval](/core/api/actions/permissions/set-resolver-delegate-approval.md): Sets resolver delegate approval for approvals and scoped roles. ### Records Actions - [clearAvatar](/core/api/actions/records/clear-avatar.md): Clears avatar for ENS resolver records. - [clearRecords](/core/api/actions/records/clear-records.md): Clears records for ENS resolver records. - [getAbi](/core/api/actions/records/get-abi.md): Gets abi for ENS resolver records. - [getAddress](/core/api/actions/records/get-address.md): Gets address for ENS resolver records. - [getAddresses](/core/api/actions/records/get-addresses.md): Gets addresses for ENS resolver records. - [getAvatar](/core/api/actions/records/get-avatar.md): Gets avatar for ENS resolver records. - [getContentHash](/core/api/actions/records/get-content-hash.md): Gets content hash for ENS resolver records. - [getData](/core/api/actions/records/get-data.md): Gets data for ENS resolver records. - [getInterface](/core/api/actions/records/get-interface.md): Gets interface for ENS resolver records. - [getName](/core/api/actions/records/get-name.md): Gets name for ENS resolver records. - [getPubkey](/core/api/actions/records/get-pubkey.md): Gets pubkey for ENS resolver records. - [getRecords](/core/api/actions/records/get-records.md): Gets a typed selection of resolver records in one operation. - [getText](/core/api/actions/records/get-text.md): Gets text for ENS resolver records. - [getTexts](/core/api/actions/records/get-texts.md): Gets texts for ENS resolver records. - [setAbi](/core/api/actions/records/set-abi.md): Sets abi for ENS resolver records. - [setAddress](/core/api/actions/records/set-address.md): Sets address for ENS resolver records. - [setAddresses](/core/api/actions/records/set-addresses.md): Sets addresses for ENS resolver records. - [setAlias](/core/api/actions/records/set-alias.md): Sets alias for ENS resolver records. - [setAvatar](/core/api/actions/records/set-avatar.md): Sets avatar for ENS resolver records. - [setContentHash](/core/api/actions/records/set-content-hash.md): Sets content hash for ENS resolver records. - [setData](/core/api/actions/records/set-data.md): Sets data for ENS resolver records. - [setInterface](/core/api/actions/records/set-interface.md): Sets interface for ENS resolver records. - [setName](/core/api/actions/records/set-name.md): Sets name for ENS resolver records. - [setPubkey](/core/api/actions/records/set-pubkey.md): Sets pubkey for ENS resolver records. - [setRecords](/core/api/actions/records/set-records.md): Sets heterogeneous resolver records using resolver or wallet aggregation. - [setText](/core/api/actions/records/set-text.md): Sets text for ENS resolver records. - [setTexts](/core/api/actions/records/set-texts.md): Sets texts for ENS resolver records. ### Registration Actions - [approvePaymentToken](/core/api/actions/registration/approve-payment-token.md): Approves payment token for registration and renewal. - [approveRenewalPayment](/core/api/actions/registration/approve-renewal-payment.md): Approves renewal payment for registration and renewal. - [commitName](/core/api/actions/registration/commit-name.md): commit name for registration and renewal. - [completeRegistration](/core/api/actions/registration/complete-registration.md): complete registration for registration and renewal. - [getCommitmentStatus](/core/api/actions/registration/get-commitment-status.md): Gets commitment status for registration and renewal. - [getRegistrationParameters](/core/api/actions/registration/get-registration-parameters.md): Gets registration parameters for registration and renewal. - [getRegistrationPlan](/core/api/actions/registration/get-registration-plan.md): Builds the current registration plan for a name. - [getRegistrationPrice](/core/api/actions/registration/get-registration-price.md): Gets registration price for registration and renewal. - [getRenewalPrice](/core/api/actions/registration/get-renewal-price.md): Gets renewal price for registration and renewal. - [isPaymentTokenSupported](/core/api/actions/registration/is-payment-token-supported.md): Checks whether payment token supported for registration and renewal. - [makeRegistrationCommitment](/core/api/actions/registration/make-registration-commitment.md): make registration commitment for registration and renewal. - [registerName](/core/api/actions/registration/register-name.md): Runs the resumable commitment and registration workflow for one name. - [registerNames](/core/api/actions/registration/register-names.md): Runs resumable registration workflows for multiple names. - [renewName](/core/api/actions/registration/renew-name.md): Renews one name through its active ENSv1 or ENSv2 route. - [renewNames](/core/api/actions/registration/renew-names.md): Renews multiple names with safe batching and resumable progress. ### Resolution Actions - [createResolver](/core/api/actions/resolution/create-resolver.md): Creates resolver for resolver discovery and Universal Resolver calls. - [getAlias](/core/api/actions/resolution/get-alias.md): Gets alias for resolver discovery and Universal Resolver calls. - [getOrCreateResolver](/core/api/actions/resolution/get-or-create-resolver.md): Returns a compatible resolver or deploys one when required. - [getResolver](/core/api/actions/resolution/get-resolver.md): Gets resolver for resolver discovery and Universal Resolver calls. - [getResolverVersion](/core/api/actions/resolution/get-resolver-version.md): Gets resolver version for resolver discovery and Universal Resolver calls. - [predictResolverAddress](/core/api/actions/resolution/predict-resolver-address.md): predict resolver address for resolver discovery and Universal Resolver calls. - [resolve](/core/api/actions/resolution/resolve.md): Resolves arbitrary calldata through the active Universal Resolver. - [resolveBatch](/core/api/actions/resolution/resolve-batch.md): Resolves multiple Universal Resolver calls in one operation. - [resolveWithResolver](/core/api/actions/resolution/resolve-with-resolver.md): Resolves arbitrary calldata against an explicit resolver. - [setResolver](/core/api/actions/resolution/set-resolver.md): Sets resolver for resolver discovery and Universal Resolver calls. - [setResolverAndRecords](/core/api/actions/resolution/set-resolver-and-records.md): Sets a resolver and initial records through a resumable workflow. - [upgradeResolver](/core/api/actions/resolution/upgrade-resolver.md): Upgrades resolver through resolver discovery and Universal Resolver calls. ### Reverse Actions - [clearPrimaryName](/core/api/actions/reverse/clear-primary-name.md): Clears primary name for primary-name and reverse resolution. - [getPrimaryName](/core/api/actions/reverse/get-primary-name.md): Gets and optionally forward-verifies the primary name for an address. - [setContractPrimaryName](/core/api/actions/reverse/set-contract-primary-name.md): Sets contract primary name for primary-name and reverse resolution. - [setPrimaryName](/core/api/actions/reverse/set-primary-name.md): Sets primary name for primary-name and reverse resolution. - [setPrimaryNameForAddress](/core/api/actions/reverse/set-primary-name-for-address.md): Sets primary name for address for primary-name and reverse resolution. ### Subnames Actions - [createSubname](/core/api/actions/subnames/create-subname.md): Creates subname for subname management. - [deleteSubname](/core/api/actions/subnames/delete-subname.md): Deletes subname from subname management. - [setSubnameExpiry](/core/api/actions/subnames/set-subname-expiry.md): Sets subname expiry for subname management. - [setSubnameManager](/core/api/actions/subnames/set-subname-manager.md): Sets subname manager for subname management. - [setSubnameRecord](/core/api/actions/subnames/set-subname-record.md): Sets subname record for subname management. - [setSubnameResolver](/core/api/actions/subnames/set-subname-resolver.md): Sets subname resolver for subname management. - [transferSubname](/core/api/actions/subnames/transfer-subname.md): Transfers subname through the active ENS ownership route. ### Wrapping Actions - [extendSubnameExpiry](/core/api/actions/wrapping/extend-subname-expiry.md): Extends subname expiry for wrapped names, expiries, and fuses. - [getFuses](/core/api/actions/wrapping/get-fuses.md): Gets fuses for wrapped names, expiries, and fuses. - [getWrapperExpiry](/core/api/actions/wrapping/get-wrapper-expiry.md): Gets wrapper expiry for wrapped names, expiries, and fuses. - [setChildFuses](/core/api/actions/wrapping/set-child-fuses.md): Sets child fuses for wrapped names, expiries, and fuses. - [setFuses](/core/api/actions/wrapping/set-fuses.md): Sets fuses for wrapped names, expiries, and fuses. - [unwrapName](/core/api/actions/wrapping/unwrap-name.md): Removes name from its wrapper. - [wrapName](/core/api/actions/wrapping/wrap-name.md): Wraps an ENS name and returns resumable write progress. ### Introduction - [Why ensforge](/sdk/why.md): Learn when to use the grouped ensforge SDK. - [Installation](/sdk/installation.md): Install the grouped ensforge SDK. - [Getting Started](/sdk/getting-started.md): Create an ensforge client and call Promise or Effect methods. - [Effect](/sdk/effect.md): Compose config-bound SDK methods as typed Effect programs. ### Guides - [Grouped Actions](/sdk/guides/grouped-actions.md): Navigate capability groups on an ensforge SDK instance. - [Batching](/sdk/guides/batching.md): Batch SDK reads and wallet writes with typed requests and calls. - [Error Handling](/sdk/guides/error-handling.md): Handle typed ensforge errors with Promises or Effect. - [Writes](/sdk/guides/writes.md): Configure a wallet and execute ENS writes through the SDK. - [FAQ](/sdk/guides/faq.md): Frequently asked questions about the ensforge SDK. ### Configuration - [Ensforge](/sdk/api/ensforge.md): Create a configured ensforge SDK client. ### Batch Methods - [estimateCalls](/sdk/api/batch/estimate-calls.md): estimate calls for batch execution. - [executeWritePlan](/sdk/api/batch/execute-write-plan.md): Executes a staged write plan and returns resumable progress. - [getCallsStatus](/sdk/api/batch/get-calls-status.md): Gets calls status for batch execution. - [getWalletCapabilities](/sdk/api/batch/get-wallet-capabilities.md): Gets wallet capabilities for batch execution. - [prepareCalls](/sdk/api/batch/prepare-calls.md): Prepares and simulates write intents without submitting them. - [readBatch](/sdk/api/batch/read-batch.md): Executes typed read requests with configuration already bound. - [readBatchSettled](/sdk/api/batch/read-batch-settled.md): Executes a read batch and preserves each result or failure. - [resumeCalls](/sdk/api/batch/resume-calls.md): Continues a partially completed call execution. - [sendCalls](/sdk/api/batch/send-calls.md): Submits write intents through the best supported wallet route. - [simulateCalls](/sdk/api/batch/simulate-calls.md): simulate calls for batch execution. ### Capabilities Methods - [getNameCapabilities](/sdk/api/capabilities/get-name-capabilities.md): Gets name capabilities for capability and authorization discovery. - [getOperatorApproval](/sdk/api/capabilities/get-operator-approval.md): Gets operator approval for capability and authorization discovery. - [getRecordPermissions](/sdk/api/capabilities/get-record-permissions.md): Gets record permissions for capability and authorization discovery. - [getRegistryCapabilities](/sdk/api/capabilities/get-registry-capabilities.md): Gets registry capabilities for capability and authorization discovery. - [getRegistryRoles](/sdk/api/capabilities/get-registry-roles.md): Gets registry roles for capability and authorization discovery. - [getRequiredAuthorization](/sdk/api/capabilities/get-required-authorization.md): Gets required authorization for capability and authorization discovery. - [getResolverCapabilities](/sdk/api/capabilities/get-resolver-capabilities.md): Gets resolver capabilities for capability and authorization discovery. - [getResolverDelegateApproval](/sdk/api/capabilities/get-resolver-delegate-approval.md): Gets resolver delegate approval for capability and authorization discovery. - [getResolverRoles](/sdk/api/capabilities/get-resolver-roles.md): Gets resolver roles for capability and authorization discovery. - [getTokenApproval](/sdk/api/capabilities/get-token-approval.md): Gets token approval for capability and authorization discovery. - [getWrapperPermissions](/sdk/api/capabilities/get-wrapper-permissions.md): Gets wrapper permissions for capability and authorization discovery. - [getWriteTarget](/sdk/api/capabilities/get-write-target.md): Gets write target for capability and authorization discovery. - [hasRegistryRoles](/sdk/api/capabilities/has-registry-roles.md): Checks whether registry roles for capability and authorization discovery. - [hasResolverRoles](/sdk/api/capabilities/has-resolver-roles.md): Checks whether resolver roles for capability and authorization discovery. ### Dns Methods - [claimDnsName](/sdk/api/dns/claim-dns-name.md): claim dns name for DNS and DNSSEC. - [getDnsClaimStatus](/sdk/api/dns/get-dns-claim-status.md): Gets dns claim status for DNS and DNSSEC. - [getDnsImportPlan](/sdk/api/dns/get-dns-import-plan.md): Gets dns import plan for DNS and DNSSEC. - [getDnsRecord](/sdk/api/dns/get-dns-record.md): Gets dns record for DNS and DNSSEC. - [getDnsRecords](/sdk/api/dns/get-dns-records.md): Gets dns records for DNS and DNSSEC. - [getZoneHash](/sdk/api/dns/get-zone-hash.md): Gets zone hash for DNS and DNSSEC. - [hasDnsRecords](/sdk/api/dns/has-dns-records.md): Checks whether dns records for DNS and DNSSEC. - [importDnsName](/sdk/api/dns/import-dns-name.md): Runs the resumable DNSSEC import workflow. - [setDnsRecords](/sdk/api/dns/set-dns-records.md): Sets dns records for DNS and DNSSEC. - [setZoneHash](/sdk/api/dns/set-zone-hash.md): Sets zone hash for DNS and DNSSEC. ### Events Methods - [getEnsEvents](/sdk/api/events/get-ens-events.md): Gets ens events for ENS events. - [getNameHistory](/sdk/api/events/get-name-history.md): Gets name history for ENS events. - [watchEnsEvents](/sdk/api/events/watch-ens-events.md): Watches supported contracts and emits normalized ENS events. ### Migration Methods - [approveMigration](/sdk/api/migration/approve-migration.md): Approves migration for name migration. - [getMigrationEligibility](/sdk/api/migration/get-migration-eligibility.md): Gets migration eligibility for name migration. - [getMigrationPlan](/sdk/api/migration/get-migration-plan.md): Gets migration plan for name migration. - [getMigrationStatus](/sdk/api/migration/get-migration-status.md): Gets migration status for name migration. - [getMigrationTarget](/sdk/api/migration/get-migration-target.md): Gets migration target for name migration. - [migrateName](/sdk/api/migration/migrate-name.md): Runs the resumable migration workflow for one name. - [migrateNames](/sdk/api/migration/migrate-names.md): Runs a resumable migration workflow for multiple names. ### Name Methods - [getCanonicalResource](/sdk/api/name/get-canonical-resource.md): Gets canonical resource for name state. - [getExpiry](/sdk/api/name/get-expiry.md): Gets expiry for name state. - [getManager](/sdk/api/name/get-manager.md): Gets manager for name state. - [getNameState](/sdk/api/name/get-name-state.md): Gets the complete protocol-aware state of an ENS name. - [getNameStatus](/sdk/api/name/get-name-status.md): Gets name status for name state. - [getOwner](/sdk/api/name/get-owner.md): Gets the effective owner and ownership source of an ENS name. - [getProtocol](/sdk/api/name/get-protocol.md): Gets protocol for name state. - [getRegistrant](/sdk/api/name/get-registrant.md): Gets registrant for name state. - [getRegistry](/sdk/api/name/get-registry.md): Gets registry for name state. - [getTokenId](/sdk/api/name/get-token-id.md): Gets token id for name state. - [isAvailable](/sdk/api/name/is-available.md): Checks whether available for name state. - [isMigrated](/sdk/api/name/is-migrated.md): Checks whether migrated for name state. - [isRenewable](/sdk/api/name/is-renewable.md): Checks whether renewable for name state. - [isReserved](/sdk/api/name/is-reserved.md): Checks whether reserved for name state. - [isWrapped](/sdk/api/name/is-wrapped.md): Checks whether wrapped for name state. ### Ownership Methods - [getTtl](/sdk/api/ownership/get-ttl.md): Gets ttl for ownership management. - [reclaimName](/sdk/api/ownership/reclaim-name.md): reclaim name for ownership management. - [setManager](/sdk/api/ownership/set-manager.md): Sets manager for ownership management. - [setTtl](/sdk/api/ownership/set-ttl.md): Sets ttl for ownership management. - [transferName](/sdk/api/ownership/transfer-name.md): Transfers name through the active ownership route. - [transferRegistrant](/sdk/api/ownership/transfer-registrant.md): Transfers registrant through the active ownership route. ### Permissions Methods - [approveName](/sdk/api/permissions/approve-name.md): Approves name for approvals and roles. - [clearNameApproval](/sdk/api/permissions/clear-name-approval.md): Clears name approval for approvals and roles. - [grantRegistryRoles](/sdk/api/permissions/grant-registry-roles.md): Grants registry roles for approvals and roles. - [grantResolverRoles](/sdk/api/permissions/grant-resolver-roles.md): Grants resolver roles for approvals and roles. - [grantResolverRootRoles](/sdk/api/permissions/grant-resolver-root-roles.md): Grants resolver root roles for approvals and roles. - [revokeRegistryRoles](/sdk/api/permissions/revoke-registry-roles.md): Revokes registry roles for approvals and roles. - [revokeResolverRoles](/sdk/api/permissions/revoke-resolver-roles.md): Revokes resolver roles for approvals and roles. - [revokeResolverRootRoles](/sdk/api/permissions/revoke-resolver-root-roles.md): Revokes resolver root roles for approvals and roles. - [setOperatorApproval](/sdk/api/permissions/set-operator-approval.md): Sets operator approval for approvals and roles. - [setRecordPermissions](/sdk/api/permissions/set-record-permissions.md): Sets record permissions for approvals and roles. - [setResolverDelegateApproval](/sdk/api/permissions/set-resolver-delegate-approval.md): Sets resolver delegate approval for approvals and roles. ### Records Methods - [clearAvatar](/sdk/api/records/clear-avatar.md): Clears avatar for resolver records. - [clearRecords](/sdk/api/records/clear-records.md): Clears records for resolver records. - [getAbi](/sdk/api/records/get-abi.md): Gets abi for resolver records. - [getAddress](/sdk/api/records/get-address.md): Gets address for resolver records. - [getAddresses](/sdk/api/records/get-addresses.md): Gets addresses for resolver records. - [getAvatar](/sdk/api/records/get-avatar.md): Gets avatar for resolver records. - [getContentHash](/sdk/api/records/get-content-hash.md): Gets content hash for resolver records. - [getData](/sdk/api/records/get-data.md): Gets data for resolver records. - [getInterface](/sdk/api/records/get-interface.md): Gets interface for resolver records. - [getName](/sdk/api/records/get-name.md): Gets name for resolver records. - [getPubkey](/sdk/api/records/get-pubkey.md): Gets pubkey for resolver records. - [getRecords](/sdk/api/records/get-records.md): Gets a typed selection of resolver records. - [getText](/sdk/api/records/get-text.md): Gets text for resolver records. - [getTexts](/sdk/api/records/get-texts.md): Gets texts for resolver records. - [setAbi](/sdk/api/records/set-abi.md): Sets abi for resolver records. - [setAddress](/sdk/api/records/set-address.md): Sets address for resolver records. - [setAddresses](/sdk/api/records/set-addresses.md): Sets addresses for resolver records. - [setAlias](/sdk/api/records/set-alias.md): Sets alias for resolver records. - [setAvatar](/sdk/api/records/set-avatar.md): Sets avatar for resolver records. - [setContentHash](/sdk/api/records/set-content-hash.md): Sets content hash for resolver records. - [setData](/sdk/api/records/set-data.md): Sets data for resolver records. - [setInterface](/sdk/api/records/set-interface.md): Sets interface for resolver records. - [setName](/sdk/api/records/set-name.md): Sets name for resolver records. - [setPubkey](/sdk/api/records/set-pubkey.md): Sets pubkey for resolver records. - [setRecords](/sdk/api/records/set-records.md): Sets heterogeneous resolver records with resolver or wallet aggregation. - [setText](/sdk/api/records/set-text.md): Sets text for resolver records. - [setTexts](/sdk/api/records/set-texts.md): Sets texts for resolver records. ### Registration Methods - [approvePaymentToken](/sdk/api/registration/approve-payment-token.md): Approves payment token for registration and renewal. - [approveRenewalPayment](/sdk/api/registration/approve-renewal-payment.md): Approves renewal payment for registration and renewal. - [commitName](/sdk/api/registration/commit-name.md): commit name for registration and renewal. - [completeRegistration](/sdk/api/registration/complete-registration.md): complete registration for registration and renewal. - [getCommitmentStatus](/sdk/api/registration/get-commitment-status.md): Gets commitment status for registration and renewal. - [getRegistrationParameters](/sdk/api/registration/get-registration-parameters.md): Gets registration parameters for registration and renewal. - [getRegistrationPlan](/sdk/api/registration/get-registration-plan.md): Gets registration plan for registration and renewal. - [getRegistrationPrice](/sdk/api/registration/get-registration-price.md): Gets registration price for registration and renewal. - [getRenewalPrice](/sdk/api/registration/get-renewal-price.md): Gets renewal price for registration and renewal. - [isPaymentTokenSupported](/sdk/api/registration/is-payment-token-supported.md): Checks whether payment token supported for registration and renewal. - [makeRegistrationCommitment](/sdk/api/registration/make-registration-commitment.md): make registration commitment for registration and renewal. - [registerName](/sdk/api/registration/register-name.md): Runs the resumable registration workflow for one name. - [registerNames](/sdk/api/registration/register-names.md): Runs resumable registration workflows for multiple names. - [renewName](/sdk/api/registration/renew-name.md): Renews one name through its active protocol route. - [renewNames](/sdk/api/registration/renew-names.md): Renews multiple names with batching and resumable progress. ### Resolution Methods - [createResolver](/sdk/api/resolution/create-resolver.md): Creates resolver for resolution and resolver lifecycle. - [getAlias](/sdk/api/resolution/get-alias.md): Gets alias for resolution and resolver lifecycle. - [getOrCreateResolver](/sdk/api/resolution/get-or-create-resolver.md): Returns a compatible resolver or creates one. - [getResolver](/sdk/api/resolution/get-resolver.md): Gets resolver for resolution and resolver lifecycle. - [getResolverVersion](/sdk/api/resolution/get-resolver-version.md): Gets resolver version for resolution and resolver lifecycle. - [predictResolverAddress](/sdk/api/resolution/predict-resolver-address.md): predict resolver address for resolution and resolver lifecycle. - [resolve](/sdk/api/resolution/resolve.md): Resolves calldata through the active Universal Resolver. - [resolveBatch](/sdk/api/resolution/resolve-batch.md): Resolves multiple Universal Resolver calls. - [resolveWithResolver](/sdk/api/resolution/resolve-with-resolver.md): Resolves calldata against an explicit resolver. - [setResolver](/sdk/api/resolution/set-resolver.md): Sets resolver for resolution and resolver lifecycle. - [setResolverAndRecords](/sdk/api/resolution/set-resolver-and-records.md): Sets a resolver and its initial records as a resumable workflow. - [upgradeResolver](/sdk/api/resolution/upgrade-resolver.md): upgrade resolver for resolution and resolver lifecycle. ### Reverse Methods - [clearPrimaryName](/sdk/api/reverse/clear-primary-name.md): Clears primary name for reverse resolution. - [getPrimaryName](/sdk/api/reverse/get-primary-name.md): Gets primary name for reverse resolution. - [setContractPrimaryName](/sdk/api/reverse/set-contract-primary-name.md): Sets contract primary name for reverse resolution. - [setPrimaryName](/sdk/api/reverse/set-primary-name.md): Sets primary name for reverse resolution. - [setPrimaryNameForAddress](/sdk/api/reverse/set-primary-name-for-address.md): Sets primary name for address for reverse resolution. ### Subnames Methods - [createSubname](/sdk/api/subnames/create-subname.md): Creates subname for subname management. - [deleteSubname](/sdk/api/subnames/delete-subname.md): Deletes subname from subname management. - [setSubnameExpiry](/sdk/api/subnames/set-subname-expiry.md): Sets subname expiry for subname management. - [setSubnameManager](/sdk/api/subnames/set-subname-manager.md): Sets subname manager for subname management. - [setSubnameRecord](/sdk/api/subnames/set-subname-record.md): Sets subname record for subname management. - [setSubnameResolver](/sdk/api/subnames/set-subname-resolver.md): Sets subname resolver for subname management. - [transferSubname](/sdk/api/subnames/transfer-subname.md): Transfers subname through the active ownership route. ### Wrapping Methods - [extendSubnameExpiry](/sdk/api/wrapping/extend-subname-expiry.md): extend subname expiry for wrapped names. - [getFuses](/sdk/api/wrapping/get-fuses.md): Gets fuses for wrapped names. - [getWrapperExpiry](/sdk/api/wrapping/get-wrapper-expiry.md): Gets wrapper expiry for wrapped names. - [setChildFuses](/sdk/api/wrapping/set-child-fuses.md): Sets child fuses for wrapped names. - [setFuses](/sdk/api/wrapping/set-fuses.md): Sets fuses for wrapped names. - [unwrapName](/sdk/api/wrapping/unwrap-name.md): unwrap name for wrapped names. - [wrapName](/sdk/api/wrapping/wrap-name.md): wrap name for wrapped names. ### Introduction - [Why ensforge](/react/why.md): Learn how ensforge brings ENS reads and mutations to React with Effect Atom. - [Installation](/react/installation.md): Install ensforge React and its peer dependencies. - [Getting Started](/react/getting-started.md): Configure ensforge React and render your first ENS query and mutation. - [Effect](/react/effect.md): Compose ensforge React queries and mutations with Effect and Effect Atom. ### Guides - [Read Hooks](/react/guides/queries.md): Fetch, map, and refresh ENS reads with Effect Atom React hooks. - [Mutation Hooks](/react/guides/mutations.md): Execute ENS writes and workflows with Exit callbacks, Promises, or Effect. - [Effect Atom](/react/guides/effect-atom.md): Compose the atoms that power ensforge React hooks. - [Caching and Invalidation](/react/guides/caching.md): Share, prefetch, refresh, and invalidate ENS Effect Atom state. - [Suspense](/react/guides/suspense.md): Read ENS data through React Suspense and error boundaries. - [Batching](/react/guides/batching.md): Batch ENS reads and wallet writes from React. - [Error Handling](/react/guides/error-handling.md): Render and recover from typed ENS failures in React. - [SSR and Frameworks](/react/guides/ssr.md): Use ensforge React with server-rendered React applications. - [FAQ](/react/guides/faq.md): Common questions about ensforge React. ### Configuration - [Config](/react/api/config.md): Configure clients, Wagmi, and Effect Atom defaults for ensforge React. - [EnsforgeProvider](/react/api/ensforge-provider.md): Provide an ensforge SDK and Effect Atom registry to React hooks. - [Atom Options](/react/api/atom-options.md): Configure Effect Atom caching, retries, refreshes, and stale-while-revalidate behavior in ensforge React hooks. - [Atom Result](/react/api/atom-result.md): Understand the Effect AsyncResult state and refresh controls returned by ensforge React read hooks. - [Mutation Options](/react/api/mutation-options.md): Configure Effect schedules and Exit handlers for ensforge mutation hooks. - [Mutation Result](/react/api/mutation-result.md): Understand mutation execution and Effect AsyncResult state in ensforge React. ### Cache - [createRegistry](/react/api/cache/create-registry.md): Create a React-compatible Effect Atom registry for ensforge. - [prefetch](/react/api/cache/prefetch.md): Evaluate and cache an ensforge atom in an Effect Atom registry. - [prefetchEffect](/react/api/cache/prefetch-effect.md): Evaluate and cache an ensforge atom as an Effect. - [invalidate](/react/api/cache/invalidate.md): Refresh matching ensforge atoms in an Effect Atom registry. - [invalidateEffect](/react/api/cache/invalidate-effect.md): Refresh matching ensforge atoms as an Effect. - [makeInvalidationKeys](/react/api/cache/make-invalidation-keys.md): Build Effect reactivity keys for an ensforge invalidation selector. ### Advanced - [makeQueryAtom](/react/api/atoms/make-query-atom.md): Create a cached Effect Atom family from a bound SDK read. - [makeMutationAtom](/react/api/atoms/make-mutation-atom.md): Create a serialized Effect Atom mutation from a bound SDK write. - [makeStreamAtom](/react/api/atoms/make-stream-atom.md): Create an Effect Atom query from a bound SDK stream. - [makeQueryHook](/react/api/hooks/make-query-hook.md): Create a React query hook from an ensforge query atom factory. - [makeMutationHook](/react/api/hooks/make-mutation-hook.md): Create a React mutation hook from an ensforge mutation atom factory. - [makeSuspenseQueryHook](/react/api/hooks/make-suspense-query-hook.md): Create a Suspense query hook from an ensforge query atom factory. - [prefetchAtom](/react/api/hooks/prefetch-atom.md): Evaluate an existing Effect Atom through a registry. ### Context Hooks - [useEnsforge](/react/api/hooks/context/use-ensforge.md): Returns the ensforge SDK from the nearest provider. - [useEnsforgeRegistry](/react/api/hooks/context/use-ensforge-registry.md): Returns the Effect Atom registry from the nearest provider. ### Cache Hooks - [useInvalidate](/react/api/hooks/cache/use-invalidate.md): Hook for refreshing cached ensforge atoms. ### Batch Hooks - [useReadBatch](/react/api/hooks/batch/use-read-batch.md): Hook for running read batch. - [useReadBatchSettled](/react/api/hooks/batch/use-read-batch-settled.md): Hook for running read batch settled. - [useEstimateCalls](/react/api/hooks/batch/use-estimate-calls.md): Hook for estimating calls. - [useEstimateCallsSuspense](/react/api/hooks/batch/use-estimate-calls-suspense.md): Suspense hook for estimating calls. - [useCallsStatus](/react/api/hooks/batch/use-calls-status.md): Hook for fetching calls status. - [useCallsStatusSuspense](/react/api/hooks/batch/use-calls-status-suspense.md): Suspense hook for fetching calls status. - [useWalletCapabilities](/react/api/hooks/batch/use-wallet-capabilities.md): Hook for fetching wallet capabilities. - [useWalletCapabilitiesSuspense](/react/api/hooks/batch/use-wallet-capabilities-suspense.md): Suspense hook for fetching wallet capabilities. - [usePrepareCalls](/react/api/hooks/batch/use-prepare-calls.md): Hook for preparing calls. - [usePrepareCallsSuspense](/react/api/hooks/batch/use-prepare-calls-suspense.md): Suspense hook for preparing calls. - [useSimulateCalls](/react/api/hooks/batch/use-simulate-calls.md): Hook for simulating calls. - [useSimulateCallsSuspense](/react/api/hooks/batch/use-simulate-calls-suspense.md): Suspense hook for simulating calls. - [useExecuteWritePlan](/react/api/hooks/batch/use-execute-write-plan.md): Hook for executing write plan. - [useResumeCalls](/react/api/hooks/batch/use-resume-calls.md): Hook for resuming calls. - [useSendCalls](/react/api/hooks/batch/use-send-calls.md): Hook for sending calls. ### Capabilities Hooks - [useNameCapabilities](/react/api/hooks/capabilities/use-name-capabilities.md): Hook for fetching name capabilities. - [useNameCapabilitiesSuspense](/react/api/hooks/capabilities/use-name-capabilities-suspense.md): Suspense hook for fetching name capabilities. - [useOperatorApproval](/react/api/hooks/capabilities/use-operator-approval.md): Hook for fetching operator approval. - [useOperatorApprovalSuspense](/react/api/hooks/capabilities/use-operator-approval-suspense.md): Suspense hook for fetching operator approval. - [useRecordPermissions](/react/api/hooks/capabilities/use-record-permissions.md): Hook for fetching record permissions. - [useRecordPermissionsSuspense](/react/api/hooks/capabilities/use-record-permissions-suspense.md): Suspense hook for fetching record permissions. - [useRegistryCapabilities](/react/api/hooks/capabilities/use-registry-capabilities.md): Hook for fetching registry capabilities. - [useRegistryCapabilitiesSuspense](/react/api/hooks/capabilities/use-registry-capabilities-suspense.md): Suspense hook for fetching registry capabilities. - [useRegistryRoles](/react/api/hooks/capabilities/use-registry-roles.md): Hook for fetching registry roles. - [useRegistryRolesSuspense](/react/api/hooks/capabilities/use-registry-roles-suspense.md): Suspense hook for fetching registry roles. - [useRequiredAuthorization](/react/api/hooks/capabilities/use-required-authorization.md): Hook for fetching required authorization. - [useRequiredAuthorizationSuspense](/react/api/hooks/capabilities/use-required-authorization-suspense.md): Suspense hook for fetching required authorization. - [useResolverCapabilities](/react/api/hooks/capabilities/use-resolver-capabilities.md): Hook for fetching resolver capabilities. - [useResolverCapabilitiesSuspense](/react/api/hooks/capabilities/use-resolver-capabilities-suspense.md): Suspense hook for fetching resolver capabilities. - [useResolverDelegateApproval](/react/api/hooks/capabilities/use-resolver-delegate-approval.md): Hook for fetching resolver delegate approval. - [useResolverDelegateApprovalSuspense](/react/api/hooks/capabilities/use-resolver-delegate-approval-suspense.md): Suspense hook for fetching resolver delegate approval. - [useResolverRoles](/react/api/hooks/capabilities/use-resolver-roles.md): Hook for fetching resolver roles. - [useResolverRolesSuspense](/react/api/hooks/capabilities/use-resolver-roles-suspense.md): Suspense hook for fetching resolver roles. - [useTokenApproval](/react/api/hooks/capabilities/use-token-approval.md): Hook for fetching token approval. - [useTokenApprovalSuspense](/react/api/hooks/capabilities/use-token-approval-suspense.md): Suspense hook for fetching token approval. - [useWrapperPermissions](/react/api/hooks/capabilities/use-wrapper-permissions.md): Hook for fetching wrapper permissions. - [useWrapperPermissionsSuspense](/react/api/hooks/capabilities/use-wrapper-permissions-suspense.md): Suspense hook for fetching wrapper permissions. - [useWriteTarget](/react/api/hooks/capabilities/use-write-target.md): Hook for fetching write target. - [useWriteTargetSuspense](/react/api/hooks/capabilities/use-write-target-suspense.md): Suspense hook for fetching write target. - [useHasRegistryRoles](/react/api/hooks/capabilities/use-has-registry-roles.md): Hook for checking whether the name has registry roles. - [useHasRegistryRolesSuspense](/react/api/hooks/capabilities/use-has-registry-roles-suspense.md): Suspense hook for checking whether the name has registry roles. - [useHasResolverRoles](/react/api/hooks/capabilities/use-has-resolver-roles.md): Hook for checking whether the name has resolver roles. - [useHasResolverRolesSuspense](/react/api/hooks/capabilities/use-has-resolver-roles-suspense.md): Suspense hook for checking whether the name has resolver roles. ### Dns Hooks - [useDnsClaimStatus](/react/api/hooks/dns/use-dns-claim-status.md): Hook for fetching dns claim status. - [useDnsClaimStatusSuspense](/react/api/hooks/dns/use-dns-claim-status-suspense.md): Suspense hook for fetching dns claim status. - [useDnsImportPlan](/react/api/hooks/dns/use-dns-import-plan.md): Hook for fetching dns import plan. - [useDnsImportPlanSuspense](/react/api/hooks/dns/use-dns-import-plan-suspense.md): Suspense hook for fetching dns import plan. - [useDnsRecord](/react/api/hooks/dns/use-dns-record.md): Hook for fetching dns record. - [useDnsRecordSuspense](/react/api/hooks/dns/use-dns-record-suspense.md): Suspense hook for fetching dns record. - [useDnsRecords](/react/api/hooks/dns/use-dns-records.md): Hook for fetching dns records. - [useDnsRecordsSuspense](/react/api/hooks/dns/use-dns-records-suspense.md): Suspense hook for fetching dns records. - [useZoneHash](/react/api/hooks/dns/use-zone-hash.md): Hook for fetching zone hash. - [useZoneHashSuspense](/react/api/hooks/dns/use-zone-hash-suspense.md): Suspense hook for fetching zone hash. - [useHasDnsRecords](/react/api/hooks/dns/use-has-dns-records.md): Hook for checking whether the name has dns records. - [useHasDnsRecordsSuspense](/react/api/hooks/dns/use-has-dns-records-suspense.md): Suspense hook for checking whether the name has dns records. - [useClaimDnsName](/react/api/hooks/dns/use-claim-dns-name.md): Hook for claiming dns name. - [useImportDnsName](/react/api/hooks/dns/use-import-dns-name.md): Hook for importing dns name. - [useSetDnsRecords](/react/api/hooks/dns/use-set-dns-records.md): Hook for setting dns records. - [useSetZoneHash](/react/api/hooks/dns/use-set-zone-hash.md): Hook for setting zone hash. ### Events Hooks - [useEnsEvents](/react/api/hooks/events/use-ens-events.md): Hook for fetching ens events. - [useEnsEventsSuspense](/react/api/hooks/events/use-ens-events-suspense.md): Suspense hook for fetching ens events. - [useNameHistory](/react/api/hooks/events/use-name-history.md): Hook for fetching name history. - [useNameHistorySuspense](/react/api/hooks/events/use-name-history-suspense.md): Suspense hook for fetching name history. - [useWatchEnsEvents](/react/api/hooks/events/use-watch-ens-events.md): Hook for watching ens events. ### Migration Hooks - [useMigrationEligibility](/react/api/hooks/migration/use-migration-eligibility.md): Hook for fetching migration eligibility. - [useMigrationEligibilitySuspense](/react/api/hooks/migration/use-migration-eligibility-suspense.md): Suspense hook for fetching migration eligibility. - [useMigrationPlan](/react/api/hooks/migration/use-migration-plan.md): Hook for fetching migration plan. - [useMigrationPlanSuspense](/react/api/hooks/migration/use-migration-plan-suspense.md): Suspense hook for fetching migration plan. - [useMigrationStatus](/react/api/hooks/migration/use-migration-status.md): Hook for fetching migration status. - [useMigrationStatusSuspense](/react/api/hooks/migration/use-migration-status-suspense.md): Suspense hook for fetching migration status. - [useMigrationTarget](/react/api/hooks/migration/use-migration-target.md): Hook for fetching migration target. - [useMigrationTargetSuspense](/react/api/hooks/migration/use-migration-target-suspense.md): Suspense hook for fetching migration target. - [useApproveMigration](/react/api/hooks/migration/use-approve-migration.md): Hook for approving migration. - [useMigrateName](/react/api/hooks/migration/use-migrate-name.md): Hook for migrating name. - [useMigrateNames](/react/api/hooks/migration/use-migrate-names.md): Hook for migrating names. ### Name Hooks - [useCanonicalResource](/react/api/hooks/name/use-canonical-resource.md): Hook for fetching canonical resource. - [useCanonicalResourceSuspense](/react/api/hooks/name/use-canonical-resource-suspense.md): Suspense hook for fetching canonical resource. - [useExpiry](/react/api/hooks/name/use-expiry.md): Hook for fetching expiry. - [useExpirySuspense](/react/api/hooks/name/use-expiry-suspense.md): Suspense hook for fetching expiry. - [useManager](/react/api/hooks/name/use-manager.md): Hook for fetching manager. - [useManagerSuspense](/react/api/hooks/name/use-manager-suspense.md): Suspense hook for fetching manager. - [useNameState](/react/api/hooks/name/use-name-state.md): Hook for fetching name state. - [useNameStateSuspense](/react/api/hooks/name/use-name-state-suspense.md): Suspense hook for fetching name state. - [useNameStatus](/react/api/hooks/name/use-name-status.md): Hook for fetching name status. - [useNameStatusSuspense](/react/api/hooks/name/use-name-status-suspense.md): Suspense hook for fetching name status. - [useOwner](/react/api/hooks/name/use-owner.md): Hook for fetching owner. - [useOwnerSuspense](/react/api/hooks/name/use-owner-suspense.md): Suspense hook for fetching owner. - [useProtocol](/react/api/hooks/name/use-protocol.md): Hook for fetching protocol. - [useProtocolSuspense](/react/api/hooks/name/use-protocol-suspense.md): Suspense hook for fetching protocol. - [useRegistrant](/react/api/hooks/name/use-registrant.md): Hook for fetching registrant. - [useRegistrantSuspense](/react/api/hooks/name/use-registrant-suspense.md): Suspense hook for fetching registrant. - [useRegistry](/react/api/hooks/name/use-registry.md): Hook for fetching registry. - [useRegistrySuspense](/react/api/hooks/name/use-registry-suspense.md): Suspense hook for fetching registry. - [useTokenId](/react/api/hooks/name/use-token-id.md): Hook for fetching token id. - [useTokenIdSuspense](/react/api/hooks/name/use-token-id-suspense.md): Suspense hook for fetching token id. - [useIsAvailable](/react/api/hooks/name/use-is-available.md): Hook for checking whether the name is available. - [useIsAvailableSuspense](/react/api/hooks/name/use-is-available-suspense.md): Suspense hook for checking whether the name is available. - [useIsMigrated](/react/api/hooks/name/use-is-migrated.md): Hook for checking whether the name is migrated. - [useIsMigratedSuspense](/react/api/hooks/name/use-is-migrated-suspense.md): Suspense hook for checking whether the name is migrated. - [useIsRenewable](/react/api/hooks/name/use-is-renewable.md): Hook for checking whether the name is renewable. - [useIsRenewableSuspense](/react/api/hooks/name/use-is-renewable-suspense.md): Suspense hook for checking whether the name is renewable. - [useIsReserved](/react/api/hooks/name/use-is-reserved.md): Hook for checking whether the name is reserved. - [useIsReservedSuspense](/react/api/hooks/name/use-is-reserved-suspense.md): Suspense hook for checking whether the name is reserved. - [useIsWrapped](/react/api/hooks/name/use-is-wrapped.md): Hook for checking whether the name is wrapped. - [useIsWrappedSuspense](/react/api/hooks/name/use-is-wrapped-suspense.md): Suspense hook for checking whether the name is wrapped. ### Ownership Hooks - [useTtl](/react/api/hooks/ownership/use-ttl.md): Hook for fetching ttl. - [useTtlSuspense](/react/api/hooks/ownership/use-ttl-suspense.md): Suspense hook for fetching ttl. - [useReclaimName](/react/api/hooks/ownership/use-reclaim-name.md): Hook for reclaiming name. - [useSetManager](/react/api/hooks/ownership/use-set-manager.md): Hook for setting manager. - [useSetTtl](/react/api/hooks/ownership/use-set-ttl.md): Hook for setting ttl. - [useTransferName](/react/api/hooks/ownership/use-transfer-name.md): Hook for transferring name. - [useTransferRegistrant](/react/api/hooks/ownership/use-transfer-registrant.md): Hook for transferring registrant. ### Permissions Hooks - [useApproveName](/react/api/hooks/permissions/use-approve-name.md): Hook for approving name. - [useClearNameApproval](/react/api/hooks/permissions/use-clear-name-approval.md): Hook for clearing name approval. - [useGrantRegistryRoles](/react/api/hooks/permissions/use-grant-registry-roles.md): Hook for granting registry roles. - [useGrantResolverRoles](/react/api/hooks/permissions/use-grant-resolver-roles.md): Hook for granting resolver roles. - [useGrantResolverRootRoles](/react/api/hooks/permissions/use-grant-resolver-root-roles.md): Hook for granting resolver root roles. - [useRevokeRegistryRoles](/react/api/hooks/permissions/use-revoke-registry-roles.md): Hook for revoking registry roles. - [useRevokeResolverRoles](/react/api/hooks/permissions/use-revoke-resolver-roles.md): Hook for revoking resolver roles. - [useRevokeResolverRootRoles](/react/api/hooks/permissions/use-revoke-resolver-root-roles.md): Hook for revoking resolver root roles. - [useSetOperatorApproval](/react/api/hooks/permissions/use-set-operator-approval.md): Hook for setting operator approval. - [useSetRecordPermissions](/react/api/hooks/permissions/use-set-record-permissions.md): Hook for setting record permissions. - [useSetResolverDelegateApproval](/react/api/hooks/permissions/use-set-resolver-delegate-approval.md): Hook for setting resolver delegate approval. ### Records Hooks - [useRecords](/react/api/hooks/records/use-records.md): Hook for fetching records. - [useAbi](/react/api/hooks/records/use-abi.md): Hook for fetching abi. - [useAbiSuspense](/react/api/hooks/records/use-abi-suspense.md): Suspense hook for fetching abi. - [useAddress](/react/api/hooks/records/use-address.md): Hook for fetching address. - [useAddressSuspense](/react/api/hooks/records/use-address-suspense.md): Suspense hook for fetching address. - [useAddresses](/react/api/hooks/records/use-addresses.md): Hook for fetching addresses. - [useAddressesSuspense](/react/api/hooks/records/use-addresses-suspense.md): Suspense hook for fetching addresses. - [useAvatar](/react/api/hooks/records/use-avatar.md): Hook for fetching avatar. - [useAvatarSuspense](/react/api/hooks/records/use-avatar-suspense.md): Suspense hook for fetching avatar. - [useContentHash](/react/api/hooks/records/use-content-hash.md): Hook for fetching content hash. - [useContentHashSuspense](/react/api/hooks/records/use-content-hash-suspense.md): Suspense hook for fetching content hash. - [useData](/react/api/hooks/records/use-data.md): Hook for fetching data. - [useDataSuspense](/react/api/hooks/records/use-data-suspense.md): Suspense hook for fetching data. - [useInterface](/react/api/hooks/records/use-interface.md): Hook for fetching interface. - [useInterfaceSuspense](/react/api/hooks/records/use-interface-suspense.md): Suspense hook for fetching interface. - [useNameRecord](/react/api/hooks/records/use-name-record.md): Hook for fetching name. - [useNameRecordSuspense](/react/api/hooks/records/use-name-record-suspense.md): Suspense hook for fetching name. - [usePubkey](/react/api/hooks/records/use-pubkey.md): Hook for fetching pubkey. - [usePubkeySuspense](/react/api/hooks/records/use-pubkey-suspense.md): Suspense hook for fetching pubkey. - [useText](/react/api/hooks/records/use-text.md): Hook for fetching text. - [useTextSuspense](/react/api/hooks/records/use-text-suspense.md): Suspense hook for fetching text. - [useTexts](/react/api/hooks/records/use-texts.md): Hook for fetching texts. - [useTextsSuspense](/react/api/hooks/records/use-texts-suspense.md): Suspense hook for fetching texts. - [useClearAvatar](/react/api/hooks/records/use-clear-avatar.md): Hook for clearing avatar. - [useClearRecords](/react/api/hooks/records/use-clear-records.md): Hook for clearing records. - [useSetAbi](/react/api/hooks/records/use-set-abi.md): Hook for setting abi. - [useSetAddress](/react/api/hooks/records/use-set-address.md): Hook for setting address. - [useSetAddresses](/react/api/hooks/records/use-set-addresses.md): Hook for setting addresses. - [useSetAlias](/react/api/hooks/records/use-set-alias.md): Hook for setting alias. - [useSetAvatar](/react/api/hooks/records/use-set-avatar.md): Hook for setting avatar. - [useSetContentHash](/react/api/hooks/records/use-set-content-hash.md): Hook for setting content hash. - [useSetData](/react/api/hooks/records/use-set-data.md): Hook for setting data. - [useSetInterface](/react/api/hooks/records/use-set-interface.md): Hook for setting interface. - [useSetName](/react/api/hooks/records/use-set-name.md): Hook for setting name. - [useSetPubkey](/react/api/hooks/records/use-set-pubkey.md): Hook for setting pubkey. - [useSetRecords](/react/api/hooks/records/use-set-records.md): Hook for setting records. - [useSetText](/react/api/hooks/records/use-set-text.md): Hook for setting text. - [useSetTexts](/react/api/hooks/records/use-set-texts.md): Hook for setting texts. ### Registration Hooks - [useCommitmentStatus](/react/api/hooks/registration/use-commitment-status.md): Hook for fetching commitment status. - [useCommitmentStatusSuspense](/react/api/hooks/registration/use-commitment-status-suspense.md): Suspense hook for fetching commitment status. - [useRegistrationParameters](/react/api/hooks/registration/use-registration-parameters.md): Hook for fetching registration parameters. - [useRegistrationParametersSuspense](/react/api/hooks/registration/use-registration-parameters-suspense.md): Suspense hook for fetching registration parameters. - [useRegistrationPlan](/react/api/hooks/registration/use-registration-plan.md): Hook for fetching registration plan. - [useRegistrationPlanSuspense](/react/api/hooks/registration/use-registration-plan-suspense.md): Suspense hook for fetching registration plan. - [useRegistrationPrice](/react/api/hooks/registration/use-registration-price.md): Hook for fetching registration price. - [useRegistrationPriceSuspense](/react/api/hooks/registration/use-registration-price-suspense.md): Suspense hook for fetching registration price. - [useRenewalPrice](/react/api/hooks/registration/use-renewal-price.md): Hook for fetching renewal price. - [useRenewalPriceSuspense](/react/api/hooks/registration/use-renewal-price-suspense.md): Suspense hook for fetching renewal price. - [useIsPaymentTokenSupported](/react/api/hooks/registration/use-is-payment-token-supported.md): Hook for checking whether the name is payment token supported. - [useIsPaymentTokenSupportedSuspense](/react/api/hooks/registration/use-is-payment-token-supported-suspense.md): Suspense hook for checking whether the name is payment token supported. - [useRegistrationCommitment](/react/api/hooks/registration/use-registration-commitment.md): Hook for creating registration commitment. - [useRegistrationCommitmentSuspense](/react/api/hooks/registration/use-registration-commitment-suspense.md): Suspense hook for creating registration commitment. - [useApprovePaymentToken](/react/api/hooks/registration/use-approve-payment-token.md): Hook for approving payment token. - [useApproveRenewalPayment](/react/api/hooks/registration/use-approve-renewal-payment.md): Hook for approving renewal payment. - [useCommitName](/react/api/hooks/registration/use-commit-name.md): Hook for committing name. - [useCompleteRegistration](/react/api/hooks/registration/use-complete-registration.md): Hook for completing registration. - [useRegisterName](/react/api/hooks/registration/use-register-name.md): Hook for registering name. - [useRegisterNames](/react/api/hooks/registration/use-register-names.md): Hook for registering names. - [useRenewName](/react/api/hooks/registration/use-renew-name.md): Hook for renewing name. - [useRenewNames](/react/api/hooks/registration/use-renew-names.md): Hook for renewing names. ### Resolution Hooks - [useAlias](/react/api/hooks/resolution/use-alias.md): Hook for fetching alias. - [useAliasSuspense](/react/api/hooks/resolution/use-alias-suspense.md): Suspense hook for fetching alias. - [useResolver](/react/api/hooks/resolution/use-resolver.md): Hook for fetching resolver. - [useResolverSuspense](/react/api/hooks/resolution/use-resolver-suspense.md): Suspense hook for fetching resolver. - [useResolverVersion](/react/api/hooks/resolution/use-resolver-version.md): Hook for fetching resolver version. - [useResolverVersionSuspense](/react/api/hooks/resolution/use-resolver-version-suspense.md): Suspense hook for fetching resolver version. - [usePredictResolverAddress](/react/api/hooks/resolution/use-predict-resolver-address.md): Hook for running predict resolver address. - [usePredictResolverAddressSuspense](/react/api/hooks/resolution/use-predict-resolver-address-suspense.md): Suspense hook for running predict resolver address. - [useResolve](/react/api/hooks/resolution/use-resolve.md): Hook for resolving . - [useResolveSuspense](/react/api/hooks/resolution/use-resolve-suspense.md): Suspense hook for resolving . - [useResolveBatch](/react/api/hooks/resolution/use-resolve-batch.md): Hook for resolving batch. - [useResolveBatchSuspense](/react/api/hooks/resolution/use-resolve-batch-suspense.md): Suspense hook for resolving batch. - [useResolveWithResolver](/react/api/hooks/resolution/use-resolve-with-resolver.md): Hook for resolving with resolver. - [useResolveWithResolverSuspense](/react/api/hooks/resolution/use-resolve-with-resolver-suspense.md): Suspense hook for resolving with resolver. - [useCreateResolver](/react/api/hooks/resolution/use-create-resolver.md): Hook for creating resolver. - [useGetOrCreateResolver](/react/api/hooks/resolution/use-get-or-create-resolver.md): Hook for fetching or create resolver. - [useSetResolver](/react/api/hooks/resolution/use-set-resolver.md): Hook for setting resolver. - [useSetResolverAndRecords](/react/api/hooks/resolution/use-set-resolver-and-records.md): Hook for setting resolver and records. - [useUpgradeResolver](/react/api/hooks/resolution/use-upgrade-resolver.md): Hook for upgrading resolver. ### Reverse Hooks - [usePrimaryName](/react/api/hooks/reverse/use-primary-name.md): Hook for fetching primary name. - [usePrimaryNameSuspense](/react/api/hooks/reverse/use-primary-name-suspense.md): Suspense hook for fetching primary name. - [useClearPrimaryName](/react/api/hooks/reverse/use-clear-primary-name.md): Hook for clearing primary name. - [useSetContractPrimaryName](/react/api/hooks/reverse/use-set-contract-primary-name.md): Hook for setting contract primary name. - [useSetPrimaryName](/react/api/hooks/reverse/use-set-primary-name.md): Hook for setting primary name. - [useSetPrimaryNameForAddress](/react/api/hooks/reverse/use-set-primary-name-for-address.md): Hook for setting primary name for address. ### Subnames Hooks - [useCreateSubname](/react/api/hooks/subnames/use-create-subname.md): Hook for creating subname. - [useDeleteSubname](/react/api/hooks/subnames/use-delete-subname.md): Hook for deleting subname. - [useSetSubnameExpiry](/react/api/hooks/subnames/use-set-subname-expiry.md): Hook for setting subname expiry. - [useSetSubnameManager](/react/api/hooks/subnames/use-set-subname-manager.md): Hook for setting subname manager. - [useSetSubnameRecord](/react/api/hooks/subnames/use-set-subname-record.md): Hook for setting subname record. - [useSetSubnameResolver](/react/api/hooks/subnames/use-set-subname-resolver.md): Hook for setting subname resolver. - [useTransferSubname](/react/api/hooks/subnames/use-transfer-subname.md): Hook for transferring subname. ### Wrapping Hooks - [useFuses](/react/api/hooks/wrapping/use-fuses.md): Hook for fetching fuses. - [useFusesSuspense](/react/api/hooks/wrapping/use-fuses-suspense.md): Suspense hook for fetching fuses. - [useWrapperExpiry](/react/api/hooks/wrapping/use-wrapper-expiry.md): Hook for fetching wrapper expiry. - [useWrapperExpirySuspense](/react/api/hooks/wrapping/use-wrapper-expiry-suspense.md): Suspense hook for fetching wrapper expiry. - [useExtendSubnameExpiry](/react/api/hooks/wrapping/use-extend-subname-expiry.md): Hook for extending subname expiry. - [useSetChildFuses](/react/api/hooks/wrapping/use-set-child-fuses.md): Hook for setting child fuses. - [useSetFuses](/react/api/hooks/wrapping/use-set-fuses.md): Hook for setting fuses. - [useUnwrapName](/react/api/hooks/wrapping/use-unwrap-name.md): Hook for unwrapping name. - [useWrapName](/react/api/hooks/wrapping/use-wrap-name.md): Hook for wrapping name. ### Introduction - [Why ensforge](/contracts/why.md): Learn how the contracts package organizes ENS contract definitions. - [Installation](/contracts/installation.md): Install ensforge contract definitions. - [Getting Started](/contracts/getting-started.md): Read ENS contracts directly with typed deployments and ABI fragments. ### Guides - [Entrypoints](/contracts/guides/entrypoints.md): Choose the smallest contracts package entrypoint for an import. - [Deployments](/contracts/guides/deployments.md): Select ENS addresses and verify their provenance. - [ABI Fragments](/contracts/guides/fragments.md): Use focused ABI fragments for tree-shakable contract calls. - [Resolver Profiles](/contracts/guides/resolver-profiles.md): Compose the record interfaces supported by ENS resolvers. - [FAQ](/contracts/guides/faq.md): Common questions about ensforge contract definitions. ### Deployments - [Mainnet V1](/contracts/api/deployments/mainnet-v1.md): Versioned ENS deployment addresses with chain and source provenance. - [Sepolia V1](/contracts/api/deployments/sepolia-v1.md): Versioned ENS deployment addresses with chain and source provenance. - [Sepolia V2](/contracts/api/deployments/sepolia-v2.md): Versioned ENS deployment addresses with chain and source provenance. - [Types](/contracts/api/deployments/types.md): Type definitions for ENS deployments, addresses, status, and provenance. ### Shared - [Erc1155](/contracts/api/shared/erc1155.md): Shared contract definition for Erc1155. - [Erc165](/contracts/api/shared/erc165.md): Shared contract definition for Erc165. - [Erc20](/contracts/api/shared/erc20.md): Shared contract definition for Erc20. - [Erc721](/contracts/api/shared/erc721.md): Shared contract definition for Erc721. - [Erc20](/contracts/api/shared/fragments/erc20.md): Focused, tree-shakable ABI fragments for Erc20. - [Universal Resolver](/contracts/api/shared/universal-resolver.md): Shared contract definition for Universal Resolver. ### Resolver Profiles - [Abi](/contracts/api/shared/resolver-profiles/abi.md): Composable resolver profile ABI for Abi records. - [Addr](/contracts/api/shared/resolver-profiles/addr.md): Composable resolver profile ABI for Addr records. - [Contenthash](/contracts/api/shared/resolver-profiles/contenthash.md): Composable resolver profile ABI for Contenthash records. - [Data](/contracts/api/shared/resolver-profiles/data.md): Composable resolver profile ABI for Data records. - [DNS Record](/contracts/api/shared/resolver-profiles/dns-record.md): Composable resolver profile ABI for DNS Record records. - [DNS Zone](/contracts/api/shared/resolver-profiles/dns-zone.md): Composable resolver profile ABI for DNS Zone records. - [Extended Resolver](/contracts/api/shared/resolver-profiles/extended-resolver.md): Composable resolver profile ABI for Extended Resolver records. - [Interface](/contracts/api/shared/resolver-profiles/interface.md): Composable resolver profile ABI for Interface records. - [Multicall](/contracts/api/shared/resolver-profiles/multicall.md): Composable resolver profile ABI for Multicall records. - [Name](/contracts/api/shared/resolver-profiles/name.md): Composable resolver profile ABI for Name records. - [Pubkey](/contracts/api/shared/resolver-profiles/pubkey.md): Composable resolver profile ABI for Pubkey records. - [Text](/contracts/api/shared/resolver-profiles/text.md): Composable resolver profile ABI for Text records. - [Versionable](/contracts/api/shared/resolver-profiles/versionable.md): Composable resolver profile ABI for Versionable records. ### V1 ABIs - [Base Registrar](/contracts/api/v1/abis/base-registrar.md): Complete ABI for the Base Registrar contract. - [Bulk Renewal](/contracts/api/v1/abis/bulk-renewal.md): Complete ABI for the Bulk Renewal contract. - [Default Reverse Registrar](/contracts/api/v1/abis/default-reverse-registrar.md): Complete ABI for the Default Reverse Registrar contract. - [DNS Registrar](/contracts/api/v1/abis/dns-registrar.md): Complete ABI for the DNS Registrar contract. - [DNSSEC Oracle](/contracts/api/v1/abis/dnssec-oracle.md): Complete ABI for the DNSSEC Oracle contract. - [ENS Registry](/contracts/api/v1/abis/ens-registry.md): Complete ABI for the ENS Registry contract. - [ETH Registrar Controller](/contracts/api/v1/abis/eth-registrar-controller.md): Complete ABI for the ETH Registrar Controller contract. - [L2 Reverse Registrar](/contracts/api/v1/abis/l2-reverse-registrar.md): Complete ABI for the L2 Reverse Registrar contract. - [Name Wrapper Upgrade](/contracts/api/v1/abis/name-wrapper-upgrade.md): Complete ABI for the Name Wrapper Upgrade contract. - [Name Wrapper](/contracts/api/v1/abis/name-wrapper.md): Complete ABI for the Name Wrapper contract. - [Offchain DNS Resolver](/contracts/api/v1/abis/offchain-dns-resolver.md): Complete ABI for the Offchain DNS Resolver contract. - [Price Oracle](/contracts/api/v1/abis/price-oracle.md): Complete ABI for the Price Oracle contract. - [Public Resolver](/contracts/api/v1/abis/public-resolver.md): Complete ABI for the Public Resolver contract. - [Reverse Registrar](/contracts/api/v1/abis/reverse-registrar.md): Complete ABI for the Reverse Registrar contract. - [Standalone Reverse Registrar](/contracts/api/v1/abis/standalone-reverse-registrar.md): Complete ABI for the Standalone Reverse Registrar contract. - [Universal Resolver](/contracts/api/v1/abis/universal-resolver.md): Complete ABI for the Universal Resolver contract. - [Wrapped ETH Registrar Controller](/contracts/api/v1/abis/wrapped-eth-registrar-controller.md): Complete ABI for the Wrapped ETH Registrar Controller contract. ### V1 Fragments - [Authorization](/contracts/api/v1/fragments/authorization.md): Focused, tree-shakable ABI fragments for Authorization. - [Base Registrar](/contracts/api/v1/fragments/base-registrar.md): Focused, tree-shakable ABI fragments for Base Registrar. - [Bulk Renewal](/contracts/api/v1/fragments/bulk-renewal.md): Focused, tree-shakable ABI fragments for Bulk Renewal. - [DNS Registrar](/contracts/api/v1/fragments/dns-registrar.md): Focused, tree-shakable ABI fragments for DNS Registrar. - [ENS Registry](/contracts/api/v1/fragments/ens-registry.md): Focused, tree-shakable ABI fragments for ENS Registry. - [ETH Registrar Controller](/contracts/api/v1/fragments/eth-registrar-controller.md): Focused, tree-shakable ABI fragments for ETH Registrar Controller. - [Expiry](/contracts/api/v1/fragments/expiry.md): Focused, tree-shakable ABI fragments for Expiry. - [Name Wrapper](/contracts/api/v1/fragments/name-wrapper.md): Focused, tree-shakable ABI fragments for Name Wrapper. - [Public Resolver](/contracts/api/v1/fragments/public-resolver.md): Focused, tree-shakable ABI fragments for Public Resolver. - [Registration](/contracts/api/v1/fragments/registration.md): Focused, tree-shakable ABI fragments for Registration. - [Resolution](/contracts/api/v1/fragments/resolution.md): Focused, tree-shakable ABI fragments for Resolution. - [Reverse Registrar](/contracts/api/v1/fragments/reverse-registrar.md): Focused, tree-shakable ABI fragments for Reverse Registrar. - [Universal Resolver](/contracts/api/v1/fragments/universal-resolver.md): Focused, tree-shakable ABI fragments for Universal Resolver. ### V1 Constants - [Name Wrapper Fuses](/contracts/api/v1/constants/name-wrapper-fuses.md): Typed protocol constants for Name Wrapper Fuses. ### V2 ABIs - [Batch Registrar](/contracts/api/v2/abis/batch-registrar.md): Complete ABI for the Batch Registrar contract. - [Contract Namer](/contracts/api/v2/abis/contract-namer.md): Complete ABI for the Contract Namer contract. - [Default Reverse Registrar Adapter](/contracts/api/v2/abis/default-reverse-registrar-adapter.md): Complete ABI for the Default Reverse Registrar Adapter contract. - [DNS V1 Mirror Root Batch Registrar](/contracts/api/v2/abis/dns-v1-mirror-root-batch-registrar.md): Complete ABI for the DNS V1 Mirror Root Batch Registrar contract. - [ENS V1 Resolver](/contracts/api/v2/abis/ens-v1-resolver.md): Complete ABI for the ENS V1 Resolver contract. - [ENS V2 Resolver](/contracts/api/v2/abis/ens-v2-resolver.md): Complete ABI for the ENS V2 Resolver contract. - [ETH Registrar](/contracts/api/v2/abis/eth-registrar.md): Complete ABI for the ETH Registrar contract. - [ETH Registry](/contracts/api/v2/abis/eth-registry.md): Complete ABI for the ETH Registry contract. - [ETH Renewer V1](/contracts/api/v2/abis/eth-renewer-v1.md): Complete ABI for the ETH Renewer V1 contract. - [Graveyard](/contracts/api/v2/abis/graveyard.md): Complete ABI for the Graveyard contract. - [Label Store](/contracts/api/v2/abis/label-store.md): Complete ABI for the Label Store contract. - [Locked Migration Controller](/contracts/api/v2/abis/locked-migration-controller.md): Complete ABI for the Locked Migration Controller contract. - [Managed Universal Resolver Proxy](/contracts/api/v2/abis/managed-universal-resolver-proxy.md): Complete ABI for the Managed Universal Resolver Proxy contract. - [Migration Helper](/contracts/api/v2/abis/migration-helper.md): Complete ABI for the Migration Helper contract. - [Permissioned Resolver](/contracts/api/v2/abis/permissioned-resolver.md): Complete ABI for the Permissioned Resolver contract. - [Public Resolver Set](/contracts/api/v2/abis/public-resolver-set.md): Complete ABI for the Public Resolver Set contract. - [Public Resolver](/contracts/api/v2/abis/public-resolver.md): Complete ABI for the Public Resolver contract. - [Registry Upgrade Set](/contracts/api/v2/abis/registry-upgrade-set.md): Complete ABI for the Registry Upgrade Set contract. - [Reverse Registrar Adapter](/contracts/api/v2/abis/reverse-registrar-adapter.md): Complete ABI for the Reverse Registrar Adapter contract. - [Root Registry](/contracts/api/v2/abis/root-registry.md): Complete ABI for the Root Registry contract. - [Standard Rent Price Oracle](/contracts/api/v2/abis/standard-rent-price-oracle.md): Complete ABI for the Standard Rent Price Oracle contract. - [Universal Resolver](/contracts/api/v2/abis/universal-resolver.md): Complete ABI for the Universal Resolver contract. - [Unlocked Migration Controller](/contracts/api/v2/abis/unlocked-migration-controller.md): Complete ABI for the Unlocked Migration Controller contract. - [Upgradable Universal Resolver Proxy](/contracts/api/v2/abis/upgradable-universal-resolver-proxy.md): Complete ABI for the Upgradable Universal Resolver Proxy contract. - [User Registry](/contracts/api/v2/abis/user-registry.md): Complete ABI for the User Registry contract. - [Verifiable Factory](/contracts/api/v2/abis/verifiable-factory.md): Complete ABI for the Verifiable Factory contract. - [Wrapper Registry](/contracts/api/v2/abis/wrapper-registry.md): Complete ABI for the Wrapper Registry contract. ### V2 Fragments - [Authorization](/contracts/api/v2/fragments/authorization.md): Focused, tree-shakable ABI fragments for Authorization. - [Contract Namer](/contracts/api/v2/fragments/contract-namer.md): Focused, tree-shakable ABI fragments for Contract Namer. - [Default Reverse Registrar Adapter](/contracts/api/v2/fragments/default-reverse-registrar-adapter.md): Focused, tree-shakable ABI fragments for Default Reverse Registrar Adapter. - [ETH Registrar](/contracts/api/v2/fragments/eth-registrar.md): Focused, tree-shakable ABI fragments for ETH Registrar. - [ETH Registry](/contracts/api/v2/fragments/eth-registry.md): Focused, tree-shakable ABI fragments for ETH Registry. - [ETH Renewer V1](/contracts/api/v2/fragments/eth-renewer-v1.md): Focused, tree-shakable ABI fragments for ETH Renewer V1. - [Expiry](/contracts/api/v2/fragments/expiry.md): Focused, tree-shakable ABI fragments for Expiry. - [Migration Helper](/contracts/api/v2/fragments/migration-helper.md): Focused, tree-shakable ABI fragments for Migration Helper. - [Permissioned Registry](/contracts/api/v2/fragments/permissioned-registry.md): Focused, tree-shakable ABI fragments for Permissioned Registry. - [Permissioned Resolver](/contracts/api/v2/fragments/permissioned-resolver.md): Focused, tree-shakable ABI fragments for Permissioned Resolver. - [Registration](/contracts/api/v2/fragments/registration.md): Focused, tree-shakable ABI fragments for Registration. - [Renewal Batch](/contracts/api/v2/fragments/renewal-batch.md): Focused, tree-shakable ABI fragments for Renewal Batch. - [Renewal](/contracts/api/v2/fragments/renewal.md): Focused, tree-shakable ABI fragments for Renewal. - [Rent Price Oracle](/contracts/api/v2/fragments/rent-price-oracle.md): Focused, tree-shakable ABI fragments for Rent Price Oracle. - [Resolution](/contracts/api/v2/fragments/resolution.md): Focused, tree-shakable ABI fragments for Resolution. - [Standard Registry](/contracts/api/v2/fragments/standard-registry.md): Focused, tree-shakable ABI fragments for Standard Registry. - [Tokenized Registry](/contracts/api/v2/fragments/tokenized-registry.md): Focused, tree-shakable ABI fragments for Tokenized Registry. - [Universal Resolver](/contracts/api/v2/fragments/universal-resolver.md): Focused, tree-shakable ABI fragments for Universal Resolver. - [User Registry](/contracts/api/v2/fragments/user-registry.md): Focused, tree-shakable ABI fragments for User Registry. - [Verifiable Factory](/contracts/api/v2/fragments/verifiable-factory.md): Focused, tree-shakable ABI fragments for Verifiable Factory. - [Wrapper Registry](/contracts/api/v2/fragments/wrapper-registry.md): Focused, tree-shakable ABI fragments for Wrapper Registry. ### V2 Interfaces - [Address Set](/contracts/api/v2/interfaces/address-set.md): ENSv2 interface definitions for Address Set. - [Contract Name](/contracts/api/v2/interfaces/contract-name.md): ENSv2 interface definitions for Contract Name. - [Contract Namer](/contracts/api/v2/interfaces/contract-namer.md): ENSv2 interface definitions for Contract Namer. - [Default Reverse Registrar Adapter](/contracts/api/v2/interfaces/default-reverse-registrar-adapter.md): ENSv2 interface definitions for Default Reverse Registrar Adapter. - [Eac Grant Initializable](/contracts/api/v2/interfaces/eac-grant-initializable.md): ENSv2 interface definitions for Eac Grant Initializable. - [Enhanced Access Control](/contracts/api/v2/interfaces/enhanced-access-control.md): ENSv2 interface definitions for Enhanced Access Control. - [Erc1155 Singleton](/contracts/api/v2/interfaces/erc1155-singleton.md): ENSv2 interface definitions for Erc1155 Singleton. - [ETH Registrar](/contracts/api/v2/interfaces/eth-registrar.md): ENSv2 interface definitions for ETH Registrar. - [ETH Renewer](/contracts/api/v2/interfaces/eth-renewer.md): ENSv2 interface definitions for ETH Renewer. - [L2 Reverse Registrar](/contracts/api/v2/interfaces/l2-reverse-registrar.md): ENSv2 interface definitions for L2 Reverse Registrar. - [Label Store](/contracts/api/v2/interfaces/label-store.md): ENSv2 interface definitions for Label Store. - [Owned Registry](/contracts/api/v2/interfaces/owned-registry.md): ENSv2 interface definitions for Owned Registry. - [Permissioned Address Set](/contracts/api/v2/interfaces/permissioned-address-set.md): ENSv2 interface definitions for Permissioned Address Set. - [Permissioned Registry](/contracts/api/v2/interfaces/permissioned-registry.md): ENSv2 interface definitions for Permissioned Registry. - [Permissioned Resolver Initializable](/contracts/api/v2/interfaces/permissioned-resolver-initializable.md): ENSv2 interface definitions for Permissioned Resolver Initializable. - [Permissioned Resolver](/contracts/api/v2/interfaces/permissioned-resolver.md): ENSv2 interface definitions for Permissioned Resolver. - [Registry Events](/contracts/api/v2/interfaces/registry-events.md): ENSv2 interface definitions for Registry Events. - [Registry URI Renderer](/contracts/api/v2/interfaces/registry-uri-renderer.md): ENSv2 interface definitions for Registry URI Renderer. - [Registry](/contracts/api/v2/interfaces/registry.md): ENSv2 interface definitions for Registry. - [Rent Price Oracle Provider](/contracts/api/v2/interfaces/rent-price-oracle-provider.md): ENSv2 interface definitions for Rent Price Oracle Provider. - [Rent Price Oracle](/contracts/api/v2/interfaces/rent-price-oracle.md): ENSv2 interface definitions for Rent Price Oracle. - [Reverse Registrar Adapter](/contracts/api/v2/interfaces/reverse-registrar-adapter.md): ENSv2 interface definitions for Reverse Registrar Adapter. - [Standard Registry](/contracts/api/v2/interfaces/standard-registry.md): ENSv2 interface definitions for Standard Registry. - [Temporal Registry](/contracts/api/v2/interfaces/temporal-registry.md): ENSv2 interface definitions for Temporal Registry. - [Tokenized Registry](/contracts/api/v2/interfaces/tokenized-registry.md): ENSv2 interface definitions for Tokenized Registry. - [Universal Resolver](/contracts/api/v2/interfaces/universal-resolver.md): ENSv2 interface definitions for Universal Resolver. - [Universal Signature Validator](/contracts/api/v2/interfaces/universal-signature-validator.md): ENSv2 interface definitions for Universal Signature Validator. - [Wrapper Registry Initializable](/contracts/api/v2/interfaces/wrapper-registry-initializable.md): ENSv2 interface definitions for Wrapper Registry Initializable. - [Wrapper Registry](/contracts/api/v2/interfaces/wrapper-registry.md): ENSv2 interface definitions for Wrapper Registry. ### V2 Constants - [Registry Interfaces](/contracts/api/v2/constants/registry-interfaces.md): Typed protocol constants for Registry Interfaces. - [Registry Roles](/contracts/api/v2/constants/registry-roles.md): Typed protocol constants for Registry Roles. - [Resolver Interfaces](/contracts/api/v2/constants/resolver-interfaces.md): Typed protocol constants for Resolver Interfaces. - [Resolver Roles](/contracts/api/v2/constants/resolver-roles.md): Typed protocol constants for Resolver Roles. ### Experimental HCA - [Default Reverse Registrar HCA Adapter](/contracts/api/v2/experimental/hca/default-reverse-registrar-hca-adapter.md): Experimental ENSv2 hybrid contract account definition. - [HCA Authorizer](/contracts/api/v2/experimental/hca/hca-authorizer.md): Experimental ENSv2 hybrid contract account definition. - [HCA Funding Session Validator](/contracts/api/v2/experimental/hca/hca-funding-session-validator.md): Experimental ENSv2 hybrid contract account definition. - [HCA Owner And Session Validator](/contracts/api/v2/experimental/hca/hca-owner-and-session-validator.md): Experimental ENSv2 hybrid contract account definition. - [HCA Upgrade Gate](/contracts/api/v2/experimental/hca/hca-upgrade-gate.md): Experimental ENSv2 hybrid contract account definition. - [Standalone HCA Factory Interface](/contracts/api/v2/experimental/hca/standalone-hca-factory-interface.md): Experimental ENSv2 hybrid contract account definition. - [Standalone HCA Factory](/contracts/api/v2/experimental/hca/standalone-hca-factory.md): Experimental ENSv2 hybrid contract account definition. - [Standalone HCA Owner Interface](/contracts/api/v2/experimental/hca/standalone-hca-owner-interface.md): Experimental ENSv2 hybrid contract account definition. - [Standalone Single Owner HCA](/contracts/api/v2/experimental/hca/standalone-single-owner-hca.md): Experimental ENSv2 hybrid contract account definition. - [Trusted HCA Set](/contracts/api/v2/experimental/hca/trusted-hca-set.md): Experimental ENSv2 hybrid contract account definition. ### Other - [Contracts](/contracts.md): Type-safe ENS ABIs, focused fragments, interfaces, and deployments. - [Core](/core.md): Framework-independent actions and utilities for ENS. - [React](/react.md): Reactive ENS queries and mutations powered by Effect Atom. - [SDK](/sdk.md): A config-bound ENS client with grouped operations.