@ensdomains/ensjs 3.0.0-alpha.9 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +21 -692
- package/contracts/OldResolver.json +456 -0
- package/contracts/package.json +5 -0
- package/dist/cjs/clients/decorators/public.js +35 -0
- package/dist/cjs/clients/decorators/public.js.map +1 -0
- package/dist/cjs/clients/decorators/subgraph.js +19 -0
- package/dist/cjs/clients/decorators/subgraph.js.map +1 -0
- package/dist/cjs/clients/decorators/wallet.js +41 -0
- package/dist/cjs/clients/decorators/wallet.js.map +1 -0
- package/dist/cjs/clients/public.js +22 -0
- package/dist/cjs/clients/public.js.map +1 -0
- package/dist/cjs/clients/subgraph.js +19 -0
- package/dist/cjs/clients/subgraph.js.map +1 -0
- package/dist/cjs/clients/wallet.js +18 -0
- package/dist/cjs/clients/wallet.js.map +1 -0
- package/dist/cjs/contracts/addEnsContracts.js +26 -0
- package/dist/cjs/contracts/addEnsContracts.js.map +1 -0
- package/dist/cjs/contracts/baseRegistrar.js +80 -2
- package/dist/cjs/contracts/baseRegistrar.js.map +1 -0
- package/dist/cjs/contracts/bulkRenewal.js +45 -0
- package/dist/cjs/contracts/bulkRenewal.js.map +1 -0
- package/dist/cjs/contracts/consts.js +81 -0
- package/dist/cjs/contracts/consts.js.map +1 -0
- package/dist/cjs/contracts/dnsRegistrar.js +76 -0
- package/dist/cjs/contracts/dnsRegistrar.js.map +1 -0
- package/dist/cjs/contracts/dnssecImpl.js +49 -0
- package/dist/cjs/contracts/dnssecImpl.js.map +1 -0
- package/dist/cjs/contracts/erc1155.js +34 -0
- package/dist/cjs/contracts/erc1155.js.map +1 -0
- package/dist/cjs/contracts/erc165.js +23 -0
- package/dist/cjs/contracts/erc165.js.map +1 -0
- package/dist/cjs/contracts/erc721.js +71 -0
- package/dist/cjs/contracts/erc721.js.map +1 -0
- package/dist/cjs/contracts/ethRegistrarController.js +205 -2
- package/dist/cjs/contracts/ethRegistrarController.js.map +1 -0
- package/dist/cjs/contracts/getChainContractAddress.js +7 -0
- package/dist/cjs/contracts/getChainContractAddress.js.map +1 -0
- package/dist/cjs/contracts/index.js +84 -35
- package/dist/cjs/contracts/index.js.map +1 -0
- package/dist/cjs/contracts/multicall.js +58 -19
- package/dist/cjs/contracts/multicall.js.map +1 -0
- package/dist/cjs/contracts/nameWrapper.js +377 -2
- package/dist/cjs/contracts/nameWrapper.js.map +1 -0
- package/dist/cjs/contracts/publicResolver.js +233 -2
- package/dist/cjs/contracts/publicResolver.js.map +1 -0
- package/dist/cjs/contracts/registry.js +177 -2
- package/dist/cjs/contracts/registry.js.map +1 -0
- package/dist/cjs/contracts/reverseRegistrar.js +52 -2
- package/dist/cjs/contracts/reverseRegistrar.js.map +1 -0
- package/dist/cjs/contracts/universalResolver.js +114 -2
- package/dist/cjs/contracts/universalResolver.js.map +1 -0
- package/dist/cjs/dns.js +10 -0
- package/dist/cjs/dns.js.map +1 -0
- package/dist/cjs/errors/base.js +56 -0
- package/dist/cjs/errors/base.js.map +1 -0
- package/dist/cjs/errors/contracts.js +46 -0
- package/dist/cjs/errors/contracts.js.map +1 -0
- package/dist/cjs/errors/dns.js +138 -0
- package/dist/cjs/errors/dns.js.map +1 -0
- package/dist/cjs/errors/error-utils.js +7 -0
- package/dist/cjs/errors/error-utils.js.map +1 -0
- package/dist/cjs/errors/general.js +115 -0
- package/dist/cjs/errors/general.js.map +1 -0
- package/dist/cjs/errors/public.js +55 -0
- package/dist/cjs/errors/public.js.map +1 -0
- package/dist/cjs/errors/subgraph.js +89 -0
- package/dist/cjs/errors/subgraph.js.map +1 -0
- package/dist/cjs/errors/utils.js +211 -0
- package/dist/cjs/errors/utils.js.map +1 -0
- package/dist/cjs/errors/version.js +5 -0
- package/dist/cjs/errors/version.js.map +1 -0
- package/dist/cjs/errors/wallet.js +3 -0
- package/dist/cjs/errors/wallet.js.map +1 -0
- package/dist/cjs/functions/dns/getDnsOwner.js +72 -0
- package/dist/cjs/functions/dns/getDnsOwner.js.map +1 -0
- package/dist/cjs/functions/dns/importDnsName.js +68 -0
- package/dist/cjs/functions/dns/importDnsName.js.map +1 -0
- package/dist/cjs/functions/dns/prepareDnsImport.js +64 -0
- package/dist/cjs/functions/dns/prepareDnsImport.js.map +1 -0
- package/dist/cjs/functions/dns/types.js +3 -0
- package/dist/cjs/functions/dns/types.js.map +1 -0
- package/dist/cjs/functions/public/_getAbi.js +74 -0
- package/dist/cjs/functions/public/_getAbi.js.map +1 -0
- package/dist/cjs/functions/public/_getAddr.js +83 -0
- package/dist/cjs/functions/public/_getAddr.js.map +1 -0
- package/dist/cjs/functions/public/_getContentHash.js +31 -0
- package/dist/cjs/functions/public/_getContentHash.js.map +1 -0
- package/dist/cjs/functions/public/_getText.js +32 -0
- package/dist/cjs/functions/public/_getText.js.map +1 -0
- package/dist/cjs/functions/public/batch.js +33 -0
- package/dist/cjs/functions/public/batch.js.map +1 -0
- package/dist/cjs/functions/public/getAbiRecord.js +16 -0
- package/dist/cjs/functions/public/getAbiRecord.js.map +1 -0
- package/dist/cjs/functions/public/getAddressRecord.js +16 -0
- package/dist/cjs/functions/public/getAddressRecord.js.map +1 -0
- package/dist/cjs/functions/public/getAvailable.js +42 -0
- package/dist/cjs/functions/public/getAvailable.js.map +1 -0
- package/dist/cjs/functions/public/getContentHashRecord.js +16 -0
- package/dist/cjs/functions/public/getContentHashRecord.js.map +1 -0
- package/dist/cjs/functions/public/getExpiry.js +120 -0
- package/dist/cjs/functions/public/getExpiry.js.map +1 -0
- package/dist/cjs/functions/public/getName.js +61 -0
- package/dist/cjs/functions/public/getName.js.map +1 -0
- package/dist/cjs/functions/public/getOwner.js +121 -0
- package/dist/cjs/functions/public/getOwner.js.map +1 -0
- package/dist/cjs/functions/public/getPrice.js +88 -0
- package/dist/cjs/functions/public/getPrice.js.map +1 -0
- package/dist/cjs/functions/public/getRecords.js +201 -0
- package/dist/cjs/functions/public/getRecords.js.map +1 -0
- package/dist/cjs/functions/public/getResolver.js +44 -0
- package/dist/cjs/functions/public/getResolver.js.map +1 -0
- package/dist/cjs/functions/public/getSupportedInterfaces.js +33 -0
- package/dist/cjs/functions/public/getSupportedInterfaces.js.map +1 -0
- package/dist/cjs/functions/public/getTextRecord.js +16 -0
- package/dist/cjs/functions/public/getTextRecord.js.map +1 -0
- package/dist/cjs/functions/public/getWrapperData.js +61 -0
- package/dist/cjs/functions/public/getWrapperData.js.map +1 -0
- package/dist/cjs/functions/public/getWrapperName.js +44 -0
- package/dist/cjs/functions/public/getWrapperName.js.map +1 -0
- package/dist/cjs/functions/public/multicallWrapper.js +56 -0
- package/dist/cjs/functions/public/multicallWrapper.js.map +1 -0
- package/dist/cjs/functions/public/universalWrapper.js +71 -0
- package/dist/cjs/functions/public/universalWrapper.js.map +1 -0
- package/dist/cjs/functions/subgraph/client.js +82 -0
- package/dist/cjs/functions/subgraph/client.js.map +1 -0
- package/dist/cjs/functions/subgraph/events.js +3 -0
- package/dist/cjs/functions/subgraph/events.js.map +1 -0
- package/dist/cjs/functions/subgraph/fragments.js +48 -0
- package/dist/cjs/functions/subgraph/fragments.js.map +1 -0
- package/dist/cjs/functions/subgraph/getDecodedName.js +64 -0
- package/dist/cjs/functions/subgraph/getDecodedName.js.map +1 -0
- package/dist/cjs/functions/subgraph/getNameHistory.js +231 -0
- package/dist/cjs/functions/subgraph/getNameHistory.js.map +1 -0
- package/dist/cjs/functions/subgraph/getNamesForAddress.js +246 -0
- package/dist/cjs/functions/subgraph/getNamesForAddress.js.map +1 -0
- package/dist/cjs/functions/subgraph/getSubgraphRecords.js +73 -0
- package/dist/cjs/functions/subgraph/getSubgraphRecords.js.map +1 -0
- package/dist/cjs/functions/subgraph/getSubgraphRegistrant.js +35 -0
- package/dist/cjs/functions/subgraph/getSubgraphRegistrant.js.map +1 -0
- package/dist/cjs/functions/subgraph/getSubnames.js +171 -0
- package/dist/cjs/functions/subgraph/getSubnames.js.map +1 -0
- package/dist/cjs/functions/subgraph/utils.js +56 -0
- package/dist/cjs/functions/subgraph/utils.js.map +1 -0
- package/dist/cjs/functions/wallet/commitName.js +53 -0
- package/dist/cjs/functions/wallet/commitName.js.map +1 -0
- package/dist/cjs/functions/wallet/createSubname.js +92 -0
- package/dist/cjs/functions/wallet/createSubname.js.map +1 -0
- package/dist/cjs/functions/wallet/deleteSubname.js +106 -0
- package/dist/cjs/functions/wallet/deleteSubname.js.map +1 -0
- package/dist/cjs/functions/wallet/registerName.js +55 -0
- package/dist/cjs/functions/wallet/registerName.js.map +1 -0
- package/dist/cjs/functions/wallet/renewNames.js +61 -0
- package/dist/cjs/functions/wallet/renewNames.js.map +1 -0
- package/dist/cjs/functions/wallet/setAbiRecord.js +31 -0
- package/dist/cjs/functions/wallet/setAbiRecord.js.map +1 -0
- package/dist/cjs/functions/wallet/setAddressRecord.js +28 -0
- package/dist/cjs/functions/wallet/setAddressRecord.js.map +1 -0
- package/dist/cjs/functions/wallet/setChildFuses.js +34 -0
- package/dist/cjs/functions/wallet/setChildFuses.js.map +1 -0
- package/dist/cjs/functions/wallet/setContentHashRecord.js +27 -0
- package/dist/cjs/functions/wallet/setContentHashRecord.js.map +1 -0
- package/dist/cjs/functions/wallet/setFuses.js +31 -0
- package/dist/cjs/functions/wallet/setFuses.js.map +1 -0
- package/dist/cjs/functions/wallet/setPrimaryName.js +58 -0
- package/dist/cjs/functions/wallet/setPrimaryName.js.map +1 -0
- package/dist/cjs/functions/wallet/setRecords.js +49 -0
- package/dist/cjs/functions/wallet/setRecords.js.map +1 -0
- package/dist/cjs/functions/wallet/setResolver.js +47 -0
- package/dist/cjs/functions/wallet/setResolver.js.map +1 -0
- package/dist/cjs/functions/wallet/setTextRecord.js +28 -0
- package/dist/cjs/functions/wallet/setTextRecord.js.map +1 -0
- package/dist/cjs/functions/wallet/transferName.js +139 -0
- package/dist/cjs/functions/wallet/transferName.js.map +1 -0
- package/dist/cjs/functions/wallet/unwrapName.js +62 -0
- package/dist/cjs/functions/wallet/unwrapName.js.map +1 -0
- package/dist/cjs/functions/wallet/wrapName.js +76 -0
- package/dist/cjs/functions/wallet/wrapName.js.map +1 -0
- package/dist/cjs/index.js +56 -245
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/public.js +44 -0
- package/dist/cjs/public.js.map +1 -0
- package/dist/cjs/subgraph.js +18 -0
- package/dist/cjs/subgraph.js.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/consts.js +9 -0
- package/dist/cjs/utils/consts.js.map +1 -0
- package/dist/cjs/utils/contentHash.js +54 -67
- package/dist/cjs/utils/contentHash.js.map +1 -0
- package/dist/cjs/utils/encoders/encodeAbi.js +34 -0
- package/dist/cjs/utils/encoders/encodeAbi.js.map +1 -0
- package/dist/cjs/utils/encoders/encodeSetAbi.js +14 -0
- package/dist/cjs/utils/encoders/encodeSetAbi.js.map +1 -0
- package/dist/cjs/utils/encoders/encodeSetAddr.js +34 -0
- package/dist/cjs/utils/encoders/encodeSetAddr.js.map +1 -0
- package/dist/cjs/utils/encoders/encodeSetContentHash.js +22 -0
- package/dist/cjs/utils/encoders/encodeSetContentHash.js.map +1 -0
- package/dist/cjs/utils/encoders/encodeSetText.js +14 -0
- package/dist/cjs/utils/encoders/encodeSetText.js.map +1 -0
- package/dist/cjs/utils/format.js +1 -0
- package/dist/cjs/utils/format.js.map +1 -0
- package/dist/cjs/utils/fuses.js +217 -5
- package/dist/cjs/utils/fuses.js.map +1 -0
- package/dist/cjs/utils/generateFunction.js +30 -0
- package/dist/cjs/utils/generateFunction.js.map +1 -0
- package/dist/cjs/utils/generateRecordCallArray.js +42 -0
- package/dist/cjs/utils/generateRecordCallArray.js.map +1 -0
- package/dist/cjs/utils/getNameType.js +24 -0
- package/dist/cjs/utils/getNameType.js.map +1 -0
- package/dist/cjs/utils/getRevertErrorData.js +12 -0
- package/dist/cjs/utils/getRevertErrorData.js.map +1 -0
- package/dist/cjs/utils/hexEncodedName.js +39 -7
- package/dist/cjs/utils/hexEncodedName.js.map +1 -0
- package/dist/cjs/utils/index.js +70 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/labels.js +34 -60
- package/dist/cjs/utils/labels.js.map +1 -0
- package/dist/cjs/utils/makeLabelNodeAndParent.js +17 -0
- package/dist/cjs/utils/makeLabelNodeAndParent.js.map +1 -0
- package/dist/cjs/utils/makeSafeSecondsDate.js +12 -0
- package/dist/cjs/utils/makeSafeSecondsDate.js.map +1 -0
- package/dist/cjs/utils/normalise.js +29 -27
- package/dist/cjs/utils/normalise.js.map +1 -0
- package/dist/cjs/utils/ownerFromContract.js +50 -0
- package/dist/cjs/utils/ownerFromContract.js.map +1 -0
- package/dist/cjs/utils/registerHelpers.js +65 -43
- package/dist/cjs/utils/registerHelpers.js.map +1 -0
- package/dist/cjs/utils/validation.js +49 -56
- package/dist/cjs/utils/validation.js.map +1 -0
- package/dist/cjs/utils/wrapper.js +25 -0
- package/dist/cjs/utils/wrapper.js.map +1 -0
- package/dist/cjs/wallet.js +38 -0
- package/dist/cjs/wallet.js.map +1 -0
- package/dist/esm/clients/decorators/public.js +45 -0
- package/dist/esm/clients/decorators/public.js.map +1 -0
- package/dist/esm/clients/decorators/subgraph.js +29 -0
- package/dist/esm/clients/decorators/subgraph.js.map +1 -0
- package/dist/esm/clients/decorators/wallet.js +51 -0
- package/dist/esm/clients/decorators/wallet.js.map +1 -0
- package/dist/esm/clients/public.js +34 -0
- package/dist/esm/clients/public.js.map +1 -0
- package/dist/esm/clients/subgraph.js +31 -0
- package/dist/esm/clients/subgraph.js.map +1 -0
- package/dist/esm/clients/wallet.js +30 -0
- package/dist/esm/clients/wallet.js.map +1 -0
- package/dist/esm/contracts/addEnsContracts.js +36 -0
- package/dist/esm/contracts/addEnsContracts.js.map +1 -0
- package/dist/esm/contracts/baseRegistrar.js +79 -2
- package/dist/esm/contracts/baseRegistrar.js.map +1 -0
- package/dist/esm/contracts/bulkRenewal.js +42 -0
- package/dist/esm/contracts/bulkRenewal.js.map +1 -0
- package/dist/esm/contracts/consts.js +78 -0
- package/dist/esm/contracts/consts.js.map +1 -0
- package/dist/esm/contracts/dnsRegistrar.js +73 -0
- package/dist/esm/contracts/dnsRegistrar.js.map +1 -0
- package/dist/esm/contracts/dnssecImpl.js +46 -0
- package/dist/esm/contracts/dnssecImpl.js.map +1 -0
- package/dist/esm/contracts/erc1155.js +31 -0
- package/dist/esm/contracts/erc1155.js.map +1 -0
- package/dist/esm/contracts/erc165.js +20 -0
- package/dist/esm/contracts/erc165.js.map +1 -0
- package/dist/esm/contracts/erc721.js +68 -0
- package/dist/esm/contracts/erc721.js.map +1 -0
- package/dist/esm/contracts/ethRegistrarController.js +204 -2
- package/dist/esm/contracts/ethRegistrarController.js.map +1 -0
- package/dist/esm/contracts/getChainContractAddress.js +3 -0
- package/dist/esm/contracts/getChainContractAddress.js.map +1 -0
- package/dist/esm/contracts/index.js +15 -29
- package/dist/esm/contracts/index.js.map +1 -0
- package/dist/esm/contracts/multicall.js +57 -19
- package/dist/esm/contracts/multicall.js.map +1 -0
- package/dist/esm/contracts/nameWrapper.js +376 -2
- package/dist/esm/contracts/nameWrapper.js.map +1 -0
- package/dist/esm/contracts/publicResolver.js +232 -2
- package/dist/esm/contracts/publicResolver.js.map +1 -0
- package/dist/esm/contracts/registry.js +176 -2
- package/dist/esm/contracts/registry.js.map +1 -0
- package/dist/esm/contracts/reverseRegistrar.js +51 -2
- package/dist/esm/contracts/reverseRegistrar.js.map +1 -0
- package/dist/esm/contracts/universalResolver.js +113 -2
- package/dist/esm/contracts/universalResolver.js.map +1 -0
- package/dist/esm/dns.js +4 -0
- package/dist/esm/dns.js.map +1 -0
- package/dist/esm/errors/base.js +52 -0
- package/dist/esm/errors/base.js.map +1 -0
- package/dist/esm/errors/contracts.js +41 -0
- package/dist/esm/errors/contracts.js.map +1 -0
- package/dist/esm/errors/dns.js +129 -0
- package/dist/esm/errors/dns.js.map +1 -0
- package/dist/esm/errors/error-utils.js +3 -0
- package/dist/esm/errors/error-utils.js.map +1 -0
- package/dist/esm/errors/general.js +108 -0
- package/dist/esm/errors/general.js.map +1 -0
- package/dist/esm/errors/public.js +49 -0
- package/dist/esm/errors/public.js.map +1 -0
- package/dist/esm/errors/subgraph.js +83 -0
- package/dist/esm/errors/subgraph.js.map +1 -0
- package/dist/esm/errors/utils.js +194 -0
- package/dist/esm/errors/utils.js.map +1 -0
- package/dist/esm/errors/version.js +2 -0
- package/dist/esm/errors/version.js.map +1 -0
- package/dist/esm/errors/wallet.js +2 -0
- package/dist/esm/errors/wallet.js.map +1 -0
- package/dist/esm/functions/dns/getDnsOwner.js +81 -0
- package/dist/esm/functions/dns/getDnsOwner.js.map +1 -0
- package/dist/esm/functions/dns/importDnsName.js +92 -0
- package/dist/esm/functions/dns/importDnsName.js.map +1 -0
- package/dist/esm/functions/dns/prepareDnsImport.js +85 -0
- package/dist/esm/functions/dns/prepareDnsImport.js.map +1 -0
- package/dist/esm/functions/dns/types.js +2 -0
- package/dist/esm/functions/dns/types.js.map +1 -0
- package/dist/esm/functions/public/_getAbi.js +81 -0
- package/dist/esm/functions/public/_getAbi.js.map +1 -0
- package/dist/esm/functions/public/_getAddr.js +81 -0
- package/dist/esm/functions/public/_getAddr.js.map +1 -0
- package/dist/esm/functions/public/_getContentHash.js +29 -0
- package/dist/esm/functions/public/_getContentHash.js.map +1 -0
- package/dist/esm/functions/public/_getText.js +30 -0
- package/dist/esm/functions/public/_getText.js.map +1 -0
- package/dist/esm/functions/public/batch.js +53 -0
- package/dist/esm/functions/public/batch.js.map +1 -0
- package/dist/esm/functions/public/getAbiRecord.js +32 -0
- package/dist/esm/functions/public/getAbiRecord.js.map +1 -0
- package/dist/esm/functions/public/getAddressRecord.js +32 -0
- package/dist/esm/functions/public/getAddressRecord.js.map +1 -0
- package/dist/esm/functions/public/getAvailable.js +58 -0
- package/dist/esm/functions/public/getAvailable.js.map +1 -0
- package/dist/esm/functions/public/getContentHashRecord.js +32 -0
- package/dist/esm/functions/public/getContentHashRecord.js.map +1 -0
- package/dist/esm/functions/public/getExpiry.js +136 -0
- package/dist/esm/functions/public/getExpiry.js.map +1 -0
- package/dist/esm/functions/public/getName.js +77 -0
- package/dist/esm/functions/public/getName.js.map +1 -0
- package/dist/esm/functions/public/getOwner.js +155 -0
- package/dist/esm/functions/public/getOwner.js.map +1 -0
- package/dist/esm/functions/public/getPrice.js +104 -0
- package/dist/esm/functions/public/getPrice.js.map +1 -0
- package/dist/esm/functions/public/getRecords.js +231 -0
- package/dist/esm/functions/public/getRecords.js.map +1 -0
- package/dist/esm/functions/public/getResolver.js +60 -0
- package/dist/esm/functions/public/getResolver.js.map +1 -0
- package/dist/esm/functions/public/getSupportedInterfaces.js +31 -0
- package/dist/esm/functions/public/getSupportedInterfaces.js.map +1 -0
- package/dist/esm/functions/public/getTextRecord.js +32 -0
- package/dist/esm/functions/public/getTextRecord.js.map +1 -0
- package/dist/esm/functions/public/getWrapperData.js +76 -0
- package/dist/esm/functions/public/getWrapperData.js.map +1 -0
- package/dist/esm/functions/public/getWrapperName.js +60 -0
- package/dist/esm/functions/public/getWrapperName.js.map +1 -0
- package/dist/esm/functions/public/multicallWrapper.js +55 -0
- package/dist/esm/functions/public/multicallWrapper.js.map +1 -0
- package/dist/esm/functions/public/universalWrapper.js +69 -0
- package/dist/esm/functions/public/universalWrapper.js.map +1 -0
- package/dist/esm/functions/subgraph/client.js +79 -0
- package/dist/esm/functions/subgraph/client.js.map +1 -0
- package/dist/esm/functions/subgraph/events.js +2 -0
- package/dist/esm/functions/subgraph/events.js.map +1 -0
- package/dist/esm/functions/subgraph/fragments.js +45 -0
- package/dist/esm/functions/subgraph/fragments.js.map +1 -0
- package/dist/esm/functions/subgraph/getDecodedName.js +83 -0
- package/dist/esm/functions/subgraph/getDecodedName.js.map +1 -0
- package/dist/esm/functions/subgraph/getNameHistory.js +246 -0
- package/dist/esm/functions/subgraph/getNameHistory.js.map +1 -0
- package/dist/esm/functions/subgraph/getNamesForAddress.js +265 -0
- package/dist/esm/functions/subgraph/getNamesForAddress.js.map +1 -0
- package/dist/esm/functions/subgraph/getSubgraphRecords.js +94 -0
- package/dist/esm/functions/subgraph/getSubgraphRecords.js.map +1 -0
- package/dist/esm/functions/subgraph/getSubgraphRegistrant.js +51 -0
- package/dist/esm/functions/subgraph/getSubgraphRegistrant.js.map +1 -0
- package/dist/esm/functions/subgraph/getSubnames.js +190 -0
- package/dist/esm/functions/subgraph/getSubnames.js.map +1 -0
- package/dist/esm/functions/subgraph/utils.js +51 -0
- package/dist/esm/functions/subgraph/utils.js.map +1 -0
- package/dist/esm/functions/wallet/commitName.js +73 -0
- package/dist/esm/functions/wallet/commitName.js.map +1 -0
- package/dist/esm/functions/wallet/createSubname.js +110 -0
- package/dist/esm/functions/wallet/createSubname.js.map +1 -0
- package/dist/esm/functions/wallet/deleteSubname.js +123 -0
- package/dist/esm/functions/wallet/deleteSubname.js.map +1 -0
- package/dist/esm/functions/wallet/registerName.js +88 -0
- package/dist/esm/functions/wallet/registerName.js.map +1 -0
- package/dist/esm/functions/wallet/renewNames.js +91 -0
- package/dist/esm/functions/wallet/renewNames.js.map +1 -0
- package/dist/esm/functions/wallet/setAbiRecord.js +52 -0
- package/dist/esm/functions/wallet/setAbiRecord.js.map +1 -0
- package/dist/esm/functions/wallet/setAddressRecord.js +47 -0
- package/dist/esm/functions/wallet/setAddressRecord.js.map +1 -0
- package/dist/esm/functions/wallet/setChildFuses.js +55 -0
- package/dist/esm/functions/wallet/setChildFuses.js.map +1 -0
- package/dist/esm/functions/wallet/setContentHashRecord.js +45 -0
- package/dist/esm/functions/wallet/setContentHashRecord.js.map +1 -0
- package/dist/esm/functions/wallet/setFuses.js +50 -0
- package/dist/esm/functions/wallet/setFuses.js.map +1 -0
- package/dist/esm/functions/wallet/setPrimaryName.js +74 -0
- package/dist/esm/functions/wallet/setPrimaryName.js.map +1 -0
- package/dist/esm/functions/wallet/setRecords.js +73 -0
- package/dist/esm/functions/wallet/setRecords.js.map +1 -0
- package/dist/esm/functions/wallet/setResolver.js +65 -0
- package/dist/esm/functions/wallet/setResolver.js.map +1 -0
- package/dist/esm/functions/wallet/setTextRecord.js +47 -0
- package/dist/esm/functions/wallet/setTextRecord.js.map +1 -0
- package/dist/esm/functions/wallet/transferName.js +157 -0
- package/dist/esm/functions/wallet/transferName.js.map +1 -0
- package/dist/esm/functions/wallet/unwrapName.js +80 -0
- package/dist/esm/functions/wallet/unwrapName.js.map +1 -0
- package/dist/esm/functions/wallet/wrapName.js +93 -0
- package/dist/esm/functions/wallet/wrapName.js.map +1 -0
- package/dist/esm/index.js +15 -212
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/public.js +21 -0
- package/dist/esm/public.js.map +1 -0
- package/dist/esm/subgraph.js +8 -0
- package/dist/esm/subgraph.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/consts.js +6 -0
- package/dist/esm/utils/consts.js.map +1 -0
- package/dist/esm/utils/contentHash.js +54 -63
- package/dist/esm/utils/contentHash.js.map +1 -0
- package/dist/esm/utils/encoders/encodeAbi.js +30 -0
- package/dist/esm/utils/encoders/encodeAbi.js.map +1 -0
- package/dist/esm/utils/encoders/encodeSetAbi.js +10 -0
- package/dist/esm/utils/encoders/encodeSetAbi.js.map +1 -0
- package/dist/esm/utils/encoders/encodeSetAddr.js +30 -0
- package/dist/esm/utils/encoders/encodeSetAddr.js.map +1 -0
- package/dist/esm/utils/encoders/encodeSetContentHash.js +18 -0
- package/dist/esm/utils/encoders/encodeSetContentHash.js.map +1 -0
- package/dist/esm/utils/encoders/encodeSetText.js +10 -0
- package/dist/esm/utils/encoders/encodeSetText.js.map +1 -0
- package/dist/esm/utils/format.js +1 -0
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/fuses.js +216 -4
- package/dist/esm/utils/fuses.js.map +1 -0
- package/dist/esm/utils/generateFunction.js +26 -0
- package/dist/esm/utils/generateFunction.js.map +1 -0
- package/dist/esm/utils/generateRecordCallArray.js +38 -0
- package/dist/esm/utils/generateRecordCallArray.js.map +1 -0
- package/dist/esm/utils/getNameType.js +20 -0
- package/dist/esm/utils/getNameType.js.map +1 -0
- package/dist/esm/utils/getRevertErrorData.js +8 -0
- package/dist/esm/utils/getRevertErrorData.js.map +1 -0
- package/dist/esm/utils/hexEncodedName.js +43 -2
- package/dist/esm/utils/hexEncodedName.js.map +1 -0
- package/dist/esm/utils/index.js +17 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/labels.js +32 -52
- package/dist/esm/utils/labels.js.map +1 -0
- package/dist/esm/utils/makeLabelNodeAndParent.js +13 -0
- package/dist/esm/utils/makeLabelNodeAndParent.js.map +1 -0
- package/dist/esm/utils/makeSafeSecondsDate.js +8 -0
- package/dist/esm/utils/makeSafeSecondsDate.js.map +1 -0
- package/dist/esm/utils/normalise.js +29 -23
- package/dist/esm/utils/normalise.js.map +1 -0
- package/dist/esm/utils/ownerFromContract.js +46 -0
- package/dist/esm/utils/ownerFromContract.js.map +1 -0
- package/dist/esm/utils/registerHelpers.js +60 -36
- package/dist/esm/utils/registerHelpers.js.map +1 -0
- package/dist/esm/utils/validation.js +46 -53
- package/dist/esm/utils/validation.js.map +1 -0
- package/dist/esm/utils/wrapper.js +20 -0
- package/dist/esm/utils/wrapper.js.map +1 -0
- package/dist/esm/wallet.js +18 -0
- package/dist/esm/wallet.js.map +1 -0
- package/dist/types/clients/decorators/public.d.ts +813 -0
- package/dist/types/clients/decorators/public.d.ts.map +1 -0
- package/dist/types/clients/decorators/subgraph.d.ts +654 -0
- package/dist/types/clients/decorators/subgraph.d.ts.map +1 -0
- package/dist/types/clients/decorators/wallet.d.ts +714 -0
- package/dist/types/clients/decorators/wallet.d.ts.map +1 -0
- package/dist/types/clients/public.d.ts +335 -0
- package/dist/types/clients/public.d.ts.map +1 -0
- package/dist/types/clients/subgraph.d.ts +304 -0
- package/dist/types/clients/subgraph.d.ts.map +1 -0
- package/dist/types/clients/wallet.d.ts +501 -0
- package/dist/types/clients/wallet.d.ts.map +1 -0
- package/dist/types/contracts/addEnsContracts.d.ts +18 -0
- package/dist/types/contracts/addEnsContracts.d.ts.map +1 -0
- package/dist/types/contracts/baseRegistrar.d.ts +98 -0
- package/dist/types/contracts/baseRegistrar.d.ts.map +1 -0
- package/dist/types/contracts/bulkRenewal.d.ts +30 -0
- package/dist/types/contracts/bulkRenewal.d.ts.map +1 -0
- package/dist/types/contracts/consts.d.ts +107 -0
- package/dist/types/contracts/consts.d.ts.map +1 -0
- package/dist/types/contracts/dnsRegistrar.d.ts +53 -0
- package/dist/types/contracts/dnsRegistrar.d.ts.map +1 -0
- package/dist/types/contracts/dnssecImpl.d.ts +33 -0
- package/dist/types/contracts/dnssecImpl.d.ts.map +1 -0
- package/dist/types/contracts/erc1155.d.ts +23 -0
- package/dist/types/contracts/erc1155.d.ts.map +1 -0
- package/dist/types/contracts/erc165.d.ts +14 -0
- package/dist/types/contracts/erc165.d.ts.map +1 -0
- package/dist/types/contracts/erc721.d.ts +49 -0
- package/dist/types/contracts/erc721.d.ts.map +1 -0
- package/dist/types/contracts/ethRegistrarController.d.ts +398 -0
- package/dist/types/contracts/ethRegistrarController.d.ts.map +1 -0
- package/dist/types/contracts/getChainContractAddress.d.ts +11 -0
- package/dist/types/contracts/getChainContractAddress.d.ts.map +1 -0
- package/dist/types/contracts/index.d.ts +15 -0
- package/dist/types/contracts/index.d.ts.map +1 -0
- package/dist/types/contracts/multicall.d.ts +41 -0
- package/dist/types/contracts/multicall.d.ts.map +1 -0
- package/dist/types/contracts/nameWrapper.d.ts +1094 -0
- package/dist/types/contracts/nameWrapper.d.ts.map +1 -0
- package/dist/types/contracts/publicResolver.d.ts +165 -0
- package/dist/types/contracts/publicResolver.d.ts.map +1 -0
- package/dist/types/contracts/registry.d.ts +126 -0
- package/dist/types/contracts/registry.d.ts.map +1 -0
- package/dist/types/contracts/reverseRegistrar.d.ts +36 -0
- package/dist/types/contracts/reverseRegistrar.d.ts.map +1 -0
- package/dist/types/contracts/universalResolver.d.ts +118 -0
- package/dist/types/contracts/universalResolver.d.ts.map +1 -0
- package/dist/types/dns.d.ts +5 -0
- package/dist/types/dns.d.ts.map +1 -0
- package/dist/types/errors/base.d.ts +19 -0
- package/dist/types/errors/base.d.ts.map +1 -0
- package/dist/types/errors/contracts.d.ts +16 -0
- package/dist/types/errors/contracts.d.ts.map +1 -0
- package/dist/types/errors/dns.d.ts +47 -0
- package/dist/types/errors/dns.d.ts.map +1 -0
- package/dist/types/errors/error-utils.d.ts +2 -0
- package/dist/types/errors/error-utils.d.ts.map +1 -0
- package/dist/types/errors/general.d.ts +41 -0
- package/dist/types/errors/general.d.ts.map +1 -0
- package/dist/types/errors/public.d.ts +20 -0
- package/dist/types/errors/public.d.ts.map +1 -0
- package/dist/types/errors/subgraph.d.ts +28 -0
- package/dist/types/errors/subgraph.d.ts.map +1 -0
- package/dist/types/errors/utils.d.ts +94 -0
- package/dist/types/errors/utils.d.ts.map +1 -0
- package/dist/types/errors/version.d.ts +2 -0
- package/dist/types/errors/version.d.ts.map +1 -0
- package/dist/types/errors/wallet.d.ts +2 -0
- package/dist/types/errors/wallet.d.ts.map +1 -0
- package/dist/types/functions/dns/getDnsOwner.d.ts +25 -0
- package/dist/types/functions/dns/getDnsOwner.d.ts.map +1 -0
- package/dist/types/functions/dns/importDnsName.d.ts +590 -0
- package/dist/types/functions/dns/importDnsName.d.ts.map +1 -0
- package/dist/types/functions/dns/prepareDnsImport.d.ts +39 -0
- package/dist/types/functions/dns/prepareDnsImport.d.ts.map +1 -0
- package/dist/types/functions/dns/types.d.ts +2 -0
- package/dist/types/functions/dns/types.d.ts.map +1 -0
- package/dist/types/functions/public/_getAbi.d.ts +11 -0
- package/dist/types/functions/public/_getAbi.d.ts.map +1 -0
- package/dist/types/functions/public/_getAddr.d.ts +15 -0
- package/dist/types/functions/public/_getAddr.d.ts.map +1 -0
- package/dist/types/functions/public/_getContentHash.d.ts +12 -0
- package/dist/types/functions/public/_getContentHash.d.ts.map +1 -0
- package/dist/types/functions/public/_getText.d.ts +13 -0
- package/dist/types/functions/public/_getText.d.ts.map +1 -0
- package/dist/types/functions/public/batch.d.ts +39 -0
- package/dist/types/functions/public/batch.d.ts.map +1 -0
- package/dist/types/functions/public/getAbiRecord.d.ts +31 -0
- package/dist/types/functions/public/getAbiRecord.d.ts.map +1 -0
- package/dist/types/functions/public/getAddressRecord.d.ts +31 -0
- package/dist/types/functions/public/getAddressRecord.d.ts.map +1 -0
- package/dist/types/functions/public/getAvailable.d.ts +33 -0
- package/dist/types/functions/public/getAvailable.d.ts.map +1 -0
- package/dist/types/functions/public/getContentHashRecord.d.ts +31 -0
- package/dist/types/functions/public/getContentHashRecord.d.ts.map +1 -0
- package/dist/types/functions/public/getExpiry.d.ts +44 -0
- package/dist/types/functions/public/getExpiry.d.ts.map +1 -0
- package/dist/types/functions/public/getName.d.ts +42 -0
- package/dist/types/functions/public/getName.d.ts.map +1 -0
- package/dist/types/functions/public/getOwner.d.ts +64 -0
- package/dist/types/functions/public/getOwner.d.ts.map +1 -0
- package/dist/types/functions/public/getPrice.d.ts +40 -0
- package/dist/types/functions/public/getPrice.d.ts.map +1 -0
- package/dist/types/functions/public/getRecords.d.ts +97 -0
- package/dist/types/functions/public/getRecords.d.ts.map +1 -0
- package/dist/types/functions/public/getResolver.d.ts +33 -0
- package/dist/types/functions/public/getResolver.d.ts.map +1 -0
- package/dist/types/functions/public/getSupportedInterfaces.d.ts +11 -0
- package/dist/types/functions/public/getSupportedInterfaces.d.ts.map +1 -0
- package/dist/types/functions/public/getTextRecord.d.ts +31 -0
- package/dist/types/functions/public/getTextRecord.d.ts.map +1 -0
- package/dist/types/functions/public/getWrapperData.d.ts +42 -0
- package/dist/types/functions/public/getWrapperData.d.ts.map +1 -0
- package/dist/types/functions/public/getWrapperName.d.ts +33 -0
- package/dist/types/functions/public/getWrapperName.d.ts.map +1 -0
- package/dist/types/functions/public/multicallWrapper.d.ts +14 -0
- package/dist/types/functions/public/multicallWrapper.d.ts.map +1 -0
- package/dist/types/functions/public/universalWrapper.d.ts +14 -0
- package/dist/types/functions/public/universalWrapper.d.ts.map +1 -0
- package/dist/types/functions/subgraph/client.d.ts +9 -0
- package/dist/types/functions/subgraph/client.d.ts.map +1 -0
- package/dist/types/functions/subgraph/events.d.ts +140 -0
- package/dist/types/functions/subgraph/events.d.ts.map +1 -0
- package/dist/types/functions/subgraph/fragments.d.ts +41 -0
- package/dist/types/functions/subgraph/fragments.d.ts.map +1 -0
- package/dist/types/functions/subgraph/getDecodedName.d.ts +29 -0
- package/dist/types/functions/subgraph/getDecodedName.d.ts.map +1 -0
- package/dist/types/functions/subgraph/getNameHistory.d.ts +53 -0
- package/dist/types/functions/subgraph/getNameHistory.d.ts.map +1 -0
- package/dist/types/functions/subgraph/getNamesForAddress.d.ts +58 -0
- package/dist/types/functions/subgraph/getNamesForAddress.d.ts.map +1 -0
- package/dist/types/functions/subgraph/getSubgraphRecords.d.ts +45 -0
- package/dist/types/functions/subgraph/getSubgraphRecords.d.ts.map +1 -0
- package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts +28 -0
- package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts.map +1 -0
- package/dist/types/functions/subgraph/getSubnames.d.ts +40 -0
- package/dist/types/functions/subgraph/getSubnames.d.ts.map +1 -0
- package/dist/types/functions/subgraph/utils.d.ts +39 -0
- package/dist/types/functions/subgraph/utils.d.ts.map +1 -0
- package/dist/types/functions/wallet/commitName.d.ts +568 -0
- package/dist/types/functions/wallet/commitName.d.ts.map +1 -0
- package/dist/types/functions/wallet/createSubname.d.ts +590 -0
- package/dist/types/functions/wallet/createSubname.d.ts.map +1 -0
- package/dist/types/functions/wallet/deleteSubname.d.ts +571 -0
- package/dist/types/functions/wallet/deleteSubname.d.ts.map +1 -0
- package/dist/types/functions/wallet/registerName.d.ts +583 -0
- package/dist/types/functions/wallet/registerName.d.ts.map +1 -0
- package/dist/types/functions/wallet/renewNames.d.ts +583 -0
- package/dist/types/functions/wallet/renewNames.d.ts.map +1 -0
- package/dist/types/functions/wallet/setAbiRecord.d.ts +576 -0
- package/dist/types/functions/wallet/setAbiRecord.d.ts.map +1 -0
- package/dist/types/functions/wallet/setAddressRecord.d.ts +575 -0
- package/dist/types/functions/wallet/setAddressRecord.d.ts.map +1 -0
- package/dist/types/functions/wallet/setChildFuses.d.ts +576 -0
- package/dist/types/functions/wallet/setChildFuses.d.ts.map +1 -0
- package/dist/types/functions/wallet/setContentHashRecord.d.ts +572 -0
- package/dist/types/functions/wallet/setContentHashRecord.d.ts.map +1 -0
- package/dist/types/functions/wallet/setFuses.d.ts +572 -0
- package/dist/types/functions/wallet/setFuses.d.ts.map +1 -0
- package/dist/types/functions/wallet/setPrimaryName.d.ts +579 -0
- package/dist/types/functions/wallet/setPrimaryName.d.ts.map +1 -0
- package/dist/types/functions/wallet/setRecords.d.ts +577 -0
- package/dist/types/functions/wallet/setRecords.d.ts.map +1 -0
- package/dist/types/functions/wallet/setResolver.d.ts +572 -0
- package/dist/types/functions/wallet/setResolver.d.ts.map +1 -0
- package/dist/types/functions/wallet/setTextRecord.d.ts +575 -0
- package/dist/types/functions/wallet/setTextRecord.d.ts.map +1 -0
- package/dist/types/functions/wallet/transferName.d.ts +586 -0
- package/dist/types/functions/wallet/transferName.d.ts.map +1 -0
- package/dist/types/functions/wallet/unwrapName.d.ts +581 -0
- package/dist/types/functions/wallet/unwrapName.d.ts.map +1 -0
- package/dist/types/functions/wallet/wrapName.d.ts +574 -0
- package/dist/types/functions/wallet/wrapName.d.ts.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/public.d.ts +21 -0
- package/dist/types/public.d.ts.map +1 -0
- package/dist/types/subgraph.d.ts +9 -0
- package/dist/types/subgraph.d.ts.map +1 -0
- package/dist/types/types.d.ts +61 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils/consts.d.ts +6 -0
- package/dist/types/utils/consts.d.ts.map +1 -0
- package/dist/types/utils/contentHash.d.ts +18 -0
- package/dist/types/utils/contentHash.d.ts.map +1 -0
- package/dist/types/utils/encoders/encodeAbi.d.ts +29 -0
- package/dist/types/utils/encoders/encodeAbi.d.ts.map +1 -0
- package/dist/types/utils/encoders/encodeSetAbi.d.ts +11 -0
- package/dist/types/utils/encoders/encodeSetAbi.d.ts.map +1 -0
- package/dist/types/utils/encoders/encodeSetAddr.d.ts +9 -0
- package/dist/types/utils/encoders/encodeSetAddr.d.ts.map +1 -0
- package/dist/types/utils/encoders/encodeSetContentHash.d.ts +8 -0
- package/dist/types/utils/encoders/encodeSetContentHash.d.ts.map +1 -0
- package/dist/types/utils/encoders/encodeSetText.d.ts +9 -0
- package/dist/types/utils/encoders/encodeSetText.d.ts.map +1 -0
- package/dist/types/utils/format.d.ts +4 -0
- package/dist/types/utils/format.d.ts.map +1 -0
- package/dist/types/utils/fuses.d.ts +137 -0
- package/dist/types/utils/fuses.d.ts.map +1 -0
- package/dist/types/utils/generateFunction.d.ts +23 -0
- package/dist/types/utils/generateFunction.d.ts.map +1 -0
- package/dist/types/utils/generateRecordCallArray.d.ts +27 -0
- package/dist/types/utils/generateRecordCallArray.d.ts.map +1 -0
- package/dist/types/utils/getNameType.d.ts +3 -0
- package/dist/types/utils/getNameType.d.ts.map +1 -0
- package/dist/types/utils/getRevertErrorData.d.ts +2 -0
- package/dist/types/utils/getRevertErrorData.d.ts.map +1 -0
- package/dist/types/utils/hexEncodedName.d.ts +4 -0
- package/dist/types/utils/hexEncodedName.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +17 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/labels.d.ts +10 -0
- package/dist/types/utils/labels.d.ts.map +1 -0
- package/dist/types/utils/makeLabelNodeAndParent.d.ts +6 -0
- package/dist/types/utils/makeLabelNodeAndParent.d.ts.map +1 -0
- package/dist/types/utils/makeSafeSecondsDate.d.ts +2 -0
- package/dist/types/utils/makeSafeSecondsDate.d.ts.map +1 -0
- package/dist/types/utils/normalise.d.ts +12 -0
- package/dist/types/utils/normalise.d.ts.map +1 -0
- package/dist/types/utils/ownerFromContract.d.ts +20 -0
- package/dist/types/utils/ownerFromContract.d.ts.map +1 -0
- package/dist/types/utils/registerHelpers.d.ts +50 -0
- package/dist/types/utils/registerHelpers.d.ts.map +1 -0
- package/dist/types/utils/validation.d.ts +14 -0
- package/dist/types/utils/validation.d.ts.map +1 -0
- package/dist/types/utils/wrapper.d.ts +5 -0
- package/dist/types/utils/wrapper.d.ts.map +1 -0
- package/dist/types/wallet.d.ts +18 -0
- package/dist/types/wallet.d.ts.map +1 -0
- package/dns/package.json +5 -0
- package/package.json +87 -75
- package/public/package.json +5 -0
- package/src/@types/@ensdomains/ens-contracts.d.ts +1 -1
- package/src/@types/dns-packet/index.d.ts +113 -113
- package/src/@types/dns-packet/types.d.ts +4 -0
- package/src/@types/pako.d.ts +188 -0
- package/src/ABIs/Multicall.json +452 -0
- package/src/clients/decorators/public.ts +394 -0
- package/src/clients/decorators/subgraph.ts +194 -0
- package/src/clients/decorators/wallet.ts +708 -0
- package/src/clients/public.ts +81 -0
- package/src/clients/subgraph.ts +72 -0
- package/src/clients/wallet.ts +90 -0
- package/src/contracts/addEnsContracts.ts +42 -0
- package/src/contracts/baseRegistrar.ts +88 -4
- package/src/contracts/bulkRenewal.ts +42 -0
- package/src/contracts/consts.ts +152 -0
- package/src/contracts/dnsRegistrar.ts +73 -0
- package/src/contracts/dnssecImpl.ts +46 -0
- package/src/contracts/erc1155.ts +30 -0
- package/src/contracts/erc165.ts +19 -0
- package/src/contracts/erc721.ts +69 -0
- package/src/contracts/ethRegistrarController.ts +207 -4
- package/src/contracts/getChainContractAddress.ts +19 -0
- package/src/contracts/index.ts +97 -68
- package/src/contracts/multicall.ts +57 -23
- package/src/contracts/nameWrapper.ts +388 -4
- package/src/contracts/publicResolver.ts +240 -4
- package/src/contracts/registry.ts +181 -4
- package/src/contracts/reverseRegistrar.ts +50 -4
- package/src/contracts/universalResolver.ts +115 -4
- package/src/dns.ts +16 -0
- package/src/errors/base.ts +48 -0
- package/src/errors/contracts.ts +34 -0
- package/src/errors/dns.ts +91 -0
- package/src/errors/error-utils.ts +3 -0
- package/src/errors/general.ts +92 -0
- package/src/errors/public.ts +31 -0
- package/src/errors/subgraph.ts +71 -0
- package/src/errors/utils.ts +161 -0
- package/src/errors/version.ts +1 -0
- package/src/errors/wallet.ts +0 -0
- package/src/functions/dns/getDnsOwner.test.ts +195 -0
- package/src/functions/dns/getDnsOwner.ts +141 -0
- package/src/functions/dns/importDnsName.test.ts +117 -0
- package/src/functions/dns/importDnsName.ts +175 -0
- package/src/functions/dns/prepareDnsImport.test.ts +115 -0
- package/src/functions/dns/prepareDnsImport.ts +133 -0
- package/src/functions/dns/types.ts +1 -0
- package/src/functions/public/_getAbi.ts +115 -0
- package/src/functions/public/_getAddr.ts +121 -0
- package/src/functions/public/_getContentHash.ts +52 -0
- package/src/functions/public/_getText.ts +51 -0
- package/src/functions/public/batch.test.ts +67 -0
- package/src/functions/public/batch.ts +100 -0
- package/src/functions/public/ccip.test.ts +78 -0
- package/src/functions/public/getAbiRecord.test.ts +174 -0
- package/src/functions/public/getAbiRecord.ts +65 -0
- package/src/functions/public/getAddressRecord.test.ts +83 -0
- package/src/functions/public/getAddressRecord.ts +66 -0
- package/src/functions/public/getAvailable.test.ts +17 -0
- package/src/functions/public/getAvailable.ts +91 -0
- package/src/functions/public/getContentHashRecord.test.ts +28 -0
- package/src/functions/public/getContentHashRecord.ts +67 -0
- package/src/functions/public/getExpiry.test.ts +48 -0
- package/src/functions/public/getExpiry.ts +199 -0
- package/src/functions/public/getName.test.ts +66 -0
- package/src/functions/public/getName.ts +128 -0
- package/src/functions/public/getOwner.test.ts +87 -0
- package/src/functions/public/getOwner.ts +250 -0
- package/src/functions/public/getPrice.test.ts +45 -0
- package/src/functions/public/getPrice.ts +147 -0
- package/src/functions/public/getRecords.test.ts +49 -0
- package/src/functions/public/getRecords.ts +384 -0
- package/src/functions/public/getResolver.test.ts +12 -0
- package/src/functions/public/getResolver.ts +100 -0
- package/src/functions/public/getSupportedInterfaces.ts +54 -0
- package/src/functions/public/getTextRecord.test.ts +20 -0
- package/src/functions/public/getTextRecord.ts +65 -0
- package/src/functions/public/getWrapperData.test.ts +79 -0
- package/src/functions/public/getWrapperData.ts +128 -0
- package/src/functions/public/getWrapperName.test.ts +19 -0
- package/src/functions/public/getWrapperName.ts +97 -0
- package/src/functions/public/multicallWrapper.ts +88 -0
- package/src/functions/public/universalWrapper.ts +108 -0
- package/src/functions/subgraph/client.test.ts +170 -0
- package/src/functions/subgraph/client.ts +90 -0
- package/src/functions/subgraph/events.ts +211 -0
- package/src/functions/subgraph/fragments.ts +88 -0
- package/src/functions/subgraph/getDecodedName.test.ts +31 -0
- package/src/functions/subgraph/getDecodedName.ts +120 -0
- package/src/functions/subgraph/getNameHistory.test.ts +39 -0
- package/src/functions/subgraph/getNameHistory.ts +326 -0
- package/src/functions/subgraph/getNamesForAddress.test.ts +244 -0
- package/src/functions/subgraph/getNamesForAddress.ts +360 -0
- package/src/functions/subgraph/getSubgraphRecords.test.ts +74 -0
- package/src/functions/subgraph/getSubgraphRecords.ts +151 -0
- package/src/functions/subgraph/getSubgraphRegistrant.test.ts +34 -0
- package/src/functions/subgraph/getSubgraphRegistrant.ts +75 -0
- package/src/functions/subgraph/getSubnames.test.ts +202 -0
- package/src/functions/subgraph/getSubnames.ts +251 -0
- package/src/functions/subgraph/utils.ts +90 -0
- package/src/functions/wallet/commitName.test.ts +58 -0
- package/src/functions/wallet/commitName.ts +129 -0
- package/src/functions/wallet/createSubname.test.ts +73 -0
- package/src/functions/wallet/createSubname.ts +207 -0
- package/src/functions/wallet/deleteSubname.test.ts +150 -0
- package/src/functions/wallet/deleteSubname.ts +190 -0
- package/src/functions/wallet/registerName.test.ts +81 -0
- package/src/functions/wallet/registerName.ts +152 -0
- package/src/functions/wallet/renewNames.test.ts +92 -0
- package/src/functions/wallet/renewNames.ts +150 -0
- package/src/functions/wallet/setAbiRecord.test.ts +156 -0
- package/src/functions/wallet/setAbiRecord.ts +112 -0
- package/src/functions/wallet/setAddressRecord.test.ts +121 -0
- package/src/functions/wallet/setAddressRecord.ts +106 -0
- package/src/functions/wallet/setChildFuses.test.ts +97 -0
- package/src/functions/wallet/setChildFuses.ts +111 -0
- package/src/functions/wallet/setContentHashRecord.test.ts +69 -0
- package/src/functions/wallet/setContentHashRecord.ts +101 -0
- package/src/functions/wallet/setFuses.test.ts +287 -0
- package/src/functions/wallet/setFuses.ts +102 -0
- package/src/functions/wallet/setPrimaryName.test.ts +71 -0
- package/src/functions/wallet/setPrimaryName.ts +154 -0
- package/src/functions/wallet/setRecords.test.ts +127 -0
- package/src/functions/wallet/setRecords.ts +133 -0
- package/src/functions/wallet/setResolver.test.ts +114 -0
- package/src/functions/wallet/setResolver.ts +125 -0
- package/src/functions/wallet/setTextRecord.test.ts +67 -0
- package/src/functions/wallet/setTextRecord.ts +106 -0
- package/src/functions/wallet/transferName.test.ts +201 -0
- package/src/functions/wallet/transferName.ts +262 -0
- package/src/functions/wallet/unwrapName.test.ts +93 -0
- package/src/functions/wallet/unwrapName.ts +171 -0
- package/src/functions/wallet/wrapName.test.ts +195 -0
- package/src/functions/wallet/wrapName.ts +182 -0
- package/src/index.ts +71 -595
- package/src/public.ts +100 -0
- package/src/subgraph.ts +65 -0
- package/src/types.ts +117 -0
- package/src/utils/consts.ts +5 -0
- package/src/utils/contentHash.ts +59 -60
- package/src/utils/encoders/encodeAbi.ts +71 -0
- package/src/utils/encoders/encodeSetAbi.ts +21 -0
- package/src/utils/encoders/encodeSetAddr.ts +43 -0
- package/src/utils/encoders/encodeSetContentHash.ts +27 -0
- package/src/utils/encoders/encodeSetText.ts +22 -0
- package/src/utils/fuses.ts +362 -4
- package/src/utils/generateFunction.ts +83 -0
- package/src/utils/generateRecordCallArray.test.ts +84 -0
- package/src/utils/generateRecordCallArray.ts +76 -0
- package/src/utils/getNameType.ts +18 -0
- package/src/utils/getRevertErrorData.ts +7 -0
- package/src/utils/hexEncodedName.ts +48 -3
- package/src/utils/index.ts +103 -0
- package/src/utils/labels.test.ts +163 -0
- package/src/utils/labels.ts +40 -65
- package/src/utils/makeLabelNodeAndParent.test.ts +11 -0
- package/src/utils/makeLabelNodeAndParent.ts +13 -0
- package/src/utils/makeSafeSecondsDate.test.ts +14 -0
- package/src/utils/makeSafeSecondsDate.ts +7 -0
- package/src/utils/normalise.test.ts +35 -0
- package/src/utils/normalise.ts +58 -23
- package/src/utils/ownerFromContract.test.ts +52 -0
- package/src/utils/ownerFromContract.ts +70 -0
- package/src/utils/registerHelpers.test.ts +159 -0
- package/src/utils/registerHelpers.ts +137 -69
- package/src/utils/validation.test.ts +170 -0
- package/src/utils/validation.ts +59 -53
- package/src/utils/wrapper.test.ts +46 -0
- package/src/utils/wrapper.ts +20 -0
- package/src/wallet.ts +85 -0
- package/subgraph/package.json +5 -0
- package/utils/package.json +5 -0
- package/wallet/package.json +5 -0
- package/dist/cjs/GqlManager.d.ts +0 -9
- package/dist/cjs/GqlManager.js +0 -102
- package/dist/cjs/contracts/baseRegistrar.d.ts +0 -3
- package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
- package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
- package/dist/cjs/contracts/ethRegistrarController.d.ts +0 -3
- package/dist/cjs/contracts/getContractAddress.d.ts +0 -3
- package/dist/cjs/contracts/getContractAddress.js +0 -46
- package/dist/cjs/contracts/index.d.ts +0 -16
- package/dist/cjs/contracts/multicall.d.ts +0 -3
- package/dist/cjs/contracts/nameWrapper.d.ts +0 -3
- package/dist/cjs/contracts/publicResolver.d.ts +0 -3
- package/dist/cjs/contracts/registry.d.ts +0 -3
- package/dist/cjs/contracts/reverseRegistrar.d.ts +0 -3
- package/dist/cjs/contracts/types.d.ts +0 -2
- package/dist/cjs/contracts/types.js +0 -2
- package/dist/cjs/contracts/universalResolver.d.ts +0 -3
- package/dist/cjs/functions/batch.d.ts +0 -9
- package/dist/cjs/functions/batch.js +0 -21
- package/dist/cjs/functions/batchWrappers.d.ts +0 -29
- package/dist/cjs/functions/batchWrappers.js +0 -71
- package/dist/cjs/functions/burnFuses.d.ts +0 -5
- package/dist/cjs/functions/burnFuses.js +0 -14
- package/dist/cjs/functions/createSubname.d.ts +0 -15
- package/dist/cjs/functions/createSubname.js +0 -40
- package/dist/cjs/functions/deleteSubname.d.ts +0 -4
- package/dist/cjs/functions/deleteSubname.js +0 -9
- package/dist/cjs/functions/getDNSOwner.d.ts +0 -7
- package/dist/cjs/functions/getDNSOwner.js +0 -81
- package/dist/cjs/functions/getExpiry.d.ts +0 -12
- package/dist/cjs/functions/getExpiry.js +0 -45
- package/dist/cjs/functions/getFuses.d.ts +0 -17
- package/dist/cjs/functions/getFuses.js +0 -62
- package/dist/cjs/functions/getHistory.d.ts +0 -54
- package/dist/cjs/functions/getHistory.js +0 -279
- package/dist/cjs/functions/getName.d.ts +0 -19
- package/dist/cjs/functions/getName.js +0 -34
- package/dist/cjs/functions/getNames.d.ts +0 -40
- package/dist/cjs/functions/getNames.js +0 -222
- package/dist/cjs/functions/getOwner.d.ts +0 -14
- package/dist/cjs/functions/getOwner.js +0 -140
- package/dist/cjs/functions/getPrice.d.ts +0 -13
- package/dist/cjs/functions/getPrice.js +0 -50
- package/dist/cjs/functions/getProfile.d.ts +0 -33
- package/dist/cjs/functions/getProfile.js +0 -346
- package/dist/cjs/functions/getRecords.d.ts +0 -33
- package/dist/cjs/functions/getRecords.js +0 -11
- package/dist/cjs/functions/getResolver.d.ts +0 -9
- package/dist/cjs/functions/getResolver.js +0 -24
- package/dist/cjs/functions/getSpecificRecord.d.ts +0 -73
- package/dist/cjs/functions/getSpecificRecord.js +0 -268
- package/dist/cjs/functions/getSubnames.d.ts +0 -26
- package/dist/cjs/functions/getSubnames.js +0 -154
- package/dist/cjs/functions/initialGetters.d.ts +0 -11
- package/dist/cjs/functions/initialGetters.js +0 -40
- package/dist/cjs/functions/setName.d.ts +0 -5
- package/dist/cjs/functions/setName.js +0 -12
- package/dist/cjs/functions/setRecord.d.ts +0 -18
- package/dist/cjs/functions/setRecord.js +0 -27
- package/dist/cjs/functions/setRecords.d.ts +0 -6
- package/dist/cjs/functions/setRecords.js +0 -24
- package/dist/cjs/functions/setResolver.d.ts +0 -5
- package/dist/cjs/functions/setResolver.js +0 -22
- package/dist/cjs/functions/transferName.d.ts +0 -6
- package/dist/cjs/functions/transferName.js +0 -29
- package/dist/cjs/functions/transferSubname.d.ts +0 -6
- package/dist/cjs/functions/transferSubname.js +0 -24
- package/dist/cjs/functions/unwrapName.d.ts +0 -5
- package/dist/cjs/functions/unwrapName.js +0 -23
- package/dist/cjs/functions/wrapName.d.ts +0 -8
- package/dist/cjs/functions/wrapName.js +0 -60
- package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +0 -487
- package/dist/cjs/generated/BaseRegistrarImplementation.js +0 -2
- package/dist/cjs/generated/DNSRegistrar.d.ts +0 -220
- package/dist/cjs/generated/DNSRegistrar.js +0 -2
- package/dist/cjs/generated/DNSSECImpl.d.ts +0 -402
- package/dist/cjs/generated/DNSSECImpl.js +0 -2
- package/dist/cjs/generated/DefaultReverseResolver.d.ts +0 -66
- package/dist/cjs/generated/DefaultReverseResolver.js +0 -2
- package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
- package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
- package/dist/cjs/generated/ENSRegistry.d.ts +0 -259
- package/dist/cjs/generated/ENSRegistry.js +0 -2
- package/dist/cjs/generated/ETHRegistrarController.d.ts +0 -319
- package/dist/cjs/generated/ETHRegistrarController.js +0 -2
- package/dist/cjs/generated/Multicall.d.ts +0 -292
- package/dist/cjs/generated/Multicall.js +0 -2
- package/dist/cjs/generated/NameWrapper.d.ts +0 -675
- package/dist/cjs/generated/NameWrapper.js +0 -2
- package/dist/cjs/generated/P256SHA256Algorithm.d.ts +0 -72
- package/dist/cjs/generated/P256SHA256Algorithm.js +0 -2
- package/dist/cjs/generated/PublicResolver.d.ts +0 -542
- package/dist/cjs/generated/PublicResolver.js +0 -2
- package/dist/cjs/generated/RSASHA1Algorithm.d.ts +0 -42
- package/dist/cjs/generated/RSASHA1Algorithm.js +0 -2
- package/dist/cjs/generated/RSASHA256Algorithm.d.ts +0 -42
- package/dist/cjs/generated/RSASHA256Algorithm.js +0 -2
- package/dist/cjs/generated/ReverseRegistrar.d.ts +0 -259
- package/dist/cjs/generated/ReverseRegistrar.js +0 -2
- package/dist/cjs/generated/Root.d.ts +0 -173
- package/dist/cjs/generated/Root.js +0 -2
- package/dist/cjs/generated/SHA1Digest.d.ts +0 -67
- package/dist/cjs/generated/SHA1Digest.js +0 -2
- package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +0 -72
- package/dist/cjs/generated/SHA1NSEC3Digest.js +0 -2
- package/dist/cjs/generated/SHA256Digest.d.ts +0 -67
- package/dist/cjs/generated/SHA256Digest.js +0 -2
- package/dist/cjs/generated/StaticMetadataService.d.ts +0 -42
- package/dist/cjs/generated/StaticMetadataService.js +0 -2
- package/dist/cjs/generated/TLDPublicSuffixList.d.ts +0 -42
- package/dist/cjs/generated/TLDPublicSuffixList.js +0 -2
- package/dist/cjs/generated/UniversalResolver.d.ts +0 -82
- package/dist/cjs/generated/UniversalResolver.js +0 -2
- package/dist/cjs/generated/common.d.ts +0 -21
- package/dist/cjs/generated/common.js +0 -2
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +0 -770
- package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +0 -79
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js +0 -296
- package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +0 -68
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js +0 -501
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +0 -87
- package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
- package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
- package/dist/cjs/generated/factories/ENSRegistry__factory.d.ts +0 -52
- package/dist/cjs/generated/factories/ENSRegistry__factory.js +0 -439
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.d.ts +0 -66
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +0 -511
- package/dist/cjs/generated/factories/Multicall__factory.d.ts +0 -42
- package/dist/cjs/generated/factories/Multicall__factory.js +0 -457
- package/dist/cjs/generated/factories/NameWrapper__factory.d.ts +0 -57
- package/dist/cjs/generated/factories/NameWrapper__factory.js +0 -1200
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +0 -71
- package/dist/cjs/generated/factories/PublicResolver__factory.d.ts +0 -46
- package/dist/cjs/generated/factories/PublicResolver__factory.js +0 -892
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +0 -71
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +0 -71
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +0 -340
- package/dist/cjs/generated/factories/Root__factory.d.ts +0 -52
- package/dist/cjs/generated/factories/Root__factory.js +0 -243
- package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +0 -34
- package/dist/cjs/generated/factories/SHA1Digest__factory.js +0 -66
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +0 -71
- package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +0 -34
- package/dist/cjs/generated/factories/SHA256Digest__factory.js +0 -66
- package/dist/cjs/generated/factories/StaticMetadataService__factory.d.ts +0 -32
- package/dist/cjs/generated/factories/StaticMetadataService__factory.js +0 -49
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +0 -61
- package/dist/cjs/generated/factories/UniversalResolver__factory.d.ts +0 -42
- package/dist/cjs/generated/factories/UniversalResolver__factory.js +0 -204
- package/dist/cjs/generated/factories/index.d.ts +0 -6
- package/dist/cjs/generated/factories/index.js +0 -18
- package/dist/cjs/generated/index.d.ts +0 -13
- package/dist/cjs/generated/index.js +0 -39
- package/dist/cjs/index.d.ts +0 -472
- package/dist/cjs/utils/contentHash.d.ts +0 -28
- package/dist/cjs/utils/createReverseNode.d.ts +0 -2
- package/dist/cjs/utils/createReverseNode.js +0 -3
- package/dist/cjs/utils/format.d.ts +0 -3
- package/dist/cjs/utils/fuses.d.ts +0 -20
- package/dist/cjs/utils/generateFuseInput.d.ts +0 -3
- package/dist/cjs/utils/generateFuseInput.js +0 -19
- package/dist/cjs/utils/hexEncodedName.d.ts +0 -1
- package/dist/cjs/utils/labels.d.ts +0 -14
- package/dist/cjs/utils/makeHashIndexes.d.ts +0 -2
- package/dist/cjs/utils/makeHashIndexes.js +0 -8
- package/dist/cjs/utils/normalise.d.ts +0 -2
- package/dist/cjs/utils/recordHelpers.d.ts +0 -16
- package/dist/cjs/utils/recordHelpers.js +0 -71
- package/dist/cjs/utils/registerHelpers.d.ts +0 -26
- package/dist/cjs/utils/singleCall.d.ts +0 -9
- package/dist/cjs/utils/singleCall.js +0 -7
- package/dist/cjs/utils/validation.d.ts +0 -8
- package/dist/cjs/utils/writeTx.d.ts +0 -4
- package/dist/cjs/utils/writeTx.js +0 -3
- package/dist/esm/GqlManager.d.ts +0 -9
- package/dist/esm/GqlManager.js +0 -74
- package/dist/esm/contracts/baseRegistrar.d.ts +0 -3
- package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
- package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
- package/dist/esm/contracts/ethRegistrarController.d.ts +0 -3
- package/dist/esm/contracts/getContractAddress.d.ts +0 -3
- package/dist/esm/contracts/getContractAddress.js +0 -42
- package/dist/esm/contracts/index.d.ts +0 -16
- package/dist/esm/contracts/multicall.d.ts +0 -3
- package/dist/esm/contracts/nameWrapper.d.ts +0 -3
- package/dist/esm/contracts/publicResolver.d.ts +0 -3
- package/dist/esm/contracts/registry.d.ts +0 -3
- package/dist/esm/contracts/reverseRegistrar.d.ts +0 -3
- package/dist/esm/contracts/types.d.ts +0 -2
- package/dist/esm/contracts/types.js +0 -1
- package/dist/esm/contracts/universalResolver.d.ts +0 -3
- package/dist/esm/functions/batch.d.ts +0 -9
- package/dist/esm/functions/batch.js +0 -19
- package/dist/esm/functions/batchWrappers.d.ts +0 -29
- package/dist/esm/functions/batchWrappers.js +0 -68
- package/dist/esm/functions/burnFuses.d.ts +0 -5
- package/dist/esm/functions/burnFuses.js +0 -8
- package/dist/esm/functions/createSubname.d.ts +0 -15
- package/dist/esm/functions/createSubname.js +0 -34
- package/dist/esm/functions/deleteSubname.d.ts +0 -4
- package/dist/esm/functions/deleteSubname.js +0 -6
- package/dist/esm/functions/getDNSOwner.d.ts +0 -7
- package/dist/esm/functions/getDNSOwner.js +0 -51
- package/dist/esm/functions/getExpiry.d.ts +0 -12
- package/dist/esm/functions/getExpiry.js +0 -43
- package/dist/esm/functions/getFuses.d.ts +0 -17
- package/dist/esm/functions/getFuses.js +0 -60
- package/dist/esm/functions/getHistory.d.ts +0 -54
- package/dist/esm/functions/getHistory.js +0 -273
- package/dist/esm/functions/getName.d.ts +0 -19
- package/dist/esm/functions/getName.js +0 -32
- package/dist/esm/functions/getNames.d.ts +0 -40
- package/dist/esm/functions/getNames.js +0 -220
- package/dist/esm/functions/getOwner.d.ts +0 -14
- package/dist/esm/functions/getOwner.js +0 -138
- package/dist/esm/functions/getPrice.d.ts +0 -13
- package/dist/esm/functions/getPrice.js +0 -48
- package/dist/esm/functions/getProfile.d.ts +0 -33
- package/dist/esm/functions/getProfile.js +0 -343
- package/dist/esm/functions/getRecords.d.ts +0 -33
- package/dist/esm/functions/getRecords.js +0 -8
- package/dist/esm/functions/getResolver.d.ts +0 -9
- package/dist/esm/functions/getResolver.js +0 -22
- package/dist/esm/functions/getSpecificRecord.d.ts +0 -73
- package/dist/esm/functions/getSpecificRecord.js +0 -265
- package/dist/esm/functions/getSubnames.d.ts +0 -26
- package/dist/esm/functions/getSubnames.js +0 -152
- package/dist/esm/functions/initialGetters.d.ts +0 -11
- package/dist/esm/functions/initialGetters.js +0 -11
- package/dist/esm/functions/setName.d.ts +0 -5
- package/dist/esm/functions/setName.js +0 -9
- package/dist/esm/functions/setRecord.d.ts +0 -18
- package/dist/esm/functions/setRecord.js +0 -24
- package/dist/esm/functions/setRecords.d.ts +0 -6
- package/dist/esm/functions/setRecords.js +0 -21
- package/dist/esm/functions/setResolver.d.ts +0 -5
- package/dist/esm/functions/setResolver.js +0 -19
- package/dist/esm/functions/transferName.d.ts +0 -6
- package/dist/esm/functions/transferName.js +0 -26
- package/dist/esm/functions/transferSubname.d.ts +0 -6
- package/dist/esm/functions/transferSubname.js +0 -21
- package/dist/esm/functions/unwrapName.d.ts +0 -5
- package/dist/esm/functions/unwrapName.js +0 -20
- package/dist/esm/functions/wrapName.d.ts +0 -8
- package/dist/esm/functions/wrapName.js +0 -54
- package/dist/esm/generated/BaseRegistrarImplementation.d.ts +0 -487
- package/dist/esm/generated/BaseRegistrarImplementation.js +0 -1
- package/dist/esm/generated/DNSRegistrar.d.ts +0 -220
- package/dist/esm/generated/DNSRegistrar.js +0 -1
- package/dist/esm/generated/DNSSECImpl.d.ts +0 -402
- package/dist/esm/generated/DNSSECImpl.js +0 -1
- package/dist/esm/generated/DefaultReverseResolver.d.ts +0 -66
- package/dist/esm/generated/DefaultReverseResolver.js +0 -1
- package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
- package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
- package/dist/esm/generated/ENSRegistry.d.ts +0 -259
- package/dist/esm/generated/ENSRegistry.js +0 -1
- package/dist/esm/generated/ETHRegistrarController.d.ts +0 -319
- package/dist/esm/generated/ETHRegistrarController.js +0 -1
- package/dist/esm/generated/Multicall.d.ts +0 -292
- package/dist/esm/generated/Multicall.js +0 -1
- package/dist/esm/generated/NameWrapper.d.ts +0 -675
- package/dist/esm/generated/NameWrapper.js +0 -1
- package/dist/esm/generated/P256SHA256Algorithm.d.ts +0 -72
- package/dist/esm/generated/P256SHA256Algorithm.js +0 -1
- package/dist/esm/generated/PublicResolver.d.ts +0 -542
- package/dist/esm/generated/PublicResolver.js +0 -1
- package/dist/esm/generated/RSASHA1Algorithm.d.ts +0 -42
- package/dist/esm/generated/RSASHA1Algorithm.js +0 -1
- package/dist/esm/generated/RSASHA256Algorithm.d.ts +0 -42
- package/dist/esm/generated/RSASHA256Algorithm.js +0 -1
- package/dist/esm/generated/ReverseRegistrar.d.ts +0 -259
- package/dist/esm/generated/ReverseRegistrar.js +0 -1
- package/dist/esm/generated/Root.d.ts +0 -173
- package/dist/esm/generated/Root.js +0 -1
- package/dist/esm/generated/SHA1Digest.d.ts +0 -67
- package/dist/esm/generated/SHA1Digest.js +0 -1
- package/dist/esm/generated/SHA1NSEC3Digest.d.ts +0 -72
- package/dist/esm/generated/SHA1NSEC3Digest.js +0 -1
- package/dist/esm/generated/SHA256Digest.d.ts +0 -67
- package/dist/esm/generated/SHA256Digest.js +0 -1
- package/dist/esm/generated/StaticMetadataService.d.ts +0 -42
- package/dist/esm/generated/StaticMetadataService.js +0 -1
- package/dist/esm/generated/TLDPublicSuffixList.d.ts +0 -42
- package/dist/esm/generated/TLDPublicSuffixList.js +0 -1
- package/dist/esm/generated/UniversalResolver.d.ts +0 -82
- package/dist/esm/generated/UniversalResolver.js +0 -1
- package/dist/esm/generated/common.d.ts +0 -21
- package/dist/esm/generated/common.js +0 -1
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.d.ts +0 -52
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.js +0 -766
- package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +0 -79
- package/dist/esm/generated/factories/DNSRegistrar__factory.js +0 -292
- package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +0 -68
- package/dist/esm/generated/factories/DNSSECImpl__factory.js +0 -497
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.d.ts +0 -36
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.js +0 -83
- package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
- package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
- package/dist/esm/generated/factories/ENSRegistry__factory.d.ts +0 -52
- package/dist/esm/generated/factories/ENSRegistry__factory.js +0 -435
- package/dist/esm/generated/factories/ETHRegistrarController__factory.d.ts +0 -66
- package/dist/esm/generated/factories/ETHRegistrarController__factory.js +0 -507
- package/dist/esm/generated/factories/Multicall__factory.d.ts +0 -42
- package/dist/esm/generated/factories/Multicall__factory.js +0 -453
- package/dist/esm/generated/factories/NameWrapper__factory.d.ts +0 -57
- package/dist/esm/generated/factories/NameWrapper__factory.js +0 -1196
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +0 -34
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +0 -67
- package/dist/esm/generated/factories/PublicResolver__factory.d.ts +0 -46
- package/dist/esm/generated/factories/PublicResolver__factory.js +0 -888
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +0 -34
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +0 -67
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +0 -34
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +0 -67
- package/dist/esm/generated/factories/ReverseRegistrar__factory.d.ts +0 -46
- package/dist/esm/generated/factories/ReverseRegistrar__factory.js +0 -336
- package/dist/esm/generated/factories/Root__factory.d.ts +0 -52
- package/dist/esm/generated/factories/Root__factory.js +0 -239
- package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +0 -34
- package/dist/esm/generated/factories/SHA1Digest__factory.js +0 -62
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +0 -34
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +0 -67
- package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +0 -34
- package/dist/esm/generated/factories/SHA256Digest__factory.js +0 -62
- package/dist/esm/generated/factories/StaticMetadataService__factory.d.ts +0 -32
- package/dist/esm/generated/factories/StaticMetadataService__factory.js +0 -45
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +0 -34
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +0 -57
- package/dist/esm/generated/factories/UniversalResolver__factory.d.ts +0 -42
- package/dist/esm/generated/factories/UniversalResolver__factory.js +0 -200
- package/dist/esm/generated/factories/index.d.ts +0 -6
- package/dist/esm/generated/factories/index.js +0 -9
- package/dist/esm/generated/index.d.ts +0 -13
- package/dist/esm/generated/index.js +0 -7
- package/dist/esm/index.d.ts +0 -472
- package/dist/esm/utils/contentHash.d.ts +0 -28
- package/dist/esm/utils/createReverseNode.d.ts +0 -2
- package/dist/esm/utils/createReverseNode.js +0 -1
- package/dist/esm/utils/format.d.ts +0 -3
- package/dist/esm/utils/fuses.d.ts +0 -20
- package/dist/esm/utils/generateFuseInput.d.ts +0 -3
- package/dist/esm/utils/generateFuseInput.js +0 -14
- package/dist/esm/utils/hexEncodedName.d.ts +0 -1
- package/dist/esm/utils/labels.d.ts +0 -14
- package/dist/esm/utils/makeHashIndexes.d.ts +0 -2
- package/dist/esm/utils/makeHashIndexes.js +0 -3
- package/dist/esm/utils/normalise.d.ts +0 -2
- package/dist/esm/utils/recordHelpers.d.ts +0 -16
- package/dist/esm/utils/recordHelpers.js +0 -65
- package/dist/esm/utils/registerHelpers.d.ts +0 -26
- package/dist/esm/utils/singleCall.d.ts +0 -9
- package/dist/esm/utils/singleCall.js +0 -5
- package/dist/esm/utils/validation.d.ts +0 -8
- package/dist/esm/utils/writeTx.d.ts +0 -4
- package/dist/esm/utils/writeTx.js +0 -1
- package/src/@types/FuseOptions.d.ts +0 -9
- package/src/@types/idna-uts46-hx.d.ts +0 -1
- package/src/ABIs/ETHRegistrarController.json +0 -494
- package/src/ABIs/NameWrapper.json +0 -1183
- package/src/ABIs/PublicResolver.json +0 -875
- package/src/ABIs/ReverseRegistrar.json +0 -323
- package/src/ABIs/StaticMetadataService.json +0 -32
- package/src/ABIs/UniversalResolver.json +0 -187
- package/src/GqlManager.test.ts +0 -170
- package/src/GqlManager.ts +0 -83
- package/src/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
- package/src/contracts/getContractAddress.ts +0 -52
- package/src/contracts/types.ts +0 -11
- package/src/functions/batch.test.ts +0 -36
- package/src/functions/batch.ts +0 -36
- package/src/functions/batchWrappers.test.ts +0 -31
- package/src/functions/batchWrappers.ts +0 -91
- package/src/functions/burnFuses.test.ts +0 -45
- package/src/functions/burnFuses.ts +0 -21
- package/src/functions/createSubname.test.ts +0 -55
- package/src/functions/createSubname.ts +0 -76
- package/src/functions/deleteSubname.test.ts +0 -72
- package/src/functions/deleteSubname.ts +0 -16
- package/src/functions/getDNSOwner.test.ts +0 -122
- package/src/functions/getDNSOwner.ts +0 -61
- package/src/functions/getExpiry.test.ts +0 -37
- package/src/functions/getExpiry.ts +0 -63
- package/src/functions/getFuses.test.ts +0 -105
- package/src/functions/getFuses.ts +0 -76
- package/src/functions/getHistory.test.ts +0 -101
- package/src/functions/getHistory.ts +0 -347
- package/src/functions/getName.test.ts +0 -47
- package/src/functions/getName.ts +0 -41
- package/src/functions/getNames.test.ts +0 -247
- package/src/functions/getNames.ts +0 -275
- package/src/functions/getOwner.test.ts +0 -73
- package/src/functions/getOwner.ts +0 -202
- package/src/functions/getPrice.ts +0 -71
- package/src/functions/getProfile.test.ts +0 -135
- package/src/functions/getProfile.ts +0 -606
- package/src/functions/getRecords.ts +0 -23
- package/src/functions/getResolver.test.ts +0 -19
- package/src/functions/getResolver.ts +0 -32
- package/src/functions/getSpecificRecord.test.ts +0 -76
- package/src/functions/getSpecificRecord.ts +0 -365
- package/src/functions/getSubnames.test.ts +0 -31
- package/src/functions/getSubnames.ts +0 -190
- package/src/functions/initialGetters.ts +0 -11
- package/src/functions/makeCommitment.test.ts +0 -23
- package/src/functions/normalise.test.ts +0 -22
- package/src/functions/setName.test.ts +0 -59
- package/src/functions/setName.ts +0 -32
- package/src/functions/setRecord.test.ts +0 -100
- package/src/functions/setRecord.ts +0 -63
- package/src/functions/setRecords.test.ts +0 -60
- package/src/functions/setRecords.ts +0 -44
- package/src/functions/setResolver.test.ts +0 -57
- package/src/functions/setResolver.ts +0 -35
- package/src/functions/transferName.test.ts +0 -79
- package/src/functions/transferName.ts +0 -53
- package/src/functions/transferSubname.test.ts +0 -74
- package/src/functions/transferSubname.ts +0 -45
- package/src/functions/unwrapName.test.ts +0 -68
- package/src/functions/unwrapName.ts +0 -43
- package/src/functions/wrapName.test.ts +0 -67
- package/src/functions/wrapName.ts +0 -126
- package/src/generated/BaseRegistrarImplementation.ts +0 -1122
- package/src/generated/DNSRegistrar.ts +0 -445
- package/src/generated/DNSSECImpl.ts +0 -770
- package/src/generated/DefaultReverseResolver.ts +0 -137
- package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
- package/src/generated/ENSRegistry.ts +0 -618
- package/src/generated/ETHRegistrarController.ts +0 -743
- package/src/generated/Multicall.ts +0 -582
- package/src/generated/NameWrapper.ts +0 -1694
- package/src/generated/P256SHA256Algorithm.ts +0 -139
- package/src/generated/PublicResolver.ts +0 -1326
- package/src/generated/RSASHA1Algorithm.ts +0 -109
- package/src/generated/RSASHA256Algorithm.ts +0 -109
- package/src/generated/ReverseRegistrar.ts +0 -556
- package/src/generated/Root.ts +0 -377
- package/src/generated/SHA1Digest.ts +0 -129
- package/src/generated/SHA1NSEC3Digest.ts +0 -140
- package/src/generated/SHA256Digest.ts +0 -129
- package/src/generated/StaticMetadataService.ts +0 -85
- package/src/generated/TLDPublicSuffixList.ts +0 -99
- package/src/generated/UniversalResolver.ts +0 -260
- package/src/generated/common.ts +0 -44
- package/src/generated/factories/BaseRegistrarImplementation__factory.ts +0 -781
- package/src/generated/factories/DNSRegistrar__factory.ts +0 -329
- package/src/generated/factories/DNSSECImpl__factory.ts +0 -527
- package/src/generated/factories/DefaultReverseResolver__factory.ts +0 -98
- package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
- package/src/generated/factories/ENSRegistry__factory.ts +0 -443
- package/src/generated/factories/ETHRegistrarController__factory.ts +0 -522
- package/src/generated/factories/Multicall__factory.ts +0 -461
- package/src/generated/factories/NameWrapper__factory.ts +0 -1204
- package/src/generated/factories/P256SHA256Algorithm__factory.ts +0 -91
- package/src/generated/factories/PublicResolver__factory.ts +0 -899
- package/src/generated/factories/RSASHA1Algorithm__factory.ts +0 -91
- package/src/generated/factories/RSASHA256Algorithm__factory.ts +0 -91
- package/src/generated/factories/ReverseRegistrar__factory.ts +0 -347
- package/src/generated/factories/Root__factory.ts +0 -244
- package/src/generated/factories/SHA1Digest__factory.ts +0 -83
- package/src/generated/factories/SHA1NSEC3Digest__factory.ts +0 -91
- package/src/generated/factories/SHA256Digest__factory.ts +0 -83
- package/src/generated/factories/StaticMetadataService__factory.ts +0 -60
- package/src/generated/factories/TLDPublicSuffixList__factory.ts +0 -81
- package/src/generated/factories/UniversalResolver__factory.ts +0 -211
- package/src/generated/factories/index.ts +0 -9
- package/src/generated/index.ts +0 -16
- package/src/tests/populateTransaction.test.ts +0 -40
- package/src/tests/setup.ts +0 -53
- package/src/tests/signerInjection.test.ts +0 -46
- package/src/tests/withProvider.test.ts +0 -28
- package/src/utils/createReverseNode.ts +0 -2
- package/src/utils/generateFuseInput.ts +0 -18
- package/src/utils/makeHashIndexes.ts +0 -9
- package/src/utils/recordHelpers.ts +0 -106
- package/src/utils/singleCall.ts +0 -16
- package/src/utils/writeTx.ts +0 -6
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
2
|
+
import _getAddr, {} from './_getAddr.js';
|
|
3
|
+
import universalWrapper from './universalWrapper.js';
|
|
4
|
+
const encode = (client, { name, coin }) => {
|
|
5
|
+
const prData = _getAddr.encode(client, { name, coin });
|
|
6
|
+
return universalWrapper.encode(client, { name, data: prData.data });
|
|
7
|
+
};
|
|
8
|
+
const decode = async (client, data, passthrough, args) => {
|
|
9
|
+
const urData = await universalWrapper.decode(client, data, passthrough);
|
|
10
|
+
return _getAddr.decode(client, urData.data, args);
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Gets an address record for a name and specified coin
|
|
14
|
+
* @param client - {@link ClientWithEns}
|
|
15
|
+
* @param parameters - {@link GetAddressRecordParameters}
|
|
16
|
+
* @returns Coin value object, or `null` if not found. {@link GetAddressRecordReturnType}
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* import { createPublicClient, http } from 'viem'
|
|
20
|
+
* import { mainnet } from 'viem/chains'
|
|
21
|
+
* import { addEnsContracts, getAddressRecord } from '@ensdomains/ensjs'
|
|
22
|
+
*
|
|
23
|
+
* const client = createPublicClient({
|
|
24
|
+
* chain: addEnsContracts(mainnet),
|
|
25
|
+
* transport: http(),
|
|
26
|
+
* })
|
|
27
|
+
* const result = await getAddressRecord(client, { name: 'ens.eth', coin: 'ETH' })
|
|
28
|
+
* // { id: 60, name: 'ETH , value: '0xFe89cc7aBB2C4183683ab71653C4cdc9B02D44b7' }
|
|
29
|
+
*/
|
|
30
|
+
const getAddressRecord = generateFunction({ encode, decode });
|
|
31
|
+
export default getAddressRecord;
|
|
32
|
+
//# sourceMappingURL=getAddressRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAddressRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getAddressRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,QAAQ,EAAE,EAGhB,MAAM,eAAe,CAAA;AACtB,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAMpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAAE,IAAI,EAA8B,EAChB,EAAE;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAS,EACT,WAA+B,EAC/B,IAAgC,EACK,EAAE;IACvC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACvE,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACnD,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAInC,CAAA;AAEzB,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BaseError, decodeFunctionResult, encodeFunctionData, labelhash, } from 'viem';
|
|
2
|
+
import { baseRegistrarAvailableSnippet } from '../../contracts/baseRegistrar.js';
|
|
3
|
+
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
|
|
4
|
+
import { UnsupportedNameTypeError } from '../../errors/general.js';
|
|
5
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
6
|
+
import { getNameType } from '../../utils/getNameType.js';
|
|
7
|
+
const encode = (client, { name }) => {
|
|
8
|
+
const labels = name.split('.');
|
|
9
|
+
const nameType = getNameType(name);
|
|
10
|
+
if (nameType !== 'eth-2ld')
|
|
11
|
+
throw new UnsupportedNameTypeError({
|
|
12
|
+
nameType,
|
|
13
|
+
supportedNameTypes: ['eth-2ld'],
|
|
14
|
+
details: 'Currently only eth-2ld names can be checked for availability',
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
to: getChainContractAddress({
|
|
18
|
+
client,
|
|
19
|
+
contract: 'ensBaseRegistrarImplementation',
|
|
20
|
+
}),
|
|
21
|
+
data: encodeFunctionData({
|
|
22
|
+
abi: baseRegistrarAvailableSnippet,
|
|
23
|
+
functionName: 'available',
|
|
24
|
+
args: [BigInt(labelhash(labels[0]))],
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const decode = async (_client, data) => {
|
|
29
|
+
if (typeof data === 'object')
|
|
30
|
+
throw data;
|
|
31
|
+
const result = decodeFunctionResult({
|
|
32
|
+
abi: baseRegistrarAvailableSnippet,
|
|
33
|
+
functionName: 'available',
|
|
34
|
+
data,
|
|
35
|
+
});
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Gets the availability of a name to register
|
|
40
|
+
* @param client - {@link ClientWithEns}
|
|
41
|
+
* @param parameters - {@link GetAvailableParameters}
|
|
42
|
+
* @returns Availability as boolean. {@link GetAvailableReturnType}
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* import { createPublicClient, http } from 'viem'
|
|
46
|
+
* import { mainnet } from 'viem/chains'
|
|
47
|
+
* import { addEnsContracts, getAvailable } from '@ensdomains/ensjs'
|
|
48
|
+
*
|
|
49
|
+
* const client = createPublicClient({
|
|
50
|
+
* chain: addEnsContracts(mainnet),
|
|
51
|
+
* transport: http(),
|
|
52
|
+
* })
|
|
53
|
+
* const result = await getAvailable(client, { name: 'ens.eth' })
|
|
54
|
+
* // false
|
|
55
|
+
*/
|
|
56
|
+
const getAvailable = generateFunction({ encode, decode });
|
|
57
|
+
export default getAvailable;
|
|
58
|
+
//# sourceMappingURL=getAvailable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAvailable.js","sourceRoot":"","sources":["../../../../src/functions/public/getAvailable.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GAEV,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AASxD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAA0B,EACN,EAAE;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,QAAQ,KAAK,SAAS;QACxB,MAAM,IAAI,wBAAwB,CAAC;YACjC,QAAQ;YACR,kBAAkB,EAAE,CAAC,SAAS,CAAC;YAC/B,OAAO,EAAE,8DAA8D;SACxE,CAAC,CAAA;IAEJ,OAAO;QACL,EAAE,EAAE,uBAAuB,CAAC;YAC1B,MAAM;YACN,QAAQ,EAAE,gCAAgC;SAC3C,CAAC;QACF,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,6BAA6B;YAClC,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAqB,EACY,EAAE;IACnC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,CAAA;IACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,GAAG,EAAE,6BAA6B;QAClC,YAAY,EAAE,WAAW;QACzB,IAAI;KACL,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAI/B,CAAA;AAEzB,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
2
|
+
import _getContentHash, {} from './_getContentHash.js';
|
|
3
|
+
import universalWrapper from './universalWrapper.js';
|
|
4
|
+
const encode = (client, { name }) => {
|
|
5
|
+
const prData = _getContentHash.encode(client, { name });
|
|
6
|
+
return universalWrapper.encode(client, { name, data: prData.data });
|
|
7
|
+
};
|
|
8
|
+
const decode = async (client, data, passthrough) => {
|
|
9
|
+
const urData = await universalWrapper.decode(client, data, passthrough);
|
|
10
|
+
return _getContentHash.decode(client, urData.data);
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Gets the content hash record for a name
|
|
14
|
+
* @param client - {@link ClientWithEns}
|
|
15
|
+
* @param parameters - {@link GetContentHashRecordParameters}
|
|
16
|
+
* @returns Content hash object, or `null` if not found. {@link GetContentHashRecordReturnType}
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* import { createPublicClient, http } from 'viem'
|
|
20
|
+
* import { mainnet } from 'viem/chains'
|
|
21
|
+
* import { addEnsContracts, getContentHashRecord } from '@ensdomains/ensjs'
|
|
22
|
+
*
|
|
23
|
+
* const client = createPublicClient({
|
|
24
|
+
* chain: addEnsContracts(mainnet),
|
|
25
|
+
* transport: http(),
|
|
26
|
+
* })
|
|
27
|
+
* const result = await getContentHashRecord(client, { name: 'ens.eth' })
|
|
28
|
+
* // { protocolType: 'ipfs', decoded: 'k51qzi5uqu5djdczd6zw0grmo23j2vkj9uzvujencg15s5rlkq0ss4ivll8wqw' }
|
|
29
|
+
*/
|
|
30
|
+
const getContentHashRecord = generateFunction({ encode, decode });
|
|
31
|
+
export default getContentHashRecord;
|
|
32
|
+
//# sourceMappingURL=getContentHashRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getContentHashRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getContentHashRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,eAAe,EAAE,EAGvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAQpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAAkC,EACL,EAAE;IACrC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACvD,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAqB,EACrB,WAA+B,EACU,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACvE,OAAO,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAIvC,CAAA;AAEzB,eAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { BaseError, decodeFunctionResult, encodeFunctionData, labelhash, } from 'viem';
|
|
2
|
+
import { baseRegistrarGracePeriodSnippet, baseRegistrarNameExpiresSnippet, } from '../../contracts/baseRegistrar.js';
|
|
3
|
+
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
|
|
4
|
+
import { multicallGetCurrentBlockTimestampSnippet } from '../../contracts/multicall.js';
|
|
5
|
+
import { nameWrapperGetDataSnippet } from '../../contracts/nameWrapper.js';
|
|
6
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
7
|
+
import { makeSafeSecondsDate } from '../../utils/makeSafeSecondsDate.js';
|
|
8
|
+
import { namehash } from '../../utils/normalise.js';
|
|
9
|
+
import { checkIsDotEth } from '../../utils/validation.js';
|
|
10
|
+
import multicallWrapper from './multicallWrapper.js';
|
|
11
|
+
const getContractToUse = (contract, labels) => {
|
|
12
|
+
if (contract)
|
|
13
|
+
return contract;
|
|
14
|
+
if (checkIsDotEth(labels)) {
|
|
15
|
+
return 'registrar';
|
|
16
|
+
}
|
|
17
|
+
return 'nameWrapper';
|
|
18
|
+
};
|
|
19
|
+
const encode = (client, { name, contract }) => {
|
|
20
|
+
const labels = name.split('.');
|
|
21
|
+
const contractToUse = getContractToUse(contract, labels);
|
|
22
|
+
const calls = [
|
|
23
|
+
{
|
|
24
|
+
to: getChainContractAddress({ client, contract: 'multicall3' }),
|
|
25
|
+
data: encodeFunctionData({
|
|
26
|
+
abi: multicallGetCurrentBlockTimestampSnippet,
|
|
27
|
+
functionName: 'getCurrentBlockTimestamp',
|
|
28
|
+
}),
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
if (contractToUse === 'nameWrapper') {
|
|
32
|
+
calls.push({
|
|
33
|
+
to: getChainContractAddress({ client, contract: 'ensNameWrapper' }),
|
|
34
|
+
data: encodeFunctionData({
|
|
35
|
+
abi: nameWrapperGetDataSnippet,
|
|
36
|
+
functionName: 'getData',
|
|
37
|
+
args: [BigInt(namehash(labels.join('.')))],
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const baseRegistrarImplementationAddress = getChainContractAddress({
|
|
43
|
+
client,
|
|
44
|
+
contract: 'ensBaseRegistrarImplementation',
|
|
45
|
+
});
|
|
46
|
+
calls.push({
|
|
47
|
+
to: baseRegistrarImplementationAddress,
|
|
48
|
+
data: encodeFunctionData({
|
|
49
|
+
abi: baseRegistrarNameExpiresSnippet,
|
|
50
|
+
functionName: 'nameExpires',
|
|
51
|
+
args: [BigInt(labelhash(labels[0]))],
|
|
52
|
+
}),
|
|
53
|
+
});
|
|
54
|
+
calls.push({
|
|
55
|
+
to: baseRegistrarImplementationAddress,
|
|
56
|
+
data: encodeFunctionData({
|
|
57
|
+
abi: baseRegistrarGracePeriodSnippet,
|
|
58
|
+
functionName: 'GRACE_PERIOD',
|
|
59
|
+
}),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return multicallWrapper.encode(client, { transactions: calls });
|
|
63
|
+
};
|
|
64
|
+
const decode = async (client, data, { name, contract }) => {
|
|
65
|
+
if (typeof data === 'object')
|
|
66
|
+
throw data;
|
|
67
|
+
const labels = name.split('.');
|
|
68
|
+
const result = await multicallWrapper.decode(client, data, []);
|
|
69
|
+
const blockTimestamp = decodeFunctionResult({
|
|
70
|
+
abi: multicallGetCurrentBlockTimestampSnippet,
|
|
71
|
+
functionName: 'getCurrentBlockTimestamp',
|
|
72
|
+
data: result[0].returnData,
|
|
73
|
+
});
|
|
74
|
+
const contractToUse = getContractToUse(contract, labels);
|
|
75
|
+
let expiry;
|
|
76
|
+
let gracePeriod = 0n;
|
|
77
|
+
if (contractToUse === 'nameWrapper') {
|
|
78
|
+
;
|
|
79
|
+
[, , expiry] = decodeFunctionResult({
|
|
80
|
+
abi: nameWrapperGetDataSnippet,
|
|
81
|
+
functionName: 'getData',
|
|
82
|
+
data: result[1].returnData,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
expiry = decodeFunctionResult({
|
|
87
|
+
abi: baseRegistrarNameExpiresSnippet,
|
|
88
|
+
functionName: 'nameExpires',
|
|
89
|
+
data: result[1].returnData,
|
|
90
|
+
});
|
|
91
|
+
gracePeriod = decodeFunctionResult({
|
|
92
|
+
abi: baseRegistrarGracePeriodSnippet,
|
|
93
|
+
functionName: 'GRACE_PERIOD',
|
|
94
|
+
data: result[2].returnData,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (expiry === 0n) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
let status = 'active';
|
|
101
|
+
if (blockTimestamp > expiry + gracePeriod) {
|
|
102
|
+
status = 'expired';
|
|
103
|
+
}
|
|
104
|
+
else if (blockTimestamp > expiry) {
|
|
105
|
+
status = 'gracePeriod';
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
expiry: {
|
|
109
|
+
date: makeSafeSecondsDate(expiry),
|
|
110
|
+
value: expiry,
|
|
111
|
+
},
|
|
112
|
+
gracePeriod: Number(gracePeriod),
|
|
113
|
+
status,
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Gets the expiry for a name
|
|
118
|
+
* @param client - {@link ClientWithEns}
|
|
119
|
+
* @param parameters - {@link GetExpiryParameters}
|
|
120
|
+
* @returns Expiry object, or `null` if no expiry. {@link GetExpiryReturnType}
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* import { createPublicClient, http } from 'viem'
|
|
124
|
+
* import { mainnet } from 'viem/chains'
|
|
125
|
+
* import { addEnsContracts, getExpiry } from '@ensdomains/ensjs'
|
|
126
|
+
*
|
|
127
|
+
* const client = createPublicClient({
|
|
128
|
+
* chain: addEnsContracts(mainnet),
|
|
129
|
+
* transport: http(),
|
|
130
|
+
* })
|
|
131
|
+
* const result = await getExpiry(client, { name: 'ens.eth' })
|
|
132
|
+
* // { expiry: { date: Date, value: 1913933217n }, gracePeriod: 7776000, status: 'active' }
|
|
133
|
+
*/
|
|
134
|
+
const getExpiry = generateFunction({ encode, decode });
|
|
135
|
+
export default getExpiry;
|
|
136
|
+
//# sourceMappingURL=getExpiry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExpiry.js","sourceRoot":"","sources":["../../../../src/functions/public/getExpiry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { BaseError, decodeErrorResult, decodeFunctionResult, encodeFunctionData, getContractError, toHex, } from 'viem';
|
|
2
|
+
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
|
|
3
|
+
import { universalResolverReverseSnippet } from '../../contracts/universalResolver.js';
|
|
4
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
5
|
+
import { getRevertErrorData } from '../../utils/getRevertErrorData.js';
|
|
6
|
+
import { packetToBytes } from '../../utils/hexEncodedName.js';
|
|
7
|
+
const encode = (client, { address }) => {
|
|
8
|
+
const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
|
|
9
|
+
const to = getChainContractAddress({
|
|
10
|
+
client,
|
|
11
|
+
contract: 'ensUniversalResolver',
|
|
12
|
+
});
|
|
13
|
+
const args = [toHex(packetToBytes(reverseNode))];
|
|
14
|
+
return {
|
|
15
|
+
to,
|
|
16
|
+
data: encodeFunctionData({
|
|
17
|
+
abi: universalResolverReverseSnippet,
|
|
18
|
+
functionName: 'reverse',
|
|
19
|
+
args,
|
|
20
|
+
}),
|
|
21
|
+
passthrough: { address, args },
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
const decode = async (_client, data, passthrough, { address }) => {
|
|
25
|
+
if (typeof data === 'object') {
|
|
26
|
+
const errorData = getRevertErrorData(data);
|
|
27
|
+
if (errorData) {
|
|
28
|
+
const decodedError = decodeErrorResult({
|
|
29
|
+
abi: universalResolverReverseSnippet,
|
|
30
|
+
data: errorData,
|
|
31
|
+
});
|
|
32
|
+
if (decodedError.errorName === 'ResolverNotFound' ||
|
|
33
|
+
decodedError.errorName === 'ResolverWildcardNotSupported')
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
throw getContractError(data, {
|
|
37
|
+
abi: universalResolverReverseSnippet,
|
|
38
|
+
functionName: 'reverse',
|
|
39
|
+
args: passthrough.args,
|
|
40
|
+
address: passthrough.address,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const result = decodeFunctionResult({
|
|
44
|
+
abi: universalResolverReverseSnippet,
|
|
45
|
+
functionName: 'reverse',
|
|
46
|
+
data,
|
|
47
|
+
});
|
|
48
|
+
if (!result[0])
|
|
49
|
+
return null;
|
|
50
|
+
return {
|
|
51
|
+
name: result[0],
|
|
52
|
+
match: result[1].toLowerCase() === address.toLowerCase(),
|
|
53
|
+
reverseResolverAddress: result[2],
|
|
54
|
+
resolverAddress: result[3],
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Gets the primary name for an address
|
|
59
|
+
* @param client - {@link ClientWithEns}
|
|
60
|
+
* @param parameters - {@link GetNameParameters}
|
|
61
|
+
* @returns Name data object, or `null` if no primary name is set. {@link GetNameReturnType}
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* import { createPublicClient, http } from 'viem'
|
|
65
|
+
* import { mainnet } from 'viem/chains'
|
|
66
|
+
* import { addEnsContracts, getName } from '@ensdomains/ensjs'
|
|
67
|
+
*
|
|
68
|
+
* const client = createPublicClient({
|
|
69
|
+
* chain: addEnsContracts(mainnet),
|
|
70
|
+
* transport: http(),
|
|
71
|
+
* })
|
|
72
|
+
* const result = await getName(client, { address: '0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5' })
|
|
73
|
+
* // { name: 'nick.eth', match: true, reverseResolverAddress: '0xa2c122be93b0074270ebee7f6b7292c7deb45047', resolverAddress: '0x4976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41' }
|
|
74
|
+
*/
|
|
75
|
+
const getName = generateFunction({ encode, decode });
|
|
76
|
+
export default getName;
|
|
77
|
+
//# sourceMappingURL=getName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getName.js","sourceRoot":"","sources":["../../../../src/functions/public/getName.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,GAGN,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAKtF,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAkB7D,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,OAAO,EAAqB,EACK,EAAE;IACrC,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAA;IACxE,MAAM,EAAE,GAAG,uBAAuB,CAAC;QACjC,MAAM;QACN,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAU,CAAA;IACzD,OAAO;QACL,EAAE;QACF,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,+BAA+B;YACpC,YAAY,EAAE,SAAS;YACvB,IAAI;SACL,CAAC;QACF,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC/B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAqB,EACrB,WAA+B,EAC/B,EAAE,OAAO,EAAqB,EACK,EAAE;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,SAAS,EAAE;YACb,MAAM,YAAY,GAAG,iBAAiB,CAAC;gBACrC,GAAG,EAAE,+BAA+B;gBACpC,IAAI,EAAE,SAAS;aAChB,CAAC,CAAA;YACF,IACE,YAAY,CAAC,SAAS,KAAK,kBAAkB;gBAC7C,YAAY,CAAC,SAAS,KAAK,8BAA8B;gBAEzD,OAAO,IAAI,CAAA;SACd;QACD,MAAM,gBAAgB,CAAC,IAAI,EAAE;YAC3B,GAAG,EAAE,+BAA+B;YACpC,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B,CAAC,CAAA;KACH;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC;QAClC,GAAG,EAAE,+BAA+B;QACpC,YAAY,EAAE,SAAS;QACvB,IAAI;KACL,CAAC,CAAA;IACF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3B,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE;QACxD,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;KAC3B,CAAA;AACH,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAI1B,CAAA;AAEzB,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { BaseError, decodeAbiParameters } from 'viem';
|
|
2
|
+
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
|
|
3
|
+
import { EMPTY_ADDRESS } from '../../utils/consts.js';
|
|
4
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
5
|
+
import { namehash as makeNamehash } from '../../utils/normalise.js';
|
|
6
|
+
import { ownerFromContract, } from '../../utils/ownerFromContract.js';
|
|
7
|
+
import { checkIsDotEth } from '../../utils/validation.js';
|
|
8
|
+
import multicallWrapper from './multicallWrapper.js';
|
|
9
|
+
const encode = (client, { name, contract }) => {
|
|
10
|
+
const namehash = makeNamehash(name);
|
|
11
|
+
const labels = name.split('.');
|
|
12
|
+
if (contract || labels.length === 1) {
|
|
13
|
+
return ownerFromContract({
|
|
14
|
+
client,
|
|
15
|
+
contract: contract || 'registry',
|
|
16
|
+
namehash,
|
|
17
|
+
labels,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const registryData = ownerFromContract({
|
|
21
|
+
client,
|
|
22
|
+
contract: 'registry',
|
|
23
|
+
namehash,
|
|
24
|
+
});
|
|
25
|
+
const nameWrapperData = ownerFromContract({
|
|
26
|
+
client,
|
|
27
|
+
contract: 'nameWrapper',
|
|
28
|
+
namehash,
|
|
29
|
+
});
|
|
30
|
+
const data = [registryData, nameWrapperData];
|
|
31
|
+
if (checkIsDotEth(labels)) {
|
|
32
|
+
data.push(ownerFromContract({ client, contract: 'registrar', labels }));
|
|
33
|
+
}
|
|
34
|
+
return multicallWrapper.encode(client, { transactions: data });
|
|
35
|
+
};
|
|
36
|
+
const addressDecode = (data) => decodeAbiParameters([{ type: 'address' }], data)[0];
|
|
37
|
+
const decode = async (client, data, { name, contract }) => {
|
|
38
|
+
if (typeof data === 'object')
|
|
39
|
+
throw data;
|
|
40
|
+
const labels = name.split('.');
|
|
41
|
+
if (contract || labels.length === 1) {
|
|
42
|
+
const singleOwner = addressDecode(data);
|
|
43
|
+
if (contract === 'registrar') {
|
|
44
|
+
return {
|
|
45
|
+
ownershipLevel: 'registrar',
|
|
46
|
+
registrant: singleOwner,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
ownershipLevel: contract || 'registry',
|
|
51
|
+
owner: singleOwner,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const result = await multicallWrapper.decode(client, data, []);
|
|
55
|
+
const [registryOwner, nameWrapperOwner, registrarOwner] = [
|
|
56
|
+
result[0].returnData,
|
|
57
|
+
result[1].returnData,
|
|
58
|
+
result[2]?.returnData,
|
|
59
|
+
].map((ret) => (ret && ret !== '0x' ? addressDecode(ret) : undefined));
|
|
60
|
+
const nameWrapperAddress = getChainContractAddress({
|
|
61
|
+
client,
|
|
62
|
+
contract: 'ensNameWrapper',
|
|
63
|
+
});
|
|
64
|
+
// check for only .eth names
|
|
65
|
+
if (labels[labels.length - 1] === 'eth') {
|
|
66
|
+
// if the owner on the registrar is the namewrapper, then the namewrapper owner is the owner
|
|
67
|
+
// there is no "registrant" for wrapped names
|
|
68
|
+
if (registrarOwner === nameWrapperAddress) {
|
|
69
|
+
return {
|
|
70
|
+
owner: nameWrapperOwner,
|
|
71
|
+
ownershipLevel: 'nameWrapper',
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// if there is a registrar owner, then it's not a subdomain but we have also passed the namewrapper clause
|
|
75
|
+
// this means that it's an unwrapped second-level name
|
|
76
|
+
// the registrant is the owner of the NFT
|
|
77
|
+
// the owner is the controller of the records
|
|
78
|
+
if (registrarOwner) {
|
|
79
|
+
return {
|
|
80
|
+
registrant: registrarOwner,
|
|
81
|
+
owner: registryOwner,
|
|
82
|
+
ownershipLevel: 'registrar',
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
if (registryOwner !== EMPTY_ADDRESS) {
|
|
86
|
+
// if there is no registrar owner, but the label length is two, then the domain is an expired 2LD .eth
|
|
87
|
+
// so we still want to return the ownership values
|
|
88
|
+
if (labels.length === 2) {
|
|
89
|
+
return {
|
|
90
|
+
registrant: null,
|
|
91
|
+
owner: registryOwner,
|
|
92
|
+
ownershipLevel: 'registrar',
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
// this means that the subname is wrapped
|
|
96
|
+
if (registryOwner === nameWrapperAddress &&
|
|
97
|
+
nameWrapperOwner &&
|
|
98
|
+
nameWrapperOwner !== EMPTY_ADDRESS) {
|
|
99
|
+
return {
|
|
100
|
+
owner: nameWrapperOwner,
|
|
101
|
+
ownershipLevel: 'nameWrapper',
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// unwrapped subnames do not have NFTs associated, so do not have a registrant
|
|
105
|
+
return {
|
|
106
|
+
owner: registryOwner,
|
|
107
|
+
ownershipLevel: 'registry',
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// .eth names with no registrar owner are either unregistered or expired
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
// non .eth names inherit the owner from the registry
|
|
114
|
+
// there will only ever be an owner for non .eth names, not a registrant
|
|
115
|
+
// this is because for unwrapped names, there is no associated NFT
|
|
116
|
+
// and for wrapped names, owner and registrant are the same thing
|
|
117
|
+
if (registryOwner === nameWrapperAddress &&
|
|
118
|
+
nameWrapperOwner &&
|
|
119
|
+
nameWrapperOwner !== EMPTY_ADDRESS) {
|
|
120
|
+
return {
|
|
121
|
+
owner: nameWrapperOwner,
|
|
122
|
+
ownershipLevel: 'nameWrapper',
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// for unwrapped non .eth names, the owner is the registry owner
|
|
126
|
+
if (registryOwner && registryOwner !== EMPTY_ADDRESS) {
|
|
127
|
+
return {
|
|
128
|
+
owner: registryOwner,
|
|
129
|
+
ownershipLevel: 'registry',
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// for anything else, return
|
|
133
|
+
return null;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Gets the owner(s) of a name.
|
|
137
|
+
* @param client - {@link ClientWithEns}
|
|
138
|
+
* @param parameters - {@link GetOwnerParameters}
|
|
139
|
+
* @returns Owner data object, or `null` if no owners exist. {@link GetOwnerReturnType}
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* import { createPublicClient, http } from 'viem'
|
|
143
|
+
* import { mainnet } from 'viem/chains'
|
|
144
|
+
* import { addEnsContracts, getOwner } from '@ensdomains/ensjs'
|
|
145
|
+
*
|
|
146
|
+
* const client = createPublicClient({
|
|
147
|
+
* chain: addEnsContracts(mainnet),
|
|
148
|
+
* transport: http(),
|
|
149
|
+
* })
|
|
150
|
+
* const result = await getOwner(client, { name: 'ens.eth' })
|
|
151
|
+
* // { owner: '0xb6E040C9ECAaE172a89bD561c5F73e1C48d28cd9', registrant: '0xb6E040C9ECAaE172a89bD561c5F73e1C48d28cd9', ownershipLevel: 'registrar }
|
|
152
|
+
*/
|
|
153
|
+
const getOwner = generateFunction({ encode, decode });
|
|
154
|
+
export default getOwner;
|
|
155
|
+
//# sourceMappingURL=getOwner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOwner.js","sourceRoot":"","sources":["../../../../src/functions/public/getOwner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { BaseError, decodeFunctionResult, encodeFunctionData, } from 'viem';
|
|
2
|
+
import { bulkRenewalRentPriceSnippet } from '../../contracts/bulkRenewal.js';
|
|
3
|
+
import { ethRegistrarControllerRentPriceSnippet } from '../../contracts/ethRegistrarController.js';
|
|
4
|
+
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
|
|
5
|
+
import { UnsupportedNameTypeError } from '../../errors/general.js';
|
|
6
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
7
|
+
import { getNameType } from '../../utils/getNameType.js';
|
|
8
|
+
import multicallWrapper from './multicallWrapper.js';
|
|
9
|
+
const encode = (client, { nameOrNames, duration }) => {
|
|
10
|
+
const names = (Array.isArray(nameOrNames) ? nameOrNames : [nameOrNames]).map((name) => {
|
|
11
|
+
const labels = name.split('.');
|
|
12
|
+
const nameType = getNameType(name);
|
|
13
|
+
if (nameType !== 'eth-2ld' && nameType !== 'tld')
|
|
14
|
+
throw new UnsupportedNameTypeError({
|
|
15
|
+
nameType,
|
|
16
|
+
supportedNameTypes: ['eth-2ld', 'tld'],
|
|
17
|
+
details: 'Currently only the price of eth-2ld names can be fetched',
|
|
18
|
+
});
|
|
19
|
+
return labels[0];
|
|
20
|
+
});
|
|
21
|
+
if (names.length > 1) {
|
|
22
|
+
const bulkRenewalAddress = getChainContractAddress({
|
|
23
|
+
client,
|
|
24
|
+
contract: 'ensBulkRenewal',
|
|
25
|
+
});
|
|
26
|
+
return multicallWrapper.encode(client, {
|
|
27
|
+
transactions: [
|
|
28
|
+
{
|
|
29
|
+
to: bulkRenewalAddress,
|
|
30
|
+
data: encodeFunctionData({
|
|
31
|
+
abi: bulkRenewalRentPriceSnippet,
|
|
32
|
+
functionName: 'rentPrice',
|
|
33
|
+
args: [names, BigInt(duration)],
|
|
34
|
+
}),
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
to: bulkRenewalAddress,
|
|
38
|
+
data: encodeFunctionData({
|
|
39
|
+
abi: bulkRenewalRentPriceSnippet,
|
|
40
|
+
functionName: 'rentPrice',
|
|
41
|
+
args: [names, 0n],
|
|
42
|
+
}),
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
to: getChainContractAddress({
|
|
49
|
+
client,
|
|
50
|
+
contract: 'ensEthRegistrarController',
|
|
51
|
+
}),
|
|
52
|
+
data: encodeFunctionData({
|
|
53
|
+
abi: ethRegistrarControllerRentPriceSnippet,
|
|
54
|
+
functionName: 'rentPrice',
|
|
55
|
+
args: [names[0], BigInt(duration)],
|
|
56
|
+
}),
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
const decode = async (client, data, { nameOrNames }) => {
|
|
60
|
+
if (typeof data === 'object')
|
|
61
|
+
throw data;
|
|
62
|
+
const isBulkRenewal = Array.isArray(nameOrNames) && nameOrNames.length > 1;
|
|
63
|
+
if (isBulkRenewal) {
|
|
64
|
+
const result = await multicallWrapper.decode(client, data, []);
|
|
65
|
+
const price = decodeFunctionResult({
|
|
66
|
+
abi: bulkRenewalRentPriceSnippet,
|
|
67
|
+
functionName: 'rentPrice',
|
|
68
|
+
data: result[0].returnData,
|
|
69
|
+
});
|
|
70
|
+
const premium = decodeFunctionResult({
|
|
71
|
+
abi: bulkRenewalRentPriceSnippet,
|
|
72
|
+
functionName: 'rentPrice',
|
|
73
|
+
data: result[1].returnData,
|
|
74
|
+
});
|
|
75
|
+
const base = price - premium;
|
|
76
|
+
return { base, premium };
|
|
77
|
+
}
|
|
78
|
+
return decodeFunctionResult({
|
|
79
|
+
abi: ethRegistrarControllerRentPriceSnippet,
|
|
80
|
+
functionName: 'rentPrice',
|
|
81
|
+
data,
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Gets the price of a name, or array of names, for a given duration.
|
|
86
|
+
* @param client - {@link ClientWithEns}
|
|
87
|
+
* @param parameters - {@link GetPriceParameters}
|
|
88
|
+
* @returns Price data object. {@link GetPriceReturnType}
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* import { createPublicClient, http } from 'viem'
|
|
92
|
+
* import { mainnet } from 'viem/chains'
|
|
93
|
+
* import { addEnsContracts, getPrice } from '@ensdomains/ensjs'
|
|
94
|
+
*
|
|
95
|
+
* const client = createPublicClient({
|
|
96
|
+
* chain: addEnsContracts(mainnet),
|
|
97
|
+
* transport: http(),
|
|
98
|
+
* })
|
|
99
|
+
* const result = await getPrice(client, { nameOrNames: 'ens.eth' })
|
|
100
|
+
* // { base: 352828971668930335n, premium: 0n }
|
|
101
|
+
*/
|
|
102
|
+
const getPrice = generateFunction({ encode, decode });
|
|
103
|
+
export default getPrice;
|
|
104
|
+
//# sourceMappingURL=getPrice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPrice.js","sourceRoot":"","sources":["../../../../src/functions/public/getPrice.ts"],"names":[],"mappings":"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"}
|