@ensdomains/ensjs 3.0.0-alpha.36 → 3.0.0-alpha.38

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 (68) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +7 -0
  3. package/dist/cjs/GqlManager.js +22 -20
  4. package/dist/cjs/contracts/getContractAddress.js +1 -1
  5. package/dist/cjs/contracts/index.js +44 -46
  6. package/dist/cjs/functions/batchWrappers.js +6 -6
  7. package/dist/cjs/functions/createSubname.js +1 -1
  8. package/dist/cjs/functions/getAvailable.js +2 -2
  9. package/dist/cjs/functions/getDNSOwner.js +4 -2
  10. package/dist/cjs/functions/getExpiry.js +4 -4
  11. package/dist/cjs/functions/getName.js +2 -2
  12. package/dist/cjs/functions/getNames.js +6 -6
  13. package/dist/cjs/functions/getOwner.js +10 -9
  14. package/dist/cjs/functions/getPrice.js +4 -4
  15. package/dist/cjs/functions/getProfile.js +10 -10
  16. package/dist/cjs/functions/getResolver.js +2 -2
  17. package/dist/cjs/functions/getSpecificRecord.js +6 -6
  18. package/dist/cjs/functions/getSubnames.js +4 -4
  19. package/dist/cjs/functions/getWrapperData.js +2 -2
  20. package/dist/cjs/functions/importDNSSECName.js +5 -5
  21. package/dist/cjs/functions/initialGetters.js +3 -1
  22. package/dist/cjs/functions/setName.js +3 -2
  23. package/dist/cjs/functions/setRecord.js +2 -1
  24. package/dist/cjs/functions/setRecords.js +2 -1
  25. package/dist/cjs/functions/setResolver.js +2 -2
  26. package/dist/cjs/functions/supportsTLD.js +48 -0
  27. package/dist/cjs/functions/transferController.js +2 -2
  28. package/dist/cjs/functions/transferName.js +3 -3
  29. package/dist/cjs/functions/wrapName.js +3 -3
  30. package/dist/cjs/generated/factories/BaseRegistrarImplementation__factory.js +1 -1
  31. package/dist/cjs/generated/factories/BulkRenewal__factory.js +1 -1
  32. package/dist/cjs/generated/factories/DNSRegistrar__factory.js +1 -1
  33. package/dist/cjs/generated/factories/DNSSECImpl__factory.js +1 -1
  34. package/dist/cjs/generated/factories/DefaultReverseResolver__factory.js +1 -1
  35. package/dist/cjs/generated/factories/ENSRegistry__factory.js +1 -1
  36. package/dist/cjs/generated/factories/ETHRegistrarController__factory.js +1 -1
  37. package/dist/cjs/generated/factories/Multicall__factory.js +1 -1
  38. package/dist/cjs/generated/factories/NameWrapper__factory.js +1 -1
  39. package/dist/cjs/generated/factories/P256SHA256Algorithm__factory.js +1 -1
  40. package/dist/cjs/generated/factories/PublicResolver__factory.js +1 -1
  41. package/dist/cjs/generated/factories/RSASHA1Algorithm__factory.js +1 -1
  42. package/dist/cjs/generated/factories/RSASHA256Algorithm__factory.js +1 -1
  43. package/dist/cjs/generated/factories/ReverseRegistrar__factory.js +1 -1
  44. package/dist/cjs/generated/factories/Root__factory.js +1 -1
  45. package/dist/cjs/generated/factories/SHA1Digest__factory.js +1 -1
  46. package/dist/cjs/generated/factories/SHA1NSEC3Digest__factory.js +1 -1
  47. package/dist/cjs/generated/factories/SHA256Digest__factory.js +1 -1
  48. package/dist/cjs/generated/factories/StaticMetadataService__factory.js +1 -1
  49. package/dist/cjs/generated/factories/TLDPublicSuffixList__factory.js +1 -1
  50. package/dist/cjs/generated/factories/UniversalResolver__factory.js +1 -1
  51. package/dist/cjs/index.js +295 -291
  52. package/dist/cjs/utils/labels.js +1 -1
  53. package/dist/cjs/utils/recordHelpers.js +1 -1
  54. package/dist/cjs/utils/registerHelpers.js +2 -1
  55. package/dist/cjs/utils/wrapper.js +1 -1
  56. package/dist/esm/contracts/getContractAddress.mjs +1 -1
  57. package/dist/esm/functions/initialGetters.mjs +3 -1
  58. package/dist/esm/functions/supportsTLD.mjs +29 -0
  59. package/dist/esm/index.mjs +9 -1
  60. package/dist/types/functions/initialGetters.d.ts +1 -0
  61. package/dist/types/functions/supportsTLD.d.ts +2 -0
  62. package/dist/types/index.d.ts +6 -1
  63. package/package.json +1 -1
  64. package/src/contracts/getContractAddress.ts +1 -1
  65. package/src/functions/initialGetters.ts +1 -0
  66. package/src/functions/supportsTLD.test.ts +45 -0
  67. package/src/functions/supportsTLD.ts +38 -0
  68. package/src/index.ts +12 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Tom Meagher
