@ensdomains/ensjs 3.0.0-alpha.42 → 3.0.0-alpha.44
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/getContractAddress.js +3 -3
- package/dist/cjs/functions/batch.js +14 -6
- package/dist/cjs/functions/getDecryptedName.js +111 -0
- package/dist/cjs/functions/getExpiry.js +2 -1
- package/dist/cjs/functions/getHistory.js +16 -9
- package/dist/cjs/functions/getOwner.js +5 -4
- package/dist/cjs/functions/getPrice.js +6 -6
- package/dist/cjs/functions/getProfile.js +11 -5
- package/dist/cjs/functions/getWrapperData.js +2 -2
- package/dist/cjs/functions/unwrapName.js +2 -1
- package/dist/cjs/functions/wrapName.js +4 -3
- package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +2 -2
- package/dist/cjs/generated/factories/BulkRenewal__factory.js +2 -2
- package/dist/cjs/generated/factories/DNSRegistrar__factory.js +2 -2
- package/dist/cjs/generated/factories/DNSSECImpl__factory.js +2 -2
- package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +2 -2
- package/dist/cjs/generated/factories/ENSRegistry__factory.js +2 -2
- package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +2 -2
- package/dist/cjs/generated/factories/Multicall__factory.js +2 -2
- package/dist/cjs/generated/factories/NameWrapper__factory.js +2 -2
- package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +2 -2
- package/dist/cjs/generated/factories/PublicResolver__factory.js +2 -2
- package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +2 -2
- package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +2 -2
- package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +2 -2
- package/dist/cjs/generated/factories/Root__factory.js +2 -2
- package/dist/cjs/generated/factories/SHA1Digest__factory.js +2 -2
- package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +2 -2
- package/dist/cjs/generated/factories/SHA256Digest__factory.js +2 -2
- package/dist/cjs/generated/factories/StaticMetadataService__factory.js +2 -2
- package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +2 -2
- package/dist/cjs/generated/factories/UniversalResolver__factory.js +2 -2
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/utils/ccip.js +4 -4
- package/dist/cjs/utils/fuses.js +3 -2
- package/dist/cjs/utils/hexEncodedName.js +2 -0
- package/dist/cjs/utils/labels.js +14 -8
- package/dist/cjs/utils/registerHelpers.js +2 -2
- package/dist/cjs/utils/singleCall.js +9 -1
- package/dist/cjs/utils/validation.js +2 -0
- package/dist/cjs/utils/wrapper.js +1 -1
- package/dist/esm/contracts/getContractAddress.mjs +3 -3
- package/dist/esm/functions/batch.mjs +14 -6
- package/dist/esm/functions/getDecryptedName.mjs +96 -0
- package/dist/esm/functions/getExpiry.mjs +2 -1
- package/dist/esm/functions/getHistory.mjs +16 -9
- package/dist/esm/functions/getOwner.mjs +3 -2
- package/dist/esm/functions/getPrice.mjs +2 -2
- package/dist/esm/functions/getProfile.mjs +10 -4
- package/dist/esm/functions/getWrapperData.mjs +2 -2
- package/dist/esm/functions/unwrapName.mjs +2 -1
- package/dist/esm/functions/wrapName.mjs +3 -2
- package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +1 -1
- package/dist/esm/generated/factories/BulkRenewal__factory.mjs +1 -1
- package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +1 -1
- package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +1 -1
- package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +1 -1
- package/dist/esm/generated/factories/ENSRegistry__factory.mjs +1 -1
- package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +1 -1
- package/dist/esm/generated/factories/Multicall__factory.mjs +1 -1
- package/dist/esm/generated/factories/NameWrapper__factory.mjs +1 -1
- package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +1 -1
- package/dist/esm/generated/factories/PublicResolver__factory.mjs +1 -1
- package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +1 -1
- package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +1 -1
- package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +1 -1
- package/dist/esm/generated/factories/Root__factory.mjs +1 -1
- package/dist/esm/generated/factories/SHA1Digest__factory.mjs +1 -1
- package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +1 -1
- package/dist/esm/generated/factories/SHA256Digest__factory.mjs +1 -1
- package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +1 -1
- package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +1 -1
- package/dist/esm/generated/factories/UniversalResolver__factory.mjs +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/utils/ccip.mjs +3 -3
- package/dist/esm/utils/fuses.mjs +3 -2
- package/dist/esm/utils/hexEncodedName.mjs +2 -0
- package/dist/esm/utils/labels.mjs +11 -8
- package/dist/esm/utils/registerHelpers.mjs +1 -1
- package/dist/esm/utils/singleCall.mjs +9 -1
- package/dist/esm/utils/validation.mjs +2 -0
- package/dist/esm/utils/wrapper.mjs +1 -1
- package/dist/types/functions/batch.d.ts +8 -1
- package/dist/types/functions/getDecryptedName.d.ts +9 -0
- package/dist/types/functions/getHistory.d.ts +16 -0
- package/dist/types/functions/getPrice.d.ts +1 -1
- package/dist/types/functions/getProfile.d.ts +1 -0
- package/dist/types/functions/getRecords.d.ts +1 -0
- package/dist/types/functions/registerName.d.ts +1 -1
- package/dist/types/functions/renewNames.d.ts +1 -1
- package/dist/types/functions/types.d.ts +2 -0
- package/dist/types/index.d.ts +32 -1
- package/dist/types/static.d.ts +1 -1
- package/dist/types/utils/fuses.d.ts +1 -0
- package/dist/types/utils/hexEncodedName.d.ts +1 -0
- package/dist/types/utils/labels.d.ts +2 -1
- package/dist/types/utils/singleCall.d.ts +1 -0
- package/dist/types/utils/validation.d.ts +1 -0
- package/dist/types/utils/wrapper.d.ts +1 -1
- package/package.json +2 -2
- package/src/contracts/getContractAddress.ts +3 -3
- package/src/functions/batch.ts +15 -5
- package/src/functions/ccip.test.ts +62 -0
- package/src/functions/createSubname.ts +1 -1
- package/src/functions/getDecryptedName.test.ts +49 -0
- package/src/functions/getDecryptedName.ts +119 -0
- package/src/functions/getExpiry.ts +3 -2
- package/src/functions/getHistory.test.ts +11 -0
- package/src/functions/getHistory.ts +16 -9
- package/src/functions/getNames.test.ts +1 -1
- package/src/functions/getOwner.ts +4 -3
- package/src/functions/getPrice.ts +2 -2
- package/src/functions/getProfile.test.ts +7 -0
- package/src/functions/getProfile.ts +13 -4
- package/src/functions/getWrapperData.test.ts +3 -0
- package/src/functions/getWrapperData.ts +2 -2
- package/src/functions/registerName.ts +1 -1
- package/src/functions/renewNames.ts +1 -1
- package/src/functions/types.ts +2 -0
- package/src/functions/unwrapName.ts +2 -1
- package/src/functions/wrapName.ts +3 -2
- package/src/generated/factories/BaseRegistrarImplementation__factory.ts +1 -1
- package/src/generated/factories/BulkRenewal__factory.ts +1 -1
- package/src/generated/factories/DNSRegistrar__factory.ts +1 -1
- package/src/generated/factories/DNSSECImpl__factory.ts +1 -1
- package/src/generated/factories/DefaultReverseResolver__factory.ts +1 -1
- package/src/generated/factories/ENSRegistry__factory.ts +1 -1
- package/src/generated/factories/ETHRegistrarController__factory.ts +1 -1
- package/src/generated/factories/Multicall__factory.ts +1 -1
- package/src/generated/factories/NameWrapper__factory.ts +1 -1
- package/src/generated/factories/P256SHA256Algorithm__factory.ts +1 -1
- package/src/generated/factories/PublicResolver__factory.ts +1 -1
- package/src/generated/factories/RSASHA1Algorithm__factory.ts +1 -1
- package/src/generated/factories/RSASHA256Algorithm__factory.ts +1 -1
- package/src/generated/factories/ReverseRegistrar__factory.ts +1 -1
- package/src/generated/factories/Root__factory.ts +1 -1
- package/src/generated/factories/SHA1Digest__factory.ts +1 -1
- package/src/generated/factories/SHA1NSEC3Digest__factory.ts +1 -1
- package/src/generated/factories/SHA256Digest__factory.ts +1 -1
- package/src/generated/factories/StaticMetadataService__factory.ts +1 -1
- package/src/generated/factories/TLDPublicSuffixList__factory.ts +1 -1
- package/src/generated/factories/UniversalResolver__factory.ts +1 -1
- package/src/index.ts +5 -1
- package/src/static.ts +1 -1
- package/src/utils/ccip.ts +3 -3
- package/src/utils/fuses.ts +4 -4
- package/src/utils/hexEncodedName.ts +3 -0
- package/src/utils/labels.ts +13 -11
- package/src/utils/registerHelpers.ts +1 -1
- package/src/utils/singleCall.ts +11 -6
- package/src/utils/validation.ts +3 -0
- package/src/utils/wrapper.ts +1 -1
- package/src/functions/getProfile-ccip.test.ts +0 -29
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// src/functions/getOwner.ts
|
|
2
|
-
import { defaultAbiCoder } from "@ethersproject/abi
|
|
2
|
+
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
3
3
|
import { hexStripZeros } from "@ethersproject/bytes";
|
|
4
4
|
import { labelhash } from "../utils/labels.mjs";
|
|
5
5
|
import { namehash as makeNamehash } from "../utils/normalise.mjs";
|
|
6
|
+
import { checkIsDotEth } from "../utils/validation.mjs";
|
|
6
7
|
var singleContractOwnerRaw = async ({ contracts }, contract, namehash, labels) => {
|
|
7
8
|
switch (contract) {
|
|
8
9
|
case "nameWrapper": {
|
|
@@ -60,7 +61,7 @@ var raw = async ({ contracts, multicallWrapper }, name, contract) => {
|
|
|
60
61
|
labels
|
|
61
62
|
);
|
|
62
63
|
const data = [registryData, nameWrapperData];
|
|
63
|
-
if (labels
|
|
64
|
+
if (checkIsDotEth(labels)) {
|
|
64
65
|
data.push(registrarData);
|
|
65
66
|
}
|
|
66
67
|
return multicallWrapper.raw(data);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/functions/getPrice.ts
|
|
2
|
-
import { defaultAbiCoder } from "@ethersproject/abi
|
|
3
|
-
import { BigNumber } from "@ethersproject/bignumber
|
|
2
|
+
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
3
|
+
import { BigNumber } from "@ethersproject/bignumber";
|
|
4
4
|
var raw = async ({ contracts, multicallWrapper }, nameOrNames, duration, legacy) => {
|
|
5
5
|
const names = Array.isArray(nameOrNames) ? nameOrNames : [nameOrNames];
|
|
6
6
|
if (names.length > 1) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/functions/getProfile.ts
|
|
2
2
|
import { formatsByName } from "@ensdomains/address-encoder";
|
|
3
|
-
import { defaultAbiCoder } from "@ethersproject/abi
|
|
3
|
+
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
4
4
|
import { hexStripZeros, isBytesLike } from "@ethersproject/bytes";
|
|
5
5
|
import { decodeContenthash } from "../utils/contentHash.mjs";
|
|
6
6
|
import { hexEncodeName } from "../utils/hexEncodedName.mjs";
|
|
@@ -229,6 +229,7 @@ var graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress) =
|
|
|
229
229
|
const query = gqlInstance.gql`
|
|
230
230
|
query getRecords($id: String!) {
|
|
231
231
|
domain(id: $id) {
|
|
232
|
+
name
|
|
232
233
|
isMigrated
|
|
233
234
|
createdAt
|
|
234
235
|
resolver {
|
|
@@ -245,6 +246,7 @@ var graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress) =
|
|
|
245
246
|
const customResolverQuery = gqlInstance.gql`
|
|
246
247
|
query getRecordsWithCustomResolver($id: String!, $resolverId: String!) {
|
|
247
248
|
domain(id: $id) {
|
|
249
|
+
name
|
|
248
250
|
isMigrated
|
|
249
251
|
createdAt
|
|
250
252
|
}
|
|
@@ -277,10 +279,10 @@ var graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress) =
|
|
|
277
279
|
}
|
|
278
280
|
if (!domain)
|
|
279
281
|
return;
|
|
280
|
-
const { isMigrated, createdAt } = domain;
|
|
282
|
+
const { isMigrated, createdAt, name: decryptedName } = domain;
|
|
281
283
|
const returnedRecords = {};
|
|
282
284
|
if (!resolverResponse || !wantedRecords)
|
|
283
|
-
return { isMigrated, createdAt };
|
|
285
|
+
return { isMigrated, createdAt, decryptedName };
|
|
284
286
|
Object.keys(wantedRecords).forEach((key) => {
|
|
285
287
|
const data = wantedRecords[key];
|
|
286
288
|
if (typeof data === "boolean" && data) {
|
|
@@ -293,6 +295,7 @@ var graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress) =
|
|
|
293
295
|
});
|
|
294
296
|
return {
|
|
295
297
|
...returnedRecords,
|
|
298
|
+
decryptedName,
|
|
296
299
|
isMigrated,
|
|
297
300
|
createdAt
|
|
298
301
|
};
|
|
@@ -323,6 +326,7 @@ var getProfileFromName = async ({
|
|
|
323
326
|
);
|
|
324
327
|
let isMigrated = null;
|
|
325
328
|
let createdAt = null;
|
|
329
|
+
let decryptedName = null;
|
|
326
330
|
let result = null;
|
|
327
331
|
if (!graphResult) {
|
|
328
332
|
if (!fallback)
|
|
@@ -344,10 +348,12 @@ var getProfileFromName = async ({
|
|
|
344
348
|
const {
|
|
345
349
|
isMigrated: _isMigrated,
|
|
346
350
|
createdAt: _createdAt,
|
|
351
|
+
decryptedName: _decryptedName,
|
|
347
352
|
...wantedRecords
|
|
348
353
|
} = graphResult;
|
|
349
354
|
isMigrated = _isMigrated;
|
|
350
355
|
createdAt = _createdAt;
|
|
356
|
+
decryptedName = _decryptedName;
|
|
351
357
|
let recordsWithFallback = usingOptions ? wantedRecords : _options;
|
|
352
358
|
if ((Object.keys(recordsWithFallback).length === 0 || !recordsWithFallback.coinTypes && !recordsWithFallback.texts && Object.keys(recordsWithFallback.contentHash || {}).length === 0) && fallback) {
|
|
353
359
|
recordsWithFallback = fallback;
|
|
@@ -372,7 +378,7 @@ var getProfileFromName = async ({
|
|
|
372
378
|
createdAt,
|
|
373
379
|
message: !result ? "Records fetch didn't complete" : "Name doesn't have a resolver"
|
|
374
380
|
};
|
|
375
|
-
return { ...result, isMigrated, createdAt, message: void 0 };
|
|
381
|
+
return { ...result, isMigrated, createdAt, decryptedName, message: void 0 };
|
|
376
382
|
};
|
|
377
383
|
var getProfileFromAddress = async ({
|
|
378
384
|
contracts,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/functions/getWrapperData.ts
|
|
2
|
-
import { BigNumber } from "@ethersproject/bignumber
|
|
2
|
+
import { BigNumber } from "@ethersproject/bignumber";
|
|
3
3
|
import { decodeFuses } from "../utils/fuses.mjs";
|
|
4
4
|
import { namehash } from "../utils/normalise.mjs";
|
|
5
5
|
var raw = async ({ contracts }, name) => {
|
|
@@ -17,7 +17,7 @@ var decode = async ({ contracts }, data) => {
|
|
|
17
17
|
data
|
|
18
18
|
);
|
|
19
19
|
const fuseObj = decodeFuses(fuses);
|
|
20
|
-
const expiryDate = expiry.gt(0) && expiry.lt(BigNumber.from(2).pow(32)) ? new Date(expiry.mul(1e3).
|
|
20
|
+
const expiryDate = expiry.gt(0) && expiry.lt(BigNumber.from(2).pow(32)) ? new Date(expiry.mul(1e3).toNumber()) : void 0;
|
|
21
21
|
return {
|
|
22
22
|
...fuseObj,
|
|
23
23
|
expiryDate,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/functions/unwrapName.ts
|
|
2
2
|
import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
|
|
3
3
|
import { namehash } from "../utils/normalise.mjs";
|
|
4
|
+
import { checkIsDotEth } from "../utils/validation.mjs";
|
|
4
5
|
async function unwrapName_default({ contracts, signer }, name, {
|
|
5
6
|
newController,
|
|
6
7
|
newRegistrant
|
|
@@ -9,7 +10,7 @@ async function unwrapName_default({ contracts, signer }, name, {
|
|
|
9
10
|
const labelhash = solidityKeccak256(["string"], [labels[0]]);
|
|
10
11
|
const parentNodehash = namehash(labels.slice(1).join("."));
|
|
11
12
|
const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
|
|
12
|
-
if (labels
|
|
13
|
+
if (checkIsDotEth(labels)) {
|
|
13
14
|
if (!newRegistrant) {
|
|
14
15
|
throw new Error("newRegistrant must be specified for .eth names");
|
|
15
16
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// src/functions/wrapName.ts
|
|
2
|
-
import { defaultAbiCoder } from "@ethersproject/abi
|
|
2
|
+
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
3
3
|
import { keccak256 as solidityKeccak256 } from "@ethersproject/solidity";
|
|
4
4
|
import { encodeFuses } from "../utils/fuses.mjs";
|
|
5
5
|
import { hexEncodeName } from "../utils/hexEncodedName.mjs";
|
|
6
|
+
import { checkIsDotEth } from "../utils/validation.mjs";
|
|
6
7
|
import { wrappedLabelLengthCheck } from "../utils/wrapper.mjs";
|
|
7
8
|
async function wrapETH({ contracts }, labels, wrappedOwner, decodedFuses, resolverAddress, signer, address) {
|
|
8
9
|
const nameWrapper = await contracts?.getNameWrapper();
|
|
@@ -45,7 +46,7 @@ async function wrapName_default({ contracts, signer }, name, {
|
|
|
45
46
|
resolverAddress = publicResolver.address;
|
|
46
47
|
const labels = name.split(".");
|
|
47
48
|
wrappedLabelLengthCheck(labels[0]);
|
|
48
|
-
if (labels
|
|
49
|
+
if (checkIsDotEth(labels)) {
|
|
49
50
|
switch (typeof fuseOptions) {
|
|
50
51
|
case "object": {
|
|
51
52
|
decodedFuses = encodeFuses(fuseOptions);
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/BaseRegistrarImplementation__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/BulkRenewal__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/DNSRegistrar__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/DNSSECImpl__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/DefaultReverseResolver__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/ENSRegistry__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/ETHRegistrarController__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/Multicall__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/NameWrapper__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/P256SHA256Algorithm__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/PublicResolver__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/RSASHA1Algorithm__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/RSASHA256Algorithm__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/ReverseRegistrar__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/Root__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/SHA1Digest__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/SHA1NSEC3Digest__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/SHA256Digest__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/StaticMetadataService__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/TLDPublicSuffixList__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
|
@@ -6,7 +6,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/generated/factories/UniversalResolver__factory.ts
|
|
9
|
-
import { Interface } from "@ethersproject/abi
|
|
9
|
+
import { Interface } from "@ethersproject/abi";
|
|
10
10
|
import { Contract } from "@ethersproject/contracts";
|
|
11
11
|
var _abi = [
|
|
12
12
|
{
|
package/dist/esm/index.mjs
CHANGED
|
@@ -255,9 +255,10 @@ var ENS = class {
|
|
|
255
255
|
"getAvailable",
|
|
256
256
|
["contracts"]
|
|
257
257
|
);
|
|
258
|
+
getDecryptedName = this.generateRawFunction("getDecryptedName", ["contracts", "gqlInstance"]);
|
|
258
259
|
universalWrapper = this.generateRawFunction("initialGetters", ["contracts"], "universalWrapper");
|
|
259
260
|
resolverMulticallWrapper = this.generateRawFunction("initialGetters", ["contracts"], "resolverMulticallWrapper");
|
|
260
|
-
multicallWrapper = this.generateRawFunction("initialGetters", ["contracts"], "multicallWrapper");
|
|
261
|
+
multicallWrapper = this.generateRawFunction("initialGetters", ["contracts", "provider"], "multicallWrapper");
|
|
261
262
|
setName = this.generateWriteFunction(
|
|
262
263
|
"setName",
|
|
263
264
|
["contracts"]
|
package/dist/esm/utils/ccip.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// src/utils/ccip.ts
|
|
2
|
-
import { BigNumber } from "@ethersproject/bignumber
|
|
2
|
+
import { BigNumber } from "@ethersproject/bignumber";
|
|
3
3
|
import {
|
|
4
4
|
arrayify,
|
|
5
5
|
hexConcat,
|
|
6
6
|
hexDataSlice
|
|
7
7
|
} from "@ethersproject/bytes";
|
|
8
|
-
import { toUtf8String } from "@ethersproject/strings
|
|
8
|
+
import { toUtf8String } from "@ethersproject/strings";
|
|
9
9
|
function bytesPad(value) {
|
|
10
10
|
if (value.length % 32 === 0) {
|
|
11
11
|
return value;
|
|
@@ -97,7 +97,7 @@ var ccipLookup = async (provider, transaction, result) => {
|
|
|
97
97
|
throw new Error("CCIP Read disabled or provided no URLs");
|
|
98
98
|
}
|
|
99
99
|
const tx = {
|
|
100
|
-
to:
|
|
100
|
+
to: txSender,
|
|
101
101
|
data: hexConcat([
|
|
102
102
|
callbackSelector,
|
|
103
103
|
encodeBytes([ccipResult, extraData])
|
package/dist/esm/utils/fuses.mjs
CHANGED
|
@@ -34,6 +34,7 @@ var userSettableFuseEnum = {
|
|
|
34
34
|
};
|
|
35
35
|
var fullFuseEnum = {
|
|
36
36
|
...userSettableFuseEnum,
|
|
37
|
+
...fullParentFuseEnum,
|
|
37
38
|
CAN_DO_EVERYTHING
|
|
38
39
|
};
|
|
39
40
|
var unnamedChildFuses = [
|
|
@@ -216,14 +217,14 @@ var decodeNamedFuses = (fuses, arr) => {
|
|
|
216
217
|
const fuseObj = Object.fromEntries(
|
|
217
218
|
arr.map((fuse) => [
|
|
218
219
|
fuse,
|
|
219
|
-
(fuses &
|
|
220
|
+
(fuses & fullFuseEnum[fuse]) === fullFuseEnum[fuse]
|
|
220
221
|
])
|
|
221
222
|
);
|
|
222
223
|
return fuseObj;
|
|
223
224
|
};
|
|
224
225
|
var decodeUnnamedFuses = (fuses, arr) => {
|
|
225
226
|
const fuseObj = Object.fromEntries(
|
|
226
|
-
arr.map((fuse) => [fuse, (fuses & fuse)
|
|
227
|
+
arr.map((fuse) => [fuse, (fuses & fuse) === fuse])
|
|
227
228
|
);
|
|
228
229
|
return fuseObj;
|
|
229
230
|
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// src/utils/hexEncodedName.ts
|
|
2
2
|
import packet from "dns-packet";
|
|
3
3
|
var hexEncodeName = (name) => `0x${packet.name.encode(name).toString("hex")}`;
|
|
4
|
+
var hexDecodeName = (hex) => packet.name.decode(Buffer.from(hex.slice(2), "hex")).toString();
|
|
4
5
|
export {
|
|
6
|
+
hexDecodeName,
|
|
5
7
|
hexEncodeName
|
|
6
8
|
};
|
|
@@ -49,18 +49,18 @@ function saveLabel(label) {
|
|
|
49
49
|
}
|
|
50
50
|
function saveName(name) {
|
|
51
51
|
const nameArray = name.split(".");
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
for (const label of nameArray) {
|
|
53
|
+
if (!isEncodedLabelhash(label)) {
|
|
54
|
+
saveLabel(label);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
55
57
|
}
|
|
56
58
|
function checkLabel(hash) {
|
|
57
59
|
const labels = getLabels();
|
|
58
60
|
if (isEncodedLabelhash(hash)) {
|
|
59
|
-
return labels[decodeLabelhash(hash)];
|
|
60
|
-
}
|
|
61
|
-
if (hash.startsWith("0x")) {
|
|
62
|
-
return labels[`${hash.slice(2)}`];
|
|
61
|
+
return labels[decodeLabelhash(hash)] || hash;
|
|
63
62
|
}
|
|
63
|
+
return hash;
|
|
64
64
|
}
|
|
65
65
|
function encodeLabel(label) {
|
|
66
66
|
try {
|
|
@@ -77,7 +77,7 @@ function checkIsDecrypted(string) {
|
|
|
77
77
|
return !string?.includes("[");
|
|
78
78
|
}
|
|
79
79
|
function decryptName(name) {
|
|
80
|
-
return name.split(".").map((label) => checkLabel(label)
|
|
80
|
+
return name.split(".").map((label) => checkLabel(label)).join(".");
|
|
81
81
|
}
|
|
82
82
|
var truncateUndecryptedName = (name) => truncateFormat(name);
|
|
83
83
|
function checkLocalStorageSize() {
|
|
@@ -91,6 +91,8 @@ function checkLocalStorageSize() {
|
|
|
91
91
|
}
|
|
92
92
|
return allStrings ? `${3 + allStrings.length * 16 / (8 * 1024)} KB` : "Empty (0 KB)";
|
|
93
93
|
}
|
|
94
|
+
var encodedLabelRegex = /\[[a-fA-F0-9]{64}\]/g;
|
|
95
|
+
var getEncryptedLabelAmount = (name) => name.match(encodedLabelRegex)?.length || 0;
|
|
94
96
|
export {
|
|
95
97
|
checkIsDecrypted,
|
|
96
98
|
checkLabel,
|
|
@@ -99,6 +101,7 @@ export {
|
|
|
99
101
|
decryptName,
|
|
100
102
|
encodeLabel,
|
|
101
103
|
encodeLabelhash,
|
|
104
|
+
getEncryptedLabelAmount,
|
|
102
105
|
isEncodedLabelhash,
|
|
103
106
|
keccakFromString,
|
|
104
107
|
labelhash,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/utils/registerHelpers.ts
|
|
2
|
-
import { defaultAbiCoder } from "@ethersproject/abi
|
|
2
|
+
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
3
3
|
import { keccak256 } from "@ethersproject/keccak256";
|
|
4
4
|
import { encodeFuses, hasFuses } from "./fuses.mjs";
|
|
5
5
|
import { labelhash } from "./labels.mjs";
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
// src/utils/singleCall.ts
|
|
2
|
-
var singleCall_default = async (provider, ensData, func, ...data) =>
|
|
2
|
+
var singleCall_default = async (provider, ensData, func, ...data) => {
|
|
3
|
+
const { passthrough, ...rawData } = await func.raw(ensData, ...data);
|
|
4
|
+
const result = await provider.call({ ...rawData, ccipReadEnabled: true }).catch(() => null);
|
|
5
|
+
if (!result)
|
|
6
|
+
return;
|
|
7
|
+
if (passthrough)
|
|
8
|
+
return func.decode(ensData, result, passthrough, ...data);
|
|
9
|
+
return func.decode(ensData, result, ...data);
|
|
10
|
+
};
|
|
3
11
|
export {
|
|
4
12
|
singleCall_default as default
|
|
5
13
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/utils/wrapper.ts
|
|
2
|
-
import { BigNumber } from "@ethersproject/bignumber
|
|
2
|
+
import { BigNumber } from "@ethersproject/bignumber";
|
|
3
3
|
import { toUtf8Bytes } from "@ethersproject/strings";
|
|
4
4
|
var MAX_EXPIRY = BigNumber.from(2).pow(64).sub(1);
|
|
5
5
|
var makeExpiry = async ({ getExpiry }, name, expiry) => {
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import { TransactionRequest } from '@ethersproject/abstract-provider';
|
|
1
2
|
import { BatchFunctionResult, ENSArgs, RawFunction } from '..';
|
|
2
3
|
declare const _default: {
|
|
3
4
|
raw: ({ multicallWrapper }: ENSArgs<"multicallWrapper">, ...items: BatchFunctionResult<RawFunction>[]) => Promise<{
|
|
5
|
+
passthrough: {
|
|
6
|
+
to: string;
|
|
7
|
+
data: string;
|
|
8
|
+
}[];
|
|
4
9
|
to: string;
|
|
5
10
|
data: string;
|
|
6
11
|
}>;
|
|
7
|
-
decode: ({ multicallWrapper }: ENSArgs<"multicallWrapper">, data: string,
|
|
12
|
+
decode: ({ multicallWrapper }: ENSArgs<"multicallWrapper">, data: string, passthrough: TransactionRequest & {
|
|
13
|
+
passthrough?: any;
|
|
14
|
+
}[], ...items: BatchFunctionResult<RawFunction>[]) => Promise<any[] | undefined>;
|
|
8
15
|
};
|
|
9
16
|
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ENSArgs } from '../index';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
raw: ({ contracts }: ENSArgs<"contracts">, name: string, allowIncomplete?: boolean | undefined) => Promise<{
|
|
4
|
+
to: string;
|
|
5
|
+
data: string;
|
|
6
|
+
}>;
|
|
7
|
+
decode: ({ contracts, gqlInstance }: ENSArgs<"contracts" | "gqlInstance">, data: string, name: string, allowIncomplete?: boolean) => Promise<any>;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
@@ -24,5 +24,21 @@ export declare function getHistory({ gqlInstance }: ENSArgs<'gqlInstance'>, name
|
|
|
24
24
|
id: string;
|
|
25
25
|
data: object;
|
|
26
26
|
}[];
|
|
27
|
+
} | {
|
|
28
|
+
domain: {
|
|
29
|
+
type: DomainEvent;
|
|
30
|
+
blockNumber: number;
|
|
31
|
+
transactionHash: string;
|
|
32
|
+
id: string;
|
|
33
|
+
data: object;
|
|
34
|
+
}[];
|
|
35
|
+
resolver: {
|
|
36
|
+
type: ResolverEvent;
|
|
37
|
+
blockNumber: number;
|
|
38
|
+
transactionHash: string;
|
|
39
|
+
id: string;
|
|
40
|
+
data: object;
|
|
41
|
+
}[];
|
|
42
|
+
registration?: undefined;
|
|
27
43
|
} | undefined>;
|
|
28
44
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BigNumber } from '@ethersproject/bignumber
|
|
1
|
+
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
2
|
import { ENSArgs } from '..';
|
|
3
3
|
declare const _default: {
|
|
4
4
|
raw: ({ contracts, multicallWrapper }: ENSArgs<"contracts" | "multicallWrapper">, nameOrNames: string | string[], duration: number, legacy?: boolean | undefined) => Promise<{
|
|
@@ -10,6 +10,7 @@ export default function ({ getProfile }: ENSArgs<'getProfile'>, name: string, op
|
|
|
10
10
|
createdAt: string | null;
|
|
11
11
|
address?: string | undefined;
|
|
12
12
|
name?: string | null | undefined;
|
|
13
|
+
decryptedName?: string | null | undefined;
|
|
13
14
|
match?: boolean | undefined;
|
|
14
15
|
message?: string | undefined;
|
|
15
16
|
records?: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BigNumber } from '@ethersproject/bignumber
|
|
1
|
+
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
2
|
import { ENSArgs } from '..';
|
|
3
3
|
import { BaseRegistrationParams } from '../utils/registerHelpers';
|
|
4
4
|
declare type Params = BaseRegistrationParams & {
|