@wagmi/connectors 4.0.0 → 4.0.1
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/README.md +13 -0
- package/dist/esm/coinbaseWallet.js +15 -16
- package/dist/esm/coinbaseWallet.js.map +1 -1
- package/dist/esm/exports/index.js +7 -0
- package/dist/esm/exports/index.js.map +1 -0
- package/dist/esm/exports/index.test-d.js.map +1 -0
- package/dist/esm/metaMask.js +264 -0
- package/dist/esm/metaMask.js.map +1 -0
- package/dist/esm/safe.js +19 -16
- package/dist/esm/safe.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/walletConnect.js +15 -16
- package/dist/esm/walletConnect.js.map +1 -1
- package/dist/types/coinbaseWallet.d.ts +3 -0
- package/dist/types/coinbaseWallet.d.ts.map +1 -1
- package/dist/types/exports/index.d.ts +7 -0
- package/dist/types/exports/index.d.ts.map +1 -0
- package/dist/types/exports/index.test-d.d.ts.map +1 -0
- package/dist/types/metaMask.d.ts +13 -0
- package/dist/types/metaMask.d.ts.map +1 -0
- package/dist/types/safe.d.ts +5 -2
- package/dist/types/safe.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/walletConnect.d.ts +3 -0
- package/dist/types/walletConnect.d.ts.map +1 -1
- package/package.json +21 -38
- package/src/coinbaseWallet.ts +16 -16
- package/src/exports/index.ts +22 -0
- package/src/metaMask.ts +333 -0
- package/src/safe.ts +26 -20
- package/src/version.ts +1 -1
- package/src/walletConnect.ts +15 -20
- package/dist/esm/index.js +0 -7
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.test-d.js.map +0 -1
- package/dist/esm/injected.js +0 -372
- package/dist/esm/injected.js.map +0 -1
- package/dist/esm/ledger.js +0 -162
- package/dist/esm/ledger.js.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.test-d.d.ts.map +0 -1
- package/dist/types/injected.d.ts +0 -381
- package/dist/types/injected.d.ts.map +0 -1
- package/dist/types/ledger.d.ts +0 -18
- package/dist/types/ledger.d.ts.map +0 -1
- package/src/index.ts +0 -17
- package/src/injected.ts +0 -527
- package/src/ledger.ts +0 -210
- /package/dist/esm/{index.test-d.js → exports/index.test-d.js} +0 -0
- /package/dist/types/{index.test-d.d.ts → exports/index.test-d.d.ts} +0 -0
package/dist/esm/injected.js
DELETED
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
import { ChainNotConfiguredError, ProviderNotFoundError, createConnector, normalizeChainId, } from '@wagmi/core';
|
|
2
|
-
import { ProviderRpcError, ResourceUnavailableRpcError, RpcError, SwitchChainError, UserRejectedRequestError, getAddress, numberToHex, } from 'viem';
|
|
3
|
-
const walletMap = {
|
|
4
|
-
coinbaseWallet: {
|
|
5
|
-
name: 'Coinbase Wallet',
|
|
6
|
-
provider(window) {
|
|
7
|
-
if (window?.coinbaseWalletExtension)
|
|
8
|
-
return window.coinbaseWalletExtension;
|
|
9
|
-
return findProvider(window, 'isCoinbaseWallet');
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
metaMask: {
|
|
13
|
-
name: 'MetaMask',
|
|
14
|
-
provider(window) {
|
|
15
|
-
return findProvider(window, (windowProvider) => {
|
|
16
|
-
if (!windowProvider.isMetaMask)
|
|
17
|
-
return false;
|
|
18
|
-
// Brave tries to make itself look like MetaMask
|
|
19
|
-
// Could also try RPC `web3_clientVersion` if following is unreliable
|
|
20
|
-
if (windowProvider.isBraveWallet &&
|
|
21
|
-
!windowProvider._events &&
|
|
22
|
-
!windowProvider._state)
|
|
23
|
-
return false;
|
|
24
|
-
// Other wallets that try to look like MetaMask
|
|
25
|
-
const flags = [
|
|
26
|
-
'isApexWallet',
|
|
27
|
-
'isAvalanche',
|
|
28
|
-
'isBitKeep',
|
|
29
|
-
'isBlockWallet',
|
|
30
|
-
'isKuCoinWallet',
|
|
31
|
-
'isMathWallet',
|
|
32
|
-
'isOkxWallet',
|
|
33
|
-
'isOKExWallet',
|
|
34
|
-
'isOneInchIOSWallet',
|
|
35
|
-
'isOneInchAndroidWallet',
|
|
36
|
-
'isOpera',
|
|
37
|
-
'isPortal',
|
|
38
|
-
'isRabby',
|
|
39
|
-
'isTokenPocket',
|
|
40
|
-
'isTokenary',
|
|
41
|
-
'isZerion',
|
|
42
|
-
];
|
|
43
|
-
for (const flag of flags)
|
|
44
|
-
if (windowProvider[flag])
|
|
45
|
-
return false;
|
|
46
|
-
return true;
|
|
47
|
-
});
|
|
48
|
-
},
|
|
49
|
-
features: ['wallet_requestPermissions'],
|
|
50
|
-
},
|
|
51
|
-
phantom: {
|
|
52
|
-
name: 'Phantom',
|
|
53
|
-
provider(window) {
|
|
54
|
-
if (window?.phantom?.ethereum)
|
|
55
|
-
return window.phantom?.ethereum;
|
|
56
|
-
return findProvider(window, 'isPhantom');
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
rainbow: {
|
|
60
|
-
name: 'Rainbow',
|
|
61
|
-
provider: 'isRainbow',
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
export function injected(parameters = {}) {
|
|
65
|
-
const shimDisconnect = parameters.shimDisconnect ?? true;
|
|
66
|
-
const unstable_shimAsyncInject = parameters.unstable_shimAsyncInject;
|
|
67
|
-
function getWindowProvider() {
|
|
68
|
-
const wallet = parameters.wallet;
|
|
69
|
-
if (typeof wallet === 'function') {
|
|
70
|
-
const result = wallet();
|
|
71
|
-
if (result)
|
|
72
|
-
return result;
|
|
73
|
-
}
|
|
74
|
-
if (typeof wallet === 'string')
|
|
75
|
-
return { ...walletMap[wallet], id: wallet };
|
|
76
|
-
return {
|
|
77
|
-
id: 'injected',
|
|
78
|
-
name: 'Injected',
|
|
79
|
-
provider(window) {
|
|
80
|
-
if (window?.ethereum)
|
|
81
|
-
return window.ethereum;
|
|
82
|
-
return undefined;
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
return createConnector((config) => ({
|
|
87
|
-
get id() {
|
|
88
|
-
return getWindowProvider().id;
|
|
89
|
-
},
|
|
90
|
-
get name() {
|
|
91
|
-
return getWindowProvider().name;
|
|
92
|
-
},
|
|
93
|
-
async setup() {
|
|
94
|
-
const provider = await this.getProvider();
|
|
95
|
-
// Only start listening for events if `wallet` is set, otherwise `injected()` will also receive events
|
|
96
|
-
if (provider && parameters.wallet) {
|
|
97
|
-
provider.on('accountsChanged', this.onAccountsChanged.bind(this));
|
|
98
|
-
provider.on('connect', this.onConnect.bind(this));
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
async connect({ chainId } = {}) {
|
|
102
|
-
const provider = await this.getProvider();
|
|
103
|
-
if (!provider)
|
|
104
|
-
throw new ProviderNotFoundError();
|
|
105
|
-
try {
|
|
106
|
-
// Attempt to show wallet select prompt with `wallet_requestPermissions` when
|
|
107
|
-
// `shimDisconnect` is active and account is in disconnected state (flag in storage)
|
|
108
|
-
const canSelectAccount = getWindowProvider().features?.includes('wallet_requestPermissions');
|
|
109
|
-
const isDisconnected = shimDisconnect &&
|
|
110
|
-
!(await config.storage?.getItem(`${this.id}.connected`));
|
|
111
|
-
let accounts = null;
|
|
112
|
-
if (canSelectAccount && isDisconnected) {
|
|
113
|
-
accounts = await this.getAccounts().catch(() => null);
|
|
114
|
-
const isAuthorized = !!accounts?.length;
|
|
115
|
-
if (isAuthorized)
|
|
116
|
-
// Attempt to show another prompt for selecting wallet if already connected
|
|
117
|
-
try {
|
|
118
|
-
const permissions = await provider.request({
|
|
119
|
-
method: 'wallet_requestPermissions',
|
|
120
|
-
params: [{ eth_accounts: {} }],
|
|
121
|
-
});
|
|
122
|
-
accounts = permissions[0]?.caveats?.[0]?.value?.map(getAddress);
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
// Not all injected providers support `wallet_requestPermissions` (e.g. MetaMask iOS).
|
|
126
|
-
// Only bubble up error if user rejects request
|
|
127
|
-
if (error.code === 4001)
|
|
128
|
-
throw new UserRejectedRequestError(error);
|
|
129
|
-
// Or wallet is already open
|
|
130
|
-
if (error.code ===
|
|
131
|
-
new ResourceUnavailableRpcError(error).code)
|
|
132
|
-
throw error;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (!accounts?.length) {
|
|
136
|
-
const accounts_ = await provider.request({
|
|
137
|
-
method: 'eth_requestAccounts',
|
|
138
|
-
});
|
|
139
|
-
accounts = accounts_.map(getAddress);
|
|
140
|
-
}
|
|
141
|
-
provider.removeListener('connect', this.onConnect.bind(this));
|
|
142
|
-
provider.on('accountsChanged', this.onAccountsChanged.bind(this));
|
|
143
|
-
provider.on('chainChanged', this.onChainChanged);
|
|
144
|
-
provider.on('disconnect', this.onDisconnect.bind(this));
|
|
145
|
-
// Switch to chain if provided
|
|
146
|
-
let currentChainId = await this.getChainId();
|
|
147
|
-
if (chainId && currentChainId !== chainId) {
|
|
148
|
-
const chain = await this.switchChain?.({ chainId }).catch(() => ({
|
|
149
|
-
id: currentChainId,
|
|
150
|
-
}));
|
|
151
|
-
currentChainId = chain?.id ?? currentChainId;
|
|
152
|
-
}
|
|
153
|
-
// Add shim to storage signalling wallet is connected
|
|
154
|
-
if (shimDisconnect)
|
|
155
|
-
await config.storage?.setItem(`${this.id}.connected`, true);
|
|
156
|
-
return { accounts, chainId: currentChainId };
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
if (error.code === 4001)
|
|
160
|
-
throw new UserRejectedRequestError(error);
|
|
161
|
-
if (error.code === -32002)
|
|
162
|
-
throw new ResourceUnavailableRpcError(error);
|
|
163
|
-
throw error;
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
async disconnect() {
|
|
167
|
-
const provider = await this.getProvider();
|
|
168
|
-
if (!provider)
|
|
169
|
-
throw new ProviderNotFoundError();
|
|
170
|
-
provider.removeListener('accountsChanged', this.onAccountsChanged.bind(this));
|
|
171
|
-
provider.removeListener('chainChanged', this.onChainChanged);
|
|
172
|
-
provider.removeListener('disconnect', this.onDisconnect.bind(this));
|
|
173
|
-
provider.on('connect', this.onConnect.bind(this));
|
|
174
|
-
// Remove shim signalling wallet is disconnected
|
|
175
|
-
if (shimDisconnect)
|
|
176
|
-
await config.storage?.removeItem(`${this.id}.connected`);
|
|
177
|
-
},
|
|
178
|
-
async getAccounts() {
|
|
179
|
-
const provider = await this.getProvider();
|
|
180
|
-
if (!provider)
|
|
181
|
-
throw new ProviderNotFoundError();
|
|
182
|
-
const accounts = await provider.request({ method: 'eth_accounts' });
|
|
183
|
-
return accounts.map(getAddress);
|
|
184
|
-
},
|
|
185
|
-
async getChainId() {
|
|
186
|
-
const provider = await this.getProvider();
|
|
187
|
-
if (!provider)
|
|
188
|
-
throw new ProviderNotFoundError();
|
|
189
|
-
const hexChainId = await provider.request({ method: 'eth_chainId' });
|
|
190
|
-
return normalizeChainId(hexChainId);
|
|
191
|
-
},
|
|
192
|
-
async getProvider() {
|
|
193
|
-
if (typeof window === 'undefined')
|
|
194
|
-
return undefined;
|
|
195
|
-
const windowProvider = getWindowProvider();
|
|
196
|
-
if (typeof windowProvider.provider === 'function')
|
|
197
|
-
return windowProvider.provider(window);
|
|
198
|
-
return findProvider(window, () => true);
|
|
199
|
-
},
|
|
200
|
-
async isAuthorized() {
|
|
201
|
-
try {
|
|
202
|
-
const isDisconnected = shimDisconnect &&
|
|
203
|
-
// If shim does not exist in storage, wallet is disconnected
|
|
204
|
-
!(await config.storage?.getItem(`${this.id}.connected`));
|
|
205
|
-
if (isDisconnected)
|
|
206
|
-
return false;
|
|
207
|
-
const provider = await this.getProvider();
|
|
208
|
-
if (!provider) {
|
|
209
|
-
if (unstable_shimAsyncInject !== undefined &&
|
|
210
|
-
unstable_shimAsyncInject !== false) {
|
|
211
|
-
// If no provider is found, check for async injection
|
|
212
|
-
// https://github.com/wagmi-dev/references/issues/167
|
|
213
|
-
// https://github.com/MetaMask/detect-provider
|
|
214
|
-
const handleEthereum = async () => {
|
|
215
|
-
if (typeof window !== 'undefined')
|
|
216
|
-
window.removeEventListener('ethereum#initialized', handleEthereum);
|
|
217
|
-
const provider = await this.getProvider();
|
|
218
|
-
return !!provider;
|
|
219
|
-
};
|
|
220
|
-
const timeout = typeof unstable_shimAsyncInject === 'number'
|
|
221
|
-
? unstable_shimAsyncInject
|
|
222
|
-
: 1000;
|
|
223
|
-
const res = await Promise.race([
|
|
224
|
-
...(typeof window !== 'undefined'
|
|
225
|
-
? [
|
|
226
|
-
new Promise((resolve) => window.addEventListener('ethereum#initialized', () => resolve(handleEthereum()), { once: true })),
|
|
227
|
-
]
|
|
228
|
-
: []),
|
|
229
|
-
new Promise((resolve) => setTimeout(() => resolve(handleEthereum()), timeout)),
|
|
230
|
-
]);
|
|
231
|
-
if (res)
|
|
232
|
-
return true;
|
|
233
|
-
}
|
|
234
|
-
throw new ProviderNotFoundError();
|
|
235
|
-
}
|
|
236
|
-
const accounts = await this.getAccounts();
|
|
237
|
-
return !!accounts.length;
|
|
238
|
-
}
|
|
239
|
-
catch {
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
},
|
|
243
|
-
async switchChain({ chainId }) {
|
|
244
|
-
const provider = await this.getProvider();
|
|
245
|
-
if (!provider)
|
|
246
|
-
throw new ProviderNotFoundError();
|
|
247
|
-
const chain = config.chains.find((x) => x.id === chainId);
|
|
248
|
-
if (!chain)
|
|
249
|
-
throw new SwitchChainError(new ChainNotConfiguredError());
|
|
250
|
-
const id = numberToHex(chainId);
|
|
251
|
-
try {
|
|
252
|
-
await Promise.all([
|
|
253
|
-
provider.request({
|
|
254
|
-
method: 'wallet_switchEthereumChain',
|
|
255
|
-
params: [{ chainId: id }],
|
|
256
|
-
}),
|
|
257
|
-
new Promise((resolve) => config.emitter.once('change', ({ chainId: currentChainId }) => {
|
|
258
|
-
if (currentChainId === chainId)
|
|
259
|
-
resolve();
|
|
260
|
-
})),
|
|
261
|
-
]);
|
|
262
|
-
return chain;
|
|
263
|
-
}
|
|
264
|
-
catch (error) {
|
|
265
|
-
// Indicates chain is not added to provider
|
|
266
|
-
if (error.code === 4902 ||
|
|
267
|
-
// Unwrapping for MetaMask Mobile
|
|
268
|
-
// https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
|
|
269
|
-
error
|
|
270
|
-
?.data?.originalError?.code === 4902) {
|
|
271
|
-
try {
|
|
272
|
-
const { default: blockExplorer, ...blockExplorers } = chain.blockExplorers ?? {};
|
|
273
|
-
let blockExplorerUrls = [];
|
|
274
|
-
if (blockExplorer)
|
|
275
|
-
blockExplorerUrls = [
|
|
276
|
-
blockExplorer.url,
|
|
277
|
-
...Object.values(blockExplorers).map((x) => x.url),
|
|
278
|
-
];
|
|
279
|
-
await provider.request({
|
|
280
|
-
method: 'wallet_addEthereumChain',
|
|
281
|
-
params: [
|
|
282
|
-
{
|
|
283
|
-
chainId: id,
|
|
284
|
-
chainName: chain.name,
|
|
285
|
-
nativeCurrency: chain.nativeCurrency,
|
|
286
|
-
rpcUrls: [chain.rpcUrls.public?.http[0] ?? ''],
|
|
287
|
-
blockExplorerUrls,
|
|
288
|
-
},
|
|
289
|
-
],
|
|
290
|
-
});
|
|
291
|
-
const currentChainId = await this.getChainId();
|
|
292
|
-
if (currentChainId !== chainId)
|
|
293
|
-
throw new UserRejectedRequestError(new Error('User rejected switch after adding network.'));
|
|
294
|
-
return chain;
|
|
295
|
-
}
|
|
296
|
-
catch (error) {
|
|
297
|
-
throw new UserRejectedRequestError(error);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
if (error.code === 4001)
|
|
301
|
-
throw new UserRejectedRequestError(error);
|
|
302
|
-
throw new SwitchChainError(error);
|
|
303
|
-
}
|
|
304
|
-
},
|
|
305
|
-
async onAccountsChanged(accounts) {
|
|
306
|
-
// Disconnect if there are no accounts
|
|
307
|
-
if (accounts.length === 0)
|
|
308
|
-
this.onDisconnect();
|
|
309
|
-
// Connect if emitter is listening for connect event (e.g. is disconnected)
|
|
310
|
-
else if (config.emitter.listenerCount('connect')) {
|
|
311
|
-
const chainId = (await this.getChainId()).toString();
|
|
312
|
-
this.onConnect({ chainId });
|
|
313
|
-
}
|
|
314
|
-
// Regular change event
|
|
315
|
-
else
|
|
316
|
-
config.emitter.emit('change', { accounts: accounts.map(getAddress) });
|
|
317
|
-
},
|
|
318
|
-
onChainChanged(chain) {
|
|
319
|
-
const chainId = normalizeChainId(chain);
|
|
320
|
-
config.emitter.emit('change', { chainId });
|
|
321
|
-
},
|
|
322
|
-
async onConnect(connectInfo) {
|
|
323
|
-
const accounts = await this.getAccounts();
|
|
324
|
-
if (accounts.length === 0)
|
|
325
|
-
return;
|
|
326
|
-
const chainId = normalizeChainId(connectInfo.chainId);
|
|
327
|
-
config.emitter.emit('connect', { accounts, chainId });
|
|
328
|
-
const provider = await this.getProvider();
|
|
329
|
-
if (provider) {
|
|
330
|
-
provider.removeListener('connect', this.onConnect.bind(this));
|
|
331
|
-
provider.on('accountsChanged', this.onAccountsChanged.bind(this));
|
|
332
|
-
provider.on('chainChanged', this.onChainChanged);
|
|
333
|
-
provider.on('disconnect', this.onDisconnect.bind(this));
|
|
334
|
-
}
|
|
335
|
-
// Add shim to storage signalling wallet is connected
|
|
336
|
-
if (shimDisconnect)
|
|
337
|
-
await config.storage?.setItem(`${this.id}.connected`, true);
|
|
338
|
-
},
|
|
339
|
-
async onDisconnect(error) {
|
|
340
|
-
const provider = await this.getProvider();
|
|
341
|
-
// If MetaMask emits a `code: 1013` error, wait for reconnection before disconnecting
|
|
342
|
-
// https://github.com/MetaMask/providers/pull/120
|
|
343
|
-
if (error && error.code === 1013) {
|
|
344
|
-
if (provider && !!(await this.getAccounts()).length)
|
|
345
|
-
return;
|
|
346
|
-
}
|
|
347
|
-
// No need to remove `shimDisconnectStorageKey` from storage because `onDisconnect` is typically
|
|
348
|
-
// only called when the wallet is disconnected through the wallet's interface, meaning the wallet
|
|
349
|
-
// actually disconnected and we don't need to simulate it.
|
|
350
|
-
config.emitter.emit('disconnect');
|
|
351
|
-
if (provider) {
|
|
352
|
-
provider.removeListener('accountsChanged', this.onAccountsChanged.bind(this));
|
|
353
|
-
provider.removeListener('chainChanged', this.onChainChanged);
|
|
354
|
-
provider.removeListener('disconnect', this.onDisconnect.bind(this));
|
|
355
|
-
provider.on('connect', this.onConnect.bind(this));
|
|
356
|
-
}
|
|
357
|
-
},
|
|
358
|
-
}));
|
|
359
|
-
}
|
|
360
|
-
function findProvider(window, condition) {
|
|
361
|
-
function condition_(provider) {
|
|
362
|
-
if (typeof condition === 'function')
|
|
363
|
-
return condition(provider);
|
|
364
|
-
return provider[condition];
|
|
365
|
-
}
|
|
366
|
-
if (window?.ethereum?.providers)
|
|
367
|
-
return window.ethereum.providers.find((provider) => condition_(provider));
|
|
368
|
-
if (window?.ethereum && condition_(window.ethereum))
|
|
369
|
-
return window.ethereum;
|
|
370
|
-
return undefined;
|
|
371
|
-
}
|
|
372
|
-
//# sourceMappingURL=injected.js.map
|
package/dist/esm/injected.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"injected.js","sourceRoot":"","sources":["../../src/injected.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/ledger.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { SupportedProviders, loadConnectKit, } from '@ledgerhq/connect-kit-loader';
|
|
2
|
-
import { ChainNotConfiguredError, createConnector, normalizeChainId, } from '@wagmi/core';
|
|
3
|
-
import { SwitchChainError, UserRejectedRequestError, getAddress, numberToHex, } from 'viem';
|
|
4
|
-
export function ledger(parameters = {}) {
|
|
5
|
-
let provider_;
|
|
6
|
-
let providerPromise;
|
|
7
|
-
return createConnector((config) => ({
|
|
8
|
-
id: 'ledger',
|
|
9
|
-
name: 'Ledger',
|
|
10
|
-
async setup() {
|
|
11
|
-
const provider = await this.getProvider();
|
|
12
|
-
if (!provider)
|
|
13
|
-
return;
|
|
14
|
-
provider.on('connect', this.onConnect.bind(this));
|
|
15
|
-
provider.on('session_delete', this.onSessionDelete.bind(this));
|
|
16
|
-
},
|
|
17
|
-
async connect({ chainId } = {}) {
|
|
18
|
-
try {
|
|
19
|
-
const provider = await this.getProvider();
|
|
20
|
-
// TODO: Update this logic to be more stable (a la WalletConnect connector)
|
|
21
|
-
// Don't request accounts if we have a session, like when reloading with
|
|
22
|
-
// an active WC v2 session
|
|
23
|
-
if (!provider.session)
|
|
24
|
-
await provider.request({ method: 'eth_requestAccounts' });
|
|
25
|
-
const accounts = await this.getAccounts();
|
|
26
|
-
provider.removeListener('connect', this.onConnect.bind(this));
|
|
27
|
-
provider.on('accountsChanged', this.onAccountsChanged.bind(this));
|
|
28
|
-
provider.on('chainChanged', this.onChainChanged);
|
|
29
|
-
provider.on('disconnect', this.onDisconnect.bind(this));
|
|
30
|
-
provider.on('session_delete', this.onSessionDelete.bind(this));
|
|
31
|
-
// Switch to chain if provided
|
|
32
|
-
let currentChainId = await this.getChainId();
|
|
33
|
-
if (chainId && currentChainId !== chainId) {
|
|
34
|
-
const chain = await this.switchChain({ chainId }).catch(() => ({
|
|
35
|
-
id: currentChainId,
|
|
36
|
-
}));
|
|
37
|
-
currentChainId = chain?.id ?? currentChainId;
|
|
38
|
-
}
|
|
39
|
-
return { accounts, chainId: currentChainId };
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
if (/user rejected/i.test(error?.message))
|
|
43
|
-
throw new UserRejectedRequestError(error);
|
|
44
|
-
throw error;
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
async disconnect() {
|
|
48
|
-
const provider = await this.getProvider();
|
|
49
|
-
try {
|
|
50
|
-
await provider?.disconnect?.().catch(() => { });
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
if (!/No matching key/i.test(error.message))
|
|
54
|
-
throw error;
|
|
55
|
-
}
|
|
56
|
-
finally {
|
|
57
|
-
provider.removeListener('accountsChanged', this.onAccountsChanged.bind(this));
|
|
58
|
-
provider.removeListener('chainChanged', this.onChainChanged);
|
|
59
|
-
provider.removeListener('disconnect', this.onDisconnect.bind(this));
|
|
60
|
-
provider.removeListener('session_delete', this.onSessionDelete.bind(this));
|
|
61
|
-
provider.on('connect', this.onConnect.bind(this));
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
async getAccounts() {
|
|
65
|
-
const provider = await this.getProvider();
|
|
66
|
-
return (await provider.request({ method: 'eth_accounts' })).map(getAddress);
|
|
67
|
-
},
|
|
68
|
-
async getProvider({ chainId } = {}) {
|
|
69
|
-
async function initProvider() {
|
|
70
|
-
const connectKit = await loadConnectKit();
|
|
71
|
-
if (parameters.enableDebugLogs)
|
|
72
|
-
connectKit.enableDebugLogs();
|
|
73
|
-
const { optionalEvents, optionalMethods, projectId, requiredChains, requiredEvents, requiredMethods, } = parameters;
|
|
74
|
-
connectKit.checkSupport({
|
|
75
|
-
chains: requiredChains,
|
|
76
|
-
events: requiredEvents,
|
|
77
|
-
methods: requiredMethods,
|
|
78
|
-
optionalChains: config.chains.map(({ id }) => id),
|
|
79
|
-
optionalEvents,
|
|
80
|
-
optionalMethods,
|
|
81
|
-
projectId,
|
|
82
|
-
providerType: SupportedProviders.Ethereum,
|
|
83
|
-
rpcMap: Object.fromEntries(config.chains.map((chain) => [
|
|
84
|
-
chain.id,
|
|
85
|
-
chain.rpcUrls.default.http[0],
|
|
86
|
-
])),
|
|
87
|
-
walletConnectVersion: 2,
|
|
88
|
-
});
|
|
89
|
-
return (await connectKit.getProvider());
|
|
90
|
-
}
|
|
91
|
-
if (!provider_) {
|
|
92
|
-
if (!providerPromise)
|
|
93
|
-
providerPromise = initProvider();
|
|
94
|
-
provider_ = await providerPromise;
|
|
95
|
-
}
|
|
96
|
-
if (chainId)
|
|
97
|
-
await this.switchChain({ chainId });
|
|
98
|
-
return provider_;
|
|
99
|
-
},
|
|
100
|
-
async getChainId() {
|
|
101
|
-
const provider = await this.getProvider();
|
|
102
|
-
const chainId = await provider.request({ method: 'eth_chainId' });
|
|
103
|
-
return normalizeChainId(chainId);
|
|
104
|
-
},
|
|
105
|
-
async isAuthorized() {
|
|
106
|
-
try {
|
|
107
|
-
const accounts = await this.getAccounts();
|
|
108
|
-
return !!accounts.length;
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
async switchChain({ chainId }) {
|
|
115
|
-
const chain = config.chains.find((chain) => chain.id === chainId);
|
|
116
|
-
if (!chain)
|
|
117
|
-
throw new SwitchChainError(new ChainNotConfiguredError());
|
|
118
|
-
try {
|
|
119
|
-
const provider = await this.getProvider();
|
|
120
|
-
await provider.request({
|
|
121
|
-
method: 'wallet_switchEthereumChain',
|
|
122
|
-
params: [{ chainId: numberToHex(chainId) }],
|
|
123
|
-
});
|
|
124
|
-
return chain;
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
const message = typeof error === 'string'
|
|
128
|
-
? error
|
|
129
|
-
: error?.message;
|
|
130
|
-
if (/user rejected request/i.test(message))
|
|
131
|
-
throw new UserRejectedRequestError(error);
|
|
132
|
-
throw new SwitchChainError(error);
|
|
133
|
-
}
|
|
134
|
-
},
|
|
135
|
-
onAccountsChanged(accounts) {
|
|
136
|
-
if (accounts.length === 0)
|
|
137
|
-
config.emitter.emit('disconnect');
|
|
138
|
-
else
|
|
139
|
-
config.emitter.emit('change', { accounts: accounts.map(getAddress) });
|
|
140
|
-
},
|
|
141
|
-
onChainChanged(chain) {
|
|
142
|
-
const chainId = normalizeChainId(chain);
|
|
143
|
-
config.emitter.emit('change', { chainId });
|
|
144
|
-
},
|
|
145
|
-
async onConnect(connectInfo) {
|
|
146
|
-
const chainId = normalizeChainId(connectInfo.chainId);
|
|
147
|
-
const accounts = await this.getAccounts();
|
|
148
|
-
config.emitter.emit('connect', { accounts, chainId });
|
|
149
|
-
},
|
|
150
|
-
async onDisconnect(_error) {
|
|
151
|
-
config.emitter.emit('disconnect');
|
|
152
|
-
const provider = await this.getProvider();
|
|
153
|
-
provider.removeListener('accountsChanged', this.onAccountsChanged);
|
|
154
|
-
provider.removeListener('chainChanged', this.onChainChanged);
|
|
155
|
-
provider.removeListener('disconnect', this.onDisconnect.bind(this));
|
|
156
|
-
},
|
|
157
|
-
onSessionDelete() {
|
|
158
|
-
this.onDisconnect();
|
|
159
|
-
},
|
|
160
|
-
}));
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=ledger.js.map
|
package/dist/esm/ledger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/ledger.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { type CoinbaseWalletParameters, coinbaseWallet, } from './coinbaseWallet.js';
|
|
2
|
-
export { type InjectedParameters, injected } from './injected.js';
|
|
3
|
-
export { type LedgerParameters, ledger } from './ledger.js';
|
|
4
|
-
export { type SafeParameters, safe } from './safe.js';
|
|
5
|
-
export { type WalletConnectParameters, walletConnect, } from './walletConnect.js';
|
|
6
|
-
export { version } from './version.js';
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,cAAc,GACf,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,KAAK,kBAAkB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAE3D,OAAO,EAAE,KAAK,cAAc,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,EACL,KAAK,uBAAuB,EAC5B,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test-d.d.ts","sourceRoot":"","sources":["../../src/index.test-d.ts"],"names":[],"mappings":""}
|