@ensdomains/ensjs 3.0.0-alpha.26 → 3.0.0-alpha.28

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/contracts/getContractAddress.js +1 -1
  3. package/dist/cjs/functions/batchWrappers.js +41 -8
  4. package/dist/cjs/functions/getName.js +2 -2
  5. package/dist/cjs/functions/getNames.js +89 -1
  6. package/dist/cjs/functions/getOwner.js +4 -4
  7. package/dist/cjs/functions/getProfile.js +117 -87
  8. package/dist/cjs/functions/getWrapperData.js +1 -11
  9. package/dist/cjs/generated/factories/NameWrapper__factory.js +13 -0
  10. package/dist/cjs/generated/factories/UniversalResolver__factory.js +277 -0
  11. package/dist/cjs/utils/ccip.js +128 -0
  12. package/dist/cjs/utils/fuses.js +17 -0
  13. package/dist/cjs/utils/singleCall.js +1 -1
  14. package/dist/esm/contracts/getContractAddress.mjs +1 -1
  15. package/dist/esm/functions/batchWrappers.mjs +35 -8
  16. package/dist/esm/functions/getName.mjs +2 -2
  17. package/dist/esm/functions/getNames.mjs +89 -1
  18. package/dist/esm/functions/getOwner.mjs +4 -4
  19. package/dist/esm/functions/getProfile.mjs +117 -87
  20. package/dist/esm/functions/getWrapperData.mjs +2 -12
  21. package/dist/esm/generated/factories/NameWrapper__factory.mjs +13 -0
  22. package/dist/esm/generated/factories/UniversalResolver__factory.mjs +277 -0
  23. package/dist/esm/utils/ccip.mjs +114 -0
  24. package/dist/esm/utils/fuses.mjs +17 -0
  25. package/dist/esm/utils/singleCall.mjs +1 -1
  26. package/dist/types/functions/batchWrappers.d.ts +58 -1
  27. package/dist/types/functions/getNames.d.ts +9 -3
  28. package/dist/types/functions/getProfile.d.ts +6 -0
  29. package/dist/types/functions/getWrapperData.d.ts +1 -2
  30. package/dist/types/generated/NameWrapper.d.ts +9 -1
  31. package/dist/types/generated/UniversalResolver.d.ts +123 -21
  32. package/dist/types/index.d.ts +68 -3
  33. package/dist/types/utils/ccip.d.ts +3 -0
  34. package/dist/types/utils/fuses.d.ts +2 -0
  35. package/package.json +3 -3
  36. package/src/contracts/getContractAddress.ts +1 -1
  37. package/src/functions/batchWrappers.ts +40 -9
  38. package/src/functions/getName.ts +2 -2
  39. package/src/functions/getNames.test.ts +27 -0
  40. package/src/functions/getNames.ts +101 -3
  41. package/src/functions/getOwner.ts +4 -2
  42. package/src/functions/getProfile-ccip.test.ts +29 -0
  43. package/src/functions/getProfile.test.ts +1 -1
  44. package/src/functions/getProfile.ts +160 -100
  45. package/src/functions/getWrapperData.ts +3 -15
  46. package/src/functions/setName.test.ts +6 -2
  47. package/src/functions/setRecord.test.ts +3 -3
  48. package/src/functions/setRecords.test.ts +2 -2
  49. package/src/generated/NameWrapper.ts +14 -0
  50. package/src/generated/UniversalResolver.ts +382 -19
  51. package/src/generated/factories/NameWrapper__factory.ts +13 -0
  52. package/src/generated/factories/UniversalResolver__factory.ts +277 -0
  53. package/src/index.ts +1 -1
  54. package/src/utils/ccip.ts +148 -0
  55. package/src/utils/fuses.ts +21 -0
  56. package/src/utils/singleCall.ts +1 -1
@@ -14,6 +14,11 @@ var _abi = [
14
14
  internalType: "address",
15
15
  name: "_registry",
16
16
  type: "address"
17
+ },
18
+ {
19
+ internalType: "string[]",
20
+ name: "_urls",
21
+ type: "string[]"
17
22
  }
18
23
  ],
19
24
  stateMutability: "nonpayable",
@@ -50,6 +55,69 @@ var _abi = [
50
55
  name: "OffchainLookup",
51
56
  type: "error"
52
57
  },
