@ensdomains/ensjs 3.0.0-alpha.9 → 3.0.0-beta.2
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 +87 -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 +208 -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/getDnsImportData.js +64 -0
- package/dist/cjs/functions/dns/getDnsImportData.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/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/filters.js +3 -0
- package/dist/cjs/functions/subgraph/filters.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 +204 -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 +158 -0
- package/dist/cjs/functions/subgraph/getSubnames.js.map +1 -0
- package/dist/cjs/functions/subgraph/types.js +3 -0
- package/dist/cjs/functions/subgraph/types.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 +78 -0
- package/dist/cjs/functions/wallet/wrapName.js.map +1 -0
- package/dist/cjs/index.js +55 -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 +59 -149
- 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 +19 -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 +2 -5
- package/dist/cjs/utils/format.js.map +1 -0
- package/dist/cjs/utils/fuses.js +214 -21
- 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 +67 -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 +67 -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 +84 -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 +191 -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/getDnsImportData.js +84 -0
- package/dist/esm/functions/dns/getDnsImportData.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/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/filters.js +2 -0
- package/dist/esm/functions/subgraph/filters.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 +226 -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 +180 -0
- package/dist/esm/functions/subgraph/getSubnames.js.map +1 -0
- package/dist/esm/functions/subgraph/types.js +2 -0
- package/dist/esm/functions/subgraph/types.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 +95 -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 +55 -141
- 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 +15 -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 -2
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/fuses.js +211 -20
- 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 +62 -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 +465 -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 +113 -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 +91 -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/getDnsImportData.d.ts +38 -0
- package/dist/types/functions/dns/getDnsImportData.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/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 +26 -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/filters.d.ts +693 -0
- package/dist/types/functions/subgraph/filters.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 +60 -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 +42 -0
- package/dist/types/functions/subgraph/getSubnames.d.ts.map +1 -0
- package/dist/types/functions/subgraph/types.d.ts +13 -0
- package/dist/types/functions/subgraph/types.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 +14 -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 +2 -0
- package/dist/types/utils/format.d.ts.map +1 -0
- package/dist/types/utils/fuses.d.ts +176 -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 +89 -76
- 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 +195 -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 +158 -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 +164 -0
- package/src/errors/version.ts +1 -0
- package/src/errors/wallet.ts +0 -0
- package/src/functions/dns/getDnsImportData.ts +132 -0
- package/src/functions/dns/getDnsOwner.ts +141 -0
- package/src/functions/dns/importDnsName.ts +180 -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.ts +100 -0
- package/src/functions/public/getAbiRecord.ts +65 -0
- package/src/functions/public/getAddressRecord.ts +66 -0
- package/src/functions/public/getAvailable.ts +91 -0
- package/src/functions/public/getContentHashRecord.ts +67 -0
- package/src/functions/public/getExpiry.ts +199 -0
- package/src/functions/public/getName.ts +128 -0
- package/src/functions/public/getOwner.ts +250 -0
- package/src/functions/public/getPrice.ts +147 -0
- package/src/functions/public/getRecords.ts +384 -0
- package/src/functions/public/getResolver.ts +100 -0
- package/src/functions/public/getSupportedInterfaces.ts +92 -0
- package/src/functions/public/getTextRecord.ts +65 -0
- package/src/functions/public/getWrapperData.ts +128 -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.ts +90 -0
- package/src/functions/subgraph/events.ts +211 -0
- package/src/functions/subgraph/filters.ts +702 -0
- package/src/functions/subgraph/fragments.ts +88 -0
- package/src/functions/subgraph/getDecodedName.ts +120 -0
- package/src/functions/subgraph/getNameHistory.ts +326 -0
- package/src/functions/subgraph/getNamesForAddress.ts +344 -0
- package/src/functions/subgraph/getSubgraphRecords.ts +151 -0
- package/src/functions/subgraph/getSubgraphRegistrant.ts +75 -0
- package/src/functions/subgraph/getSubnames.ts +259 -0
- package/src/functions/subgraph/types.ts +13 -0
- package/src/functions/subgraph/utils.ts +90 -0
- package/src/functions/wallet/commitName.ts +129 -0
- package/src/functions/wallet/createSubname.ts +207 -0
- package/src/functions/wallet/deleteSubname.ts +190 -0
- package/src/functions/wallet/registerName.ts +152 -0
- package/src/functions/wallet/renewNames.ts +150 -0
- package/src/functions/wallet/setAbiRecord.ts +112 -0
- package/src/functions/wallet/setAddressRecord.ts +106 -0
- package/src/functions/wallet/setChildFuses.ts +111 -0
- package/src/functions/wallet/setContentHashRecord.ts +101 -0
- package/src/functions/wallet/setFuses.ts +105 -0
- package/src/functions/wallet/setPrimaryName.ts +154 -0
- package/src/functions/wallet/setRecords.ts +133 -0
- package/src/functions/wallet/setResolver.ts +125 -0
- package/src/functions/wallet/setTextRecord.ts +106 -0
- package/src/functions/wallet/transferName.ts +262 -0
- package/src/functions/wallet/unwrapName.ts +171 -0
- package/src/functions/wallet/wrapName.ts +187 -0
- package/src/index.ts +70 -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 +74 -129
- 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 +25 -0
- package/src/utils/encoders/encodeSetText.ts +22 -0
- package/src/utils/format.ts +0 -6
- package/src/utils/fuses.ts +380 -22
- package/src/utils/generateFunction.ts +83 -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 +102 -0
- package/src/utils/labels.ts +40 -65
- package/src/utils/makeLabelNodeAndParent.ts +13 -0
- package/src/utils/makeSafeSecondsDate.ts +7 -0
- package/src/utils/normalise.ts +58 -23
- package/src/utils/ownerFromContract.ts +70 -0
- package/src/utils/registerHelpers.ts +139 -69
- package/src/utils/validation.ts +59 -53
- 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/@ensdomains/content-hash.d.ts +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,84 @@
|
|
|
1
|
+
import { toType } from 'dns-packet/types.js';
|
|
2
|
+
import { keccak256, toBytes, toHex } from 'viem';
|
|
3
|
+
import { readContract } from 'viem/actions';
|
|
4
|
+
import { dnssecImplAnchorsSnippet, dnssecImplRrDataSnippet, } from '../../contracts/dnssecImpl.js';
|
|
5
|
+
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
|
|
6
|
+
import { DnsNewerRecordTypeAvailableError } from '../../errors/dns.js';
|
|
7
|
+
import { packetToBytes } from '../../utils/hexEncodedName.js';
|
|
8
|
+
// Compares two serial numbers using RFC1982 serial number math.
|
|
9
|
+
const serialNumberGt = (i1, i2) => (i1 < i2 && i2 - i1 > 0x7fffffff) || (i1 > i2 && i1 - i2 < 0x7fffffff);
|
|
10
|
+
const encodeProofs = (proofs) => proofs.map((proof) => ({
|
|
11
|
+
rrset: proof.toWire(true),
|
|
12
|
+
sig: proof.signature.data.signature,
|
|
13
|
+
}));
|
|
14
|
+
/**
|
|
15
|
+
* Gets DNS import data, used for `importDnsName()`
|
|
16
|
+
* @param client - {@link ClientWithEns}
|
|
17
|
+
* @param parameters - {@link GetDnsImportDataParameters}
|
|
18
|
+
* @returns DNS import data object, used for proving the value of the `_ens` TXT record
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* import { createPublicClient, http } from 'viem'
|
|
22
|
+
* import { mainnet } from 'viem/chains'
|
|
23
|
+
* import { addEnsContracts, getDnsImportData } from '@ensdomains/ensjs'
|
|
24
|
+
*
|
|
25
|
+
* const client = createPublicClient({
|
|
26
|
+
* chain: addEnsContracts(mainnet),
|
|
27
|
+
* transport: http(),
|
|
28
|
+
* })
|
|
29
|
+
* const data = await getDnsImportData(client, {
|
|
30
|
+
* name: 'example.eth',
|
|
31
|
+
* })
|
|
32
|
+
*/
|
|
33
|
+
const getDnsImportData = async (client, { name, endpoint = 'https://cloudflare-dns.com/dns-query', }) => {
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
35
|
+
const { DNSProver } = await import('@ensdomains/dnsprovejs');
|
|
36
|
+
const prover = DNSProver.create(endpoint);
|
|
37
|
+
const result = (await prover.queryWithProof('TXT', `_ens.${name}`));
|
|
38
|
+
const allProofs = result.proofs.concat([result.answer]);
|
|
39
|
+
const ensDnssecImplAddress = getChainContractAddress({
|
|
40
|
+
client,
|
|
41
|
+
contract: 'ensDnssecImpl',
|
|
42
|
+
});
|
|
43
|
+
for (let i = allProofs.length - 1; i >= 0; i -= 1) {
|
|
44
|
+
const proof = allProofs[i];
|
|
45
|
+
const hexEncodedName = toHex(packetToBytes(proof.signature.name));
|
|
46
|
+
const type = toType(proof.signature.data.typeCovered);
|
|
47
|
+
// eslint-disable-next-line no-await-in-loop
|
|
48
|
+
const [inception, expiration, hash] = await readContract(client, {
|
|
49
|
+
abi: dnssecImplRrDataSnippet,
|
|
50
|
+
address: ensDnssecImplAddress,
|
|
51
|
+
functionName: 'rrdata',
|
|
52
|
+
args: [type, hexEncodedName],
|
|
53
|
+
});
|
|
54
|
+
if (serialNumberGt(inception, proof.signature.data.inception))
|
|
55
|
+
throw new DnsNewerRecordTypeAvailableError({
|
|
56
|
+
typeCovered: proof.signature.data.typeCovered,
|
|
57
|
+
signatureName: proof.signature.name,
|
|
58
|
+
onchainInception: inception,
|
|
59
|
+
dnsInception: proof.signature.data.inception,
|
|
60
|
+
});
|
|
61
|
+
const expired = serialNumberGt(Date.now() / 1000, expiration);
|
|
62
|
+
const proofHash = keccak256(proof.toWire(false)).slice(0, 42);
|
|
63
|
+
const isKnownProof = hash === proofHash && !expired;
|
|
64
|
+
if (isKnownProof) {
|
|
65
|
+
if (i === allProofs.length - 1) {
|
|
66
|
+
return { rrsets: [], proof: proof.toWire(false) };
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
rrsets: encodeProofs(allProofs.slice(i + 1, allProofs.length)),
|
|
70
|
+
proof: proof.toWire(false),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
rrsets: encodeProofs(allProofs),
|
|
76
|
+
proof: toBytes(await readContract(client, {
|
|
77
|
+
abi: dnssecImplAnchorsSnippet,
|
|
78
|
+
address: ensDnssecImplAddress,
|
|
79
|
+
functionName: 'anchors',
|
|
80
|
+
})),
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
export default getDnsImportData;
|
|
84
|
+
//# sourceMappingURL=getDnsImportData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDnsImportData.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsImportData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { DnsDnssecVerificationFailedError, DnsInvalidAddressChecksumError, DnsInvalidTxtRecordError, DnsNoTxtRecordError, DnsResponseStatusError, } from '../../errors/dns.js';
|
|
3
|
+
import { UnsupportedNameTypeError } from '../../errors/general.js';
|
|
4
|
+
import { getNameType } from '../../utils/getNameType.js';
|
|
5
|
+
var DnsResponseStatus;
|
|
6
|
+
(function (DnsResponseStatus) {
|
|
7
|
+
DnsResponseStatus[DnsResponseStatus["NOERROR"] = 0] = "NOERROR";
|
|
8
|
+
DnsResponseStatus[DnsResponseStatus["FORMERR"] = 1] = "FORMERR";
|
|
9
|
+
DnsResponseStatus[DnsResponseStatus["SERVFAIL"] = 2] = "SERVFAIL";
|
|
10
|
+
DnsResponseStatus[DnsResponseStatus["NXDOMAIN"] = 3] = "NXDOMAIN";
|
|
11
|
+
DnsResponseStatus[DnsResponseStatus["NOTIMP"] = 4] = "NOTIMP";
|
|
12
|
+
DnsResponseStatus[DnsResponseStatus["REFUSED"] = 5] = "REFUSED";
|
|
13
|
+
DnsResponseStatus[DnsResponseStatus["YXDOMAIN"] = 6] = "YXDOMAIN";
|
|
14
|
+
DnsResponseStatus[DnsResponseStatus["YXRRSET"] = 7] = "YXRRSET";
|
|
15
|
+
DnsResponseStatus[DnsResponseStatus["NXRRSET"] = 8] = "NXRRSET";
|
|
16
|
+
DnsResponseStatus[DnsResponseStatus["NOTAUTH"] = 9] = "NOTAUTH";
|
|
17
|
+
DnsResponseStatus[DnsResponseStatus["NOTZONE"] = 10] = "NOTZONE";
|
|
18
|
+
DnsResponseStatus[DnsResponseStatus["DSOTYPENI"] = 11] = "DSOTYPENI";
|
|
19
|
+
DnsResponseStatus[DnsResponseStatus["BADVERS"] = 16] = "BADVERS";
|
|
20
|
+
DnsResponseStatus[DnsResponseStatus["BADSIG"] = 16] = "BADSIG";
|
|
21
|
+
DnsResponseStatus[DnsResponseStatus["BADKEY"] = 17] = "BADKEY";
|
|
22
|
+
DnsResponseStatus[DnsResponseStatus["BADTIME"] = 18] = "BADTIME";
|
|
23
|
+
DnsResponseStatus[DnsResponseStatus["BADMODE"] = 19] = "BADMODE";
|
|
24
|
+
DnsResponseStatus[DnsResponseStatus["BADNAME"] = 20] = "BADNAME";
|
|
25
|
+
DnsResponseStatus[DnsResponseStatus["BADALG"] = 21] = "BADALG";
|
|
26
|
+
DnsResponseStatus[DnsResponseStatus["BADTRUNC"] = 22] = "BADTRUNC";
|
|
27
|
+
DnsResponseStatus[DnsResponseStatus["BADCOOKIE"] = 23] = "BADCOOKIE";
|
|
28
|
+
})(DnsResponseStatus || (DnsResponseStatus = {}));
|
|
29
|
+
var DnsRecordType;
|
|
30
|
+
(function (DnsRecordType) {
|
|
31
|
+
DnsRecordType[DnsRecordType["TXT"] = 16] = "TXT";
|
|
32
|
+
DnsRecordType[DnsRecordType["DS"] = 43] = "DS";
|
|
33
|
+
DnsRecordType[DnsRecordType["RRSIG"] = 46] = "RRSIG";
|
|
34
|
+
DnsRecordType[DnsRecordType["DNSKEY"] = 48] = "DNSKEY";
|
|
35
|
+
})(DnsRecordType || (DnsRecordType = {}));
|
|
36
|
+
/**
|
|
37
|
+
* Gets the DNS owner of a name, via DNS record lookup
|
|
38
|
+
* @param parameters - {@link GetDnsOwnerParameters}
|
|
39
|
+
* @returns Address of DNS owner. {@link GetDnsOwnerReturnType}
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* import { getDnsOwner } from '@ensdomains/ensjs'
|
|
43
|
+
*
|
|
44
|
+
* const owner = await getDnsOwner({ name: 'ens.domains' })
|
|
45
|
+
* // '0xb8c2C29ee19D8307cb7255e1Cd9CbDE883A267d5'
|
|
46
|
+
*/
|
|
47
|
+
const getDnsOwner = async ({ name, endpoint = 'https://cloudflare-dns.com/dns-query', }) => {
|
|
48
|
+
const nameType = getNameType(name);
|
|
49
|
+
if (nameType !== 'other-2ld')
|
|
50
|
+
throw new UnsupportedNameTypeError({
|
|
51
|
+
nameType,
|
|
52
|
+
supportedNameTypes: ['other-2ld'],
|
|
53
|
+
});
|
|
54
|
+
const response = await fetch(`${endpoint}?name=_ens.${name}.&type=TXT`, {
|
|
55
|
+
method: 'GET',
|
|
56
|
+
headers: {
|
|
57
|
+
accept: 'application/dns-json',
|
|
58
|
+
},
|
|
59
|
+
}).then((res) => res.json());
|
|
60
|
+
if (response.Status !== DnsResponseStatus.NOERROR)
|
|
61
|
+
throw new DnsResponseStatusError({
|
|
62
|
+
responseStatus: DnsResponseStatus[response.Status],
|
|
63
|
+
});
|
|
64
|
+
const addressRecord = response.Answer?.find((record) => record.type === DnsRecordType.TXT);
|
|
65
|
+
const unwrappedAddressRecord = addressRecord?.data?.replace(/^"(.*)"$/g, '$1');
|
|
66
|
+
if (response.AD === false)
|
|
67
|
+
throw new DnsDnssecVerificationFailedError({
|
|
68
|
+
record: unwrappedAddressRecord,
|
|
69
|
+
});
|
|
70
|
+
if (!addressRecord?.data)
|
|
71
|
+
throw new DnsNoTxtRecordError();
|
|
72
|
+
if (!unwrappedAddressRecord.match(/^a=0x[a-fA-F0-9]{40}$/g))
|
|
73
|
+
throw new DnsInvalidTxtRecordError({ record: unwrappedAddressRecord });
|
|
74
|
+
const address = unwrappedAddressRecord.slice(2);
|
|
75
|
+
const checksumAddress = getAddress(address);
|
|
76
|
+
if (address !== checksumAddress)
|
|
77
|
+
throw new DnsInvalidAddressChecksumError({ address });
|
|
78
|
+
return checksumAddress;
|
|
79
|
+
};
|
|
80
|
+
export default getDnsOwner;
|
|
81
|
+
//# sourceMappingURL=getDnsOwner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDnsOwner.js","sourceRoot":"","sources":["../../../../src/functions/dns/getDnsOwner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { bytesToHex, encodeFunctionData, toHex, } from 'viem';
|
|
2
|
+
import { dnsRegistrarProveAndClaimSnippet, dnsRegistrarProveAndClaimWithResolverSnippet, } from '../../contracts/dnsRegistrar.js';
|
|
3
|
+
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js';
|
|
4
|
+
import { AdditionalParameterSpecifiedError } from '../../errors/general.js';
|
|
5
|
+
import { packetToBytes } from '../../utils/hexEncodedName.js';
|
|
6
|
+
export const makeFunctionData = (wallet, { name, dnsImportData, address, resolverAddress, }) => {
|
|
7
|
+
const data = dnsImportData.rrsets.map((rrset) => ({
|
|
8
|
+
rrset: bytesToHex(rrset.rrset),
|
|
9
|
+
sig: bytesToHex(rrset.sig),
|
|
10
|
+
}));
|
|
11
|
+
const hexEncodedName = toHex(packetToBytes(name));
|
|
12
|
+
const dnsRegistrarAddress = getChainContractAddress({
|
|
13
|
+
client: wallet,
|
|
14
|
+
contract: 'ensDnsRegistrar',
|
|
15
|
+
});
|
|
16
|
+
if (!address) {
|
|
17
|
+
if (resolverAddress)
|
|
18
|
+
throw new AdditionalParameterSpecifiedError({
|
|
19
|
+
parameter: 'resolverAddress',
|
|
20
|
+
allowedParameters: ['name', 'dnsImportData'],
|
|
21
|
+
details: 'resolverAddress cannot be specified when claiming without an address',
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
to: dnsRegistrarAddress,
|
|
25
|
+
data: encodeFunctionData({
|
|
26
|
+
abi: dnsRegistrarProveAndClaimSnippet,
|
|
27
|
+
functionName: 'proveAndClaim',
|
|
28
|
+
args: [hexEncodedName, data, bytesToHex(dnsImportData.proof)],
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const resolverAddress_ = resolverAddress ||
|
|
33
|
+
getChainContractAddress({ client: wallet, contract: 'ensPublicResolver' });
|
|
34
|
+
return {
|
|
35
|
+
to: dnsRegistrarAddress,
|
|
36
|
+
data: encodeFunctionData({
|
|
37
|
+
abi: dnsRegistrarProveAndClaimWithResolverSnippet,
|
|
38
|
+
functionName: 'proveAndClaimWithResolver',
|
|
39
|
+
args: [
|
|
40
|
+
hexEncodedName,
|
|
41
|
+
data,
|
|
42
|
+
bytesToHex(dnsImportData.proof),
|
|
43
|
+
resolverAddress_,
|
|
44
|
+
address,
|
|
45
|
+
],
|
|
46
|
+
}),
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Creates a transaction to import a DNS name to ENS.
|
|
51
|
+
* @param wallet - {@link WalletWithEns}
|
|
52
|
+
* @param parameters - {@link ImportDnsNameParameters}
|
|
53
|
+
* @returns A transaction hash. {@link ImportDnsNameReturnType}
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* import { createPublicClient, createWalletClient, http, custom } from 'viem'
|
|
57
|
+
* import { mainnet } from 'viem/chains'
|
|
58
|
+
* import { addEnsContracts, getDnsImportData, importDnsName } from '@ensdomains/ensjs'
|
|
59
|
+
*
|
|
60
|
+
* const mainnetWithEns = addEnsContracts(mainnet)
|
|
61
|
+
* const client = createPublicClient({
|
|
62
|
+
* chain: mainnetWithEns,
|
|
63
|
+
* transport: http(),
|
|
64
|
+
* })
|
|
65
|
+
* const wallet = createWalletClient({
|
|
66
|
+
* chain: mainnetWithEns,
|
|
67
|
+
* transport: custom(window.ethereum),
|
|
68
|
+
* })
|
|
69
|
+
* const dnsImportData = await getDnsImportData(client, {
|
|
70
|
+
* name: 'example.com',
|
|
71
|
+
* })
|
|
72
|
+
* const hash = await importDnsName(wallet, {
|
|
73
|
+
* name: 'example.com',
|
|
74
|
+
* dnsImportData,
|
|
75
|
+
* })
|
|
76
|
+
*/
|
|
77
|
+
async function importDnsName(wallet, { name, address, dnsImportData, resolverAddress, ...txArgs }) {
|
|
78
|
+
const data = makeFunctionData(wallet, {
|
|
79
|
+
name,
|
|
80
|
+
address,
|
|
81
|
+
dnsImportData,
|
|
82
|
+
resolverAddress,
|
|
83
|
+
});
|
|
84
|
+
const writeArgs = {
|
|
85
|
+
...data,
|
|
86
|
+
...txArgs,
|
|
87
|
+
};
|
|
88
|
+
return wallet.sendTransaction(writeArgs);
|
|
89
|
+
}
|
|
90
|
+
importDnsName.makeFunctionData = makeFunctionData;
|
|
91
|
+
export default importDnsName;
|
|
92
|
+
//# sourceMappingURL=importDnsName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importDnsName.js","sourceRoot":"","sources":["../../../../src/functions/dns/importDnsName.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,KAAK,GAMN,MAAM,MAAM,CAAA;AAEb,OAAO,EACL,gCAAgC,EAChC,4CAA4C,GAC7C,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAA;AAM3E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAwC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAI9B,MAAkD,EAClD,EACE,IAAI,EACJ,aAAa,EACb,OAAO,EACP,eAAe,GACa,EACD,EAAE;IAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9B,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;KAC3B,CAAC,CAAC,CAAA;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;QAClD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,iBAAiB;KAC5B,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,EAAE;QACZ,IAAI,eAAe;YACjB,MAAM,IAAI,iCAAiC,CAAC;gBAC1C,SAAS,EAAE,iBAAiB;gBAC5B,iBAAiB,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;gBAC5C,OAAO,EACL,sEAAsE;aACzE,CAAC,CAAA;QACJ,OAAO;YACL,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,kBAAkB,CAAC;gBACvB,GAAG,EAAE,gCAAgC;gBACrC,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC9D,CAAC;SACH,CAAA;KACF;IAED,MAAM,gBAAgB,GACpB,eAAe;QACf,uBAAuB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAA;IAE5E,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,4CAA4C;YACjD,YAAY,EAAE,2BAA2B;YACzC,IAAI,EAAE;gBACJ,cAAc;gBACd,IAAI;gBACJ,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC/B,gBAAgB;gBAChB,OAAO;aACR;SACF,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,KAAK,UAAU,aAAa,CAK1B,MAAkD,EAClD,EACE,IAAI,EACJ,OAAO,EACP,aAAa,EACb,eAAe,EACf,GAAG,MAAM,EACiD;IAE5D,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE;QACpC,IAAI;QACJ,OAAO;QACP,aAAa;QACb,eAAe;KACe,CAAC,CAAA;IACjC,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI;QACP,GAAG,MAAM;KACqD,CAAA;IAChE,OAAO,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;AAC1C,CAAC;AAED,aAAa,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;AAEjD,eAAe,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/functions/dns/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { decodeFunctionResult, encodeFunctionData, hexToBytes, hexToString, } from 'viem';
|
|
2
|
+
import { publicResolverAbiSnippet } from '../../contracts/publicResolver.js';
|
|
3
|
+
import { EMPTY_ADDRESS } from '../../utils/consts.js';
|
|
4
|
+
import { generateFunction } from '../../utils/generateFunction.js';
|
|
5
|
+
import { namehash } from '../../utils/normalise.js';
|
|
6
|
+
// Supported content types as bitwise OR
|
|
7
|
+
// ID 1: JSON
|
|
8
|
+
// ID 2: zlib compressed JSON
|
|
9
|
+
// ID 4: CBOR
|
|
10
|
+
// ID 8: URI
|
|
11
|
+
const supportedContentTypes = BigInt('0xf');
|
|
12
|
+
const encode = (_client, { name }) => {
|
|
13
|
+
return {
|
|
14
|
+
to: EMPTY_ADDRESS,
|
|
15
|
+
data: encodeFunctionData({
|
|
16
|
+
abi: publicResolverAbiSnippet,
|
|
17
|
+
functionName: 'ABI',
|
|
18
|
+
args: [namehash(name), supportedContentTypes],
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
const decode = async (_client, data) => {
|
|
23
|
+
if (data === '0x')
|
|
24
|
+
return null;
|
|
25
|
+
const [bigintContentType, encodedAbiData] = decodeFunctionResult({
|
|
26
|
+
abi: publicResolverAbiSnippet,
|
|
27
|
+
functionName: 'ABI',
|
|
28
|
+
data,
|
|
29
|
+
});
|
|
30
|
+
if (!bigintContentType || !encodedAbiData) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const contentType = Number(bigintContentType);
|
|
34
|
+
if (!contentType) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
let abiData;
|
|
38
|
+
let decoded = false;
|
|
39
|
+
switch (contentType) {
|
|
40
|
+
// JSON
|
|
41
|
+
case 1:
|
|
42
|
+
abiData = JSON.parse(hexToString(encodedAbiData));
|
|
43
|
+
decoded = true;
|
|
44
|
+
break;
|
|
45
|
+
// zlib compressed JSON
|
|
46
|
+
case 2: {
|
|
47
|
+
const { inflate } = await import('pako/dist/pako_inflate.min.js');
|
|
48
|
+
abiData = JSON.parse(inflate(hexToBytes(encodedAbiData), { to: 'string' }));
|
|
49
|
+
decoded = true;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
// CBOR
|
|
53
|
+
case 4: {
|
|
54
|
+
const { decodeFirst } = await import('cbor');
|
|
55
|
+
abiData = await decodeFirst(hexToBytes(encodedAbiData));
|
|
56
|
+
decoded = true;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
// URI
|
|
60
|
+
case 8:
|
|
61
|
+
abiData = hexToString(encodedAbiData);
|
|
62
|
+
decoded = true;
|
|
63
|
+
break;
|
|
64
|
+
default:
|
|
65
|
+
try {
|
|
66
|
+
abiData = hexToString(encodedAbiData);
|
|
67
|
+
decoded = true;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
abiData = encodedAbiData;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
contentType,
|
|
75
|
+
decoded,
|
|
76
|
+
abi: abiData,
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
const _getAbi = generateFunction({ encode, decode });
|
|
80
|
+
export default _getAbi;
|
|
81
|
+
//# sourceMappingURL=_getAbi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_getAbi.js","sourceRoot":"","sources":["../../../../src/functions/public/_getAbi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,WAAW,GAEZ,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAM5E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AASnD,wCAAwC;AACxC,aAAa;AACb,6BAA6B;AAC7B,aAAa;AACb,YAAY;AACZ,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;AAE3C,MAAM,MAAM,GAAG,CACb,OAAsB,EACtB,EAAE,IAAI,EAA4B,EACR,EAAE;IAC5B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,wBAAwB;YAC7B,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,qBAAqB,CAAC;SAC9C,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAS,EAC0B,EAAE;IACrC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAAG,oBAAoB,CAAC;QAC/D,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,KAAK;QACnB,IAAI;KACL,CAAC,CAAA;IAEF,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE;QACzC,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC7C,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,OAAwB,CAAA;IAC5B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,QAAQ,WAAW,EAAE;QACnB,OAAO;QACP,KAAK,CAAC;YACJ,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAA;YACjD,OAAO,GAAG,IAAI,CAAA;YACd,MAAK;QACP,uBAAuB;QACvB,KAAK,CAAC,CAAC,CAAC;YACN,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;YACjE,OAAO,GAAG,IAAI,CAAC,KAAK,CAClB,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CACtD,CAAA;YACD,OAAO,GAAG,IAAI,CAAA;YACd,MAAK;SACN;QACD,OAAO;QACP,KAAK,CAAC,CAAC,CAAC;YACN,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5C,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;YACvD,OAAO,GAAG,IAAI,CAAA;YACd,MAAK;SACN;QACD,MAAM;QACN,KAAK,CAAC;YACJ,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;YACrC,OAAO,GAAG,IAAI,CAAA;YACd,MAAK;QACP;YACE,IAAI;gBACF,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;gBACrC,OAAO,GAAG,IAAI,CAAA;aACf;YAAC,MAAM;gBACN,OAAO,GAAG,cAAc,CAAA;aACzB;KACJ;IAED,OAAO;QACL,WAAW;QACX,OAAO;QACP,GAAG,EAAE,OAAO;KACb,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEpD,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { formatsByCoinType, formatsByName } from '@ensdomains/address-encoder';
|
|
2
|
+
import { decodeFunctionResult, encodeFunctionData, trim } from 'viem';
|
|
3
|
+
import { namehash } from '../../utils/normalise.js';
|
|
4
|
+
import { publicResolverMultiAddrSnippet, publicResolverSingleAddrSnippet, } from '../../contracts/publicResolver.js';
|
|
5
|
+
import { CoinFormatterNotFoundError } from '../../errors/public.js';
|
|
6
|
+
import { EMPTY_ADDRESS } from '../../utils/consts.js';
|
|
7
|
+
import { generateFunction } from '../../utils/generateFunction.js';
|
|
8
|
+
const encode = (_client, { name, coin = 60, bypassFormat }) => {
|
|
9
|
+
if (coin === 60 || coin === '60') {
|
|
10
|
+
return {
|
|
11
|
+
to: EMPTY_ADDRESS,
|
|
12
|
+
data: encodeFunctionData({
|
|
13
|
+
abi: publicResolverSingleAddrSnippet,
|
|
14
|
+
functionName: 'addr',
|
|
15
|
+
args: [namehash(name)],
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
if (bypassFormat) {
|
|
20
|
+
return {
|
|
21
|
+
to: EMPTY_ADDRESS,
|
|
22
|
+
data: encodeFunctionData({
|
|
23
|
+
abi: publicResolverMultiAddrSnippet,
|
|
24
|
+
functionName: 'addr',
|
|
25
|
+
args: [namehash(name), BigInt(coin)],
|
|
26
|
+
}),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const formatter = typeof coin === 'string' && Number.isNaN(parseInt(coin))
|
|
30
|
+
? formatsByName[coin]
|
|
31
|
+
: formatsByCoinType[typeof coin === 'number' ? coin : parseInt(coin)];
|
|
32
|
+
if (!formatter)
|
|
33
|
+
throw new CoinFormatterNotFoundError({ coinType: coin });
|
|
34
|
+
return {
|
|
35
|
+
to: EMPTY_ADDRESS,
|
|
36
|
+
data: encodeFunctionData({
|
|
37
|
+
abi: publicResolverMultiAddrSnippet,
|
|
38
|
+
functionName: 'addr',
|
|
39
|
+
args: [namehash(name), BigInt(formatter.coinType)],
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
const decode = async (_client, data, { coin }) => {
|
|
44
|
+
if (data === '0x')
|
|
45
|
+
return null;
|
|
46
|
+
if (!coin) {
|
|
47
|
+
coin = 60;
|
|
48
|
+
}
|
|
49
|
+
const formatter = typeof coin === 'string' && Number.isNaN(parseInt(coin))
|
|
50
|
+
? formatsByName[coin]
|
|
51
|
+
: formatsByCoinType[typeof coin === 'number' ? coin : parseInt(coin)];
|
|
52
|
+
let response;
|
|
53
|
+
if (coin === 60 || coin === '60') {
|
|
54
|
+
response = decodeFunctionResult({
|
|
55
|
+
abi: publicResolverSingleAddrSnippet,
|
|
56
|
+
functionName: 'addr',
|
|
57
|
+
data,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
response = decodeFunctionResult({
|
|
62
|
+
abi: publicResolverMultiAddrSnippet,
|
|
63
|
+
functionName: 'addr',
|
|
64
|
+
data,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (!response)
|
|
68
|
+
return null;
|
|
69
|
+
const trimmed = trim(response);
|
|
70
|
+
if (trimmed === '0x' || trimmed === '0x0' || trimmed === '0x00') {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
const decodedAddr = formatter.encoder(Buffer.from(response.slice(2), 'hex'));
|
|
74
|
+
if (!decodedAddr) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
return { id: formatter.coinType, name: formatter.name, value: decodedAddr };
|
|
78
|
+
};
|
|
79
|
+
const _getAddr = generateFunction({ encode, decode });
|
|
80
|
+
export default _getAddr;
|
|
81
|
+
//# sourceMappingURL=_getAddr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_getAddr.js","sourceRoot":"","sources":["../../../../src/functions/public/_getAddr.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { decodeFunctionResult, encodeFunctionData } from 'viem';
|
|
2
|
+
import { publicResolverContenthashSnippet } from '../../contracts/publicResolver.js';
|
|
3
|
+
import { EMPTY_ADDRESS } from '../../utils/consts.js';
|
|
4
|
+
import { decodeContentHash, } from '../../utils/contentHash.js';
|
|
5
|
+
import { generateFunction } from '../../utils/generateFunction.js';
|
|
6
|
+
import { namehash } from '../../utils/normalise.js';
|
|
7
|
+
const encode = (_client, { name }) => {
|
|
8
|
+
return {
|
|
9
|
+
to: EMPTY_ADDRESS,
|
|
10
|
+
data: encodeFunctionData({
|
|
11
|
+
abi: publicResolverContenthashSnippet,
|
|
12
|
+
functionName: 'contenthash',
|
|
13
|
+
args: [namehash(name)],
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
const decode = async (_client, data) => {
|
|
18
|
+
if (data === '0x')
|
|
19
|
+
return null;
|
|
20
|
+
const response = decodeFunctionResult({
|
|
21
|
+
abi: publicResolverContenthashSnippet,
|
|
22
|
+
functionName: 'contenthash',
|
|
23
|
+
data,
|
|
24
|
+
});
|
|
25
|
+
return decodeContentHash(response);
|
|
26
|
+
};
|
|
27
|
+
const _getContentHash = generateFunction({ encode, decode });
|
|
28
|
+
export default _getContentHash;
|
|
29
|
+
//# sourceMappingURL=_getContentHash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_getContentHash.js","sourceRoot":"","sources":["../../../../src/functions/public/_getContentHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,MAAM,CAAA;AAEzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAA;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EACL,iBAAiB,GAElB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAUnD,MAAM,MAAM,GAAG,CACb,OAAsB,EACtB,EAAE,IAAI,EAAoC,EAChB,EAAE;IAC5B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,gCAAgC;YACrC,YAAY,EAAE,aAAa;YAC3B,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACvB,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAS,EACkC,EAAE;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,GAAG,EAAE,gCAAgC;QACrC,YAAY,EAAE,aAAa;QAC3B,IAAI;KACL,CAAC,CAAA;IAEF,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE5D,eAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { decodeFunctionResult, encodeFunctionData } from 'viem';
|
|
2
|
+
import { publicResolverTextSnippet } from '../../contracts/publicResolver.js';
|
|
3
|
+
import { EMPTY_ADDRESS } from '../../utils/consts.js';
|
|
4
|
+
import { generateFunction } from '../../utils/generateFunction.js';
|
|
5
|
+
import { namehash } from '../../utils/normalise.js';
|
|
6
|
+
const encode = (_client, { name, key }) => {
|
|
7
|
+
return {
|
|
8
|
+
to: EMPTY_ADDRESS,
|
|
9
|
+
data: encodeFunctionData({
|
|
10
|
+
abi: publicResolverTextSnippet,
|
|
11
|
+
functionName: 'text',
|
|
12
|
+
args: [namehash(name), key],
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
const decode = async (_client, data) => {
|
|
17
|
+
if (data === '0x')
|
|
18
|
+
return null;
|
|
19
|
+
const response = decodeFunctionResult({
|
|
20
|
+
abi: publicResolverTextSnippet,
|
|
21
|
+
functionName: 'text',
|
|
22
|
+
data,
|
|
23
|
+
});
|
|
24
|
+
if (!response)
|
|
25
|
+
return null;
|
|
26
|
+
return response;
|
|
27
|
+
};
|
|
28
|
+
const _getText = generateFunction({ encode, decode });
|
|
29
|
+
export default _getText;
|
|
30
|
+
//# sourceMappingURL=_getText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_getText.js","sourceRoot":"","sources":["../../../../src/functions/public/_getText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,MAAM,CAAA;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAWnD,MAAM,MAAM,GAAG,CACb,OAAsB,EACtB,EAAE,IAAI,EAAE,GAAG,EAA6B,EACd,EAAE;IAC5B,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,yBAAyB;YAC9B,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;SAC5B,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,OAAsB,EACtB,IAAS,EAC2B,EAAE;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,GAAG,EAAE,yBAAyB;QAC9B,YAAY,EAAE,MAAM;QACpB,IAAI;KACL,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAErD,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { FunctionNotBatchableError } from '../../errors/public.js';
|
|
2
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
3
|
+
import multicallWrapper from './multicallWrapper.js';
|
|
4
|
+
const encode = (client, ...items) => {
|
|
5
|
+
const rawDataArr = items.map(({ args, encode: encodeRef }, i) => {
|
|
6
|
+
if (!encodeRef)
|
|
7
|
+
throw new FunctionNotBatchableError({ functionIndex: i });
|
|
8
|
+
return encodeRef(client, ...args);
|
|
9
|
+
});
|
|
10
|
+
const response = multicallWrapper.encode(client, {
|
|
11
|
+
transactions: rawDataArr,
|
|
12
|
+
});
|
|
13
|
+
return { ...response, passthrough: rawDataArr };
|
|
14
|
+
};
|
|
15
|
+
const decode = async (client, data, passthrough, ...items) => {
|
|
16
|
+
const response = await multicallWrapper.decode(client, data, passthrough);
|
|
17
|
+
if (!response)
|
|
18
|
+
throw new Error('No response from multicall');
|
|
19
|
+
return Promise.all(response.map((ret, i) => {
|
|
20
|
+
if (passthrough[i].passthrough) {
|
|
21
|
+
return items[i].decode(client, ret.returnData, passthrough[i].passthrough, ...items[i].args);
|
|
22
|
+
}
|
|
23
|
+
return items[i].decode(client, ret.returnData, ...items[i].args);
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Batches multiple read functions into a single call.
|
|
28
|
+
* @param client - {@link ClientWithEns}
|
|
29
|
+
* @param ...parameters - Array of {@link BatchFunctionResult} objects
|
|
30
|
+
* @returns Array of return values from each function
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* import { createPublicClient, http } from 'viem'
|
|
34
|
+
* import { mainnet } from 'viem/chains'
|
|
35
|
+
* import { addEnsContracts, batch, getTextRecord, getAddressRecord } from '@ensdomains/ensjs'
|
|
36
|
+
*
|
|
37
|
+
* const client = createPublicClient({
|
|
38
|
+
* chain: addEnsContracts(mainnet),
|
|
39
|
+
* transport: http(),
|
|
40
|
+
* })
|
|
41
|
+
* const result = await batch(
|
|
42
|
+
* client,
|
|
43
|
+
* getTextRecord.batch({ name: 'ens.eth', key: 'com.twitter' }),
|
|
44
|
+
* getAddressRecord.batch({ name: 'ens.eth', coin: 'ETH' }),
|
|
45
|
+
* )
|
|
46
|
+
* // ['ensdomains', { id: 60, name: 'ETH', value: '0xFe89cc7aBB2C4183683ab71653C4cdc9B02D44b7 }]
|
|
47
|
+
*/
|
|
48
|
+
const batch = generateFunction({
|
|
49
|
+
encode,
|
|
50
|
+
decode,
|
|
51
|
+
});
|
|
52
|
+
export default batch;
|
|
53
|
+
//# sourceMappingURL=batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../../src/functions/public/batch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAKlE,OAAO,EACL,gBAAgB,GAGjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAcpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,GAAG,KAA4B,EACI,EAAE;IACrC,MAAM,UAAU,GAA+B,KAAK,CAAC,GAAG,CACtD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAS,EAAE,EAAE;QACzC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,yBAAyB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAA;QACzE,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC,CACF,CAAA;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE;QAC/C,YAAY,EAAE,UAAU;KACzB,CAAC,CAAA;IACF,OAAO,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,KAAK,EAClB,MAAqB,EACrB,IAAS,EACT,WAAgD,EAChD,GAAG,KAAQ,EACkB,EAAE;IAC/B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACzE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAE5D,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAS,EAAE,EAAE;QAC9B,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CACpB,MAAM,EACN,GAAG,CAAC,UAAU,EACd,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAC1B,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACjB,CAAA;SACF;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC,CAAC,CAC4B,CAAA;AAClC,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,KAAK,GAAG,gBAAgB,CAAC;IAC7B,MAAM;IACN,MAAM;CACP,CAIwB,CAAA;AAEzB,eAAe,KAAK,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { generateFunction, } from '../../utils/generateFunction.js';
|
|
2
|
+
import _getAbi, {} from './_getAbi.js';
|
|
3
|
+
import universalWrapper from './universalWrapper.js';
|
|
4
|
+
const encode = (client, { name }) => {
|
|
5
|
+
const prData = _getAbi.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 _getAbi.decode(client, urData.data);
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Gets the ABI record for a name
|
|
14
|
+
* @param client - {@link ClientWithEns}
|
|
15
|
+
* @param parameters - {@link GetAbiRecordParameters}
|
|
16
|
+
* @returns ABI record for the name, or `null` if not found. {@link GetAbiRecordReturnType}
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* import { createPublicClient, http } from 'viem'
|
|
20
|
+
* import { mainnet } from 'viem/chains'
|
|
21
|
+
* import { addEnsContracts, getAbiRecord } from '@ensdomains/ensjs'
|
|
22
|
+
*
|
|
23
|
+
* const client = createPublicClient({
|
|
24
|
+
* chain: addEnsContracts(mainnet),
|
|
25
|
+
* transport: http(),
|
|
26
|
+
* })
|
|
27
|
+
* const result = await getAbiRecord(client, { name: 'ens.eth' })
|
|
28
|
+
* // TODO: real example
|
|
29
|
+
*/
|
|
30
|
+
const getAbiRecord = generateFunction({ encode, decode });
|
|
31
|
+
export default getAbiRecord;
|
|
32
|
+
//# sourceMappingURL=getAbiRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAbiRecord.js","sourceRoot":"","sources":["../../../../src/functions/public/getAbiRecord.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,GAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,OAAO,EAAE,EAGf,MAAM,cAAc,CAAA;AACrB,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAMpD,MAAM,MAAM,GAAG,CACb,MAAqB,EACrB,EAAE,IAAI,EAA0B,EACN,EAAE;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,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,EACE,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACvE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5C,CAAC,CAAA;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAI/B,CAAA;AAEzB,eAAe,YAAY,CAAA"}
|