@etherplay/connect 0.0.15 → 0.0.17

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/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ export type Mechanism = AlchemyMechanism | WalletMechanism<string | undefined, `
22
22
  export type FullfilledMechanism = AlchemyMechanism | WalletMechanism<string, `0x${string}`>;
23
23
  export type WalletState = {
24
24
  provider: EIP1193WindowWalletProvider;
25
+ accounts: `0x${string}`[];
25
26
  accountChanged?: `0x${string}`;
26
27
  chainId: string;
27
28
  invalidChainId: boolean;
@@ -61,6 +62,10 @@ export type Connection = {
61
62
  step: 'WaitingForWalletConnection';
62
63
  wallet: undefined;
63
64
  mechanism: WalletMechanism<string, undefined>;
65
+ } | {
66
+ step: 'ChooseWalletAccount';
67
+ mechanism: WalletMechanism<string, undefined>;
68
+ wallet: WalletState;
64
69
  } | {
65
70
  step: 'WalletConnected';
66
71
  mechanism: WalletMechanism<string, `0x${string}`>;
@@ -99,6 +104,7 @@ export declare function createConnection(settings: {
99
104
  autoConnect?: boolean;
100
105
  autoConnectWallet?: boolean;
101
106
  requestSignatureAutomaticallyIfPossible?: boolean;
107
+ alwaysUseCurrentAccount?: boolean;
102
108
  node: {
103
109
  url: string;
104
110
  chainId: string;
@@ -115,7 +121,9 @@ export declare function createConnection(settings: {
115
121
  cancel: () => void;
116
122
  back: (step: "MechanismToChoose" | "Idle" | "WalletToChoose") => void;
117
123
  requestSignature: () => Promise<void>;
118
- connectOnCurrentWalletAccount: (address: `0x${string}`) => void;
124
+ connecToAddress: (address: `0x${string}`, options?: {
125
+ requireUserConfirmationBeforeSignatureRequest: boolean;
126
+ }) => void;
119
127
  disconnect: () => void;
120
128
  getSignatureForPublicKeyPublication: () => Promise<`0x${string}`>;
121
129
  switchWalletChain: (chainId: string, config?: {
@@ -3249,6 +3257,7 @@ export declare function createConnection(settings: {
3249
3257
  }): Promise<U["result"]>;
3250
3258
  } & {
3251
3259
  setWalletProvider: (walletProvider: EIP1193WindowWalletProvider | undefined) => void;
3260
+ setWalletStatus: (newStatus: "connected" | "locked" | "disconnected") => void;
3252
3261
  } & {
3253
3262
  chainId: string;
3254
3263
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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ACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA92BsB,CAAC;kBAAqB,CAAC;;;;;;;;;;EAohC/C;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGxE,OAAO,KAAK,EAAC,cAAc,EAAE,2BAA2B,EAAC,MAAM,UAAU,CAAC;AAC1E,OAAO,EACN,wBAAwB,EAGxB,gBAAgB,EAChB,iCAAiC,EACjC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAC,wBAAwB,EAAE,iCAAiC,EAAE,gBAAgB,EAAC,CAAC;AACvF,YAAY,EAAC,aAAa,EAAC,CAAC;AAE5B,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,gBAAgB,CAAC;CAE5B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,MAAM,GAAG,SAAS,EAAE,OAAO,SAAS,KAAK,MAAM,EAAE,GAAG,SAAS,IAAI;IAC/G,IAAI,EAAE,QAAQ,CAAC;CACf,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC,GAC3E,CAAC,OAAO,SAAS,SAAS,GAAG;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAE1E,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE1G,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;AAE5F,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,2BAA2B,CAAC;IACtC,QAAQ,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,aAAa,GAAG,gBAAgB,GAAG,KAAK,CAAC;CACzD,GAAG,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,GAAG;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,GAAG;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAErH,MAAM,MAAM,UAAU,GAAG;IAIxB,KAAK,CAAC,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAC,CAAC;IAEvC,OAAO,EAAE,qBAAqB,EAAE,CAAC;CACjC,GAAG,CACD;IACA,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACjB,GAED;IACA,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;CACjB,GAGD;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC3B,GAED;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAChD,GAED;IACA,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC7C,GAGD;IACA,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,EAAE,WAAW,CAAC;CACnB,GAGD;IACA,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,WAAW,CAAC;CACnB,GAED;IACA,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,WAAW,CAAC;CACnB,GAMD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;CACjB,GACD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;CACnB,CACH,CAAC;AAEF,UAAU,mBAAmB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,UAAU,qBAAqB;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;CACtC;AAED,MAAM,WAAW,4BAA6B,SAAQ,WAAW;IAChE,IAAI,EAAE,0BAA0B,CAAC;IACjC,MAAM,EAAE,qBAAqB,CAAC;CAC9B;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAClD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,IAAI,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CACrG;;0BAwZa,SAAS,YACX;QACT,6CAA6C,CAAC,EAAE,OAAO,CAAC;QACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACpC;;iBA2RkB,mBAAmB,GAAG,MAAM,GAAG,gBAAgB;;+BAjZjC,KAAK,MAAM,EAAE,YAAY;QAAC,6CAA6C,EAAE,OAAO,CAAA;KAAC;;+CA6dnE,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;iCAsD5D,MAAM,WACN;QACR,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;SACjB,CAAC;KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAv7BsB,CAAC;kBAAqB,CAAC;;;;;;;;;;;EA6lC/C;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -99,6 +99,12 @@ export function createConnection(settings) {
99
99
  _wallet = { provider: walletProvider, chainId };
100
100
  alwaysOnProvider.setWalletProvider(walletProvider);
101
101
  watchForChainIdChange(_wallet.provider);
102
+ let accounts = [];
103
+ // try {
104
+ accounts = await walletProvider.request({ method: 'eth_accounts' });
105
+ accounts = accounts.map((v) => v.toLowerCase());
106
+ // } catch {}
107
+ // // TODO try catch ? and use logic of onAccountChanged
102
108
  set({
103
109
  step: 'SignedIn',
104
110
  account: existingAccount,
@@ -106,6 +112,7 @@ export function createConnection(settings) {
106
112
  wallets: $connection.wallets,
107
113
  wallet: {
108
114
  provider: walletProvider,
115
+ accounts,
109
116
  status: 'connected',
110
117
  accountChanged: undefined,
111
118
  chainId,
@@ -113,7 +120,9 @@ export function createConnection(settings) {
113
120
  switchingChain: false,
114
121
  },
115
122
  });
116
- walletProvider.request({ method: 'eth_accounts' }).then(onAccountChanged);
123
+ alwaysOnProvider.setWalletStatus('connected');
124
+ // TODO use the same logic before hand
125
+ onAccountChanged(accounts);
117
126
  watchForAccountChange(walletProvider);
118
127
  })
119
128
  .catch((err) => {
@@ -146,12 +155,19 @@ export function createConnection(settings) {
146
155
  _wallet = { provider: walletProvider, chainId };
147
156
  alwaysOnProvider.setWalletProvider(walletProvider);
148
157
  watchForChainIdChange(_wallet.provider);
158
+ let accounts = [];
159
+ // try {
160
+ accounts = await walletProvider.request({ method: 'eth_accounts' });
161
+ accounts = accounts.map((v) => v.toLowerCase());
162
+ // } catch {}
163
+ // // TODO try catch ? and use logic of onAccountChanged
149
164
  set({
150
165
  step: 'WalletConnected',
151
166
  mechanism: lastWallet,
152
167
  wallets: $connection.wallets,
153
168
  wallet: {
154
169
  provider: walletProvider,
170
+ accounts,
155
171
  status: 'connected',
156
172
  accountChanged: undefined,
157
173
  chainId,
@@ -159,7 +175,9 @@ export function createConnection(settings) {
159
175
  switchingChain: false,
160
176
  },
161
177
  });
162
- walletProvider.request({ method: 'eth_accounts' }).then(onAccountChanged);
178
+ alwaysOnProvider.setWalletStatus('connected');
179
+ // TODO use the same logic before hand
180
+ onAccountChanged(accounts);
163
181
  watchForAccountChange(walletProvider);
164
182
  })
165
183
  .catch((err) => {
@@ -218,12 +236,7 @@ export function createConnection(settings) {
218
236
  if ($connection.step !== 'WalletConnected') {
219
237
  throw new Error(`invalid step: ${$connection.step}, needs to be WalletConnected`);
220
238
  }
221
- if (!_wallet) {
222
- // TODO error ?
223
- throw new Error(`no wallet provided initialised`);
224
- }
225
- const provider = _wallet.provider;
226
- const chainId = _wallet.chainId;
239
+ const provider = $connection.wallet.provider;
227
240
  const message = originKeyMessage(origin);
228
241
  const msg = hashMessage(message);
229
242
  set({
@@ -271,31 +284,21 @@ export function createConnection(settings) {
271
284
  set({
272
285
  ...$connection,
273
286
  step: 'SignedIn',
274
- mechanism: {
275
- type: 'wallet',
276
- name: $connection.mechanism.name,
277
- address: $connection.mechanism.address,
278
- },
279
287
  account,
280
- wallet: {
281
- chainId,
282
- provider: provider,
283
- status: 'connected',
284
- accountChanged: undefined, // TODO check account list
285
- invalidChainId: alwaysOnChainId != chainId,
286
- switchingChain: false,
287
- },
288
+ wallet: $connection.wallet,
288
289
  });
289
290
  if (remember) {
290
291
  saveOriginAccount(account);
291
292
  }
292
293
  }
293
- function connectOnCurrentWalletAccount(address) {
294
+ function connecToAddress(address, options) {
294
295
  if ($connection.wallet) {
295
296
  connect({
296
297
  type: 'wallet',
297
298
  address,
298
299
  name: $connection.mechanism.name,
300
+ }, {
301
+ requireUserConfirmationBeforeSignatureRequest: options?.requireUserConfirmationBeforeSignatureRequest,
299
302
  });
300
303
  }
301
304
  else {
@@ -333,6 +336,7 @@ export function createConnection(settings) {
333
336
  unlocking: false,
334
337
  },
335
338
  });
339
+ alwaysOnProvider.setWalletStatus('locked');
336
340
  }
337
341
  else {
338
342
  const disconnected = accountsFormated.find((v) => v == addressSignedIn) ? false : true;
@@ -345,6 +349,7 @@ export function createConnection(settings) {
345
349
  connecting: false,
346
350
  },
347
351
  });
352
+ alwaysOnProvider.setWalletStatus('disconnected');
348
353
  }
349
354
  else {
350
355
  set({
@@ -354,6 +359,7 @@ export function createConnection(settings) {
354
359
  status: 'connected',
355
360
  },
356
361
  });
362
+ alwaysOnProvider.setWalletStatus('connected');
357
363
  }
358
364
  }
359
365
  if (accountsFormated.length > 0 && accountsFormated[0] != $connection.mechanism.address) {
@@ -393,6 +399,7 @@ export function createConnection(settings) {
393
399
  remember = !(options?.doNotStoreLocally || false);
394
400
  if (mechanism) {
395
401
  if (mechanism.type === 'wallet') {
402
+ const specificAddress = mechanism.address;
396
403
  const walletName = mechanism.name || ($connection.wallets.length == 1 ? $connection.wallets[0].info.name : undefined);
397
404
  if (walletName) {
398
405
  const wallet = $connection.wallets.find((v) => v.info.name == walletName || v.info.uuid == walletName);
@@ -402,13 +409,13 @@ export function createConnection(settings) {
402
409
  stopatchingForAccountChange(_wallet.provider);
403
410
  stopatchingForChainIdChange(_wallet.provider);
404
411
  }
405
- const mechanism = {
412
+ const mechanismToSave = {
406
413
  type: 'wallet',
407
414
  name: walletName,
408
415
  };
409
416
  set({
410
417
  step: 'WaitingForWalletConnection', // TODO FetchingAccounts
411
- mechanism,
418
+ mechanism: mechanismToSave,
412
419
  wallets: $connection.wallets,
413
420
  wallet: undefined,
414
421
  });
@@ -426,50 +433,73 @@ export function createConnection(settings) {
426
433
  if (accounts.length === 0) {
427
434
  set({
428
435
  step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
429
- mechanism,
436
+ mechanism: mechanismToSave,
430
437
  wallets: $connection.wallets,
431
438
  wallet: undefined,
432
439
  });
433
440
  accounts = await provider.request({ method: 'eth_requestAccounts' });
434
441
  accounts = accounts.map((v) => v.toLowerCase());
435
442
  if (accounts.length > 0) {
436
- const walletMechanism = {
437
- ...mechanism,
438
- address: accounts[0],
439
- };
440
- if (options?.requestSignatureRightAway) {
441
- watchForAccountChange(_wallet.provider);
442
- set({
443
- step: 'WalletConnected',
444
- mechanism: walletMechanism,
443
+ const nextStep = !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
444
+ ? 'ChooseWalletAccount'
445
+ : 'WalletConnected';
446
+ let account = accounts[0];
447
+ if (specificAddress) {
448
+ if (accounts.find((v) => v === specificAddress)) {
449
+ account = specificAddress;
450
+ }
451
+ else {
452
+ // TODO error
453
+ throw new Error(`could not find address ${specificAddress}`);
454
+ }
455
+ }
456
+ const newState = nextStep === 'ChooseWalletAccount'
457
+ ? {
458
+ step: nextStep,
459
+ mechanism: mechanismToSave,
445
460
  wallets: $connection.wallets,
446
461
  wallet: {
447
462
  provider: _wallet.provider,
463
+ accounts,
448
464
  status: 'connected',
449
465
  accountChanged: undefined,
450
466
  chainId,
451
467
  invalidChainId: alwaysOnChainId != chainId,
452
468
  switchingChain: false,
453
469
  },
454
- });
455
- saveLastWallet(walletMechanism);
456
- await requestSignature();
457
- }
458
- else {
459
- set({
460
- step: 'WalletConnected',
461
- mechanism: walletMechanism,
470
+ }
471
+ : {
472
+ step: nextStep,
473
+ mechanism: {
474
+ ...mechanismToSave,
475
+ address: account,
476
+ },
462
477
  wallets: $connection.wallets,
463
478
  wallet: {
464
479
  provider: _wallet.provider,
480
+ accounts,
465
481
  status: 'connected',
466
482
  accountChanged: undefined,
467
483
  chainId,
468
484
  invalidChainId: alwaysOnChainId != chainId,
469
485
  switchingChain: false,
470
486
  },
471
- });
472
- saveLastWallet(walletMechanism);
487
+ };
488
+ if (newState.step === 'WalletConnected' &&
489
+ (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
490
+ !options?.requireUserConfirmationBeforeSignatureRequest) {
491
+ watchForAccountChange(_wallet.provider);
492
+ set(newState);
493
+ alwaysOnProvider.setWalletStatus('connected');
494
+ saveLastWallet(newState.mechanism);
495
+ await requestSignature();
496
+ }
497
+ else {
498
+ set(newState);
499
+ alwaysOnProvider.setWalletStatus('connected');
500
+ if (newState.step === 'WalletConnected') {
501
+ saveLastWallet(newState.mechanism);
502
+ }
473
503
  watchForAccountChange(_wallet.provider);
474
504
  }
475
505
  }
@@ -483,45 +513,68 @@ export function createConnection(settings) {
483
513
  }
484
514
  }
485
515
  else {
486
- const walletMechanism = {
487
- ...mechanism,
488
- address: accounts[0],
489
- };
490
- if (!requestSignatureAutomaticallyIfPossible || options?.requireUserConfirmationBeforeSignatureRequest) {
491
- set({
492
- step: 'WalletConnected',
493
- mechanism: walletMechanism,
516
+ let account = accounts[0];
517
+ if (specificAddress) {
518
+ if (accounts.find((v) => v === specificAddress)) {
519
+ account = specificAddress;
520
+ }
521
+ else {
522
+ // TODO error
523
+ throw new Error(`could not find address ${specificAddress}`);
524
+ }
525
+ }
526
+ const nextStep = !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
527
+ ? 'ChooseWalletAccount'
528
+ : 'WalletConnected';
529
+ const newState = nextStep === 'ChooseWalletAccount'
530
+ ? {
531
+ step: nextStep,
532
+ mechanism: mechanismToSave,
494
533
  wallets: $connection.wallets,
495
534
  wallet: {
496
535
  provider: _wallet.provider,
536
+ accounts,
497
537
  status: 'connected',
498
538
  accountChanged: undefined,
499
539
  chainId,
500
540
  invalidChainId: alwaysOnChainId != chainId,
501
541
  switchingChain: false,
502
542
  },
503
- });
504
- saveLastWallet(walletMechanism);
505
- watchForAccountChange(_wallet.provider);
506
- }
507
- else {
508
- watchForAccountChange(_wallet.provider);
509
- set({
510
- step: 'WalletConnected',
511
- mechanism: walletMechanism,
543
+ }
544
+ : {
545
+ step: nextStep,
546
+ mechanism: {
547
+ ...mechanismToSave,
548
+ address: account,
549
+ },
512
550
  wallets: $connection.wallets,
513
551
  wallet: {
514
552
  provider: _wallet.provider,
553
+ accounts,
515
554
  status: 'connected',
516
555
  accountChanged: undefined,
517
556
  chainId,
518
557
  invalidChainId: alwaysOnChainId != chainId,
519
558
  switchingChain: false,
520
559
  },
521
- });
522
- saveLastWallet(walletMechanism);
560
+ };
561
+ if (newState.step === 'WalletConnected' &&
562
+ (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
563
+ !options?.requireUserConfirmationBeforeSignatureRequest) {
564
+ set(newState);
565
+ alwaysOnProvider.setWalletStatus('connected');
566
+ saveLastWallet(newState.mechanism);
567
+ watchForAccountChange(_wallet.provider);
523
568
  await requestSignature();
524
569
  }
570
+ else {
571
+ watchForAccountChange(_wallet.provider);
572
+ set(newState);
573
+ alwaysOnProvider.setWalletStatus('connected');
574
+ if (newState.step === 'WalletConnected') {
575
+ saveLastWallet(newState.mechanism);
576
+ }
577
+ }
525
578
  }
526
579
  }
527
580
  else {
@@ -895,7 +948,7 @@ export function createConnection(settings) {
895
948
  cancel,
896
949
  back,
897
950
  requestSignature,
898
- connectOnCurrentWalletAccount,
951
+ connecToAddress,
899
952
  disconnect,
900
953
  getSignatureForPublicKeyPublication,
901
954
  switchWalletChain,
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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"}
@@ -7,6 +7,7 @@ export declare function createProvider(params: {
7
7
  requestsPerSecond?: number;
8
8
  }): CurriedRPC<Methods> & {
9
9
  setWalletProvider: (walletProvider: EIP1193WindowWalletProvider | undefined) => void;
10
+ setWalletStatus: (newStatus: 'connected' | 'locked' | 'disconnected') => void;
10
11
  } & {
11
12
  chainId: string;
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAevE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;IAAC,iBAAiB,EAAE,CAAC,cAAc,EAAE,2BAA2B,GAAG,SAAS,KAAK,IAAI,CAAA;CAAC,GAAG;IAClH,OAAO,EAAE,MAAM,CAAC;CAChB,CA2DA"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAevE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;IACzB,iBAAiB,EAAE,CAAC,cAAc,EAAE,2BAA2B,GAAG,SAAS,KAAK,IAAI,CAAC;IACrF,eAAe,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,QAAQ,GAAG,cAAc,KAAK,IAAI,CAAC;CAC9E,GAAG;IACH,OAAO,EAAE,MAAM,CAAC;CAChB,CA2DA"}
package/dist/provider.js CHANGED
@@ -59,6 +59,6 @@ export function createProvider(params) {
59
59
  },
60
60
  };
61
61
  const curriedRPC = createCurriedJSONRPC(provider, { requestsPerSecond });
62
- return { ...curriedRPC, setWalletProvider, chainId };
62
+ return { ...curriedRPC, setWalletProvider, setWalletStatus, chainId };
63
63
  }
64
64
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAa,MAAM,uBAAuB,CAAC;AAEvE,MAAM,aAAa,GAAG;IACrB,cAAc;IACd,UAAU;IACV,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,mBAAmB;CACnB,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;AAE3G,MAAM,UAAU,cAAc,CAAC,MAK9B;IAGA,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAC,GAAG,MAAM,CAAC;IAChF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,cAAuD,CAAC;IAC5D,IAAI,MAAM,GAA4C,cAAc,CAAC;IAErE,SAAS,iBAAiB,CAAC,iBAA0D;QACpF,cAAc,GAAG,iBAAiB,CAAC;IACpC,CAAC;IACD,SAAS,eAAe,CAAC,SAAkD;QAC1E,MAAM,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG;QAChB,KAAK,CAAC,OAAO,CAAC,GAAqC;YAClD,MAAM,aAAa,GAClB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAElC,IAAI,cAAc,EAAE,CAAC;gBACpB,IAAI,wBAAwB,IAAI,aAAa,EAAE,CAAC;oBAC/C,IAAI,aAAa,EAAE,CAAC;wBACnB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;4BAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;wBAClF,CAAC;oBACF,CAAC;oBAED,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;wBACxD,MAAM,EAAE,aAAa;qBACrB,CAAC,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAChC,IAAI,aAAa,EAAE,CAAC;4BACnB,OAAO,OAAO,CAAC,MAAM,CAAC;gCACrB,OAAO,EAAE,+DAA+D,OAAO,YAAY,cAAc,EAAE;gCAC3G,IAAI,EAAE,IAAI;6BACV,CAAC,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACP,mEAAmE;4BACnE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC7B,CAAC;oBACF,CAAC;oBACD,OAAO,cAAc,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,yEAAyE;YACzE,IAAI;YAEJ,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACmC,CAAC;IAEtC,MAAM,UAAU,GAAG,oBAAoB,CAAU,QAAe,EAAE,EAAC,iBAAiB,EAAC,CAAC,CAAC;IACvF,OAAO,EAAC,GAAG,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAa,MAAM,uBAAuB,CAAC;AAEvE,MAAM,aAAa,GAAG;IACrB,cAAc;IACd,UAAU;IACV,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,mBAAmB;CACnB,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;AAE3G,MAAM,UAAU,cAAc,CAAC,MAK9B;IAMA,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAC,GAAG,MAAM,CAAC;IAChF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,cAAuD,CAAC;IAC5D,IAAI,MAAM,GAA4C,cAAc,CAAC;IAErE,SAAS,iBAAiB,CAAC,iBAA0D;QACpF,cAAc,GAAG,iBAAiB,CAAC;IACpC,CAAC;IACD,SAAS,eAAe,CAAC,SAAkD;QAC1E,MAAM,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG;QAChB,KAAK,CAAC,OAAO,CAAC,GAAqC;YAClD,MAAM,aAAa,GAClB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAElC,IAAI,cAAc,EAAE,CAAC;gBACpB,IAAI,wBAAwB,IAAI,aAAa,EAAE,CAAC;oBAC/C,IAAI,aAAa,EAAE,CAAC;wBACnB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;4BAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;wBAClF,CAAC;oBACF,CAAC;oBAED,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;wBACxD,MAAM,EAAE,aAAa;qBACrB,CAAC,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAChC,IAAI,aAAa,EAAE,CAAC;4BACnB,OAAO,OAAO,CAAC,MAAM,CAAC;gCACrB,OAAO,EAAE,+DAA+D,OAAO,YAAY,cAAc,EAAE;gCAC3G,IAAI,EAAE,IAAI;6BACV,CAAC,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACP,mEAAmE;4BACnE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC7B,CAAC;oBACF,CAAC;oBACD,OAAO,cAAc,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,yEAAyE;YACzE,IAAI;YAEJ,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACmC,CAAC;IAEtC,MAAM,UAAU,GAAG,oBAAoB,CAAU,QAAe,EAAE,EAAC,iBAAiB,EAAC,CAAC,CAAC;IACvF,OAAO,EAAC,GAAG,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAC,CAAC;AACrE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etherplay/connect",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/src/index.ts CHANGED
@@ -32,7 +32,7 @@ export type FullfilledMechanism = AlchemyMechanism | WalletMechanism<string, `0x
32
32
 
