@snapshot-labs/snapshot.js 0.11.38 → 0.11.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +722 -722
- package/dist/schemas/index.d.ts +671 -671
- package/dist/sign/eip1271.d.ts +4 -4
- package/dist/sign/index.d.ts +29 -29
- package/dist/sign/types.d.ts +227 -227
- package/dist/sign/utils.d.ts +2 -2
- package/dist/snapshot.cjs.js +1457 -1906
- package/dist/snapshot.esm.js +1457 -1906
- package/dist/snapshot.min.js +5 -5
- package/dist/utils/blockfinder.d.ts +1 -1
- package/dist/utils/delegation.d.ts +18 -18
- package/dist/utils/multicaller.d.ts +12 -12
- package/dist/utils/provider.d.ts +6 -6
- package/dist/utils/web3.d.ts +2 -2
- package/dist/utils.d.ts +85 -85
- package/dist/voting/approval.d.ts +22 -22
- package/dist/voting/index.d.ts +14 -14
- package/dist/voting/quadratic.d.ts +20 -20
- package/dist/voting/rankedChoice.d.ts +18 -18
- package/dist/voting/singleChoice.d.ts +18 -18
- package/dist/voting/types.d.ts +35 -35
- package/dist/voting/weighted.d.ts +26 -26
- package/package.json +5 -3
- package/src/sign/eip1271.ts +1 -1
- package/src/sign/utils.ts +1 -1
- package/src/utils/web3.ts +1 -1
- package/src/utils.ts +31 -21
package/src/utils.ts
CHANGED
|
@@ -29,8 +29,10 @@ interface Strategy {
|
|
|
29
29
|
params: any;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
const ENS_REGISTRY = '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e';
|
|
33
|
+
const ENS_ABI = [
|
|
34
|
+
'function text(bytes32 node, string calldata key) external view returns (string memory)',
|
|
35
|
+
'function resolver(bytes32 node) view returns (address)' // ENS registry ABI
|
|
34
36
|
];
|
|
35
37
|
const EMPTY_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
36
38
|
|
|
@@ -65,7 +67,7 @@ async function parseScoreAPIResponse(res: any) {
|
|
|
65
67
|
let data: any = await res.text();
|
|
66
68
|
try {
|
|
67
69
|
data = JSON.parse(data);
|
|
68
|
-
} catch (e) {
|
|
70
|
+
} catch (e: any) {
|
|
69
71
|
return Promise.reject({
|
|
70
72
|
code: res.status || 500,
|
|
71
73
|
message: 'Failed to parse response from score API',
|
|
@@ -204,7 +206,7 @@ export async function call(provider, abi: any[], call: any[], options?) {
|
|
|
204
206
|
try {
|
|
205
207
|
const params = call[2] || [];
|
|
206
208
|
return await contract[call[1]](...params, options || {});
|
|
207
|
-
} catch (e) {
|
|
209
|
+
} catch (e: any) {
|
|
208
210
|
return Promise.reject(e);
|
|
209
211
|
}
|
|
210
212
|
}
|
|
@@ -245,7 +247,7 @@ export async function multicall(
|
|
|
245
247
|
return results.map((call, i) =>
|
|
246
248
|
itf.decodeFunctionResult(calls[i][1], call)
|
|
247
249
|
);
|
|
248
|
-
} catch (e) {
|
|
250
|
+
} catch (e: any) {
|
|
249
251
|
return Promise.reject(e);
|
|
250
252
|
}
|
|
251
253
|
}
|
|
@@ -263,7 +265,7 @@ export async function subgraphRequest(url: string, query, options: any = {}) {
|
|
|
263
265
|
let responseData: any = await res.text();
|
|
264
266
|
try {
|
|
265
267
|
responseData = JSON.parse(responseData);
|
|
266
|
-
} catch (e) {
|
|
268
|
+
} catch (e: any) {
|
|
267
269
|
throw new Error(
|
|
268
270
|
`Errors found in subgraphRequest: URL: ${url}, Status: ${
|
|
269
271
|
res.status
|
|
@@ -388,7 +390,7 @@ export async function getScores(
|
|
|
388
390
|
return options.returnValue === 'all'
|
|
389
391
|
? response.result
|
|
390
392
|
: response.result[options.returnValue || 'scores'];
|
|
391
|
-
} catch (e) {
|
|
393
|
+
} catch (e: any) {
|
|
392
394
|
if (e.errno) {
|
|
393
395
|
return Promise.reject({ code: e.errno, message: e.toString(), data: '' });
|
|
394
396
|
}
|
|
@@ -448,7 +450,7 @@ export async function getVp(
|
|
|
448
450
|
const res = await fetch(url, init);
|
|
449
451
|
const response = await parseScoreAPIResponse(res);
|
|
450
452
|
return response.result;
|
|
451
|
-
} catch (e) {
|
|
453
|
+
} catch (e: any) {
|
|
452
454
|
if (e.errno) {
|
|
453
455
|
return Promise.reject({ code: e.errno, message: e.toString(), data: '' });
|
|
454
456
|
}
|
|
@@ -502,7 +504,7 @@ export async function validate(
|
|
|
502
504
|
const res = await fetch(url, init);
|
|
503
505
|
const response = await parseScoreAPIResponse(res);
|
|
504
506
|
return response.result;
|
|
505
|
-
} catch (e) {
|
|
507
|
+
} catch (e: any) {
|
|
506
508
|
if (e.errno) {
|
|
507
509
|
return Promise.reject({ code: e.errno, message: e.toString(), data: '' });
|
|
508
510
|
}
|
|
@@ -535,25 +537,34 @@ export async function getEnsTextRecord(
|
|
|
535
537
|
options: any = {}
|
|
536
538
|
) {
|
|
537
539
|
const {
|
|
538
|
-
ensResolvers
|
|
540
|
+
ensResolvers = networks[network]?.ensResolvers ||
|
|
541
|
+
networks['1'].ensResolvers,
|
|
539
542
|
broviderUrl,
|
|
540
543
|
...multicallOptions
|
|
541
544
|
} = options;
|
|
542
|
-
|
|
543
|
-
ensResolversOpt ||
|
|
544
|
-
networks[network].ensResolvers ||
|
|
545
|
-
networks['1'].ensResolvers;
|
|
545
|
+
|
|
546
546
|
const ensHash = namehash(ensNormalize(ens));
|
|
547
547
|
const provider = getProvider(network, { broviderUrl });
|
|
548
548
|
|
|
549
|
-
const
|
|
549
|
+
const calls = [
|
|
550
|
+
[ENS_REGISTRY, 'resolver', [ensHash]], // Query for resolver from registry
|
|
551
|
+
...ensResolvers.map((address: string) => [
|
|
552
|
+
address,
|
|
553
|
+
'text',
|
|
554
|
+
[ensHash, record]
|
|
555
|
+
]) // Query for text record from each resolver
|
|
556
|
+
];
|
|
557
|
+
|
|
558
|
+
const [[resolverAddress], ...textRecords]: string[][] = await multicall(
|
|
550
559
|
network,
|
|
551
560
|
provider,
|
|
552
|
-
|
|
553
|
-
|
|
561
|
+
ENS_ABI,
|
|
562
|
+
calls,
|
|
554
563
|
multicallOptions
|
|
555
564
|
);
|
|
556
|
-
|
|
565
|
+
|
|
566
|
+
const resolverIndex = ensResolvers.indexOf(resolverAddress);
|
|
567
|
+
return resolverIndex !== -1 ? textRecords[resolverIndex]?.[0] : null;
|
|
557
568
|
}
|
|
558
569
|
|
|
559
570
|
export async function getSpaceUri(
|
|
@@ -563,7 +574,7 @@ export async function getSpaceUri(
|
|
|
563
574
|
): Promise<string | null> {
|
|
564
575
|
try {
|
|
565
576
|
return await getEnsTextRecord(id, 'snapshot', network, options);
|
|
566
|
-
} catch (e) {
|
|
577
|
+
} catch (e: any) {
|
|
567
578
|
console.log(e);
|
|
568
579
|
return null;
|
|
569
580
|
}
|
|
@@ -574,10 +585,9 @@ export async function getEnsOwner(
|
|
|
574
585
|
network = '1',
|
|
575
586
|
options: any = {}
|
|
576
587
|
): Promise<string | null> {
|
|
577
|
-
const registryAddress = '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e';
|
|
578
588
|
const provider = getProvider(network, options);
|
|
579
589
|
const ensRegistry = new Contract(
|
|
580
|
-
|
|
590
|
+
ENS_REGISTRY,
|
|
581
591
|
['function owner(bytes32) view returns (address)'],
|
|
582
592
|
provider
|
|
583
593
|
);
|