@wagmi/core 0.3.5 → 0.3.8

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.
Files changed (43) hide show
  1. package/chains/dist/wagmi-core-chains.cjs.dev.js +2 -1
  2. package/chains/dist/wagmi-core-chains.cjs.prod.js +2 -1
  3. package/chains/dist/wagmi-core-chains.esm.js +1 -1
  4. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +33 -11
  5. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +33 -11
  6. package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +33 -11
  7. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +11 -9
  8. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +11 -9
  9. package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +11 -9
  10. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +20 -7
  11. package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +20 -7
  12. package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +20 -7
  13. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +29 -6
  14. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +29 -6
  15. package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +29 -6
  16. package/dist/{base-41fb6637.esm.js → base-4c248b82.esm.js} +7 -5
  17. package/dist/{base-321ac87a.cjs.dev.js → base-9fa7951e.cjs.dev.js} +6 -4
  18. package/dist/{base-6841ebe0.cjs.prod.js → base-b7c3f31e.cjs.prod.js} +6 -4
  19. package/dist/{chains-a0a80d94.esm.js → chains-42648bc5.esm.js} +17 -3
  20. package/dist/{chains-0dd661ab.cjs.prod.js → chains-7204b2dd.cjs.prod.js} +17 -2
  21. package/dist/{chains-98e2e613.cjs.dev.js → chains-b4a51a84.cjs.dev.js} +17 -2
  22. package/dist/{client-a06c45f3.cjs.prod.js → client-a774f14a.cjs.prod.js} +71 -14
  23. package/dist/{client-4172f963.cjs.dev.js → client-d5a20a13.cjs.dev.js} +71 -14
  24. package/dist/{client-87c1ff8b.esm.js → client-e01209d5.esm.js} +71 -14
  25. package/dist/declarations/src/actions/accounts/connect.d.ts +3 -1
  26. package/dist/declarations/src/chains.d.ts +1 -1
  27. package/dist/declarations/src/client.d.ts +1 -0
  28. package/dist/declarations/src/connectors/base.d.ts +7 -2
  29. package/dist/declarations/src/connectors/coinbaseWallet.d.ts +4 -2
  30. package/dist/declarations/src/connectors/injected.d.ts +9 -1
  31. package/dist/declarations/src/connectors/metaMask.d.ts +2 -2
  32. package/dist/declarations/src/connectors/mock/connector.d.ts +6 -2
  33. package/dist/declarations/src/connectors/mock/provider.d.ts +1 -1
  34. package/dist/declarations/src/connectors/walletConnect.d.ts +7 -2
  35. package/dist/declarations/src/constants/chains.d.ts +3 -0
  36. package/dist/declarations/src/types/index.d.ts +2 -0
  37. package/dist/wagmi-core.cjs.dev.js +20 -9
  38. package/dist/wagmi-core.cjs.prod.js +20 -9
  39. package/dist/wagmi-core.esm.js +23 -12
  40. package/package.json +3 -3
  41. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +1 -0
  42. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +1 -0
  43. package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +1 -0
