@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/package.json
CHANGED
package/src/multicall/index.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import { constants } from 'starknet';
|
|
2
1
|
import multicallEvm from './evm';
|
|
3
2
|
import multicallStarknet from './starknet';
|
|
4
3
|
import Multicaller from './multicaller';
|
|
5
4
|
import networks from '../networks.json';
|
|
6
5
|
|
|
7
|
-
type NetworkId = keyof typeof networks;
|
|
8
|
-
|
|
9
|
-
const STARKNET_CHAIN_IDS: NetworkId[] = [
|
|
10
|
-
constants.StarknetChainId.SN_MAIN,
|
|
11
|
-
constants.StarknetChainId.SN_SEPOLIA
|
|
12
|
-
] as const;
|
|
13
|
-
|
|
14
6
|
const MULTICALLS_FN = {
|
|
15
7
|
evm: multicallEvm,
|
|
16
8
|
starknet: multicallStarknet
|
|
@@ -35,9 +27,7 @@ async function multicall(
|
|
|
35
27
|
delete multicallOptions.limit;
|
|
36
28
|
delete multicallOptions.multicallAddress;
|
|
37
29
|
|
|
38
|
-
const protocol =
|
|
39
|
-
? 'starknet'
|
|
40
|
-
: 'evm';
|
|
30
|
+
const protocol = networks[network]?.starknet ? 'starknet' : 'evm';
|
|
41
31
|
|
|
42
32
|
return MULTICALLS_FN[protocol](
|
|
43
33
|
address,
|
package/src/networks.json
CHANGED
|
@@ -1972,31 +1972,35 @@
|
|
|
1972
1972
|
"logo": "ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"
|
|
1973
1973
|
},
|
|
1974
1974
|
"0x534e5f4d41494e": {
|
|
1975
|
-
"key": "
|
|
1975
|
+
"key": "0x534e5f4d41494e",
|
|
1976
1976
|
"name": "Starknet",
|
|
1977
1977
|
"shortName": "Starknet",
|
|
1978
1978
|
"chainId": "0x534e5f4d41494e",
|
|
1979
1979
|
"network": "mainnet",
|
|
1980
|
+
"starknet": true,
|
|
1981
|
+
"broviderId": "sn",
|
|
1980
1982
|
"multicall": "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
1981
1983
|
"explorer": {
|
|
1982
1984
|
"url": "https://starkscan.co"
|
|
1983
1985
|
},
|
|
1984
|
-
"rpc": [],
|
|
1986
|
+
"rpc": ["https://starknet-mainnet.public.blastapi.io"],
|
|
1985
1987
|
"start": 8446,
|
|
1986
1988
|
"logo": "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
1987
1989
|
},
|
|
1988
1990
|
"0x534e5f5345504f4c4941": {
|
|
1989
|
-
"key": "
|
|
1990
|
-
"name": "Starknet
|
|
1991
|
+
"key": "0x534e5f5345504f4c4941",
|
|
1992
|
+
"name": "Starknet Sepolia",
|
|
1991
1993
|
"shortName": "testnet",
|
|
1992
1994
|
"chainId": "0x534e5f5345504f4c4941",
|
|
1993
1995
|
"network": "testnet",
|
|
1996
|
+
"starknet": true,
|
|
1997
|
+
"broviderId": "sn-sep",
|
|
1994
1998
|
"testnet": true,
|
|
1995
1999
|
"multicall": "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
1996
2000
|
"explorer": {
|
|
1997
2001
|
"url": "https://sepolia.starkscan.co"
|
|
1998
2002
|
},
|
|
1999
|
-
"rpc": [],
|
|
2003
|
+
"rpc": ["https://starknet-sepolia.public.blastapi.io"],
|
|
2000
2004
|
"start": 7,
|
|
2001
2005
|
"logo": "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
2002
2006
|
}
|
package/src/utils/provider.ts
CHANGED
|
@@ -13,7 +13,6 @@ type ProviderType = 'evm' | 'starknet';
|
|
|
13
13
|
|
|
14
14
|
const DEFAULT_BROVIDER_URL = 'https://rpc.snapshot.org' as const;
|
|
15
15
|
const DEFAULT_TIMEOUT = 25000 as const;
|
|
16
|
-
const STARKNET_BROVIDER_KEYS: string[] = ['sn', 'sn-sep'] as const;
|
|
17
16
|
|
|
18
17
|
const providerMemo = new Map<string, ProviderInstance>();
|
|
19
18
|
|
|
@@ -39,12 +38,11 @@ function getBroviderNetworkId(network: string | number): string {
|
|
|
39
38
|
if (!config) {
|
|
40
39
|
throw new Error(`Network '${network}' is not supported`);
|
|
41
40
|
}
|
|
42
|
-
return String(
|
|
41
|
+
return config.broviderId || String(network);
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
function getProviderType(
|
|
46
|
-
|
|
47
|
-
return isStarknet ? 'starknet' : 'evm';
|
|
44
|
+
function getProviderType(network: string | number): ProviderType {
|
|
45
|
+
return networks[network]?.starknet ? 'starknet' : 'evm';
|
|
48
46
|
}
|
|
49
47
|
|
|
50
48
|
function createMemoKey(
|
|
@@ -68,7 +66,7 @@ export default function getProvider(
|
|
|
68
66
|
return memoized;
|
|
69
67
|
}
|
|
70
68
|
|
|
71
|
-
const providerType = getProviderType(
|
|
69
|
+
const providerType = getProviderType(network);
|
|
72
70
|
const provider = providerFnMap[providerType](networkId, normalizedOptions);
|
|
73
71
|
|
|
74
72
|
providerMemo.set(memoKey, provider);
|
package/src/verify/starknet.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { Contract, RpcProvider, typedData } from 'starknet';
|
|
1
|
+
import { Contract, RpcProvider, typedData, constants } from 'starknet';
|
|
2
2
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
3
|
+
import networks from '../networks.json';
|
|
3
4
|
import type { SignaturePayload } from '.';
|
|
4
5
|
import type { ProviderOptions } from '../utils/provider';
|
|
5
6
|
|
|
6
7
|
export type NetworkType = 'SN_MAIN' | 'SN_SEPOLIA';
|
|
7
8
|
|
|
8
9
|
const RPC_URLS: Record<NetworkType, string> = {
|
|
9
|
-
SN_MAIN:
|
|
10
|
-
SN_SEPOLIA:
|
|
10
|
+
SN_MAIN: networks[constants.StarknetChainId.SN_MAIN]?.rpc?.[0],
|
|
11
|
+
SN_SEPOLIA: networks[constants.StarknetChainId.SN_SEPOLIA]?.rpc?.[0]
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
const ABI = [
|