@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.
Files changed (153) hide show
  1. package/dist/cjs/contracts/getContractAddress.js +3 -3
  2. package/dist/cjs/functions/batch.js +14 -6
  3. package/dist/cjs/functions/getDecryptedName.js +111 -0
  4. package/dist/cjs/functions/getExpiry.js +2 -1
  5. package/dist/cjs/functions/getHistory.js +16 -9
  6. package/dist/cjs/functions/getOwner.js +5 -4
  7. package/dist/cjs/functions/getPrice.js +6 -6
  8. package/dist/cjs/functions/getProfile.js +11 -5
  9. package/dist/cjs/functions/getWrapperData.js +2 -2
  10. package/dist/cjs/functions/unwrapName.js +2 -1
  11. package/dist/cjs/functions/wrapName.js +4 -3
  12. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +2 -2
  13. package/dist/cjs/generated/factories/BulkRenewal__factory.js +2 -2
  14. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +2 -2
  15. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +2 -2
  16. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +2 -2
  17. package/dist/cjs/generated/factories/ENSRegistry__factory.js +2 -2
  18. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +2 -2
  19. package/dist/cjs/generated/factories/Multicall__factory.js +2 -2
  20. package/dist/cjs/generated/factories/NameWrapper__factory.js +2 -2
  21. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +2 -2
  22. package/dist/cjs/generated/factories/PublicResolver__factory.js +2 -2
  23. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +2 -2
  24. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +2 -2
  25. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +2 -2
  26. package/dist/cjs/generated/factories/Root__factory.js +2 -2
  27. package/dist/cjs/generated/factories/SHA1Digest__factory.js +2 -2
  28. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +2 -2
  29. package/dist/cjs/generated/factories/SHA256Digest__factory.js +2 -2
  30. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +2 -2
  31. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +2 -2
  32. package/dist/cjs/generated/factories/UniversalResolver__factory.js +2 -2
  33. package/dist/cjs/index.js +2 -1
  34. package/dist/cjs/utils/ccip.js +4 -4
  35. package/dist/cjs/utils/fuses.js +3 -2
  36. package/dist/cjs/utils/hexEncodedName.js +2 -0
  37. package/dist/cjs/utils/labels.js +14 -8
  38. package/dist/cjs/utils/registerHelpers.js +2 -2
  39. package/dist/cjs/utils/singleCall.js +9 -1
  40. package/dist/cjs/utils/validation.js +2 -0
  41. package/dist/cjs/utils/wrapper.js +1 -1
  42. package/dist/esm/contracts/getContractAddress.mjs +3 -3
  43. package/dist/esm/functions/batch.mjs +14 -6
  44. package/dist/esm/functions/getDecryptedName.mjs +96 -0
  45. package/dist/esm/functions/getExpiry.mjs +2 -1
  46. package/dist/esm/functions/getHistory.mjs +16 -9
  47. package/dist/esm/functions/getOwner.mjs +3 -2
  48. package/dist/esm/functions/getPrice.mjs +2 -2
  49. package/dist/esm/functions/getProfile.mjs +10 -4
  50. package/dist/esm/functions/getWrapperData.mjs +2 -2
  51. package/dist/esm/functions/unwrapName.mjs +2 -1
  52. package/dist/esm/functions/wrapName.mjs +3 -2
  53. package/dist/esm/generated/factories/BaseRegistrarImplementation__factory.mjs +1 -1
  54. package/dist/esm/generated/factories/BulkRenewal__factory.mjs +1 -1
  55. package/dist/esm/generated/factories/DNSRegistrar__factory.mjs +1 -1
  56. package/dist/esm/generated/factories/DNSSECImpl__factory.mjs +1 -1
  57. package/dist/esm/generated/factories/DefaultReverseResolver__factory.mjs +1 -1
  58. package/dist/esm/generated/factories/ENSRegistry__factory.mjs +1 -1
  59. package/dist/esm/generated/factories/ETHRegistrarController__factory.mjs +1 -1
  60. package/dist/esm/generated/factories/Multicall__factory.mjs +1 -1
  61. package/dist/esm/generated/factories/NameWrapper__factory.mjs +1 -1
  62. package/dist/esm/generated/factories/P256SHA256Algorithm__factory.mjs +1 -1
  63. package/dist/esm/generated/factories/PublicResolver__factory.mjs +1 -1
  64. package/dist/esm/generated/factories/RSASHA1Algorithm__factory.mjs +1 -1
  65. package/dist/esm/generated/factories/RSASHA256Algorithm__factory.mjs +1 -1
  66. package/dist/esm/generated/factories/ReverseRegistrar__factory.mjs +1 -1
  67. package/dist/esm/generated/factories/Root__factory.mjs +1 -1
  68. package/dist/esm/generated/factories/SHA1Digest__factory.mjs +1 -1
  69. package/dist/esm/generated/factories/SHA1NSEC3Digest__factory.mjs +1 -1
  70. package/dist/esm/generated/factories/SHA256Digest__factory.mjs +1 -1
  71. package/dist/esm/generated/factories/StaticMetadataService__factory.mjs +1 -1
  72. package/dist/esm/generated/factories/TLDPublicSuffixList__factory.mjs +1 -1
  73. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +1 -1
  74. package/dist/esm/index.mjs +2 -1
  75. package/dist/esm/utils/ccip.mjs +3 -3
  76. package/dist/esm/utils/fuses.mjs +3 -2
  77. package/dist/esm/utils/hexEncodedName.mjs +2 -0
  78. package/dist/esm/utils/labels.mjs +11 -8
  79. package/dist/esm/utils/registerHelpers.mjs +1 -1
  80. package/dist/esm/utils/singleCall.mjs +9 -1
  81. package/dist/esm/utils/validation.mjs +2 -0
  82. package/dist/esm/utils/wrapper.mjs +1 -1
  83. package/dist/types/functions/batch.d.ts +8 -1
  84. package/dist/types/functions/getDecryptedName.d.ts +9 -0
  85. package/dist/types/functions/getHistory.d.ts +16 -0
  86. package/dist/types/functions/getPrice.d.ts +1 -1
  87. package/dist/types/functions/getProfile.d.ts +1 -0
  88. package/dist/types/functions/getRecords.d.ts +1 -0
  89. package/dist/types/functions/registerName.d.ts +1 -1
  90. package/dist/types/functions/renewNames.d.ts +1 -1
  91. package/dist/types/functions/types.d.ts +2 -0
  92. package/dist/types/index.d.ts +32 -1
  93. package/dist/types/static.d.ts +1 -1
  94. package/dist/types/utils/fuses.d.ts +1 -0
  95. package/dist/types/utils/hexEncodedName.d.ts +1 -0
  96. package/dist/types/utils/labels.d.ts +2 -1
  97. package/dist/types/utils/singleCall.d.ts +1 -0
  98. package/dist/types/utils/validation.d.ts +1 -0
  99. package/dist/types/utils/wrapper.d.ts +1 -1
  100. package/package.json +2 -2
  101. package/src/contracts/getContractAddress.ts +3 -3
  102. package/src/functions/batch.ts +15 -5
  103. package/src/functions/ccip.test.ts +62 -0
  104. package/src/functions/createSubname.ts +1 -1
  105. package/src/functions/getDecryptedName.test.ts +49 -0
  106. package/src/functions/getDecryptedName.ts +119 -0
  107. package/src/functions/getExpiry.ts +3 -2
  108. package/src/functions/getHistory.test.ts +11 -0
  109. package/src/functions/getHistory.ts +16 -9
  110. package/src/functions/getNames.test.ts +1 -1
  111. package/src/functions/getOwner.ts +4 -3
  112. package/src/functions/getPrice.ts +2 -2
  113. package/src/functions/getProfile.test.ts +7 -0
  114. package/src/functions/getProfile.ts +13 -4
  115. package/src/functions/getWrapperData.test.ts +3 -0
  116. package/src/functions/getWrapperData.ts +2 -2
  117. package/src/functions/registerName.ts +1 -1
  118. package/src/functions/renewNames.ts +1 -1
  119. package/src/functions/types.ts +2 -0
  120. package/src/functions/unwrapName.ts +2 -1
  121. package/src/functions/wrapName.ts +3 -2
  122. package/src/generated/factories/BaseRegistrarImplementation__factory.ts +1 -1
  123. package/src/generated/factories/BulkRenewal__factory.ts +1 -1
  124. package/src/generated/factories/DNSRegistrar__factory.ts +1 -1
  125. package/src/generated/factories/DNSSECImpl__factory.ts +1 -1
  126. package/src/generated/factories/DefaultReverseResolver__factory.ts +1 -1
  127. package/src/generated/factories/ENSRegistry__factory.ts +1 -1
  128. package/src/generated/factories/ETHRegistrarController__factory.ts +1 -1
  129. package/src/generated/factories/Multicall__factory.ts +1 -1
  130. package/src/generated/factories/NameWrapper__factory.ts +1 -1
  131. package/src/generated/factories/P256SHA256Algorithm__factory.ts +1 -1
  132. package/src/generated/factories/PublicResolver__factory.ts +1 -1
  133. package/src/generated/factories/RSASHA1Algorithm__factory.ts +1 -1
  134. package/src/generated/factories/RSASHA256Algorithm__factory.ts +1 -1
  135. package/src/generated/factories/ReverseRegistrar__factory.ts +1 -1
  136. package/src/generated/factories/Root__factory.ts +1 -1
  137. package/src/generated/factories/SHA1Digest__factory.ts +1 -1
  138. package/src/generated/factories/SHA1NSEC3Digest__factory.ts +1 -1
  139. package/src/generated/factories/SHA256Digest__factory.ts +1 -1
  140. package/src/generated/factories/StaticMetadataService__factory.ts +1 -1
  141. package/src/generated/factories/TLDPublicSuffixList__factory.ts +1 -1
  142. package/src/generated/factories/UniversalResolver__factory.ts +1 -1
  143. package/src/index.ts +5 -1
  144. package/src/static.ts +1 -1
  145. package/src/utils/ccip.ts +3 -3
  146. package/src/utils/fuses.ts +4 -4
  147. package/src/utils/hexEncodedName.ts +3 -0
  148. package/src/utils/labels.ts +13 -11
  149. package/src/utils/registerHelpers.ts +1 -1
  150. package/src/utils/singleCall.ts +11 -6
  151. package/src/utils/validation.ts +3 -0
  152. package/src/utils/wrapper.ts +1 -1
  153. 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/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";
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.length === 2 && labels[1] === "eth") {
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/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) => {
@@ -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).toString()) : void 0;
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.length === 2 && labels[1] === "eth") {
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/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
+ 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.length === 2 && labels[1] === "eth") {
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/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,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"]
@@ -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;
@@ -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: sender,
100
+ to: txSender,
101
101
  data: hexConcat([
102
102
  callbackSelector,
103
103
  encodeBytes([ccipResult, extraData])
@@ -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 & userSettableFuseEnum[fuse]) > 0
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) > 0])
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
- nameArray.forEach((label) => {
53
- saveLabel(label);
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) || label).join(".");
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/lib.esm/abi-coder.js";
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) => func.raw(ensData, ...data).then((rawData) => provider.call({ ...rawData, ccipReadEnabled: true })).catch(() => null).then((ret) => func.decode(ensData, ret, ...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
  };
@@ -60,7 +60,9 @@ var parseInputType = (input) => {
60
60
  type: "label"
61
61
  };
62
62
  };
63
+ var checkIsDotEth = (labels) => labels.length === 2 && labels[1] === "eth";
63
64
  export {
65
+ checkIsDotEth,
64
66
  parseInputType,
65
67
  validateName,
66
68
  validateTLD
@@ -1,5 +1,5 @@
1
1
  // src/utils/wrapper.ts
2
- import { BigNumber } from "@ethersproject/bignumber/lib.esm/bignumber.js";
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, ...items: BatchFunctionResult<RawFunction>[]) => Promise<any[] | undefined>;
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/lib/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<{
@@ -16,6 +16,7 @@ declare type ResolvedProfile = {
16
16
  createdAt: string | null;
17
17
  address?: string;
18
18
  name?: string | null;
19
+ decryptedName?: string | null;
19
20
  match?: boolean;
20
21
  message?: string;
21
22
  records?: {
@@ -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/lib/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 & {
@@ -1,4 +1,4 @@
1
- import { BigNumber, BigNumberish } from '@ethersproject/bignumber/lib/bignumber';
1
+ import { BigNumber, BigNumberish } from '@ethersproject/bignumber';
2
2
  import { ENSArgs } from '..';
3
3
  declare type BaseProps = {
4
4
  duration: number;