33
33
  export type WalletState = {
34
34
  provider: EIP1193WindowWalletProvider;
35
-
35
+ accounts: `0x${string}`[];
36
36
  accountChanged?: `0x${string}`;
37
37
  chainId: string;
38
38
  invalidChainId: boolean;
@@ -77,7 +77,13 @@ export type Connection = {
77
77
  wallet: undefined;
78
78
  mechanism: WalletMechanism<string, undefined>;
79
79
  }
80
- // TODO? add another state : 'ChooseWalletAccount'
80
+ // Once the wallet is connected, if multiple account are connected to the site
81
+ // the user can choose which one to connect to
82
+ | {
83
+ step: 'ChooseWalletAccount';
84
+ mechanism: WalletMechanism<string, undefined>;
85
+ wallet: WalletState;
86
+ }
81
87
  // Once the wallet is connected, the system will need a signature
82
88
  // this state represent the fact and require another user interaction to request the signature
83
89
  | {
@@ -134,6 +140,7 @@ export function createConnection(settings: {
134
140
  autoConnect?: boolean;
135
141
  autoConnectWallet?: boolean;
136
142
  requestSignatureAutomaticallyIfPossible?: boolean;
143
+ alwaysUseCurrentAccount?: boolean;
137
144
  node: {url: string; chainId: string; prioritizeWalletProvider?: boolean; requestsPerSecond?: number};
138
145
  }) {
139
146
  const alwaysOnChainId = settings.node.chainId;
@@ -236,6 +243,12 @@ export function createConnection(settings: {
236
243
  _wallet = {provider: walletProvider, chainId};
237
244
  alwaysOnProvider.setWalletProvider(walletProvider);
238
245
  watchForChainIdChange(_wallet.provider);
246
+ let accounts: `0x${string}`[] = [];
247
+ // try {
248
+ accounts = await walletProvider.request({method: 'eth_accounts'});
249
+ accounts = accounts.map((v) => v.toLowerCase() as `0x${string}`);
250
+ // } catch {}
251
+ // // TODO try catch ? and use logic of onAccountChanged
239
252
  set({
240
253
  step: 'SignedIn',
241
254
  account: existingAccount,
@@ -243,6 +256,7 @@ export function createConnection(settings: {
243
256
  wallets: $connection.wallets,
244
257
  wallet: {
245
258
  provider: walletProvider,
259
+ accounts,
246
260
  status: 'connected',
247
261
  accountChanged: undefined,
248
262
  chainId,
@@ -250,7 +264,9 @@ export function createConnection(settings: {
250
264
  switchingChain: false,
251
265
  },
252
266
  });
253
- walletProvider.request({method: 'eth_accounts'}).then(onAccountChanged);
267
+ alwaysOnProvider.setWalletStatus('connected');
268
+ // TODO use the same logic before hand
269
+ onAccountChanged(accounts);
254
270
  watchForAccountChange(walletProvider);
255
271
  })
256
272
  .catch((err) => {
@@ -280,12 +296,20 @@ export function createConnection(settings: {
280
296
  _wallet = {provider: walletProvider, chainId};
281
297
  alwaysOnProvider.setWalletProvider(walletProvider);
282
298
  watchForChainIdChange(_wallet.provider);
299
+
300
+ let accounts: `0x${string}`[] = [];
301
+ // try {
302
+ accounts = await walletProvider.request({method: 'eth_accounts'});
303
+ accounts = accounts.map((v) => v.toLowerCase() as `0x${string}`);
304
+ // } catch {}
305
+ // // TODO try catch ? and use logic of onAccountChanged
283
306
  set({
284
307
  step: 'WalletConnected',
285
308
  mechanism: lastWallet,
286
309
  wallets: $connection.wallets,
287
310
  wallet: {
288
311
  provider: walletProvider,
312
+ accounts,
289
313
  status: 'connected',
290
314
  accountChanged: undefined,
291
315
  chainId,
@@ -293,7 +317,9 @@ export function createConnection(settings: {
293
317
  switchingChain: false,
294
318
  },
295
319
  });
296
- walletProvider.request({method: 'eth_accounts'}).then(onAccountChanged);
320
+ alwaysOnProvider.setWalletStatus('connected');
321
+ // TODO use the same logic before hand
322
+ onAccountChanged(accounts);
297
323
  watchForAccountChange(walletProvider);
298
324
  })
299
325
  .catch((err) => {
@@ -352,12 +378,7 @@ export function createConnection(settings: {
352
378
  throw new Error(`invalid step: ${$connection.step}, needs to be WalletConnected`);
353
379
  }
354
380
 
355
- if (!_wallet) {
356
- // TODO error ?
357
- throw new Error(`no wallet provided initialised`);
358
- }
359
- const provider = _wallet.provider;
360
- const chainId = _wallet.chainId;
381
+ const provider = $connection.wallet.provider;
361
382
  const message = originKeyMessage(origin);
362
383
  const msg = hashMessage(message);
363
384
 
@@ -408,33 +429,26 @@ export function createConnection(settings: {
408
429
  set({
409
430
  ...$connection,
410
431
  step: 'SignedIn',
411
- mechanism: {
412
- type: 'wallet',
413
- name: $connection.mechanism.name,
414
- address: $connection.mechanism.address,
415
- },
416
432
  account,
417
- wallet: {
418
- chainId,
419
- provider: provider,
420
- status: 'connected',
421
- accountChanged: undefined, // TODO check account list
422
- invalidChainId: alwaysOnChainId != chainId,
423
- switchingChain: false,
424
- },
433
+ wallet: $connection.wallet,
425
434
  });
426
435
  if (remember) {
427
436
  saveOriginAccount(account);
428
437
  }
429
438
  }
430
439
 
431
- function connectOnCurrentWalletAccount(address: `0x${string}`) {
440
+ function connecToAddress(address: `0x${string}`, options?: {requireUserConfirmationBeforeSignatureRequest: boolean}) {
432
441
  if ($connection.wallet) {
433
- connect({
434
- type: 'wallet',
435
- address,
436
- name: $connection.mechanism.name,
437
- });
442
+ connect(
443
+ {
444
+ type: 'wallet',
445
+ address,
446
+ name: $connection.mechanism.name,
447
+ },
448
+ {
449
+ requireUserConfirmationBeforeSignatureRequest: options?.requireUserConfirmationBeforeSignatureRequest,
450
+ },
451
+ );
438
452
  } else {
439
453
  throw new Error(`need to be using a wallet`);
440
454
  }
@@ -474,6 +488,7 @@ export function createConnection(settings: {
474
488
  unlocking: false,
475
489
  },
476
490
  });
491
+ alwaysOnProvider.setWalletStatus('locked');
477
492
  } else {
478
493
  const disconnected = accountsFormated.find((v) => v == addressSignedIn) ? false : true;
479
494
 
@@ -486,6 +501,7 @@ export function createConnection(settings: {
486
501
  connecting: false,
487
502
  },
488
503
  });
504
+ alwaysOnProvider.setWalletStatus('disconnected');
489
505
  } else {
490
506
  set({
491
507
  ...$connection,
@@ -494,6 +510,7 @@ export function createConnection(settings: {
494
510
  status: 'connected',
495
511
  },
496
512
  });
513
+ alwaysOnProvider.setWalletStatus('connected');
497
514
  }
498
515
  }
499
516
 
@@ -543,6 +560,7 @@ export function createConnection(settings: {
543
560
  remember = !(options?.doNotStoreLocally || false);
544
561
  if (mechanism) {
545
562
  if (mechanism.type === 'wallet') {
563
+ const specificAddress = mechanism.address;
546
564
  const walletName =
547
565
  mechanism.name || ($connection.wallets.length == 1 ? $connection.wallets[0].info.name : undefined);
548
566
  if (walletName) {
@@ -554,14 +572,14 @@ export function createConnection(settings: {
554
572
  stopatchingForChainIdChange(_wallet.provider);
555
573
  }
556
574
 
557
- const mechanism: WalletMechanism<string, undefined> = {
575
+ const mechanismToSave: WalletMechanism<string, undefined> = {
558
576
  type: 'wallet',
559
577
  name: walletName,
560
578
  };
561
579
 
562
580
  set({
563
581
  step: 'WaitingForWalletConnection', // TODO FetchingAccounts
564
- mechanism,
582
+ mechanism: mechanismToSave,
565
583
  wallets: $connection.wallets,
566
584
  wallet: undefined,
567
585
  });
@@ -579,50 +597,79 @@ export function createConnection(settings: {
579
597
  if (accounts.length === 0) {
580
598
  set({
581
599
  step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
582
- mechanism,
600
+ mechanism: mechanismToSave,
583
601
  wallets: $connection.wallets,
584
602
  wallet: undefined,
585
603
  });
586
604
  accounts = await provider.request({method: 'eth_requestAccounts'});
587
605
  accounts = accounts.map((v) => v.toLowerCase()) as `0x${string}`[];
588
606
  if (accounts.length > 0) {
589
- const walletMechanism = {
590
- ...mechanism,
591
- address: accounts[0],
592
- };
593
- if (options?.requestSignatureRightAway) {
607
+ const nextStep =
608
+ !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
609
+ ? 'ChooseWalletAccount'
610
+ : 'WalletConnected';
611
+ let account = accounts[0];
612
+ if (specificAddress) {
613
+ if (accounts.find((v) => v === specificAddress)) {
614
+ account = specificAddress;
615
+ } else {
616
+ // TODO error
617
+ throw new Error(`could not find address ${specificAddress}`);
618
+ }
619
+ }
620
+
621
+ const newState: Connection =
622
+ nextStep === 'ChooseWalletAccount'
623
+ ? {
624
+ step: nextStep,
625
+ mechanism: mechanismToSave,
626
+ wallets: $connection.wallets,
627
+
628
+ wallet: {
629
+ provider: _wallet.provider,
630
+ accounts,
631
+ status: 'connected',
632
+ accountChanged: undefined,
633
+ chainId,
634
+ invalidChainId: alwaysOnChainId != chainId,
635
+ switchingChain: false,
636
+ },
637
+ }
638
+ : {
639
+ step: nextStep,
640
+ mechanism: {
641
+ ...mechanismToSave,
642
+ address: account,
643
+ },
644
+ wallets: $connection.wallets,
645
+ wallet: {
646
+ provider: _wallet.provider,
647
+ accounts,
648
+ status: 'connected',
649
+ accountChanged: undefined,
650
+ chainId,
651
+ invalidChainId: alwaysOnChainId != chainId,
652
+ switchingChain: false,
653
+ },
654
+ };
655
+ if (
656
+ newState.step === 'WalletConnected' &&
657
+ (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
658
+ !options?.requireUserConfirmationBeforeSignatureRequest
659
+ ) {
594
660
  watchForAccountChange(_wallet.provider);
595
661
 
596
- set({
597
- step: 'WalletConnected',
598
- mechanism: walletMechanism,
599
- wallets: $connection.wallets,
600
- wallet: {
601
- provider: _wallet.provider,
602
- status: 'connected',
603
- accountChanged: undefined,
604
- chainId,
605
- invalidChainId: alwaysOnChainId != chainId,
606
- switchingChain: false,
607
- },
608
- });
609
- saveLastWallet(walletMechanism);
662
+ set(newState);
663
+ alwaysOnProvider.setWalletStatus('connected');
664
+ saveLastWallet(newState.mechanism);
610
665
  await requestSignature();
611
666
  } else {
612
- set({
613
- step: 'WalletConnected',
614
- mechanism: walletMechanism,
615
- wallets: $connection.wallets,
616
- wallet: {
617
- provider: _wallet.provider,
618
- status: 'connected',
619
- accountChanged: undefined,
620
- chainId,
621
- invalidChainId: alwaysOnChainId != chainId,
622
- switchingChain: false,
623
- },
624
- });
625
- saveLastWallet(walletMechanism);
667
+ set(newState);
668
+ alwaysOnProvider.setWalletStatus('connected');
669
+ if (newState.step === 'WalletConnected') {
670
+ saveLastWallet(newState.mechanism);
671
+ }
672
+
626
673
  watchForAccountChange(_wallet.provider);
627
674
  }
628
675
  } else {
@@ -634,43 +681,69 @@ export function createConnection(settings: {
634
681
  });
635
682
  }
636
683
  } else {
637
- const walletMechanism = {
638
- ...mechanism,
639
- address: accounts[0],
640
- };
641
- if (!requestSignatureAutomaticallyIfPossible || options?.requireUserConfirmationBeforeSignatureRequest) {
642
- set({
643
- step: 'WalletConnected',
644
- mechanism: walletMechanism,
645
- wallets: $connection.wallets,
646
- wallet: {
647
- provider: _wallet.provider,
648
- status: 'connected',
649
- accountChanged: undefined,
650
- chainId,
651
- invalidChainId: alwaysOnChainId != chainId,
652
- switchingChain: false,
653
- },
654
- });
655
- saveLastWallet(walletMechanism);
684
+ let account = accounts[0];
685
+ if (specificAddress) {
686
+ if (accounts.find((v) => v === specificAddress)) {
687
+ account = specificAddress;
688
+ } else {
689
+ // TODO error
690
+ throw new Error(`could not find address ${specificAddress}`);
691
+ }
692
+ }
693
+ const nextStep =
694
+ !settings?.alwaysUseCurrentAccount && !specificAddress && accounts.length > 1
695
+ ? 'ChooseWalletAccount'
696
+ : 'WalletConnected';
697
+ const newState: Connection =
698
+ nextStep === 'ChooseWalletAccount'
699
+ ? {
700
+ step: nextStep,
701
+ mechanism: mechanismToSave,
702
+ wallets: $connection.wallets,
703
+ wallet: {
704
+ provider: _wallet.provider,
705
+ accounts,
706
+ status: 'connected',
707
+ accountChanged: undefined,
708
+ chainId,
709
+ invalidChainId: alwaysOnChainId != chainId,
710
+ switchingChain: false,
711
+ },
712
+ }
713
+ : {
714
+ step: nextStep,
715
+ mechanism: {
716
+ ...mechanismToSave,
717
+ address: account,
718
+ },
719
+ wallets: $connection.wallets,
720
+ wallet: {
721
+ provider: _wallet.provider,
722
+ accounts,
723
+ status: 'connected',
724
+ accountChanged: undefined,
725
+ chainId,
726
+ invalidChainId: alwaysOnChainId != chainId,
727
+ switchingChain: false,
728
+ },
729
+ };
730
+ if (
731
+ newState.step === 'WalletConnected' &&
732
+ (requestSignatureAutomaticallyIfPossible || options?.requestSignatureRightAway) &&
733
+ !options?.requireUserConfirmationBeforeSignatureRequest
734
+ ) {
735
+ set(newState);
736
+ alwaysOnProvider.setWalletStatus('connected');
737
+ saveLastWallet(newState.mechanism);
656
738
  watchForAccountChange(_wallet.provider);
739
+ await requestSignature();
657
740
  } else {
658
741
  watchForAccountChange(_wallet.provider);
659
- set({
660
- step: 'WalletConnected',
661
- mechanism: walletMechanism,
662
- wallets: $connection.wallets,
663
- wallet: {
664
- provider: _wallet.provider,
665
- status: 'connected',
666
- accountChanged: undefined,
667
- chainId,
668
- invalidChainId: alwaysOnChainId != chainId,
669
- switchingChain: false,
670
- },
671
- });
672
- saveLastWallet(walletMechanism);
673
- await requestSignature();
742
+ set(newState);
743
+ alwaysOnProvider.setWalletStatus('connected');
744
+ if (newState.step === 'WalletConnected') {
745
+ saveLastWallet(newState.mechanism);
746
+ }
674
747
  }
675
748
  }
676
749
  } else {
@@ -1065,7 +1138,7 @@ export function createConnection(settings: {
1065
1138
  cancel,
1066
1139
  back,
1067
1140
  requestSignature,
1068
- connectOnCurrentWalletAccount,
1141
+ connecToAddress,
1069
1142
  disconnect,
1070
1143
  getSignatureForPublicKeyPublication,
1071
1144
  switchWalletChain,
package/src/provider.ts CHANGED
@@ -19,7 +19,10 @@ export function createProvider(params: {
19
19
  chainId: string;
20
20
  prioritizeWalletProvider?: boolean;
21
21
  requestsPerSecond?: number;
22
- }): CurriedRPC<Methods> & {setWalletProvider: (walletProvider: EIP1193WindowWalletProvider | undefined) => void} & {
22
+ }): CurriedRPC<Methods> & {
23
+ setWalletProvider: (walletProvider: EIP1193WindowWalletProvider | undefined) => void;
24
+ setWalletStatus: (newStatus: 'connected' | 'locked' | 'disconnected') => void;
25
+ } & {
23
26
  chainId: string;
24
27
  } {
25
28
  const {endpoint, chainId, prioritizeWalletProvider, requestsPerSecond} = params;
@@ -79,5 +82,5 @@ export function createProvider(params: {
79
82
  } as unknown as EIP1193WalletProvider;
80
83
 
81
84
  const curriedRPC = createCurriedJSONRPC<Methods>(provider as any, {requestsPerSecond});
82
- return {...curriedRPC, setWalletProvider, chainId};
85
+ return {...curriedRPC, setWalletProvider, setWalletStatus, chainId};
83
86
  }