@snapshot-labs/snapshot.js 0.5.4 → 0.5.6
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/sign/eip1271.d.ts +1 -1
- package/dist/sign/utils.d.ts +1 -1
- package/dist/snapshot.cjs.js +57 -28
- package/dist/snapshot.esm.js +57 -28
- package/dist/snapshot.min.js +1 -1
- package/dist/utils/blockfinder.d.ts +1 -1
- package/dist/utils/provider.d.ts +6 -2
- package/dist/utils.d.ts +6 -6
- package/package.json +1 -1
- package/src/networks.json +15 -0
- package/src/sign/eip1271.ts +2 -2
- package/src/sign/utils.ts +2 -2
- package/src/utils/blockfinder.ts +8 -2
- package/src/utils/provider.ts +10 -4
- package/src/utils.ts +31 -25
package/dist/sign/eip1271.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { StaticJsonRpcProvider } from '@ethersproject/providers';
|
|
2
2
|
export declare function verifyDefault(address: string, sig: string, hash: string, provider: StaticJsonRpcProvider): Promise<boolean>;
|
|
3
3
|
export declare function verifyOldVersion(address: string, sig: string, hash: string, provider: StaticJsonRpcProvider): Promise<boolean>;
|
|
4
|
-
export declare function verify(address: any, sig: any, hash: any, network?: string): Promise<boolean>;
|
|
4
|
+
export declare function verify(address: any, sig: any, hash: any, network?: string, options?: {}): Promise<boolean>;
|
package/dist/sign/utils.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare function getHash(data: any): string;
|
|
2
|
-
export declare function verify(address: any, sig: any, data: any, network?: string): Promise<boolean>;
|
|
2
|
+
export declare function verify(address: any, sig: any, data: any, network?: string, options?: {}): Promise<boolean>;
|
package/dist/snapshot.cjs.js
CHANGED
|
@@ -1216,7 +1216,8 @@ var Multicaller = /** @class */ (function () {
|
|
|
1216
1216
|
|
|
1217
1217
|
var cache = {};
|
|
1218
1218
|
var expirationTime = 0;
|
|
1219
|
-
function getSnapshots(network, snapshot, provider, networks) {
|
|
1219
|
+
function getSnapshots(network, snapshot, provider, networks, options) {
|
|
1220
|
+
if (options === void 0) { options = {}; }
|
|
1220
1221
|
return __awaiter(this, void 0, void 0, function () {
|
|
1221
1222
|
var snapshots, cacheKey, cachedEntry, now, networkIn, block, query, url, data;
|
|
1222
1223
|
return __generator(this, function (_a) {
|
|
@@ -1257,7 +1258,7 @@ function getSnapshots(network, snapshot, provider, networks) {
|
|
|
1257
1258
|
number: true
|
|
1258
1259
|
}
|
|
1259
1260
|
};
|
|
1260
|
-
url = 'https://blockfinder.snapshot.org';
|
|
1261
|
+
url = options.blockFinderUrl || 'https://blockfinder.snapshot.org';
|
|
1261
1262
|
return [4 /*yield*/, subgraphRequest(url, query)];
|
|
1262
1263
|
case 2:
|
|
1263
1264
|
data = _a.sent();
|
|
@@ -1270,8 +1271,9 @@ function getSnapshots(network, snapshot, provider, networks) {
|
|
|
1270
1271
|
}
|
|
1271
1272
|
|
|
1272
1273
|
var providers = {};
|
|
1273
|
-
function getProvider(network) {
|
|
1274
|
-
var
|
|
1274
|
+
function getProvider(network, _a) {
|
|
1275
|
+
var _b = (_a === void 0 ? {} : _a).broviderUrl, broviderUrl = _b === void 0 ? 'https://rpc.snapshot.org' : _b;
|
|
1276
|
+
var url = broviderUrl + "/" + network;
|
|
1275
1277
|
if (!providers[network])
|
|
1276
1278
|
providers[network] = new providers$1.StaticJsonRpcProvider({
|
|
1277
1279
|
url: url,
|
|
@@ -1356,14 +1358,15 @@ function verifyOldVersion(address, sig, hash, provider) {
|
|
|
1356
1358
|
});
|
|
1357
1359
|
});
|
|
1358
1360
|
}
|
|
1359
|
-
function verify(address, sig, hash, network) {
|
|
1361
|
+
function verify(address, sig, hash, network, options) {
|
|
1360
1362
|
if (network === void 0) { network = '1'; }
|
|
1363
|
+
if (options === void 0) { options = {}; }
|
|
1361
1364
|
return __awaiter(this, void 0, void 0, function () {
|
|
1362
1365
|
var provider;
|
|
1363
1366
|
return __generator(this, function (_a) {
|
|
1364
1367
|
switch (_a.label) {
|
|
1365
1368
|
case 0:
|
|
1366
|
-
provider = getProvider(network);
|
|
1369
|
+
provider = getProvider(network, options);
|
|
1367
1370
|
return [4 /*yield*/, verifyDefault(address, sig, hash, provider)];
|
|
1368
1371
|
case 1:
|
|
1369
1372
|
if (_a.sent())
|
|
@@ -1379,8 +1382,9 @@ function getHash(data) {
|
|
|
1379
1382
|
var domain = data.domain, types = data.types, message = data.message;
|
|
1380
1383
|
return hash._TypedDataEncoder.hash(domain, types, message);
|
|
1381
1384
|
}
|
|
1382
|
-
function verify$1(address, sig, data, network) {
|
|
1385
|
+
function verify$1(address, sig, data, network, options) {
|
|
1383
1386
|
if (network === void 0) { network = '1'; }
|
|
1387
|
+
if (options === void 0) { options = {}; }
|
|
1384
1388
|
return __awaiter(this, void 0, void 0, function () {
|
|
1385
1389
|
var domain, types, message, hash, recoverAddress;
|
|
1386
1390
|
return __generator(this, function (_a) {
|
|
@@ -1399,7 +1403,7 @@ function verify$1(address, sig, data, network) {
|
|
|
1399
1403
|
catch (e) {
|
|
1400
1404
|
// console.log('Could not recoverAddress:' + e.message);
|
|
1401
1405
|
}
|
|
1402
|
-
return [4 /*yield*/, verify(address, sig, hash, network)];
|
|
1406
|
+
return [4 /*yield*/, verify(address, sig, hash, network, options)];
|
|
1403
1407
|
case 1:
|
|
1404
1408
|
// console.log('Check EIP1271 signature');
|
|
1405
1409
|
return [2 /*return*/, _a.sent()];
|
|
@@ -2971,6 +2975,21 @@ var networks = {
|
|
|
2971
2975
|
},
|
|
2972
2976
|
start: 8821493,
|
|
2973
2977
|
logo: "ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"
|
|
2978
|
+
},
|
|
2979
|
+
"5000": {
|
|
2980
|
+
key: "5000",
|
|
2981
|
+
name: "Mantle",
|
|
2982
|
+
chainId: 5000,
|
|
2983
|
+
network: "mainnet",
|
|
2984
|
+
multicall: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
2985
|
+
rpc: [
|
|
2986
|
+
"https://rpc.mantle.xyz"
|
|
2987
|
+
],
|
|
2988
|
+
explorer: {
|
|
2989
|
+
url: "https://explorer.mantle.xyz"
|
|
2990
|
+
},
|
|
2991
|
+
start: 304717,
|
|
2992
|
+
logo: "ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"
|
|
2974
2993
|
},
|
|
2975
2994
|
"5551": {
|
|
2976
2995
|
key: "5551",
|
|
@@ -4331,14 +4350,15 @@ function call(provider, abi, call, options) {
|
|
|
4331
4350
|
}
|
|
4332
4351
|
function multicall(network, provider, abi$1, calls, options) {
|
|
4333
4352
|
return __awaiter(this, void 0, void 0, function () {
|
|
4334
|
-
var multicallAbi, multi, itf, max_1, pages, promises_1, results, e_2;
|
|
4353
|
+
var multicallAbi, multicallAddress, multi, itf, max_1, pages, promises_1, results, e_2;
|
|
4335
4354
|
return __generator(this, function (_a) {
|
|
4336
4355
|
switch (_a.label) {
|
|
4337
4356
|
case 0:
|
|
4338
4357
|
multicallAbi = [
|
|
4339
4358
|
'function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)'
|
|
4340
4359
|
];
|
|
4341
|
-
|
|
4360
|
+
multicallAddress = (options === null || options === void 0 ? void 0 : options.multicallAddress) || networks[network].multicall;
|
|
4361
|
+
multi = new contracts.Contract(multicallAddress, multicallAbi, provider);
|
|
4342
4362
|
itf = new abi.Interface(abi$1);
|
|
4343
4363
|
_a.label = 1;
|
|
4344
4364
|
case 1:
|
|
@@ -4421,11 +4441,12 @@ function getUrl(uri, gateway) {
|
|
|
4421
4441
|
return uri.replace('ipns://', ipfsGateway + "/ipns/");
|
|
4422
4442
|
return uri;
|
|
4423
4443
|
}
|
|
4424
|
-
function getJSON(uri) {
|
|
4444
|
+
function getJSON(uri, options) {
|
|
4445
|
+
if (options === void 0) { options = {}; }
|
|
4425
4446
|
return __awaiter(this, void 0, void 0, function () {
|
|
4426
4447
|
var url;
|
|
4427
4448
|
return __generator(this, function (_a) {
|
|
4428
|
-
url = getUrl(uri);
|
|
4449
|
+
url = getUrl(uri, options.gateways);
|
|
4429
4450
|
return [2 /*return*/, fetch__default['default'](url).then(function (res) { return res.json(); })];
|
|
4430
4451
|
});
|
|
4431
4452
|
});
|
|
@@ -4586,17 +4607,20 @@ function validateSchema(schema, data) {
|
|
|
4586
4607
|
var valid = ajvValidate(data);
|
|
4587
4608
|
return valid ? valid : ajvValidate.errors;
|
|
4588
4609
|
}
|
|
4589
|
-
function getEnsTextRecord(ens, record, network) {
|
|
4610
|
+
function getEnsTextRecord(ens, record, network, options) {
|
|
4590
4611
|
if (network === void 0) { network = '1'; }
|
|
4612
|
+
if (options === void 0) { options = {}; }
|
|
4591
4613
|
return __awaiter(this, void 0, void 0, function () {
|
|
4592
4614
|
var ensResolvers, ensHash, provider, result;
|
|
4593
4615
|
return __generator(this, function (_a) {
|
|
4594
4616
|
switch (_a.label) {
|
|
4595
4617
|
case 0:
|
|
4596
|
-
ensResolvers =
|
|
4618
|
+
ensResolvers = options.ensResolvers ||
|
|
4619
|
+
networks[network].ensResolvers ||
|
|
4620
|
+
networks['1'].ensResolvers;
|
|
4597
4621
|
ensHash = hash.namehash(hash.ensNormalize(ens));
|
|
4598
|
-
provider = getProvider(network);
|
|
4599
|
-
return [4 /*yield*/, multicall(network, provider, ENS_RESOLVER_ABI, ensResolvers.map(function (address) { return [address, 'text', [ensHash, record]]; }))];
|
|
4622
|
+
provider = getProvider(network, options);
|
|
4623
|
+
return [4 /*yield*/, multicall(network, provider, ENS_RESOLVER_ABI, ensResolvers.map(function (address) { return [address, 'text', [ensHash, record]]; }), options)];
|
|
4600
4624
|
case 1:
|
|
4601
4625
|
result = _a.sent();
|
|
4602
4626
|
return [2 /*return*/, result.flat().find(function (r) { return r; }) || ''];
|
|
@@ -4604,15 +4628,16 @@ function getEnsTextRecord(ens, record, network) {
|
|
|
4604
4628
|
});
|
|
4605
4629
|
});
|
|
4606
4630
|
}
|
|
4607
|
-
function getSpaceUri(id, network) {
|
|
4631
|
+
function getSpaceUri(id, network, options) {
|
|
4608
4632
|
if (network === void 0) { network = '1'; }
|
|
4633
|
+
if (options === void 0) { options = {}; }
|
|
4609
4634
|
return __awaiter(this, void 0, void 0, function () {
|
|
4610
4635
|
var e_4;
|
|
4611
4636
|
return __generator(this, function (_a) {
|
|
4612
4637
|
switch (_a.label) {
|
|
4613
4638
|
case 0:
|
|
4614
4639
|
_a.trys.push([0, 2, , 3]);
|
|
4615
|
-
return [4 /*yield*/, getEnsTextRecord(id, 'snapshot', network)];
|
|
4640
|
+
return [4 /*yield*/, getEnsTextRecord(id, 'snapshot', network, options)];
|
|
4616
4641
|
case 1: return [2 /*return*/, _a.sent()];
|
|
4617
4642
|
case 2:
|
|
4618
4643
|
e_4 = _a.sent();
|
|
@@ -4623,17 +4648,18 @@ function getSpaceUri(id, network) {
|
|
|
4623
4648
|
});
|
|
4624
4649
|
});
|
|
4625
4650
|
}
|
|
4626
|
-
function getEnsOwner(ens, network) {
|
|
4651
|
+
function getEnsOwner(ens, network, options) {
|
|
4627
4652
|
if (network === void 0) { network = '1'; }
|
|
4653
|
+
if (options === void 0) { options = {}; }
|
|
4628
4654
|
return __awaiter(this, void 0, void 0, function () {
|
|
4629
4655
|
var registryAddress, provider, ensRegistry, ensNameWrapper, ensHash, owner, ensNameWrapperContract;
|
|
4630
4656
|
return __generator(this, function (_a) {
|
|
4631
4657
|
switch (_a.label) {
|
|
4632
4658
|
case 0:
|
|
4633
4659
|
registryAddress = '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e';
|
|
4634
|
-
provider = getProvider(network);
|
|
4660
|
+
provider = getProvider(network, options);
|
|
4635
4661
|
ensRegistry = new contracts.Contract(registryAddress, ['function owner(bytes32) view returns (address)'], provider);
|
|
4636
|
-
ensNameWrapper = networks[network].ensNameWrapper;
|
|
4662
|
+
ensNameWrapper = options.ensNameWrapper || networks[network].ensNameWrapper;
|
|
4637
4663
|
ensHash = hash.namehash(hash.ensNormalize(ens));
|
|
4638
4664
|
return [4 /*yield*/, ensRegistry.owner(ensHash)];
|
|
4639
4665
|
case 1:
|
|
@@ -4649,13 +4675,14 @@ function getEnsOwner(ens, network) {
|
|
|
4649
4675
|
});
|
|
4650
4676
|
});
|
|
4651
4677
|
}
|
|
4652
|
-
function getSpaceController(id, network) {
|
|
4678
|
+
function getSpaceController(id, network, options) {
|
|
4653
4679
|
if (network === void 0) { network = '1'; }
|
|
4680
|
+
if (options === void 0) { options = {}; }
|
|
4654
4681
|
return __awaiter(this, void 0, void 0, function () {
|
|
4655
4682
|
var spaceUri, isUriAddress, uriParts, position, address$1;
|
|
4656
4683
|
return __generator(this, function (_a) {
|
|
4657
4684
|
switch (_a.label) {
|
|
4658
|
-
case 0: return [4 /*yield*/, getSpaceUri(id, network)];
|
|
4685
|
+
case 0: return [4 /*yield*/, getSpaceUri(id, network, options)];
|
|
4659
4686
|
case 1:
|
|
4660
4687
|
spaceUri = _a.sent();
|
|
4661
4688
|
if (spaceUri) {
|
|
@@ -4669,20 +4696,22 @@ function getSpaceController(id, network) {
|
|
|
4669
4696
|
if (isUriAddress)
|
|
4670
4697
|
return [2 /*return*/, address$1];
|
|
4671
4698
|
}
|
|
4672
|
-
return [4 /*yield*/, getEnsOwner(id, network)];
|
|
4699
|
+
return [4 /*yield*/, getEnsOwner(id, network, options)];
|
|
4673
4700
|
case 2: return [2 /*return*/, _a.sent()];
|
|
4674
4701
|
}
|
|
4675
4702
|
});
|
|
4676
4703
|
});
|
|
4677
4704
|
}
|
|
4678
|
-
function getDelegatesBySpace(network, space, snapshot) {
|
|
4705
|
+
function getDelegatesBySpace(network, space, snapshot, options) {
|
|
4679
4706
|
if (snapshot === void 0) { snapshot = 'latest'; }
|
|
4707
|
+
if (options === void 0) { options = {}; }
|
|
4680
4708
|
return __awaiter(this, void 0, void 0, function () {
|
|
4681
|
-
var spaceIn, PAGE_SIZE, result, page, params, pageResult, pageDelegations;
|
|
4709
|
+
var subgraphUrl, spaceIn, PAGE_SIZE, result, page, params, pageResult, pageDelegations;
|
|
4682
4710
|
return __generator(this, function (_a) {
|
|
4683
4711
|
switch (_a.label) {
|
|
4684
4712
|
case 0:
|
|
4685
|
-
|
|
4713
|
+
subgraphUrl = options.subgraphUrl || SNAPSHOT_SUBGRAPH_URL[network];
|
|
4714
|
+
if (!subgraphUrl) {
|
|
4686
4715
|
return [2 /*return*/, Promise.reject("Delegation subgraph not available for network " + network)];
|
|
4687
4716
|
}
|
|
4688
4717
|
spaceIn = ['', space];
|
|
@@ -4711,7 +4740,7 @@ function getDelegatesBySpace(network, space, snapshot) {
|
|
|
4711
4740
|
_a.label = 1;
|
|
4712
4741
|
case 1:
|
|
4713
4742
|
params.delegations.__args.skip = page * PAGE_SIZE;
|
|
4714
|
-
return [4 /*yield*/, subgraphRequest(
|
|
4743
|
+
return [4 /*yield*/, subgraphRequest(subgraphUrl, params)];
|
|
4715
4744
|
case 2:
|
|
4716
4745
|
pageResult = _a.sent();
|
|
4717
4746
|
pageDelegations = pageResult.delegations || [];
|
package/dist/snapshot.esm.js
CHANGED
|
@@ -1207,7 +1207,8 @@ var Multicaller = /** @class */ (function () {
|
|
|
1207
1207
|
|
|
1208
1208
|
var cache = {};
|
|
1209
1209
|
var expirationTime = 0;
|
|
1210
|
-
function getSnapshots(network, snapshot, provider, networks) {
|
|
1210
|
+
function getSnapshots(network, snapshot, provider, networks, options) {
|
|
1211
|
+
if (options === void 0) { options = {}; }
|
|
1211
1212
|
return __awaiter(this, void 0, void 0, function () {
|
|
1212
1213
|
var snapshots, cacheKey, cachedEntry, now, networkIn, block, query, url, data;
|
|
1213
1214
|
return __generator(this, function (_a) {
|
|
@@ -1248,7 +1249,7 @@ function getSnapshots(network, snapshot, provider, networks) {
|
|
|
1248
1249
|
number: true
|
|
1249
1250
|
}
|
|
1250
1251
|
};
|
|
1251
|
-
url = 'https://blockfinder.snapshot.org';
|
|
1252
|
+
url = options.blockFinderUrl || 'https://blockfinder.snapshot.org';
|
|
1252
1253
|
return [4 /*yield*/, subgraphRequest(url, query)];
|
|
1253
1254
|
case 2:
|
|
1254
1255
|
data = _a.sent();
|
|
@@ -1261,8 +1262,9 @@ function getSnapshots(network, snapshot, provider, networks) {
|
|
|
1261
1262
|
}
|
|
1262
1263
|
|
|
1263
1264
|
var providers = {};
|
|
1264
|
-
function getProvider(network) {
|
|
1265
|
-
var
|
|
1265
|
+
function getProvider(network, _a) {
|
|
1266
|
+
var _b = (_a === void 0 ? {} : _a).broviderUrl, broviderUrl = _b === void 0 ? 'https://rpc.snapshot.org' : _b;
|
|
1267
|
+
var url = broviderUrl + "/" + network;
|
|
1266
1268
|
if (!providers[network])
|
|
1267
1269
|
providers[network] = new StaticJsonRpcProvider({
|
|
1268
1270
|
url: url,
|
|
@@ -1347,14 +1349,15 @@ function verifyOldVersion(address, sig, hash, provider) {
|
|
|
1347
1349
|
});
|
|
1348
1350
|
});
|
|
1349
1351
|
}
|
|
1350
|
-
function verify(address, sig, hash, network) {
|
|
1352
|
+
function verify(address, sig, hash, network, options) {
|
|
1351
1353
|
if (network === void 0) { network = '1'; }
|
|
1354
|
+
if (options === void 0) { options = {}; }
|
|
1352
1355
|
return __awaiter(this, void 0, void 0, function () {
|
|
1353
1356
|
var provider;
|
|
1354
1357
|
return __generator(this, function (_a) {
|
|
1355
1358
|
switch (_a.label) {
|
|
1356
1359
|
case 0:
|
|
1357
|
-
provider = getProvider(network);
|
|
1360
|
+
provider = getProvider(network, options);
|
|
1358
1361
|
return [4 /*yield*/, verifyDefault(address, sig, hash, provider)];
|
|
1359
1362
|
case 1:
|
|
1360
1363
|
if (_a.sent())
|
|
@@ -1370,8 +1373,9 @@ function getHash(data) {
|
|
|
1370
1373
|
var domain = data.domain, types = data.types, message = data.message;
|
|
1371
1374
|
return _TypedDataEncoder.hash(domain, types, message);
|
|
1372
1375
|
}
|
|
1373
|
-
function verify$1(address, sig, data, network) {
|
|
1376
|
+
function verify$1(address, sig, data, network, options) {
|
|
1374
1377
|
if (network === void 0) { network = '1'; }
|
|
1378
|
+
if (options === void 0) { options = {}; }
|
|
1375
1379
|
return __awaiter(this, void 0, void 0, function () {
|
|
1376
1380
|
var domain, types, message, hash, recoverAddress;
|
|
1377
1381
|
return __generator(this, function (_a) {
|
|
@@ -1390,7 +1394,7 @@ function verify$1(address, sig, data, network) {
|
|
|
1390
1394
|
catch (e) {
|
|
1391
1395
|
// console.log('Could not recoverAddress:' + e.message);
|
|
1392
1396
|
}
|
|
1393
|
-
return [4 /*yield*/, verify(address, sig, hash, network)];
|
|
1397
|
+
return [4 /*yield*/, verify(address, sig, hash, network, options)];
|
|
1394
1398
|
case 1:
|
|
1395
1399
|
// console.log('Check EIP1271 signature');
|
|
1396
1400
|
return [2 /*return*/, _a.sent()];
|
|
@@ -2962,6 +2966,21 @@ var networks = {
|
|
|
2962
2966
|
},
|
|
2963
2967
|
start: 8821493,
|
|
2964
2968
|
logo: "ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"
|
|
2969
|
+
},
|
|
2970
|
+
"5000": {
|
|
2971
|
+
key: "5000",
|
|
2972
|
+
name: "Mantle",
|
|
2973
|
+
chainId: 5000,
|
|
2974
|
+
network: "mainnet",
|
|
2975
|
+
multicall: "0xcA11bde05977b3631167028862bE2a173976CA11",
|
|
2976
|
+
rpc: [
|
|
2977
|
+
"https://rpc.mantle.xyz"
|
|
2978
|
+
],
|
|
2979
|
+
explorer: {
|
|
2980
|
+
url: "https://explorer.mantle.xyz"
|
|
2981
|
+
},
|
|
2982
|
+
start: 304717,
|
|
2983
|
+
logo: "ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"
|
|
2965
2984
|
},
|
|
2966
2985
|
"5551": {
|
|
2967
2986
|
key: "5551",
|
|
@@ -4322,14 +4341,15 @@ function call(provider, abi, call, options) {
|
|
|
4322
4341
|
}
|
|
4323
4342
|
function multicall(network, provider, abi, calls, options) {
|
|
4324
4343
|
return __awaiter(this, void 0, void 0, function () {
|
|
4325
|
-
var multicallAbi, multi, itf, max_1, pages, promises_1, results, e_2;
|
|
4344
|
+
var multicallAbi, multicallAddress, multi, itf, max_1, pages, promises_1, results, e_2;
|
|
4326
4345
|
return __generator(this, function (_a) {
|
|
4327
4346
|
switch (_a.label) {
|
|
4328
4347
|
case 0:
|
|
4329
4348
|
multicallAbi = [
|
|
4330
4349
|
'function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)'
|
|
4331
4350
|
];
|
|
4332
|
-
|
|
4351
|
+
multicallAddress = (options === null || options === void 0 ? void 0 : options.multicallAddress) || networks[network].multicall;
|
|
4352
|
+
multi = new Contract(multicallAddress, multicallAbi, provider);
|
|
4333
4353
|
itf = new Interface(abi);
|
|
4334
4354
|
_a.label = 1;
|
|
4335
4355
|
case 1:
|
|
@@ -4412,11 +4432,12 @@ function getUrl(uri, gateway) {
|
|
|
4412
4432
|
return uri.replace('ipns://', ipfsGateway + "/ipns/");
|
|
4413
4433
|
return uri;
|
|
4414
4434
|
}
|
|
4415
|
-
function getJSON(uri) {
|
|
4435
|
+
function getJSON(uri, options) {
|
|
4436
|
+
if (options === void 0) { options = {}; }
|
|
4416
4437
|
return __awaiter(this, void 0, void 0, function () {
|
|
4417
4438
|
var url;
|
|
4418
4439
|
return __generator(this, function (_a) {
|
|
4419
|
-
url = getUrl(uri);
|
|
4440
|
+
url = getUrl(uri, options.gateways);
|
|
4420
4441
|
return [2 /*return*/, fetch(url).then(function (res) { return res.json(); })];
|
|
4421
4442
|
});
|
|
4422
4443
|
});
|
|
@@ -4577,17 +4598,20 @@ function validateSchema(schema, data) {
|
|
|
4577
4598
|
var valid = ajvValidate(data);
|
|
4578
4599
|
return valid ? valid : ajvValidate.errors;
|
|
4579
4600
|
}
|
|
4580
|
-
function getEnsTextRecord(ens, record, network) {
|
|
4601
|
+
function getEnsTextRecord(ens, record, network, options) {
|
|
4581
4602
|
if (network === void 0) { network = '1'; }
|
|
4603
|
+
if (options === void 0) { options = {}; }
|
|
4582
4604
|
return __awaiter(this, void 0, void 0, function () {
|
|
4583
4605
|
var ensResolvers, ensHash, provider, result;
|
|
4584
4606
|
return __generator(this, function (_a) {
|
|
4585
4607
|
switch (_a.label) {
|
|
4586
4608
|
case 0:
|
|
4587
|
-
ensResolvers =
|
|
4609
|
+
ensResolvers = options.ensResolvers ||
|
|
4610
|
+
networks[network].ensResolvers ||
|
|
4611
|
+
networks['1'].ensResolvers;
|
|
4588
4612
|
ensHash = namehash(ensNormalize(ens));
|
|
4589
|
-
provider = getProvider(network);
|
|
4590
|
-
return [4 /*yield*/, multicall(network, provider, ENS_RESOLVER_ABI, ensResolvers.map(function (address) { return [address, 'text', [ensHash, record]]; }))];
|
|
4613
|
+
provider = getProvider(network, options);
|
|
4614
|
+
return [4 /*yield*/, multicall(network, provider, ENS_RESOLVER_ABI, ensResolvers.map(function (address) { return [address, 'text', [ensHash, record]]; }), options)];
|
|
4591
4615
|
case 1:
|
|
4592
4616
|
result = _a.sent();
|
|
4593
4617
|
return [2 /*return*/, result.flat().find(function (r) { return r; }) || ''];
|
|
@@ -4595,15 +4619,16 @@ function getEnsTextRecord(ens, record, network) {
|
|
|
4595
4619
|
});
|
|
4596
4620
|
});
|
|
4597
4621
|
}
|
|
4598
|
-
function getSpaceUri(id, network) {
|
|
4622
|
+
function getSpaceUri(id, network, options) {
|
|
4599
4623
|
if (network === void 0) { network = '1'; }
|
|
4624
|
+
if (options === void 0) { options = {}; }
|
|
4600
4625
|
return __awaiter(this, void 0, void 0, function () {
|
|
4601
4626
|
var e_4;
|
|
4602
4627
|
return __generator(this, function (_a) {
|
|
4603
4628
|
switch (_a.label) {
|
|
4604
4629
|
case 0:
|
|
4605
4630
|
_a.trys.push([0, 2, , 3]);
|
|
4606
|
-
return [4 /*yield*/, getEnsTextRecord(id, 'snapshot', network)];
|
|
4631
|
+
return [4 /*yield*/, getEnsTextRecord(id, 'snapshot', network, options)];
|
|
4607
4632
|
case 1: return [2 /*return*/, _a.sent()];
|
|
4608
4633
|
case 2:
|
|
4609
4634
|
e_4 = _a.sent();
|
|
@@ -4614,17 +4639,18 @@ function getSpaceUri(id, network) {
|
|
|
4614
4639
|
});
|
|
4615
4640
|
});
|
|
4616
4641
|
}
|
|
4617
|
-
function getEnsOwner(ens, network) {
|
|
4642
|
+
function getEnsOwner(ens, network, options) {
|
|
4618
4643
|
if (network === void 0) { network = '1'; }
|
|
4644
|
+
if (options === void 0) { options = {}; }
|
|
4619
4645
|
return __awaiter(this, void 0, void 0, function () {
|
|
4620
4646
|
var registryAddress, provider, ensRegistry, ensNameWrapper, ensHash, owner, ensNameWrapperContract;
|
|
4621
4647
|
return __generator(this, function (_a) {
|
|
4622
4648
|
switch (_a.label) {
|
|
4623
4649
|
case 0:
|
|
4624
4650
|
registryAddress = '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e';
|
|
4625
|
-
provider = getProvider(network);
|
|
4651
|
+
provider = getProvider(network, options);
|
|
4626
4652
|
ensRegistry = new Contract(registryAddress, ['function owner(bytes32) view returns (address)'], provider);
|
|
4627
|
-
ensNameWrapper = networks[network].ensNameWrapper;
|
|
4653
|
+
ensNameWrapper = options.ensNameWrapper || networks[network].ensNameWrapper;
|
|
4628
4654
|
ensHash = namehash(ensNormalize(ens));
|
|
4629
4655
|
return [4 /*yield*/, ensRegistry.owner(ensHash)];
|
|
4630
4656
|
case 1:
|
|
@@ -4640,13 +4666,14 @@ function getEnsOwner(ens, network) {
|
|
|
4640
4666
|
});
|
|
4641
4667
|
});
|
|
4642
4668
|
}
|
|
4643
|
-
function getSpaceController(id, network) {
|
|
4669
|
+
function getSpaceController(id, network, options) {
|
|
4644
4670
|
if (network === void 0) { network = '1'; }
|
|
4671
|
+
if (options === void 0) { options = {}; }
|
|
4645
4672
|
return __awaiter(this, void 0, void 0, function () {
|
|
4646
4673
|
var spaceUri, isUriAddress, uriParts, position, address;
|
|
4647
4674
|
return __generator(this, function (_a) {
|
|
4648
4675
|
switch (_a.label) {
|
|
4649
|
-
case 0: return [4 /*yield*/, getSpaceUri(id, network)];
|
|
4676
|
+
case 0: return [4 /*yield*/, getSpaceUri(id, network, options)];
|
|
4650
4677
|
case 1:
|
|
4651
4678
|
spaceUri = _a.sent();
|
|
4652
4679
|
if (spaceUri) {
|
|
@@ -4660,20 +4687,22 @@ function getSpaceController(id, network) {
|
|
|
4660
4687
|
if (isUriAddress)
|
|
4661
4688
|
return [2 /*return*/, address];
|
|
4662
4689
|
}
|
|
4663
|
-
return [4 /*yield*/, getEnsOwner(id, network)];
|
|
4690
|
+
return [4 /*yield*/, getEnsOwner(id, network, options)];
|
|
4664
4691
|
case 2: return [2 /*return*/, _a.sent()];
|
|
4665
4692
|
}
|
|
4666
4693
|
});
|
|
4667
4694
|
});
|
|
4668
4695
|
}
|
|
4669
|
-
function getDelegatesBySpace(network, space, snapshot) {
|
|
4696
|
+
function getDelegatesBySpace(network, space, snapshot, options) {
|
|
4670
4697
|
if (snapshot === void 0) { snapshot = 'latest'; }
|
|
4698
|
+
if (options === void 0) { options = {}; }
|
|
4671
4699
|
return __awaiter(this, void 0, void 0, function () {
|
|
4672
|
-
var spaceIn, PAGE_SIZE, result, page, params, pageResult, pageDelegations;
|
|
4700
|
+
var subgraphUrl, spaceIn, PAGE_SIZE, result, page, params, pageResult, pageDelegations;
|
|
4673
4701
|
return __generator(this, function (_a) {
|
|
4674
4702
|
switch (_a.label) {
|
|
4675
4703
|
case 0:
|
|
4676
|
-
|
|
4704
|
+
subgraphUrl = options.subgraphUrl || SNAPSHOT_SUBGRAPH_URL[network];
|
|
4705
|
+
if (!subgraphUrl) {
|
|
4677
4706
|
return [2 /*return*/, Promise.reject("Delegation subgraph not available for network " + network)];
|
|
4678
4707
|
}
|
|
4679
4708
|
spaceIn = ['', space];
|
|
@@ -4702,7 +4731,7 @@ function getDelegatesBySpace(network, space, snapshot) {
|
|
|
4702
4731
|
_a.label = 1;
|
|
4703
4732
|
case 1:
|
|
4704
4733
|
params.delegations.__args.skip = page * PAGE_SIZE;
|
|
4705
|
-
return [4 /*yield*/, subgraphRequest(
|
|
4734
|
+
return [4 /*yield*/, subgraphRequest(subgraphUrl, params)];
|
|
4706
4735
|
case 2:
|
|
4707
4736
|
pageResult = _a.sent();
|
|
4708
4737
|
pageDelegations = pageResult.delegations || [];
|