@ensdomains/ensjs 3.0.0-beta.1 → 3.0.0-beta.10
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/dist/cjs/clients/decorators/subgraph.js.map +1 -1
- package/dist/cjs/clients/decorators/wallet.js +2 -0
- package/dist/cjs/clients/decorators/wallet.js.map +1 -1
- package/dist/cjs/clients/public.js.map +1 -1
- package/dist/cjs/clients/subgraph.js.map +1 -1
- package/dist/cjs/contracts/consts.js +53 -2
- package/dist/cjs/contracts/consts.js.map +1 -1
- package/dist/cjs/dns.js +3 -3
- package/dist/cjs/dns.js.map +1 -1
- package/dist/cjs/errors/subgraph.js.map +1 -1
- package/dist/cjs/errors/utils.js +27 -18
- package/dist/cjs/errors/utils.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/errors/version.js.map +1 -1
- package/dist/cjs/functions/dns/{prepareDnsImport.js → getDnsImportData.js} +3 -3
- package/dist/cjs/functions/dns/{prepareDnsImport.js.map → getDnsImportData.js.map} +1 -1
- package/dist/cjs/functions/dns/importDnsName.js +7 -7
- package/dist/cjs/functions/dns/importDnsName.js.map +1 -1
- package/dist/cjs/functions/public/_getAbi.js +2 -2
- package/dist/cjs/functions/public/_getAbi.js.map +1 -1
- package/dist/cjs/functions/public/_getAddr.js +9 -19
- package/dist/cjs/functions/public/_getAddr.js.map +1 -1
- package/dist/cjs/functions/public/_getContentHash.js +1 -1
- package/dist/cjs/functions/public/batch.js.map +1 -1
- package/dist/cjs/functions/public/getAbiRecord.js.map +1 -1
- package/dist/cjs/functions/public/getAddressRecord.js.map +1 -1
- package/dist/cjs/functions/public/getAvailable.js.map +1 -1
- package/dist/cjs/functions/public/getContentHashRecord.js.map +1 -1
- package/dist/cjs/functions/public/getExpiry.js.map +1 -1
- package/dist/cjs/functions/public/getName.js.map +1 -1
- package/dist/cjs/functions/public/getOwner.js.map +1 -1
- package/dist/cjs/functions/public/getPrice.js.map +1 -1
- package/dist/cjs/functions/public/getRecords.js +51 -37
- package/dist/cjs/functions/public/getRecords.js.map +1 -1
- package/dist/cjs/functions/public/getResolver.js.map +1 -1
- package/dist/cjs/functions/public/getSupportedInterfaces.js +1 -1
- package/dist/cjs/functions/public/getSupportedInterfaces.js.map +1 -1
- package/dist/cjs/functions/public/getTextRecord.js.map +1 -1
- package/dist/cjs/functions/public/getWrapperData.js.map +1 -1
- package/dist/cjs/functions/public/getWrapperName.js.map +1 -1
- package/dist/cjs/functions/public/multicallWrapper.js.map +1 -1
- package/dist/cjs/functions/public/universalWrapper.js.map +1 -1
- package/dist/cjs/functions/subgraph/client.js.map +1 -1
- package/dist/cjs/functions/subgraph/filters.js +3 -0
- package/dist/cjs/functions/subgraph/filters.js.map +1 -0
- package/dist/cjs/functions/subgraph/getDecodedName.js.map +1 -1
- package/dist/cjs/functions/subgraph/getNameHistory.js +4 -3
- package/dist/cjs/functions/subgraph/getNameHistory.js.map +1 -1
- package/dist/cjs/functions/subgraph/getNamesForAddress.js +155 -190
- package/dist/cjs/functions/subgraph/getNamesForAddress.js.map +1 -1
- package/dist/cjs/functions/subgraph/getSubgraphRecords.js +34 -26
- package/dist/cjs/functions/subgraph/getSubgraphRecords.js.map +1 -1
- package/dist/cjs/functions/subgraph/getSubgraphRegistrant.js.map +1 -1
- package/dist/cjs/functions/subgraph/getSubnames.js +95 -108
- package/dist/cjs/functions/subgraph/getSubnames.js.map +1 -1
- 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.map +1 -1
- package/dist/cjs/functions/wallet/clearRecords.js +26 -0
- package/dist/cjs/functions/wallet/clearRecords.js.map +1 -0
- package/dist/cjs/functions/wallet/commitName.js.map +1 -1
- package/dist/cjs/functions/wallet/createSubname.js +1 -1
- package/dist/cjs/functions/wallet/createSubname.js.map +1 -1
- package/dist/cjs/functions/wallet/deleteSubname.js.map +1 -1
- package/dist/cjs/functions/wallet/registerName.js.map +1 -1
- package/dist/cjs/functions/wallet/renewNames.js.map +1 -1
- package/dist/cjs/functions/wallet/setAbiRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/setAddressRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/setChildFuses.js +1 -1
- package/dist/cjs/functions/wallet/setChildFuses.js.map +1 -1
- package/dist/cjs/functions/wallet/setContentHashRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/setFuses.js +1 -1
- package/dist/cjs/functions/wallet/setFuses.js.map +1 -1
- package/dist/cjs/functions/wallet/setPrimaryName.js.map +1 -1
- package/dist/cjs/functions/wallet/setRecords.js.map +1 -1
- package/dist/cjs/functions/wallet/setResolver.js.map +1 -1
- package/dist/cjs/functions/wallet/setTextRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/transferName.js.map +1 -1
- package/dist/cjs/functions/wallet/unwrapName.js.map +1 -1
- package/dist/cjs/functions/wallet/wrapName.js +3 -1
- package/dist/cjs/functions/wallet/wrapName.js.map +1 -1
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/subgraph.js +4 -1
- package/dist/cjs/subgraph.js.map +1 -1
- package/dist/cjs/utils/contentHash.js +60 -131
- package/dist/cjs/utils/contentHash.js.map +1 -1
- package/dist/cjs/utils/encoders/encodeAbi.js +33 -3
- package/dist/cjs/utils/encoders/encodeAbi.js.map +1 -1
- package/dist/cjs/utils/encoders/encodeClearRecords.js +12 -0
- package/dist/cjs/utils/encoders/encodeClearRecords.js.map +1 -0
- package/dist/cjs/utils/encoders/encodeSetAddr.js +5 -16
- package/dist/cjs/utils/encoders/encodeSetAddr.js.map +1 -1
- package/dist/cjs/utils/encoders/encodeSetContentHash.js +1 -4
- package/dist/cjs/utils/encoders/encodeSetContentHash.js.map +1 -1
- package/dist/cjs/utils/format.js +1 -5
- package/dist/cjs/utils/format.js.map +1 -1
- package/dist/cjs/utils/fuses.js +184 -200
- package/dist/cjs/utils/fuses.js.map +1 -1
- package/dist/cjs/utils/generateRecordCallArray.js +2 -7
- package/dist/cjs/utils/generateRecordCallArray.js.map +1 -1
- package/dist/cjs/utils/index.js +31 -7
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/normaliseCoinId.js +35 -0
- package/dist/cjs/utils/normaliseCoinId.js.map +1 -0
- package/dist/cjs/utils/registerHelpers.js +3 -1
- package/dist/cjs/utils/registerHelpers.js.map +1 -1
- package/dist/cjs/wallet.js +3 -1
- package/dist/cjs/wallet.js.map +1 -1
- package/dist/esm/clients/decorators/subgraph.js.map +1 -1
- package/dist/esm/clients/decorators/wallet.js +2 -0
- package/dist/esm/clients/decorators/wallet.js.map +1 -1
- package/dist/esm/clients/public.js.map +1 -1
- package/dist/esm/clients/subgraph.js.map +1 -1
- package/dist/esm/contracts/consts.js +53 -2
- package/dist/esm/contracts/consts.js.map +1 -1
- package/dist/esm/dns.js +1 -1
- package/dist/esm/dns.js.map +1 -1
- package/dist/esm/errors/subgraph.js.map +1 -1
- package/dist/esm/errors/utils.js +24 -16
- package/dist/esm/errors/utils.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/errors/version.js.map +1 -1
- package/dist/esm/functions/dns/{prepareDnsImport.js → getDnsImportData.js} +10 -10
- package/dist/esm/functions/dns/{prepareDnsImport.js.map → getDnsImportData.js.map} +1 -1
- package/dist/esm/functions/dns/getDnsOwner.js +1 -1
- package/dist/esm/functions/dns/importDnsName.js +13 -12
- package/dist/esm/functions/dns/importDnsName.js.map +1 -1
- package/dist/esm/functions/public/_getAbi.js +2 -2
- package/dist/esm/functions/public/_getAbi.js.map +1 -1
- package/dist/esm/functions/public/_getAddr.js +10 -20
- package/dist/esm/functions/public/_getAddr.js.map +1 -1
- package/dist/esm/functions/public/_getContentHash.js +2 -2
- package/dist/esm/functions/public/batch.js +2 -1
- package/dist/esm/functions/public/batch.js.map +1 -1
- package/dist/esm/functions/public/getAbiRecord.js +2 -1
- package/dist/esm/functions/public/getAbiRecord.js.map +1 -1
- package/dist/esm/functions/public/getAddressRecord.js +2 -1
- package/dist/esm/functions/public/getAddressRecord.js.map +1 -1
- package/dist/esm/functions/public/getAvailable.js +2 -1
- package/dist/esm/functions/public/getAvailable.js.map +1 -1
- package/dist/esm/functions/public/getContentHashRecord.js +2 -1
- package/dist/esm/functions/public/getContentHashRecord.js.map +1 -1
- package/dist/esm/functions/public/getExpiry.js +2 -1
- package/dist/esm/functions/public/getExpiry.js.map +1 -1
- package/dist/esm/functions/public/getName.js +2 -1
- package/dist/esm/functions/public/getName.js.map +1 -1
- package/dist/esm/functions/public/getOwner.js +3 -2
- package/dist/esm/functions/public/getOwner.js.map +1 -1
- package/dist/esm/functions/public/getPrice.js +3 -2
- package/dist/esm/functions/public/getPrice.js.map +1 -1
- package/dist/esm/functions/public/getRecords.js +54 -39
- package/dist/esm/functions/public/getRecords.js.map +1 -1
- package/dist/esm/functions/public/getResolver.js +2 -1
- package/dist/esm/functions/public/getResolver.js.map +1 -1
- package/dist/esm/functions/public/getSupportedInterfaces.js +24 -2
- package/dist/esm/functions/public/getSupportedInterfaces.js.map +1 -1
- package/dist/esm/functions/public/getTextRecord.js +2 -1
- package/dist/esm/functions/public/getTextRecord.js.map +1 -1
- package/dist/esm/functions/public/getWrapperData.js +2 -1
- package/dist/esm/functions/public/getWrapperData.js.map +1 -1
- package/dist/esm/functions/public/getWrapperName.js +2 -1
- package/dist/esm/functions/public/getWrapperName.js.map +1 -1
- package/dist/esm/functions/public/multicallWrapper.js.map +1 -1
- package/dist/esm/functions/public/universalWrapper.js.map +1 -1
- package/dist/esm/functions/subgraph/client.js.map +1 -1
- package/dist/esm/functions/subgraph/filters.js +2 -0
- package/dist/esm/functions/subgraph/filters.js.map +1 -0
- package/dist/esm/functions/subgraph/getDecodedName.js +2 -1
- package/dist/esm/functions/subgraph/getDecodedName.js.map +1 -1
- package/dist/esm/functions/subgraph/getNameHistory.js +8 -6
- package/dist/esm/functions/subgraph/getNameHistory.js.map +1 -1
- package/dist/esm/functions/subgraph/getNamesForAddress.js +163 -192
- package/dist/esm/functions/subgraph/getNamesForAddress.js.map +1 -1
- package/dist/esm/functions/subgraph/getSubgraphRecords.js +36 -27
- package/dist/esm/functions/subgraph/getSubgraphRecords.js.map +1 -1
- package/dist/esm/functions/subgraph/getSubgraphRegistrant.js +2 -1
- package/dist/esm/functions/subgraph/getSubgraphRegistrant.js.map +1 -1
- package/dist/esm/functions/subgraph/getSubnames.js +103 -112
- package/dist/esm/functions/subgraph/getSubnames.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/functions/wallet/clearRecords.js +44 -0
- package/dist/esm/functions/wallet/clearRecords.js.map +1 -0
- package/dist/esm/functions/wallet/commitName.js +3 -1
- package/dist/esm/functions/wallet/commitName.js.map +1 -1
- package/dist/esm/functions/wallet/createSubname.js +3 -2
- package/dist/esm/functions/wallet/createSubname.js.map +1 -1
- package/dist/esm/functions/wallet/deleteSubname.js +2 -1
- package/dist/esm/functions/wallet/deleteSubname.js.map +1 -1
- package/dist/esm/functions/wallet/registerName.js +4 -1
- package/dist/esm/functions/wallet/registerName.js.map +1 -1
- package/dist/esm/functions/wallet/renewNames.js +3 -1
- package/dist/esm/functions/wallet/renewNames.js.map +1 -1
- package/dist/esm/functions/wallet/setAbiRecord.js +3 -1
- package/dist/esm/functions/wallet/setAbiRecord.js.map +1 -1
- package/dist/esm/functions/wallet/setAddressRecord.js +2 -1
- package/dist/esm/functions/wallet/setAddressRecord.js.map +1 -1
- package/dist/esm/functions/wallet/setChildFuses.js +3 -2
- package/dist/esm/functions/wallet/setChildFuses.js.map +1 -1
- package/dist/esm/functions/wallet/setContentHashRecord.js +2 -1
- package/dist/esm/functions/wallet/setContentHashRecord.js.map +1 -1
- package/dist/esm/functions/wallet/setFuses.js +4 -3
- package/dist/esm/functions/wallet/setFuses.js.map +1 -1
- package/dist/esm/functions/wallet/setPrimaryName.js +2 -1
- package/dist/esm/functions/wallet/setPrimaryName.js.map +1 -1
- package/dist/esm/functions/wallet/setRecords.js +2 -1
- package/dist/esm/functions/wallet/setRecords.js.map +1 -1
- package/dist/esm/functions/wallet/setResolver.js +2 -1
- package/dist/esm/functions/wallet/setResolver.js.map +1 -1
- package/dist/esm/functions/wallet/setTextRecord.js +2 -1
- package/dist/esm/functions/wallet/setTextRecord.js.map +1 -1
- package/dist/esm/functions/wallet/transferName.js +2 -1
- package/dist/esm/functions/wallet/transferName.js.map +1 -1
- package/dist/esm/functions/wallet/unwrapName.js +2 -1
- package/dist/esm/functions/wallet/unwrapName.js.map +1 -1
- package/dist/esm/functions/wallet/wrapName.js +6 -3
- package/dist/esm/functions/wallet/wrapName.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/subgraph.js +1 -0
- package/dist/esm/subgraph.js.map +1 -1
- package/dist/esm/utils/contentHash.js +56 -128
- package/dist/esm/utils/contentHash.js.map +1 -1
- package/dist/esm/utils/encoders/encodeAbi.js +30 -2
- package/dist/esm/utils/encoders/encodeAbi.js.map +1 -1
- package/dist/esm/utils/encoders/encodeClearRecords.js +8 -0
- package/dist/esm/utils/encoders/encodeClearRecords.js.map +1 -0
- package/dist/esm/utils/encoders/encodeSetAddr.js +5 -16
- package/dist/esm/utils/encoders/encodeSetAddr.js.map +1 -1
- package/dist/esm/utils/encoders/encodeSetContentHash.js +2 -5
- package/dist/esm/utils/encoders/encodeSetContentHash.js.map +1 -1
- package/dist/esm/utils/format.js +0 -2
- package/dist/esm/utils/format.js.map +1 -1
- package/dist/esm/utils/fuses.js +183 -201
- package/dist/esm/utils/fuses.js.map +1 -1
- package/dist/esm/utils/generateRecordCallArray.js +3 -7
- package/dist/esm/utils/generateRecordCallArray.js.map +1 -1
- package/dist/esm/utils/index.js +5 -3
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/normaliseCoinId.js +30 -0
- package/dist/esm/utils/normaliseCoinId.js.map +1 -0
- package/dist/esm/utils/registerHelpers.js +4 -2
- package/dist/esm/utils/registerHelpers.js.map +1 -1
- package/dist/esm/wallet.js +1 -0
- package/dist/esm/wallet.js.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +1 -519
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/clients/decorators/subgraph.d.ts +2 -520
- package/dist/types/clients/decorators/subgraph.d.ts.map +1 -1
- package/dist/types/clients/decorators/wallet.d.ts +66 -47
- package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
- package/dist/types/clients/public.d.ts +24 -265
- package/dist/types/clients/public.d.ts.map +1 -1
- package/dist/types/clients/subgraph.d.ts +19 -260
- package/dist/types/clients/subgraph.d.ts.map +1 -1
- package/dist/types/clients/wallet.d.ts +54 -86
- package/dist/types/clients/wallet.d.ts.map +1 -1
- package/dist/types/contracts/consts.d.ts +52 -3
- package/dist/types/contracts/consts.d.ts.map +1 -1
- package/dist/types/dns.d.ts +2 -2
- package/dist/types/dns.d.ts.map +1 -1
- package/dist/types/errors/subgraph.d.ts +4 -4
- package/dist/types/errors/subgraph.d.ts.map +1 -1
- package/dist/types/errors/utils.d.ts +16 -13
- package/dist/types/errors/utils.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/errors/version.d.ts.map +1 -1
- package/dist/types/functions/dns/getDnsImportData.d.ts +39 -0
- package/dist/types/functions/dns/{prepareDnsImport.d.ts.map → getDnsImportData.d.ts.map} +1 -1
- package/dist/types/functions/dns/getDnsOwner.d.ts +1 -1
- package/dist/types/functions/dns/importDnsName.d.ts +88 -102
- package/dist/types/functions/dns/importDnsName.d.ts.map +1 -1
- package/dist/types/functions/public/_getAddr.d.ts.map +1 -1
- package/dist/types/functions/public/batch.d.ts +2 -1
- package/dist/types/functions/public/batch.d.ts.map +1 -1
- package/dist/types/functions/public/getAbiRecord.d.ts +2 -1
- package/dist/types/functions/public/getAbiRecord.d.ts.map +1 -1
- package/dist/types/functions/public/getAddressRecord.d.ts +2 -1
- package/dist/types/functions/public/getAddressRecord.d.ts.map +1 -1
- package/dist/types/functions/public/getAvailable.d.ts +2 -1
- package/dist/types/functions/public/getAvailable.d.ts.map +1 -1
- package/dist/types/functions/public/getContentHashRecord.d.ts +2 -1
- package/dist/types/functions/public/getContentHashRecord.d.ts.map +1 -1
- package/dist/types/functions/public/getExpiry.d.ts +2 -1
- package/dist/types/functions/public/getExpiry.d.ts.map +1 -1
- package/dist/types/functions/public/getName.d.ts +2 -1
- package/dist/types/functions/public/getName.d.ts.map +1 -1
- package/dist/types/functions/public/getOwner.d.ts +19 -9
- package/dist/types/functions/public/getOwner.d.ts.map +1 -1
- package/dist/types/functions/public/getPrice.d.ts +3 -2
- package/dist/types/functions/public/getPrice.d.ts.map +1 -1
- package/dist/types/functions/public/getRecords.d.ts +3 -2
- package/dist/types/functions/public/getRecords.d.ts.map +1 -1
- package/dist/types/functions/public/getResolver.d.ts +2 -1
- package/dist/types/functions/public/getResolver.d.ts.map +1 -1
- package/dist/types/functions/public/getSupportedInterfaces.d.ts +41 -4
- package/dist/types/functions/public/getSupportedInterfaces.d.ts.map +1 -1
- package/dist/types/functions/public/getTextRecord.d.ts +2 -1
- package/dist/types/functions/public/getTextRecord.d.ts.map +1 -1
- package/dist/types/functions/public/getWrapperData.d.ts +4 -3
- package/dist/types/functions/public/getWrapperData.d.ts.map +1 -1
- package/dist/types/functions/public/getWrapperName.d.ts +2 -1
- package/dist/types/functions/public/getWrapperName.d.ts.map +1 -1
- package/dist/types/functions/subgraph/client.d.ts +2 -2
- package/dist/types/functions/subgraph/client.d.ts.map +1 -1
- 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/getDecodedName.d.ts +2 -1
- package/dist/types/functions/subgraph/getDecodedName.d.ts.map +1 -1
- package/dist/types/functions/subgraph/getNameHistory.d.ts +2 -1
- package/dist/types/functions/subgraph/getNameHistory.d.ts.map +1 -1
- package/dist/types/functions/subgraph/getNamesForAddress.d.ts +7 -2
- package/dist/types/functions/subgraph/getNamesForAddress.d.ts.map +1 -1
- package/dist/types/functions/subgraph/getSubgraphRecords.d.ts +2 -1
- package/dist/types/functions/subgraph/getSubgraphRecords.d.ts.map +1 -1
- package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts +2 -1
- package/dist/types/functions/subgraph/getSubgraphRegistrant.d.ts.map +1 -1
- package/dist/types/functions/subgraph/getSubnames.d.ts +5 -2
- package/dist/types/functions/subgraph/getSubnames.d.ts.map +1 -1
- 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 +2 -2
- package/dist/types/functions/subgraph/utils.d.ts.map +1 -1
- package/dist/types/functions/wallet/clearRecords.d.ts +555 -0
- package/dist/types/functions/wallet/clearRecords.d.ts.map +1 -0
- package/dist/types/functions/wallet/commitName.d.ts +80 -93
- package/dist/types/functions/wallet/commitName.d.ts.map +1 -1
- package/dist/types/functions/wallet/createSubname.d.ts +82 -96
- package/dist/types/functions/wallet/createSubname.d.ts.map +1 -1
- package/dist/types/functions/wallet/deleteSubname.d.ts +79 -93
- package/dist/types/functions/wallet/deleteSubname.d.ts.map +1 -1
- package/dist/types/functions/wallet/registerName.d.ts +80 -89
- package/dist/types/functions/wallet/registerName.d.ts.map +1 -1
- package/dist/types/functions/wallet/renewNames.d.ts +79 -89
- package/dist/types/functions/wallet/renewNames.d.ts.map +1 -1
- package/dist/types/functions/wallet/setAbiRecord.d.ts +80 -93
- package/dist/types/functions/wallet/setAbiRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/setAddressRecord.d.ts +79 -93
- package/dist/types/functions/wallet/setAddressRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/setChildFuses.d.ts +81 -95
- package/dist/types/functions/wallet/setChildFuses.d.ts.map +1 -1
- package/dist/types/functions/wallet/setContentHashRecord.d.ts +79 -93
- package/dist/types/functions/wallet/setContentHashRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/setFuses.d.ts +81 -95
- package/dist/types/functions/wallet/setFuses.d.ts.map +1 -1
- package/dist/types/functions/wallet/setPrimaryName.d.ts +79 -93
- package/dist/types/functions/wallet/setPrimaryName.d.ts.map +1 -1
- package/dist/types/functions/wallet/setRecords.d.ts +79 -93
- package/dist/types/functions/wallet/setRecords.d.ts.map +1 -1
- package/dist/types/functions/wallet/setResolver.d.ts +79 -93
- package/dist/types/functions/wallet/setResolver.d.ts.map +1 -1
- package/dist/types/functions/wallet/setTextRecord.d.ts +79 -93
- package/dist/types/functions/wallet/setTextRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/transferName.d.ts +80 -94
- package/dist/types/functions/wallet/transferName.d.ts.map +1 -1
- package/dist/types/functions/wallet/unwrapName.d.ts +79 -93
- package/dist/types/functions/wallet/unwrapName.d.ts.map +1 -1
- package/dist/types/functions/wallet/wrapName.d.ts +81 -95
- package/dist/types/functions/wallet/wrapName.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/subgraph.d.ts +1 -0
- package/dist/types/subgraph.d.ts.map +1 -1
- package/dist/types/types.d.ts +3 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/contentHash.d.ts +10 -11
- package/dist/types/utils/contentHash.d.ts.map +1 -1
- package/dist/types/utils/encoders/encodeAbi.d.ts +8 -5
- package/dist/types/utils/encoders/encodeAbi.d.ts.map +1 -1
- package/dist/types/utils/encoders/encodeClearRecords.d.ts +3 -0
- package/dist/types/utils/encoders/encodeClearRecords.d.ts.map +1 -0
- package/dist/types/utils/encoders/encodeSetAddr.d.ts.map +1 -1
- package/dist/types/utils/encoders/encodeSetContentHash.d.ts.map +1 -1
- package/dist/types/utils/format.d.ts +0 -2
- package/dist/types/utils/format.d.ts.map +1 -1
- package/dist/types/utils/fuses.d.ts +164 -125
- package/dist/types/utils/fuses.d.ts.map +1 -1
- package/dist/types/utils/generateRecordCallArray.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +5 -3
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/normaliseCoinId.d.ts +10 -0
- package/dist/types/utils/normaliseCoinId.d.ts.map +1 -0
- package/dist/types/utils/registerHelpers.d.ts +2 -2
- package/dist/types/utils/registerHelpers.d.ts.map +1 -1
- package/dist/types/wallet.d.ts +18 -17
- package/dist/types/wallet.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/clients/decorators/subgraph.ts +1 -0
- package/src/clients/decorators/wallet.ts +41 -3
- package/src/clients/public.ts +3 -2
- package/src/clients/subgraph.ts +3 -2
- package/src/clients/wallet.ts +1 -1
- package/src/contracts/consts.ts +58 -13
- package/src/dns.ts +7 -5
- package/src/errors/subgraph.ts +4 -4
- package/src/errors/utils.ts +29 -18
- package/src/errors/version.ts +1 -1
- package/src/functions/dns/{prepareDnsImport.ts → getDnsImportData.ts} +13 -13
- package/src/functions/dns/getDnsOwner.ts +1 -1
- package/src/functions/dns/importDnsName.ts +21 -15
- package/src/functions/public/_getAbi.ts +2 -2
- package/src/functions/public/_getAddr.ts +16 -23
- package/src/functions/public/_getContentHash.ts +2 -2
- package/src/functions/public/batch.ts +2 -1
- package/src/functions/public/getAbiRecord.ts +2 -1
- package/src/functions/public/getAddressRecord.ts +2 -1
- package/src/functions/public/getAvailable.ts +2 -1
- package/src/functions/public/getContentHashRecord.ts +2 -1
- package/src/functions/public/getExpiry.ts +2 -1
- package/src/functions/public/getName.ts +3 -2
- package/src/functions/public/getOwner.ts +54 -33
- package/src/functions/public/getPrice.ts +3 -2
- package/src/functions/public/getRecords.ts +125 -105
- package/src/functions/public/getResolver.ts +3 -2
- package/src/functions/public/getSupportedInterfaces.ts +70 -10
- package/src/functions/public/getTextRecord.ts +2 -1
- package/src/functions/public/getWrapperData.ts +5 -4
- package/src/functions/public/getWrapperName.ts +3 -2
- package/src/functions/public/multicallWrapper.ts +1 -1
- package/src/functions/public/universalWrapper.ts +1 -1
- package/src/functions/subgraph/client.ts +2 -2
- package/src/functions/subgraph/filters.ts +702 -0
- package/src/functions/subgraph/getDecodedName.ts +2 -1
- package/src/functions/subgraph/getNameHistory.ts +8 -6
- package/src/functions/subgraph/getNamesForAddress.ts +199 -195
- package/src/functions/subgraph/getSubgraphRecords.ts +65 -33
- package/src/functions/subgraph/getSubgraphRegistrant.ts +2 -1
- package/src/functions/subgraph/getSubnames.ts +123 -114
- package/src/functions/subgraph/types.ts +13 -0
- package/src/functions/subgraph/utils.ts +2 -2
- package/src/functions/wallet/clearRecords.ts +97 -0
- package/src/functions/wallet/commitName.ts +3 -1
- package/src/functions/wallet/createSubname.ts +6 -5
- package/src/functions/wallet/deleteSubname.ts +2 -1
- package/src/functions/wallet/registerName.ts +4 -1
- package/src/functions/wallet/renewNames.ts +3 -1
- package/src/functions/wallet/setAbiRecord.ts +3 -1
- package/src/functions/wallet/setAddressRecord.ts +2 -1
- package/src/functions/wallet/setChildFuses.ts +5 -4
- package/src/functions/wallet/setContentHashRecord.ts +2 -1
- package/src/functions/wallet/setFuses.ts +8 -4
- package/src/functions/wallet/setPrimaryName.ts +2 -1
- package/src/functions/wallet/setRecords.ts +2 -1
- package/src/functions/wallet/setResolver.ts +2 -1
- package/src/functions/wallet/setTextRecord.ts +2 -1
- package/src/functions/wallet/transferName.ts +3 -2
- package/src/functions/wallet/unwrapName.ts +2 -1
- package/src/functions/wallet/wrapName.ts +10 -4
- package/src/index.ts +0 -1
- package/src/subgraph.ts +5 -0
- package/src/types.ts +6 -3
- package/src/utils/contentHash.ts +65 -113
- package/src/utils/encoders/encodeAbi.ts +37 -8
- package/src/utils/encoders/encodeClearRecords.ts +9 -0
- package/src/utils/encoders/encodeSetAddr.ts +5 -16
- package/src/utils/encoders/encodeSetContentHash.ts +2 -4
- package/src/utils/format.ts +0 -6
- package/src/utils/fuses.ts +312 -308
- package/src/utils/generateRecordCallArray.ts +3 -9
- package/src/utils/index.ts +37 -5
- package/src/utils/normaliseCoinId.ts +36 -0
- package/src/utils/registerHelpers.ts +5 -3
- package/src/wallet.ts +41 -0
- package/dist/types/functions/dns/prepareDnsImport.d.ts +0 -39
- package/src/@types/@ensdomains/content-hash.d.ts +0 -1
- package/src/functions/dns/getDnsOwner.test.ts +0 -195
- package/src/functions/dns/importDnsName.test.ts +0 -117
- package/src/functions/dns/prepareDnsImport.test.ts +0 -115
- package/src/functions/public/batch.test.ts +0 -67
- package/src/functions/public/ccip.test.ts +0 -78
- package/src/functions/public/getAbiRecord.test.ts +0 -174
- package/src/functions/public/getAddressRecord.test.ts +0 -83
- package/src/functions/public/getAvailable.test.ts +0 -17
- package/src/functions/public/getContentHashRecord.test.ts +0 -28
- package/src/functions/public/getExpiry.test.ts +0 -48
- package/src/functions/public/getName.test.ts +0 -66
- package/src/functions/public/getOwner.test.ts +0 -87
- package/src/functions/public/getPrice.test.ts +0 -45
- package/src/functions/public/getRecords.test.ts +0 -49
- package/src/functions/public/getResolver.test.ts +0 -12
- package/src/functions/public/getTextRecord.test.ts +0 -20
- package/src/functions/public/getWrapperData.test.ts +0 -79
- package/src/functions/public/getWrapperName.test.ts +0 -19
- package/src/functions/subgraph/client.test.ts +0 -170
- package/src/functions/subgraph/getDecodedName.test.ts +0 -31
- package/src/functions/subgraph/getNameHistory.test.ts +0 -39
- package/src/functions/subgraph/getNamesForAddress.test.ts +0 -244
- package/src/functions/subgraph/getSubgraphRecords.test.ts +0 -74
- package/src/functions/subgraph/getSubgraphRegistrant.test.ts +0 -34
- package/src/functions/subgraph/getSubnames.test.ts +0 -202
- package/src/functions/wallet/commitName.test.ts +0 -58
- package/src/functions/wallet/createSubname.test.ts +0 -73
- package/src/functions/wallet/deleteSubname.test.ts +0 -150
- package/src/functions/wallet/registerName.test.ts +0 -81
- package/src/functions/wallet/renewNames.test.ts +0 -92
- package/src/functions/wallet/setAbiRecord.test.ts +0 -156
- package/src/functions/wallet/setAddressRecord.test.ts +0 -121
- package/src/functions/wallet/setChildFuses.test.ts +0 -97
- package/src/functions/wallet/setContentHashRecord.test.ts +0 -69
- package/src/functions/wallet/setFuses.test.ts +0 -287
- package/src/functions/wallet/setPrimaryName.test.ts +0 -71
- package/src/functions/wallet/setRecords.test.ts +0 -127
- package/src/functions/wallet/setResolver.test.ts +0 -114
- package/src/functions/wallet/setTextRecord.test.ts +0 -67
- package/src/functions/wallet/transferName.test.ts +0 -201
- package/src/functions/wallet/unwrapName.test.ts +0 -93
- package/src/functions/wallet/wrapName.test.ts +0 -195
- package/src/utils/generateRecordCallArray.test.ts +0 -84
- package/src/utils/labels.test.ts +0 -163
- package/src/utils/makeLabelNodeAndParent.test.ts +0 -11
- package/src/utils/makeSafeSecondsDate.test.ts +0 -14
- package/src/utils/normalise.test.ts +0 -35
- package/src/utils/ownerFromContract.test.ts +0 -52
- package/src/utils/registerHelpers.test.ts +0 -159
- package/src/utils/validation.test.ts +0 -170
- package/src/utils/wrapper.test.ts +0 -46
|
@@ -60,7 +60,8 @@ export const makeFunctionData = <
|
|
|
60
60
|
* @example
|
|
61
61
|
* import { createWalletClient, custom } from 'viem'
|
|
62
62
|
* import { mainnet } from 'viem/chains'
|
|
63
|
-
* import { addEnsContracts
|
|
63
|
+
* import { addEnsContracts } from '@ensdomains/ensjs'
|
|
64
|
+
* import { setTextRecord } from '@ensdomains/ensjs/wallet'
|
|
64
65
|
*
|
|
65
66
|
* const wallet = createWalletClient({
|
|
66
67
|
* chain: addEnsContracts(mainnet),
|
|
@@ -60,7 +60,7 @@ type BaseRegistrarTransferNameDataParameters = {
|
|
|
60
60
|
asParent?: never
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
type TransferNameDataParameters = BaseTransferNameDataParameters &
|
|
63
|
+
export type TransferNameDataParameters = BaseTransferNameDataParameters &
|
|
64
64
|
(
|
|
65
65
|
| RegistryOrNameWrapperTransferNameDataParameters
|
|
66
66
|
| BaseRegistrarTransferNameDataParameters
|
|
@@ -209,7 +209,8 @@ export const makeFunctionData = <
|
|
|
209
209
|
* @example
|
|
210
210
|
* import { createWalletClient, custom } from 'viem'
|
|
211
211
|
* import { mainnet } from 'viem/chains'
|
|
212
|
-
* import { addEnsContracts
|
|
212
|
+
* import { addEnsContracts } from '@ensdomains/ensjs'
|
|
213
|
+
* import { transferName } from '@ensdomains/ensjs/wallet'
|
|
213
214
|
*
|
|
214
215
|
* const wallet = createWalletClient({
|
|
215
216
|
* chain: addEnsContracts(mainnet),
|
|
@@ -127,7 +127,8 @@ export const makeFunctionData = <
|
|
|
127
127
|
* @example
|
|
128
128
|
* import { createWalletClient, custom } from 'viem'
|
|
129
129
|
* import { mainnet } from 'viem/chains'
|
|
130
|
-
* import { addEnsContracts
|
|
130
|
+
* import { addEnsContracts } from '@ensdomains/ensjs'
|
|
131
|
+
* import { unwrapName } from '@ensdomains/ensjs/wallet'
|
|
131
132
|
*
|
|
132
133
|
* const wallet = createWalletClient({
|
|
133
134
|
* chain: addEnsContracts(mainnet),
|
|
@@ -22,7 +22,10 @@ import type {
|
|
|
22
22
|
SimpleTransactionRequest,
|
|
23
23
|
WriteTransactionParameters,
|
|
24
24
|
} from '../../types.js'
|
|
25
|
-
import {
|
|
25
|
+
import {
|
|
26
|
+
encodeFuses,
|
|
27
|
+
type EncodeChildFusesInputObject,
|
|
28
|
+
} from '../../utils/fuses.js'
|
|
26
29
|
import { packetToBytes } from '../../utils/hexEncodedName.js'
|
|
27
30
|
import { checkIsDotEth } from '../../utils/validation.js'
|
|
28
31
|
import { wrappedLabelLengthCheck } from '../../utils/wrapper.js'
|
|
@@ -37,7 +40,7 @@ export type WrapNameDataParameters<
|
|
|
37
40
|
newOwnerAddress: Address
|
|
38
41
|
/** Fuses to set on wrap (eth-2ld only) */
|
|
39
42
|
fuses?: TNameOption extends Eth2ldNameSpecifier
|
|
40
|
-
?
|
|
43
|
+
? EncodeChildFusesInputObject
|
|
41
44
|
: never
|
|
42
45
|
/** The resolver address to set on wrap */
|
|
43
46
|
resolverAddress?: Address
|
|
@@ -83,7 +86,9 @@ export const makeFunctionData = <
|
|
|
83
86
|
|
|
84
87
|
if (isEth2ld) {
|
|
85
88
|
wrappedLabelLengthCheck(labels[0])
|
|
86
|
-
const encodedFuses = fuses
|
|
89
|
+
const encodedFuses = fuses
|
|
90
|
+
? encodeFuses({ restriction: 'child', input: fuses })
|
|
91
|
+
: 0
|
|
87
92
|
const tokenId = BigInt(labelhash(labels[0]))
|
|
88
93
|
|
|
89
94
|
const data = encodeAbiParameters(
|
|
@@ -136,7 +141,8 @@ export const makeFunctionData = <
|
|
|
136
141
|
* @example
|
|
137
142
|
* import { createWalletClient, custom } from 'viem'
|
|
138
143
|
* import { mainnet } from 'viem/chains'
|
|
139
|
-
* import { addEnsContracts
|
|
144
|
+
* import { addEnsContracts } from '@ensdomains/ensjs'
|
|
145
|
+
* import { wrapName } from '@ensdomains/ensjs/wallet'
|
|
140
146
|
*
|
|
141
147
|
* const wallet = createWalletClient({
|
|
142
148
|
* chain: addEnsContracts(mainnet),
|
package/src/index.ts
CHANGED
package/src/subgraph.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -11,9 +11,12 @@ export type Prettify<T> = {
|
|
|
11
11
|
[K in keyof T]: T[K]
|
|
12
12
|
} & {}
|
|
13
13
|
|
|
14
|
-
export type SimpleTransactionRequest =
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
export type SimpleTransactionRequest = {
|
|
15
|
+
[P in keyof Pick<TransactionRequest, 'to' | 'data'>]-?: Exclude<
|
|
16
|
+
TransactionRequest[P],
|
|
17
|
+
null
|
|
18
|
+
>
|
|
19
|
+
}
|
|
17
20
|
|
|
18
21
|
export type TransactionRequestWithPassthrough = SimpleTransactionRequest & {
|
|
19
22
|
passthrough?: any
|
package/src/utils/contentHash.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
decode,
|
|
3
|
+
encode,
|
|
4
|
+
getCodec,
|
|
5
|
+
type Codec as InternalCodec,
|
|
6
|
+
} from '@ensdomains/content-hash'
|
|
2
7
|
import { isHex, type Hex } from 'viem'
|
|
8
|
+
import { InvalidContentHashError } from '../errors/utils.js'
|
|
3
9
|
|
|
4
10
|
export type ProtocolType =
|
|
5
11
|
| 'ipfs'
|
|
@@ -16,16 +22,6 @@ export type DecodedContentHash = {
|
|
|
16
22
|
decoded: string
|
|
17
23
|
}
|
|
18
24
|
|
|
19
|
-
const supportedCodecs = [
|
|
20
|
-
'ipns-ns',
|
|
21
|
-
'ipfs-ns',
|
|
22
|
-
'swarm-ns',
|
|
23
|
-
'onion',
|
|
24
|
-
'onion3',
|
|
25
|
-
'skynet-ns',
|
|
26
|
-
'arweave-ns',
|
|
27
|
-
]
|
|
28
|
-
|
|
29
25
|
function matchProtocol(text: string) {
|
|
30
26
|
return (
|
|
31
27
|
text.match(/^(ipfs|sia|ipns|bzz|onion|onion3|arweave|ar):\/\/(.*)/) ||
|
|
@@ -34,117 +30,73 @@ function matchProtocol(text: string) {
|
|
|
34
30
|
)
|
|
35
31
|
}
|
|
36
32
|
|
|
37
|
-
export
|
|
33
|
+
export const getDisplayCodec = (encoded: string): ProtocolType => {
|
|
34
|
+
const codec = getCodec(encoded)
|
|
35
|
+
switch (codec) {
|
|
36
|
+
case 'ipfs':
|
|
37
|
+
case 'ipns':
|
|
38
|
+
case 'onion':
|
|
39
|
+
case 'onion3':
|
|
40
|
+
return codec
|
|
41
|
+
case 'swarm':
|
|
42
|
+
return 'bzz'
|
|
43
|
+
case 'skynet':
|
|
44
|
+
return 'sia'
|
|
45
|
+
case 'arweave':
|
|
46
|
+
return 'ar'
|
|
47
|
+
default:
|
|
48
|
+
return null
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export const getInternalCodec = (
|
|
53
|
+
displayCodec: NonNullable<ProtocolType>,
|
|
54
|
+
): InternalCodec => {
|
|
55
|
+
switch (displayCodec) {
|
|
56
|
+
case 'bzz':
|
|
57
|
+
return 'swarm'
|
|
58
|
+
case 'sia':
|
|
59
|
+
return 'skynet'
|
|
60
|
+
case 'ar':
|
|
61
|
+
return 'arweave'
|
|
62
|
+
default:
|
|
63
|
+
return displayCodec
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function decodeContentHash(encoded: Hex): DecodedContentHash | null {
|
|
38
68
|
if (!encoded || encoded === '0x') {
|
|
39
69
|
return null
|
|
40
70
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const codec = contentHash.getCodec(encoded)
|
|
44
|
-
if (codec === 'ipfs-ns') {
|
|
45
|
-
protocolType = 'ipfs'
|
|
46
|
-
} else if (codec === 'ipns-ns') {
|
|
47
|
-
protocolType = 'ipns'
|
|
48
|
-
} else if (codec === 'swarm-ns') {
|
|
49
|
-
protocolType = 'bzz'
|
|
50
|
-
} else if (codec === 'onion') {
|
|
51
|
-
protocolType = 'onion'
|
|
52
|
-
} else if (codec === 'onion3') {
|
|
53
|
-
protocolType = 'onion3'
|
|
54
|
-
} else if (codec === 'skynet-ns') {
|
|
55
|
-
protocolType = 'sia'
|
|
56
|
-
} else if (codec === 'arweave-ns') {
|
|
57
|
-
protocolType = 'ar'
|
|
58
|
-
} else {
|
|
59
|
-
decoded = encoded
|
|
60
|
-
}
|
|
71
|
+
const decoded = decode(encoded)
|
|
72
|
+
const protocolType = getDisplayCodec(encoded)
|
|
61
73
|
return { protocolType, decoded }
|
|
62
74
|
}
|
|
63
75
|
|
|
64
|
-
export function
|
|
65
|
-
return
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
)
|
|
76
|
+
export function isValidContentHash(encoded: unknown) {
|
|
77
|
+
if (typeof encoded !== 'string') return false
|
|
78
|
+
const codec = getCodec(encoded)
|
|
79
|
+
return Boolean(codec && isHex(encoded))
|
|
69
80
|
}
|
|
70
81
|
|
|
71
|
-
export function
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
console.log(e)
|
|
77
|
-
}
|
|
78
|
-
return false
|
|
82
|
+
export function getProtocolType(encoded: string) {
|
|
83
|
+
const matched = matchProtocol(encoded)
|
|
84
|
+
if (!matched) return null
|
|
85
|
+
const [, protocolType, decoded] = matched
|
|
86
|
+
return { protocolType: protocolType as NonNullable<ProtocolType>, decoded }
|
|
79
87
|
}
|
|
80
88
|
|
|
81
|
-
export function
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
try {
|
|
85
|
-
const matched = matchProtocol(encoded)
|
|
86
|
-
if (matched) {
|
|
87
|
-
;[, protocolType, decoded] = matched
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
protocolType,
|
|
91
|
-
decoded,
|
|
92
|
-
}
|
|
93
|
-
} catch (e) {
|
|
94
|
-
console.log(e)
|
|
95
|
-
}
|
|
96
|
-
return
|
|
97
|
-
}
|
|
89
|
+
export function encodeContentHash(text: string): Hex {
|
|
90
|
+
const typeData = getProtocolType(text)
|
|
91
|
+
if (!typeData) throw new InvalidContentHashError()
|
|
98
92
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
try {
|
|
110
|
-
if (contentType === 'ipfs') {
|
|
111
|
-
if (content.length >= 4) {
|
|
112
|
-
encoded = `0x${contentHash.encode('ipfs-ns', content)}`
|
|
113
|
-
}
|
|
114
|
-
} else if (contentType === 'ipns') {
|
|
115
|
-
encoded = `0x${contentHash.encode('ipns-ns', content)}`
|
|
116
|
-
} else if (contentType === 'bzz') {
|
|
117
|
-
if (content.length >= 4) {
|
|
118
|
-
encoded = `0x${contentHash.fromSwarm(content)}`
|
|
119
|
-
}
|
|
120
|
-
} else if (contentType === 'onion') {
|
|
121
|
-
if (content.length === 16) {
|
|
122
|
-
encoded = `0x${contentHash.encode('onion', content)}`
|
|
123
|
-
}
|
|
124
|
-
} else if (contentType === 'onion3') {
|
|
125
|
-
if (content.length === 56) {
|
|
126
|
-
encoded = `0x${contentHash.encode('onion3', content)}`
|
|
127
|
-
}
|
|
128
|
-
} else if (contentType === 'sia') {
|
|
129
|
-
if (content.length === 46) {
|
|
130
|
-
encoded = `0x${contentHash.encode('skynet-ns', content)}`
|
|
131
|
-
}
|
|
132
|
-
} else if (contentType === 'arweave' || contentType === 'ar') {
|
|
133
|
-
if (content.length === 43) {
|
|
134
|
-
encoded = `0x${contentHash.encode('arweave-ns', content)}`
|
|
135
|
-
}
|
|
136
|
-
} else {
|
|
137
|
-
console.warn('Unsupported protocol or invalid value', {
|
|
138
|
-
contentType,
|
|
139
|
-
text,
|
|
140
|
-
})
|
|
141
|
-
}
|
|
142
|
-
} catch (err) {
|
|
143
|
-
const errorMessage = 'Error encoding content hash'
|
|
144
|
-
console.warn(errorMessage, { text, encoded })
|
|
145
|
-
error = errorMessage
|
|
146
|
-
// throw 'Error encoding content hash'
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return { encoded, error }
|
|
93
|
+
const internalCodec = getInternalCodec(typeData.protocolType)
|
|
94
|
+
|
|
95
|
+
// manual exceptions for onion/onion3 which are just utf8 encoded
|
|
96
|
+
if (internalCodec === 'onion' && typeData.decoded.length !== 16)
|
|
97
|
+
throw new InvalidContentHashError()
|
|
98
|
+
if (internalCodec === 'onion3' && typeData.decoded.length !== 56)
|
|
99
|
+
throw new InvalidContentHashError()
|
|
100
|
+
|
|
101
|
+
return `0x${encode(internalCodec, typeData.decoded)}`
|
|
150
102
|
}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { bytesToHex, stringToHex, type Hex } from 'viem'
|
|
2
|
+
import { UnknownContentTypeError } from '../../errors/utils.js'
|
|
2
3
|
import type { Prettify } from '../../types.js'
|
|
3
4
|
|
|
4
5
|
type AbiEncodeAs = 'json' | 'zlib' | 'cbor' | 'uri'
|
|
5
6
|
|
|
6
7
|
type AbiContentType = 1 | 2 | 4 | 8
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
json: 1
|
|
10
|
-
zlib: 2
|
|
11
|
-
cbor: 4
|
|
12
|
-
uri: 8
|
|
13
|
-
}
|
|
9
|
+
const abiEncodeMap = {
|
|
10
|
+
json: 1,
|
|
11
|
+
zlib: 2,
|
|
12
|
+
cbor: 4,
|
|
13
|
+
uri: 8,
|
|
14
|
+
} as const
|
|
15
|
+
type AbiEncodeMap = typeof abiEncodeMap
|
|
14
16
|
|
|
15
17
|
type GetAbiContentType<TEncodeAs extends AbiEncodeAs> = AbiEncodeMap[TEncodeAs]
|
|
16
18
|
|
|
@@ -33,6 +35,33 @@ export type EncodedAbi<TContentType extends AbiContentType = AbiContentType> = {
|
|
|
33
35
|
export type EncodeAbiReturnType<TContentType extends AbiContentType> =
|
|
34
36
|
EncodedAbi<TContentType>
|
|
35
37
|
|
|
38
|
+
export const contentTypeToEncodeAs = (
|
|
39
|
+
contentType: AbiContentType,
|
|
40
|
+
): AbiEncodeAs => {
|
|
41
|
+
switch (contentType) {
|
|
42
|
+
case 1:
|
|
43
|
+
return 'json'
|
|
44
|
+
case 2:
|
|
45
|
+
return 'zlib'
|
|
46
|
+
case 4:
|
|
47
|
+
return 'cbor'
|
|
48
|
+
case 8:
|
|
49
|
+
return 'uri'
|
|
50
|
+
default:
|
|
51
|
+
throw new UnknownContentTypeError({ contentType })
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export const encodeAsToContentType = (
|
|
56
|
+
encodeAs: AbiEncodeAs,
|
|
57
|
+
): AbiContentType => {
|
|
58
|
+
const contentType = abiEncodeMap[encodeAs]
|
|
59
|
+
if (contentType === undefined) {
|
|
60
|
+
throw new UnknownContentTypeError({ contentType: encodeAs })
|
|
61
|
+
}
|
|
62
|
+
return contentType
|
|
63
|
+
}
|
|
64
|
+
|
|
36
65
|
export const encodeAbi = async <
|
|
37
66
|
TEncodeAs extends AbiEncodeAs,
|
|
38
67
|
TContentType extends GetAbiContentType<TEncodeAs>,
|
|
@@ -57,8 +86,8 @@ export const encodeAbi = async <
|
|
|
57
86
|
}
|
|
58
87
|
case 'cbor': {
|
|
59
88
|
contentType = 4
|
|
60
|
-
const {
|
|
61
|
-
encodedData = bytesToHex(
|
|
89
|
+
const { cborEncode } = await import('@ensdomains/address-encoder/utils')
|
|
90
|
+
encodedData = bytesToHex(new Uint8Array(cborEncode(data)))
|
|
62
91
|
break
|
|
63
92
|
}
|
|
64
93
|
default: {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { encodeFunctionData, type Hex } from 'viem'
|
|
2
|
+
import { publicResolverClearRecordsSnippet } from '../../contracts/publicResolver.js'
|
|
3
|
+
|
|
4
|
+
export const encodeClearRecords = (namehash: Hex) =>
|
|
5
|
+
encodeFunctionData({
|
|
6
|
+
abi: publicResolverClearRecordsSnippet,
|
|
7
|
+
functionName: 'clearRecords',
|
|
8
|
+
args: [namehash],
|
|
9
|
+
})
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { formatsByCoinType, formatsByName } from '@ensdomains/address-encoder'
|
|
2
1
|
import { bytesToHex, encodeFunctionData, type Address, type Hex } from 'viem'
|
|
3
2
|
import { publicResolverSetAddrSnippet } from '../../contracts/publicResolver.js'
|
|
3
|
+
import { getCoderFromCoin } from '../normaliseCoinId.js'
|
|
4
4
|
|
|
5
5
|
export type EncodeSetAddrParameters = {
|
|
6
6
|
namehash: Hex
|
|
@@ -15,22 +15,11 @@ export const encodeSetAddr = ({
|
|
|
15
15
|
coin,
|
|
16
16
|
value,
|
|
17
17
|
}: EncodeSetAddrParameters): EncodeSetAddrReturnType => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} else if (!Number.isNaN(parseInt(coin))) {
|
|
22
|
-
coinTypeInstance = formatsByCoinType[parseInt(coin)]
|
|
23
|
-
} else {
|
|
24
|
-
coinTypeInstance = formatsByName[coin.toUpperCase()]
|
|
25
|
-
}
|
|
26
|
-
const inputCoinType = coinTypeInstance.coinType
|
|
27
|
-
let encodedAddress: Hex | Uint8Array = value
|
|
28
|
-
? coinTypeInstance.decoder(value)
|
|
29
|
-
: '0x'
|
|
18
|
+
const coder = getCoderFromCoin(coin)
|
|
19
|
+
const inputCoinType = coder.coinType
|
|
20
|
+
let encodedAddress: Hex | Uint8Array = value ? coder.decode(value) : '0x'
|
|
30
21
|
if (inputCoinType === 60 && encodedAddress === '0x')
|
|
31
|
-
encodedAddress =
|
|
32
|
-
'0x0000000000000000000000000000000000000000',
|
|
33
|
-
)
|
|
22
|
+
encodedAddress = coder.decode('0x0000000000000000000000000000000000000000')
|
|
34
23
|
if (typeof encodedAddress !== 'string') {
|
|
35
24
|
encodedAddress = bytesToHex(encodedAddress)
|
|
36
25
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { encodeFunctionData, type Hex } from 'viem'
|
|
2
2
|
import { publicResolverSetContenthashSnippet } from '../../contracts/publicResolver.js'
|
|
3
|
-
import {
|
|
3
|
+
import { encodeContentHash } from '../contentHash.js'
|
|
4
4
|
|
|
5
5
|
export type EncodeSetContentHashParameters = {
|
|
6
6
|
namehash: Hex
|
|
@@ -15,9 +15,7 @@ export const encodeSetContentHash = ({
|
|
|
15
15
|
}: EncodeSetContentHashParameters): EncodeSetContentHashReturnType => {
|
|
16
16
|
let encodedHash: Hex = '0x'
|
|
17
17
|
if (contentHash) {
|
|
18
|
-
|
|
19
|
-
if (encodedObject.error) throw new Error(encodedObject.error)
|
|
20
|
-
encodedHash = encodedObject.encoded as Hex
|
|
18
|
+
encodedHash = encodeContentHash(contentHash)
|
|
21
19
|
}
|
|
22
20
|
return encodeFunctionData({
|
|
23
21
|
abi: publicResolverSetContenthashSnippet,
|
package/src/utils/format.ts
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
export const formatHashed = (name: string): string =>
|
|
2
|
-
name.replace(/(\[)(.{64})(\])/g, '0x$2')
|
|
3
|
-
|
|
4
1
|
export const truncateFormat = (name: string): string =>
|
|
5
2
|
name.replace(/(\[.{3})(.{58})(.{3}\])/g, '$1...$3')
|
|
6
|
-
|
|
7
|
-
export const bracketFormat = (name: string): string =>
|
|
8
|
-
name.replace(/(0x)(.{64})(?=\.)/g, '[$2]')
|