@@ -2,11 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var base = require('../../../dist/base-321ac87a.cjs.dev.js');
5
+ var base = require('../../../dist/base-9fa7951e.cjs.dev.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
- var chains = require('../../../dist/chains-98e2e613.cjs.dev.js');
8
+ var client = require('../../../dist/client-d5a20a13.cjs.dev.js');
9
+ var chains = require('../../../dist/chains-b4a51a84.cjs.dev.js');
9
10
  require('eventemitter3');
11
+ require('zustand/vanilla');
12
+ require('zustand/middleware');
10
13
  require('../../../dist/rpcs-9c4eb960.cjs.dev.js');
11
14
 
12
15
  function _interopNamespace(e) {
@@ -80,10 +83,24 @@ class WalletConnectConnector extends base.Connector {
80
83
  }
81
84
 
82
85
  async connect() {
86
+ let {
87
+ chainId
88
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
89
+
83
90
  try {
84
91
  var _provider$connector$p, _provider$connector, _provider$connector$p2;
85
92
 
86
- const provider = await this.getProvider(true);
93
+ let targetChainId = chainId;
94
+
95
+ if (!targetChainId) {
96
+ const lastUsedChainId = client.getClient().lastUsedChainId;
97
+ if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId)) targetChainId = lastUsedChainId;
98
+ }
99
+
100
+ const provider = await this.getProvider({
101
+ chainId: targetChainId,
102
+ create: true
103
+ });
87
104
  provider.on('accountsChanged', this.onAccountsChanged);
88
105
  provider.on('chainChanged', this.onChainChanged);
89
106
  provider.on('disconnect', this.onDisconnect); // Defer message to the next tick to ensure wallet connect data (provided by `.enable()`) is available
@@ -135,11 +152,17 @@ class WalletConnectConnector extends base.Connector {
135
152
  return chainId;
136
153
  }
137
154
 
138
- async getProvider(create) {
155
+ async getProvider() {
156
+ var _this$options, _this$chains$;
157
+
158
+ let {
159
+ chainId = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.chainId) || ((_this$chains$ = this.chains[0]) === null || _this$chains$ === void 0 ? void 0 : _this$chains$.id),
160
+ create = false
161
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
162
+
139
163
  if (!base._classPrivateFieldGet(this, _provider) || create) {
140
- var _this$options, _this$options2, _this$options3;
164
+ var _this$options2, _this$options3;
141
165
 
142
- const chainId = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.chainId) || this.chains[0].id;
143
166
  const rpc = !((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.infuraId) ? this.chains.reduce((rpc, chain) => ({ ...rpc,
144
167
  [chain.id]: chain.rpcUrls.default
145
168
  }), {}) : {};
@@ -2,11 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var base = require('../../../dist/base-6841ebe0.cjs.prod.js');
5
+ var base = require('../../../dist/base-b7c3f31e.cjs.prod.js');
6
6
  var ethers = require('ethers');
7
7
  var utils = require('ethers/lib/utils');
8
- var chains = require('../../../dist/chains-0dd661ab.cjs.prod.js');
8
+ var client = require('../../../dist/client-a774f14a.cjs.prod.js');
9
+ var chains = require('../../../dist/chains-7204b2dd.cjs.prod.js');
9
10
  require('eventemitter3');
11
+ require('zustand/vanilla');
12
+ require('zustand/middleware');
10
13
  require('../../../dist/rpcs-b3c52116.cjs.prod.js');
11
14
 
12
15
  function _interopNamespace(e) {
@@ -80,10 +83,24 @@ class WalletConnectConnector extends base.Connector {
80
83
  }
81
84
 
82
85
  async connect() {
86
+ let {
87
+ chainId
88
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
89
+
83
90
  try {
84
91
  var _provider$connector$p, _provider$connector, _provider$connector$p2;
85
92
 
86
- const provider = await this.getProvider(true);
93
+ let targetChainId = chainId;
94
+
95
+ if (!targetChainId) {
96
+ const lastUsedChainId = client.getClient().lastUsedChainId;
97
+ if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId)) targetChainId = lastUsedChainId;
98
+ }
99
+
100
+ const provider = await this.getProvider({
101
+ chainId: targetChainId,
102
+ create: true
103
+ });
87
104
  provider.on('accountsChanged', this.onAccountsChanged);
88
105
  provider.on('chainChanged', this.onChainChanged);
89
106
  provider.on('disconnect', this.onDisconnect); // Defer message to the next tick to ensure wallet connect data (provided by `.enable()`) is available
@@ -135,11 +152,17 @@ class WalletConnectConnector extends base.Connector {
135
152
  return chainId;
136
153
  }
137
154
 
138
- async getProvider(create) {
155
+ async getProvider() {
156
+ var _this$options, _this$chains$;
157
+
158
+ let {
159
+ chainId = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.chainId) || ((_this$chains$ = this.chains[0]) === null || _this$chains$ === void 0 ? void 0 : _this$chains$.id),
160
+ create = false
161
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
162
+
139
163
  if (!base._classPrivateFieldGet(this, _provider) || create) {
140
- var _this$options, _this$options2, _this$options3;
164
+ var _this$options2, _this$options3;
141
165
 
142
- const chainId = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.chainId) || this.chains[0].id;
143
166
  const rpc = !((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.infuraId) ? this.chains.reduce((rpc, chain) => ({ ...rpc,
144
167
  [chain.id]: chain.rpcUrls.default
145
168
  }), {}) : {};
@@ -1,8 +1,11 @@
1
- import { b as Connector, _ as _classPrivateMethodInitSpec, f as _defineProperty, g as _classPrivateFieldInitSpec, n as normalizeChainId, h as _classPrivateMethodGet, U as UserRejectedRequestError, j as _classPrivateFieldGet, i as _classPrivateFieldSet, e as SwitchChainError } from '../../../dist/base-41fb6637.esm.js';
1
+ import { b as Connector, _ as _classPrivateMethodInitSpec, f as _defineProperty, g as _classPrivateFieldInitSpec, n as normalizeChainId, j as _classPrivateMethodGet, U as UserRejectedRequestError, h as _classPrivateFieldGet, i as _classPrivateFieldSet, e as SwitchChainError } from '../../../dist/base-4c248b82.esm.js';
2
2
  import { providers } from 'ethers';
3
3
  import { getAddress, hexValue } from 'ethers/lib/utils';
4
- import { a as allChains } from '../../../dist/chains-a0a80d94.esm.js';
4
+ import { g as getClient } from '../../../dist/client-e01209d5.esm.js';
5
+ import { a as allChains } from '../../../dist/chains-42648bc5.esm.js';
5
6
  import 'eventemitter3';
7
+ import 'zustand/vanilla';
8
+ import 'zustand/middleware';
6
9
  import '../../../dist/rpcs-7cfbd91c.esm.js';
7
10
 
8
11
  /**
@@ -58,10 +61,24 @@ class WalletConnectConnector extends Connector {
58
61
  }
59
62
 
60
63
  async connect() {
64
+ let {
65
+ chainId
66
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
67
+
61
68
  try {
62
69
  var _provider$connector$p, _provider$connector, _provider$connector$p2;
63
70
 
64
- const provider = await this.getProvider(true);
71
+ let targetChainId = chainId;
72
+
73
+ if (!targetChainId) {
74
+ const lastUsedChainId = getClient().lastUsedChainId;
75
+ if (lastUsedChainId && !this.isChainUnsupported(lastUsedChainId)) targetChainId = lastUsedChainId;
76
+ }
77
+
78
+ const provider = await this.getProvider({
79
+ chainId: targetChainId,
80
+ create: true
81
+ });
65
82
  provider.on('accountsChanged', this.onAccountsChanged);
66
83
  provider.on('chainChanged', this.onChainChanged);
67
84
  provider.on('disconnect', this.onDisconnect); // Defer message to the next tick to ensure wallet connect data (provided by `.enable()`) is available
@@ -113,11 +130,17 @@ class WalletConnectConnector extends Connector {
113
130
  return chainId;
114
131
  }
115
132
 
116
- async getProvider(create) {
133
+ async getProvider() {
134
+ var _this$options, _this$chains$;
135
+
136
+ let {
137
+ chainId = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.chainId) || ((_this$chains$ = this.chains[0]) === null || _this$chains$ === void 0 ? void 0 : _this$chains$.id),
138
+ create = false
139
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
140
+
117
141
  if (!_classPrivateFieldGet(this, _provider) || create) {
118
- var _this$options, _this$options2, _this$options3;
142
+ var _this$options2, _this$options3;
119
143
 
120
- const chainId = ((_this$options = this.options) === null || _this$options === void 0 ? void 0 : _this$options.chainId) || this.chains[0].id;
121
144
  const rpc = !((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.infuraId) ? this.chains.reduce((rpc, chain) => ({ ...rpc,
122
145
  [chain.id]: chain.rpcUrls.default
123
146
  }), {}) : {};
@@ -1,5 +1,5 @@
1
1
  import EventEmitter from 'eventemitter3';
2
- import { d as defaultChains } from './chains-a0a80d94.esm.js';
2
+ import { d as defaultChains } from './chains-42648bc5.esm.js';
3
3
 
4
4
  function _checkPrivateRedeclaration(obj, privateCollection) {
5
5
  if (privateCollection.has(obj)) {
@@ -250,9 +250,11 @@ class Connector extends EventEmitter {
250
250
  getBlockExplorerUrls(chain) {
251
251
  var _chain$blockExplorers;
252
252
 
253
- const blockExplorer = (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default;
254
- if (Array.isArray(blockExplorer)) return blockExplorer.map(x => x.url);
255
- if (blockExplorer !== null && blockExplorer !== void 0 && blockExplorer.url) return [blockExplorer.url];
253
+ const {
254
+ default: blockExplorer,
255
+ ...blockExplorers
256
+ } = (_chain$blockExplorers = chain.blockExplorers) !== null && _chain$blockExplorers !== void 0 ? _chain$blockExplorers : {};
257
+ if (blockExplorer) return [blockExplorer.url, ...Object.values(blockExplorers).map(x => x.url)];
256
258
  return [];
257
259
  }
258
260
 
@@ -262,4 +264,4 @@ class Connector extends EventEmitter {
262
264
 
263
265
  }
264
266
 
265
- export { AddChainError as A, ConnectorAlreadyConnectedError as C, ProviderRpcError as P, ResourceUnavailableError as R, SwitchChainNotSupportedError as S, UserRejectedRequestError as U, _classPrivateMethodInitSpec as _, ConnectorNotFoundError as a, Connector as b, ChainNotConfiguredError as c, RpcError as d, SwitchChainError as e, _defineProperty as f, _classPrivateFieldInitSpec as g, _classPrivateMethodGet as h, _classPrivateFieldSet as i, _classPrivateFieldGet as j, normalizeChainId as n };
267
+ export { AddChainError as A, ConnectorAlreadyConnectedError as C, ProviderRpcError as P, ResourceUnavailableError as R, SwitchChainNotSupportedError as S, UserRejectedRequestError as U, _classPrivateMethodInitSpec as _, ConnectorNotFoundError as a, Connector as b, ChainNotConfiguredError as c, RpcError as d, SwitchChainError as e, _defineProperty as f, _classPrivateFieldInitSpec as g, _classPrivateFieldGet as h, _classPrivateFieldSet as i, _classPrivateMethodGet as j, normalizeChainId as n };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var EventEmitter = require('eventemitter3');
4
- var chains = require('./chains-98e2e613.cjs.dev.js');
4
+ var chains = require('./chains-b4a51a84.cjs.dev.js');
5
5
 
6
6
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
7
7
 
@@ -256,9 +256,11 @@ class Connector extends EventEmitter__default["default"] {
256
256
  getBlockExplorerUrls(chain) {
257
257
  var _chain$blockExplorers;
258
258
 
259
- const blockExplorer = (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default;
260
- if (Array.isArray(blockExplorer)) return blockExplorer.map(x => x.url);
261
- if (blockExplorer !== null && blockExplorer !== void 0 && blockExplorer.url) return [blockExplorer.url];
259
+ const {
260
+ default: blockExplorer,
261
+ ...blockExplorers
262
+ } = (_chain$blockExplorers = chain.blockExplorers) !== null && _chain$blockExplorers !== void 0 ? _chain$blockExplorers : {};
263
+ if (blockExplorer) return [blockExplorer.url, ...Object.values(blockExplorers).map(x => x.url)];
262
264
  return [];
263
265
  }
264
266
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var EventEmitter = require('eventemitter3');
4
- var chains = require('./chains-0dd661ab.cjs.prod.js');
4
+ var chains = require('./chains-7204b2dd.cjs.prod.js');
5
5
 
6
6
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
7
7
 
@@ -256,9 +256,11 @@ class Connector extends EventEmitter__default["default"] {
256
256
  getBlockExplorerUrls(chain) {
257
257
  var _chain$blockExplorers;
258
258
 
259
- const blockExplorer = (_chain$blockExplorers = chain.blockExplorers) === null || _chain$blockExplorers === void 0 ? void 0 : _chain$blockExplorers.default;
260
- if (Array.isArray(blockExplorer)) return blockExplorer.map(x => x.url);
261
- if (blockExplorer !== null && blockExplorer !== void 0 && blockExplorer.url) return [blockExplorer.url];
259
+ const {
260
+ default: blockExplorer,
261
+ ...blockExplorers
262
+ } = (_chain$blockExplorers = chain.blockExplorers) !== null && _chain$blockExplorers !== void 0 ? _chain$blockExplorers : {};
263
+ if (blockExplorer) return [blockExplorer.url, ...Object.values(blockExplorers).map(x => x.url)];
262
264
  return [];
263
265
  }
264
266
 
@@ -60,12 +60,14 @@ const chainId = {
60
60
  arbitrum: 42161,
61
61
  arbitrumRinkeby: 421611,
62
62
  localhost: 1337,
63
- hardhat: 31337
63
+ hardhat: 31337,
64
+ foundry: 31337
64
65
  };
65
66
  const mainnet = {
66
67
  id: chainId.mainnet,
67
68
  name: 'Ethereum',
68
69
  network: 'homestead',
70
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
69
71
  nativeCurrency: {
70
72
  name: 'Ether',
71
73
  symbol: 'ETH',
@@ -85,6 +87,7 @@ const ropsten = {
85
87
  id: chainId.ropsten,
86
88
  name: 'Ropsten',
87
89
  network: 'ropsten',
90
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
88
91
  nativeCurrency: {
89
92
  name: 'Ropsten Ether',
90
93
  symbol: 'ropETH',
@@ -105,6 +108,7 @@ const rinkeby = {
105
108
  id: chainId.rinkeby,
106
109
  name: 'Rinkeby',
107
110
  network: 'rinkeby',
111
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
108
112
  nativeCurrency: {
109
113
  name: 'Rinkeby Ether',
110
114
  symbol: 'rETH',
@@ -125,6 +129,7 @@ const goerli = {
125
129
  id: chainId.goerli,
126
130
  name: 'Goerli',
127
131
  network: 'goerli',
132
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
128
133
  nativeCurrency: {
129
134
  name: 'Goerli Ether',
130
135
  symbol: 'gETH',
@@ -302,6 +307,14 @@ const hardhat = {
302
307
  default: 'http://127.0.0.1:8545'
303
308
  }
304
309
  };
310
+ const foundry = {
311
+ id: chainId.hardhat,
312
+ name: 'Foundry',
313
+ network: 'foundry',
314
+ rpcUrls: {
315
+ default: 'http://127.0.0.1:8545'
316
+ }
317
+ };
305
318
  /**
306
319
  * Common chains for convenience
307
320
  * Should not contain all possible chains
@@ -320,10 +333,11 @@ const chain = {
320
333
  arbitrum,
321
334
  arbitrumRinkeby,
322
335
  localhost,
323
- hardhat
336
+ hardhat,
337
+ foundry
324
338
  };
325
339
  const allChains = Object.values(chain);
326
340
  const defaultChains = [chain.mainnet, chain.ropsten, chain.rinkeby, chain.goerli, chain.kovan];
327
341
  const defaultL2Chains = [chain.arbitrum, chain.arbitrumRinkeby, chain.optimism, chain.optimismKovan];
328
342
 
329
- export { allChains as a, chainId as b, chain as c, defaultChains as d, defaultL2Chains as e, etherscanBlockExplorers as f, arbitrum as g, arbitrumRinkeby as h, goerli as i, hardhat as j, kovan as k, localhost as l, mainnet as m, optimismKovan as n, optimism as o, polygon as p, polygonMumbai as q, rinkeby as r, ropsten as s };
343
+ export { allChains as a, chainId as b, chain as c, defaultChains as d, defaultL2Chains as e, etherscanBlockExplorers as f, arbitrum as g, arbitrumRinkeby as h, foundry as i, goerli as j, hardhat as k, kovan as l, localhost as m, mainnet as n, optimism as o, optimismKovan as p, polygon as q, polygonMumbai as r, rinkeby as s, ropsten as t };
@@ -62,12 +62,14 @@ const chainId = {
62
62
  arbitrum: 42161,
63
63
  arbitrumRinkeby: 421611,
64
64
  localhost: 1337,
65
- hardhat: 31337
65
+ hardhat: 31337,
66
+ foundry: 31337
66
67
  };
67
68
  const mainnet = {
68
69
  id: chainId.mainnet,
69
70
  name: 'Ethereum',
70
71
  network: 'homestead',
72
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
71
73
  nativeCurrency: {
72
74
  name: 'Ether',
73
75
  symbol: 'ETH',
@@ -87,6 +89,7 @@ const ropsten = {
87
89
  id: chainId.ropsten,
88
90
  name: 'Ropsten',
89
91
  network: 'ropsten',
92
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
90
93
  nativeCurrency: {
91
94
  name: 'Ropsten Ether',
92
95
  symbol: 'ropETH',
@@ -107,6 +110,7 @@ const rinkeby = {
107
110
  id: chainId.rinkeby,
108
111
  name: 'Rinkeby',
109
112
  network: 'rinkeby',
113
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
110
114
  nativeCurrency: {
111
115
  name: 'Rinkeby Ether',
112
116
  symbol: 'rETH',
@@ -127,6 +131,7 @@ const goerli = {
127
131
  id: chainId.goerli,
128
132
  name: 'Goerli',
129
133
  network: 'goerli',
134
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
130
135
  nativeCurrency: {
131
136
  name: 'Goerli Ether',
132
137
  symbol: 'gETH',
@@ -304,6 +309,14 @@ const hardhat = {
304
309
  default: 'http://127.0.0.1:8545'
305
310
  }
306
311
  };
312
+ const foundry = {
313
+ id: chainId.hardhat,
314
+ name: 'Foundry',
315
+ network: 'foundry',
316
+ rpcUrls: {
317
+ default: 'http://127.0.0.1:8545'
318
+ }
319
+ };
307
320
  /**
308
321
  * Common chains for convenience
309
322
  * Should not contain all possible chains
@@ -322,7 +335,8 @@ const chain = {
322
335
  arbitrum,
323
336
  arbitrumRinkeby,
324
337
  localhost,
325
- hardhat
338
+ hardhat,
339
+ foundry
326
340
  };
327
341
  const allChains = Object.values(chain);
328
342
  const defaultChains = [chain.mainnet, chain.ropsten, chain.rinkeby, chain.goerli, chain.kovan];
@@ -336,6 +350,7 @@ exports.chainId = chainId;
336
350
  exports.defaultChains = defaultChains;
337
351
  exports.defaultL2Chains = defaultL2Chains;
338
352
  exports.etherscanBlockExplorers = etherscanBlockExplorers;
353
+ exports.foundry = foundry;
339
354
  exports.goerli = goerli;
340
355
  exports.hardhat = hardhat;
341
356
  exports.kovan = kovan;
@@ -62,12 +62,14 @@ const chainId = {
62
62
  arbitrum: 42161,
63
63
  arbitrumRinkeby: 421611,
64
64
  localhost: 1337,
65
- hardhat: 31337
65
+ hardhat: 31337,
66
+ foundry: 31337
66
67
  };
67
68
  const mainnet = {
68
69
  id: chainId.mainnet,
69
70
  name: 'Ethereum',
70
71
  network: 'homestead',
72
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
71
73
  nativeCurrency: {
72
74
  name: 'Ether',
73
75
  symbol: 'ETH',
@@ -87,6 +89,7 @@ const ropsten = {
87
89
  id: chainId.ropsten,
88
90
  name: 'Ropsten',
89
91
  network: 'ropsten',
92
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
90
93
  nativeCurrency: {
91
94
  name: 'Ropsten Ether',
92
95
  symbol: 'ropETH',
@@ -107,6 +110,7 @@ const rinkeby = {
107
110
  id: chainId.rinkeby,
108
111
  name: 'Rinkeby',
109
112
  network: 'rinkeby',
113
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
110
114
  nativeCurrency: {
111
115
  name: 'Rinkeby Ether',
112
116
  symbol: 'rETH',
@@ -127,6 +131,7 @@ const goerli = {
127
131
  id: chainId.goerli,
128
132
  name: 'Goerli',
129
133
  network: 'goerli',
134
+ ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
130
135
  nativeCurrency: {
131
136
  name: 'Goerli Ether',
132
137
  symbol: 'gETH',
@@ -304,6 +309,14 @@ const hardhat = {
304
309
  default: 'http://127.0.0.1:8545'
305
310
  }
306
311
  };
312
+ const foundry = {
313
+ id: chainId.hardhat,
314
+ name: 'Foundry',
315
+ network: 'foundry',
316
+ rpcUrls: {
317
+ default: 'http://127.0.0.1:8545'
318
+ }
319
+ };
307
320
  /**
308
321
  * Common chains for convenience
309
322
  * Should not contain all possible chains
@@ -322,7 +335,8 @@ const chain = {
322
335
  arbitrum,
323
336
  arbitrumRinkeby,
324
337
  localhost,
325
- hardhat
338
+ hardhat,
339
+ foundry
326
340
  };
327
341
  const allChains = Object.values(chain);
328
342
  const defaultChains = [chain.mainnet, chain.ropsten, chain.rinkeby, chain.goerli, chain.kovan];
@@ -336,6 +350,7 @@ exports.chainId = chainId;
336
350
  exports.defaultChains = defaultChains;
337
351
  exports.defaultL2Chains = defaultL2Chains;
338
352
  exports.etherscanBlockExplorers = etherscanBlockExplorers;
353
+ exports.foundry = foundry;
339
354
  exports.goerli = goerli;
340
355
  exports.hardhat = hardhat;
341
356
  exports.kovan = kovan;