@ensdomains/ensjs 3.0.0-alpha.42 → 3.0.0-alpha.43

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.
Files changed (121) hide show
  1. package/dist/cjs/functions/getDecryptedName.js +111 -0
  2. package/dist/cjs/functions/getOwner.js +3 -3
  3. package/dist/cjs/functions/getPrice.js +6 -6
  4. package/dist/cjs/functions/getProfile.js +11 -5
  5. package/dist/cjs/functions/getWrapperData.js +1 -1
  6. package/dist/cjs/functions/wrapName.js +2 -2
  7. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +2 -2
  8. package/dist/cjs/generated/factories/BulkRenewal__factory.js +2 -2
  9. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +2 -2
  10. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +2 -2
  11. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +2 -2
  12. package/dist/cjs/generated/factories/ENSRegistry__factory.js +2 -2
  13. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +2 -2
  14. package/dist/cjs/generated/factories/Multicall__factory.js +2 -2
  15. package/dist/cjs/generated/factories/NameWrapper__factory.js +2 -2
  16. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +2 -2
  17. package/dist/cjs/generated/factories/PublicResolver__factory.js +2 -2
  18. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +2 -2
  19. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +2 -2
  20. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +2 -2
  21. package/dist/cjs/generated/factories/Root__factory.js +2 -2
  22. package/dist/cjs/generated/factories/SHA1Digest__factory.js +2 -2
  23. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +2 -2
  24. package/dist/cjs/generated/factories/SHA256Digest__factory.js +2 -2
  25. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +2 -2
  26. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +2 -2
  27. package/dist/cjs/generated/factories/UniversalResolver__factory.js +2 -2
  28. package/dist/cjs/index.js +1 -0
  29. package/dist/cjs/utils/ccip.js +3 -3
  30. package/dist/cjs/utils/hexEncodedName.js +2 -0
  31. package/dist/cjs/utils/labels.js +14 -8
  32. package/dist/cjs/utils/registerHelpers.js +2 -2
  33. package/dist/cjs/utils/wrapper.js +1 -1
  34. package/dist/esm/functions/getDecryptedName.mjs +96 -0
  35. package/dist/esm/functions/getOwner.mjs +1 -1
  36. package/dist/esm/functions/getPrice.mjs +2 -2
  37. package/dist/esm/functions/getProfile.mjs +10 -4
  38. package/dist/esm/functions/getWrapperData.mjs +1 -1
  39. package/dist/esm/functions/wrapName.mjs +1 -1
  40. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +1 -1
  41. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +1 -1
  42. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +1 -1
  43. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +1 -1
  44. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +1 -1
  45. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +1 -1
  46. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +1 -1
  47. package/dist/esm/generated/factories/Multicall__factory.mjs +1 -1
  48. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1 -1
  49. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +1 -1
  50. package/dist/esm/generated/factories/PublicResolver__factory.mjs +1 -1
  51. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +1 -1
  52. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +1 -1
  53. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +1 -1
  54. package/dist/esm/generated/factories/Root__factory.mjs +1 -1
  55. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +1 -1
  56. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +1 -1
  57. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +1 -1
  58. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +1 -1
  59. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +1 -1
  60. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +1 -1
  61. package/dist/esm/index.mjs +1 -0
  62. package/dist/esm/utils/ccip.mjs +2 -2
  63. package/dist/esm/utils/hexEncodedName.mjs +2 -0
  64. package/dist/esm/utils/labels.mjs +11 -8
  65. package/dist/esm/utils/registerHelpers.mjs +1 -1
  66. package/dist/esm/utils/wrapper.mjs +1 -1
  67. package/dist/types/functions/getDecryptedName.d.ts +9 -0
  68. package/dist/types/functions/getPrice.d.ts +1 -1
  69. package/dist/types/functions/getProfile.d.ts +1 -0
  70. package/dist/types/functions/getRecords.d.ts +1 -0
  71. package/dist/types/functions/registerName.d.ts +1 -1
  72. package/dist/types/functions/renewNames.d.ts +1 -1
  73. package/dist/types/functions/types.d.ts +2 -0
  74. package/dist/types/index.d.ts +9 -0
  75. package/dist/types/static.d.ts +1 -1
  76. package/dist/types/utils/hexEncodedName.d.ts +1 -0
  77. package/dist/types/utils/labels.d.ts +2 -1
  78. package/dist/types/utils/wrapper.d.ts +1 -1
  79. package/package.json +1 -1
  80. package/src/functions/createSubname.ts +1 -1
  81. package/src/functions/getDecryptedName.test.ts +49 -0
  82. package/src/functions/getDecryptedName.ts +119 -0
  83. package/src/functions/getExpiry.ts +1 -1
  84. package/src/functions/getNames.test.ts +1 -1
  85. package/src/functions/getOwner.ts +2 -2
  86. package/src/functions/getPrice.ts +2 -2
  87. package/src/functions/getProfile.test.ts +7 -0
  88. package/src/functions/getProfile.ts +13 -4
  89. package/src/functions/getWrapperData.ts +1 -1
  90. package/src/functions/registerName.ts +1 -1
  91. package/src/functions/renewNames.ts +1 -1
  92. package/src/functions/types.ts +2 -0
  93. package/src/functions/wrapName.ts +1 -1
  94. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +1 -1
  95. package/src/generated/factories/BulkRenewal__factory.ts +1 -1
  96. package/src/generated/factories/DNSRegistrar__factory.ts +1 -1
  97. package/src/generated/factories/DNSSECImpl__factory.ts +1 -1
  98. package/src/generated/factories/DefaultReverseResolver__factory.ts +1 -1
  99. package/src/generated/factories/ENSRegistry__factory.ts +1 -1
  100. package/src/generated/factories/ETHRegistrarController__factory.ts +1 -1
  101. package/src/generated/factories/Multicall__factory.ts +1 -1
  102. package/src/generated/factories/NameWrapper__factory.ts +1 -1
  103. package/src/generated/factories/P256SHA256Algorithm__factory.ts +1 -1
  104. package/src/generated/factories/PublicResolver__factory.ts +1 -1
  105. package/src/generated/factories/RSASHA1Algorithm__factory.ts +1 -1
  106. package/src/generated/factories/RSASHA256Algorithm__factory.ts +1 -1
  107. package/src/generated/factories/ReverseRegistrar__factory.ts +1 -1
  108. package/src/generated/factories/Root__factory.ts +1 -1
  109. package/src/generated/factories/SHA1Digest__factory.ts +1 -1
  110. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +1 -1
  111. package/src/generated/factories/SHA256Digest__factory.ts +1 -1
  112. package/src/generated/factories/StaticMetadataService__factory.ts +1 -1
  113. package/src/generated/factories/TLDPublicSuffixList__factory.ts +1 -1
  114. package/src/generated/factories/UniversalResolver__factory.ts +1 -1
  115. package/src/index.ts +4 -0
  116. package/src/static.ts +1 -1
  117. package/src/utils/ccip.ts +2 -2
  118. package/src/utils/hexEncodedName.ts +3 -0
  119. package/src/utils/labels.ts +13 -11
  120. package/src/utils/registerHelpers.ts +1 -1
  121. package/src/utils/wrapper.ts +1 -1
