@ensdomains/ensjs 3.4.3 → 3.5.0-beta.0
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/public.js.map +1 -1
- package/dist/cjs/contracts/addEnsContracts.js +6 -6
- package/dist/cjs/contracts/addEnsContracts.js.map +1 -1
- package/dist/cjs/contracts/consts.js +27 -32
- package/dist/cjs/contracts/consts.js.map +1 -1
- package/dist/cjs/contracts/universalResolver.js +10 -1
- package/dist/cjs/contracts/universalResolver.js.map +1 -1
- package/dist/cjs/errors/contracts.js +11 -11
- package/dist/cjs/errors/contracts.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/errors/version.js.map +1 -1
- package/dist/cjs/errors/wallet.js +0 -1
- package/dist/cjs/functions/dns/getDnsImportData.js +1 -1
- package/dist/cjs/functions/dns/getDnsImportData.js.map +1 -1
- package/dist/cjs/functions/dns/getDnsOffchainData.js.map +1 -1
- package/dist/cjs/functions/dns/getDnsOwner.js.map +1 -1
- package/dist/cjs/functions/dns/importDnsName.js +2 -1
- 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.map +1 -1
- package/dist/cjs/functions/public/_getContentHash.js.map +1 -1
- package/dist/cjs/functions/public/_getText.js.map +1 -1
- package/dist/cjs/functions/public/batch.js.map +1 -1
- package/dist/cjs/functions/public/getAbiRecord.js +2 -1
- package/dist/cjs/functions/public/getAbiRecord.js.map +1 -1
- package/dist/cjs/functions/public/getAddressRecord.js +2 -1
- package/dist/cjs/functions/public/getAddressRecord.js.map +1 -1
- package/dist/cjs/functions/public/getContentHashRecord.js +2 -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 +5 -3
- 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 +6 -4
- package/dist/cjs/functions/public/getRecords.js.map +1 -1
- package/dist/cjs/functions/public/getTextRecord.js +2 -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/multicallWrapper.js.map +1 -1
- package/dist/cjs/functions/public/universalWrapper.js +5 -3
- 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/getDecodedName.js.map +1 -1
- package/dist/cjs/functions/subgraph/getNameHistory.js.map +1 -1
- package/dist/cjs/functions/subgraph/getNamesForAddress.js.map +1 -1
- package/dist/cjs/functions/subgraph/getSubnames.js.map +1 -1
- package/dist/cjs/functions/wallet/clearRecords.js +2 -1
- package/dist/cjs/functions/wallet/clearRecords.js.map +1 -1
- package/dist/cjs/functions/wallet/commitName.js +2 -1
- package/dist/cjs/functions/wallet/commitName.js.map +1 -1
- package/dist/cjs/functions/wallet/createSubname.js +2 -1
- package/dist/cjs/functions/wallet/createSubname.js.map +1 -1
- package/dist/cjs/functions/wallet/deleteSubname.js +2 -1
- package/dist/cjs/functions/wallet/deleteSubname.js.map +1 -1
- package/dist/cjs/functions/wallet/registerName.js +2 -1
- package/dist/cjs/functions/wallet/registerName.js.map +1 -1
- package/dist/cjs/functions/wallet/renewNames.js +2 -1
- package/dist/cjs/functions/wallet/renewNames.js.map +1 -1
- package/dist/cjs/functions/wallet/setAbiRecord.js +2 -1
- package/dist/cjs/functions/wallet/setAbiRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/setAddressRecord.js +2 -1
- package/dist/cjs/functions/wallet/setAddressRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/setChildFuses.js +2 -1
- package/dist/cjs/functions/wallet/setChildFuses.js.map +1 -1
- package/dist/cjs/functions/wallet/setContentHashRecord.js +2 -1
- package/dist/cjs/functions/wallet/setContentHashRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/setFuses.js +2 -1
- package/dist/cjs/functions/wallet/setFuses.js.map +1 -1
- package/dist/cjs/functions/wallet/setPrimaryName.js +2 -1
- package/dist/cjs/functions/wallet/setPrimaryName.js.map +1 -1
- package/dist/cjs/functions/wallet/setRecords.js +2 -1
- package/dist/cjs/functions/wallet/setRecords.js.map +1 -1
- package/dist/cjs/functions/wallet/setResolver.js +2 -1
- package/dist/cjs/functions/wallet/setResolver.js.map +1 -1
- package/dist/cjs/functions/wallet/setTextRecord.js +2 -1
- package/dist/cjs/functions/wallet/setTextRecord.js.map +1 -1
- package/dist/cjs/functions/wallet/transferName.js +2 -1
- package/dist/cjs/functions/wallet/transferName.js.map +1 -1
- package/dist/cjs/functions/wallet/unwrapName.js +2 -1
- package/dist/cjs/functions/wallet/unwrapName.js.map +1 -1
- package/dist/cjs/functions/wallet/wrapName.js +2 -1
- package/dist/cjs/functions/wallet/wrapName.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/checkSafeUniversalResolverData.js.map +1 -1
- package/dist/cjs/utils/contentHash.js.map +1 -1
- package/dist/cjs/utils/encoders/encodeAbi.js +2 -2
- package/dist/cjs/utils/encoders/encodeAbi.js.map +1 -1
- package/dist/cjs/utils/encoders/encodeSetAddr.js.map +1 -1
- package/dist/cjs/utils/encoders/encodeSetContentHash.js.map +1 -1
- package/dist/cjs/utils/fuses.js.map +1 -1
- package/dist/cjs/utils/generateRecordCallArray.js.map +1 -1
- package/dist/cjs/utils/getNameType.js.map +1 -1
- package/dist/cjs/utils/hexEncodedName.js.map +1 -1
- package/dist/cjs/utils/labels.js.map +1 -1
- package/dist/cjs/utils/normalise.js.map +1 -1
- package/dist/cjs/utils/normaliseCoinId.js.map +1 -1
- package/dist/cjs/utils/ownerFromContract.js.map +1 -1
- package/dist/cjs/utils/registerHelpers.js +6 -1
- package/dist/cjs/utils/registerHelpers.js.map +1 -1
- package/dist/cjs/utils/validation.js.map +1 -1
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/contracts/addEnsContracts.js +7 -7
- package/dist/esm/contracts/addEnsContracts.js.map +1 -1
- package/dist/esm/contracts/consts.js +27 -32
- package/dist/esm/contracts/consts.js.map +1 -1
- package/dist/esm/contracts/universalResolver.js +9 -0
- package/dist/esm/contracts/universalResolver.js.map +1 -1
- package/dist/esm/errors/contracts.js +9 -9
- package/dist/esm/errors/contracts.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/errors/version.js.map +1 -1
- package/dist/esm/errors/wallet.js +1 -1
- package/dist/esm/functions/dns/getDnsOffchainData.js.map +1 -1
- package/dist/esm/functions/dns/getDnsOwner.js.map +1 -1
- package/dist/esm/functions/dns/importDnsName.js +3 -2
- package/dist/esm/functions/dns/importDnsName.js.map +1 -1
- package/dist/esm/functions/public/_getAbi.js.map +1 -1
- package/dist/esm/functions/public/_getAddr.js.map +1 -1
- package/dist/esm/functions/public/_getContentHash.js.map +1 -1
- package/dist/esm/functions/public/_getText.js.map +1 -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/getContentHashRecord.js +2 -1
- package/dist/esm/functions/public/getContentHashRecord.js.map +1 -1
- package/dist/esm/functions/public/getExpiry.js.map +1 -1
- package/dist/esm/functions/public/getName.js +6 -4
- package/dist/esm/functions/public/getName.js.map +1 -1
- package/dist/esm/functions/public/getOwner.js.map +1 -1
- package/dist/esm/functions/public/getPrice.js.map +1 -1
- package/dist/esm/functions/public/getRecords.js +7 -5
- package/dist/esm/functions/public/getRecords.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.map +1 -1
- package/dist/esm/functions/public/multicallWrapper.js.map +1 -1
- package/dist/esm/functions/public/universalWrapper.js +6 -4
- 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/getDecodedName.js.map +1 -1
- package/dist/esm/functions/subgraph/getNameHistory.js.map +1 -1
- package/dist/esm/functions/subgraph/getNamesForAddress.js.map +1 -1
- package/dist/esm/functions/subgraph/getSubnames.js.map +1 -1
- package/dist/esm/functions/wallet/clearRecords.js +3 -2
- package/dist/esm/functions/wallet/clearRecords.js.map +1 -1
- package/dist/esm/functions/wallet/commitName.js +3 -2
- 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 +3 -2
- package/dist/esm/functions/wallet/deleteSubname.js.map +1 -1
- package/dist/esm/functions/wallet/registerName.js +3 -2
- package/dist/esm/functions/wallet/registerName.js.map +1 -1
- package/dist/esm/functions/wallet/renewNames.js +3 -2
- package/dist/esm/functions/wallet/renewNames.js.map +1 -1
- package/dist/esm/functions/wallet/setAbiRecord.js +3 -2
- package/dist/esm/functions/wallet/setAbiRecord.js.map +1 -1
- package/dist/esm/functions/wallet/setAddressRecord.js +3 -2
- 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 +3 -2
- package/dist/esm/functions/wallet/setContentHashRecord.js.map +1 -1
- package/dist/esm/functions/wallet/setFuses.js +3 -2
- package/dist/esm/functions/wallet/setFuses.js.map +1 -1
- package/dist/esm/functions/wallet/setPrimaryName.js +3 -2
- package/dist/esm/functions/wallet/setPrimaryName.js.map +1 -1
- package/dist/esm/functions/wallet/setRecords.js +3 -2
- package/dist/esm/functions/wallet/setRecords.js.map +1 -1
- package/dist/esm/functions/wallet/setResolver.js +3 -2
- package/dist/esm/functions/wallet/setResolver.js.map +1 -1
- package/dist/esm/functions/wallet/setTextRecord.js +3 -2
- package/dist/esm/functions/wallet/setTextRecord.js.map +1 -1
- package/dist/esm/functions/wallet/transferName.js +3 -2
- package/dist/esm/functions/wallet/transferName.js.map +1 -1
- package/dist/esm/functions/wallet/unwrapName.js +3 -2
- package/dist/esm/functions/wallet/unwrapName.js.map +1 -1
- package/dist/esm/functions/wallet/wrapName.js +3 -2
- 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/utils/checkSafeUniversalResolverData.js.map +1 -1
- package/dist/esm/utils/contentHash.js.map +1 -1
- package/dist/esm/utils/encoders/encodeAbi.js.map +1 -1
- package/dist/esm/utils/encoders/encodeSetAddr.js.map +1 -1
- package/dist/esm/utils/encoders/encodeSetContentHash.js.map +1 -1
- package/dist/esm/utils/fuses.js.map +1 -1
- package/dist/esm/utils/generateRecordCallArray.js.map +1 -1
- package/dist/esm/utils/getNameType.js.map +1 -1
- package/dist/esm/utils/hexEncodedName.js.map +1 -1
- package/dist/esm/utils/labels.js.map +1 -1
- package/dist/esm/utils/normalise.js.map +1 -1
- package/dist/esm/utils/normaliseCoinId.js.map +1 -1
- package/dist/esm/utils/ownerFromContract.js.map +1 -1
- package/dist/esm/utils/registerHelpers.js +6 -1
- package/dist/esm/utils/registerHelpers.js.map +1 -1
- package/dist/esm/utils/validation.js.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +1 -1
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/clients/decorators/wallet.d.ts +25 -25
- package/dist/types/clients/public.d.ts +2 -2
- package/dist/types/clients/subgraph.d.ts +1 -1
- package/dist/types/clients/wallet.d.ts +25 -25
- package/dist/types/contracts/consts.d.ts +32 -32
- package/dist/types/contracts/consts.d.ts.map +1 -1
- package/dist/types/contracts/index.d.ts +1 -1
- package/dist/types/contracts/index.d.ts.map +1 -1
- package/dist/types/contracts/universalResolver.d.ts +102 -0
- package/dist/types/contracts/universalResolver.d.ts.map +1 -1
- package/dist/types/errors/contracts.d.ts +6 -6
- package/dist/types/errors/contracts.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/errors/wallet.d.ts +0 -1
- package/dist/types/functions/dns/importDnsName.d.ts +6 -520
- package/dist/types/functions/dns/importDnsName.d.ts.map +1 -1
- package/dist/types/functions/public/getAbiRecord.d.ts +2 -2
- package/dist/types/functions/public/getAbiRecord.d.ts.map +1 -1
- package/dist/types/functions/public/getAddressRecord.d.ts +2 -2
- package/dist/types/functions/public/getAddressRecord.d.ts.map +1 -1
- package/dist/types/functions/public/getContentHashRecord.d.ts +2 -2
- package/dist/types/functions/public/getContentHashRecord.d.ts.map +1 -1
- package/dist/types/functions/public/getName.d.ts +1 -1
- package/dist/types/functions/public/getName.d.ts.map +1 -1
- package/dist/types/functions/public/getRecords.d.ts +1 -1
- package/dist/types/functions/public/getRecords.d.ts.map +1 -1
- package/dist/types/functions/public/getTextRecord.d.ts +2 -2
- package/dist/types/functions/public/getTextRecord.d.ts.map +1 -1
- package/dist/types/functions/public/universalWrapper.d.ts +1 -1
- package/dist/types/functions/public/universalWrapper.d.ts.map +1 -1
- package/dist/types/functions/wallet/clearRecords.d.ts +6 -520
- package/dist/types/functions/wallet/clearRecords.d.ts.map +1 -1
- package/dist/types/functions/wallet/commitName.d.ts +6 -520
- package/dist/types/functions/wallet/commitName.d.ts.map +1 -1
- package/dist/types/functions/wallet/createSubname.d.ts +6 -520
- package/dist/types/functions/wallet/createSubname.d.ts.map +1 -1
- package/dist/types/functions/wallet/deleteSubname.d.ts +6 -520
- package/dist/types/functions/wallet/deleteSubname.d.ts.map +1 -1
- package/dist/types/functions/wallet/registerName.d.ts +6 -520
- package/dist/types/functions/wallet/registerName.d.ts.map +1 -1
- package/dist/types/functions/wallet/renewNames.d.ts +6 -520
- package/dist/types/functions/wallet/renewNames.d.ts.map +1 -1
- package/dist/types/functions/wallet/setAbiRecord.d.ts +6 -520
- package/dist/types/functions/wallet/setAbiRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/setAddressRecord.d.ts +6 -520
- package/dist/types/functions/wallet/setAddressRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/setChildFuses.d.ts +6 -520
- package/dist/types/functions/wallet/setChildFuses.d.ts.map +1 -1
- package/dist/types/functions/wallet/setContentHashRecord.d.ts +6 -520
- package/dist/types/functions/wallet/setContentHashRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/setFuses.d.ts +6 -520
- package/dist/types/functions/wallet/setFuses.d.ts.map +1 -1
- package/dist/types/functions/wallet/setPrimaryName.d.ts +6 -520
- package/dist/types/functions/wallet/setPrimaryName.d.ts.map +1 -1
- package/dist/types/functions/wallet/setRecords.d.ts +6 -520
- package/dist/types/functions/wallet/setRecords.d.ts.map +1 -1
- package/dist/types/functions/wallet/setResolver.d.ts +6 -520
- package/dist/types/functions/wallet/setResolver.d.ts.map +1 -1
- package/dist/types/functions/wallet/setTextRecord.d.ts +6 -520
- package/dist/types/functions/wallet/setTextRecord.d.ts.map +1 -1
- package/dist/types/functions/wallet/transferName.d.ts +6 -520
- package/dist/types/functions/wallet/transferName.d.ts.map +1 -1
- package/dist/types/functions/wallet/unwrapName.d.ts +6 -520
- package/dist/types/functions/wallet/unwrapName.d.ts.map +1 -1
- package/dist/types/functions/wallet/wrapName.d.ts +6 -520
- 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/utils/dns/misc.d.ts +1 -1
- package/dist/types/utils/dns/misc.d.ts.map +1 -1
- package/dist/types/utils/registerHelpers.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/clients/decorators/public.ts +1 -0
- package/src/contracts/addEnsContracts.ts +7 -7
- package/src/contracts/consts.ts +33 -45
- package/src/contracts/index.ts +1 -1
- package/src/contracts/universalResolver.ts +12 -0
- package/src/errors/contracts.ts +12 -12
- package/src/errors/version.ts +1 -1
- package/src/functions/dns/importDnsName.ts +6 -6
- package/src/functions/public/getAbiRecord.ts +6 -2
- package/src/functions/public/getAddressRecord.ts +7 -2
- package/src/functions/public/getContentHashRecord.ts +6 -2
- package/src/functions/public/getName.ts +9 -4
- package/src/functions/public/getRecords.ts +10 -4
- package/src/functions/public/getTextRecord.ts +6 -2
- package/src/functions/public/universalWrapper.ts +12 -4
- package/src/functions/wallet/clearRecords.ts +6 -5
- package/src/functions/wallet/commitName.ts +6 -5
- package/src/functions/wallet/createSubname.ts +6 -5
- package/src/functions/wallet/deleteSubname.ts +6 -5
- package/src/functions/wallet/registerName.ts +6 -5
- package/src/functions/wallet/renewNames.ts +6 -5
- package/src/functions/wallet/setAbiRecord.ts +6 -5
- package/src/functions/wallet/setAddressRecord.ts +6 -5
- package/src/functions/wallet/setChildFuses.ts +6 -5
- package/src/functions/wallet/setContentHashRecord.ts +6 -5
- package/src/functions/wallet/setFuses.ts +6 -5
- package/src/functions/wallet/setPrimaryName.ts +7 -6
- package/src/functions/wallet/setRecords.ts +6 -5
- package/src/functions/wallet/setResolver.ts +6 -5
- package/src/functions/wallet/setTextRecord.ts +6 -5
- package/src/functions/wallet/transferName.ts +7 -6
- package/src/functions/wallet/unwrapName.ts +6 -5
- package/src/functions/wallet/wrapName.ts +7 -6
- package/src/index.ts +1 -1
- package/src/utils/registerHelpers.ts +8 -1
- package/dist/cjs/utils/generateSupportedContentTypes.test.ts.js +0 -20
- package/dist/cjs/utils/generateSupportedContentTypes.test.ts.js.map +0 -1
- package/dist/esm/utils/generateSupportedContentTypes.test.ts.js +0 -18
- package/dist/esm/utils/generateSupportedContentTypes.test.ts.js.map +0 -1
- package/dist/types/utils/generateSupportedContentTypes.test.ts.d.ts +0 -2
- package/dist/types/utils/generateSupportedContentTypes.test.ts.d.ts.map +0 -1
- package/src/@types/@ensdomains/ens-contracts.d.ts +0 -1
- package/src/ABIs/Multicall.json +0 -452
- package/src/utils/generateSupportedContentTypes.test.ts.ts +0 -24
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Chain } from 'viem'
|
|
2
|
-
import { NoChainError,
|
|
2
|
+
import { NoChainError, UnsupportedChainError } from '../errors/contracts.js'
|
|
3
3
|
import {
|
|
4
4
|
addresses,
|
|
5
5
|
subgraphs,
|
|
@@ -24,19 +24,19 @@ import {
|
|
|
24
24
|
*/
|
|
25
25
|
export const addEnsContracts = <const TChain extends Chain>(chain: TChain) => {
|
|
26
26
|
if (!chain) throw new NoChainError()
|
|
27
|
-
if (!supportedChains.includes(chain.
|
|
28
|
-
throw new
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
if (!supportedChains.includes(chain.id as SupportedChain))
|
|
28
|
+
throw new UnsupportedChainError({
|
|
29
|
+
chainId: chain.id,
|
|
30
|
+
supportedChains,
|
|
31
31
|
})
|
|
32
32
|
return {
|
|
33
33
|
...chain,
|
|
34
34
|
contracts: {
|
|
35
35
|
...chain.contracts,
|
|
36
|
-
...addresses[chain.
|
|
36
|
+
...addresses[chain.id as SupportedChain],
|
|
37
37
|
},
|
|
38
38
|
subgraphs: {
|
|
39
|
-
...subgraphs[chain.
|
|
39
|
+
...subgraphs[chain.id as SupportedChain],
|
|
40
40
|
},
|
|
41
41
|
} as unknown as CheckedChainWithEns<TChain>
|
|
42
42
|
}
|
package/src/contracts/consts.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
Account,
|
|
3
|
-
Address,
|
|
4
|
-
Chain,
|
|
5
|
-
Client,
|
|
6
|
-
Transport,
|
|
7
|
-
WalletClient,
|
|
8
|
-
} from 'viem'
|
|
1
|
+
import type { Account, Address, Chain, Client, Transport } from 'viem'
|
|
9
2
|
import type { Assign, Prettify } from '../types.js'
|
|
10
3
|
|
|
11
4
|
type ChainContract = {
|
|
@@ -13,12 +6,7 @@ type ChainContract = {
|
|
|
13
6
|
blockCreated?: number
|
|
14
7
|
}
|
|
15
8
|
|
|
16
|
-
export const supportedChains = [
|
|
17
|
-
'homestead',
|
|
18
|
-
'goerli',
|
|
19
|
-
'sepolia',
|
|
20
|
-
'holesky',
|
|
21
|
-
] as const
|
|
9
|
+
export const supportedChains = [1, 5, 17000, 11155111] as const
|
|
22
10
|
export const supportedContracts = [
|
|
23
11
|
'ensBaseRegistrarImplementation',
|
|
24
12
|
'ensBulkRenewal',
|
|
@@ -36,7 +24,7 @@ export type SupportedChain = (typeof supportedChains)[number]
|
|
|
36
24
|
export type SupportedContract = (typeof supportedContracts)[number]
|
|
37
25
|
|
|
38
26
|
export const addresses = {
|
|
39
|
-
|
|
27
|
+
1: {
|
|
40
28
|
ensBaseRegistrarImplementation: {
|
|
41
29
|
address: '0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85',
|
|
42
30
|
},
|
|
@@ -68,7 +56,7 @@ export const addresses = {
|
|
|
68
56
|
address: '0x8cab227b1162f03b8338331adaad7aadc83b895e',
|
|
69
57
|
},
|
|
70
58
|
},
|
|
71
|
-
|
|
59
|
+
5: {
|
|
72
60
|
ensBaseRegistrarImplementation: {
|
|
73
61
|
address: '0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85',
|
|
74
62
|
},
|
|
@@ -100,68 +88,68 @@ export const addresses = {
|
|
|
100
88
|
address: '0xfc4AC75C46C914aF5892d6d3eFFcebD7917293F1',
|
|
101
89
|
},
|
|
102
90
|
},
|
|
103
|
-
|
|
91
|
+
17000: {
|
|
104
92
|
ensBaseRegistrarImplementation: {
|
|
105
93
|
address: '0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85',
|
|
106
94
|
},
|
|
107
95
|
ensBulkRenewal: {
|
|
108
|
-
address: '
|
|
96
|
+
address: '0xbc4cfB363F948E64Cd73Da6438F64CB37E2e33d1',
|
|
109
97
|
},
|
|
110
98
|
ensDnsRegistrar: {
|
|
111
|
-
address: '
|
|
99
|
+
address: '0x458d278AEd4cE82BAeC384170f39198b01B8351c',
|
|
112
100
|
},
|
|
113
101
|
ensDnssecImpl: {
|
|
114
|
-
address: '
|
|
102
|
+
address: '0x283af0b28c62c092c9727f1ee09c02ca627eb7f5',
|
|
115
103
|
},
|
|
116
104
|
ensEthRegistrarController: {
|
|
117
|
-
address: '
|
|
105
|
+
address: '0x179Be112b24Ad4cFC392eF8924DfA08C20Ad8583',
|
|
118
106
|
},
|
|
119
107
|
ensNameWrapper: {
|
|
120
|
-
address: '
|
|
108
|
+
address: '0xab50971078225D365994dc1Edcb9b7FD72Bb4862',
|
|
121
109
|
},
|
|
122
110
|
ensPublicResolver: {
|
|
123
|
-
address: '
|
|
111
|
+
address: '0x9010A27463717360cAD99CEA8bD39b8705CCA238',
|
|
124
112
|
},
|
|
125
113
|
ensRegistry: {
|
|
126
114
|
address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
|
|
127
115
|
},
|
|
128
116
|
ensReverseRegistrar: {
|
|
129
|
-
address: '
|
|
117
|
+
address: '0x132AC0B116a73add4225029D1951A9A707Ef673f',
|
|
130
118
|
},
|
|
131
119
|
ensUniversalResolver: {
|
|
132
|
-
address: '
|
|
120
|
+
address: '0x2548a7E09deE955c4d97688dcB6C5b24085725f5',
|
|
133
121
|
},
|
|
134
122
|
},
|
|
135
|
-
|
|
123
|
+
11155111: {
|
|
136
124
|
ensBaseRegistrarImplementation: {
|
|
137
125
|
address: '0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85',
|
|
138
126
|
},
|
|
139
127
|
ensBulkRenewal: {
|
|
140
|
-
address: '
|
|
128
|
+
address: '0x4EF77b90762Eddb33C8Eba5B5a19558DaE53D7a1',
|
|
141
129
|
},
|
|
142
130
|
ensDnsRegistrar: {
|
|
143
|
-
address: '
|
|
131
|
+
address: '0x5a07C75Ae469Bf3ee2657B588e8E6ABAC6741b4f',
|
|
144
132
|
},
|
|
145
133
|
ensDnssecImpl: {
|
|
146
|
-
address: '
|
|
134
|
+
address: '0xe62E4b6cE018Ad6e916fcC24545e20a33b9d8653',
|
|
147
135
|
},
|
|
148
136
|
ensEthRegistrarController: {
|
|
149
|
-
address: '
|
|
137
|
+
address: '0xFED6a969AaA60E4961FCD3EBF1A2e8913ac65B72',
|
|
150
138
|
},
|
|
151
139
|
ensNameWrapper: {
|
|
152
|
-
address: '
|
|
140
|
+
address: '0x0635513f179D50A207757E05759CbD106d7dFcE8',
|
|
153
141
|
},
|
|
154
142
|
ensPublicResolver: {
|
|
155
|
-
address: '
|
|
143
|
+
address: '0x8FADE66B79cC9f707aB26799354482EB93a5B7dD',
|
|
156
144
|
},
|
|
157
145
|
ensRegistry: {
|
|
158
146
|
address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
|
|
159
147
|
},
|
|
160
148
|
ensReverseRegistrar: {
|
|
161
|
-
address: '
|
|
149
|
+
address: '0xA0a1AbcDAe1a2a4A2EF8e9113Ff0e02DD81DC0C6',
|
|
162
150
|
},
|
|
163
151
|
ensUniversalResolver: {
|
|
164
|
-
address: '
|
|
152
|
+
address: '0xBaBC7678D7A63104f1658c11D6AE9A21cdA09725',
|
|
165
153
|
},
|
|
166
154
|
},
|
|
167
155
|
} as const satisfies Record<
|
|
@@ -176,24 +164,24 @@ type Subgraphs = {
|
|
|
176
164
|
}
|
|
177
165
|
|
|
178
166
|
export const subgraphs = {
|
|
179
|
-
|
|
167
|
+
1: {
|
|
180
168
|
ens: {
|
|
181
169
|
url: 'https://api.thegraph.com/subgraphs/name/ensdomains/ens',
|
|
182
170
|
},
|
|
183
171
|
},
|
|
184
|
-
|
|
172
|
+
5: {
|
|
185
173
|
ens: {
|
|
186
174
|
url: 'https://api.thegraph.com/subgraphs/name/ensdomains/ensgoerli',
|
|
187
175
|
},
|
|
188
176
|
},
|
|
189
|
-
|
|
177
|
+
17000: {
|
|
190
178
|
ens: {
|
|
191
|
-
url: 'https://api.studio.thegraph.com/query/49574/
|
|
179
|
+
url: 'https://api.studio.thegraph.com/query/49574/ensholesky/version/latest',
|
|
192
180
|
},
|
|
193
181
|
},
|
|
194
|
-
|
|
182
|
+
11155111: {
|
|
195
183
|
ens: {
|
|
196
|
-
url: 'https://api.studio.thegraph.com/query/49574/
|
|
184
|
+
url: 'https://api.studio.thegraph.com/query/49574/enssepolia/version/latest',
|
|
197
185
|
},
|
|
198
186
|
},
|
|
199
187
|
} as const satisfies Record<SupportedChain, Subgraphs>
|
|
@@ -231,11 +219,11 @@ export type ChainWithBaseContracts = Assign<
|
|
|
231
219
|
>
|
|
232
220
|
|
|
233
221
|
export type CheckedChainWithEns<TChain extends Chain> =
|
|
234
|
-
TChain['
|
|
222
|
+
TChain['id'] extends SupportedChain
|
|
235
223
|
? TChain['contracts'] extends BaseChainContracts
|
|
236
224
|
? TChain & {
|
|
237
|
-
contracts: Prettify<(typeof addresses)[TChain['
|
|
238
|
-
subgraphs: (typeof subgraphs)[TChain['
|
|
225
|
+
contracts: Prettify<(typeof addresses)[TChain['id']]>
|
|
226
|
+
subgraphs: (typeof subgraphs)[TChain['id']]
|
|
239
227
|
}
|
|
240
228
|
: never
|
|
241
229
|
: never
|
|
@@ -245,8 +233,8 @@ export type ClientWithEns<
|
|
|
245
233
|
TChain extends ChainWithEns = ChainWithEns,
|
|
246
234
|
> = Client<TTransport, TChain>
|
|
247
235
|
|
|
248
|
-
export type
|
|
236
|
+
export type ClientWithAccount<
|
|
249
237
|
TTransport extends Transport = Transport,
|
|
250
238
|
TChain extends ChainWithEns = ChainWithEns,
|
|
251
239
|
TAccount extends Account | undefined = Account | undefined,
|
|
252
|
-
> =
|
|
240
|
+
> = Client<TTransport, TChain, TAccount>
|
package/src/contracts/index.ts
CHANGED
|
@@ -18,10 +18,10 @@ export {
|
|
|
18
18
|
supportedContracts,
|
|
19
19
|
type ChainWithEns,
|
|
20
20
|
type CheckedChainWithEns,
|
|
21
|
+
type ClientWithAccount,
|
|
21
22
|
type ClientWithEns,
|
|
22
23
|
type SupportedChain,
|
|
23
24
|
type SupportedContract,
|
|
24
|
-
type WalletWithEns,
|
|
25
25
|
} from './consts.js'
|
|
26
26
|
export {
|
|
27
27
|
dnsRegistrarErrors,
|
|
@@ -67,6 +67,10 @@ const universalResolverReverse = {
|
|
|
67
67
|
export const universalResolverReverseSnippet = [
|
|
68
68
|
...universalResolverErrors,
|
|
69
69
|
universalResolverReverse,
|
|
70
|
+
] as const
|
|
71
|
+
|
|
72
|
+
export const universalResolverReverseWithGatewaysSnippet = [
|
|
73
|
+
...universalResolverErrors,
|
|
70
74
|
{
|
|
71
75
|
...universalResolverReverse,
|
|
72
76
|
inputs: [
|
|
@@ -108,6 +112,10 @@ const universalResolverResolve = {
|
|
|
108
112
|
export const universalResolverResolveSnippet = [
|
|
109
113
|
...universalResolverErrors,
|
|
110
114
|
universalResolverResolve,
|
|
115
|
+
] as const
|
|
116
|
+
|
|
117
|
+
export const universalResolverResolveWithGatewaysSnippet = [
|
|
118
|
+
...universalResolverErrors,
|
|
111
119
|
{
|
|
112
120
|
...universalResolverResolve,
|
|
113
121
|
inputs: [
|
|
@@ -159,6 +167,10 @@ const universalResolverResolveArray = {
|
|
|
159
167
|
export const universalResolverResolveArraySnippet = [
|
|
160
168
|
...universalResolverErrors,
|
|
161
169
|
universalResolverResolveArray,
|
|
170
|
+
] as const
|
|
171
|
+
|
|
172
|
+
export const universalResolverResolveArrayWithGatewaysSnippet = [
|
|
173
|
+
...universalResolverErrors,
|
|
162
174
|
{
|
|
163
175
|
...universalResolverResolveArray,
|
|
164
176
|
inputs: [
|
package/src/errors/contracts.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { BaseError } from './base.js'
|
|
2
2
|
|
|
3
|
-
export class
|
|
4
|
-
|
|
3
|
+
export class UnsupportedChainError extends BaseError {
|
|
4
|
+
chainId: number
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
supportedChains: readonly number[]
|
|
7
7
|
|
|
8
|
-
override name = '
|
|
8
|
+
override name = 'UnsupportedChainError'
|
|
9
9
|
|
|
10
10
|
constructor({
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
chainId,
|
|
12
|
+
supportedChains,
|
|
13
13
|
details,
|
|
14
14
|
}: {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
chainId: number
|
|
16
|
+
supportedChains: readonly number[]
|
|
17
17
|
details?: string
|
|
18
18
|
}) {
|
|
19
|
-
super(`Unsupported
|
|
20
|
-
metaMessages: [`- Supported
|
|
19
|
+
super(`Unsupported chain: ${chainId}`, {
|
|
20
|
+
metaMessages: [`- Supported chains: ${supportedChains.join(', ')}`],
|
|
21
21
|
details,
|
|
22
22
|
})
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
23
|
+
this.chainId = chainId
|
|
24
|
+
this.supportedChains = supportedChains
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
package/src/errors/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = 'v3.
|
|
1
|
+
export const version = 'v3.5.0-beta.0'
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
type Hash,
|
|
7
7
|
type SendTransactionParameters,
|
|
8
8
|
type Transport,
|
|
9
|
-
type WalletClient,
|
|
10
9
|
} from 'viem'
|
|
11
|
-
import
|
|
10
|
+
import { sendTransaction } from 'viem/actions'
|
|
11
|
+
import type { ChainWithEns, ClientWithAccount } from '../../contracts/consts.js'
|
|
12
12
|
import {
|
|
13
13
|
dnsRegistrarProveAndClaimSnippet,
|
|
14
14
|
dnsRegistrarProveAndClaimWithResolverSnippet,
|
|
@@ -64,7 +64,7 @@ export const makeFunctionData = <
|
|
|
64
64
|
TChain extends ChainWithEns,
|
|
65
65
|
TAccount extends Account | undefined,
|
|
66
66
|
>(
|
|
67
|
-
wallet:
|
|
67
|
+
wallet: ClientWithAccount<Transport, TChain, TAccount>,
|
|
68
68
|
{
|
|
69
69
|
name,
|
|
70
70
|
dnsImportData,
|
|
@@ -112,7 +112,7 @@ export const makeFunctionData = <
|
|
|
112
112
|
|
|
113
113
|
/**
|
|
114
114
|
* Creates a transaction to import a DNS name to ENS.
|
|
115
|
-
* @param wallet - {@link
|
|
115
|
+
* @param wallet - {@link ClientWithAccount}
|
|
116
116
|
* @param parameters - {@link ImportDnsNameParameters}
|
|
117
117
|
* @returns A transaction hash. {@link ImportDnsNameReturnType}
|
|
118
118
|
*
|
|
@@ -144,7 +144,7 @@ async function importDnsName<
|
|
|
144
144
|
TAccount extends Account | undefined,
|
|
145
145
|
TChainOverride extends ChainWithEns | undefined = ChainWithEns,
|
|
146
146
|
>(
|
|
147
|
-
wallet:
|
|
147
|
+
wallet: ClientWithAccount<Transport, TChain, TAccount>,
|
|
148
148
|
{
|
|
149
149
|
name,
|
|
150
150
|
address,
|
|
@@ -163,7 +163,7 @@ async function importDnsName<
|
|
|
163
163
|
...data,
|
|
164
164
|
...txArgs,
|
|
165
165
|
} as SendTransactionParameters<TChain, TAccount, TChainOverride>
|
|
166
|
-
return
|
|
166
|
+
return sendTransaction(wallet, writeArgs)
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
importDnsName.makeFunctionData = makeFunctionData
|
|
@@ -44,10 +44,14 @@ const decode = async (
|
|
|
44
44
|
client: ClientWithEns,
|
|
45
45
|
data: Hex | BaseError,
|
|
46
46
|
passthrough: GenericPassthrough,
|
|
47
|
-
{
|
|
47
|
+
{
|
|
48
|
+
strict,
|
|
49
|
+
gatewayUrls,
|
|
50
|
+
}: Pick<GetAbiRecordParameters, 'strict' | 'gatewayUrls'>,
|
|
48
51
|
): Promise<GetAbiRecordReturnType> => {
|
|
49
52
|
const urData = await universalWrapper.decode(client, data, passthrough, {
|
|
50
53
|
strict,
|
|
54
|
+
gatewayUrls,
|
|
51
55
|
})
|
|
52
56
|
if (!urData) return null
|
|
53
57
|
return _getAbi.decode(client, urData.data, { strict })
|
|
@@ -76,7 +80,7 @@ type BatchableFunctionObject = GeneratedFunction<typeof encode, typeof decode>
|
|
|
76
80
|
*/
|
|
77
81
|
const getAbiRecord = generateFunction({ encode, decode }) as ((
|
|
78
82
|
client: ClientWithEns,
|
|
79
|
-
{ name, strict }: GetAbiRecordParameters,
|
|
83
|
+
{ name, strict, gatewayUrls, supportedContentTypes }: GetAbiRecordParameters,
|
|
80
84
|
) => Promise<GetAbiRecordReturnType>) &
|
|
81
85
|
BatchableFunctionObject
|
|
82
86
|
|
|
@@ -44,10 +44,15 @@ const decode = async (
|
|
|
44
44
|
client: ClientWithEns,
|
|
45
45
|
data: Hex | BaseError,
|
|
46
46
|
passthrough: GenericPassthrough,
|
|
47
|
-
{
|
|
47
|
+
{
|
|
48
|
+
coin,
|
|
49
|
+
strict,
|
|
50
|
+
gatewayUrls,
|
|
51
|
+
}: Pick<GetAddressRecordParameters, 'coin' | 'strict' | 'gatewayUrls'>,
|
|
48
52
|
): Promise<GetAddressRecordReturnType> => {
|
|
49
53
|
const urData = await universalWrapper.decode(client, data, passthrough, {
|
|
50
54
|
strict,
|
|
55
|
+
gatewayUrls,
|
|
51
56
|
})
|
|
52
57
|
if (!urData) return null
|
|
53
58
|
return _getAddr.decode(client, urData.data, { coin, strict })
|
|
@@ -76,7 +81,7 @@ type BatchableFunctionObject = GeneratedFunction<typeof encode, typeof decode>
|
|
|
76
81
|
*/
|
|
77
82
|
const getAddressRecord = generateFunction({ encode, decode }) as ((
|
|
78
83
|
client: ClientWithEns,
|
|
79
|
-
{ name, coin, bypassFormat, strict }: GetAddressRecordParameters,
|
|
84
|
+
{ name, coin, bypassFormat, strict, gatewayUrls }: GetAddressRecordParameters,
|
|
80
85
|
) => Promise<GetAddressRecordReturnType>) &
|
|
81
86
|
BatchableFunctionObject
|
|
82
87
|
|
|
@@ -41,10 +41,14 @@ const decode = async (
|
|
|
41
41
|
client: ClientWithEns,
|
|
42
42
|
data: Hex | BaseError,
|
|
43
43
|
passthrough: GenericPassthrough,
|
|
44
|
-
{
|
|
44
|
+
{
|
|
45
|
+
strict,
|
|
46
|
+
gatewayUrls,
|
|
47
|
+
}: Pick<GetContentHashRecordParameters, 'strict' | 'gatewayUrls'>,
|
|
45
48
|
): Promise<GetContentHashRecordReturnType> => {
|
|
46
49
|
const urData = await universalWrapper.decode(client, data, passthrough, {
|
|
47
50
|
strict,
|
|
51
|
+
gatewayUrls,
|
|
48
52
|
})
|
|
49
53
|
if (!urData) return null
|
|
50
54
|
return _getContentHash.decode(client, urData.data, { strict })
|
|
@@ -73,7 +77,7 @@ type BatchableFunctionObject = GeneratedFunction<typeof encode, typeof decode>
|
|
|
73
77
|
*/
|
|
74
78
|
const getContentHashRecord = generateFunction({ encode, decode }) as ((
|
|
75
79
|
client: ClientWithEns,
|
|
76
|
-
{ name, strict }: GetContentHashRecordParameters,
|
|
80
|
+
{ name, strict, gatewayUrls }: GetContentHashRecordParameters,
|
|
77
81
|
) => Promise<GetContentHashRecordReturnType>) &
|
|
78
82
|
BatchableFunctionObject
|
|
79
83
|
|
|
@@ -8,7 +8,10 @@ import {
|
|
|
8
8
|
} from 'viem'
|
|
9
9
|
import type { ClientWithEns } from '../../contracts/consts.js'
|
|
10
10
|
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js'
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
universalResolverReverseSnippet,
|
|
13
|
+
universalResolverReverseWithGatewaysSnippet,
|
|
14
|
+
} from '../../contracts/universalResolver.js'
|
|
12
15
|
import type {
|
|
13
16
|
GenericPassthrough,
|
|
14
17
|
TransactionRequestWithPassthrough,
|
|
@@ -58,7 +61,7 @@ const encode = (
|
|
|
58
61
|
...(gatewayUrls?.length
|
|
59
62
|
? {
|
|
60
63
|
data: encodeFunctionData({
|
|
61
|
-
abi:
|
|
64
|
+
abi: universalResolverReverseWithGatewaysSnippet,
|
|
62
65
|
functionName: 'reverse',
|
|
63
66
|
args: [...args, gatewayUrls] as const,
|
|
64
67
|
}),
|
|
@@ -85,11 +88,13 @@ const decode = async (
|
|
|
85
88
|
_client: ClientWithEns,
|
|
86
89
|
data: Hex | BaseError,
|
|
87
90
|
passthrough: GenericPassthrough,
|
|
88
|
-
{ address, allowMismatch, strict }: GetNameParameters,
|
|
91
|
+
{ address, allowMismatch, strict, gatewayUrls }: GetNameParameters,
|
|
89
92
|
): Promise<GetNameReturnType | null> => {
|
|
90
93
|
const isSafe = checkSafeUniversalResolverData(data, {
|
|
91
94
|
strict,
|
|
92
|
-
abi:
|
|
95
|
+
abi: gatewayUrls
|
|
96
|
+
? universalResolverReverseWithGatewaysSnippet
|
|
97
|
+
: universalResolverReverseSnippet,
|
|
93
98
|
args: passthrough.args,
|
|
94
99
|
functionName: 'reverse',
|
|
95
100
|
address: passthrough.address,
|
|
@@ -10,7 +10,10 @@ import {
|
|
|
10
10
|
} from 'viem'
|
|
11
11
|
import type { ClientWithEns } from '../../contracts/consts.js'
|
|
12
12
|
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js'
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
universalResolverResolveArraySnippet,
|
|
15
|
+
universalResolverResolveArrayWithGatewaysSnippet,
|
|
16
|
+
} from '../../contracts/universalResolver.js'
|
|
14
17
|
import type {
|
|
15
18
|
DecodedAddr,
|
|
16
19
|
DecodedText,
|
|
@@ -217,10 +220,10 @@ const encode = (
|
|
|
217
220
|
|
|
218
221
|
return {
|
|
219
222
|
to,
|
|
220
|
-
...(gatewayUrls
|
|
223
|
+
...(gatewayUrls
|
|
221
224
|
? {
|
|
222
225
|
data: encodeFunctionData({
|
|
223
|
-
abi:
|
|
226
|
+
abi: universalResolverResolveArrayWithGatewaysSnippet,
|
|
224
227
|
functionName: 'resolve',
|
|
225
228
|
args: [...args, gatewayUrls] as const,
|
|
226
229
|
}),
|
|
@@ -362,6 +365,7 @@ const decode = async <
|
|
|
362
365
|
coins,
|
|
363
366
|
contentHash,
|
|
364
367
|
abi,
|
|
368
|
+
gatewayUrls,
|
|
365
369
|
}: GetRecordsParameters<TTexts, TCoins, TContentHash, TAbi>,
|
|
366
370
|
): Promise<GetRecordsReturnType<TTexts, TCoins, TContentHash, TAbi>> => {
|
|
367
371
|
const { calls } = passthrough
|
|
@@ -381,7 +385,9 @@ const decode = async <
|
|
|
381
385
|
} else {
|
|
382
386
|
const isSafe = checkSafeUniversalResolverData(data, {
|
|
383
387
|
strict: false,
|
|
384
|
-
abi:
|
|
388
|
+
abi: gatewayUrls
|
|
389
|
+
? universalResolverResolveArrayWithGatewaysSnippet
|
|
390
|
+
: universalResolverResolveArraySnippet,
|
|
385
391
|
args: passthrough.args,
|
|
386
392
|
functionName: 'resolve',
|
|
387
393
|
address: passthrough.address,
|
|
@@ -40,10 +40,14 @@ const decode = async (
|
|
|
40
40
|
client: ClientWithEns,
|
|
41
41
|
data: Hex | BaseError,
|
|
42
42
|
passthrough: GenericPassthrough,
|
|
43
|
-
{
|
|
43
|
+
{
|
|
44
|
+
strict,
|
|
45
|
+
gatewayUrls,
|
|
46
|
+
}: Pick<GetTextRecordParameters, 'strict' | 'gatewayUrls'>,
|
|
44
47
|
): Promise<GetTextRecordReturnType> => {
|
|
45
48
|
const urData = await universalWrapper.decode(client, data, passthrough, {
|
|
46
49
|
strict,
|
|
50
|
+
gatewayUrls,
|
|
47
51
|
})
|
|
48
52
|
if (!urData) return null
|
|
49
53
|
return _getText.decode(client, urData.data, { strict })
|
|
@@ -72,7 +76,7 @@ type BatchableFunctionObject = GeneratedFunction<typeof encode, typeof decode>
|
|
|
72
76
|
*/
|
|
73
77
|
const getTextRecord = generateFunction({ encode, decode }) as ((
|
|
74
78
|
client: ClientWithEns,
|
|
75
|
-
{ name, key, strict }: GetTextRecordParameters,
|
|
79
|
+
{ name, key, strict, gatewayUrls }: GetTextRecordParameters,
|
|
76
80
|
) => Promise<GetTextRecordReturnType>) &
|
|
77
81
|
BatchableFunctionObject
|
|
78
82
|
|
|
@@ -10,7 +10,10 @@ import {
|
|
|
10
10
|
} from 'viem'
|
|
11
11
|
import type { ClientWithEns } from '../../contracts/consts.js'
|
|
12
12
|
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js'
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
universalResolverResolveSnippet,
|
|
15
|
+
universalResolverResolveWithGatewaysSnippet,
|
|
16
|
+
} from '../../contracts/universalResolver.js'
|
|
14
17
|
import type {
|
|
15
18
|
GenericPassthrough,
|
|
16
19
|
TransactionRequestWithPassthrough,
|
|
@@ -57,7 +60,7 @@ const encode = (
|
|
|
57
60
|
...(gatewayUrls?.length
|
|
58
61
|
? {
|
|
59
62
|
data: encodeFunctionData({
|
|
60
|
-
abi:
|
|
63
|
+
abi: universalResolverResolveWithGatewaysSnippet,
|
|
61
64
|
functionName: 'resolve',
|
|
62
65
|
args: [...args, gatewayUrls] as const,
|
|
63
66
|
}),
|
|
@@ -84,11 +87,16 @@ const decode = async (
|
|
|
84
87
|
_client: ClientWithEns,
|
|
85
88
|
data: Hex | BaseError,
|
|
86
89
|
passthrough: GenericPassthrough,
|
|
87
|
-
{
|
|
90
|
+
{
|
|
91
|
+
strict,
|
|
92
|
+
gatewayUrls,
|
|
93
|
+
}: Pick<UniversalWrapperParameters, 'strict' | 'gatewayUrls'>,
|
|
88
94
|
): Promise<UniversalWrapperReturnType> => {
|
|
89
95
|
const isSafe = checkSafeUniversalResolverData(data, {
|
|
90
96
|
strict,
|
|
91
|
-
abi:
|
|
97
|
+
abi: gatewayUrls
|
|
98
|
+
? universalResolverResolveWithGatewaysSnippet
|
|
99
|
+
: universalResolverResolveSnippet,
|
|
92
100
|
args: passthrough.args,
|
|
93
101
|
functionName: 'resolve',
|
|
94
102
|
address: passthrough.address,
|
|
@@ -5,7 +5,8 @@ import type {
|
|
|
5
5
|
SendTransactionParameters,
|
|
6
6
|
Transport,
|
|
7
7
|
} from 'viem'
|
|
8
|
-
import
|
|
8
|
+
import { sendTransaction } from 'viem/actions'
|
|
9
|
+
import type { ChainWithEns, ClientWithAccount } from '../../contracts/consts.js'
|
|
9
10
|
import type {
|
|
10
11
|
Prettify,
|
|
11
12
|
SimpleTransactionRequest,
|
|
@@ -38,7 +39,7 @@ export const makeFunctionData = <
|
|
|
38
39
|
TChain extends ChainWithEns,
|
|
39
40
|
TAccount extends Account | undefined,
|
|
40
41
|
>(
|
|
41
|
-
_wallet:
|
|
42
|
+
_wallet: ClientWithAccount<Transport, TChain, TAccount>,
|
|
42
43
|
{ name, resolverAddress }: ClearRecordsDataParameters,
|
|
43
44
|
): ClearRecordsDataReturnType => {
|
|
44
45
|
return {
|
|
@@ -49,7 +50,7 @@ export const makeFunctionData = <
|
|
|
49
50
|
|
|
50
51
|
/**
|
|
51
52
|
* Clears the records for a name on a resolver.
|
|
52
|
-
* @param wallet - {@link
|
|
53
|
+
* @param wallet - {@link ClientWithAccount}
|
|
53
54
|
* @param parameters - {@link ClearRecordsParameters}
|
|
54
55
|
* @returns Transaction hash. {@link ClearRecordsReturnType}
|
|
55
56
|
*
|
|
@@ -74,7 +75,7 @@ async function clearRecords<
|
|
|
74
75
|
TAccount extends Account | undefined,
|
|
75
76
|
TChainOverride extends ChainWithEns | undefined = ChainWithEns,
|
|
76
77
|
>(
|
|
77
|
-
wallet:
|
|
78
|
+
wallet: ClientWithAccount<Transport, TChain, TAccount>,
|
|
78
79
|
{
|
|
79
80
|
name,
|
|
80
81
|
resolverAddress,
|
|
@@ -89,7 +90,7 @@ async function clearRecords<
|
|
|
89
90
|
...data,
|
|
90
91
|
...txArgs,
|
|
91
92
|
} as SendTransactionParameters<TChain, TAccount, TChainOverride>
|
|
92
|
-
return
|
|
93
|
+
return sendTransaction(wallet, writeArgs)
|
|
93
94
|
}
|
|
94
95
|
|
|
95
96
|
clearRecords.makeFunctionData = makeFunctionData
|
|
@@ -5,7 +5,8 @@ import {
|
|
|
5
5
|
type SendTransactionParameters,
|
|
6
6
|
type Transport,
|
|
7
7
|
} from 'viem'
|
|
8
|
-
import
|
|
8
|
+
import { sendTransaction } from 'viem/actions'
|
|
9
|
+
import type { ChainWithEns, ClientWithAccount } from '../../contracts/consts.js'
|
|
9
10
|
import { ethRegistrarControllerCommitSnippet } from '../../contracts/ethRegistrarController.js'
|
|
10
11
|
import { getChainContractAddress } from '../../contracts/getChainContractAddress.js'
|
|
11
12
|
import { UnsupportedNameTypeError } from '../../errors/general.js'
|
|
@@ -40,7 +41,7 @@ export const makeFunctionData = <
|
|
|
40
41
|
TChain extends ChainWithEns,
|
|
41
42
|
TAccount extends Account | undefined,
|
|
42
43
|
>(
|
|
43
|
-
wallet:
|
|
44
|
+
wallet: ClientWithAccount<Transport, TChain, TAccount>,
|
|
44
45
|
args: CommitNameDataParameters,
|
|
45
46
|
): CommitNameDataReturnType => {
|
|
46
47
|
const labels = args.name.split('.')
|
|
@@ -67,7 +68,7 @@ export const makeFunctionData = <
|
|
|
67
68
|
|
|
68
69
|
/**
|
|
69
70
|
* Commits a name to be registered
|
|
70
|
-
* @param wallet - {@link
|
|
71
|
+
* @param wallet - {@link ClientWithAccount}
|
|
71
72
|
* @param parameters - {@link CommitNameParameters}
|
|
72
73
|
* @returns Transaction hash. {@link CommitNameReturnType}
|
|
73
74
|
*
|
|
@@ -96,7 +97,7 @@ async function commitName<
|
|
|
96
97
|
TAccount extends Account | undefined,
|
|
97
98
|
TChainOverride extends ChainWithEns | undefined = ChainWithEns,
|
|
98
99
|
>(
|
|
99
|
-
wallet:
|
|
100
|
+
wallet: ClientWithAccount<Transport, TChain, TAccount>,
|
|
100
101
|
{
|
|
101
102
|
name,
|
|
102
103
|
owner,
|
|
@@ -123,7 +124,7 @@ async function commitName<
|
|
|
123
124
|
...data,
|
|
124
125
|
...txArgs,
|
|
125
126
|
} as SendTransactionParameters<TChain, TAccount, TChainOverride>
|
|
126
|
-
return
|
|
127
|
+
return sendTransaction(wallet, writeArgs)
|
|
127
128
|
}
|
|
128
129
|
|
|
129
130
|
commitName.makeFunctionData = makeFunctionData
|