@snapshot-labs/snapshot.js 0.14.1 → 0.14.3
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 +19 -18
- package/dist/snapshot.esm.js +20 -19
- package/dist/snapshot.min.js +1 -1
- package/package.json +1 -1
- package/src/multicall/index.ts +1 -11
- package/src/networks.json +9 -5
- package/src/utils/provider.ts +4 -6
- package/src/verify/starknet.ts +4 -3
package/dist/snapshot.cjs.js
CHANGED
|
@@ -2361,32 +2361,38 @@ var networks = {
|
|
|
2361
2361
|
logo: "ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"
|
|
2362
2362
|
},
|
|
2363
2363
|
"0x534e5f4d41494e": {
|
|
2364
|
-
key: "
|
|
2364
|
+
key: "0x534e5f4d41494e",
|
|
2365
2365
|
name: "Starknet",
|
|
2366
2366
|
shortName: "Starknet",
|
|
2367
2367
|
chainId: "0x534e5f4d41494e",
|
|
2368
2368
|
network: "mainnet",
|
|
2369
|
+
starknet: true,
|
|
2370
|
+
broviderId: "sn",
|
|
2369
2371
|
multicall: "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
2370
2372
|
explorer: {
|
|
2371
2373
|
url: "https://starkscan.co"
|
|
2372
2374
|
},
|
|
2373
2375
|
rpc: [
|
|
2376
|
+
"https://starknet-mainnet.public.blastapi.io"
|
|
2374
2377
|
],
|
|
2375
2378
|
start: 8446,
|
|
2376
2379
|
logo: "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
2377
2380
|
},
|
|
2378
2381
|
"0x534e5f5345504f4c4941": {
|
|
2379
|
-
key: "
|
|
2380
|
-
name: "Starknet
|
|
2382
|
+
key: "0x534e5f5345504f4c4941",
|
|
2383
|
+
name: "Starknet Sepolia",
|
|
2381
2384
|
shortName: "testnet",
|
|
2382
2385
|
chainId: "0x534e5f5345504f4c4941",
|
|
2383
2386
|
network: "testnet",
|
|
2387
|
+
starknet: true,
|
|
2388
|
+
broviderId: "sn-sep",
|
|
2384
2389
|
testnet: true,
|
|
2385
2390
|
multicall: "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
2386
2391
|
explorer: {
|
|
2387
2392
|
url: "https://sepolia.starkscan.co"
|
|
2388
2393
|
},
|
|
2389
2394
|
rpc: [
|
|
2395
|
+
"https://starknet-sepolia.public.blastapi.io"
|
|
2390
2396
|
],
|
|
2391
2397
|
start: 7,
|
|
2392
2398
|
logo: "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
@@ -2395,7 +2401,6 @@ var networks = {
|
|
|
2395
2401
|
|
|
2396
2402
|
const DEFAULT_BROVIDER_URL = 'https://rpc.snapshot.org';
|
|
2397
2403
|
const DEFAULT_TIMEOUT = 25000;
|
|
2398
|
-
const STARKNET_BROVIDER_KEYS = ['sn', 'sn-sep'];
|
|
2399
2404
|
const providerMemo = new Map();
|
|
2400
2405
|
const providerFnMap = {
|
|
2401
2406
|
evm: getEvmProvider,
|
|
@@ -2413,11 +2418,11 @@ function getBroviderNetworkId(network) {
|
|
|
2413
2418
|
if (!config) {
|
|
2414
2419
|
throw new Error(`Network '${network}' is not supported`);
|
|
2415
2420
|
}
|
|
2416
|
-
return String(
|
|
2421
|
+
return config.broviderId || String(network);
|
|
2417
2422
|
}
|
|
2418
|
-
function getProviderType(
|
|
2419
|
-
|
|
2420
|
-
return
|
|
2423
|
+
function getProviderType(network) {
|
|
2424
|
+
var _a;
|
|
2425
|
+
return ((_a = networks[network]) === null || _a === void 0 ? void 0 : _a.starknet) ? 'starknet' : 'evm';
|
|
2421
2426
|
}
|
|
2422
2427
|
function createMemoKey(networkId, options) {
|
|
2423
2428
|
return `${networkId}:${options.broviderUrl}:${options.timeout}`;
|
|
@@ -2431,7 +2436,7 @@ function getProvider(network, options = {}) {
|
|
|
2431
2436
|
if (memoized) {
|
|
2432
2437
|
return memoized;
|
|
2433
2438
|
}
|
|
2434
|
-
const providerType = getProviderType(
|
|
2439
|
+
const providerType = getProviderType(network);
|
|
2435
2440
|
const provider = providerFnMap[providerType](networkId, normalizedOptions);
|
|
2436
2441
|
providerMemo.set(memoKey, provider);
|
|
2437
2442
|
return provider;
|
|
@@ -2467,9 +2472,10 @@ function getBlockNumber(provider) {
|
|
|
2467
2472
|
});
|
|
2468
2473
|
}
|
|
2469
2474
|
|
|
2475
|
+
var _a, _b, _c, _d;
|
|
2470
2476
|
const RPC_URLS = {
|
|
2471
|
-
SN_MAIN:
|
|
2472
|
-
SN_SEPOLIA:
|
|
2477
|
+
SN_MAIN: (_b = (_a = networks[starknet$1.constants.StarknetChainId.SN_MAIN]) === null || _a === void 0 ? void 0 : _a.rpc) === null || _b === void 0 ? void 0 : _b[0],
|
|
2478
|
+
SN_SEPOLIA: (_d = (_c = networks[starknet$1.constants.StarknetChainId.SN_SEPOLIA]) === null || _c === void 0 ? void 0 : _c.rpc) === null || _d === void 0 ? void 0 : _d[0]
|
|
2473
2479
|
};
|
|
2474
2480
|
const ABI = [
|
|
2475
2481
|
{
|
|
@@ -3417,16 +3423,13 @@ class Multicaller {
|
|
|
3417
3423
|
}
|
|
3418
3424
|
}
|
|
3419
3425
|
|
|
3420
|
-
const STARKNET_CHAIN_IDS = [
|
|
3421
|
-
starknet$1.constants.StarknetChainId.SN_MAIN,
|
|
3422
|
-
starknet$1.constants.StarknetChainId.SN_SEPOLIA
|
|
3423
|
-
];
|
|
3424
3426
|
const MULTICALLS_FN = {
|
|
3425
3427
|
evm: multicall,
|
|
3426
3428
|
starknet: multicall$1
|
|
3427
3429
|
};
|
|
3428
3430
|
function multicall$2(network_1, provider_1, abi_1, calls_1) {
|
|
3429
3431
|
return __awaiter(this, arguments, void 0, function* (network, provider, abi, calls, options = {}) {
|
|
3432
|
+
var _a;
|
|
3430
3433
|
const address = (options === null || options === void 0 ? void 0 : options.multicallAddress) || networks[network].multicall;
|
|
3431
3434
|
if (!address) {
|
|
3432
3435
|
throw new Error('missing multicall address');
|
|
@@ -3435,9 +3438,7 @@ function multicall$2(network_1, provider_1, abi_1, calls_1) {
|
|
|
3435
3438
|
const limit = (multicallOptions === null || multicallOptions === void 0 ? void 0 : multicallOptions.limit) || 500;
|
|
3436
3439
|
delete multicallOptions.limit;
|
|
3437
3440
|
delete multicallOptions.multicallAddress;
|
|
3438
|
-
const protocol =
|
|
3439
|
-
? 'starknet'
|
|
3440
|
-
: 'evm';
|
|
3441
|
+
const protocol = ((_a = networks[network]) === null || _a === void 0 ? void 0 : _a.starknet) ? 'starknet' : 'evm';
|
|
3441
3442
|
return MULTICALLS_FN[protocol](address, provider, abi, calls, limit, multicallOptions);
|
|
3442
3443
|
});
|
|
3443
3444
|
}
|
package/dist/snapshot.esm.js
CHANGED
|
@@ -8,7 +8,7 @@ import Ajv from 'ajv';
|
|
|
8
8
|
import addFormats from 'ajv-formats';
|
|
9
9
|
import addErrors from 'ajv-errors';
|
|
10
10
|
import { StaticJsonRpcProvider } from '@ethersproject/providers';
|
|
11
|
-
import { RpcProvider, Contract, typedData, transaction, uint256, shortString, num,
|
|
11
|
+
import { RpcProvider, constants as constants$1, Contract, typedData, transaction, uint256, shortString, num, validateAndParseAddress } from 'starknet';
|
|
12
12
|
import { hexlify, concat, arrayify } from '@ethersproject/bytes';
|
|
13
13
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
14
14
|
import { verifyTypedData } from '@ethersproject/wallet';
|
|
@@ -2351,32 +2351,38 @@ var networks = {
|
|
|
2351
2351
|
logo: "ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"
|
|
2352
2352
|
},
|
|
2353
2353
|
"0x534e5f4d41494e": {
|
|
2354
|
-
key: "
|
|
2354
|
+
key: "0x534e5f4d41494e",
|
|
2355
2355
|
name: "Starknet",
|
|
2356
2356
|
shortName: "Starknet",
|
|
2357
2357
|
chainId: "0x534e5f4d41494e",
|
|
2358
2358
|
network: "mainnet",
|
|
2359
|
+
starknet: true,
|
|
2360
|
+
broviderId: "sn",
|
|
2359
2361
|
multicall: "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
2360
2362
|
explorer: {
|
|
2361
2363
|
url: "https://starkscan.co"
|
|
2362
2364
|
},
|
|
2363
2365
|
rpc: [
|
|
2366
|
+
"https://starknet-mainnet.public.blastapi.io"
|
|
2364
2367
|
],
|
|
2365
2368
|
start: 8446,
|
|
2366
2369
|
logo: "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
2367
2370
|
},
|
|
2368
2371
|
"0x534e5f5345504f4c4941": {
|
|
2369
|
-
key: "
|
|
2370
|
-
name: "Starknet
|
|
2372
|
+
key: "0x534e5f5345504f4c4941",
|
|
2373
|
+
name: "Starknet Sepolia",
|
|
2371
2374
|
shortName: "testnet",
|
|
2372
2375
|
chainId: "0x534e5f5345504f4c4941",
|
|
2373
2376
|
network: "testnet",
|
|
2377
|
+
starknet: true,
|
|
2378
|
+
broviderId: "sn-sep",
|
|
2374
2379
|
testnet: true,
|
|
2375
2380
|
multicall: "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
2376
2381
|
explorer: {
|
|
2377
2382
|
url: "https://sepolia.starkscan.co"
|
|
2378
2383
|
},
|
|
2379
2384
|
rpc: [
|
|
2385
|
+
"https://starknet-sepolia.public.blastapi.io"
|
|
2380
2386
|
],
|
|
2381
2387
|
start: 7,
|
|
2382
2388
|
logo: "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
@@ -2385,7 +2391,6 @@ var networks = {
|
|
|
2385
2391
|
|
|
2386
2392
|
const DEFAULT_BROVIDER_URL = 'https://rpc.snapshot.org';
|
|
2387
2393
|
const DEFAULT_TIMEOUT = 25000;
|
|
2388
|
-
const STARKNET_BROVIDER_KEYS = ['sn', 'sn-sep'];
|
|
2389
2394
|
const providerMemo = new Map();
|
|
2390
2395
|
const providerFnMap = {
|
|
2391
2396
|
evm: getEvmProvider,
|
|
@@ -2403,11 +2408,11 @@ function getBroviderNetworkId(network) {
|
|
|
2403
2408
|
if (!config) {
|
|
2404
2409
|
throw new Error(`Network '${network}' is not supported`);
|
|
2405
2410
|
}
|
|
2406
|
-
return String(
|
|
2411
|
+
return config.broviderId || String(network);
|
|
2407
2412
|
}
|
|
2408
|
-
function getProviderType(
|
|
2409
|
-
|
|
2410
|
-
return
|
|
2413
|
+
function getProviderType(network) {
|
|
2414
|
+
var _a;
|
|
2415
|
+
return ((_a = networks[network]) === null || _a === void 0 ? void 0 : _a.starknet) ? 'starknet' : 'evm';
|
|
2411
2416
|
}
|
|
2412
2417
|
function createMemoKey(networkId, options) {
|
|
2413
2418
|
return `${networkId}:${options.broviderUrl}:${options.timeout}`;
|
|
@@ -2421,7 +2426,7 @@ function getProvider(network, options = {}) {
|
|
|
2421
2426
|
if (memoized) {
|
|
2422
2427
|
return memoized;
|
|
2423
2428
|
}
|
|
2424
|
-
const providerType = getProviderType(
|
|
2429
|
+
const providerType = getProviderType(network);
|
|
2425
2430
|
const provider = providerFnMap[providerType](networkId, normalizedOptions);
|
|
2426
2431
|
providerMemo.set(memoKey, provider);
|
|
2427
2432
|
return provider;
|
|
@@ -2457,9 +2462,10 @@ function getBlockNumber(provider) {
|
|
|
2457
2462
|
});
|
|
2458
2463
|
}
|
|
2459
2464
|
|
|
2465
|
+
var _a, _b, _c, _d;
|
|
2460
2466
|
const RPC_URLS = {
|
|
2461
|
-
SN_MAIN:
|
|
2462
|
-
SN_SEPOLIA:
|
|
2467
|
+
SN_MAIN: (_b = (_a = networks[constants$1.StarknetChainId.SN_MAIN]) === null || _a === void 0 ? void 0 : _a.rpc) === null || _b === void 0 ? void 0 : _b[0],
|
|
2468
|
+
SN_SEPOLIA: (_d = (_c = networks[constants$1.StarknetChainId.SN_SEPOLIA]) === null || _c === void 0 ? void 0 : _c.rpc) === null || _d === void 0 ? void 0 : _d[0]
|
|
2463
2469
|
};
|
|
2464
2470
|
const ABI = [
|
|
2465
2471
|
{
|
|
@@ -3407,16 +3413,13 @@ class Multicaller {
|
|
|
3407
3413
|
}
|
|
3408
3414
|
}
|
|
3409
3415
|
|
|
3410
|
-
const STARKNET_CHAIN_IDS = [
|
|
3411
|
-
constants$1.StarknetChainId.SN_MAIN,
|
|
3412
|
-
constants$1.StarknetChainId.SN_SEPOLIA
|
|
3413
|
-
];
|
|
3414
3416
|
const MULTICALLS_FN = {
|
|
3415
3417
|
evm: multicall,
|
|
3416
3418
|
starknet: multicall$1
|
|
3417
3419
|
};
|
|
3418
3420
|
function multicall$2(network_1, provider_1, abi_1, calls_1) {
|
|
3419
3421
|
return __awaiter(this, arguments, void 0, function* (network, provider, abi, calls, options = {}) {
|
|
3422
|
+
var _a;
|
|
3420
3423
|
const address = (options === null || options === void 0 ? void 0 : options.multicallAddress) || networks[network].multicall;
|
|
3421
3424
|
if (!address) {
|
|
3422
3425
|
throw new Error('missing multicall address');
|
|
@@ -3425,9 +3428,7 @@ function multicall$2(network_1, provider_1, abi_1, calls_1) {
|
|
|
3425
3428
|
const limit = (multicallOptions === null || multicallOptions === void 0 ? void 0 : multicallOptions.limit) || 500;
|
|
3426
3429
|
delete multicallOptions.limit;
|
|
3427
3430
|
delete multicallOptions.multicallAddress;
|
|
3428
|
-
const protocol =
|
|
3429
|
-
? 'starknet'
|
|
3430
|
-
: 'evm';
|
|
3431
|
+
const protocol = ((_a = networks[network]) === null || _a === void 0 ? void 0 : _a.starknet) ? 'starknet' : 'evm';
|
|
3431
3432
|
return MULTICALLS_FN[protocol](address, provider, abi, calls, limit, multicallOptions);
|
|
3432
3433
|
});
|
|
3433
3434
|
}
|