@@ -21,7 +21,7 @@ __export(TLDPublicSuffixList_factory_exports, {
21
21
  TLDPublicSuffixList__factory: () => TLDPublicSuffixList__factory
22
22
  });
23
23
  module.exports = __toCommonJS(TLDPublicSuffixList_factory_exports);
24
- var import_interface = require("@ethersproject/abi/lib/interface");
24
+ var import_abi = require("@ethersproject/abi");
25
25
  var import_contracts = require("@ethersproject/contracts");
26
26
  const _abi = [
27
27
  {
@@ -46,7 +46,7 @@ const _abi = [
46
46
  ];
47
47
  class TLDPublicSuffixList__factory {
48
48
  static createInterface() {
49
- return new import_interface.Interface(_abi);
49
+ return new import_abi.Interface(_abi);
50
50
  }
51
51
  static connect(address, signerOrProvider) {
52
52
  return new import_contracts.Contract(address, _abi, signerOrProvider);
@@ -21,7 +21,7 @@ __export(UniversalResolver_factory_exports, {
21
21
  UniversalResolver__factory: () => UniversalResolver__factory
22
22
  });
23
23
  module.exports = __toCommonJS(UniversalResolver_factory_exports);
24
- var import_interface = require("@ethersproject/abi/lib/interface");
24
+ var import_abi = require("@ethersproject/abi");
25
25
  var import_contracts = require("@ethersproject/contracts");
26
26
  const _abi = [
27
27
  {
@@ -554,7 +554,7 @@ const _abi = [
554
554
  ];
555
555
  class UniversalResolver__factory {
556
556
  static createInterface() {
557
- return new import_interface.Interface(_abi);
557
+ return new import_abi.Interface(_abi);
558
558
  }
559
559
  static connect(address, signerOrProvider) {
560
560
  return new import_contracts.Contract(address, _abi, signerOrProvider);
package/dist/cjs/index.js CHANGED
@@ -278,6 +278,7 @@ class ENS {
278
278
  "getAvailable",
279
279
  ["contracts"]
280
280
  );
281
+ this.getDecryptedName = this.generateRawFunction("getDecryptedName", ["contracts", "gqlInstance"]);
281
282
  this.universalWrapper = this.generateRawFunction("initialGetters", ["contracts"], "universalWrapper");
282
283
  this.resolverMulticallWrapper = this.generateRawFunction("initialGetters", ["contracts"], "resolverMulticallWrapper");
283
284
  this.multicallWrapper = this.generateRawFunction("initialGetters", ["contracts"], "multicallWrapper");
@@ -21,9 +21,9 @@ __export(ccip_exports, {
21
21
  default: () => ccip_default
22
22
  });
23
23
  module.exports = __toCommonJS(ccip_exports);
24
- var import_bignumber = require("@ethersproject/bignumber/lib/bignumber");
24
+ var import_bignumber = require("@ethersproject/bignumber");
25
25
  var import_bytes = require("@ethersproject/bytes");
26
- var import_utf8 = require("@ethersproject/strings/lib/utf8");
26
+ var import_strings = require("@ethersproject/strings");
27
27
  function bytesPad(value) {
28
28
  if (value.length % 32 === 0) {
29
29
  return value;
@@ -74,7 +74,7 @@ function _parseString(result, start) {
74
74
  const bytes = _parseBytes(result, start);
75
75
  if (bytes == null)
76
76
  return null;
77
- return (0, import_utf8.toUtf8String)(bytes);
77
+ return (0, import_strings.toUtf8String)(bytes);
78
78
  } catch (error) {
79
79
  }
80
80
  return null;
@@ -24,8 +24,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
25
  var hexEncodedName_exports = {};
26
26
  __export(hexEncodedName_exports, {
27
+ hexDecodeName: () => hexDecodeName,
27
28
  hexEncodeName: () => hexEncodeName
28
29
  });
29
30
  module.exports = __toCommonJS(hexEncodedName_exports);
30
31
  var import_dns_packet = __toESM(require("dns-packet"));
31
32
  const hexEncodeName = (name) => `0x${import_dns_packet.default.name.encode(name).toString("hex")}`;
33
+ const hexDecodeName = (hex) => import_dns_packet.default.name.decode(Buffer.from(hex.slice(2), "hex")).toString();
@@ -25,6 +25,7 @@ __export(labels_exports, {
25
25
  decryptName: () => decryptName,
26
26
  encodeLabel: () => encodeLabel,
27
27
  encodeLabelhash: () => encodeLabelhash,
28
+ getEncryptedLabelAmount: () => getEncryptedLabelAmount,
28
29
  isEncodedLabelhash: () => isEncodedLabelhash,
29
30
  keccakFromString: () => keccakFromString,
30
31
  labelhash: () => labelhash,
@@ -84,18 +85,18 @@ function saveLabel(label) {
84
85
  }
85
86
  function saveName(name) {
86
87
  const nameArray = name.split(".");
87
- nameArray.forEach((label) => {
88
- saveLabel(label);
89
- });
88
+ for (const label of nameArray) {
89
+ if (!isEncodedLabelhash(label)) {
90
+ saveLabel(label);
91
+ }
92
+ }
90
93
  }
91
94
  function checkLabel(hash) {
92
95
  const labels = getLabels();
93
96
  if (isEncodedLabelhash(hash)) {
94
- return labels[decodeLabelhash(hash)];
95
- }
96
- if (hash.startsWith("0x")) {
97
- return labels[`${hash.slice(2)}`];
97
+ return labels[decodeLabelhash(hash)] || hash;
98
98
  }
99
+ return hash;
99
100
  }
100
101
  function encodeLabel(label) {
101
102
  try {
@@ -112,7 +113,7 @@ function checkIsDecrypted(string) {
112
113
  return !(string == null ? void 0 : string.includes("["));
113
114
  }
114
115
  function decryptName(name) {
115
- return name.split(".").map((label) => checkLabel(label) || label).join(".");
116
+ return name.split(".").map((label) => checkLabel(label)).join(".");
116
117
  }
117
118
  const truncateUndecryptedName = (name) => (0, import_format.truncateFormat)(name);
118
119
  function checkLocalStorageSize() {
@@ -126,3 +127,8 @@ function checkLocalStorageSize() {
126
127
  }
127
128
  return allStrings ? `${3 + allStrings.length * 16 / (8 * 1024)} KB` : "Empty (0 KB)";
128
129
  }
130
+ const encodedLabelRegex = /\[[a-fA-F0-9]{64}\]/g;
131
+ const getEncryptedLabelAmount = (name) => {
132
+ var _a;
133
+ return ((_a = name.match(encodedLabelRegex)) == null ? void 0 : _a.length) || 0;
134
+ };
@@ -25,7 +25,7 @@ __export(registerHelpers_exports, {
25
25
  randomSecret: () => randomSecret
26
26
  });
27
27
  module.exports = __toCommonJS(registerHelpers_exports);
28
- var import_abi_coder = require("@ethersproject/abi/lib/abi-coder");
28
+ var import_abi = require("@ethersproject/abi");
29
29
  var import_keccak256 = require("@ethersproject/keccak256");
30
30
  var import_fuses = require("./fuses");
31
31
  var import_labels = require("./labels");
@@ -79,7 +79,7 @@ const makeRegistrationData = (params) => {
79
79
  };
80
80
  const _makeCommitment = (params) => {
81
81
  return (0, import_keccak256.keccak256)(
82
- import_abi_coder.defaultAbiCoder.encode(
82
+ import_abi.defaultAbiCoder.encode(
83
83
  [
84
84
  "bytes32",
85
85
  "address",
@@ -23,7 +23,7 @@ __export(wrapper_exports, {
23
23
  wrappedLabelLengthCheck: () => wrappedLabelLengthCheck
24
24
  });
25
25
  module.exports = __toCommonJS(wrapper_exports);
26
- var import_bignumber = require("@ethersproject/bignumber/lib/bignumber");
26
+ var import_bignumber = require("@ethersproject/bignumber");
27
27
  var import_strings = require("@ethersproject/strings");
28
28
  const MAX_EXPIRY = import_bignumber.BigNumber.from(2).pow(64).sub(1);
29
29
  const makeExpiry = async ({ getExpiry }, name, expiry) => {
@@ -0,0 +1,96 @@
1
+ // src/functions/getDecryptedName.ts
2
+ import { hexStripZeros } from "@ethersproject/bytes";
3
+ import { hexDecodeName } from "../utils/hexEncodedName.mjs";
4
+ import {
5
+ checkIsDecrypted,
6
+ decodeLabelhash,
7
+ getEncryptedLabelAmount,
8
+ isEncodedLabelhash
9
+ } from "../utils/labels.mjs";
10
+ import { namehash } from "../utils/normalise.mjs";
11
+ var raw = async ({ contracts }, name, allowIncomplete) => {
12
+ const nameWrapper = await contracts?.getNameWrapper();
13
+ return {
14
+ to: nameWrapper.address,
15
+ data: nameWrapper.interface.encodeFunctionData("names", [namehash(name)])
16
+ };
17
+ };
18
+ var generateNameQuery = (labels) => {
19
+ let query = "";
20
+ for (let i = 0; i < labels.length; i += 1) {
21
+ const label = labels[i];
22
+ if (isEncodedLabelhash(label)) {
23
+ query += `
24
+ label${i}: domains(where: { labelhash: "${decodeLabelhash(
25
+ label
26
+ ).toLowerCase()}", labelName_not: null }) {
27
+ labelName
28
+ }
29
+ `;
30
+ }
31
+ }
32
+ return query;
33
+ };
34
+ var decode = async ({ contracts, gqlInstance }, data, name, allowIncomplete = false) => {
35
+ if (data !== null) {
36
+ const nameWrapper = await contracts?.getNameWrapper();
37
+ try {
38
+ const result = nameWrapper.interface.decodeFunctionResult("names", data);
39
+ if (hexStripZeros(result["0"]) !== "0x") {
40
+ const decoded = hexDecodeName(result["0"]);
41
+ if (decoded && decoded !== ".")
42
+ return decoded;
43
+ }
44
+ } catch (e) {
45
+ console.error("Error decoding name: ", e);
46
+ return;
47
+ }
48
+ }
49
+ if (checkIsDecrypted(name))
50
+ return name;
51
+ const labels = name.split(".");
52
+ const decryptedNameQuery = gqlInstance.gql`
53
+ query decodedName($id: String!) {
54
+ namehashLookup: domains(where: { id: $id }) {
55
+ name
56
+ }
57
+ ${generateNameQuery(labels)}
58
+ }
59
+ `;
60
+ const decryptedNameResult = await gqlInstance.client.request(
61
+ decryptedNameQuery,
62
+ {
63
+ id: namehash(name)
64
+ }
65
+ );
66
+ if (!decryptedNameResult)
67
+ return;
68
+ const namehashLookupResult = decryptedNameResult?.namehashLookup[0]?.name;
69
+ let bestResult = namehashLookupResult;
70
+ if (namehashLookupResult && checkIsDecrypted(namehashLookupResult)) {
71
+ return namehashLookupResult;
72
+ }
73
+ const { namehashLookup: _, ...labelNames } = decryptedNameResult;
74
+ if (Object.keys(labelNames).length !== 0) {
75
+ for (const [key, value] of Object.entries(
76
+ labelNames
77
+ )) {
78
+ if (value.length && value[0].labelName) {
79
+ labels[parseInt(key.replace("label", ""))] = value[0].labelName;
80
+ }
81
+ }
82
+ const labelLookupResult = labels.join(".");
83
+ if (!namehashLookupResult || getEncryptedLabelAmount(namehashLookupResult) > getEncryptedLabelAmount(labelLookupResult))
84
+ bestResult = labelLookupResult;
85
+ }
86
+ if (!bestResult || !allowIncomplete && !checkIsDecrypted(bestResult))
87
+ return;
88
+ return bestResult;
89
+ };
90
+ var getDecryptedName_default = {
91
+ raw,
92
+ decode
93
+ };
94
+ export {
95
+ getDecryptedName_default as default
96
+ };
@@ -1,5 +1,5 @@
1
1
  // src/functions/getOwner.ts
2
- import { defaultAbiCoder } from "@ethersproject/abi/lib.esm/abi-coder.js";
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";
@@ -1,6 +1,6 @@
1
1
  // src/functions/getPrice.ts
2
- import { defaultAbiCoder } from "@ethersproject/abi/lib.esm/abi-coder.js";
3
- import { BigNumber } from "@ethersproject/bignumber/lib.esm/bignumber.js";
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/lib.esm/abi-coder.js";
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/lib.esm/bignumber.js";
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) => {
@@ -1,5 +1,5 @@
1
1
  // src/functions/wrapName.ts
2
- import { defaultAbiCoder } from "@ethersproject/abi/lib.esm/abi-coder.js";
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,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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
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/lib.esm/interface.js";
9
+ import { Interface } from "@ethersproject/abi";
10
10
  import { Contract } from "@ethersproject/contracts";
11
11
  var _abi = [
12
12
  {
@@ -255,6 +255,7 @@ 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
261
  multicallWrapper = this.generateRawFunction("initialGetters", ["contracts"], "multicallWrapper");
@@ -1,11 +1,11 @@
1
1
  // src/utils/ccip.ts
2
- import { BigNumber } from "@ethersproject/bignumber/lib.esm/bignumber.js";
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/lib.esm/utf8.js";
8
+ import { toUtf8String } from "@ethersproject/strings";
9
9
  function bytesPad(value) {
10
10
  if (value.length % 32 === 0) {
11
11
  return value;
@@ -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
  };