3
+ Copyright (c) 2022 ENS Labs Limited
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -43,6 +43,13 @@ const ENSInstance = new ENS()
43
43
  await ENSInstance.setProvider(provider)
44
44
  ```
45
45
 
46
+ **NOTE:**
47
+ If using ENSjs with Node, you may need to pass the `--experimental-specifier-resolution=node` flag.
48
+
49
+ ```sh
50
+ node --experimental-specifier-resolution=node ./index.js
51
+ ```
52
+
46
53
  ## Batching Calls
47
54
 
48
55
  The batch function is a large part of this library, and there are plenty of situations where you might want to use it.
@@ -87,24 +87,26 @@ const responseMiddleware = (traverse) => (response) => {
87
87
  return response;
88
88
  };
89
89
  class GqlManager {
90
- gql = () => null;
91
- client = null;
92
- setUrl = async (url) => {
93
- if (url) {
94
- const [imported, traverse, { visit, parse, print }] = await Promise.all([
95
- import("graphql-request"),
96
- import("traverse"),
97
- import("graphql/language")
98
- ]);
99
- this.client = new imported.GraphQLClient(url, {
100
- requestMiddleware: requestMiddleware(visit, parse, print),
101
- responseMiddleware: responseMiddleware(traverse.default)
102
- });
103
- this.gql = imported.gql;
104
- } else {
105
- this.client = null;
106
- this.gql = () => null;
107
- }
108
- };
109
- request = (...arg) => this.client ? this.client.request(...arg) : null;
90
+ constructor() {
91
+ this.gql = () => null;
92
+ this.client = null;
93
+ this.setUrl = async (url) => {
94
+ if (url) {
95
+ const [imported, traverse, { visit, parse, print }] = await Promise.all([
96
+ import("graphql-request"),
97
+ import("traverse"),
98
+ import("graphql/language")
99
+ ]);
100
+ this.client = new imported.GraphQLClient(url, {
101
+ requestMiddleware: requestMiddleware(visit, parse, print),
102
+ responseMiddleware: responseMiddleware(traverse.default)
103
+ });
104
+ this.gql = imported.gql;
105
+ } else {
106
+ this.client = null;
107
+ this.gql = () => null;
108
+ }
109
+ };
110
+ this.request = (...arg) => this.client ? this.client.request(...arg) : null;
111
+ }
110
112
  }
@@ -63,7 +63,7 @@ const addresses = {
63
63
  "5": "0xD5610A08E370051a01fdfe4bB3ddf5270af1aA48"
64
64
  },
65
65
  UniversalResolver: {
66
- "1": "0x580AF46E06DaaD47eb5940526FD64d95b815Cb70",
66
+ "1": "0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376",
67
67
  "3": "0x74e20bd2a1fe0cdbe45b9a1d89cb7e0a45b36376",
68
68
  "4": "0x74e20bd2a1fe0cdbe45b9a1d89cb7e0a45b36376",
69
69
  "5": "0x687c30Cc44bFA39A1449e86E172BF002E7b3f0b0"
@@ -38,54 +38,52 @@ var import_reverseRegistrar = __toESM(require("./reverseRegistrar"));
38
38
  var import_universalResolver = __toESM(require("./universalResolver"));
39
39
  var import_bulkRenewal = __toESM(require("./bulkRenewal"));
40
40
  class ContractManager {
41
- provider;
42
- fetchAddress;
43
41
  constructor(provider, fetchAddress) {
42
+ this.generateContractGetter = (name, func) => {
43
+ return async (passedProvider, address) => {
44
+ const inputAddress = address || this.fetchAddress(name);
45
+ const provider = passedProvider || this.provider;
46
+ return func(provider, inputAddress);
47
+ };
48
+ };
49
+ this.getPublicResolver = this.generateContractGetter(
50
+ "PublicResolver",
51
+ import_publicResolver.default
52
+ );
53
+ this.getUniversalResolver = this.generateContractGetter(
54
+ "UniversalResolver",
55
+ import_universalResolver.default
56
+ );
57
+ this.getRegistry = this.generateContractGetter(
58
+ "ENSRegistryWithFallback",
59
+ import_registry.default
60
+ );
61
+ this.getReverseRegistrar = this.generateContractGetter(
62
+ "ReverseRegistrar",
63
+ import_reverseRegistrar.default
64
+ );
65
+ this.getNameWrapper = this.generateContractGetter(
66
+ "NameWrapper",
67
+ import_nameWrapper.default
68
+ );
69
+ this.getDNSRegistrar = this.generateContractGetter(
70
+ "DNSRegistrar",
71
+ import_dnsRegistrar.default
72
+ );
73
+ this.getBaseRegistrar = this.generateContractGetter(
74
+ "BaseRegistrarImplementation",
75
+ import_baseRegistrar.default
76
+ );
77
+ this.getEthRegistrarController = this.generateContractGetter(
78
+ "ETHRegistrarController",
79
+ import_ethRegistrarController.default
80
+ );
81
+ this.getMulticall = this.generateContractGetter("Multicall", import_multicall.default);
82
+ this.getBulkRenewal = this.generateContractGetter(
83
+ "BulkRenewal",
84
+ import_bulkRenewal.default
85
+ );
44
86
  this.provider = provider;
45
87
  this.fetchAddress = fetchAddress;
46
88
  }
47
- generateContractGetter = (name, func) => {
48
- return async (passedProvider, address) => {
49
- const inputAddress = address || this.fetchAddress(name);
50
- const provider = passedProvider || this.provider;
51
- return func(provider, inputAddress);
52
- };
53
- };
54
- getPublicResolver = this.generateContractGetter(
55
- "PublicResolver",
56
- import_publicResolver.default
57
- );
58
- getUniversalResolver = this.generateContractGetter(
59
- "UniversalResolver",
60
- import_universalResolver.default
61
- );
62
- getRegistry = this.generateContractGetter(
63
- "ENSRegistryWithFallback",
64
- import_registry.default
65
- );
66
- getReverseRegistrar = this.generateContractGetter(
67
- "ReverseRegistrar",
68
- import_reverseRegistrar.default
69
- );
70
- getNameWrapper = this.generateContractGetter(
71
- "NameWrapper",
72
- import_nameWrapper.default
73
- );
74
- getDNSRegistrar = this.generateContractGetter(
75
- "DNSRegistrar",
76
- import_dnsRegistrar.default
77
- );
78
- getBaseRegistrar = this.generateContractGetter(
79
- "BaseRegistrarImplementation",
80
- import_baseRegistrar.default
81
- );
82
- getEthRegistrarController = this.generateContractGetter(
83
- "ETHRegistrarController",
84
- import_ethRegistrarController.default
85
- );
86
- getMulticall = this.generateContractGetter("Multicall", import_multicall.default);
87
- getBulkRenewal = this.generateContractGetter(
88
- "BulkRenewal",
89
- import_bulkRenewal.default
90
- );
91
89
  }
@@ -33,7 +33,7 @@ var import_ccip = __toESM(require("../utils/ccip"));
33
33
  var import_hexEncodedName = require("../utils/hexEncodedName");
34
34
  const universalWrapper = {
35
35
  raw: async ({ contracts }, name, data) => {
36
- const universalResolver = await contracts?.getUniversalResolver();
36
+ const universalResolver = await (contracts == null ? void 0 : contracts.getUniversalResolver());
37
37
  return {
38
38
  to: universalResolver.address,
39
39
  data: universalResolver.interface.encodeFunctionData(
@@ -43,7 +43,7 @@ const universalWrapper = {
43
43
  };
44
44
  },
45
45
  decode: async ({ contracts }, data) => {
46
- const universalResolver = await contracts?.getUniversalResolver();
46
+ const universalResolver = await (contracts == null ? void 0 : contracts.getUniversalResolver());
47
47
  const response = universalResolver.interface.decodeFunctionResult(
48
48
  "resolve(bytes,bytes)",
49
49
  data
@@ -56,7 +56,7 @@ const universalWrapper = {
56
56
  };
57
57
  const resolverMulticallWrapper = {
58
58
  raw: async ({ contracts }, data) => {
59
- const publicResolver = await contracts?.getPublicResolver();
59
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
60
60
  const formattedDataArr = data.map((item) => item.data);
61
61
  return {
62
62
  to: publicResolver.address,
@@ -66,7 +66,7 @@ const resolverMulticallWrapper = {
66
66
  };
67
67
  },
68
68
  decode: async ({ contracts }, data) => {
69
- const publicResolver = await contracts?.getPublicResolver();
69
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
70
70
  const response = publicResolver.interface.decodeFunctionResult(
71
71
  "multicall",
72
72
  data
@@ -79,7 +79,7 @@ const resolverMulticallWrapper = {
79
79
  };
80
80
  const multicallWrapper = {
81
81
  async raw({ contracts }, transactions, requireSuccess = false) {
82
- const multicall = await contracts?.getMulticall();
82
+ const multicall = await (contracts == null ? void 0 : contracts.getMulticall());
83
83
  return {
84
84
  to: multicall.address,
85
85
  data: multicall.interface.encodeFunctionData("tryAggregate", [
@@ -94,7 +94,7 @@ const multicallWrapper = {
94
94
  async decode({ contracts, provider }, data, transactions) {
95
95
  if (!data)
96
96
  return;
97
- const multicall = await contracts?.getMulticall();
97
+ const multicall = await (contracts == null ? void 0 : contracts.getMulticall());
98
98
  try {
99
99
  const [result] = multicall.interface.decodeFunctionResult(
100
100
  "tryAggregate",
@@ -44,7 +44,7 @@ async function createSubname_default({
44
44
  throw new Error("Fuses can only be set on a wrapped name");
45
45
  }
46
46
  if (!resolverAddress) {
47
- resolverAddress = (await contracts?.getPublicResolver()).address;
47
+ resolverAddress = (await (contracts == null ? void 0 : contracts.getPublicResolver())).address;
48
48
  }
49
49
  const label = labels.shift();
50
50
  const labelhash = import_ethers.ethers.utils.solidityKeccak256(["string"], [label]);
@@ -23,7 +23,7 @@ __export(getAvailable_exports, {
23
23
  module.exports = __toCommonJS(getAvailable_exports);
24
24
  var import_labels = require("../utils/labels");
25
25
  const raw = async ({ contracts }, name) => {
26
- const baseRegistrar = await contracts?.getBaseRegistrar();
26
+ const baseRegistrar = await (contracts == null ? void 0 : contracts.getBaseRegistrar());
27
27
  const labels = name.split(".");
28
28
  if (labels.length !== 2 || labels[1] !== "eth") {
29
29
  throw new Error("Currently only .eth names can be checked for availability");
@@ -38,7 +38,7 @@ const raw = async ({ contracts }, name) => {
38
38
  const decode = async ({ contracts }, data) => {
39
39
  if (data === null)
40
40
  return;
41
- const baseRegistrar = await contracts?.getBaseRegistrar();
41
+ const baseRegistrar = await (contracts == null ? void 0 : contracts.getBaseRegistrar());
42
42
  try {
43
43
  const result = baseRegistrar.interface.decodeFunctionResult(
44
44
  "available",
@@ -36,9 +36,10 @@ function encodeURLParams(p) {
36
36
  return Object.entries(p).map((kv) => kv.map(encodeURIComponent).join("=")).join("&");
37
37
  }
38
38
  const getDNS = async (q) => {
39
+ var _a;
39
40
  const url = `https://cloudflare-dns.com/dns-query?${encodeURLParams({
