@ensdomains/ensjs 3.0.0-alpha.10 → 3.0.0-alpha.13
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/contracts/baseRegistrar.d.ts +1 -1
- package/dist/cjs/contracts/index.d.ts +3 -3
- package/dist/cjs/contracts/multicall.d.ts +1 -1
- package/dist/cjs/contracts/registry.d.ts +1 -1
- package/dist/cjs/functions/burnFuses.js +1 -1
- package/dist/cjs/functions/commitName.d.ts +26 -0
- package/dist/cjs/functions/commitName.js +24 -0
- package/dist/cjs/functions/createSubname.d.ts +3 -1
- package/dist/cjs/functions/createSubname.js +4 -2
- package/dist/cjs/functions/deleteSubname.d.ts +1 -1
- package/dist/cjs/functions/deleteSubname.js +3 -2
- package/dist/cjs/functions/getExpiry.d.ts +9 -2
- package/dist/cjs/functions/getExpiry.js +52 -7
- package/dist/cjs/functions/getFuses.d.ts +2 -3
- package/dist/cjs/functions/getFuses.js +4 -13
- package/dist/cjs/functions/getHistory.d.ts +0 -30
- package/dist/cjs/functions/getHistory.js +3 -99
- package/dist/cjs/functions/getName.d.ts +2 -2
- package/dist/cjs/functions/getName.js +1 -1
- package/dist/cjs/functions/getProfile.js +1 -1
- package/dist/cjs/functions/getSpecificRecord.js +8 -1
- package/dist/cjs/functions/getSubnames.d.ts +1 -1
- package/dist/cjs/functions/getSubnames.js +1 -1
- package/dist/cjs/functions/registerName.d.ts +11 -0
- package/dist/cjs/functions/registerName.js +19 -0
- package/dist/cjs/functions/renewName.d.ts +6 -0
- package/dist/cjs/functions/renewName.js +10 -0
- package/dist/cjs/functions/transferSubname.d.ts +12 -3
- package/dist/cjs/functions/transferSubname.js +5 -3
- package/dist/cjs/functions/wrapName.d.ts +3 -1
- package/dist/cjs/functions/wrapName.js +35 -29
- package/dist/cjs/generated/BaseRegistrarImplementation.d.ts +222 -201
- package/dist/cjs/generated/DNSRegistrar.d.ts +68 -64
- package/dist/cjs/generated/DNSSECImpl.d.ts +111 -111
- package/dist/cjs/generated/DefaultReverseResolver.d.ts +17 -17
- package/dist/cjs/generated/ENSRegistry.d.ts +126 -111
- package/dist/cjs/generated/ETHRegistrarController.d.ts +111 -109
- package/dist/cjs/generated/Multicall.d.ts +60 -60
- package/dist/cjs/generated/NameWrapper.d.ts +493 -354
- package/dist/cjs/generated/P256SHA256Algorithm.d.ts +11 -7
- package/dist/cjs/generated/PublicResolver.d.ts +259 -235
- package/dist/cjs/generated/RSASHA1Algorithm.d.ts +11 -7
- package/dist/cjs/generated/RSASHA256Algorithm.d.ts +11 -7
- package/dist/cjs/generated/ReverseRegistrar.d.ts +112 -103
- package/dist/cjs/generated/Root.d.ts +77 -77
- package/dist/cjs/generated/SHA1Digest.d.ts +7 -7
- package/dist/cjs/generated/SHA1NSEC3Digest.d.ts +11 -7
- package/dist/cjs/generated/SHA256Digest.d.ts +7 -7
- package/dist/cjs/generated/StaticMetadataService.d.ts +7 -7
- package/dist/cjs/generated/TLDPublicSuffixList.d.ts +7 -7
- package/dist/cjs/generated/UniversalResolver.d.ts +31 -31
- package/dist/cjs/generated/common.d.ts +1 -0
- package/dist/cjs/generated/factories/DNSRegistrar__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js +3 -26
- package/dist/cjs/generated/factories/DNSSECImpl__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js +3 -26
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +14 -4
- package/dist/cjs/generated/factories/NameWrapper__factory.js +210 -79
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +3 -26
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +3 -26
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +3 -26
- package/dist/cjs/generated/factories/SHA1Digest__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/SHA1Digest__factory.js +3 -26
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +3 -26
- package/dist/cjs/generated/factories/SHA256Digest__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/SHA256Digest__factory.js +3 -26
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +3 -26
- package/dist/cjs/generated/factories/index.d.ts +14 -0
- package/dist/cjs/generated/factories/index.js +29 -1
- package/dist/cjs/generated/index.d.ts +29 -1
- package/dist/cjs/generated/index.js +31 -3
- package/dist/cjs/index.d.ts +24 -40
- package/dist/cjs/index.js +9 -5
- package/dist/cjs/utils/registerHelpers.d.ts +44 -16
- package/dist/cjs/utils/registerHelpers.js +43 -15
- package/dist/cjs/utils/wrapperExpiry.d.ts +5 -0
- package/dist/cjs/utils/wrapperExpiry.js +30 -0
- package/dist/cjs/utils/writeTx.d.ts +18 -1
- package/dist/cjs/utils/writeTx.js +4 -1
- package/dist/esm/contracts/baseRegistrar.d.ts +1 -1
- package/dist/esm/contracts/index.d.ts +3 -3
- package/dist/esm/contracts/multicall.d.ts +1 -1
- package/dist/esm/contracts/registry.d.ts +1 -1
- package/dist/esm/functions/burnFuses.js +1 -1
- package/dist/esm/functions/commitName.d.ts +26 -0
- package/dist/esm/functions/commitName.js +21 -0
- package/dist/esm/functions/createSubname.d.ts +3 -1
- package/dist/esm/functions/createSubname.js +4 -2
- package/dist/esm/functions/deleteSubname.d.ts +1 -1
- package/dist/esm/functions/deleteSubname.js +3 -2
- package/dist/esm/functions/getExpiry.d.ts +9 -2
- package/dist/esm/functions/getExpiry.js +52 -7
- package/dist/esm/functions/getFuses.d.ts +2 -3
- package/dist/esm/functions/getFuses.js +5 -14
- package/dist/esm/functions/getHistory.d.ts +0 -30
- package/dist/esm/functions/getHistory.js +2 -96
- package/dist/esm/functions/getName.d.ts +2 -2
- package/dist/esm/functions/getName.js +1 -1
- package/dist/esm/functions/getProfile.js +1 -1
- package/dist/esm/functions/getSpecificRecord.js +8 -1
- package/dist/esm/functions/getSubnames.d.ts +1 -1
- package/dist/esm/functions/getSubnames.js +1 -1
- package/dist/esm/functions/registerName.d.ts +11 -0
- package/dist/esm/functions/registerName.js +16 -0
- package/dist/esm/functions/renewName.d.ts +6 -0
- package/dist/esm/functions/renewName.js +7 -0
- package/dist/esm/functions/transferSubname.d.ts +12 -3
- package/dist/esm/functions/transferSubname.js +5 -3
- package/dist/esm/functions/wrapName.d.ts +3 -1
- package/dist/esm/functions/wrapName.js +35 -29
- package/dist/esm/generated/BaseRegistrarImplementation.d.ts +222 -201
- package/dist/esm/generated/DNSRegistrar.d.ts +68 -64
- package/dist/esm/generated/DNSSECImpl.d.ts +111 -111
- package/dist/esm/generated/DefaultReverseResolver.d.ts +17 -17
- package/dist/esm/generated/ENSRegistry.d.ts +126 -111
- package/dist/esm/generated/ETHRegistrarController.d.ts +111 -109
- package/dist/esm/generated/Multicall.d.ts +60 -60
- package/dist/esm/generated/NameWrapper.d.ts +493 -354
- package/dist/esm/generated/P256SHA256Algorithm.d.ts +11 -7
- package/dist/esm/generated/PublicResolver.d.ts +259 -235
- package/dist/esm/generated/RSASHA1Algorithm.d.ts +11 -7
- package/dist/esm/generated/RSASHA256Algorithm.d.ts +11 -7
- package/dist/esm/generated/ReverseRegistrar.d.ts +112 -103
- package/dist/esm/generated/Root.d.ts +77 -77
- package/dist/esm/generated/SHA1Digest.d.ts +7 -7
- package/dist/esm/generated/SHA1NSEC3Digest.d.ts +11 -7
- package/dist/esm/generated/SHA256Digest.d.ts +7 -7
- package/dist/esm/generated/StaticMetadataService.d.ts +7 -7
- package/dist/esm/generated/TLDPublicSuffixList.d.ts +7 -7
- package/dist/esm/generated/UniversalResolver.d.ts +31 -31
- package/dist/esm/generated/common.d.ts +1 -0
- package/dist/esm/generated/factories/DNSRegistrar__factory.d.ts +3 -15
- package/dist/esm/generated/factories/DNSRegistrar__factory.js +2 -25
- package/dist/esm/generated/factories/DNSSECImpl__factory.d.ts +3 -15
- package/dist/esm/generated/factories/DNSSECImpl__factory.js +2 -25
- package/dist/esm/generated/factories/ETHRegistrarController__factory.js +14 -4
- package/dist/esm/generated/factories/NameWrapper__factory.js +210 -79
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.d.ts +3 -15
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.js +2 -25
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.d.ts +3 -15
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.js +2 -25
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.d.ts +3 -15
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.js +2 -25
- package/dist/esm/generated/factories/SHA1Digest__factory.d.ts +3 -15
- package/dist/esm/generated/factories/SHA1Digest__factory.js +2 -25
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.d.ts +3 -15
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.js +2 -25
- package/dist/esm/generated/factories/SHA256Digest__factory.d.ts +3 -15
- package/dist/esm/generated/factories/SHA256Digest__factory.js +2 -25
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.d.ts +3 -15
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.js +2 -25
- package/dist/esm/generated/factories/index.d.ts +14 -0
- package/dist/esm/generated/factories/index.js +14 -0
- package/dist/esm/generated/index.d.ts +29 -1
- package/dist/esm/generated/index.js +15 -1
- package/dist/esm/index.d.ts +24 -40
- package/dist/esm/index.js +9 -5
- package/dist/esm/utils/registerHelpers.d.ts +44 -16
- package/dist/esm/utils/registerHelpers.js +40 -14
- package/dist/esm/utils/wrapperExpiry.d.ts +5 -0
- package/dist/esm/utils/wrapperExpiry.js +26 -0
- package/dist/esm/utils/writeTx.d.ts +18 -1
- package/dist/esm/utils/writeTx.js +4 -1
- package/package.json +27 -28
- package/src/ABIs/Multicall.json +452 -0
- package/src/contracts/index.ts +1 -1
- package/src/functions/batch.test.ts +6 -6
- package/src/functions/batchWrappers.test.ts +5 -5
- package/src/functions/burnFuses.test.ts +5 -10
- package/src/functions/burnFuses.ts +1 -1
- package/src/functions/commitName.test.ts +61 -0
- package/src/functions/commitName.ts +36 -0
- package/src/functions/createSubname.test.ts +6 -10
- package/src/functions/createSubname.ts +14 -2
- package/src/functions/deleteSubname.test.ts +9 -28
- package/src/functions/deleteSubname.ts +3 -2
- package/src/functions/getDNSOwner.test.ts +1 -5
- package/src/functions/getExpiry.test.ts +26 -4
- package/src/functions/getExpiry.ts +87 -9
- package/src/functions/getFuses.test.ts +10 -33
- package/src/functions/getFuses.ts +10 -16
- package/src/functions/getHistory.test.ts +7 -79
- package/src/functions/getHistory.ts +2 -127
- package/src/functions/getName.test.ts +5 -5
- package/src/functions/getName.ts +1 -1
- package/src/functions/getNames.test.ts +97 -68
- package/src/functions/getOwner.test.ts +10 -25
- package/src/functions/getProfile.test.ts +32 -24
- package/src/functions/getProfile.ts +1 -1
- package/src/functions/getResolver.test.ts +2 -6
- package/src/functions/getSpecificRecord.test.ts +16 -13
- package/src/functions/getSpecificRecord.ts +10 -4
- package/src/functions/getSubnames.test.ts +21 -17
- package/src/functions/getSubnames.ts +9 -2
- package/src/functions/makeCommitment.test.ts +2 -2
- package/src/functions/registerName.test.ts +59 -0
- package/src/functions/registerName.ts +38 -0
- package/src/functions/renewName.test.ts +44 -0
- package/src/functions/renewName.ts +22 -0
- package/src/functions/setName.test.ts +10 -11
- package/src/functions/setRecord.test.ts +12 -9
- package/src/functions/setRecords.test.ts +6 -5
- package/src/functions/setResolver.test.ts +6 -9
- package/src/functions/transferName.test.ts +13 -27
- package/src/functions/transferSubname.test.ts +11 -30
- package/src/functions/transferSubname.ts +28 -10
- package/src/functions/unwrapName.test.ts +13 -28
- package/src/functions/wrapName.test.ts +109 -34
- package/src/functions/wrapName.ts +45 -29
- package/src/generated/BaseRegistrarImplementation.ts +382 -296
- package/src/generated/DNSRegistrar.ts +103 -89
- package/src/generated/DNSSECImpl.ts +180 -149
- package/src/generated/DefaultReverseResolver.ts +37 -21
- package/src/generated/ENSRegistry.ts +257 -184
- package/src/generated/ETHRegistrarController.ts +252 -191
- package/src/generated/Multicall.ts +73 -57
- package/src/generated/NameWrapper.ts +979 -649
- package/src/generated/P256SHA256Algorithm.ts +21 -16
- package/src/generated/PublicResolver.ts +452 -362
- package/src/generated/RSASHA1Algorithm.ts +21 -16
- package/src/generated/RSASHA256Algorithm.ts +21 -16
- package/src/generated/ReverseRegistrar.ts +193 -141
- package/src/generated/Root.ts +146 -86
- package/src/generated/SHA1Digest.ts +12 -11
- package/src/generated/SHA1NSEC3Digest.ts +21 -16
- package/src/generated/SHA256Digest.ts +12 -11
- package/src/generated/StaticMetadataService.ts +22 -6
- package/src/generated/TLDPublicSuffixList.ts +10 -6
- package/src/generated/UniversalResolver.ts +44 -40
- package/src/generated/common.ts +2 -0
- package/src/generated/factories/DNSRegistrar__factory.ts +4 -56
- package/src/generated/factories/DNSSECImpl__factory.ts +4 -49
- package/src/generated/factories/ETHRegistrarController__factory.ts +14 -4
- package/src/generated/factories/NameWrapper__factory.ts +210 -79
- package/src/generated/factories/P256SHA256Algorithm__factory.ts +4 -40
- package/src/generated/factories/RSASHA1Algorithm__factory.ts +4 -40
- package/src/generated/factories/RSASHA256Algorithm__factory.ts +4 -40
- package/src/generated/factories/SHA1Digest__factory.ts +4 -40
- package/src/generated/factories/SHA1NSEC3Digest__factory.ts +4 -40
- package/src/generated/factories/SHA256Digest__factory.ts +4 -40
- package/src/generated/factories/TLDPublicSuffixList__factory.ts +4 -40
- package/src/generated/factories/index.ts +14 -0
- package/src/generated/index.ts +29 -1
- package/src/index.ts +28 -26
- package/src/utils/registerHelpers.ts +107 -49
- package/src/utils/wrapperExpiry.ts +31 -0
- package/src/utils/writeTx.ts +12 -2
- package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
- package/dist/cjs/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -4
- package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
- package/dist/cjs/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -2
- package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
- package/dist/cjs/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -171
- package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.d.ts +0 -3
- package/dist/esm/contracts/doNotCallOnChainUniversalResolverProxy.js +0 -2
- package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.d.ts +0 -144
- package/dist/esm/generated/DoNotCallOnChainUniversalResolverProxy.js +0 -1
- package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.d.ts +0 -56
- package/dist/esm/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.js +0 -167
- 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/contracts/doNotCallOnChainUniversalResolverProxy.ts +0 -5
- package/src/generated/DoNotCallOnChainUniversalResolverProxy.ts +0 -285
- package/src/generated/factories/DoNotCallOnChainUniversalResolverProxy__factory.ts +0 -186
- 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
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated
|
|
2
|
+
declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").BaseRegistrarImplementation;
|
|
3
3
|
export default _default;
|
|
@@ -7,10 +7,10 @@ export default class ContractManager {
|
|
|
7
7
|
private generateContractGetter;
|
|
8
8
|
getPublicResolver: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").PublicResolver>;
|
|
9
9
|
getUniversalResolver: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").UniversalResolver>;
|
|
10
|
-
getRegistry: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated
|
|
10
|
+
getRegistry: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ENSRegistry>;
|
|
11
11
|
getReverseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ReverseRegistrar>;
|
|
12
12
|
getNameWrapper: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").NameWrapper>;
|
|
13
|
-
getBaseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated
|
|
13
|
+
getBaseRegistrar: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").BaseRegistrarImplementation>;
|
|
14
14
|
getEthRegistrarController: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").ETHRegistrarController>;
|
|
15
|
-
getMulticall: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated
|
|
15
|
+
getMulticall: (passedProvider?: any, address?: string | undefined) => Promise<import("../generated").Multicall>;
|
|
16
16
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated
|
|
2
|
+
declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").Multicall;
|
|
3
3
|
export default _default;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
-
declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated
|
|
2
|
+
declare const _default: (provider: ethers.providers.JsonRpcProvider, address: string) => import("../generated").ENSRegistry;
|
|
3
3
|
export default _default;
|
|
@@ -9,6 +9,6 @@ async function default_1({ contracts, signer }, name, { fusesToBurn, }) {
|
|
|
9
9
|
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
10
10
|
const hash = (0, normalise_1.namehash)(name);
|
|
11
11
|
const encodedFuses = (0, generateFuseInput_1.default)(fusesToBurn);
|
|
12
|
-
return nameWrapper.populateTransaction.
|
|
12
|
+
return nameWrapper.populateTransaction.setFuses(hash, encodedFuses);
|
|
13
13
|
}
|
|
14
14
|
exports.default = default_1;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ENSArgs } from '..';
|
|
2
|
+
import { CommitmentParams } from '../utils/registerHelpers';
|
|
3
|
+
declare type Params = Omit<CommitmentParams, 'resolver' | 'name'> & {
|
|
4
|
+
resolverAddress?: string;
|
|
5
|
+
};
|
|
6
|
+
export default function ({ contracts }: ENSArgs<'contracts'>, name: string, { resolverAddress, ...params }: Params): Promise<{
|
|
7
|
+
customData: {
|
|
8
|
+
secret: string;
|
|
9
|
+
commitment: string;
|
|
10
|
+
wrapperExpiry: number;
|
|
11
|
+
};
|
|
12
|
+
to?: string | undefined;
|
|
13
|
+
from?: string | undefined;
|
|
14
|
+
nonce?: number | undefined;
|
|
15
|
+
gasLimit?: import("ethers").BigNumber | undefined;
|
|
16
|
+
gasPrice?: import("ethers").BigNumber | undefined;
|
|
17
|
+
data?: string | undefined;
|
|
18
|
+
value?: import("ethers").BigNumber | undefined;
|
|
19
|
+
chainId?: number | undefined;
|
|
20
|
+
type?: number | undefined;
|
|
21
|
+
accessList?: import("ethers/lib/utils").AccessList | undefined;
|
|
22
|
+
maxFeePerGas?: import("ethers").BigNumber | undefined;
|
|
23
|
+
maxPriorityFeePerGas?: import("ethers").BigNumber | undefined;
|
|
24
|
+
ccipReadEnabled?: boolean | undefined;
|
|
25
|
+
}>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const registerHelpers_1 = require("../utils/registerHelpers");
|
|
4
|
+
async function default_1({ contracts }, name, { resolverAddress, ...params }) {
|
|
5
|
+
const labels = name.split('.');
|
|
6
|
+
if (labels.length !== 2 || labels[1] !== 'eth')
|
|
7
|
+
throw new Error('Currently only .eth TLD registrations are supported');
|
|
8
|
+
const controller = await contracts.getEthRegistrarController();
|
|
9
|
+
const resolver = await contracts.getPublicResolver(undefined, resolverAddress);
|
|
10
|
+
const { secret, commitment, wrapperExpiry } = (0, registerHelpers_1.makeCommitment)({
|
|
11
|
+
name,
|
|
12
|
+
resolver,
|
|
13
|
+
...params,
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
...(await controller.populateTransaction.commit(commitment)),
|
|
17
|
+
customData: {
|
|
18
|
+
secret,
|
|
19
|
+
commitment,
|
|
20
|
+
wrapperExpiry,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.default = default_1;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { ENSArgs } from '..';
|
|
3
3
|
import { FuseOptions } from '../@types/FuseOptions';
|
|
4
|
+
import { Expiry } from '../utils/wrapperExpiry';
|
|
4
5
|
declare type BaseArgs = {
|
|
5
6
|
owner: string;
|
|
6
7
|
resolverAddress?: string;
|
|
@@ -9,7 +10,8 @@ declare type BaseArgs = {
|
|
|
9
10
|
declare type NameWrapperArgs = {
|
|
10
11
|
contract: 'nameWrapper';
|
|
11
12
|
fuses?: FuseOptions;
|
|
13
|
+
expiry?: Expiry;
|
|
12
14
|
} & BaseArgs;
|
|
13
15
|
declare type Args = BaseArgs | NameWrapperArgs;
|
|
14
|
-
export default function ({ contracts, signer }: ENSArgs<'contracts' | 'signer'>, name: string, { owner, resolverAddress, contract, ...wrapperArgs }: Args): Promise<ethers.PopulatedTransaction>;
|
|
16
|
+
export default function ({ contracts, signer, getExpiry, }: ENSArgs<'contracts' | 'signer' | 'getExpiry'>, name: string, { owner, resolverAddress, contract, ...wrapperArgs }: Args): Promise<ethers.PopulatedTransaction>;
|
|
15
17
|
export {};
|
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const ethers_1 = require("ethers");
|
|
7
7
|
const generateFuseInput_1 = __importDefault(require("../utils/generateFuseInput"));
|
|
8
8
|
const normalise_1 = require("../utils/normalise");
|
|
9
|
-
|
|
9
|
+
const wrapperExpiry_1 = require("../utils/wrapperExpiry");
|
|
10
|
+
async function default_1({ contracts, signer, getExpiry, }, name, { owner, resolverAddress, contract, ...wrapperArgs }) {
|
|
10
11
|
const labels = name.split('.');
|
|
11
12
|
if (labels.length === 1) {
|
|
12
13
|
throw new Error('Subnames in ENS.js can only be created for 2LDs, not TLDs');
|
|
@@ -27,10 +28,11 @@ async function default_1({ contracts, signer }, name, { owner, resolverAddress,
|
|
|
27
28
|
}
|
|
28
29
|
case 'nameWrapper': {
|
|
29
30
|
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
31
|
+
const expiry = await (0, wrapperExpiry_1.makeExpiry)({ getExpiry }, name, 'expiry' in wrapperArgs ? wrapperArgs.expiry : undefined);
|
|
30
32
|
const generatedFuses = 'fuses' in wrapperArgs && wrapperArgs.fuses
|
|
31
33
|
? (0, generateFuseInput_1.default)(wrapperArgs.fuses)
|
|
32
34
|
: '0';
|
|
33
|
-
return nameWrapper.populateTransaction.setSubnodeRecord(parentNodehash, label, owner, resolverAddress, 0, generatedFuses);
|
|
35
|
+
return nameWrapper.populateTransaction.setSubnodeRecord(parentNodehash, label, owner, resolverAddress, 0, generatedFuses, expiry);
|
|
34
36
|
}
|
|
35
37
|
default: {
|
|
36
38
|
throw new Error(`Unknown contract: ${contract}`);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ENSArgs } from '..';
|
|
2
|
-
export default function ({ transferSubname }: ENSArgs<'transferSubname'>, name: string, { contract, }: {
|
|
2
|
+
export default function ({ transferSubname, signer }: ENSArgs<'transferSubname' | 'signer'>, name: string, { contract, }: {
|
|
3
3
|
contract: 'registry' | 'nameWrapper';
|
|
4
4
|
}): Promise<import("ethers").PopulatedTransaction>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
async function default_1({ transferSubname }, name, { contract, }) {
|
|
3
|
+
async function default_1({ transferSubname, signer }, name, { contract, }) {
|
|
4
4
|
return transferSubname.populateTransaction(name, {
|
|
5
5
|
contract,
|
|
6
|
-
|
|
6
|
+
owner: '0x0000000000000000000000000000000000000000',
|
|
7
|
+
signer,
|
|
7
8
|
});
|
|
8
9
|
}
|
|
9
10
|
exports.default = default_1;
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { ENSArgs } from '..';
|
|
2
|
+
declare type ContractOption = 'registrar' | 'nameWrapper';
|
|
3
|
+
declare type Args = {
|
|
4
|
+
contract?: ContractOption;
|
|
5
|
+
};
|
|
2
6
|
declare const _default: {
|
|
3
|
-
raw: (
|
|
7
|
+
raw: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, name: string, { contract }?: Args) => Promise<{
|
|
4
8
|
to: string;
|
|
5
9
|
data: string;
|
|
6
10
|
}>;
|
|
7
|
-
decode: (
|
|
11
|
+
decode: (ensArgs: ENSArgs<"contracts" | "multicallWrapper">, data: string, name: string, { contract }?: Args) => Promise<{
|
|
12
|
+
expiry: Date;
|
|
13
|
+
gracePeriod: null;
|
|
14
|
+
} | {
|
|
8
15
|
expiry: Date | null;
|
|
9
16
|
gracePeriod: number;
|
|
10
17
|
} | undefined>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_1 = require("ethers/lib/utils");
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
const labels = name.split('.');
|
|
4
|
+
const normalise_1 = require("../utils/normalise");
|
|
5
|
+
const getRegistrarExpiry = async ({ contracts, multicallWrapper }, labels) => {
|
|
7
6
|
if (labels.length > 2 || labels[1] !== 'eth') {
|
|
8
|
-
throw new Error('Only .eth names have expiry dates');
|
|
7
|
+
throw new Error('Only .eth names have expiry dates on the registrar');
|
|
9
8
|
}
|
|
9
|
+
const baseRegistrar = await contracts?.getBaseRegistrar();
|
|
10
10
|
const expiryCall = baseRegistrar.interface.encodeFunctionData('nameExpires', [
|
|
11
11
|
(0, utils_1.solidityKeccak256)(['string'], [labels[0]]),
|
|
12
12
|
]);
|
|
@@ -22,9 +22,32 @@ const raw = async ({ contracts, multicallWrapper }, name) => {
|
|
|
22
22
|
},
|
|
23
23
|
]);
|
|
24
24
|
};
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
const getWrapperExpiry = async ({ contracts }, labels) => {
|
|
26
|
+
const nameWrapper = await contracts?.getNameWrapper();
|
|
27
|
+
const expiryCall = nameWrapper.interface.encodeFunctionData('getData', [
|
|
28
|
+
(0, normalise_1.namehash)(labels.join('.')),
|
|
29
|
+
]);
|
|
30
|
+
return {
|
|
31
|
+
to: nameWrapper.address,
|
|
32
|
+
data: expiryCall,
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const getContractToUse = (contract, labels) => {
|
|
36
|
+
if (contract)
|
|
37
|
+
return contract;
|
|
38
|
+
if (labels.length === 2 && labels[1] === 'eth') {
|
|
39
|
+
return 'registrar';
|
|
40
|
+
}
|
|
41
|
+
return 'nameWrapper';
|
|
42
|
+
};
|
|
43
|
+
const raw = async (ensArgs, name, { contract } = {}) => {
|
|
44
|
+
const labels = name.split('.');
|
|
45
|
+
const contractToUse = getContractToUse(contract, labels);
|
|
46
|
+
return contractToUse === 'nameWrapper'
|
|
47
|
+
? getWrapperExpiry(ensArgs, labels)
|
|
48
|
+
: getRegistrarExpiry(ensArgs, labels);
|
|
49
|
+
};
|
|
50
|
+
const decodeRegistrarExpiry = async ({ contracts, multicallWrapper }, data) => {
|
|
28
51
|
const result = await multicallWrapper.decode(data);
|
|
29
52
|
const baseRegistrar = await contracts?.getBaseRegistrar();
|
|
30
53
|
try {
|
|
@@ -39,6 +62,28 @@ const decode = async ({ contracts, multicallWrapper }, data) => {
|
|
|
39
62
|
return;
|
|
40
63
|
}
|
|
41
64
|
};
|
|
65
|
+
const decodeWrapperExpiry = async ({ contracts }, data) => {
|
|
66
|
+
const nameWrapper = await contracts?.getNameWrapper();
|
|
67
|
+
try {
|
|
68
|
+
const [_owner, _fuses, expiry] = nameWrapper.interface.decodeFunctionResult('getData', data);
|
|
69
|
+
return {
|
|
70
|
+
expiry: new Date(expiry * 1000),
|
|
71
|
+
gracePeriod: null,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const decode = async (ensArgs, data, name, { contract } = {}) => {
|
|
79
|
+
if (data === null)
|
|
80
|
+
return;
|
|
81
|
+
const labels = name.split('.');
|
|
82
|
+
const contractToUse = getContractToUse(contract, labels);
|
|
83
|
+
return contractToUse === 'nameWrapper'
|
|
84
|
+
? decodeWrapperExpiry(ensArgs, data)
|
|
85
|
+
: decodeRegistrarExpiry(ensArgs, data);
|
|
86
|
+
};
|
|
42
87
|
exports.default = {
|
|
43
88
|
raw,
|
|
44
89
|
decode,
|
|
@@ -7,10 +7,9 @@ declare const _default: {
|
|
|
7
7
|
}>;
|
|
8
8
|
decode: ({ contracts }: ENSArgs<"contracts">, data: string, name: string) => Promise<{
|
|
9
9
|
fuseObj: {
|
|
10
|
-
[k: string]:
|
|
10
|
+
[k: string]: boolean;
|
|
11
11
|
};
|
|
12
|
-
|
|
13
|
-
vulnerableNode: null;
|
|
12
|
+
expiryDate: Date;
|
|
14
13
|
rawFuses: BigNumber;
|
|
15
14
|
} | undefined>;
|
|
16
15
|
};
|
|
@@ -22,7 +22,8 @@ const raw = async ({ contracts }, name) => {
|
|
|
22
22
|
const decode = async ({ contracts }, data, name) => {
|
|
23
23
|
const nameWrapper = await contracts?.getNameWrapper();
|
|
24
24
|
try {
|
|
25
|
-
const [
|
|
25
|
+
const [_fuses, expiry] = nameWrapper.interface.decodeFunctionResult('getFuses', data);
|
|
26
|
+
const fuses = ethers_1.BigNumber.from(_fuses);
|
|
26
27
|
const fuseObj = Object.fromEntries(Object.keys(fuses_1.testable).map((fuseEnum) => [
|
|
27
28
|
fuseEnum
|
|
28
29
|
.toLowerCase()
|
|
@@ -35,20 +36,10 @@ const decode = async ({ contracts }, data, name) => {
|
|
|
35
36
|
else {
|
|
36
37
|
fuseObj.canDoEverything = false;
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
if (ethers_1.utils.hexStripZeros(vulnerableNode) !== '0x') {
|
|
40
|
-
name.split('.').forEach((label, index, arr) => {
|
|
41
|
-
const node = arr.slice(index).join('.');
|
|
42
|
-
const nodehash = (0, normalise_1.namehash)(node);
|
|
43
|
-
if (nodehash === vulnerableNode) {
|
|
44
|
-
returnVulnerableNode = node;
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
39
|
+
const expiryDate = new Date(expiry * 1000);
|
|
48
40
|
return {
|
|
49
41
|
fuseObj,
|
|
50
|
-
|
|
51
|
-
vulnerableNode: returnVulnerableNode,
|
|
42
|
+
expiryDate,
|
|
52
43
|
rawFuses: fuses,
|
|
53
44
|
};
|
|
54
45
|
}
|
|
@@ -22,33 +22,3 @@ export declare function getHistory({ gqlInstance }: ENSArgs<'gqlInstance'>, name
|
|
|
22
22
|
data: Record<string, any>;
|
|
23
23
|
}[];
|
|
24
24
|
} | undefined>;
|
|
25
|
-
export declare function getHistoryWithDetail({ contracts, gqlInstance, provider, }: ENSArgs<'contracts' | 'gqlInstance' | 'provider'>, name: string): Promise<{
|
|
26
|
-
domain: {
|
|
27
|
-
type: any;
|
|
28
|
-
blockNumber: any;
|
|
29
|
-
transactionHash: any;
|
|
30
|
-
id: any;
|
|
31
|
-
data: Record<string, any>;
|
|
32
|
-
}[];
|
|
33
|
-
registration: {
|
|
34
|
-
type: any;
|
|
35
|
-
blockNumber: any;
|
|
36
|
-
transactionHash: any;
|
|
37
|
-
id: any;
|
|
38
|
-
data: Record<string, any>;
|
|
39
|
-
}[];
|
|
40
|
-
resolver: {
|
|
41
|
-
type: any;
|
|
42
|
-
blockNumber: any;
|
|
43
|
-
transactionHash: any;
|
|
44
|
-
id: any;
|
|
45
|
-
data: Record<string, any>;
|
|
46
|
-
}[];
|
|
47
|
-
} | undefined>;
|
|
48
|
-
export declare function getHistoryDetailForTransactionHash({ contracts, provider }: ENSArgs<'contracts' | 'provider'>, hash: string, indexInTransaction?: number): Promise<({
|
|
49
|
-
key: any;
|
|
50
|
-
value: any;
|
|
51
|
-
} | undefined)[] | {
|
|
52
|
-
key: any;
|
|
53
|
-
value: any;
|
|
54
|
-
} | undefined>;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getHistory = void 0;
|
|
4
4
|
const address_encoder_1 = require("@ensdomains/address-encoder");
|
|
5
5
|
const ethers_1 = require("ethers");
|
|
6
6
|
const contentHash_1 = require("../utils/contentHash");
|
|
7
|
-
const makeHashIndexes_1 = require("../utils/makeHashIndexes");
|
|
8
7
|
const eventFormat = {
|
|
9
8
|
Domain: {
|
|
10
9
|
NewOwner: (args) => ({ owner: args.owner.id }),
|
|
@@ -46,7 +45,7 @@ const eventFormat = {
|
|
|
46
45
|
NameChanged: (args) => ({ name: args.name }),
|
|
47
46
|
AbiChanged: (args) => ({ contentType: args.contentType }),
|
|
48
47
|
PubkeyChanged: (args) => ({ x: args.x, y: args.y }),
|
|
49
|
-
TextChanged: (args) => ({ key: args.key }),
|
|
48
|
+
TextChanged: (args) => ({ key: args.key, value: args.value }),
|
|
50
49
|
ContenthashChanged: (args) => ({ hash: (0, contentHash_1.decodeContenthash)(args.hash) }),
|
|
51
50
|
InterfaceChanged: (args) => ({
|
|
52
51
|
interfaceId: args.interfaceId,
|
|
@@ -66,31 +65,6 @@ const mapEvents = (eventArray, type) => eventArray.map((event) => ({
|
|
|
66
65
|
id: event.id,
|
|
67
66
|
data: eventFormat[type][event.__typename](event),
|
|
68
67
|
}));
|
|
69
|
-
const mapResultDetailDecode = (publicResolver) => (result) => {
|
|
70
|
-
const hashIndexes = (0, makeHashIndexes_1.makeOtherIndexes)(result.input, '10f13a8c');
|
|
71
|
-
const abiLengths = hashIndexes.map((x) => ({
|
|
72
|
-
index: x,
|
|
73
|
-
length: x === 0
|
|
74
|
-
? ethers_1.ethers.utils.hexDataLength(result.input)
|
|
75
|
-
: parseInt(ethers_1.ethers.utils.hexDataSlice(result.input, x - 32, x), 16),
|
|
76
|
-
}));
|
|
77
|
-
const ABIs = abiLengths.map(({ index, length }) => ethers_1.ethers.utils.hexDataSlice(result.input, index, index + length));
|
|
78
|
-
return ABIs.map((abi) => {
|
|
79
|
-
try {
|
|
80
|
-
return publicResolver.interface.decodeFunctionData('setText(bytes32,string,string)', abi);
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
const expandDecode = (prev, curr) => {
|
|
88
|
-
if (!curr)
|
|
89
|
-
return [...prev, { value: null }];
|
|
90
|
-
if (!curr.length)
|
|
91
|
-
return [...prev, curr];
|
|
92
|
-
return [...prev, ...curr];
|
|
93
|
-
};
|
|
94
68
|
async function getHistory({ gqlInstance }, name) {
|
|
95
69
|
const client = gqlInstance.client;
|
|
96
70
|
const query = gqlInstance.gql `
|
|
@@ -171,6 +145,7 @@ async function getHistory({ gqlInstance }, name) {
|
|
|
171
145
|
}
|
|
172
146
|
...on TextChanged {
|
|
173
147
|
key
|
|
148
|
+
value
|
|
174
149
|
}
|
|
175
150
|
...on ContenthashChanged {
|
|
176
151
|
hash
|
|
@@ -206,74 +181,3 @@ async function getHistory({ gqlInstance }, name) {
|
|
|
206
181
|
};
|
|
207
182
|
}
|
|
208
183
|
exports.getHistory = getHistory;
|
|
209
|
-
async function getHistoryWithDetail({ contracts, gqlInstance, provider, }, name) {
|
|
210
|
-
const historyRes = await getHistory({ gqlInstance }, name);
|
|
211
|
-
if (!historyRes)
|
|
212
|
-
return;
|
|
213
|
-
const { domain, registration, resolver: resolverHistory } = historyRes;
|
|
214
|
-
const textEvents = resolverHistory.filter((event) => event.type === 'TextChanged');
|
|
215
|
-
const transactions = textEvents.reduce((prev, curr) => {
|
|
216
|
-
if (prev.includes(curr.transactionHash)) {
|
|
217
|
-
return prev;
|
|
218
|
-
}
|
|
219
|
-
return [...prev, curr.transactionHash];
|
|
220
|
-
}, []);
|
|
221
|
-
const publicResolver = await contracts?.getPublicResolver();
|
|
222
|
-
const fetchResult = (await ethers_1.ethers.utils.fetchJson(provider.connection, JSON.stringify(transactions.map((tx, i) => ({
|
|
223
|
-
jsonrpc: '2.0',
|
|
224
|
-
id: i,
|
|
225
|
-
method: 'eth_getTransactionByHash',
|
|
226
|
-
params: [tx],
|
|
227
|
-
})))))
|
|
228
|
-
.map((result) => result.result)
|
|
229
|
-
.map(mapResultDetailDecode(publicResolver))
|
|
230
|
-
.reduce(expandDecode, []);
|
|
231
|
-
const detailedResolverHistory = resolverHistory.map((event) => {
|
|
232
|
-
if (event.type !== 'TextChanged')
|
|
233
|
-
return event;
|
|
234
|
-
const { id } = event;
|
|
235
|
-
const matchedTextInx = textEvents.findIndex((x) => x.id === id);
|
|
236
|
-
return {
|
|
237
|
-
...event,
|
|
238
|
-
data: {
|
|
239
|
-
...event.data,
|
|
240
|
-
value: fetchResult[matchedTextInx] && fetchResult[matchedTextInx].value,
|
|
241
|
-
},
|
|
242
|
-
};
|
|
243
|
-
});
|
|
244
|
-
return {
|
|
245
|
-
domain,
|
|
246
|
-
registration,
|
|
247
|
-
resolver: detailedResolverHistory,
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
exports.getHistoryWithDetail = getHistoryWithDetail;
|
|
251
|
-
async function getHistoryDetailForTransactionHash({ contracts, provider }, hash, indexInTransaction) {
|
|
252
|
-
const publicResolver = await contracts?.getPublicResolver();
|
|
253
|
-
const transaction = await provider.getTransaction(hash);
|
|
254
|
-
if (!transaction)
|
|
255
|
-
return;
|
|
256
|
-
const result = mapResultDetailDecode(publicResolver)({
|
|
257
|
-
input: transaction.data,
|
|
258
|
-
});
|
|
259
|
-
if (!result || !result.length)
|
|
260
|
-
return;
|
|
261
|
-
if (typeof indexInTransaction === 'number') {
|
|
262
|
-
if (indexInTransaction + 1 > result.length)
|
|
263
|
-
return;
|
|
264
|
-
const resultItem = result[indexInTransaction];
|
|
265
|
-
if (!resultItem ||
|
|
266
|
-
!resultItem.key ||
|
|
267
|
-
(!resultItem.value && resultItem.value !== ''))
|
|
268
|
-
return;
|
|
269
|
-
return { key: resultItem.key, value: resultItem.value };
|
|
270
|
-
}
|
|
271
|
-
return result.map((item) => {
|
|
272
|
-
if (!item.key)
|
|
273
|
-
return;
|
|
274
|
-
if (!item.value && item.value !== '')
|
|
275
|
-
return { key: item.key, value: null };
|
|
276
|
-
return { key: item.key, value: item.value };
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
exports.getHistoryDetailForTransactionHash = getHistoryDetailForTransactionHash;
|
|
@@ -10,8 +10,8 @@ declare const _default: {
|
|
|
10
10
|
reverseResolverAddress: any;
|
|
11
11
|
resolverAddress: any;
|
|
12
12
|
} | {
|
|
13
|
-
name:
|
|
14
|
-
match
|
|
13
|
+
name: undefined;
|
|
14
|
+
match?: undefined;
|
|
15
15
|
reverseResolverAddress?: undefined;
|
|
16
16
|
resolverAddress?: undefined;
|
|
17
17
|
} | undefined>;
|
|
@@ -217,7 +217,7 @@ const graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress)
|
|
|
217
217
|
resolverResponse = domain?.resolver;
|
|
218
218
|
}
|
|
219
219
|
else {
|
|
220
|
-
const resolverId = `${resolverAddress}-${id}`;
|
|
220
|
+
const resolverId = `${resolverAddress.toLowerCase()}-${id}`;
|
|
221
221
|
({ resolver: resolverResponse, domain } = await client.request(customResolverQuery, { id, resolverId }));
|
|
222
222
|
}
|
|
223
223
|
if (!domain)
|
|
@@ -16,8 +16,15 @@ exports._getContentHash = {
|
|
|
16
16
|
};
|
|
17
17
|
},
|
|
18
18
|
decode: async ({ contracts }, data) => {
|
|
19
|
+
let response;
|
|
19
20
|
const publicResolver = await contracts?.getPublicResolver();
|
|
20
|
-
|
|
21
|
+
try {
|
|
22
|
+
;
|
|
23
|
+
[response] = publicResolver.interface.decodeFunctionResult('contenthash', data);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
21
28
|
if (!response) {
|
|
22
29
|
return;
|
|
23
30
|
}
|
|
@@ -16,7 +16,7 @@ declare type Params = {
|
|
|
16
16
|
pageSize?: number;
|
|
17
17
|
orderDirection?: 'asc' | 'desc';
|
|
18
18
|
orderBy?: 'createdAt' | 'labelName';
|
|
19
|
-
lastSubnames
|
|
19
|
+
lastSubnames?: Array<any>;
|
|
20
20
|
isLargeQuery?: boolean;
|
|
21
21
|
};
|
|
22
22
|
declare const getSubnames: (injected: ENSArgs<'gqlInstance'>, functionArgs: Params) => Promise<{
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const format_1 = require("../utils/format");
|
|
4
4
|
const labels_1 = require("../utils/labels");
|
|
5
5
|
const normalise_1 = require("../utils/normalise");
|
|
6
|
-
const largeQuery = async ({ gqlInstance }, { name, page, pageSize = 10, orderDirection, orderBy, lastSubnames }) => {
|
|
6
|
+
const largeQuery = async ({ gqlInstance }, { name, page, pageSize = 10, orderDirection, orderBy, lastSubnames = [], }) => {
|
|
7
7
|
const client = gqlInstance.client;
|
|
8
8
|
let finalQuery = gqlInstance.gql `
|
|
9
9
|
query getSubnames(
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BigNumber } from 'ethers';
|
|
2
|
+
import { ENSArgs } from '..';
|
|
3
|
+
import { CommitmentParams } from '../utils/registerHelpers';
|
|
4
|
+
declare type Params = Omit<CommitmentParams, 'name' | 'resolver'> & {
|
|
5
|
+
resolverAddress?: string;
|
|
6
|
+
secret: string;
|
|
7
|
+
wrapperExpiry: number;
|
|
8
|
+
value: BigNumber;
|
|
9
|
+
};
|
|
10
|
+
export default function ({ contracts }: ENSArgs<'contracts'>, name: string, { resolverAddress, value, ...params }: Params): Promise<import("ethers").PopulatedTransaction>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const registerHelpers_1 = require("../utils/registerHelpers");
|
|
4
|
+
async function default_1({ contracts }, name, { resolverAddress, value, ...params }) {
|
|
5
|
+
const labels = name.split('.');
|
|
6
|
+
if (labels.length !== 2 || labels[1] !== 'eth')
|
|
7
|
+
throw new Error('Currently only .eth TLD registrations are supported');
|
|
8
|
+
const controller = await contracts.getEthRegistrarController();
|
|
9
|
+
const _resolver = await contracts.getPublicResolver(undefined, resolverAddress);
|
|
10
|
+
const generatedParams = (0, registerHelpers_1.makeRegistrationData)({
|
|
11
|
+
name,
|
|
12
|
+
resolver: _resolver,
|
|
13
|
+
...params,
|
|
14
|
+
});
|
|
15
|
+
return controller.populateTransaction.register(...generatedParams, {
|
|
16
|
+
value,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.default = default_1;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
async function default_1({ contracts }, name, { duration, value, }) {
|
|
4
|
+
const labels = name.split('.');
|
|
5
|
+
if (labels.length !== 2 || labels[1] !== 'eth')
|
|
6
|
+
throw new Error('Currently only .eth TLD renewals are supported');
|
|
7
|
+
const controller = await contracts.getEthRegistrarController();
|
|
8
|
+
return controller.populateTransaction.renew(labels[0], duration, { value });
|
|
9
|
+
}
|
|
10
|
+
exports.default = default_1;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { ENSArgs } from '..';
|
|
3
|
-
|
|
3
|
+
import { Expiry } from '../utils/wrapperExpiry';
|
|
4
|
+
declare type BaseArgs = {
|
|
5
|
+
owner: string;
|
|
6
|
+
resolverAddress?: string;
|
|
4
7
|
contract: 'registry' | 'nameWrapper';
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
};
|
|
9
|
+
declare type NameWrapperArgs = {
|
|
10
|
+
contract: 'nameWrapper';
|
|
11
|
+
expiry?: Expiry;
|
|
12
|
+
} & BaseArgs;
|
|
13
|
+
declare type Args = BaseArgs | NameWrapperArgs;
|
|
14
|
+
export default function ({ contracts, signer, getExpiry, }: ENSArgs<'contracts' | 'signer' | 'getExpiry'>, name: string, { contract, owner, resolverAddress, ...wrapperArgs }: Args): Promise<ethers.PopulatedTransaction>;
|
|
15
|
+
export {};
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ethers_1 = require("ethers");
|
|
4
4
|
const normalise_1 = require("../utils/normalise");
|
|
5
|
-
|
|
5
|
+
const wrapperExpiry_1 = require("../utils/wrapperExpiry");
|
|
6
|
+
async function default_1({ contracts, signer, getExpiry, }, name, { contract, owner, resolverAddress, ...wrapperArgs }) {
|
|
6
7
|
const labels = name.split('.');
|
|
7
8
|
const label = labels.shift();
|
|
8
9
|
const labelhash = ethers_1.ethers.utils.solidityKeccak256(['string'], [label]);
|
|
@@ -10,11 +11,12 @@ async function default_1({ contracts, signer }, name, { contract, address, }) {
|
|
|
10
11
|
switch (contract) {
|
|
11
12
|
case 'registry': {
|
|
12
13
|
const registry = (await contracts?.getRegistry()).connect(signer);
|
|
13
|
-
return registry.populateTransaction.setSubnodeOwner(parentNodehash, labelhash,
|
|
14
|
+
return registry.populateTransaction.setSubnodeOwner(parentNodehash, labelhash, owner);
|
|
14
15
|
}
|
|
15
16
|
case 'nameWrapper': {
|
|
16
17
|
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
17
|
-
|
|
18
|
+
const expiry = await (0, wrapperExpiry_1.makeExpiry)({ getExpiry }, labels.join('.'), 'expiry' in wrapperArgs ? wrapperArgs.expiry : undefined);
|
|
19
|
+
return nameWrapper.populateTransaction.setSubnodeOwner(parentNodehash, label, owner, '0', expiry);
|
|
18
20
|
}
|
|
19
21
|
default: {
|
|
20
22
|
throw new Error(`Unknown contract: ${contract}`);
|