Skip to content

Commit b6b28d2

Browse files
Merge pull request #46 from mds1/multicall3
feat: switch to multicall3
2 parents 9acdda8 + 6127963 commit b6b28d2

File tree

3 files changed

+133
-55
lines changed

3 files changed

+133
-55
lines changed

README.md

Lines changed: 54 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,60 @@ ethereum-multicall is fully written in typescript so has full compile time suppo
1111

1212
## Supports
1313

14-
- mainnet
15-
- kovan
16-
- görli
17-
- rinkeby
18-
- ropsten
19-
- binance smart chain
20-
- bsc testnet
21-
- xdai
22-
- matic
23-
- mumbai
24-
- etherlite
25-
- arbitrum
26-
- avalanche fuji testnet
27-
- avalanche mainnet
28-
- fantom mainnet
29-
- cronos
30-
- harmony (shard 0)
31-
- optimism
32-
- kovanOptimism
33-
- custom network with your own instance of multicall deployed
14+
The below networks are supported by default, and custom networks can be supported by providing your own instance a deployed Multicall contract.
15+
16+
| Chain | Chain ID |
17+
| ----------------------- | ---------- |
18+
| Mainnet | 1 |
19+
| Kovan | 3 |
20+
| Rinkeby | 4 |
21+
| Görli | 5 |
22+
| Ropsten | 10 |
23+
| Sepolia | 42 |
24+
| Optimism | 137 |
25+
| Optimism Kovan | 69 |
26+
| Optimism Görli | 100 |
27+
| Arbitrum | 420 |
28+
| Arbitrum Görli | 42161 |
29+
| Arbitrum Rinkeby | 421611 |
30+
| Polygon | 421613 |
31+
| Mumbai | 80001 |
32+
| Gnosis Chain (xDai) | 11155111 |
33+
| Avalanche | 43114 |
34+
| Avalanche Fuji | 43113 |
35+
| Fantom Testnet | 4002 |
36+
| Fantom Opera | 250 |
37+
| BNB Smart Chain | 56 |
38+
| BNB Smart Chain Testnet | 97 |
39+
| Moonbeam | 1284 |
40+
| Moonriver | 1285 |
41+
| Moonbase Alpha Testnet | 1287 |
42+
| Harmony | 1666600000 |
43+
| Cronos | 25 |
44+
| Fuse | 122 |
45+
| Songbird Canary Network | 19 |
46+
| Coston Testnet | 16 |
47+
| Boba | 288 |
48+
| Aurora | 1313161554 |
49+
| Astar | 592 |
50+
| OKC | 66 |
51+
| Heco Chain | 128 |
52+
| Metis | 1088 |
53+
| RSK | 30 |
54+
| RSK Testnet | 31 |
55+
| Evmos | 9001 |
56+
| Evmos Testnet | 9000 |
57+
| Thundercore | 108 |
58+
| Thundercore Testnet | 18 |
59+
| Oasis | 26863 |
60+
| Celo | 42220 |
61+
| Godwoken | 71402 |
62+
| Godwoken Testnet | 71401 |
63+
| Klatyn | 8217 |
64+
| Milkomeda | 2001 |
65+
| KCC | 321 |
66+
| Etherlite | 111 |
67+
3468

3569
## Installation
3670

src/enums/networks.ts

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,47 @@ export enum Networks {
55
goerli = 5,
66
optimism = 10,
77
kovan = 42,
8-
bsc = 56,
8+
matic = 137,
99
kovanOptimism = 69,
10-
bsc_testnet = 97,
1110
xdai = 100,
12-
matic = 137,
11+
goerliOptimism = 420,
12+
arbitrum = 42161,
13+
rinkebyArbitrum = 421611,
14+
goerliArbitrum = 421613,
1315
mumbai = 80001,
14-
avalancheFuji = 43113,
16+
sepolia = 11155111,
1517
avalancheMainnet = 43114,
16-
etherlite = 111,
17-
arbitrum = 42161,
18+
avalancheFuji = 43113,
19+
fantomTestnet = 4002,
1820
fantom = 250,
19-
cronos = 25,
21+
bsc = 56,
22+
bsc_testnet = 97,
23+
moonbeam = 1284,
24+
moonriver = 1285,
25+
moonbaseAlphaTestnet = 1287,
2026
harmony = 1666600000,
21-
aurora = 1313161554
27+
cronos = 25,
28+
fuse = 122,
29+
songbirdCanaryNetwork = 19,
30+
costonTestnet = 16,
31+
boba = 288,
32+
aurora = 1313161554,
33+
astar = 592,
34+
okc = 66,
35+
heco = 128,
36+
metis = 1088,
37+
rsk = 30,
38+
rskTestnet = 31,
39+
evmos = 9001,
40+
evmosTestnet = 9000,
41+
thundercore = 108,
42+
thundercoreTestnet = 18,
43+
oasis = 26863,
44+
celo = 42220,
45+
godwoken = 71402,
46+
godwokentestnet = 71401,
47+
klatyn = 8217,
48+
milkomeda = 2001,
49+
kcc = 321,
50+
etherlite = 111,
2251
}

