@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
|
@@ -37,19 +37,19 @@ const addresses = {
|
|
|
37
37
|
"1": "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5",
|
|
38
38
|
"3": "0xa5627AB7Ae47063B533622C34FEBDb52d3281dF8",
|
|
39
39
|
"4": "0x283af0b28c62c092c9727f1ee09c02ca627eb7f5",
|
|
40
|
-
"5": "
|
|
40
|
+
"5": "0x603A4F2e7615d0099244496883062bA2eFBbeaf0"
|
|
41
41
|
},
|
|
42
42
|
Multicall: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
43
43
|
NameWrapper: {
|
|
44
44
|
"1": "0x0000000000000000000000000000000000000000",
|
|
45
45
|
"3": "0xF82155e2a43Be0871821E9654Fc8Ae894FB8307C",
|
|
46
46
|
"4": "0x0000000000000000000000000000000000000000",
|
|
47
|
-
"5": "
|
|
47
|
+
"5": "0x060f1546642E67c485D56248201feA2f9AB1803C"
|
|
48
48
|
},
|
|
49
49
|
PublicResolver: {
|
|
50
50
|
"1": "0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41",
|
|
51
51
|
"3": "0x13F0659Ee6bb7484C884FEeFb7F75C93951ef837",
|
|
52
|
-
"5": "
|
|
52
|
+
"5": "0x19c2d5D0f035563344dBB7bE5fD09c8dad62b001"
|
|
53
53
|
},
|
|
54
54
|
ENSRegistry: {
|
|
55
55
|
"1": "0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e",
|
|
@@ -30,16 +30,24 @@ const raw = async ({ multicallWrapper }, ...items) => {
|
|
|
30
30
|
return rawRef(...args);
|
|
31
31
|
})
|
|
32
32
|
);
|
|
33
|
-
|
|
33
|
+
const response = await multicallWrapper.raw(rawDataArr);
|
|
34
|
+
return { ...response, passthrough: rawDataArr };
|
|
34
35
|
};
|
|
35
|
-
const decode = async ({ multicallWrapper }, data, ...items) => {
|
|
36
|
-
const response = await multicallWrapper.decode(data);
|
|
36
|
+
const decode = async ({ multicallWrapper }, data, passthrough, ...items) => {
|
|
37
|
+
const response = await multicallWrapper.decode(data, passthrough);
|
|
37
38
|
if (!response)
|
|
38
39
|
return;
|
|
39
40
|
return Promise.all(
|
|
40
|
-
response.map(
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
response.map((ret, i) => {
|
|
42
|
+
if (passthrough[i].passthrough) {
|
|
43
|
+
return items[i].decode(
|
|
44
|
+
ret.returnData,
|
|
45
|
+
passthrough[i].passthrough,
|
|
46
|
+
...items[i].args
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
return items[i].decode(ret.returnData, ...items[i].args);
|
|
50
|
+
})
|
|
43
51
|
);
|
|
44
52
|
};
|
|
45
53
|
var batch_default = {
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var getDecryptedName_exports = {};
|
|
20
|
+
__export(getDecryptedName_exports, {
|
|
21
|
+
default: () => getDecryptedName_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(getDecryptedName_exports);
|
|
24
|
+
var import_bytes = require("@ethersproject/bytes");
|
|
25
|
+
var import_hexEncodedName = require("../utils/hexEncodedName");
|
|
26
|
+
var import_labels = require("../utils/labels");
|
|
27
|
+
var import_normalise = require("../utils/normalise");
|
|
28
|
+
const raw = async ({ contracts }, name, allowIncomplete) => {
|
|
29
|
+
const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
|
|
30
|
+
return {
|
|
31
|
+
to: nameWrapper.address,
|
|
32
|
+
data: nameWrapper.interface.encodeFunctionData("names", [(0, import_normalise.namehash)(name)])
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const generateNameQuery = (labels) => {
|
|
36
|
+
let query = "";
|
|
37
|
+
for (let i = 0; i < labels.length; i += 1) {
|
|
38
|
+
const label = labels[i];
|
|
39
|
+
if ((0, import_labels.isEncodedLabelhash)(label)) {
|
|
40
|
+
query += `
|
|
41
|
+
label${i}: domains(where: { labelhash: "${(0, import_labels.decodeLabelhash)(
|
|
42
|
+
label
|
|
43
|
+
).toLowerCase()}", labelName_not: null }) {
|
|
44
|
+
labelName
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return query;
|
|
50
|
+
};
|
|
51
|
+
const decode = async ({ contracts, gqlInstance }, data, name, allowIncomplete = false) => {
|
|
52
|
+
var _a;
|
|
53
|
+
if (data !== null) {
|
|
54
|
+
const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
|
|
55
|
+
try {
|
|
56
|
+
const result = nameWrapper.interface.decodeFunctionResult("names", data);
|
|
57
|
+
if ((0, import_bytes.hexStripZeros)(result["0"]) !== "0x") {
|
|
58
|
+
const decoded = (0, import_hexEncodedName.hexDecodeName)(result["0"]);
|
|
59
|
+
if (decoded && decoded !== ".")
|
|
60
|
+
return decoded;
|
|
61
|
+
}
|
|
62
|
+
} catch (e) {
|
|
63
|
+
console.error("Error decoding name: ", e);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if ((0, import_labels.checkIsDecrypted)(name))
|
|
68
|
+
return name;
|
|
69
|
+
const labels = name.split(".");
|
|
70
|
+
const decryptedNameQuery = gqlInstance.gql`
|
|
71
|
+
query decodedName($id: String!) {
|
|
72
|
+
namehashLookup: domains(where: { id: $id }) {
|
|
73
|
+
name
|
|
74
|
+
}
|
|
75
|
+
${generateNameQuery(labels)}
|
|
76
|
+
}
|
|
77
|
+
`;
|
|
78
|
+
const decryptedNameResult = await gqlInstance.client.request(
|
|
79
|
+
decryptedNameQuery,
|
|
80
|
+
{
|
|
81
|
+
id: (0, import_normalise.namehash)(name)
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
if (!decryptedNameResult)
|
|
85
|
+
return;
|
|
86
|
+
const namehashLookupResult = (_a = decryptedNameResult == null ? void 0 : decryptedNameResult.namehashLookup[0]) == null ? void 0 : _a.name;
|
|
87
|
+
let bestResult = namehashLookupResult;
|
|
88
|
+
if (namehashLookupResult && (0, import_labels.checkIsDecrypted)(namehashLookupResult)) {
|
|
89
|
+
return namehashLookupResult;
|
|
90
|
+
}
|
|
91
|
+
const { namehashLookup: _, ...labelNames } = decryptedNameResult;
|
|
92
|
+
if (Object.keys(labelNames).length !== 0) {
|
|
93
|
+
for (const [key, value] of Object.entries(
|
|
94
|
+
labelNames
|
|
95
|
+
)) {
|
|
96
|
+
if (value.length && value[0].labelName) {
|
|
97
|
+
labels[parseInt(key.replace("label", ""))] = value[0].labelName;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const labelLookupResult = labels.join(".");
|
|
101
|
+
if (!namehashLookupResult || (0, import_labels.getEncryptedLabelAmount)(namehashLookupResult) > (0, import_labels.getEncryptedLabelAmount)(labelLookupResult))
|
|
102
|
+
bestResult = labelLookupResult;
|
|
103
|
+
}
|
|
104
|
+
if (!bestResult || !allowIncomplete && !(0, import_labels.checkIsDecrypted)(bestResult))
|
|
105
|
+
return;
|
|
106
|
+
return bestResult;
|
|
107
|
+
};
|
|
108
|
+
var getDecryptedName_default = {
|
|
109
|
+
raw,
|
|
110
|
+
decode
|
|
111
|
+
};
|
|
@@ -23,6 +23,7 @@ __export(getExpiry_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(getExpiry_exports);
|
|
24
24
|
var import_solidity = require("@ethersproject/solidity");
|
|
25
25
|
var import_normalise = require("../utils/normalise");
|
|
26
|
+
var import_validation = require("../utils/validation");
|
|
26
27
|
const getRegistrarExpiry = async ({ contracts, multicallWrapper }, labels) => {
|
|
27
28
|
if (labels.length > 2 || labels[1] !== "eth") {
|
|
28
29
|
throw new Error("Only .eth names have expiry dates on the registrar");
|
|
@@ -56,7 +57,7 @@ const getWrapperExpiry = async ({ contracts }, labels) => {
|
|
|
56
57
|
const getContractToUse = (contract, labels) => {
|
|
57
58
|
if (contract)
|
|
58
59
|
return contract;
|
|
59
|
-
if (
|
|
60
|
+
if ((0, import_validation.checkIsDotEth)(labels)) {
|
|
60
61
|
return "registrar";
|
|
61
62
|
}
|
|
62
63
|
return "nameWrapper";
|
|
@@ -24,8 +24,8 @@ module.exports = __toCommonJS(getHistory_exports);
|
|
|
24
24
|
var import_address_encoder = require("@ensdomains/address-encoder");
|
|
25
25
|
var import_bytes = require("@ethersproject/bytes");
|
|
26
26
|
var import_contentHash = require("../utils/contentHash");
|
|
27
|
-
var import_labels = require("../utils/labels");
|
|
28
27
|
var import_normalise = require("../utils/normalise");
|
|
28
|
+
var import_validation = require("../utils/validation");
|
|
29
29
|
const eventFormat = {
|
|
30
30
|
Domain: {
|
|
31
31
|
NewOwner: (args) => ({ owner: args.owner.id }),
|
|
@@ -106,7 +106,7 @@ const mapEvents = (eventArray, type) => eventArray.map(
|
|
|
106
106
|
async function getHistory({ gqlInstance }, name) {
|
|
107
107
|
const { client } = gqlInstance;
|
|
108
108
|
const query = gqlInstance.gql`
|
|
109
|
-
query getHistory($namehash: String
|
|
109
|
+
query getHistory($namehash: String!) {
|
|
110
110
|
domain(id: $namehash) {
|
|
111
111
|
events {
|
|
112
112
|
id
|
|
@@ -226,32 +226,39 @@ async function getHistory({ gqlInstance }, name) {
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
`;
|
|
229
|
-
const label = name.split(".")[0];
|
|
230
229
|
const nameHash = (0, import_normalise.namehash)(name);
|
|
231
|
-
const
|
|
230
|
+
const labels = name.split(".");
|
|
231
|
+
const is2ldEth = (0, import_validation.checkIsDotEth)(labels);
|
|
232
232
|
const response = await client.request(query, {
|
|
233
|
-
namehash: nameHash
|
|
234
|
-
labelhash: labelHash
|
|
233
|
+
namehash: nameHash
|
|
235
234
|
});
|
|
236
235
|
const domain = response == null ? void 0 : response.domain;
|
|
237
236
|
if (!domain)
|
|
238
237
|
return;
|
|
239
238
|
const {
|
|
240
239
|
events: domainEvents,
|
|
241
|
-
registration: { events: registrationEvents },
|
|
242
240
|
resolver: { events: resolverEvents }
|
|
243
241
|
} = domain;
|
|
244
242
|
const domainHistory = mapEvents(domainEvents, "Domain");
|
|
245
|
-
const registrationHistory = mapEvents(registrationEvents, "Registration");
|
|
246
243
|
const resolverHistory = mapEvents(
|
|
247
244
|
resolverEvents.filter(
|
|
248
245
|
(event) => !event.coinType || event.coinType !== "60"
|
|
249
246
|
),
|
|
250
247
|
"Resolver"
|
|
251
248
|
);
|
|
249
|
+
if (is2ldEth) {
|
|
250
|
+
const {
|
|
251
|
+
registration: { events: registrationEvents }
|
|
252
|
+
} = domain;
|
|
253
|
+
const registrationHistory = mapEvents(registrationEvents, "Registration");
|
|
254
|
+
return {
|
|
255
|
+
domain: domainHistory,
|
|
256
|
+
registration: registrationHistory,
|
|
257
|
+
resolver: resolverHistory
|
|
258
|
+
};
|
|
259
|
+
}
|
|
252
260
|
return {
|
|
253
261
|
domain: domainHistory,
|
|
254
|
-
registration: registrationHistory,
|
|
255
262
|
resolver: resolverHistory
|
|
256
263
|
};
|
|
257
264
|
}
|
|
@@ -21,10 +21,11 @@ __export(getOwner_exports, {
|
|
|
21
21
|
default: () => getOwner_default
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(getOwner_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_bytes = require("@ethersproject/bytes");
|
|
26
26
|
var import_labels = require("../utils/labels");
|
|
27
27
|
var import_normalise = require("../utils/normalise");
|
|
28
|
+
var import_validation = require("../utils/validation");
|
|
28
29
|
const singleContractOwnerRaw = async ({ contracts }, contract, namehash, labels) => {
|
|
29
30
|
switch (contract) {
|
|
30
31
|
case "nameWrapper": {
|
|
@@ -82,7 +83,7 @@ const raw = async ({ contracts, multicallWrapper }, name, contract) => {
|
|
|
82
83
|
labels
|
|
83
84
|
);
|
|
84
85
|
const data = [registryData, nameWrapperData];
|
|
85
|
-
if (
|
|
86
|
+
if ((0, import_validation.checkIsDotEth)(labels)) {
|
|
86
87
|
data.push(registrarData);
|
|
87
88
|
}
|
|
88
89
|
return multicallWrapper.raw(data);
|
|
@@ -98,7 +99,7 @@ const registrantQuery = `
|
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
`;
|
|
101
|
-
const singleContractOwnerDecode = (data) =>
|
|
102
|
+
const singleContractOwnerDecode = (data) => import_abi.defaultAbiCoder.decode(["address"], data)[0];
|
|
102
103
|
const decode = async ({
|
|
103
104
|
contracts,
|
|
104
105
|
multicallWrapper,
|
|
@@ -129,7 +130,7 @@ const decode = async ({
|
|
|
129
130
|
return;
|
|
130
131
|
const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
|
|
131
132
|
const decodedData = [result[0][1], result[1][1], (_a = result[2]) == null ? void 0 : _a[1]].map(
|
|
132
|
-
(ret) => ret && ret !== "0x" &&
|
|
133
|
+
(ret) => ret && ret !== "0x" && import_abi.defaultAbiCoder.decode(["address"], ret)
|
|
133
134
|
);
|
|
134
135
|
const registryOwner = decodedData[0][0];
|
|
135
136
|
const nameWrapperOwner = decodedData[1][0];
|
|
@@ -21,8 +21,8 @@ __export(getPrice_exports, {
|
|
|
21
21
|
default: () => getPrice_default
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(getPrice_exports);
|
|
24
|
-
var
|
|
25
|
-
var import_bignumber = require("@ethersproject/bignumber
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
|
+
var import_bignumber = require("@ethersproject/bignumber");
|
|
26
26
|
const raw = async ({ contracts, multicallWrapper }, nameOrNames, duration, legacy) => {
|
|
27
27
|
const names = Array.isArray(nameOrNames) ? nameOrNames : [nameOrNames];
|
|
28
28
|
if (names.length > 1) {
|
|
@@ -79,11 +79,11 @@ const decode = async ({ contracts, multicallWrapper }, data, _nameOrNames, _dura
|
|
|
79
79
|
const isBulkRenewal = Array.isArray(_nameOrNames) && _nameOrNames.length > 1;
|
|
80
80
|
if (isBulkRenewal && legacy) {
|
|
81
81
|
const result = await multicallWrapper.decode(data);
|
|
82
|
-
const [price] =
|
|
82
|
+
const [price] = import_abi.defaultAbiCoder.decode(
|
|
83
83
|
["uint256"],
|
|
84
84
|
result[0].returnData
|
|
85
85
|
);
|
|
86
|
-
[premium] =
|
|
86
|
+
[premium] = import_abi.defaultAbiCoder.decode(
|
|
87
87
|
["uint256"],
|
|
88
88
|
result[1].returnData
|
|
89
89
|
);
|
|
@@ -98,11 +98,11 @@ const decode = async ({ contracts, multicallWrapper }, data, _nameOrNames, _dura
|
|
|
98
98
|
premium = import_bignumber.BigNumber.from(0);
|
|
99
99
|
} else if (!isBulkRenewal && legacy) {
|
|
100
100
|
const result = await multicallWrapper.decode(data);
|
|
101
|
-
const [price] =
|
|
101
|
+
const [price] = import_abi.defaultAbiCoder.decode(
|
|
102
102
|
["uint256"],
|
|
103
103
|
result[0].returnData
|
|
104
104
|
);
|
|
105
|
-
[premium] =
|
|
105
|
+
[premium] = import_abi.defaultAbiCoder.decode(
|
|
106
106
|
["uint256"],
|
|
107
107
|
result[1].returnData
|
|
108
108
|
);
|
|
@@ -22,7 +22,7 @@ __export(getProfile_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(getProfile_exports);
|
|
24
24
|
var import_address_encoder = require("@ensdomains/address-encoder");
|
|
25
|
-
var
|
|
25
|
+
var import_abi = require("@ethersproject/abi");
|
|
26
26
|
var import_bytes = require("@ethersproject/bytes");
|
|
27
27
|
var import_contentHash = require("../utils/contentHash");
|
|
28
28
|
var import_hexEncodedName = require("../utils/hexEncodedName");
|
|
@@ -96,7 +96,7 @@ const formatRecords = async ({
|
|
|
96
96
|
};
|
|
97
97
|
if (itemRet.type === "contentHash") {
|
|
98
98
|
;
|
|
99
|
-
[decodedFromAbi] =
|
|
99
|
+
[decodedFromAbi] = import_abi.defaultAbiCoder.decode(["bytes"], item);
|
|
100
100
|
if ((0, import_bytes.hexStripZeros)(decodedFromAbi) === "0x") {
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
@@ -251,6 +251,7 @@ const graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress)
|
|
|
251
251
|
const query = gqlInstance.gql`
|
|
252
252
|
query getRecords($id: String!) {
|
|
253
253
|
domain(id: $id) {
|
|
254
|
+
name
|
|
254
255
|
isMigrated
|
|
255
256
|
createdAt
|
|
256
257
|
resolver {
|
|
@@ -267,6 +268,7 @@ const graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress)
|
|
|
267
268
|
const customResolverQuery = gqlInstance.gql`
|
|
268
269
|
query getRecordsWithCustomResolver($id: String!, $resolverId: String!) {
|
|
269
270
|
domain(id: $id) {
|
|
271
|
+
name
|
|
270
272
|
isMigrated
|
|
271
273
|
createdAt
|
|
272
274
|
}
|
|
@@ -299,10 +301,10 @@ const graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress)
|
|
|
299
301
|
}
|
|
300
302
|
if (!domain)
|
|
301
303
|
return;
|
|
302
|
-
const { isMigrated, createdAt } = domain;
|
|
304
|
+
const { isMigrated, createdAt, name: decryptedName } = domain;
|
|
303
305
|
const returnedRecords = {};
|
|
304
306
|
if (!resolverResponse || !wantedRecords)
|
|
305
|
-
return { isMigrated, createdAt };
|
|
307
|
+
return { isMigrated, createdAt, decryptedName };
|
|
306
308
|
Object.keys(wantedRecords).forEach((key) => {
|
|
307
309
|
const data = wantedRecords[key];
|
|
308
310
|
if (typeof data === "boolean" && data) {
|
|
@@ -315,6 +317,7 @@ const graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress)
|
|
|
315
317
|
});
|
|
316
318
|
return {
|
|
317
319
|
...returnedRecords,
|
|
320
|
+
decryptedName,
|
|
318
321
|
isMigrated,
|
|
319
322
|
createdAt
|
|
320
323
|
};
|
|
@@ -345,6 +348,7 @@ const getProfileFromName = async ({
|
|
|
345
348
|
);
|
|
346
349
|
let isMigrated = null;
|
|
347
350
|
let createdAt = null;
|
|
351
|
+
let decryptedName = null;
|
|
348
352
|
let result = null;
|
|
349
353
|
if (!graphResult) {
|
|
350
354
|
if (!fallback)
|
|
@@ -366,10 +370,12 @@ const getProfileFromName = async ({
|
|
|
366
370
|
const {
|
|
367
371
|
isMigrated: _isMigrated,
|
|
368
372
|
createdAt: _createdAt,
|
|
373
|
+
decryptedName: _decryptedName,
|
|
369
374
|
...wantedRecords
|
|
370
375
|
} = graphResult;
|
|
371
376
|
isMigrated = _isMigrated;
|
|
372
377
|
createdAt = _createdAt;
|
|
378
|
+
decryptedName = _decryptedName;
|
|
373
379
|
let recordsWithFallback = usingOptions ? wantedRecords : _options;
|
|
374
380
|
if ((Object.keys(recordsWithFallback).length === 0 || !recordsWithFallback.coinTypes && !recordsWithFallback.texts && Object.keys(recordsWithFallback.contentHash || {}).length === 0) && fallback) {
|
|
375
381
|
recordsWithFallback = fallback;
|
|
@@ -394,7 +400,7 @@ const getProfileFromName = async ({
|
|
|
394
400
|
createdAt,
|
|
395
401
|
message: !result ? "Records fetch didn't complete" : "Name doesn't have a resolver"
|
|
396
402
|
};
|
|
397
|
-
return { ...result, isMigrated, createdAt, message: void 0 };
|
|
403
|
+
return { ...result, isMigrated, createdAt, decryptedName, message: void 0 };
|
|
398
404
|
};
|
|
399
405
|
const getProfileFromAddress = async ({
|
|
400
406
|
contracts,
|
|
@@ -21,7 +21,7 @@ __export(getWrapperData_exports, {
|
|
|
21
21
|
default: () => getWrapperData_default
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(getWrapperData_exports);
|
|
24
|
-
var import_bignumber = require("@ethersproject/bignumber
|
|
24
|
+
var import_bignumber = require("@ethersproject/bignumber");
|
|
25
25
|
var import_fuses = require("../utils/fuses");
|
|
26
26
|
var import_normalise = require("../utils/normalise");
|
|
27
27
|
const raw = async ({ contracts }, name) => {
|
|
@@ -39,7 +39,7 @@ const decode = async ({ contracts }, data) => {
|
|
|
39
39
|
data
|
|
40
40
|
);
|
|
41
41
|
const fuseObj = (0, import_fuses.decodeFuses)(fuses);
|
|
42
|
-
const expiryDate = expiry.gt(0) && expiry.lt(import_bignumber.BigNumber.from(2).pow(32)) ? new Date(expiry.mul(1e3).
|
|
42
|
+
const expiryDate = expiry.gt(0) && expiry.lt(import_bignumber.BigNumber.from(2).pow(32)) ? new Date(expiry.mul(1e3).toNumber()) : void 0;
|
|
43
43
|
return {
|
|
44
44
|
...fuseObj,
|
|
45
45
|
expiryDate,
|
|
@@ -23,6 +23,7 @@ __export(unwrapName_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(unwrapName_exports);
|
|
24
24
|
var import_solidity = require("@ethersproject/solidity");
|
|
25
25
|
var import_normalise = require("../utils/normalise");
|
|
26
|
+
var import_validation = require("../utils/validation");
|
|
26
27
|
async function unwrapName_default({ contracts, signer }, name, {
|
|
27
28
|
newController,
|
|
28
29
|
newRegistrant
|
|
@@ -31,7 +32,7 @@ async function unwrapName_default({ contracts, signer }, name, {
|
|
|
31
32
|
const labelhash = (0, import_solidity.keccak256)(["string"], [labels[0]]);
|
|
32
33
|
const parentNodehash = (0, import_normalise.namehash)(labels.slice(1).join("."));
|
|
33
34
|
const nameWrapper = (await contracts.getNameWrapper()).connect(signer);
|
|
34
|
-
if (
|
|
35
|
+
if ((0, import_validation.checkIsDotEth)(labels)) {
|
|
35
36
|
if (!newRegistrant) {
|
|
36
37
|
throw new Error("newRegistrant must be specified for .eth names");
|
|
37
38
|
}
|
|
@@ -21,16 +21,17 @@ __export(wrapName_exports, {
|
|
|
21
21
|
default: () => wrapName_default
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(wrapName_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_solidity = require("@ethersproject/solidity");
|
|
26
26
|
var import_fuses = require("../utils/fuses");
|
|
27
27
|
var import_hexEncodedName = require("../utils/hexEncodedName");
|
|
28
|
+
var import_validation = require("../utils/validation");
|
|
28
29
|
var import_wrapper = require("../utils/wrapper");
|
|
29
30
|
async function wrapETH({ contracts }, labels, wrappedOwner, decodedFuses, resolverAddress, signer, address) {
|
|
30
31
|
const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
|
|
31
32
|
const baseRegistrar = (await contracts.getBaseRegistrar()).connect(signer);
|
|
32
33
|
const labelhash = (0, import_solidity.keccak256)(["string"], [labels[0]]);
|
|
33
|
-
const data =
|
|
34
|
+
const data = import_abi.defaultAbiCoder.encode(
|
|
34
35
|
["string", "address", "uint16", "address"],
|
|
35
36
|
[labels[0], wrappedOwner, decodedFuses, resolverAddress]
|
|
36
37
|
);
|
|
@@ -67,7 +68,7 @@ async function wrapName_default({ contracts, signer }, name, {
|
|
|
67
68
|
resolverAddress = publicResolver.address;
|
|
68
69
|
const labels = name.split(".");
|
|
69
70
|
(0, import_wrapper.wrappedLabelLengthCheck)(labels[0]);
|
|
70
|
-
if (
|
|
71
|
+
if ((0, import_validation.checkIsDotEth)(labels)) {
|
|
71
72
|
switch (typeof fuseOptions) {
|
|
72
73
|
case "object": {
|
|
73
74
|
decodedFuses = (0, import_fuses.encodeFuses)(fuseOptions);
|
|
@@ -21,7 +21,7 @@ __export(BaseRegistrarImplementation_factory_exports, {
|
|
|
21
21
|
BaseRegistrarImplementation__factory: () => BaseRegistrarImplementation__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(BaseRegistrarImplementation_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -778,7 +778,7 @@ const _abi = [
|
|
|
778
778
|
];
|
|
779
779
|
class BaseRegistrarImplementation__factory {
|
|
780
780
|
static createInterface() {
|
|
781
|
-
return new
|
|
781
|
+
return new import_abi.Interface(_abi);
|
|
782
782
|
}
|
|
783
783
|
static connect(address, signerOrProvider) {
|
|
784
784
|
return new import_contracts.Contract(
|
|
@@ -21,7 +21,7 @@ __export(BulkRenewal_factory_exports, {
|
|
|
21
21
|
BulkRenewal__factory: () => BulkRenewal__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(BulkRenewal_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -112,7 +112,7 @@ const _abi = [
|
|
|
112
112
|
];
|
|
113
113
|
class BulkRenewal__factory {
|
|
114
114
|
static createInterface() {
|
|
115
|
-
return new
|
|
115
|
+
return new import_abi.Interface(_abi);
|
|
116
116
|
}
|
|
117
117
|
static connect(address, signerOrProvider) {
|
|
118
118
|
return new import_contracts.Contract(address, _abi, signerOrProvider);
|
|
@@ -21,7 +21,7 @@ __export(DNSRegistrar_factory_exports, {
|
|
|
21
21
|
DNSRegistrar__factory: () => DNSRegistrar__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(DNSRegistrar_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -281,7 +281,7 @@ const _abi = [
|
|
|
281
281
|
];
|
|
282
282
|
class DNSRegistrar__factory {
|
|
283
283
|
static createInterface() {
|
|
284
|
-
return new
|
|
284
|
+
return new import_abi.Interface(_abi);
|
|
285
285
|
}
|
|
286
286
|
static connect(address, signerOrProvider) {
|
|
287
287
|
return new import_contracts.Contract(address, _abi, signerOrProvider);
|
|
@@ -21,7 +21,7 @@ __export(DNSSECImpl_factory_exports, {
|
|
|
21
21
|
DNSSECImpl__factory: () => DNSSECImpl__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(DNSSECImpl_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -486,7 +486,7 @@ const _abi = [
|
|
|
486
486
|
];
|
|
487
487
|
class DNSSECImpl__factory {
|
|
488
488
|
static createInterface() {
|
|
489
|
-
return new
|
|
489
|
+
return new import_abi.Interface(_abi);
|
|
490
490
|
}
|
|
491
491
|
static connect(address, signerOrProvider) {
|
|
492
492
|
return new import_contracts.Contract(address, _abi, signerOrProvider);
|
|
@@ -21,7 +21,7 @@ __export(DefaultReverseResolver_factory_exports, {
|
|
|
21
21
|
DefaultReverseResolver__factory: () => DefaultReverseResolver__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(DefaultReverseResolver_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -95,7 +95,7 @@ const _abi = [
|
|
|
95
95
|
];
|
|
96
96
|
class DefaultReverseResolver__factory {
|
|
97
97
|
static createInterface() {
|
|
98
|
-
return new
|
|
98
|
+
return new import_abi.Interface(_abi);
|
|
99
99
|
}
|
|
100
100
|
static connect(address, signerOrProvider) {
|
|
101
101
|
return new import_contracts.Contract(
|
|
@@ -21,7 +21,7 @@ __export(ENSRegistry_factory_exports, {
|
|
|
21
21
|
ENSRegistry__factory: () => ENSRegistry__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(ENSRegistry_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -447,7 +447,7 @@ const _abi = [
|
|
|
447
447
|
];
|
|
448
448
|
class ENSRegistry__factory {
|
|
449
449
|
static createInterface() {
|
|
450
|
-
return new
|
|
450
|
+
return new import_abi.Interface(_abi);
|
|
451
451
|
}
|
|
452
452
|
static connect(address, signerOrProvider) {
|
|
453
453
|
return new import_contracts.Contract(address, _abi, signerOrProvider);
|
|
@@ -21,7 +21,7 @@ __export(ETHRegistrarController_factory_exports, {
|
|
|
21
21
|
ETHRegistrarController__factory: () => ETHRegistrarController__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(ETHRegistrarController_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -617,7 +617,7 @@ const _abi = [
|
|
|
617
617
|
];
|
|
618
618
|
class ETHRegistrarController__factory {
|
|
619
619
|
static createInterface() {
|
|
620
|
-
return new
|
|
620
|
+
return new import_abi.Interface(_abi);
|
|
621
621
|
}
|
|
622
622
|
static connect(address, signerOrProvider) {
|
|
623
623
|
return new import_contracts.Contract(
|
|
@@ -21,7 +21,7 @@ __export(Multicall_factory_exports, {
|
|
|
21
21
|
Multicall__factory: () => Multicall__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(Multicall_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -465,7 +465,7 @@ const _abi = [
|
|
|
465
465
|
];
|
|
466
466
|
class Multicall__factory {
|
|
467
467
|
static createInterface() {
|
|
468
|
-
return new
|
|
468
|
+
return new import_abi.Interface(_abi);
|
|
469
469
|
}
|
|
470
470
|
static connect(address, signerOrProvider) {
|
|
471
471
|
return new import_contracts.Contract(address, _abi, signerOrProvider);
|
|
@@ -21,7 +21,7 @@ __export(NameWrapper_factory_exports, {
|
|
|
21
21
|
NameWrapper__factory: () => NameWrapper__factory
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(NameWrapper_factory_exports);
|
|
24
|
-
var
|
|
24
|
+
var import_abi = require("@ethersproject/abi");
|
|
25
25
|
var import_contracts = require("@ethersproject/contracts");
|
|
26
26
|
const _abi = [
|
|
27
27
|
{
|
|
@@ -1397,7 +1397,7 @@ const _abi = [
|
|
|
1397
1397
|
];
|
|
1398
1398
|
class NameWrapper__factory {
|
|
1399
1399
|
static createInterface() {
|
|
1400
|
-
return new
|
|
1400
|
+
return new import_abi.Interface(_abi);
|
|
1401
1401
|
}
|
|
1402
1402
|
static connect(address, signerOrProvider) {
|
|
1403
1403
|
return new import_contracts.Contract(address, _abi, signerOrProvider);
|