@etherplay/connect 0.0.40 → 0.0.42

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 ADDED
@@ -0,0 +1,323 @@
1
+ # @etherplay/connect
2
+
3
+ Main connection library for Etherplay Accounts - provides seamless wallet and social authentication with session account management. This package combines Web3 wallet support with social login capabilities to create a unified authentication experience.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @etherplay/connect
9
+ # or
10
+ pnpm add @etherplay/connect
11
+ # or
12
+ yarn add @etherplay/connect
13
+ ```
14
+
15
+ ## Features
16
+
17
+ - **Web3 Wallet Support**: Connect via MetaMask, Coinbase Wallet, and other EIP-6963 compliant wallets
18
+ - **Social Login**: Authenticate via email OTP, Google, Facebook, or Auth0 through a popup flow
19
+ - **Mnemonic Login**: Direct authentication using BIP-39 mnemonic phrases
20
+ - **Session Accounts**: Generate origin-specific session accounts for enhanced security
21
+ - **Auto-Connect**: Automatically reconnect returning users
22
+ - **Chain Management**: Built-in chain switching and validation
23
+ - **Svelte Integration**: Reactive state management via Svelte stores
24
+ - **Type-Safe**: Full TypeScript support with comprehensive type definitions
25
+
26
+ ## Quick Start
27
+
28
+ ### Basic Wallet Connection
29
+
30
+ ```typescript
31
+ import {createConnection} from '@etherplay/connect';
32
+
33
+ // Create a connection targeting wallet connection only
34
+ const connection = createConnection({
35
+ targetStep: 'WalletConnected',
36
+ chainInfo: {
37
+ id: 1,
38
+ name: 'Ethereum',
39
+ rpcUrls: {default: {http: ['https://eth.llamarpc.com']}},
40
+ nativeCurrency: {name: 'Ether', symbol: 'ETH', decimals: 18},
41
+ },
42
+ });
43
+
44
+ // Subscribe to connection state changes
45
+ connection.subscribe((state) => {
46
+ if (state.step === 'WalletConnected') {
47
+ console.log('Connected:', state.account.address);
48
+ }
49
+ });
50
+
51
+ // Initiate wallet connection
52
+ await connection.connect({type: 'wallet'});
53
+ ```
54
+
55
+ ### Full SignedIn Flow with Social Login
56
+
57
+ ```typescript
58
+ import {createConnection} from '@etherplay/connect';
59
+
60
+ const connection = createConnection({
61
+ walletHost: 'https://wallet.etherplay.io', // Required for popup-based auth
62
+ chainInfo: {
63
+ id: 1,
64
+ name: 'Ethereum',
65
+ rpcUrls: {default: {http: ['https://eth.llamarpc.com']}},
66
+ nativeCurrency: {name: 'Ether', symbol: 'ETH', decimals: 18},
67
+ },
68
+ autoConnect: true, // Auto-reconnect returning users
69
+ });
70
+
71
+ // Connect via email
72
+ await connection.connect({type: 'email', mode: 'otp', email: 'user@example.com'});
73
+
74
+ // Or via OAuth
75
+ await connection.connect({type: 'oauth', provider: {id: 'google'}, usePopup: true});
76
+ ```
77
+
78
+ ### Using ensureConnected
79
+
80
+ The `ensureConnected` method provides a promise-based API that resolves when the target connection state is reached:
81
+
82
+ ```typescript
83
+ // Wait for wallet connection
84
+ const state = await connection.ensureConnected('WalletConnected');
85
+ console.log('Wallet connected:', state.account.address);
86
+
87
+ // Wait for full sign-in
88
+ const signedInState = await connection.ensureConnected('SignedIn');
89
+ console.log('Session account:', signedInState.account.signer.address);
90
+ ```
91
+
92
+ ## Configuration
93
+
94
+ ### createConnection Options
95
+
96
+ | Option | Type | Required | Description |
97
+ | ----------------------------------------- | --------------------------------- | ----------- | ---------------------------------------------------- |
98
+ | `chainInfo` | `ChainInfo` | Yes | Chain configuration including id, name, rpcUrls |
99
+ | `targetStep` | `'WalletConnected' \| 'SignedIn'` | No | Target connection step (default: `'SignedIn'`) |
100
+ | `walletOnly` | `boolean` | No | Restrict to wallet-only authentication |
101
+ | `walletHost` | `string` | Conditional | URL for popup-based auth (required for social login) |
102
+ | `signingOrigin` | `string` | No | Origin used for signing (defaults to current origin) |
103
+ | `autoConnect` | `boolean` | No | Auto-reconnect returning users (default: `true`) |
104
+ | `walletConnector` | `WalletConnector` | No | Custom wallet connector (defaults to Ethereum) |
105
+ | `requestSignatureAutomaticallyIfPossible` | `boolean` | No | Auto-request signature after wallet connection |
106
+ | `alwaysUseCurrentAccount` | `boolean` | No | Always use current wallet account |
107
+ | `prioritizeWalletProvider` | `boolean` | No | Prioritize wallet for RPC calls |
108
+ | `requestsPerSecond` | `number` | No | Rate limit for RPC requests |
109
+
110
+ ## Connection States
111
+
112
+ The connection follows a state machine with these primary steps:
113
+
114
+ | Step | Description |
115
+ | ---------------------------- | ---------------------------------------------------- |
116
+ | `Idle` | Initial state, not connected |
117
+ | `MechanismToChoose` | Waiting for auth mechanism selection |
118
+ | `WalletToChoose` | Multiple wallets available, waiting for selection |
119
+ | `WaitingForWalletConnection` | Connecting to selected wallet |
120
+ | `ChooseWalletAccount` | Multiple accounts available, waiting for selection |
121
+ | `WalletConnected` | Wallet connected (target for `WalletConnected` mode) |
122
+ | `WaitingForSignature` | Waiting for user to sign message |
123
+ | `PopupLaunched` | Popup opened for social login |
124
+ | `SignedIn` | Fully authenticated with session account |
125
+
126
+ ### Wallet State Properties
127
+
128
+ When connected via wallet, additional state is available:
129
+
130
+ ```typescript
131
+ interface WalletState {
132
+ provider: WalletProvider;
133
+ accounts: `0x${string}`[];
134
+ accountChanged?: `0x${string}`; // Set if user switched accounts
135
+ chainId: string;
136
+ invalidChainId: boolean; // True if on wrong chain
137
+ switchingChain: 'addingChain' | 'switchingChain' | false;
138
+ status: 'connected' | 'locked' | 'disconnected';
139
+ }
140
+ ```
141
+
142
+ ## Authentication Mechanisms
143
+
144
+ ### Wallet Authentication
145
+
146
+ ```typescript
147
+ // Auto-select wallet if only one available
148
+ await connection.connect({type: 'wallet'});
149
+
150
+ // Connect to specific wallet by name
151
+ await connection.connect({type: 'wallet', name: 'MetaMask'});
152
+
153
+ // Connect to specific address
154
+ await connection.connect({
155
+ type: 'wallet',
156
+ name: 'MetaMask',
157
+ address: '0x1234...',
158
+ });
159
+ ```
160
+
161
+ ### Email OTP (requires walletHost)
162
+
163
+ ```typescript
164
+ await connection.connect({
165
+ type: 'email',
166
+ mode: 'otp',
167
+ email: 'user@example.com',
168
+ });
169
+ ```
170
+
171
+ ### OAuth (requires walletHost)
172
+
173
+ ```typescript
174
+ // Google
175
+ await connection.connect({
176
+ type: 'oauth',
177
+ provider: {id: 'google'},
178
+ usePopup: true,
179
+ });
180
+
181
+ // Facebook
182
+ await connection.connect({
183
+ type: 'oauth',
184
+ provider: {id: 'facebook'},
185
+ usePopup: true,
186
+ });
187
+
188
+ // Auth0
189
+ await connection.connect({
190
+ type: 'oauth',
191
+ provider: {id: 'auth0', connection: 'your-connection'},
192
+ usePopup: true,
193
+ });
194
+ ```
195
+
196
+ ### Mnemonic (requires walletHost)
197
+
198
+ ```typescript
199
+ await connection.connect({
200
+ type: 'mnemonic',
201
+ mnemonic: 'your twelve word phrase here...',
202
+ index: 0,
203
+ });
204
+ ```
205
+
206
+ ## API Reference
207
+
208
+ ### ConnectionStore Methods
209
+
210
+ | Method | Description |
211
+ | ---------------------------------------------- | ------------------------------------- |
212
+ | `subscribe(callback)` | Subscribe to state changes |
213
+ | `connect(mechanism?, options?)` | Initiate connection |
214
+ | `cancel()` | Cancel ongoing connection |
215
+ | `back(step)` | Navigate back to previous step |
216
+ | `disconnect()` | Disconnect and clear stored data |
217
+ | `requestSignature()` | Request signature for session account |
218
+ | `connectToAddress(address, options?)` | Connect to specific wallet address |
219
+ | `switchWalletChain(chainInfo?)` | Switch wallet to different chain |
220
+ | `unlock()` | Unlock locked wallet |
221
+ | `ensureConnected(step?, mechanism?, options?)` | Promise-based connection |
222
+ | `isTargetStepReached(connection)` | Check if target step is reached |
223
+ | `getSignatureForPublicKeyPublication()` | Get signature for public key |
224
+
225
+ ### Connect Options
226
+
227
+ ```typescript
228
+ interface ConnectOptions {
229
+ requireUserConfirmationBeforeSignatureRequest?: boolean;
230
+ doNotStoreLocally?: boolean;
231
+ requestSignatureRightAway?: boolean;
232
+ }
233
+ ```
234
+
235
+ ### EnsureConnected Options
236
+
237
+ ```typescript
238
+ interface EnsureConnectedOptions extends ConnectOptions {
239
+ skipChainCheck?: boolean; // Skip chain validation for WalletConnected step
240
+ }
241
+ ```
242
+
243
+ ## Origin Account Structure
244
+
245
+ When fully signed in, the account includes:
246
+
247
+ ```typescript
248
+ interface OriginAccount {
249
+ address: `0x${string}`; // Main wallet address
250
+ signer: {
251
+ origin: string; // Origin used for signing
252
+ address: `0x${string}`; // Derived session address
253
+ publicKey: `0x${string}`; // Session public key
254
+ privateKey: `0x${string}`; // Session private key
255
+ mnemonicKey: `0x${string}`; // Entropy key
256
+ };
257
+ metadata: {
258
+ email?: string;
259
+ };
260
+ mechanismUsed: Mechanism;
261
+ savedPublicKeyPublicationSignature?: `0x${string}`;
262
+ accountType: string;
263
+ }
264
+ ```
265
+
266
+ ## Type Helpers
267
+
268
+ ### isTargetStepReached
269
+
270
+ Type guard to narrow connection state:
271
+
272
+ ```typescript
273
+ import {isTargetStepReached} from '@etherplay/connect';
274
+
275
+ connection.subscribe((state) => {
276
+ if (isTargetStepReached(state, 'SignedIn')) {
277
+ // state is now typed as SignedInState
278
+ console.log(state.account.signer.address);
279
+ }
280
+ });
281
+ ```
282
+
283
+ ## Svelte Integration
284
+
285
+ The connection store is a Svelte store and works seamlessly with Svelte's reactivity:
286
+
287
+ ```svelte
288
+ <script>
289
+ import { createConnection } from '@etherplay/connect';
290
+
291
+ const connection = createConnection({
292
+ chainInfo: { id: 1, name: 'Ethereum', rpcUrls: { default: { http: ['...'] } } }
293
+ });
294
+ </script>
295
+
296
+ {#if $connection.step === 'Idle'}
297
+ <button on:click={() => connection.connect()}>Connect</button>
298
+ {:else if $connection.step === 'SignedIn'}
299
+ <p>Connected as {$connection.account.address}</p>
300
+ <button on:click={() => connection.disconnect()}>Disconnect</button>
301
+ {/if}
302
+ ```
303
+
304
+ ## Utility Exports
305
+
306
+ ```typescript
307
+ // Re-exported from @etherplay/alchemy
308
+ export {fromEntropyKeyToMnemonic, originPublicKeyPublicationMessage, originKeyMessage};
309
+ export type {OriginAccount};
310
+
311
+ // Re-exported from @etherplay/wallet-connector-ethereum
312
+ export type {UnderlyingEthereumProvider};
313
+ ```
314
+
315
+ ## Related Packages
316
+
317
+ - [`@etherplay/wallet-connector`](../etherplay-wallet-connector) - Core wallet connector interfaces
318
+ - [`@etherplay/wallet-connector-ethereum`](../etherplay-wallet-connector-ethereum) - Ethereum wallet connector
319
+ - [`@etherplay/alchemy`](../etherplay-alchemy) - Social login mechanisms
320
+
321
+ ## License
322
+
323
+ MIT
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import type { AlchemyMechanism, OriginAccount } from '@etherplay/alchemy';
2
- import type { WalletConnector, WalletHandle, WalletProvider } from '@etherplay/wallet-connector';
1
+ import type { WalletConnector, WalletHandle, WalletProvider, PendingRequest, RequestEventHandler } from '@etherplay/wallet-connector';
3
2
  import { type UnderlyingEthereumProvider } from '@etherplay/wallet-connector-ethereum';
4
- import { fromEntropyKeyToMnemonic, originKeyMessage, originPublicKeyPublicationMessage } from '@etherplay/alchemy';
3
+ import { fromEntropyKeyToMnemonic, type OriginAccount, originPublicKeyPublicationMessage, originKeyMessage, AlchemyMechanism } from '@etherplay/connect-core';
5
4
  export { fromEntropyKeyToMnemonic, originPublicKeyPublicationMessage, originKeyMessage };
6
5
  export type { OriginAccount };
7
6
  export type { UnderlyingEthereumProvider };
@@ -62,6 +61,7 @@ export type WalletState<WalletProviderType> = {
62
61
  chainId: string;
63
62
  invalidChainId: boolean;
64
63
  switchingChain: 'addingChain' | 'switchingChain' | false;
64
+ pendingRequests: PendingRequest[];
65
65
  } & ({
66
66
  status: 'connected';
67
67
  } | {
@@ -180,6 +180,7 @@ export type ConnectionStore<WalletProviderType, Target extends TargetStep = 'Sig
180
180
  provider: WalletProviderType;
181
181
  chainId: string;
182
182
  chainInfo: ChainInfo<WalletProviderType>;
183
+ onRequest: (handler: RequestEventHandler) => () => void;
183
184
  };
184
185
  export type AnyConnectionStore<WalletProviderType> = ConnectionStore<WalletProviderType, 'SignedIn', true> | ConnectionStore<WalletProviderType, 'WalletConnected', true> | ConnectionStore<WalletProviderType, 'SignedIn', false> | ConnectionStore<WalletProviderType, 'WalletConnected', false>;
185
186
  export declare function createConnection<WalletProviderType>(settings: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { EthereumWalletConnector } from '@etherplay/wallet-connector-ethereum';
2
2
  import { writable } from 'svelte/store';
3
3
  import { createPopupLauncher } from './popup.js';
4
- import { fromEntropyKeyToMnemonic, fromSignatureToKey, originKeyMessage, originPublicKeyPublicationMessage, } from '@etherplay/alchemy';
5
4
  import { withTimeout } from './utils.js';
5
+ import { fromEntropyKeyToMnemonic, originPublicKeyPublicationMessage, originKeyMessage, fromSignatureToKey, } from '@etherplay/connect-core';
6
6
  export { fromEntropyKeyToMnemonic, originPublicKeyPublicationMessage, originKeyMessage };
7
7
  // Type guard - narrows Connection based on targetStep and walletOnly
8
8
  // For 'WalletConnected' target: narrows to ConnectedWithWallet (WalletConnected | SignedIn-with-wallet)
@@ -46,6 +46,20 @@ export function createConnection(settings) {
46
46
  prioritizeWalletProvider: settings.prioritizeWalletProvider,
47
47
  requestsPerSecond: settings.requestsPerSecond,
48
48
  });
49
+ // Subscribe to request events from the provider to update pendingRequests
50
+ const unsubscribeRequestEvents = alwaysOnProviderWrapper.onRequest(() => {
51
+ // Only update if we have a wallet connected
52
+ if ($connection.wallet) {
53
+ const currentPending = alwaysOnProviderWrapper.getPendingRequests();
54
+ set({
55
+ ...$connection,
56
+ wallet: {
57
+ ...$connection.wallet,
58
+ pendingRequests: currentPending,
59
+ },
60
+ });
61
+ }
62
+ });
49
63
  // Determine target step (defaults to 'SignedIn')
50
64
  const targetStep = settings.targetStep || 'SignedIn';
51
65
  let autoConnect = true;
@@ -140,6 +154,7 @@ export function createConnection(settings) {
140
154
  chainId,
141
155
  invalidChainId: alwaysOnChainId != chainId,
142
156
  switchingChain: false,
157
+ pendingRequests: [],
143
158
  },
144
159
  });
145
160
  alwaysOnProviderWrapper.setWalletStatus('connected');
@@ -188,6 +203,7 @@ export function createConnection(settings) {
188
203
  chainId,
189
204
  invalidChainId: alwaysOnChainId != chainId,
190
205
  switchingChain: false,
206
+ pendingRequests: [],
191
207
  },
192
208
  account: { address: lastWallet.address },
193
209
  });
@@ -554,6 +570,7 @@ export function createConnection(settings) {
554
570
  chainId,
555
571
  invalidChainId: alwaysOnChainId != chainId,
556
572
  switchingChain: false,
573
+ pendingRequests: [],
557
574
  },
558
575
  }
559
576
  : {
@@ -571,6 +588,7 @@ export function createConnection(settings) {
571
588
  chainId,
572
589
  invalidChainId: alwaysOnChainId != chainId,
573
590
  switchingChain: false,
591
+ pendingRequests: [],
574
592
  },
575
593
  account: { address: account },
576
594
  };
@@ -628,6 +646,7 @@ export function createConnection(settings) {
628
646
  chainId,
629
647
  invalidChainId: alwaysOnChainId != chainId,
630
648
  switchingChain: false,
649
+ pendingRequests: [],
631
650
  },
632
651
  }
633
652
  : {
@@ -645,6 +664,7 @@ export function createConnection(settings) {
645
664
  chainId,
646
665
  invalidChainId: alwaysOnChainId != chainId,
647
666
  switchingChain: false,
667
+ pendingRequests: [],
648
668
  },
649
669
  account: { address: account },
650
670
  };
@@ -848,6 +868,7 @@ export function createConnection(settings) {
848
868
  stopWatchingForChainIdChange(_wallet.provider);
849
869
  }
850
870
  _wallet = undefined;
871
+ unsubscribeRequestEvents();
851
872
  set({
852
873
  step: 'Idle',
853
874
  loading: false,
@@ -1157,6 +1178,7 @@ export function createConnection(settings) {
1157
1178
  provider: alwaysOnProviderWrapper.provider,
1158
1179
  chainId: '' + settings.chainInfo.id,
1159
1180
  chainInfo: settings.chainInfo,
1181
+ onRequest: (handler) => alwaysOnProviderWrapper.onRequest(handler),
1160
1182
  };
1161
1183
  return store;
1162
1184
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherplay/connect",
3
- "version": "0.0.40",
3
+ "version": "0.0.42",
4
4
  "description": "Main connection library for Etherplay Accounts - provides seamless wallet and social authentication with session account management",
5
5
  "keywords": [
6
6
  "web3",
@@ -43,6 +43,11 @@
43
43
  "dist",
44
44
  "src"
45
45
  ],
46
+ "dependencies": {
47
+ "@etherplay/connect-core": "0.0.0",
48
+ "@etherplay/wallet-connector-ethereum": "0.0.6",
49
+ "@etherplay/wallet-connector": "0.0.5"
50
+ },
46
51
  "peerDependencies": {
47
52
  "svelte": "^5.0.0"
48
53
  },
@@ -56,16 +61,6 @@
56
61
  "typescript": "^5.8.3",
57
62
  "vitest": "^4.0.18"
58
63
  },
59
- "dependencies": {
60
- "@account-kit/signer": "^4.13.0",
61
- "@noble/curves": "^1.8.1",
62
- "@scure/bip32": "^1.6.2",
63
- "@scure/bip39": "^1.5.4",
64
- "zustand": "^5.0.3",
65
- "@etherplay/alchemy": "0.0.15",
66
- "@etherplay/wallet-connector": "0.0.4",
67
- "@etherplay/wallet-connector-ethereum": "0.0.5"
68
- },
69
64
  "scripts": {
70
65
  "build": "tsc --project tsconfig.json",
71
66
  "dev": "as-soon -w src pnpm build",
package/src/index.ts CHANGED
@@ -1,15 +1,22 @@
1
- import type {AlchemyMechanism, OriginAccount} from '@etherplay/alchemy';
2
- import type {WalletConnector, WalletHandle, WalletProvider} from '@etherplay/wallet-connector';
1
+ import type {
2
+ WalletConnector,
3
+ WalletHandle,
4
+ WalletProvider,
5
+ PendingRequest,
6
+ RequestEventHandler,
7
+ } from '@etherplay/wallet-connector';
3
8
  import {EthereumWalletConnector, type UnderlyingEthereumProvider} from '@etherplay/wallet-connector-ethereum';
4
9
  import {writable} from 'svelte/store';
5
10
  import {createPopupLauncher, type PopupPromise} from './popup.js';
11
+ import {withTimeout} from './utils.js';
6
12
  import {
7
13
  fromEntropyKeyToMnemonic,
8
- fromSignatureToKey,
9
- originKeyMessage,
14
+ type OriginAccount,
10
15
  originPublicKeyPublicationMessage,
11
- } from '@etherplay/alchemy';
12
- import {withTimeout} from './utils.js';
16
+ originKeyMessage,
17
+ fromSignatureToKey,
18
+ AlchemyMechanism,
19
+ } from '@etherplay/connect-core';
13
20
 
14
21
  export {fromEntropyKeyToMnemonic, originPublicKeyPublicationMessage, originKeyMessage};
15
22
  export type {OriginAccount};
@@ -77,6 +84,7 @@ export type WalletState<WalletProviderType> = {
77
84
  chainId: string;
78
85
  invalidChainId: boolean;
79
86
  switchingChain: 'addingChain' | 'switchingChain' | false;
87
+ pendingRequests: PendingRequest[];
80
88
  } & ({status: 'connected'} | {status: 'locked'; unlocking: boolean} | {status: 'disconnected'; connecting: boolean});
81
89
 
82
90
  type WaitingForSignature<WalletProviderType> = {
@@ -331,6 +339,9 @@ export type ConnectionStore<
331
339
  provider: WalletProviderType;
332
340
  chainId: string;
333
341
  chainInfo: ChainInfo<WalletProviderType>;
342
+
343
+ // Request tracking - subscribe to RPC request events
344
+ onRequest: (handler: RequestEventHandler) => () => void;
334
345
  };
335
346
 
336
347
  export type AnyConnectionStore<WalletProviderType> =
@@ -453,6 +464,22 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
453
464
  prioritizeWalletProvider: settings.prioritizeWalletProvider,
454
465
  requestsPerSecond: settings.requestsPerSecond,
455
466
  });
467
+
468
+ // Subscribe to request events from the provider to update pendingRequests
469
+ const unsubscribeRequestEvents = alwaysOnProviderWrapper.onRequest(() => {
470
+ // Only update if we have a wallet connected
471
+ if ($connection.wallet) {
472
+ const currentPending = alwaysOnProviderWrapper.getPendingRequests();
473
+ set({
474
+ ...$connection,
475
+ wallet: {
476
+ ...$connection.wallet,
477
+ pendingRequests: currentPending,
478
+ },
479
+ });
480
+ }
481
+ });
482
+
456
483
  // Determine target step (defaults to 'SignedIn')
457
484
  const targetStep: TargetStep = settings.targetStep || 'SignedIn';
458
485
 
@@ -558,6 +585,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
558
585
  chainId,
559
586
  invalidChainId: alwaysOnChainId != chainId,
560
587
  switchingChain: false,
588
+ pendingRequests: [],
561
589
  },
562
590
  });
563
591
  alwaysOnProviderWrapper.setWalletStatus('connected');
@@ -607,6 +635,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
607
635
  chainId,
608
636
  invalidChainId: alwaysOnChainId != chainId,
609
637
  switchingChain: false,
638
+ pendingRequests: [],
610
639
  },
611
640
  account: {address: lastWallet.address},
612
641
  });
@@ -995,6 +1024,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
995
1024
  chainId,
996
1025
  invalidChainId: alwaysOnChainId != chainId,
997
1026
  switchingChain: false,
1027
+ pendingRequests: [],
998
1028
  },
999
1029
  }
1000
1030
  : {
@@ -1012,6 +1042,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
1012
1042
  chainId,
1013
1043
  invalidChainId: alwaysOnChainId != chainId,
1014
1044
  switchingChain: false,
1045
+ pendingRequests: [],
1015
1046
  },
1016
1047
  account: {address: account},
1017
1048
  };
@@ -1071,6 +1102,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
1071
1102
  chainId,
1072
1103
  invalidChainId: alwaysOnChainId != chainId,
1073
1104
  switchingChain: false,
1105
+ pendingRequests: [],
1074
1106
  },
1075
1107
  }
1076
1108
  : {
@@ -1088,6 +1120,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
1088
1120
  chainId,
1089
1121
  invalidChainId: alwaysOnChainId != chainId,
1090
1122
  switchingChain: false,
1123
+ pendingRequests: [],
1091
1124
  },
1092
1125
  account: {address: account},
1093
1126
  };
@@ -1314,6 +1347,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
1314
1347
  stopWatchingForChainIdChange(_wallet.provider);
1315
1348
  }
1316
1349
  _wallet = undefined;
1350
+ unsubscribeRequestEvents();
1317
1351
  set({
1318
1352
  step: 'Idle',
1319
1353
  loading: false,
@@ -1642,6 +1676,7 @@ export function createConnection<WalletProviderType = UnderlyingEthereumProvider
1642
1676
  provider: alwaysOnProviderWrapper.provider,
1643
1677
  chainId: '' + settings.chainInfo.id,
1644
1678
  chainInfo: settings.chainInfo,
1679
+ onRequest: (handler: RequestEventHandler) => alwaysOnProviderWrapper.onRequest(handler),
1645
1680
  };
1646
1681
 
1647
1682
  return store as ConnectionStore<WalletProviderType, TargetStep, boolean>;