40
41
  ct: "application/dns-udpwireformat",
41
- dns: packet.encode(q)?.toString("base64"),
42
+ dns: (_a = packet.encode(q)) == null ? void 0 : _a.toString("base64"),
42
43
  ts: Date.now().toString()
43
44
  })}`;
44
45
  const response = await (0, import_utils._fetchData)(url, void 0);
@@ -79,7 +80,8 @@ const dnsQuery = async (qtype, qname) => {
79
80
  return response;
80
81
  };
81
82
  async function getDNSOwner_default(_, dnsName) {
83
+ var _a, _b, _c, _d, _e, _f;
82
84
  const result = await dnsQuery("TXT", `_ens.${dnsName}`);
83
- const address = result?.answers?.[0]?.data?.[0]?.toString()?.split("=")?.[1];
85
+ const address = (_f = (_e = (_d = (_c = (_b = (_a = result == null ? void 0 : result.answers) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) == null ? void 0 : _c[0]) == null ? void 0 : _d.toString()) == null ? void 0 : _e.split("=")) == null ? void 0 : _f[1];
84
86
  return address;
85
87
  }
@@ -27,7 +27,7 @@ const getRegistrarExpiry = async ({ contracts, multicallWrapper }, labels) => {
27
27
  if (labels.length > 2 || labels[1] !== "eth") {
28
28
  throw new Error("Only .eth names have expiry dates on the registrar");
29
29
  }
30
- const baseRegistrar = await contracts?.getBaseRegistrar();
30
+ const baseRegistrar = await (contracts == null ? void 0 : contracts.getBaseRegistrar());
31
31
  const expiryCall = baseRegistrar.interface.encodeFunctionData("nameExpires", [
32
32
  (0, import_utils.solidityKeccak256)(["string"], [labels[0]])
33
33
  ]);
@@ -44,7 +44,7 @@ const getRegistrarExpiry = async ({ contracts, multicallWrapper }, labels) => {
44
44
  ]);
45
45
  };
46
46
  const getWrapperExpiry = async ({ contracts }, labels) => {
47
- const nameWrapper = await contracts?.getNameWrapper();
47
+ const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
48
48
  const expiryCall = nameWrapper.interface.encodeFunctionData("getData", [
49
49
  (0, import_normalise.namehash)(labels.join("."))
50
50
  ]);
@@ -68,7 +68,7 @@ const raw = async (ensArgs, name, { contract } = {}) => {
68
68
  };
69
69
  const decodeRegistrarExpiry = async ({ contracts, multicallWrapper }, data) => {
70
70
  const result = await multicallWrapper.decode(data);
71
- const baseRegistrar = await contracts?.getBaseRegistrar();
71
+ const baseRegistrar = await (contracts == null ? void 0 : contracts.getBaseRegistrar());
72
72
  try {
73
73
  const [nameExpires] = baseRegistrar.interface.decodeFunctionResult(
74
74
  "nameExpires",
@@ -87,7 +87,7 @@ const decodeRegistrarExpiry = async ({ contracts, multicallWrapper }, data) => {
87
87
  }
88
88
  };
89
89
  const decodeWrapperExpiry = async ({ contracts }, data) => {
90
- const nameWrapper = await contracts?.getNameWrapper();
90
+ const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
91
91
  try {
92
92
  const [, , expiry] = nameWrapper.interface.decodeFunctionResult(
93
93
  "getData",
@@ -23,7 +23,7 @@ __export(getName_exports, {
23
23
  module.exports = __toCommonJS(getName_exports);
24
24
  var import_hexEncodedName = require("../utils/hexEncodedName");
25
25
  const raw = async ({ contracts }, address) => {
26
- const universalResolver = await contracts?.getUniversalResolver();
26
+ const universalResolver = await (contracts == null ? void 0 : contracts.getUniversalResolver());
27
27
  const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
28
28
  return {
29
29
  to: universalResolver.address,
@@ -35,7 +35,7 @@ const raw = async ({ contracts }, address) => {
35
35
  const decode = async ({ contracts }, data, address) => {
36
36
  if (data === null)
37
37
  return;
38
- const universalResolver = await contracts?.getUniversalResolver();
38
+ const universalResolver = await (contracts == null ? void 0 : contracts.getUniversalResolver());
39
39
  try {
40
40
  const result = universalResolver.interface.decodeFunctionResult(
41
41
  "reverse(bytes)",
@@ -303,9 +303,9 @@ const getNames = async ({ gqlInstance }, {
303
303
  const { account } = await client.request(finalQuery, queryVars);
304
304
  if (type === "all") {
305
305
  return [
306
- ...account?.domains.map(mapDomain) || [],
307
- ...account?.registrations.map(mapRegistration) || [],
308
- ...account?.wrappedDomains.map(mapWrappedDomain) || []
306
+ ...(account == null ? void 0 : account.domains.map(mapDomain)) || [],
307
+ ...(account == null ? void 0 : account.registrations.map(mapRegistration)) || [],
308
+ ...(account == null ? void 0 : account.wrappedDomains.map(mapWrappedDomain)) || []
309
309
  ].sort((a, b) => {
310
310
  if (orderDirection === "desc") {
311
311
  if (orderBy === "labelName") {
@@ -320,11 +320,11 @@ const getNames = async ({ gqlInstance }, {
320
320
  });
321
321
  }
322
322
  if (type === "owner") {
323
- return account?.domains.map(mapDomain) || [];
323
+ return (account == null ? void 0 : account.domains.map(mapDomain)) || [];
324
324
  }
325
325
  if (type === "wrappedOwner") {
326
- return account?.wrappedDomains.map(mapWrappedDomain) || [];
326
+ return (account == null ? void 0 : account.wrappedDomains.map(mapWrappedDomain)) || [];
327
327
  }
328
- return account?.registrations.map(mapRegistration) || [];
328
+ return (account == null ? void 0 : account.registrations.map(mapRegistration)) || [];
329
329
  };
330
330
  var getNames_default = getNames;
@@ -27,21 +27,21 @@ var import_normalise = require("../utils/normalise");
27
27
  const singleContractOwnerRaw = async ({ contracts }, contract, namehash, labels) => {
28
28
  switch (contract) {
29
29
  case "nameWrapper": {
30
- const nameWrapper = await contracts?.getNameWrapper();
30
+ const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
31
31
  return {
32
32
  to: nameWrapper.address,
33
33
  data: nameWrapper.interface.encodeFunctionData("ownerOf", [namehash])
34
34
  };
35
35
  }
36
36
  case "registry": {
37
- const registry = await contracts?.getRegistry();
37
+ const registry = await (contracts == null ? void 0 : contracts.getRegistry());
38
38
  return {
39
39
  to: registry.address,
40
40
  data: registry.interface.encodeFunctionData("owner", [namehash])
41
41
  };
42
42
  }
43
43
  case "registrar": {
44
- const registrar = await contracts?.getBaseRegistrar();
44
+ const registrar = await (contracts == null ? void 0 : contracts.getBaseRegistrar());
45
45
  return {
46
46
  to: registrar.address,
47
47
  data: registrar.interface.encodeFunctionData("ownerOf", [
@@ -103,6 +103,7 @@ const decode = async ({
103
103
  multicallWrapper,
104
104
  gqlInstance
105
105
  }, data, name, contract) => {
106
+ var _a, _b, _c, _d, _e;
106
107
  if (!data)
107
108
  return;
108
109
  const labels = name.split(".");
@@ -125,22 +126,22 @@ const decode = async ({
125
126
  const result = await multicallWrapper.decode(data);
126
127
  if (!result)
127
128
  return;
128
- const nameWrapper = await contracts?.getNameWrapper();
129
- const decodedData = [result[0][1], result[1][1], result[2]?.[1]].map(
129
+ const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
130
+ const decodedData = [result[0][1], result[1][1], (_a = result[2]) == null ? void 0 : _a[1]].map(
130
131
  (ret) => ret && ret !== "0x" && import_ethers.ethers.utils.defaultAbiCoder.decode(["address"], ret)
131
132
  );
132
133
  const registryOwner = decodedData[0][0];
133
134
  const nameWrapperOwner = decodedData[1][0];
134
- let registrarOwner = decodedData[2]?.[0];
135
+ let registrarOwner = (_b = decodedData[2]) == null ? void 0 : _b[0];
135
136
  if (labels[labels.length - 1] === "eth") {
136
137
  if (!registrarOwner && labels.length === 2) {
137
- const graphRegistrantResult = await gqlInstance?.request(
138
+ const graphRegistrantResult = await (gqlInstance == null ? void 0 : gqlInstance.request(
138
139
  registrantQuery,
139
140
  {
140
141
  namehash: (0, import_normalise.namehash)(name)
141
142
  }
142
- );
143
- registrarOwner = graphRegistrantResult.domain?.registration?.registrant?.id;
143
+ ));
144
+ registrarOwner = (_e = (_d = (_c = graphRegistrantResult.domain) == null ? void 0 : _c.registration) == null ? void 0 : _d.registrant) == null ? void 0 : _e.id;
144
145
  }
145
146
  if (registrarOwner === nameWrapper.address) {
146
147
  return {
@@ -25,7 +25,7 @@ var import_ethers = require("ethers");
25
25
  const raw = async ({ contracts, multicallWrapper }, nameOrNames, duration, legacy) => {
26
26
  const names = Array.isArray(nameOrNames) ? nameOrNames : [nameOrNames];
27
27
  if (names.length > 1) {
28
- const bulkRenewal = await contracts?.getBulkRenewal();
28
+ const bulkRenewal = await (contracts == null ? void 0 : contracts.getBulkRenewal());
29
29
  const baseCall2 = {
30
30
  to: bulkRenewal.address,
31
31
  data: bulkRenewal.interface.encodeFunctionData("rentPrice", [
@@ -47,7 +47,7 @@ const raw = async ({ contracts, multicallWrapper }, nameOrNames, duration, legac
47
47
  }
48
48
  return baseCall2;
49
49
  }
50
- const controller = await contracts?.getEthRegistrarController();
50
+ const controller = await (contracts == null ? void 0 : contracts.getEthRegistrarController());
51
51
  const baseCall = {
52
52
  to: controller.address,
53
53
  data: controller.interface.encodeFunctionData("rentPrice", [
@@ -88,7 +88,7 @@ const decode = async ({ contracts, multicallWrapper }, data, _nameOrNames, _dura
88
88
  );
89
89
  base = price.sub(premium);
90
90
  } else if (isBulkRenewal) {
91
- const bulkRenewal = await contracts?.getBulkRenewal();
91
+ const bulkRenewal = await (contracts == null ? void 0 : contracts.getBulkRenewal());
92
92
  const result = bulkRenewal.interface.decodeFunctionResult(
93
93
  "rentPrice",
94
94
  data
@@ -107,7 +107,7 @@ const decode = async ({ contracts, multicallWrapper }, data, _nameOrNames, _dura
107
107
  );
108
108
  base = price.sub(premium);
109
109
  } else {
110
- const controller = await contracts?.getEthRegistrarController();
110
+ const controller = await (contracts == null ? void 0 : contracts.getEthRegistrarController());
111
111
  const result = controller.interface.decodeFunctionResult(
112
112
  "rentPrice",
113
113
  data
@@ -178,7 +178,7 @@ const getDataForName = async ({
178
178
  _getText,
179
179
  multicallWrapper
180
180
  }, name, options, specificResolver) => {
181
- const universalResolver = await contracts?.getUniversalResolver();
181
+ const universalResolver = await (contracts == null ? void 0 : contracts.getUniversalResolver());
182
182
  const { data, calls } = await makeMulticallData(
183
183
  { _getAddr, _getContentHash, _getText },
184
184
  name,
@@ -188,11 +188,11 @@ const getDataForName = async ({
188
188
  let resolverAddress = specificResolver;
189
189
  if (specificResolver) {
190
190
  try {
191
- const publicResolver = await contracts?.getPublicResolver(
191
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver(
192
192
  void 0,
193
193
  specificResolver
194
- );
195
- recordData = await publicResolver?.callStatic.multicall(data);
194
+ ));
195
+ recordData = await (publicResolver == null ? void 0 : publicResolver.callStatic.multicall(data));
196
196
  } catch (e) {
197
197
  console.error("getProfile error:", e);
198
198
  recordData = await fetchWithoutResolverMulticall(
@@ -219,8 +219,8 @@ const getDataForName = async ({
219
219
  }
220
220
  }
221
221
  } catch {
222
- const registryContract = await contracts?.getRegistry();
223
- resolverAddress = await registryContract?.resolver((0, import_normalise.namehash)(name));
222
+ const registryContract = await (contracts == null ? void 0 : contracts.getRegistry());
223
+ resolverAddress = await (registryContract == null ? void 0 : registryContract.resolver((0, import_normalise.namehash)(name)));
224
224
  return {
225
225
  address: void 0,
226
226
  records: {},
@@ -290,7 +290,7 @@ const graphFetch = async ({ gqlInstance }, name, wantedRecords, resolverAddress)
290
290
  if (!resolverAddress) {
291
291
  ;
292
292
  ({ domain } = await client.request(query, { id }));
293
- resolverResponse = domain?.resolver;
293
+ resolverResponse = domain == null ? void 0 : domain.resolver;
294
294
  } else {
295
295
  const resolverId = `${resolverAddress.toLowerCase()}-${id}`;
296
296
  ({ resolver: resolverResponse, domain } = await client.request(
@@ -332,7 +332,7 @@ const getProfileFromName = async ({
332
332
  const { resolverAddress, fallback, ..._options } = options || {};
333
333
  const optsLength = Object.keys(_options).length;
334
334
  let usingOptions;
335
- if (!optsLength || _options?.texts === true || _options?.coinTypes === true) {
335
+ if (!optsLength || (_options == null ? void 0 : _options.texts) === true || (_options == null ? void 0 : _options.coinTypes) === true) {
336
336
  if (optsLength)
337
337
  usingOptions = _options;
338
338
  else
@@ -386,10 +386,10 @@ const getProfileFromName = async ({
386
386
  },
387
387
  name,
388
388
  recordsWithFallback,
389
- options?.resolverAddress
389
+ options == null ? void 0 : options.resolverAddress
390
390
  );
391
391
  }
392
- if (!result?.resolverAddress)
392
+ if (!(result == null ? void 0 : result.resolverAddress))
393
393
  return {
394
394
  isMigrated,
395
395
  createdAt,
@@ -24,7 +24,7 @@ module.exports = __toCommonJS(getResolver_exports);
24
24
  var import_ethers = require("ethers");
25
25
  var import_hexEncodedName = require("../utils/hexEncodedName");
26
26
  const raw = async ({ contracts }, name) => {
27
- const universalResolver = await contracts?.getUniversalResolver();
27
+ const universalResolver = await (contracts == null ? void 0 : contracts.getUniversalResolver());
28
28
  return {
29
29
  to: universalResolver.address,
30
30
  data: universalResolver.interface.encodeFunctionData("findResolver", [
@@ -33,7 +33,7 @@ const raw = async ({ contracts }, name) => {
33
33
  };
34
34
  };
35
35
  const decode = async ({ contracts }, data) => {
36
- const universalResolver = await contracts?.getUniversalResolver();
36
+ const universalResolver = await (contracts == null ? void 0 : contracts.getUniversalResolver());
37
37
  const response = universalResolver.interface.decodeFunctionResult(
38
38
  "findResolver",
39
39
  data
@@ -32,7 +32,7 @@ var import_contentHash = require("../utils/contentHash");
32
32
  var import_normalise = require("../utils/normalise");
33
33
  const _getContentHash = {
34
34
  raw: async ({ contracts }, name) => {
35
- const publicResolver = await contracts?.getPublicResolver();
35
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
36
36
  return {
37
37
  to: "0x0000000000000000000000000000000000000000",
38
38
  data: publicResolver.interface.encodeFunctionData("contenthash", [
@@ -42,7 +42,7 @@ const _getContentHash = {
42
42
  },
43
43
  decode: async ({ contracts }, data) => {
44
44
  let response;
45
- const publicResolver = await contracts?.getPublicResolver();
45
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
46
46
  try {
47
47
  ;
48
48
  [response] = publicResolver.interface.decodeFunctionResult(
@@ -76,7 +76,7 @@ const getContentHash = {
76
76
  };
77
77
  const _getText = {
78
78
  raw: async ({ contracts }, name, key) => {
79
- const publicResolver = await contracts?.getPublicResolver();
79
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
80
80
  return {
81
81
  to: "0x0000000000000000000000000000000000000000",
82
82
  data: publicResolver.interface.encodeFunctionData("text", [
@@ -86,7 +86,7 @@ const _getText = {
86
86
  };
87
87
  },
88
88
  decode: async ({ contracts }, data) => {
89
- const publicResolver = await contracts?.getPublicResolver();
89
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
90
90
  const [response] = publicResolver.interface.decodeFunctionResult(
91
91
  "text",
92
92
  data
@@ -114,7 +114,7 @@ const _getAddr = {
114
114
  if (!coinType) {
115
115
  coinType = 60;
116
116
  }
117
- const publicResolver = await contracts?.getPublicResolver();
117
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
118
118
  if (coinType === 60 || coinType === "60") {
119
119
  return {
120
120
  to: "0x0000000000000000000000000000000000000000",
@@ -150,7 +150,7 @@ const _getAddr = {
150
150
  coinType = 60;
151
151
  returnCoinType = false;
152
152
  }
153
- const publicResolver = await contracts?.getPublicResolver();
153
+ const publicResolver = await (contracts == null ? void 0 : contracts.getPublicResolver());
154
154
  const formatter = typeof coinType === "string" && Number.isNaN(parseInt(coinType)) ? import_address_encoder.formatsByName[coinType] : import_address_encoder.formatsByCoinType[typeof coinType === "number" ? coinType : parseInt(coinType)];
155
155
  let response;
156
156
  if (coinType === 60 || coinType === "60") {
@@ -33,9 +33,9 @@ const largeQuery = async ({ gqlInstance }, {
33
33
  search = ""
34
34
  }) => {
35
35
  const { client } = gqlInstance;
36
- const lastSubname = lastSubnames?.[lastSubnames.length - 1];
37
- const lastCreatedAt = lastSubname?.createdAt;
38
- const lastLabelName = lastSubname?.labelName;
36
+ const lastSubname = lastSubnames == null ? void 0 : lastSubnames[lastSubnames.length - 1];
37
+ const lastCreatedAt = lastSubname == null ? void 0 : lastSubname.createdAt;
38
+ const lastLabelName = lastSubname == null ? void 0 : lastSubname.labelName;
39
39
  let whereFilter = "";
40
40
  if (orderBy === "createdAt" && lastCreatedAt) {
41
41
  whereFilter += orderDirection === "asc" ? "createdAt_gt: $lastCreatedAt" : "createdAt_lt: $lastCreatedAt";
@@ -88,7 +88,7 @@ const largeQuery = async ({ gqlInstance }, {
88
88
  lastLabelName,
89
89
  orderBy,
90
90
  orderDirection,
91
- search: search?.toLowerCase()
91
+ search: search == null ? void 0 : search.toLowerCase()
92
92
  };
93
93
  const { domain } = await client.request(finalQuery, queryVars);
94
94
  const subdomains = domain.subdomains.map((subname) => {
@@ -25,14 +25,14 @@ var import_ethers = require("ethers");
25
25
  var import_fuses = require("../utils/fuses");
26
26
  var import_normalise = require("../utils/normalise");
27
27
  const raw = async ({ contracts }, name) => {
28
- const nameWrapper = await contracts?.getNameWrapper();
28
+ const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
29
29
  return {
30
30
  to: nameWrapper.address,
31
31
  data: nameWrapper.interface.encodeFunctionData("getData", [(0, import_normalise.namehash)(name)])
32
32
  };
33
33
  };
34
34
  const decode = async ({ contracts }, data) => {
35
- const nameWrapper = await contracts?.getNameWrapper();
35
+ const nameWrapper = await (contracts == null ? void 0 : contracts.getNameWrapper());
36
36
  try {
37
37
  const [owner, _fuses, expiry] = nameWrapper.interface.decodeFunctionResult(
38
38
  "getData",