@snapshot-labs/snapshot.js 0.4.106 → 0.4.107
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/snapshot.cjs.js +18 -10
- package/dist/snapshot.esm.js +18 -10
- package/dist/snapshot.min.js +5 -16
- package/package.json +2 -2
- package/src/utils/blockfinder.ts +19 -5
- package/src/utils.ts +3 -3
package/dist/snapshot.cjs.js
CHANGED
|
@@ -5,7 +5,7 @@ var address = require('@ethersproject/address');
|
|
|
5
5
|
var abi = require('@ethersproject/abi');
|
|
6
6
|
var contracts = require('@ethersproject/contracts');
|
|
7
7
|
var units = require('@ethersproject/units');
|
|
8
|
-
var
|
|
8
|
+
var hash = require('@ethersproject/hash');
|
|
9
9
|
var jsonToGraphqlQuery = require('json-to-graphql-query');
|
|
10
10
|
var Ajv = require('ajv');
|
|
11
11
|
var addFormats = require('ajv-formats');
|
|
@@ -13,7 +13,6 @@ var set = require('lodash.set');
|
|
|
13
13
|
var providers$1 = require('@ethersproject/providers');
|
|
14
14
|
var bytes = require('@ethersproject/bytes');
|
|
15
15
|
var wallet = require('@ethersproject/wallet');
|
|
16
|
-
var hash = require('@ethersproject/hash');
|
|
17
16
|
|
|
18
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
18
|
|
|
@@ -1213,19 +1212,29 @@ var Multicaller = /** @class */ (function () {
|
|
|
1213
1212
|
}());
|
|
1214
1213
|
|
|
1215
1214
|
var cache = {};
|
|
1215
|
+
var expirationTime = 0;
|
|
1216
1216
|
function getSnapshots(network, snapshot, provider, networks) {
|
|
1217
1217
|
return __awaiter(this, void 0, void 0, function () {
|
|
1218
|
-
var cacheKey,
|
|
1218
|
+
var snapshots, cacheKey, cachedEntry, now, networkIn, block, query, url, data;
|
|
1219
1219
|
return __generator(this, function (_a) {
|
|
1220
1220
|
switch (_a.label) {
|
|
1221
1221
|
case 0:
|
|
1222
|
-
cacheKey = network + "-" + snapshot + "-" + networks.join('-');
|
|
1223
|
-
if (cache[cacheKey])
|
|
1224
|
-
return [2 /*return*/, cache[cacheKey]];
|
|
1225
1222
|
snapshots = {};
|
|
1226
1223
|
networks.forEach(function (n) { return (snapshots[n] = 'latest'); });
|
|
1227
1224
|
if (snapshot === 'latest')
|
|
1228
1225
|
return [2 /*return*/, snapshots];
|
|
1226
|
+
cacheKey = network + "-" + snapshot + "-" + networks.join('-');
|
|
1227
|
+
cachedEntry = cache[cacheKey];
|
|
1228
|
+
now = Date.now();
|
|
1229
|
+
if (cachedEntry && expirationTime > now) {
|
|
1230
|
+
return [2 /*return*/, cachedEntry];
|
|
1231
|
+
}
|
|
1232
|
+
// Reset cache every hour
|
|
1233
|
+
if (expirationTime < now) {
|
|
1234
|
+
cache = {};
|
|
1235
|
+
// Set expiration time to next hour
|
|
1236
|
+
expirationTime = now + 60 * 60 * 1000 - (now % (60 * 60 * 1000));
|
|
1237
|
+
}
|
|
1229
1238
|
snapshots[network] = snapshot;
|
|
1230
1239
|
networkIn = Object.keys(snapshots).filter(function (s) { return network !== s; });
|
|
1231
1240
|
if (networkIn.length === 0)
|
|
@@ -1255,8 +1264,7 @@ function getSnapshots(network, snapshot, provider, networks) {
|
|
|
1255
1264
|
}
|
|
1256
1265
|
});
|
|
1257
1266
|
});
|
|
1258
|
-
}
|
|
1259
|
-
setInterval(function () { return (cache = {}); }, 1000 * 60 * 60 * 1); // Clear cache every 1 hour
|
|
1267
|
+
}
|
|
1260
1268
|
|
|
1261
1269
|
var providers = {};
|
|
1262
1270
|
function getProvider(network) {
|
|
@@ -4564,7 +4572,7 @@ function getEnsTextRecord(ens, record, network) {
|
|
|
4564
4572
|
switch (_a.label) {
|
|
4565
4573
|
case 0:
|
|
4566
4574
|
ensResolvers = networks[network].ensResolvers || networks['1'].ensResolvers;
|
|
4567
|
-
ensHash =
|
|
4575
|
+
ensHash = hash.namehash(hash.ensNormalize(ens));
|
|
4568
4576
|
provider = getProvider(network);
|
|
4569
4577
|
return [4 /*yield*/, multicall(network, provider, ENS_RESOLVER_ABI, ensResolvers.map(function (address) { return [address, 'text', [ensHash, record]]; }))];
|
|
4570
4578
|
case 1:
|
|
@@ -4604,7 +4612,7 @@ function getEnsOwner(ens, network) {
|
|
|
4604
4612
|
provider = getProvider(network);
|
|
4605
4613
|
ensRegistry = new contracts.Contract(registryAddress, ['function owner(bytes32) view returns (address)'], provider);
|
|
4606
4614
|
ensNameWrapper = networks[network].ensNameWrapper;
|
|
4607
|
-
ensHash =
|
|
4615
|
+
ensHash = hash.namehash(hash.ensNormalize(ens));
|
|
4608
4616
|
return [4 /*yield*/, ensRegistry.owner(ensHash)];
|
|
4609
4617
|
case 1:
|
|
4610
4618
|
owner = _a.sent();
|
package/dist/snapshot.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import { getAddress, isAddress } from '@ethersproject/address';
|
|
|
3
3
|
import { Interface } from '@ethersproject/abi';
|
|
4
4
|
import { Contract } from '@ethersproject/contracts';
|
|
5
5
|
import { parseUnits } from '@ethersproject/units';
|
|
6
|
-
import {
|
|
6
|
+
import { _TypedDataEncoder, namehash, ensNormalize } from '@ethersproject/hash';
|
|
7
7
|
import { jsonToGraphQLQuery } from 'json-to-graphql-query';
|
|
8
8
|
import Ajv from 'ajv';
|
|
9
9
|
import addFormats from 'ajv-formats';
|
|
@@ -11,7 +11,6 @@ import set from 'lodash.set';
|
|
|
11
11
|
import { StaticJsonRpcProvider } from '@ethersproject/providers';
|
|
12
12
|
import { hexlify, arrayify } from '@ethersproject/bytes';
|
|
13
13
|
import { verifyTypedData } from '@ethersproject/wallet';
|
|
14
|
-
import { _TypedDataEncoder } from '@ethersproject/hash';
|
|
15
14
|
|
|
16
15
|
/*! *****************************************************************************
|
|
17
16
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -1204,19 +1203,29 @@ var Multicaller = /** @class */ (function () {
|
|
|
1204
1203
|
}());
|
|
1205
1204
|
|
|
1206
1205
|
var cache = {};
|
|
1206
|
+
var expirationTime = 0;
|
|
1207
1207
|
function getSnapshots(network, snapshot, provider, networks) {
|
|
1208
1208
|
return __awaiter(this, void 0, void 0, function () {
|
|
1209
|
-
var cacheKey,
|
|
1209
|
+
var snapshots, cacheKey, cachedEntry, now, networkIn, block, query, url, data;
|
|
1210
1210
|
return __generator(this, function (_a) {
|
|
1211
1211
|
switch (_a.label) {
|
|
1212
1212
|
case 0:
|
|
1213
|
-
cacheKey = network + "-" + snapshot + "-" + networks.join('-');
|
|
1214
|
-
if (cache[cacheKey])
|
|
1215
|
-
return [2 /*return*/, cache[cacheKey]];
|
|
1216
1213
|
snapshots = {};
|
|
1217
1214
|
networks.forEach(function (n) { return (snapshots[n] = 'latest'); });
|
|
1218
1215
|
if (snapshot === 'latest')
|
|
1219
1216
|
return [2 /*return*/, snapshots];
|
|
1217
|
+
cacheKey = network + "-" + snapshot + "-" + networks.join('-');
|
|
1218
|
+
cachedEntry = cache[cacheKey];
|
|
1219
|
+
now = Date.now();
|
|
1220
|
+
if (cachedEntry && expirationTime > now) {
|
|
1221
|
+
return [2 /*return*/, cachedEntry];
|
|
1222
|
+
}
|
|
1223
|
+
// Reset cache every hour
|
|
1224
|
+
if (expirationTime < now) {
|
|
1225
|
+
cache = {};
|
|
1226
|
+
// Set expiration time to next hour
|
|
1227
|
+
expirationTime = now + 60 * 60 * 1000 - (now % (60 * 60 * 1000));
|
|
1228
|
+
}
|
|
1220
1229
|
snapshots[network] = snapshot;
|
|
1221
1230
|
networkIn = Object.keys(snapshots).filter(function (s) { return network !== s; });
|
|
1222
1231
|
if (networkIn.length === 0)
|
|
@@ -1246,8 +1255,7 @@ function getSnapshots(network, snapshot, provider, networks) {
|
|
|
1246
1255
|
}
|
|
1247
1256
|
});
|
|
1248
1257
|
});
|
|
1249
|
-
}
|
|
1250
|
-
setInterval(function () { return (cache = {}); }, 1000 * 60 * 60 * 1); // Clear cache every 1 hour
|
|
1258
|
+
}
|
|
1251
1259
|
|
|
1252
1260
|
var providers = {};
|
|
1253
1261
|
function getProvider(network) {
|
|
@@ -4555,7 +4563,7 @@ function getEnsTextRecord(ens, record, network) {
|
|
|
4555
4563
|
switch (_a.label) {
|
|
4556
4564
|
case 0:
|
|
4557
4565
|
ensResolvers = networks[network].ensResolvers || networks['1'].ensResolvers;
|
|
4558
|
-
ensHash =
|
|
4566
|
+
ensHash = namehash(ensNormalize(ens));
|
|
4559
4567
|
provider = getProvider(network);
|
|
4560
4568
|
return [4 /*yield*/, multicall(network, provider, ENS_RESOLVER_ABI, ensResolvers.map(function (address) { return [address, 'text', [ensHash, record]]; }))];
|
|
4561
4569
|
case 1:
|
|
@@ -4595,7 +4603,7 @@ function getEnsOwner(ens, network) {
|
|
|
4595
4603
|
provider = getProvider(network);
|
|
4596
4604
|
ensRegistry = new Contract(registryAddress, ['function owner(bytes32) view returns (address)'], provider);
|
|
4597
4605
|
ensNameWrapper = networks[network].ensNameWrapper;
|
|
4598
|
-
ensHash =
|
|
4606
|
+
ensHash = namehash(ensNormalize(ens));
|
|
4599
4607
|
return [4 /*yield*/, ensRegistry.owner(ensHash)];
|
|
4600
4608
|
case 1:
|
|
4601
4609
|
owner = _a.sent();
|