58
+ {
59
+ inputs: [
60
+ {
61
+ internalType: "bytes",
62
+ name: "name",
63
+ type: "bytes"
64
+ },
65
+ {
66
+ internalType: "bytes",
67
+ name: "data",
68
+ type: "bytes"
69
+ },
70
+ {
71
+ internalType: "string[]",
72
+ name: "gateways",
73
+ type: "string[]"
74
+ },
75
+ {
76
+ internalType: "bytes4",
77
+ name: "callbackFunction",
78
+ type: "bytes4"
79
+ },
80
+ {
81
+ internalType: "bytes",
82
+ name: "metaData",
83
+ type: "bytes"
84
+ }
85
+ ],
86
+ name: "_resolveSingle",
87
+ outputs: [
88
+ {
89
+ internalType: "bytes",
90
+ name: "",
91
+ type: "bytes"
92
+ },
93
+ {
94
+ internalType: "address",
95
+ name: "",
96
+ type: "address"
97
+ }
98
+ ],
99
+ stateMutability: "view",
100
+ type: "function"
101
+ },
102
+ {
103
+ inputs: [
104
+ {
105
+ internalType: "uint256",
106
+ name: "",
107
+ type: "uint256"
108
+ }
109
+ ],
110
+ name: "batchGatewayURLs",
111
+ outputs: [
112
+ {
113
+ internalType: "string",
114
+ name: "",
115
+ type: "string"
116
+ }
117
+ ],
118
+ stateMutability: "view",
119
+ type: "function"
120
+ },
53
121
  {
54
122
  inputs: [
55
123
  {
@@ -87,6 +155,103 @@ var _abi = [
87
155
  stateMutability: "view",
88
156
  type: "function"
89
157
  },
158
+ {
159
+ inputs: [
160
+ {
161
+ internalType: "bytes",
162
+ name: "name",
163
+ type: "bytes"
164
+ },
165
+ {
166
+ internalType: "bytes",
167
+ name: "data",
168
+ type: "bytes"
169
+ },
170
+ {
171
+ internalType: "string[]",
172
+ name: "gateways",
173
+ type: "string[]"
174
+ }
175
+ ],
176
+ name: "resolve",
177
+ outputs: [
178
+ {
179
+ internalType: "bytes",
180
+ name: "",
181
+ type: "bytes"
182
+ },
183
+ {
184
+ internalType: "address",
185
+ name: "",
186
+ type: "address"
187
+ }
188
+ ],
189
+ stateMutability: "view",
190
+ type: "function"
191
+ },
192
+ {
193
+ inputs: [
194
+ {
195
+ internalType: "bytes",
196
+ name: "name",
197
+ type: "bytes"
198
+ },
199
+ {
200
+ internalType: "bytes[]",
201
+ name: "data",
202
+ type: "bytes[]"
203
+ }
204
+ ],
205
+ name: "resolve",
206
+ outputs: [
207
+ {
208
+ internalType: "bytes[]",
209
+ name: "",
210
+ type: "bytes[]"
211
+ },
212
+ {
213
+ internalType: "address",
214
+ name: "",
215
+ type: "address"
216
+ }
217
+ ],
218
+ stateMutability: "view",
219
+ type: "function"
220
+ },
221
+ {
222
+ inputs: [
223
+ {
224
+ internalType: "bytes",
225
+ name: "name",
226
+ type: "bytes"
227
+ },
228
+ {
229
+ internalType: "bytes[]",
230
+ name: "data",
231
+ type: "bytes[]"
232
+ },
233
+ {
234
+ internalType: "string[]",
235
+ name: "gateways",
236
+ type: "string[]"
237
+ }
238
+ ],
239
+ name: "resolve",
240
+ outputs: [
241
+ {
242
+ internalType: "bytes[]",
243
+ name: "",
244
+ type: "bytes[]"
245
+ },
246
+ {
247
+ internalType: "address",
248
+ name: "",
249
+ type: "address"
250
+ }
251
+ ],
252
+ stateMutability: "view",
253
+ type: "function"
254
+ },
90
255
  {
91
256
  inputs: [
92
257
  {
@@ -130,11 +295,84 @@ var _abi = [
130
295
  }
131
296
  ],
132
297
  name: "resolveCallback",
298
+ outputs: [
299
+ {
300
+ internalType: "bytes[]",
301
+ name: "",
302
+ type: "bytes[]"
303
+ },
304
+ {
305
+ internalType: "address",
306
+ name: "",
307
+ type: "address"
308
+ }
309
+ ],
310
+ stateMutability: "nonpayable",
311
+ type: "function"
312
+ },
313
+ {
314
+ inputs: [
315
+ {
316
+ internalType: "bytes",
317
+ name: "response",
318
+ type: "bytes"
319
+ },
320
+ {
321
+ internalType: "bytes",
322
+ name: "extraData",
323
+ type: "bytes"
324
+ }
325
+ ],
326
+ name: "resolveSingleCallback",
133
327
  outputs: [
134
328
  {
135
329
  internalType: "bytes",
136
330
  name: "",
137
331
  type: "bytes"
332
+ },
333
+ {
334
+ internalType: "address",
335
+ name: "",
336
+ type: "address"
337
+ }
338
+ ],
339
+ stateMutability: "nonpayable",
340
+ type: "function"
341
+ },
342
+ {
343
+ inputs: [
344
+ {
345
+ internalType: "bytes",
346
+ name: "reverseName",
347
+ type: "bytes"
348
+ },
349
+ {
350
+ internalType: "string[]",
351
+ name: "gateways",
352
+ type: "string[]"
353
+ }
354
+ ],
355
+ name: "reverse",
356
+ outputs: [
357
+ {
358
+ internalType: "string",
359
+ name: "",
360
+ type: "string"
361
+ },
362
+ {
363
+ internalType: "address",
364
+ name: "",
365
+ type: "address"
366
+ },
367
+ {
368
+ internalType: "address",
369
+ name: "",
370
+ type: "address"
371
+ },
372
+ {
373
+ internalType: "address",
374
+ name: "",
375
+ type: "address"
138
376
  }
139
377
  ],
140
378
  stateMutability: "view",
@@ -174,6 +412,45 @@ var _abi = [
174
412
  stateMutability: "view",
175
413
  type: "function"
176
414
  },
415
+ {
416
+ inputs: [
417
+ {
418
+ internalType: "bytes",
419
+ name: "response",
420
+ type: "bytes"
421
+ },
422
+ {
423
+ internalType: "bytes",
424
+ name: "extraData",
425
+ type: "bytes"
426
+ }
427
+ ],
428
+ name: "reverseCallback",
429
+ outputs: [
430
+ {
431
+ internalType: "string",
432
+ name: "",
433
+ type: "string"
434
+ },
435
+ {
436
+ internalType: "address",
437
+ name: "",
438
+ type: "address"
439
+ },
440
+ {
441
+ internalType: "address",
442
+ name: "",
443
+ type: "address"
444
+ },
445
+ {
446
+ internalType: "address",
447
+ name: "",
448
+ type: "address"
449
+ }
450
+ ],
451
+ stateMutability: "nonpayable",
452
+ type: "function"
453
+ },
177
454
  {
178
455
  inputs: [
179
456
  {
@@ -0,0 +1,114 @@
1
+ // src/utils/ccip.ts
2
+ import { BigNumber } from "ethers";
3
+ import {
4
+ arrayify,
5
+ hexConcat,
6
+ hexDataSlice,
7
+ toUtf8String
8
+ } from "ethers/lib/utils.js";
9
+ function bytesPad(value) {
10
+ if (value.length % 32 === 0) {
11
+ return value;
12
+ }
13
+ const result = new Uint8Array(Math.ceil(value.length / 32) * 32);
14
+ result.set(value);
15
+ return result;
16
+ }
17
+ function numPad(value) {
18
+ const result = arrayify(value);
19
+ if (result.length > 32) {
20
+ throw new Error("internal; should not happen");
21
+ }
22
+ const padded = new Uint8Array(32);
23
+ padded.set(result, 32 - result.length);
24
+ return padded;
25
+ }
26
+ function encodeBytes(datas) {
27
+ const result = [];
28
+ let byteCount = 0;
29
+ for (let i = 0; i < datas.length; i += 1) {
30
+ result.push(new Uint8Array(0));
31
+ byteCount += 32;
32
+ }
33
+ for (let i = 0; i < datas.length; i += 1) {
34
+ const data = arrayify(datas[i]);
35
+ result[i] = numPad(byteCount);
36
+ result.push(numPad(data.length));
37
+ result.push(bytesPad(data));
38
+ byteCount += 32 + Math.ceil(data.length / 32) * 32;
39
+ }
40
+ return hexConcat(result);
41
+ }
42
+ function _parseBytes(result, start) {
43
+ if (result === "0x") {
44
+ return null;
45
+ }
46
+ const offset = BigNumber.from(
47
+ hexDataSlice(result, start, start + 32)
48
+ ).toNumber();
49
+ const length = BigNumber.from(
50
+ hexDataSlice(result, offset, offset + 32)
51
+ ).toNumber();
52
+ return hexDataSlice(result, offset + 32, offset + 32 + length);
53
+ }
54
+ function _parseString(result, start) {
55
+ try {
56
+ const bytes = _parseBytes(result, start);
57
+ if (bytes == null)
58
+ return null;
59
+ return toUtf8String(bytes);
60
+ } catch (error) {
61
+ }
62
+ return null;
63
+ }
64
+ var ccipLookup = async (provider, transaction, result) => {
65
+ const txSender = transaction.to;
66
+ try {
67
+ const data = hexDataSlice(result, 4);
68
+ const sender = hexDataSlice(data, 0, 32);
69
+ if (!BigNumber.from(sender).eq(txSender)) {
70
+ throw new Error("CCIP Read sender did not match");
71
+ }
72
+ const urls = [];
73
+ const urlsOffset = BigNumber.from(hexDataSlice(data, 32, 64)).toNumber();
74
+ const urlsLength = BigNumber.from(
75
+ hexDataSlice(data, urlsOffset, urlsOffset + 32)
76
+ ).toNumber();
77
+ const urlsData = hexDataSlice(data, urlsOffset + 32);
78
+ for (let u = 0; u < urlsLength; u += 1) {
79
+ const url = _parseString(urlsData, u * 32);
80
+ if (url == null) {
81
+ throw new Error("CCIP Read contained corrupt URL string");
82
+ }
83
+ urls.push(url);
84
+ }
85
+ const calldata = _parseBytes(data, 64);
86
+ if (!BigNumber.from(hexDataSlice(data, 100, 128)).isZero()) {
87
+ throw new Error("CCIP Read callback selected included junk");
88
+ }
89
+ const callbackSelector = hexDataSlice(data, 96, 100);
90
+ const extraData = _parseBytes(data, 128);
91
+ const ccipResult = await provider.ccipReadFetch(
92
+ transaction,
93
+ calldata,
94
+ urls
95
+ );
96
+ if (ccipResult == null) {
97
+ throw new Error("CCIP Read disabled or provided no URLs");
98
+ }
99
+ const tx = {
100
+ to: sender,
101
+ data: hexConcat([
102
+ callbackSelector,
103
+ encodeBytes([ccipResult, extraData])
104
+ ])
105
+ };
106
+ return await provider._call(tx, "latest", 1);
107
+ } catch (error) {
108
+ console.error(error);
109
+ }
110
+ };
111
+ var ccip_default = ccipLookup;
112
+ export {
113
+ ccip_default as default
114
+ };
@@ -1,4 +1,5 @@
1
1
  // src/utils/fuses.ts
2
+ import { BigNumber } from "ethers";
2
3
  var CANNOT_UNWRAP = 1;
3
4
  var CANNOT_BURN_FUSES = 2;
4
5
  var CANNOT_TRANSFER = 4;
@@ -89,8 +90,24 @@ var validateFuses = (fuses) => {
89
90
  }
90
91
  return encodedFuses;
91
92
  };
93
+ var decodeFuses = (fuses) => {
94
+ const bnFuses = BigNumber.from(fuses);
95
+ const fuseObj = Object.fromEntries(
96
+ Object.keys(fuseEnum).map((fuse) => [
97
+ fuse,
98
+ bnFuses.and(fuseEnum[fuse]).gt(0)
99
+ ])
100
+ );
101
+ if (bnFuses.eq(0)) {
102
+ fuseObj.CAN_DO_EVERYTHING = true;
103
+ } else {
104
+ fuseObj.CAN_DO_EVERYTHING = false;
105
+ }
106
+ return fuseObj;
107
+ };
92
108
  var fuses_default = fullFuseEnum;
93
109
  export {
110
+ decodeFuses,
94
111
  fuses_default as default,
95
112
  fuseEnum,
96
113
  unnamedFuses,
@@ -1,5 +1,5 @@
1
1
  // src/utils/singleCall.ts
2
- var singleCall_default = async (provider, ensData, func, ...data) => func.raw(ensData, ...data).then((rawData) => provider.call(rawData)).catch(() => null).then((ret) => func.decode(ensData, ret, ...data));
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));
3
3
  export {
4
4
  singleCall_default as default
5
5
  };
@@ -25,5 +25,62 @@ export declare const multicallWrapper: {
25
25
  to: string;
26
26
  data: string;
27
27
  }>;
28
- decode({ contracts }: ENSArgs<'contracts'>, data: string): Promise<any>;
28
+ decode({ contracts, provider }: ENSArgs<'contracts' | 'provider'>, data: string, transactions: ethers.providers.TransactionRequest[]): Promise<{
29
+ success: boolean;
30
+ returnData: string;
31
+ 0: boolean;
32
+ 1: string;
33
+ length: 2;
34
+ toString(): string;
35
+ toLocaleString(): string;
36
+ pop(): string | boolean | undefined;
37
+ push(...items: (string | boolean)[]): number;
38
+ concat(...items: ConcatArray<string | boolean>[]): (string | boolean)[];
39
+ concat(...items: (string | boolean | ConcatArray<string | boolean>)[]): (string | boolean)[];
40
+ join(separator?: string | undefined): string;
41
+ reverse(): (string | boolean)[];
42
+ shift(): string | boolean | undefined;
43
+ slice(start?: number | undefined, end?: number | undefined): (string | boolean)[];
44
+ sort(compareFn?: ((a: string | boolean, b: string | boolean) => number) | undefined): [boolean, string];
45
+ splice(start: number, deleteCount?: number | undefined): (string | boolean)[];
46
+ splice(start: number, deleteCount: number, ...items: (string | boolean)[]): (string | boolean)[];
47
+ unshift(...items: (string | boolean)[]): number;
48
+ indexOf(searchElement: string | boolean, fromIndex?: number | undefined): number;
49
+ lastIndexOf(searchElement: string | boolean, fromIndex?: number | undefined): number;
50
+ every<S extends string | boolean>(predicate: (value: string | boolean, index: number, array: (string | boolean)[]) => value is S, thisArg?: any): this is S[];
51
+ every(predicate: (value: string | boolean, index: number, array: (string | boolean)[]) => unknown, thisArg?: any): boolean;
52
+ some(predicate: (value: string | boolean, index: number, array: (string | boolean)[]) => unknown, thisArg?: any): boolean;
53
+ forEach(callbackfn: (value: string | boolean, index: number, array: (string | boolean)[]) => void, thisArg?: any): void;
54
+ map<U>(callbackfn: (value: string | boolean, index: number, array: (string | boolean)[]) => U, thisArg?: any): U[];
55
+ filter<S_1 extends string | boolean>(predicate: (value: string | boolean, index: number, array: (string | boolean)[]) => value is S_1, thisArg?: any): S_1[];
56
+ filter(predicate: (value: string | boolean, index: number, array: (string | boolean)[]) => unknown, thisArg?: any): (string | boolean)[];
57
+ reduce(callbackfn: (previousValue: string | boolean, currentValue: string | boolean, currentIndex: number, array: (string | boolean)[]) => string | boolean): string | boolean;
58
+ reduce(callbackfn: (previousValue: string | boolean, currentValue: string | boolean, currentIndex: number, array: (string | boolean)[]) => string | boolean, initialValue: string | boolean): string | boolean;
59
+ reduce<U_1>(callbackfn: (previousValue: U_1, currentValue: string | boolean, currentIndex: number, array: (string | boolean)[]) => U_1, initialValue: U_1): U_1;
60
+ reduceRight(callbackfn: (previousValue: string | boolean, currentValue: string | boolean, currentIndex: number, array: (string | boolean)[]) => string | boolean): string | boolean;
61
+ reduceRight(callbackfn: (previousValue: string | boolean, currentValue: string | boolean, currentIndex: number, array: (string | boolean)[]) => string | boolean, initialValue: string | boolean): string | boolean;
62
+ reduceRight<U_2>(callbackfn: (previousValue: U_2, currentValue: string | boolean, currentIndex: number, array: (string | boolean)[]) => U_2, initialValue: U_2): U_2;
63
+ find<S_2 extends string | boolean>(predicate: (this: void, value: string | boolean, index: number, obj: (string | boolean)[]) => value is S_2, thisArg?: any): S_2 | undefined;
64
+ find(predicate: (value: string | boolean, index: number, obj: (string | boolean)[]) => unknown, thisArg?: any): string | boolean | undefined;
65
+ findIndex(predicate: (value: string | boolean, index: number, obj: (string | boolean)[]) => unknown, thisArg?: any): number;
66
+ fill(value: string | boolean, start?: number | undefined, end?: number | undefined): [boolean, string];
67
+ copyWithin(target: number, start: number, end?: number | undefined): [boolean, string];
68
+ entries(): IterableIterator<[number, string | boolean]>;
69
+ keys(): IterableIterator<number>;
70
+ values(): IterableIterator<string | boolean>;
71
+ includes(searchElement: string | boolean, fromIndex?: number | undefined): boolean;
72
+ flatMap<U_3, This = undefined>(callback: (this: This, value: string | boolean, index: number, array: (string | boolean)[]) => U_3 | readonly U_3[], thisArg?: This | undefined): U_3[];
73
+ flat<A, D extends number = 1>(this: A, depth?: D | undefined): FlatArray<A, D>[];
74
+ [Symbol.iterator](): IterableIterator<string | boolean>;
75
+ [Symbol.unscopables](): {
76
+ copyWithin: boolean;
77
+ entries: boolean;
78
+ fill: boolean;
79
+ find: boolean;
80
+ findIndex: boolean;
81
+ keys: boolean;
82
+ values: boolean;
83
+ };
84
+ at(index: number): string | boolean | undefined;
85
+ }[] | undefined>;
29
86
  };
@@ -1,4 +1,5 @@
1
1
  import { ENSArgs } from '..';
2
+ import { CurrentFuses } from '../utils/fuses';
2
3
  export declare type Name = {
3
4
  id: string;
4
5
  labelName: string | null;
@@ -12,11 +13,12 @@ export declare type Name = {
12
13
  createdAt?: Date;
13
14
  registrationDate?: Date;
14
15
  expiryDate?: Date;
15
- type: 'domain' | 'registration';
16
+ fuses?: CurrentFuses;
17
+ type: 'domain' | 'registration' | 'wrappedDomain';
16
18
  };
17
19
  declare type BaseParams = {
18
20
  address: string;
19
- type: 'registrant' | 'owner' | 'all';
21
+ type: 'registrant' | 'owner' | 'wrappedOwner' | 'all';
20
22
  page?: number;
21
23
  pageSize?: number;
22
24
  orderDirection?: 'asc' | 'desc';
@@ -29,12 +31,16 @@ declare type OwnerParams = {
29
31
  type: 'owner';
30
32
  orderBy?: 'createdAt' | 'labelName';
31
33
  };
34
+ declare type WrappedOwnerParams = {
35
+ type: 'wrappedOwner';
36
+ orderBy?: 'expiryDate' | 'labelName';
37
+ };
32
38
  declare type AllParams = {
33
39
  type: 'all';
34
40
  orderBy?: 'labelName' | 'creationDate';
35
41
  page?: never;
36
42
  pageSize?: never;
37
43
  };
38
- declare type Params = BaseParams & (RegistrantParams | OwnerParams | AllParams);
44
+ declare type Params = BaseParams & (RegistrantParams | OwnerParams | WrappedOwnerParams | AllParams);
39
45
  declare const getNames: ({ gqlInstance }: ENSArgs<'gqlInstance'>, { address: _address, type, page, pageSize, orderDirection, orderBy, }: Params) => Promise<Name[]>;
40
46
  export default getNames;
@@ -1,5 +1,10 @@
1
1
  import { ENSArgs } from '..';
2
2
  import { DecodedContentHash } from '../utils/contentHash';
3
+ declare type FallbackRecords = {
4
+ contentHash?: boolean;
5
+ texts?: string[];
6
+ coinTypes?: string[];
7
+ };
3
8
  declare type DataItem = {
4
9
  key: string | number;
5
10
  type: 'addr' | 'text' | 'contentHash';
@@ -28,6 +33,7 @@ declare type ProfileOptions = {
28
33
  };
29
34
  declare type InputProfileOptions = ProfileOptions & {
30
35
  resolverAddress?: string;
36
+ fallback?: FallbackRecords;
31
37
  };
32
38
  export default function ({ contracts, gqlInstance, getName, _getAddr, _getContentHash, _getText, resolverMulticallWrapper, multicallWrapper, }: ENSArgs<'contracts' | 'gqlInstance' | 'getName' | '_getText' | '_getAddr' | '_getContentHash' | 'resolverMulticallWrapper' | 'multicallWrapper'>, nameOrAddress: string, options?: InputProfileOptions): Promise<ResolvedProfile | undefined>;
33
39
  export {};
@@ -1,13 +1,12 @@
1
1
  import { BigNumber } from 'ethers';
2
2
  import { ENSArgs } from '../index';
3
- import { CurrentFuses } from '../utils/fuses';
4
3
  declare const _default: {
5
4
  raw: ({ contracts }: ENSArgs<"contracts">, name: string) => Promise<{
6
5
  to: string;
7
6
  data: string;
8
7
  }>;
9
8
  decode: ({ contracts }: ENSArgs<"contracts">, data: string) => Promise<{
10
- fuseObj: CurrentFuses;
9
+ fuseObj: import("../utils/fuses").CurrentFuses;
11
10
  expiryDate: Date;
12
11
  rawFuses: BigNumber;
13
12
  owner: any;
@@ -15,6 +15,7 @@ export interface NameWrapperInterface extends utils.Interface {
15
15
  "isTokenOwnerOrApproved(bytes32,address)": FunctionFragment;
16
16
  "isWrapped(bytes32)": FunctionFragment;
17
17
  "metadataService()": FunctionFragment;
18
+ "name()": FunctionFragment;
18
19
  "names(bytes32)": FunctionFragment;
19
20
  "onERC721Received(address,address,uint256,bytes)": FunctionFragment;
20
21
  "owner()": FunctionFragment;
@@ -48,7 +49,7 @@ export interface NameWrapperInterface extends utils.Interface {
48
49
  "wrap(bytes,address,address)": FunctionFragment;
49
50
  "wrapETH2LD(string,address,uint32,uint64,address)": FunctionFragment;
50
51
  };
51
- getFunction(nameOrSignatureOrTopic: "_tokens" | "allFusesBurned" | "balanceOf" | "balanceOfBatch" | "controllers" | "ens" | "getData" | "isApprovedForAll" | "isTokenOwnerOrApproved" | "isWrapped" | "metadataService" | "names" | "onERC721Received" | "owner" | "ownerOf" | "recoverFunds" | "registerAndWrapETH2LD" | "registrar" | "renew" | "renounceOwnership" | "safeBatchTransferFrom" | "safeTransferFrom" | "setApprovalForAll" | "setChildFuses" | "setController" | "setFuses" | "setMetadataService" | "setRecord" | "setResolver" | "setSubnodeOwner" | "setSubnodeRecord" | "setTTL" | "setUpgradeContract" | "supportsInterface" | "transferOwnership" | "unwrap" | "unwrapETH2LD" | "upgrade" | "upgradeContract" | "upgradeETH2LD" | "uri" | "wrap" | "wrapETH2LD"): FunctionFragment;
52
+ getFunction(nameOrSignatureOrTopic: "_tokens" | "allFusesBurned" | "balanceOf" | "balanceOfBatch" | "controllers" | "ens" | "getData" | "isApprovedForAll" | "isTokenOwnerOrApproved" | "isWrapped" | "metadataService" | "name" | "names" | "onERC721Received" | "owner" | "ownerOf" | "recoverFunds" | "registerAndWrapETH2LD" | "registrar" | "renew" | "renounceOwnership" | "safeBatchTransferFrom" | "safeTransferFrom" | "setApprovalForAll" | "setChildFuses" | "setController" | "setFuses" | "setMetadataService" | "setRecord" | "setResolver" | "setSubnodeOwner" | "setSubnodeRecord" | "setTTL" | "setUpgradeContract" | "supportsInterface" | "transferOwnership" | "unwrap" | "unwrapETH2LD" | "upgrade" | "upgradeContract" | "upgradeETH2LD" | "uri" | "wrap" | "wrapETH2LD"): FunctionFragment;
52
53
  encodeFunctionData(functionFragment: "_tokens", values: [PromiseOrValue<BigNumberish>]): string;
53
54
  encodeFunctionData(functionFragment: "allFusesBurned", values: [PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish>]): string;
54
55
  encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
@@ -60,6 +61,7 @@ export interface NameWrapperInterface extends utils.Interface {
60
61
  encodeFunctionData(functionFragment: "isTokenOwnerOrApproved", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
61
62
  encodeFunctionData(functionFragment: "isWrapped", values: [PromiseOrValue<BytesLike>]): string;
62
63
  encodeFunctionData(functionFragment: "metadataService", values?: undefined): string;
64
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
63
65
  encodeFunctionData(functionFragment: "names", values: [PromiseOrValue<BytesLike>]): string;
64
66
  encodeFunctionData(functionFragment: "onERC721Received", values: [
65
67
  PromiseOrValue<string>,
@@ -187,6 +189,7 @@ export interface NameWrapperInterface extends utils.Interface {
187
189
  decodeFunctionResult(functionFragment: "isTokenOwnerOrApproved", data: BytesLike): Result;
188
190
  decodeFunctionResult(functionFragment: "isWrapped", data: BytesLike): Result;
189
191
  decodeFunctionResult(functionFragment: "metadataService", data: BytesLike): Result;
192
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
190
193
  decodeFunctionResult(functionFragment: "names", data: BytesLike): Result;
191
194
  decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result;
192
195
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
@@ -366,6 +369,7 @@ export interface NameWrapper extends BaseContract {
366
369
  isTokenOwnerOrApproved(node: PromiseOrValue<BytesLike>, addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
367
370
  isWrapped(node: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
368
371
  metadataService(overrides?: CallOverrides): Promise<[string]>;
372
+ name(overrides?: CallOverrides): Promise<[string]>;
369
373
  names(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
370
374
  onERC721Received(to: PromiseOrValue<string>, arg1: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
371
375
  from?: PromiseOrValue<string>;
@@ -462,6 +466,7 @@ export interface NameWrapper extends BaseContract {
462
466
  isTokenOwnerOrApproved(node: PromiseOrValue<BytesLike>, addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
463
467
  isWrapped(node: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
464
468
  metadataService(overrides?: CallOverrides): Promise<string>;
469
+ name(overrides?: CallOverrides): Promise<string>;
465
470
  names(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
466
471
  onERC721Received(to: PromiseOrValue<string>, arg1: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
467
472
  from?: PromiseOrValue<string>;
@@ -556,6 +561,7 @@ export interface NameWrapper extends BaseContract {
556
561
  isTokenOwnerOrApproved(node: PromiseOrValue<BytesLike>, addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
557
562
  isWrapped(node: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
558
563
  metadataService(overrides?: CallOverrides): Promise<string>;
564
+ name(overrides?: CallOverrides): Promise<string>;
559
565
  names(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
560
566
  onERC721Received(to: PromiseOrValue<string>, arg1: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
561
567
  owner(overrides?: CallOverrides): Promise<string>;
@@ -621,6 +627,7 @@ export interface NameWrapper extends BaseContract {
621
627
  isTokenOwnerOrApproved(node: PromiseOrValue<BytesLike>, addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
622
628
  isWrapped(node: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
623
629
  metadataService(overrides?: CallOverrides): Promise<BigNumber>;
630
+ name(overrides?: CallOverrides): Promise<BigNumber>;
624
631
  names(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
625
632
  onERC721Received(to: PromiseOrValue<string>, arg1: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
626
633
  from?: PromiseOrValue<string>;
@@ -716,6 +723,7 @@ export interface NameWrapper extends BaseContract {
716
723
  isTokenOwnerOrApproved(node: PromiseOrValue<BytesLike>, addr: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
717
724
  isWrapped(node: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
718
725
  metadataService(overrides?: CallOverrides): Promise<PopulatedTransaction>;
726
+ name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
719
727
  names(arg0: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
720
728
  onERC721Received(to: PromiseOrValue<string>, arg1: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
721
729
  from?: PromiseOrValue<string>;