@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.
- package/chains/dist/wagmi-core-chains.cjs.dev.js +2 -1
- package/chains/dist/wagmi-core-chains.cjs.prod.js +2 -1
- package/chains/dist/wagmi-core-chains.esm.js +1 -1
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.dev.js +33 -11
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.cjs.prod.js +33 -11
- package/connectors/coinbaseWallet/dist/wagmi-core-connectors-coinbaseWallet.esm.js +33 -11
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.dev.js +11 -9
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.cjs.prod.js +11 -9
- package/connectors/metaMask/dist/wagmi-core-connectors-metaMask.esm.js +11 -9
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.dev.js +20 -7
- package/connectors/mock/dist/wagmi-core-connectors-mock.cjs.prod.js +20 -7
- package/connectors/mock/dist/wagmi-core-connectors-mock.esm.js +20 -7
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.dev.js +29 -6
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.cjs.prod.js +29 -6
- package/connectors/walletConnect/dist/wagmi-core-connectors-walletConnect.esm.js +29 -6
- package/dist/{base-41fb6637.esm.js → base-4c248b82.esm.js} +7 -5
- package/dist/{base-321ac87a.cjs.dev.js → base-9fa7951e.cjs.dev.js} +6 -4
- package/dist/{base-6841ebe0.cjs.prod.js → base-b7c3f31e.cjs.prod.js} +6 -4
- package/dist/{chains-a0a80d94.esm.js → chains-42648bc5.esm.js} +17 -3
- package/dist/{chains-0dd661ab.cjs.prod.js → chains-7204b2dd.cjs.prod.js} +17 -2
- package/dist/{chains-98e2e613.cjs.dev.js → chains-b4a51a84.cjs.dev.js} +17 -2
- package/dist/{client-a06c45f3.cjs.prod.js → client-a774f14a.cjs.prod.js} +71 -14
- package/dist/{client-4172f963.cjs.dev.js → client-d5a20a13.cjs.dev.js} +71 -14
- package/dist/{client-87c1ff8b.esm.js → client-e01209d5.esm.js} +71 -14
- package/dist/declarations/src/actions/accounts/connect.d.ts +3 -1
- package/dist/declarations/src/chains.d.ts +1 -1
- package/dist/declarations/src/client.d.ts +1 -0
- package/dist/declarations/src/connectors/base.d.ts +7 -2
- package/dist/declarations/src/connectors/coinbaseWallet.d.ts +4 -2
- package/dist/declarations/src/connectors/injected.d.ts +9 -1
- package/dist/declarations/src/connectors/metaMask.d.ts +2 -2
- package/dist/declarations/src/connectors/mock/connector.d.ts +6 -2
- package/dist/declarations/src/connectors/mock/provider.d.ts +1 -1
- package/dist/declarations/src/connectors/walletConnect.d.ts +7 -2
- package/dist/declarations/src/constants/chains.d.ts +3 -0
- package/dist/declarations/src/types/index.d.ts +2 -0
- package/dist/wagmi-core.cjs.dev.js +20 -9
- package/dist/wagmi-core.cjs.prod.js +20 -9
- package/dist/wagmi-core.esm.js +23 -12
- package/package.json +3 -3
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.dev.js +1 -0
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.cjs.prod.js +1 -0
- package/providers/jsonRpc/dist/wagmi-core-providers-jsonRpc.esm.js +1 -0
|
@@ -34,11 +34,16 @@ export declare abstract class Connector<Provider = any, Options = any> extends E
|
|
|
34
34
|
chains?: Chain[];
|
|
35
35
|
options: Options;
|
|
36
36
|
});
|
|
37
|
-
abstract connect(
|
|
37
|
+
abstract connect(config?: {
|
|
38
|
+
chainId?: number;
|
|
39
|
+
}): Promise<Required<ConnectorData>>;
|
|
38
40
|
abstract disconnect(): Promise<void>;
|
|
39
41
|
abstract getAccount(): Promise<string>;
|
|
40
42
|
abstract getChainId(): Promise<number>;
|
|
41
|
-
abstract getProvider(
|
|
43
|
+
abstract getProvider(config?: {
|
|
44
|
+
chainId?: number;
|
|
45
|
+
create?: boolean;
|
|
46
|
+
}): Promise<Provider>;
|
|
42
47
|
abstract getSigner(): Promise<Signer>;
|
|
43
48
|
abstract isAuthorized(): Promise<boolean>;
|
|
44
49
|
switchChain?(chainId: number): Promise<Chain>;
|
|
@@ -20,11 +20,13 @@ export declare class CoinbaseWalletConnector extends Connector<CoinbaseWalletPro
|
|
|
20
20
|
readonly id = "coinbaseWallet";
|
|
21
21
|
readonly name = "Coinbase Wallet";
|
|
22
22
|
readonly ready = true;
|
|
23
|
-
constructor(
|
|
23
|
+
constructor({ chains, options }: {
|
|
24
24
|
chains?: Chain[];
|
|
25
25
|
options: Options;
|
|
26
26
|
});
|
|
27
|
-
connect(
|
|
27
|
+
connect({ chainId }?: {
|
|
28
|
+
chainId?: number;
|
|
29
|
+
}): Promise<{
|
|
28
30
|
account: string;
|
|
29
31
|
chain: {
|
|
30
32
|
id: number;
|
|
@@ -4,6 +4,12 @@ import { Connector } from './base';
|
|
|
4
4
|
export declare type InjectedConnectorOptions = {
|
|
5
5
|
/** Name of connector */
|
|
6
6
|
name?: string | ((detectedName: string | string[]) => string);
|
|
7
|
+
/**
|
|
8
|
+
* MetaMask 10.9.3 emits disconnect event when chain is changed.
|
|
9
|
+
* This flag prevents the `"disconnect"` event from being emitted upon switching chains.
|
|
10
|
+
* @see https://github.com/MetaMask/metamask-extension/issues/13375#issuecomment-1027663334
|
|
11
|
+
*/
|
|
12
|
+
shimChainChangedDisconnect?: boolean;
|
|
7
13
|
/**
|
|
8
14
|
* MetaMask and other injected providers do not support programmatic disconnect.
|
|
9
15
|
* This flag simulates the disconnect behavior by keeping track of connection status in storage.
|
|
@@ -21,7 +27,9 @@ export declare class InjectedConnector extends Connector<Window['ethereum'], Inj
|
|
|
21
27
|
chains?: Chain[];
|
|
22
28
|
options?: InjectedConnectorOptions;
|
|
23
29
|
});
|
|
24
|
-
connect(
|
|
30
|
+
connect({ chainId }?: {
|
|
31
|
+
chainId?: number;
|
|
32
|
+
}): Promise<{
|
|
25
33
|
account: string;
|
|
26
34
|
chain: {
|
|
27
35
|
id: number;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Chain } from '../types';
|
|
2
2
|
import { InjectedConnector, InjectedConnectorOptions } from './injected';
|
|
3
|
-
export declare type MetaMaskConnectorOptions = Pick<InjectedConnectorOptions, 'shimDisconnect'>;
|
|
3
|
+
export declare type MetaMaskConnectorOptions = Pick<InjectedConnectorOptions, 'shimChainChangedDisconnect' | 'shimDisconnect'>;
|
|
4
4
|
export declare class MetaMaskConnector extends InjectedConnector {
|
|
5
5
|
#private;
|
|
6
6
|
readonly id = "metaMask";
|
|
7
7
|
readonly ready: boolean;
|
|
8
|
-
constructor({ chains, options, }?: {
|
|
8
|
+
constructor({ chains, options: options_, }?: {
|
|
9
9
|
chains?: Chain[];
|
|
10
10
|
options?: MetaMaskConnectorOptions;
|
|
11
11
|
});
|
|
@@ -10,7 +10,9 @@ export declare class MockConnector extends Connector<MockProvider, MockProviderO
|
|
|
10
10
|
chains?: Chain[];
|
|
11
11
|
options: MockProviderOptions;
|
|
12
12
|
});
|
|
13
|
-
connect(
|
|
13
|
+
connect({ chainId }?: {
|
|
14
|
+
chainId?: number;
|
|
15
|
+
}): Promise<{
|
|
14
16
|
account: string;
|
|
15
17
|
chain: {
|
|
16
18
|
id: number;
|
|
@@ -21,7 +23,9 @@ export declare class MockConnector extends Connector<MockProvider, MockProviderO
|
|
|
21
23
|
disconnect(): Promise<void>;
|
|
22
24
|
getAccount(): Promise<string>;
|
|
23
25
|
getChainId(): Promise<number>;
|
|
24
|
-
getProvider(
|
|
26
|
+
getProvider({ chainId }?: {
|
|
27
|
+
chainId?: number;
|
|
28
|
+
}): Promise<MockProvider>;
|
|
25
29
|
getSigner(): Promise<import("ethers").Signer>;
|
|
26
30
|
isAuthorized(): Promise<boolean>;
|
|
27
31
|
watchAsset(asset: {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { default as EventEmitter } from 'eventemitter3';
|
|
2
2
|
import { Signer, providers } from 'ethers';
|
|
3
3
|
export declare type MockProviderOptions = {
|
|
4
|
+
chainId?: number;
|
|
4
5
|
flags?: {
|
|
5
6
|
isAuthorized?: boolean;
|
|
6
7
|
failConnect?: boolean;
|
|
7
8
|
failSwitchChain?: boolean;
|
|
8
9
|
noSwitchChain?: boolean;
|
|
9
10
|
};
|
|
10
|
-
network?: number | string;
|
|
11
11
|
signer: Signer;
|
|
12
12
|
};
|
|
13
13
|
declare type Events = {
|
|
@@ -12,7 +12,9 @@ export declare class WalletConnectConnector extends Connector<WalletConnectProvi
|
|
|
12
12
|
chains?: Chain[];
|
|
13
13
|
options: WalletConnectOptions;
|
|
14
14
|
});
|
|
15
|
-
connect(
|
|
15
|
+
connect({ chainId }?: {
|
|
16
|
+
chainId?: number;
|
|
17
|
+
}): Promise<{
|
|
16
18
|
account: string;
|
|
17
19
|
chain: {
|
|
18
20
|
id: number;
|
|
@@ -23,7 +25,10 @@ export declare class WalletConnectConnector extends Connector<WalletConnectProvi
|
|
|
23
25
|
disconnect(): Promise<void>;
|
|
24
26
|
getAccount(): Promise<string>;
|
|
25
27
|
getChainId(): Promise<number>;
|
|
26
|
-
getProvider(create?:
|
|
28
|
+
getProvider({ chainId, create, }?: {
|
|
29
|
+
chainId?: number | undefined;
|
|
30
|
+
create?: boolean | undefined;
|
|
31
|
+
}): Promise<WalletConnectProvider>;
|
|
27
32
|
getSigner(): Promise<providers.JsonRpcSigner>;
|
|
28
33
|
isAuthorized(): Promise<boolean>;
|
|
29
34
|
protected onAccountsChanged: (accounts: string[]) => void;
|
|
@@ -13,6 +13,7 @@ export declare const chainId: {
|
|
|
13
13
|
readonly arbitrumRinkeby: 421611;
|
|
14
14
|
readonly localhost: 1337;
|
|
15
15
|
readonly hardhat: 31337;
|
|
16
|
+
readonly foundry: 31337;
|
|
16
17
|
};
|
|
17
18
|
export declare type ChainName = keyof typeof chainId;
|
|
18
19
|
export declare const mainnet: Chain;
|
|
@@ -28,6 +29,7 @@ export declare const arbitrum: Chain;
|
|
|
28
29
|
export declare const arbitrumRinkeby: Chain;
|
|
29
30
|
export declare const localhost: Chain;
|
|
30
31
|
export declare const hardhat: Chain;
|
|
32
|
+
export declare const foundry: Chain;
|
|
31
33
|
/**
|
|
32
34
|
* Common chains for convenience
|
|
33
35
|
* Should not contain all possible chains
|
|
@@ -46,6 +48,7 @@ export declare const chain: {
|
|
|
46
48
|
readonly arbitrumRinkeby: Chain;
|
|
47
49
|
readonly localhost: Chain;
|
|
48
50
|
readonly hardhat: Chain;
|
|
51
|
+
readonly foundry: Chain;
|
|
49
52
|
};
|
|
50
53
|
export declare const allChains: Chain[];
|
|
51
54
|
export declare const defaultChains: Chain[];
|
|
@@ -7,6 +7,8 @@ export declare type Chain = {
|
|
|
7
7
|
name: string;
|
|
8
8
|
/** Internal network name */
|
|
9
9
|
network: string;
|
|
10
|
+
/** ENS registry address */
|
|
11
|
+
ensAddress?: string;
|
|
10
12
|
/** Currency used by chain */
|
|
11
13
|
nativeCurrency?: AddEthereumChainParameter['nativeCurrency'];
|
|
12
14
|
/** Collection of RPC endpoints */
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var client = require('./client-
|
|
6
|
-
var base = require('./base-
|
|
5
|
+
var client = require('./client-d5a20a13.cjs.dev.js');
|
|
6
|
+
var base = require('./base-9fa7951e.cjs.dev.js');
|
|
7
7
|
var ethers$1 = require('ethers/lib/ethers');
|
|
8
8
|
var utils = require('ethers/lib/utils');
|
|
9
|
-
var chains = require('./chains-
|
|
9
|
+
var chains = require('./chains-b4a51a84.cjs.dev.js');
|
|
10
10
|
var ethers = require('ethers');
|
|
11
11
|
var rpcs = require('./rpcs-9c4eb960.cjs.dev.js');
|
|
12
12
|
require('zustand/vanilla');
|
|
@@ -27,6 +27,7 @@ function configureChains(defaultChains, providers) {
|
|
|
27
27
|
targetQuorum = 1,
|
|
28
28
|
stallTimeout
|
|
29
29
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
30
|
+
if (!defaultChains.length) throw new Error('must have at least one chain');
|
|
30
31
|
if (targetQuorum < minQuorum) throw new Error('quorum cannot be lower than minQuorum');
|
|
31
32
|
let chains = [];
|
|
32
33
|
const providers_ = {};
|
|
@@ -68,25 +69,32 @@ function configureChains(defaultChains, providers) {
|
|
|
68
69
|
return {
|
|
69
70
|
chains,
|
|
70
71
|
provider: _ref2 => {
|
|
72
|
+
var _defaultChains$, _chainProviders$;
|
|
73
|
+
|
|
71
74
|
let {
|
|
72
75
|
chainId
|
|
73
76
|
} = _ref2;
|
|
74
|
-
const
|
|
75
|
-
|
|
77
|
+
const activeChainId = chainId && chains.some(x => x.id === chainId) ? chainId : (_defaultChains$ = defaultChains[0]) === null || _defaultChains$ === void 0 ? void 0 : _defaultChains$.id;
|
|
78
|
+
const chainProviders = providers_[activeChainId];
|
|
79
|
+
if (!chainProviders) throw new Error("No providers configured for chain \"".concat(activeChainId, "\""));
|
|
80
|
+
if (chainProviders.length === 1) return (_chainProviders$ = chainProviders[0]) === null || _chainProviders$ === void 0 ? void 0 : _chainProviders$.call(chainProviders);
|
|
76
81
|
return fallbackProvider(targetQuorum, minQuorum, chainProviders, {
|
|
77
82
|
stallTimeout
|
|
78
83
|
});
|
|
79
84
|
},
|
|
80
85
|
webSocketProvider: _ref3 => {
|
|
86
|
+
var _defaultChains$2, _chainWebSocketProvid, _chainWebSocketProvid2;
|
|
87
|
+
|
|
81
88
|
let {
|
|
82
89
|
chainId
|
|
83
90
|
} = _ref3;
|
|
84
|
-
const
|
|
91
|
+
const activeChainId = chainId && chains.some(x => x.id === chainId) ? chainId : (_defaultChains$2 = defaultChains[0]) === null || _defaultChains$2 === void 0 ? void 0 : _defaultChains$2.id;
|
|
92
|
+
const chainWebSocketProviders = webSocketProviders_[activeChainId];
|
|
85
93
|
if (!chainWebSocketProviders) return undefined;
|
|
86
|
-
if (chainWebSocketProviders.length === 1) return chainWebSocketProviders[0](); // WebSockets do not work with `fallbackProvider`
|
|
94
|
+
if (chainWebSocketProviders.length === 1) return (_chainWebSocketProvid = chainWebSocketProviders[0]) === null || _chainWebSocketProvid === void 0 ? void 0 : _chainWebSocketProvid.call(chainWebSocketProviders); // WebSockets do not work with `fallbackProvider`
|
|
87
95
|
// Default to first available
|
|
88
96
|
|
|
89
|
-
return chainWebSocketProviders[0]();
|
|
97
|
+
return (_chainWebSocketProvid2 = chainWebSocketProviders[0]) === null || _chainWebSocketProvid2 === void 0 ? void 0 : _chainWebSocketProvid2.call(chainWebSocketProviders);
|
|
90
98
|
}
|
|
91
99
|
};
|
|
92
100
|
}
|
|
@@ -124,11 +132,14 @@ function fallbackProvider(targetQuorum, minQuorum, providers_, _ref4) {
|
|
|
124
132
|
|
|
125
133
|
async function connect(_ref) {
|
|
126
134
|
let {
|
|
135
|
+
chainId,
|
|
127
136
|
connector
|
|
128
137
|
} = _ref;
|
|
129
138
|
const activeConnector = client.client.connector;
|
|
130
139
|
if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new base.ConnectorAlreadyConnectedError();
|
|
131
|
-
const data = await connector.connect(
|
|
140
|
+
const data = await connector.connect({
|
|
141
|
+
chainId
|
|
142
|
+
});
|
|
132
143
|
client.client.setLastUsedConnector(connector.id);
|
|
133
144
|
client.client.setState(x => ({ ...x,
|
|
134
145
|
connector,
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var client = require('./client-
|
|
6
|
-
var base = require('./base-
|
|
5
|
+
var client = require('./client-a774f14a.cjs.prod.js');
|
|
6
|
+
var base = require('./base-b7c3f31e.cjs.prod.js');
|
|
7
7
|
var ethers$1 = require('ethers/lib/ethers');
|
|
8
8
|
var utils = require('ethers/lib/utils');
|
|
9
|
-
var chains = require('./chains-
|
|
9
|
+
var chains = require('./chains-7204b2dd.cjs.prod.js');
|
|
10
10
|
var ethers = require('ethers');
|
|
11
11
|
var rpcs = require('./rpcs-b3c52116.cjs.prod.js');
|
|
12
12
|
require('zustand/vanilla');
|
|
@@ -27,6 +27,7 @@ function configureChains(defaultChains, providers) {
|
|
|
27
27
|
targetQuorum = 1,
|
|
28
28
|
stallTimeout
|
|
29
29
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
30
|
+
if (!defaultChains.length) throw new Error('must have at least one chain');
|
|
30
31
|
if (targetQuorum < minQuorum) throw new Error('quorum cannot be lower than minQuorum');
|
|
31
32
|
let chains = [];
|
|
32
33
|
const providers_ = {};
|
|
@@ -68,25 +69,32 @@ function configureChains(defaultChains, providers) {
|
|
|
68
69
|
return {
|
|
69
70
|
chains,
|
|
70
71
|
provider: _ref2 => {
|
|
72
|
+
var _defaultChains$, _chainProviders$;
|
|
73
|
+
|
|
71
74
|
let {
|
|
72
75
|
chainId
|
|
73
76
|
} = _ref2;
|
|
74
|
-
const
|
|
75
|
-
|
|
77
|
+
const activeChainId = chainId && chains.some(x => x.id === chainId) ? chainId : (_defaultChains$ = defaultChains[0]) === null || _defaultChains$ === void 0 ? void 0 : _defaultChains$.id;
|
|
78
|
+
const chainProviders = providers_[activeChainId];
|
|
79
|
+
if (!chainProviders) throw new Error("No providers configured for chain \"".concat(activeChainId, "\""));
|
|
80
|
+
if (chainProviders.length === 1) return (_chainProviders$ = chainProviders[0]) === null || _chainProviders$ === void 0 ? void 0 : _chainProviders$.call(chainProviders);
|
|
76
81
|
return fallbackProvider(targetQuorum, minQuorum, chainProviders, {
|
|
77
82
|
stallTimeout
|
|
78
83
|
});
|
|
79
84
|
},
|
|
80
85
|
webSocketProvider: _ref3 => {
|
|
86
|
+
var _defaultChains$2, _chainWebSocketProvid, _chainWebSocketProvid2;
|
|
87
|
+
|
|
81
88
|
let {
|
|
82
89
|
chainId
|
|
83
90
|
} = _ref3;
|
|
84
|
-
const
|
|
91
|
+
const activeChainId = chainId && chains.some(x => x.id === chainId) ? chainId : (_defaultChains$2 = defaultChains[0]) === null || _defaultChains$2 === void 0 ? void 0 : _defaultChains$2.id;
|
|
92
|
+
const chainWebSocketProviders = webSocketProviders_[activeChainId];
|
|
85
93
|
if (!chainWebSocketProviders) return undefined;
|
|
86
|
-
if (chainWebSocketProviders.length === 1) return chainWebSocketProviders[0](); // WebSockets do not work with `fallbackProvider`
|
|
94
|
+
if (chainWebSocketProviders.length === 1) return (_chainWebSocketProvid = chainWebSocketProviders[0]) === null || _chainWebSocketProvid === void 0 ? void 0 : _chainWebSocketProvid.call(chainWebSocketProviders); // WebSockets do not work with `fallbackProvider`
|
|
87
95
|
// Default to first available
|
|
88
96
|
|
|
89
|
-
return chainWebSocketProviders[0]();
|
|
97
|
+
return (_chainWebSocketProvid2 = chainWebSocketProviders[0]) === null || _chainWebSocketProvid2 === void 0 ? void 0 : _chainWebSocketProvid2.call(chainWebSocketProviders);
|
|
90
98
|
}
|
|
91
99
|
};
|
|
92
100
|
}
|
|
@@ -124,11 +132,14 @@ function fallbackProvider(targetQuorum, minQuorum, providers_, _ref4) {
|
|
|
124
132
|
|
|
125
133
|
async function connect(_ref) {
|
|
126
134
|
let {
|
|
135
|
+
chainId,
|
|
127
136
|
connector
|
|
128
137
|
} = _ref;
|
|
129
138
|
const activeConnector = client.client.connector;
|
|
130
139
|
if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new base.ConnectorAlreadyConnectedError();
|
|
131
|
-
const data = await connector.connect(
|
|
140
|
+
const data = await connector.connect({
|
|
141
|
+
chainId
|
|
142
|
+
});
|
|
132
143
|
client.client.setLastUsedConnector(connector.id);
|
|
133
144
|
client.client.setState(x => ({ ...x,
|
|
134
145
|
connector,
|
package/dist/wagmi-core.esm.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { c as client, g as getClient } from './client-
|
|
2
|
-
export { C as Client, I as InjectedConnector, a as createClient, b as createStorage, n as noopStorage } from './client-
|
|
3
|
-
import { C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, U as UserRejectedRequestError, S as SwitchChainNotSupportedError } from './base-
|
|
4
|
-
export { A as AddChainError, c as ChainNotConfiguredError, b as Connector, C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, P as ProviderRpcError, R as ResourceUnavailableError, d as RpcError, e as SwitchChainError, S as SwitchChainNotSupportedError, U as UserRejectedRequestError, n as normalizeChainId } from './base-
|
|
1
|
+
import { c as client, g as getClient } from './client-e01209d5.esm.js';
|
|
2
|
+
export { C as Client, I as InjectedConnector, a as createClient, b as createStorage, n as noopStorage } from './client-e01209d5.esm.js';
|
|
3
|
+
import { C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, U as UserRejectedRequestError, S as SwitchChainNotSupportedError } from './base-4c248b82.esm.js';
|
|
4
|
+
export { A as AddChainError, c as ChainNotConfiguredError, b as Connector, C as ConnectorAlreadyConnectedError, a as ConnectorNotFoundError, P as ProviderRpcError, R as ResourceUnavailableError, d as RpcError, e as SwitchChainError, S as SwitchChainNotSupportedError, U as UserRejectedRequestError, n as normalizeChainId } from './base-4c248b82.esm.js';
|
|
5
5
|
import { Contract } from 'ethers/lib/ethers';
|
|
6
6
|
import { formatUnits, getAddress } from 'ethers/lib/utils';
|
|
7
|
-
import { a as allChains } from './chains-
|
|
8
|
-
export { a as allChains, c as chain, b as chainId, d as defaultChains, e as defaultL2Chains, f as etherscanBlockExplorers } from './chains-
|
|
7
|
+
import { a as allChains } from './chains-42648bc5.esm.js';
|
|
8
|
+
export { a as allChains, c as chain, b as chainId, d as defaultChains, e as defaultL2Chains, f as etherscanBlockExplorers } from './chains-42648bc5.esm.js';
|
|
9
9
|
import { providers, Contract as Contract$1 } from 'ethers';
|
|
10
10
|
export { a as alchemyRpcUrls, i as infuraRpcUrls } from './rpcs-7cfbd91c.esm.js';
|
|
11
11
|
import 'zustand/vanilla';
|
|
@@ -26,6 +26,7 @@ function configureChains(defaultChains, providers) {
|
|
|
26
26
|
targetQuorum = 1,
|
|
27
27
|
stallTimeout
|
|
28
28
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
29
|
+
if (!defaultChains.length) throw new Error('must have at least one chain');
|
|
29
30
|
if (targetQuorum < minQuorum) throw new Error('quorum cannot be lower than minQuorum');
|
|
30
31
|
let chains = [];
|
|
31
32
|
const providers_ = {};
|
|
@@ -67,25 +68,32 @@ function configureChains(defaultChains, providers) {
|
|
|
67
68
|
return {
|
|
68
69
|
chains,
|
|
69
70
|
provider: _ref2 => {
|
|
71
|
+
var _defaultChains$, _chainProviders$;
|
|
72
|
+
|
|
70
73
|
let {
|
|
71
74
|
chainId
|
|
72
75
|
} = _ref2;
|
|
73
|
-
const
|
|
74
|
-
|
|
76
|
+
const activeChainId = chainId && chains.some(x => x.id === chainId) ? chainId : (_defaultChains$ = defaultChains[0]) === null || _defaultChains$ === void 0 ? void 0 : _defaultChains$.id;
|
|
77
|
+
const chainProviders = providers_[activeChainId];
|
|
78
|
+
if (!chainProviders) throw new Error("No providers configured for chain \"".concat(activeChainId, "\""));
|
|
79
|
+
if (chainProviders.length === 1) return (_chainProviders$ = chainProviders[0]) === null || _chainProviders$ === void 0 ? void 0 : _chainProviders$.call(chainProviders);
|
|
75
80
|
return fallbackProvider(targetQuorum, minQuorum, chainProviders, {
|
|
76
81
|
stallTimeout
|
|
77
82
|
});
|
|
78
83
|
},
|
|
79
84
|
webSocketProvider: _ref3 => {
|
|
85
|
+
var _defaultChains$2, _chainWebSocketProvid, _chainWebSocketProvid2;
|
|
86
|
+
|
|
80
87
|
let {
|
|
81
88
|
chainId
|
|
82
89
|
} = _ref3;
|
|
83
|
-
const
|
|
90
|
+
const activeChainId = chainId && chains.some(x => x.id === chainId) ? chainId : (_defaultChains$2 = defaultChains[0]) === null || _defaultChains$2 === void 0 ? void 0 : _defaultChains$2.id;
|
|
91
|
+
const chainWebSocketProviders = webSocketProviders_[activeChainId];
|
|
84
92
|
if (!chainWebSocketProviders) return undefined;
|
|
85
|
-
if (chainWebSocketProviders.length === 1) return chainWebSocketProviders[0](); // WebSockets do not work with `fallbackProvider`
|
|
93
|
+
if (chainWebSocketProviders.length === 1) return (_chainWebSocketProvid = chainWebSocketProviders[0]) === null || _chainWebSocketProvid === void 0 ? void 0 : _chainWebSocketProvid.call(chainWebSocketProviders); // WebSockets do not work with `fallbackProvider`
|
|
86
94
|
// Default to first available
|
|
87
95
|
|
|
88
|
-
return chainWebSocketProviders[0]();
|
|
96
|
+
return (_chainWebSocketProvid2 = chainWebSocketProviders[0]) === null || _chainWebSocketProvid2 === void 0 ? void 0 : _chainWebSocketProvid2.call(chainWebSocketProviders);
|
|
89
97
|
}
|
|
90
98
|
};
|
|
91
99
|
}
|
|
@@ -123,11 +131,14 @@ function fallbackProvider(targetQuorum, minQuorum, providers_, _ref4) {
|
|
|
123
131
|
|
|
124
132
|
async function connect(_ref) {
|
|
125
133
|
let {
|
|
134
|
+
chainId,
|
|
126
135
|
connector
|
|
127
136
|
} = _ref;
|
|
128
137
|
const activeConnector = client.connector;
|
|
129
138
|
if (connector.id === (activeConnector === null || activeConnector === void 0 ? void 0 : activeConnector.id)) throw new ConnectorAlreadyConnectedError();
|
|
130
|
-
const data = await connector.connect(
|
|
139
|
+
const data = await connector.connect({
|
|
140
|
+
chainId
|
|
141
|
+
});
|
|
131
142
|
client.setLastUsedConnector(connector.id);
|
|
132
143
|
client.setState(x => ({ ...x,
|
|
133
144
|
connector,
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@wagmi/core",
|
|
3
3
|
"description": "Vanilla JS library for Ethereum",
|
|
4
4
|
"license": "WAGMIT",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.8",
|
|
6
6
|
"repository": "tmm/wagmi",
|
|
7
7
|
"author": "awkweb.eth",
|
|
8
8
|
"ethereum": "awkweb.eth",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
75
|
"peerDependencies": {
|
|
76
|
-
"@coinbase/wallet-sdk": ">=3.0
|
|
76
|
+
"@coinbase/wallet-sdk": ">=3.2.0",
|
|
77
77
|
"@walletconnect/ethereum-provider": ">=1.7.5",
|
|
78
78
|
"ethers": ">=5.5.1"
|
|
79
79
|
},
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"zustand": "^4.0.0-rc.1"
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
|
93
|
-
"@coinbase/wallet-sdk": "^3.
|
|
93
|
+
"@coinbase/wallet-sdk": "^3.2.0",
|
|
94
94
|
"@walletconnect/ethereum-provider": "^1.7.8",
|
|
95
95
|
"ethers": "^5.6.5"
|
|
96
96
|
},
|
|
@@ -25,6 +25,7 @@ function jsonRpcProvider(_ref) {
|
|
|
25
25
|
provider: () => {
|
|
26
26
|
const RpcProvider = static_ ? ethers.providers.StaticJsonRpcProvider : ethers.providers.JsonRpcProvider;
|
|
27
27
|
const provider = new RpcProvider(rpcConfig.http, {
|
|
28
|
+
ensAddress: chain.ensAddress,
|
|
28
29
|
chainId: chain.id,
|
|
29
30
|
name: chain.network
|
|
30
31
|
});
|
|
@@ -25,6 +25,7 @@ function jsonRpcProvider(_ref) {
|
|
|
25
25
|
provider: () => {
|
|
26
26
|
const RpcProvider = static_ ? ethers.providers.StaticJsonRpcProvider : ethers.providers.JsonRpcProvider;
|
|
27
27
|
const provider = new RpcProvider(rpcConfig.http, {
|
|
28
|
+
ensAddress: chain.ensAddress,
|
|
28
29
|
chainId: chain.id,
|
|
29
30
|
name: chain.network
|
|
30
31
|
});
|
|
@@ -21,6 +21,7 @@ function jsonRpcProvider(_ref) {
|
|
|
21
21
|
provider: () => {
|
|
22
22
|
const RpcProvider = static_ ? providers.StaticJsonRpcProvider : providers.JsonRpcProvider;
|
|
23
23
|
const provider = new RpcProvider(rpcConfig.http, {
|
|
24
|
+
ensAddress: chain.ensAddress,
|
|
24
25
|
chainId: chain.id,
|
|
25
26
|
name: chain.network
|
|
26
27
|
});
|