src/multicall.ts

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -546,41 +546,56 @@ export class Multicall {
546546

547547
switch (network) {
548548
case Networks.mainnet:
549-
case Networks.kovan:
550-
case Networks.rinkeby:
551549
case Networks.ropsten:
550+
case Networks.rinkeby:
552551
case Networks.goerli:
553-
return '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696';
554-
case Networks.bsc:
555-
return '0xC50F4c1E81c873B2204D7eFf7069Ffec6Fbe136D';
556-
case Networks.bsc_testnet:
557-
return '0x73CCde5acdb9980f54BcCc0483B28B8b4a537b4A';
558-
case Networks.xdai:
559-
return '0x2325b72990D81892E0e09cdE5C80DD221F147F8B';
560-
case Networks.mumbai:
561-
return '0xe9939e7Ea7D7fb619Ac57f648Da7B1D425832631';
552+
case Networks.optimism:
553+
case Networks.kovan:
562554
case Networks.matic:
563-
return '0x275617327c958bD06b5D6b871E7f491D76113dd8';
564-
case Networks.etherlite:
565-
return '0x21681750D7ddCB8d1240eD47338dC984f94AF2aC';
555+
case Networks.kovanOptimism:
556+
case Networks.xdai:
557+
case Networks.goerliOptimism:
566558
case Networks.arbitrum:
567-
return '0x80C7DD17B01855a6D2347444a0FCC36136a314de';
568-
case Networks.avalancheFuji:
569-
return '0x3D015943d2780fE97FE3f69C97edA2CCC094f78c';
559+
case Networks.rinkebyArbitrum:
560+
case Networks.goerliArbitrum:
561+
case Networks.mumbai:
562+
case Networks.sepolia:
570563
case Networks.avalancheMainnet:
571-
return '0xed386Fe855C1EFf2f843B910923Dd8846E45C5A4';
564+
case Networks.avalancheFuji:
565+
case Networks.fantomTestnet:
572566
case Networks.fantom:
573-
return '0xD98e3dBE5950Ca8Ce5a4b59630a5652110403E5c';
574-
case Networks.cronos:
575-
return '0x5e954f5972EC6BFc7dECd75779F10d848230345F';
567+
case Networks.bsc:
568+
case Networks.bsc_testnet:
569+
case Networks.moonbeam:
570+
case Networks.moonriver:
571+
case Networks.moonbaseAlphaTestnet:
576572
case Networks.harmony:
577-
return '0x5c41f6817feeb65d7b2178b0b9cebfc8fad97969';
578-
case Networks.optimism:
579-
return '0xeAa6877139d436Dc6d1f75F3aF15B74662617B2C';
580-
case Networks.kovanOptimism:
581-
return '0x91c88479F21203444D2B20Aa001f951EC8CF2F68';
573+
case Networks.cronos:
574+
case Networks.fuse:
575+
case Networks.songbirdCanaryNetwork:
576+
case Networks.costonTestnet:
577+
case Networks.boba:
582578
case Networks.aurora:
583-
return '0x04364F8908BDCB4cc7EA881d0DE869398BA849C9';
579+
case Networks.astar:
580+
case Networks.okc:
581+
case Networks.heco:
582+
case Networks.metis:
583+
case Networks.rsk:
584+
case Networks.rskTestnet:
585+
case Networks.evmos:
586+
case Networks.evmosTestnet:
587+
case Networks.thundercore:
588+
case Networks.thundercoreTestnet:
589+
case Networks.oasis:
590+
case Networks.celo:
591+
case Networks.godwoken:
592+
case Networks.godwokentestnet:
593+
case Networks.klatyn:
594+
case Networks.milkomeda:
595+
case Networks.kcc:
596+
return '0xcA11bde05977b3631167028862bE2a173976CA11';
597+
case Networks.etherlite:
598+
return '0x21681750D7ddCB8d1240eD47338dC984f94AF2aC';
584599
default:
585600
throw new Error(
586601
`Network - ${network} doesn't have a multicall contract address defined. Please check your network or deploy your own contract on it.`

0 commit comments

Comments
 (0)