@ensdomains/ensjs 3.0.0-alpha.1 → 3.0.0-alpha.12
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/README.md +2 -0
- package/dist/cjs/GqlManager.d.ts +3 -0
- package/dist/cjs/GqlManager.js +62 -2
- 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.d.ts +3 -2
- package/dist/cjs/functions/burnFuses.js +4 -8
- package/dist/cjs/functions/createSubname.d.ts +3 -5
- package/dist/cjs/functions/createSubname.js +7 -8
- package/dist/cjs/functions/deleteSubname.d.ts +3 -3
- package/dist/cjs/functions/deleteSubname.js +6 -2
- package/dist/cjs/functions/getDNSOwner.d.ts +7 -0
- package/dist/cjs/functions/getDNSOwner.js +81 -0
- 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 +6 -14
- 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/getOwner.js +7 -6
- package/dist/cjs/functions/getProfile.d.ts +4 -1
- package/dist/cjs/functions/getProfile.js +102 -24
- package/dist/cjs/functions/getRecords.d.ts +1 -0
- package/dist/cjs/functions/getSpecificRecord.js +30 -6
- package/dist/cjs/functions/getSubnames.d.ts +1 -1
- package/dist/cjs/functions/getSubnames.js +7 -7
- package/dist/cjs/functions/setName.d.ts +4 -3
- package/dist/cjs/functions/setName.js +5 -10
- package/dist/cjs/functions/setRecord.d.ts +18 -0
- package/dist/cjs/functions/setRecord.js +27 -0
- package/dist/cjs/functions/setRecords.d.ts +4 -2
- package/dist/cjs/functions/setRecords.js +14 -12
- package/dist/cjs/functions/setResolver.d.ts +4 -4
- package/dist/cjs/functions/setResolver.js +6 -12
- package/dist/cjs/functions/transferName.d.ts +4 -3
- package/dist/cjs/functions/transferName.js +9 -13
- package/dist/cjs/functions/transferSubname.d.ts +13 -3
- package/dist/cjs/functions/transferSubname.js +7 -8
- package/dist/cjs/functions/unwrapName.d.ts +4 -3
- package/dist/cjs/functions/unwrapName.js +5 -9
- package/dist/cjs/functions/wrapName.d.ts +7 -3
- package/dist/cjs/functions/wrapName.js +38 -36
- 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 +62 -84
- package/dist/cjs/index.js +44 -21
- package/dist/cjs/utils/labels.js +5 -4
- package/dist/cjs/utils/makeHashIndexes.js +2 -2
- package/dist/cjs/utils/normalise.d.ts +1 -0
- package/dist/cjs/utils/normalise.js +27 -1
- package/dist/cjs/utils/recordHelpers.d.ts +3 -0
- package/dist/cjs/utils/recordHelpers.js +42 -15
- package/dist/cjs/utils/registerHelpers.js +3 -4
- package/dist/cjs/utils/wrapperExpiry.d.ts +5 -0
- package/dist/cjs/utils/wrapperExpiry.js +30 -0
- package/dist/cjs/utils/writeTx.d.ts +4 -0
- package/dist/cjs/utils/writeTx.js +3 -0
- package/dist/esm/GqlManager.d.ts +3 -0
- package/dist/esm/GqlManager.js +58 -2
- 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.d.ts +3 -2
- package/dist/esm/functions/burnFuses.js +4 -8
- package/dist/esm/functions/createSubname.d.ts +3 -5
- package/dist/esm/functions/createSubname.js +7 -8
- package/dist/esm/functions/deleteSubname.d.ts +3 -3
- package/dist/esm/functions/deleteSubname.js +6 -2
- package/dist/esm/functions/getDNSOwner.d.ts +7 -0
- package/dist/esm/functions/getDNSOwner.js +51 -0
- 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 +7 -15
- 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/getOwner.js +7 -6
- package/dist/esm/functions/getProfile.d.ts +4 -1
- package/dist/esm/functions/getProfile.js +102 -24
- package/dist/esm/functions/getRecords.d.ts +1 -0
- package/dist/esm/functions/getSpecificRecord.js +30 -6
- package/dist/esm/functions/getSubnames.d.ts +1 -1
- package/dist/esm/functions/getSubnames.js +4 -4
- package/dist/esm/functions/setName.d.ts +4 -3
- package/dist/esm/functions/setName.js +5 -10
- package/dist/esm/functions/setRecord.d.ts +18 -0
- package/dist/esm/functions/setRecord.js +24 -0
- package/dist/esm/functions/setRecords.d.ts +4 -2
- package/dist/esm/functions/setRecords.js +14 -12
- package/dist/esm/functions/setResolver.d.ts +4 -4
- package/dist/esm/functions/setResolver.js +6 -12
- package/dist/esm/functions/transferName.d.ts +4 -3
- package/dist/esm/functions/transferName.js +9 -13
- package/dist/esm/functions/transferSubname.d.ts +13 -3
- package/dist/esm/functions/transferSubname.js +7 -8
- package/dist/esm/functions/unwrapName.d.ts +4 -3
- package/dist/esm/functions/unwrapName.js +5 -9
- package/dist/esm/functions/wrapName.d.ts +7 -3
- package/dist/esm/functions/wrapName.js +38 -36
- 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 +62 -84
- package/dist/esm/index.js +44 -21
- package/dist/esm/utils/labels.js +5 -4
- package/dist/esm/utils/makeHashIndexes.js +2 -2
- package/dist/esm/utils/normalise.d.ts +1 -0
- package/dist/esm/utils/normalise.js +25 -0
- package/dist/esm/utils/recordHelpers.d.ts +3 -0
- package/dist/esm/utils/recordHelpers.js +40 -14
- package/dist/esm/utils/registerHelpers.js +3 -4
- package/dist/esm/utils/wrapperExpiry.d.ts +5 -0
- package/dist/esm/utils/wrapperExpiry.js +26 -0
- package/dist/esm/utils/writeTx.d.ts +4 -0
- package/dist/esm/utils/writeTx.js +1 -0
- package/package.json +24 -14
- package/src/@types/dns-packet/index.d.ts +114 -0
- package/src/ABIs/Multicall.json +452 -0
- package/src/GqlManager.test.ts +170 -0
- package/src/GqlManager.ts +67 -2
- package/src/contracts/index.ts +1 -1
- package/src/{tests → functions}/batch.test.ts +7 -7
- package/src/{tests → functions}/batchWrappers.test.ts +6 -6
- package/src/{tests → functions}/burnFuses.test.ts +12 -15
- package/src/functions/burnFuses.ts +9 -11
- package/src/{tests → functions}/createSubname.test.ts +9 -17
- package/src/functions/createSubname.ts +20 -14
- package/src/{tests → functions}/deleteSubname.test.ts +12 -31
- package/src/functions/deleteSubname.ts +10 -12
- package/src/functions/getDNSOwner.test.ts +118 -0
- package/src/functions/getDNSOwner.ts +61 -0
- package/src/functions/getExpiry.test.ts +59 -0
- package/src/functions/getExpiry.ts +87 -9
- package/src/{tests → functions}/getFuses.test.ts +16 -37
- package/src/functions/getFuses.ts +12 -17
- package/src/functions/getHistory.test.ts +29 -0
- package/src/functions/getHistory.ts +2 -127
- package/src/{tests → functions}/getName.test.ts +6 -6
- package/src/functions/getName.ts +1 -1
- package/src/{tests → functions}/getNames.test.ts +98 -69
- package/src/{tests → functions}/getOwner.test.ts +21 -24
- package/src/functions/getOwner.ts +7 -7
- package/src/functions/getProfile.test.ts +143 -0
- package/src/functions/getProfile.ts +151 -24
- package/src/functions/getRecords.ts +1 -0
- package/src/functions/getResolver.test.ts +15 -0
- package/src/{tests → functions}/getSpecificRecord.test.ts +17 -14
- package/src/functions/getSpecificRecord.ts +38 -12
- package/src/functions/getSubnames.test.ts +35 -0
- package/src/functions/getSubnames.ts +76 -67
- package/src/{tests → functions}/makeCommitment.test.ts +2 -2
- package/src/functions/normalise.test.ts +22 -0
- package/src/{tests → functions}/setName.test.ts +11 -11
- package/src/functions/setName.ts +15 -17
- package/src/functions/setRecord.test.ts +103 -0
- package/src/functions/setRecord.ts +63 -0
- package/src/{tests → functions}/setRecords.test.ts +16 -13
- package/src/functions/setRecords.ts +22 -16
- package/src/{tests → functions}/setResolver.test.ts +13 -19
- package/src/functions/setResolver.ts +15 -20
- package/src/{tests → functions}/transferName.test.ts +20 -35
- package/src/functions/transferName.ts +19 -22
- package/src/{tests → functions}/transferSubname.test.ts +14 -33
- package/src/functions/transferSubname.ts +39 -13
- package/src/{tests → functions}/unwrapName.test.ts +16 -30
- package/src/functions/unwrapName.ts +20 -15
- package/src/functions/wrapName.test.ts +142 -0
- package/src/functions/wrapName.ts +63 -49
- 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 +117 -47
- package/src/tests/populateTransaction.test.ts +40 -0
- package/src/tests/setup.ts +17 -13
- package/src/tests/signerInjection.test.ts +46 -0
- package/src/tests/withProvider.test.ts +3 -3
- package/src/utils/labels.ts +6 -4
- package/src/utils/makeHashIndexes.ts +4 -4
- package/src/utils/normalise.ts +29 -0
- package/src/utils/recordHelpers.ts +52 -18
- package/src/utils/registerHelpers.ts +3 -4
- package/src/utils/wrapperExpiry.ts +31 -0
- package/src/utils/writeTx.ts +6 -0
- 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/getExpiry.test.ts +0 -37
- package/src/tests/getHistory.test.ts +0 -101
- package/src/tests/getProfile.test.ts +0 -102
- package/src/tests/getResolver.test.ts +0 -19
- package/src/tests/getSubnames.test.ts +0 -31
- package/src/tests/wrapName.test.ts +0 -67
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const normalise_1 = require("../utils/normalise");
|
|
4
|
+
const recordHelpers_1 = require("../utils/recordHelpers");
|
|
5
|
+
async function default_1({ contracts, provider, getResolver, signer, }, name, { record, type, resolverAddress, }) {
|
|
6
|
+
if (!name.includes('.')) {
|
|
7
|
+
throw new Error('Input is not an ENS name');
|
|
8
|
+
}
|
|
9
|
+
let resolverToUse;
|
|
10
|
+
if (resolverAddress) {
|
|
11
|
+
resolverToUse = resolverAddress;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
resolverToUse = await getResolver(name);
|
|
15
|
+
}
|
|
16
|
+
if (!resolverToUse) {
|
|
17
|
+
throw new Error('No resolver found for input address');
|
|
18
|
+
}
|
|
19
|
+
const resolver = (await contracts?.getPublicResolver(provider, resolverToUse))?.connect(signer);
|
|
20
|
+
const hash = (0, normalise_1.namehash)(name);
|
|
21
|
+
const call = (0, recordHelpers_1.generateSingleRecordCall)(hash, resolver, type)(record);
|
|
22
|
+
return {
|
|
23
|
+
to: resolver.address,
|
|
24
|
+
data: call,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.default = default_1;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
1
|
import { ENSArgs } from '..';
|
|
3
2
|
import { RecordOptions } from '../utils/recordHelpers';
|
|
4
|
-
export default function ({ contracts, provider, getResolver, }: ENSArgs<'contracts' | 'provider' | 'getResolver'>, name: string, records
|
|
3
|
+
export default function ({ contracts, provider, getResolver, signer, }: ENSArgs<'contracts' | 'provider' | 'getResolver' | 'signer'>, name: string, { records, resolverAddress, }: {
|
|
4
|
+
records: RecordOptions;
|
|
5
|
+
resolverAddress?: string;
|
|
6
|
+
}): Promise<import("ethers").PopulatedTransaction>;
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const normalise_1 = require("../utils/normalise");
|
|
4
4
|
const recordHelpers_1 = require("../utils/recordHelpers");
|
|
5
|
-
async function default_1({ contracts, provider, getResolver, }, name, records) {
|
|
5
|
+
async function default_1({ contracts, provider, getResolver, signer, }, name, { records, resolverAddress, }) {
|
|
6
6
|
if (!name.includes('.')) {
|
|
7
7
|
throw new Error('Input is not an ENS name');
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
if (
|
|
11
|
-
|
|
9
|
+
let resolverToUse;
|
|
10
|
+
if (resolverAddress) {
|
|
11
|
+
resolverToUse = resolverAddress;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
resolverToUse = await getResolver(name);
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
throw new Error('No signer found');
|
|
16
|
+
if (!resolverToUse) {
|
|
17
|
+
throw new Error('No resolver found for input address');
|
|
16
18
|
}
|
|
17
|
-
const resolver = (await contracts?.getPublicResolver(provider,
|
|
18
|
-
const
|
|
19
|
-
const calls = (0, recordHelpers_1.generateRecordCallArray)(
|
|
20
|
-
return resolver
|
|
19
|
+
const resolver = (await contracts?.getPublicResolver(provider, resolverToUse))?.connect(signer);
|
|
20
|
+
const hash = (0, normalise_1.namehash)(name);
|
|
21
|
+
const calls = (0, recordHelpers_1.generateRecordCallArray)(hash, records, resolver);
|
|
22
|
+
return resolver.populateTransaction.multicall(calls);
|
|
21
23
|
}
|
|
22
24
|
exports.default = default_1;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
1
|
import { ENSArgs } from '..';
|
|
3
|
-
export default function ({ contracts,
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
export default function ({ contracts, signer }: ENSArgs<'contracts' | 'signer'>, name: string, { contract, resolver, }: {
|
|
3
|
+
contract: 'registry' | 'nameWrapper';
|
|
4
|
+
resolver?: string;
|
|
5
|
+
}): Promise<import("ethers").PopulatedTransaction>;
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
async function default_1({ contracts,
|
|
5
|
-
const address = await provider
|
|
6
|
-
?.getSigner(options?.addressOrIndex)
|
|
7
|
-
.getAddress();
|
|
8
|
-
if (!address) {
|
|
9
|
-
throw new Error('No signer found');
|
|
10
|
-
}
|
|
3
|
+
const normalise_1 = require("../utils/normalise");
|
|
4
|
+
async function default_1({ contracts, signer }, name, { contract, resolver, }) {
|
|
11
5
|
if (!resolver) {
|
|
12
6
|
resolver = (await contracts?.getPublicResolver()).address;
|
|
13
7
|
}
|
|
14
8
|
switch (contract) {
|
|
15
9
|
case 'registry': {
|
|
16
|
-
const registry = (await contracts?.getRegistry()).connect(
|
|
17
|
-
return registry.setResolver(
|
|
10
|
+
const registry = (await contracts?.getRegistry()).connect(signer);
|
|
11
|
+
return registry.populateTransaction.setResolver((0, normalise_1.namehash)(name), resolver);
|
|
18
12
|
}
|
|
19
13
|
case 'nameWrapper': {
|
|
20
|
-
const nameWrapper = (await contracts?.getNameWrapper()).connect(
|
|
21
|
-
return nameWrapper.setResolver(
|
|
14
|
+
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
15
|
+
return nameWrapper.populateTransaction.setResolver((0, normalise_1.namehash)(name), resolver);
|
|
22
16
|
}
|
|
23
17
|
default: {
|
|
24
18
|
throw new Error(`Unknown contract: ${contract}`);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { ENSArgs } from '..';
|
|
3
|
-
export default function ({ contracts,
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export default function ({ contracts, signer }: ENSArgs<'contracts' | 'signer'>, name: string, { newOwner, contract, }: {
|
|
4
|
+
newOwner: string;
|
|
5
|
+
contract: 'registry' | 'nameWrapper' | 'baseRegistrar';
|
|
6
|
+
}): Promise<ethers.PopulatedTransaction>;
|
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ethers_1 = require("ethers");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
.getAddress();
|
|
8
|
-
if (!address) {
|
|
9
|
-
throw new Error('No signer found');
|
|
10
|
-
}
|
|
4
|
+
const normalise_1 = require("../utils/normalise");
|
|
5
|
+
async function default_1({ contracts, signer }, name, { newOwner, contract, }) {
|
|
6
|
+
const address = await signer.getAddress();
|
|
11
7
|
switch (contract) {
|
|
12
8
|
case 'registry': {
|
|
13
|
-
const registry = (await contracts?.getRegistry()).connect(
|
|
14
|
-
return registry.setOwner(
|
|
9
|
+
const registry = (await contracts?.getRegistry()).connect(signer);
|
|
10
|
+
return registry.populateTransaction.setOwner((0, normalise_1.namehash)(name), newOwner);
|
|
15
11
|
}
|
|
16
12
|
case 'baseRegistrar': {
|
|
17
|
-
const baseRegistrar = (await contracts?.getBaseRegistrar()).connect(
|
|
13
|
+
const baseRegistrar = (await contracts?.getBaseRegistrar()).connect(signer);
|
|
18
14
|
const labels = name.split('.');
|
|
19
15
|
if (labels.length > 2 || labels[labels.length - 1] !== 'eth') {
|
|
20
16
|
throw new Error('Invalid name for baseRegistrar');
|
|
21
17
|
}
|
|
22
|
-
return baseRegistrar['safeTransferFrom(address,address,uint256)'](address, newOwner, ethers_1.ethers.utils.solidityKeccak256(['string'], [labels[0]]));
|
|
18
|
+
return baseRegistrar.populateTransaction['safeTransferFrom(address,address,uint256)'](address, newOwner, ethers_1.ethers.utils.solidityKeccak256(['string'], [labels[0]]));
|
|
23
19
|
}
|
|
24
20
|
case 'nameWrapper': {
|
|
25
|
-
const nameWrapper = (await contracts?.getNameWrapper()).connect(
|
|
26
|
-
return nameWrapper.safeTransferFrom(address, newOwner,
|
|
21
|
+
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
22
|
+
return nameWrapper.populateTransaction.safeTransferFrom(address, newOwner, (0, normalise_1.namehash)(name), 1, '0x');
|
|
27
23
|
}
|
|
28
24
|
default: {
|
|
29
25
|
throw new Error(`Unknown contract: ${contract}`);
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { ENSArgs } from '..';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { Expiry } from '../utils/wrapperExpiry';
|
|
4
|
+
declare type BaseArgs = {
|
|
5
|
+
owner: string;
|
|
6
|
+
resolverAddress?: string;
|
|
7
|
+
contract: 'registry' | 'nameWrapper';
|
|
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 {};
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ethers_1 = require("ethers");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
throw new Error('No signer found');
|
|
8
|
-
}
|
|
4
|
+
const normalise_1 = require("../utils/normalise");
|
|
5
|
+
const wrapperExpiry_1 = require("../utils/wrapperExpiry");
|
|
6
|
+
async function default_1({ contracts, signer, getExpiry, }, name, { contract, owner, resolverAddress, ...wrapperArgs }) {
|
|
9
7
|
const labels = name.split('.');
|
|
10
8
|
const label = labels.shift();
|
|
11
9
|
const labelhash = ethers_1.ethers.utils.solidityKeccak256(['string'], [label]);
|
|
12
|
-
const parentNodehash =
|
|
10
|
+
const parentNodehash = (0, normalise_1.namehash)(labels.join('.'));
|
|
13
11
|
switch (contract) {
|
|
14
12
|
case 'registry': {
|
|
15
13
|
const registry = (await contracts?.getRegistry()).connect(signer);
|
|
16
|
-
return registry.setSubnodeOwner(parentNodehash, labelhash,
|
|
14
|
+
return registry.populateTransaction.setSubnodeOwner(parentNodehash, labelhash, owner);
|
|
17
15
|
}
|
|
18
16
|
case 'nameWrapper': {
|
|
19
17
|
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
20
|
-
|
|
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);
|
|
21
20
|
}
|
|
22
21
|
default: {
|
|
23
22
|
throw new Error(`Unknown contract: ${contract}`);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ENSArgs } from '..';
|
|
2
|
-
export default function ({ contracts,
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export default function ({ contracts, signer }: ENSArgs<'contracts' | 'signer'>, name: string, { newController, newRegistrant, }: {
|
|
3
|
+
newController: string;
|
|
4
|
+
newRegistrant?: string;
|
|
5
|
+
}): Promise<import("ethers").PopulatedTransaction>;
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ethers_1 = require("ethers");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const address = await signer?.getAddress();
|
|
7
|
-
if (!signer || !address) {
|
|
8
|
-
throw new Error('No signer found');
|
|
9
|
-
}
|
|
4
|
+
const normalise_1 = require("../utils/normalise");
|
|
5
|
+
async function default_1({ contracts, signer }, name, { newController, newRegistrant, }) {
|
|
10
6
|
const labels = name.split('.');
|
|
11
7
|
const labelhash = ethers_1.utils.solidityKeccak256(['string'], [labels[0]]);
|
|
12
|
-
const parentNodehash =
|
|
8
|
+
const parentNodehash = (0, normalise_1.namehash)(labels.slice(1).join('.'));
|
|
13
9
|
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
14
10
|
if (labels.length === 2 && labels[1] === 'eth') {
|
|
15
11
|
if (!newRegistrant) {
|
|
16
12
|
throw new Error('newRegistrant must be specified for .eth names');
|
|
17
13
|
}
|
|
18
|
-
return nameWrapper.unwrapETH2LD(labelhash, newRegistrant, newController);
|
|
14
|
+
return nameWrapper.populateTransaction.unwrapETH2LD(labelhash, newRegistrant, newController);
|
|
19
15
|
}
|
|
20
16
|
else {
|
|
21
17
|
if (newRegistrant) {
|
|
22
18
|
throw new Error('newRegistrant can only be specified for .eth names');
|
|
23
19
|
}
|
|
24
|
-
return nameWrapper.unwrap(parentNodehash, labelhash, newController);
|
|
20
|
+
return nameWrapper.populateTransaction.unwrap(parentNodehash, labelhash, newController);
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
23
|
exports.default = default_1;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { ENSArgs } from '..';
|
|
3
3
|
import type { FuseOptions } from '../@types/FuseOptions';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { Expiry } from '../utils/wrapperExpiry';
|
|
5
|
+
export default function ({ contracts, signer, getExpiry, }: ENSArgs<'contracts' | 'signer' | 'getExpiry'>, name: string, { wrappedOwner, fuseOptions, expiry, resolverAddress, }: {
|
|
6
|
+
wrappedOwner: string;
|
|
7
|
+
fuseOptions?: FuseOptions | string | number;
|
|
8
|
+
expiry?: Expiry;
|
|
9
|
+
resolverAddress?: string;
|
|
10
|
+
}): Promise<ethers.PopulatedTransaction>;
|
|
@@ -6,59 +6,61 @@ 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 hexEncodedName_1 = require("../utils/hexEncodedName");
|
|
9
|
-
|
|
9
|
+
const wrapperExpiry_1 = require("../utils/wrapperExpiry");
|
|
10
|
+
async function wrapETH({ contracts }, labels, wrappedOwner, expiry, decodedFuses, resolverAddress, signer, address) {
|
|
10
11
|
const nameWrapper = await contracts?.getNameWrapper();
|
|
11
12
|
const baseRegistrar = (await contracts?.getBaseRegistrar()).connect(signer);
|
|
12
13
|
const labelhash = ethers_1.ethers.utils.solidityKeccak256(['string'], [labels[0]]);
|
|
13
|
-
const data = ethers_1.ethers.utils.defaultAbiCoder.encode(['string', 'address', '
|
|
14
|
-
return baseRegistrar['safeTransferFrom(address,address,uint256,bytes)'](address, nameWrapper.address, labelhash, data);
|
|
14
|
+
const data = ethers_1.ethers.utils.defaultAbiCoder.encode(['string', 'address', 'uint32', 'uint64', 'address'], [labels[0], wrappedOwner, decodedFuses, expiry, resolverAddress]);
|
|
15
|
+
return baseRegistrar.populateTransaction['safeTransferFrom(address,address,uint256,bytes)'](address, nameWrapper.address, labelhash, data);
|
|
15
16
|
}
|
|
16
|
-
async function wrapOther({ contracts }, name, wrappedOwner,
|
|
17
|
-
const nameWrapper = await contracts?.getNameWrapper();
|
|
17
|
+
async function wrapOther({ contracts }, name, wrappedOwner, resolverAddress, address, signer) {
|
|
18
|
+
const nameWrapper = (await contracts?.getNameWrapper()).connect(signer);
|
|
18
19
|
const registry = await contracts?.getRegistry();
|
|
19
20
|
const hasApproval = await registry.isApprovedForAll(address, nameWrapper.address);
|
|
20
21
|
if (!hasApproval) {
|
|
21
22
|
throw new Error('NameWrapper must have approval to wrap a name from this address.');
|
|
22
23
|
}
|
|
23
|
-
return nameWrapper.wrap((0, hexEncodedName_1.hexEncodeName)(name), wrappedOwner,
|
|
24
|
+
return nameWrapper.populateTransaction.wrap((0, hexEncodedName_1.hexEncodeName)(name), wrappedOwner, resolverAddress);
|
|
24
25
|
}
|
|
25
|
-
async function default_1({ contracts,
|
|
26
|
-
const
|
|
27
|
-
const address = await signer?.getAddress();
|
|
28
|
-
if (!signer || !address) {
|
|
29
|
-
throw new Error('No signer found');
|
|
30
|
-
}
|
|
26
|
+
async function default_1({ contracts, signer, getExpiry, }, name, { wrappedOwner, fuseOptions, expiry, resolverAddress, }) {
|
|
27
|
+
const address = await signer.getAddress();
|
|
31
28
|
let decodedFuses;
|
|
32
|
-
switch (typeof fuseOptions) {
|
|
33
|
-
case 'object': {
|
|
34
|
-
decodedFuses = (0, generateFuseInput_1.default)(fuseOptions);
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
case 'number': {
|
|
38
|
-
decodedFuses = fuseOptions.toString(16);
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
case 'string': {
|
|
42
|
-
decodedFuses = fuseOptions;
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
case 'undefined': {
|
|
46
|
-
decodedFuses = '0';
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
default: {
|
|
50
|
-
throw new Error(`Invalid fuseOptions type: ${typeof fuseOptions}`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
29
|
const publicResolver = await contracts?.getPublicResolver();
|
|
54
30
|
if (!resolverAddress)
|
|
55
31
|
resolverAddress = publicResolver.address;
|
|
56
32
|
const labels = name.split('.');
|
|
57
|
-
if (labels.length
|
|
58
|
-
|
|
33
|
+
if (labels.length === 2 && labels[1] === 'eth') {
|
|
34
|
+
switch (typeof fuseOptions) {
|
|
35
|
+
case 'object': {
|
|
36
|
+
decodedFuses = (0, generateFuseInput_1.default)(fuseOptions);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
case 'number': {
|
|
40
|
+
decodedFuses = fuseOptions.toString(16);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case 'string': {
|
|
44
|
+
decodedFuses = fuseOptions;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case 'undefined': {
|
|
48
|
+
decodedFuses = '0';
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
default: {
|
|
52
|
+
throw new Error(`Invalid fuseOptions type: ${typeof fuseOptions}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const expiryToUse = await (0, wrapperExpiry_1.makeExpiry)({ getExpiry }, name, expiry);
|
|
56
|
+
return wrapETH({ contracts }, labels, wrappedOwner, expiryToUse, decodedFuses, resolverAddress, signer, address);
|
|
59
57
|
}
|
|
60
58
|
else {
|
|
61
|
-
|
|
59
|
+
if (fuseOptions)
|
|
60
|
+
throw new Error('Fuses can not be initially set when wrapping a non .eth name');
|
|
61
|
+
if (expiry)
|
|
62
|
+
throw new Error('Expiry can not be initially set when wrapping a non .eth name');
|
|
63
|
+
return wrapOther({ contracts }, name, wrappedOwner, resolverAddress, address, signer);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
exports.default = default_1;
|