@snapshot-labs/snapshot.js 0.14.1 → 0.14.2
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 +13 -14
- package/dist/snapshot.esm.js +14 -15
- package/dist/snapshot.min.js +1 -1
- package/package.json +1 -1
- package/src/multicall/index.ts +1 -11
- package/src/networks.json +4 -2
- package/src/utils/provider.ts +3 -5
- 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
|
@@ -1977,11 +1977,12 @@
|
|
|
1977
1977
|
"shortName": "Starknet",
|
|
1978
1978
|
"chainId": "0x534e5f4d41494e",
|
|
1979
1979
|
"network": "mainnet",
|
|
1980
|
+
"starknet": true,
|
|
1980
1981
|
"multicall": "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
1981
1982
|
"explorer": {
|
|
1982
1983
|
"url": "https://starkscan.co"
|
|
1983
1984
|
},
|
|
1984
|
-
"rpc": [],
|
|
1985
|
+
"rpc": ["https://starknet-mainnet.public.blastapi.io"],
|
|
1985
1986
|
"start": 8446,
|
|
1986
1987
|
"logo": "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
1987
1988
|
},
|
|
@@ -1991,12 +1992,13 @@
|
|
|
1991
1992
|
"shortName": "testnet",
|
|
1992
1993
|
"chainId": "0x534e5f5345504f4c4941",
|
|
1993
1994
|
"network": "testnet",
|
|
1995
|
+
"starknet": true,
|
|
1994
1996
|
"testnet": true,
|
|
1995
1997
|
"multicall": "0x05754af3760f3356da99aea5c3ec39ccac7783d925a19666ebbeca58ff0087f4",
|
|
1996
1998
|
"explorer": {
|
|
1997
1999
|
"url": "https://sepolia.starkscan.co"
|
|
1998
2000
|
},
|
|
1999
|
-
"rpc": [],
|
|
2001
|
+
"rpc": ["https://starknet-sepolia.public.blastapi.io"],
|
|
2000
2002
|
"start": 7,
|
|
2001
2003
|
"logo": "ipfs://bafkreihbjafyh7eud7r6e5743esaamifcttsvbspfwcrfoc5ykodjdi67m"
|
|
2002
2004
|
}
|
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
|
|
|
@@ -42,9 +41,8 @@ function getBroviderNetworkId(network: string | number): string {
|
|
|
42
41
|
return String(config.key);
|
|
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 = [
|