@rango-dev/wallets-react 0.26.0 → 0.26.1-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/hub/autoConnect.d.ts +9 -0
  3. package/dist/hub/autoConnect.d.ts.map +1 -0
  4. package/dist/hub/constants.d.ts +3 -0
  5. package/dist/hub/constants.d.ts.map +1 -0
  6. package/dist/hub/helpers.d.ts +19 -0
  7. package/dist/hub/helpers.d.ts.map +1 -0
  8. package/dist/hub/lastConnectedWallets.d.ts +16 -0
  9. package/dist/hub/lastConnectedWallets.d.ts.map +1 -0
  10. package/dist/hub/mod.d.ts +3 -0
  11. package/dist/hub/mod.d.ts.map +1 -0
  12. package/dist/hub/types.d.ts +4 -0
  13. package/dist/hub/types.d.ts.map +1 -0
  14. package/dist/hub/useHubAdapter.d.ts +10 -0
  15. package/dist/hub/useHubAdapter.d.ts.map +1 -0
  16. package/dist/hub/useHubRefs.d.ts +7 -0
  17. package/dist/hub/useHubRefs.d.ts.map +1 -0
  18. package/dist/hub/utils.d.ts +38 -0
  19. package/dist/hub/utils.d.ts.map +1 -0
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +4 -4
  22. package/dist/legacy/autoConnect.d.ts +8 -0
  23. package/dist/legacy/autoConnect.d.ts.map +1 -0
  24. package/dist/legacy/helpers.d.ts +2 -6
  25. package/dist/legacy/helpers.d.ts.map +1 -1
  26. package/dist/legacy/mod.d.ts +5 -0
  27. package/dist/legacy/mod.d.ts.map +1 -0
  28. package/dist/legacy/types.d.ts +12 -4
  29. package/dist/legacy/types.d.ts.map +1 -1
  30. package/dist/legacy/useAutoConnect.d.ts +5 -4
  31. package/dist/legacy/useAutoConnect.d.ts.map +1 -1
  32. package/dist/legacy/useLegacyProviders.d.ts +5 -1
  33. package/dist/legacy/useLegacyProviders.d.ts.map +1 -1
  34. package/dist/legacy/utils.d.ts +3 -0
  35. package/dist/legacy/utils.d.ts.map +1 -0
  36. package/dist/useProviders.d.ts +4 -0
  37. package/dist/useProviders.d.ts.map +1 -0
  38. package/dist/wallets-react.build.json +1 -1
  39. package/package.json +3 -3
  40. package/src/hub/autoConnect.ts +186 -0
  41. package/src/hub/constants.ts +2 -0
  42. package/src/hub/helpers.ts +67 -0
  43. package/src/hub/lastConnectedWallets.ts +117 -0
  44. package/src/hub/mod.ts +2 -0
  45. package/src/hub/types.ts +12 -0
  46. package/src/hub/useHubAdapter.ts +339 -0
  47. package/src/hub/useHubRefs.ts +41 -0
  48. package/src/hub/utils.ts +388 -0
  49. package/src/legacy/autoConnect.ts +78 -0
  50. package/src/legacy/helpers.ts +17 -92
  51. package/src/legacy/mod.ts +13 -0
  52. package/src/legacy/types.ts +14 -6
  53. package/src/legacy/useAutoConnect.ts +8 -16
  54. package/src/legacy/useLegacyProviders.ts +45 -7
  55. package/src/legacy/utils.ts +7 -0
  56. package/src/provider.tsx +3 -3
  57. package/src/useProviders.ts +120 -0
  58. package/dist/legacy/constants.d.ts +0 -2
  59. package/dist/legacy/constants.d.ts.map +0 -1
  60. package/src/legacy/constants.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import type { ProviderInterface, State, WalletActions, WalletProviders } from './types.js';
2
- import type { LegacyOptions as Options, LegacyWallet as Wallet, LegacyEventHandler as WalletEventHandler, LegacyState as WalletState } from '@rango-dev/wallets-core/legacy';
3
- import type { WalletConfig, WalletType } from '@rango-dev/wallets-shared';
2
+ import type { LegacyOptions as Options, LegacyEventHandler as WalletEventHandler, LegacyState as WalletState } from '@rango-dev/wallets-core/legacy';
3
+ import type { WalletType } from '@rango-dev/wallets-shared';
4
4
  export declare function choose(wallets: any[], type: WalletType): any | null;
5
5
  export declare const defaultWalletState: WalletState;
6
6
  export declare function stateReducer(state: State, action: any): State;
@@ -19,9 +19,5 @@ export declare function tryRemoveWalletFromPersistance({ type, walletActions, }:
19
19
  walletActions: WalletActions;
20
20
  }): void;
21
21
  export declare function clearPersistance(): void;
22
- export declare function autoConnect(wallets: WalletProviders, getWalletInstance: (wallet: {
23
- actions: WalletActions;
24
- config: WalletConfig;
25
- }) => Wallet<any>): Promise<void>;
26
22
  export declare function makeEventHandler(dispatcher: any, onUpdateState?: WalletEventHandler): WalletEventHandler;
27
23
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/legacy/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,aAAa,IAAI,OAAO,EACxB,YAAY,IAAI,MAAM,EACtB,kBAAkB,IAAI,kBAAkB,EACxC,WAAW,IAAI,WAAW,EAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAM1E,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CAEnE;AAED,eAAO,MAAM,kBAAkB,EAAE,WAOhC,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SA0BrD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAQpE;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAIpE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EAAE,GACxB,eAAe,CAYjB;AAGD,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,WAEnC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,WAGtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,aAAa,EACb,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,CAAC;CACnD,iBAwBA;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,IAAI,EACJ,aAAa,GACd,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;CAC9B,QAWA;AAED,wBAAgB,gBAAgB,SAM/B;AAMD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,KAAK,MAAM,CAAC,GAAG,CAAC,iBAyDlB;AAOD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,kBAAkB,sBAoBnC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/legacy/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,aAAa,IAAI,OAAO,EACxB,kBAAkB,IAAI,kBAAkB,EACxC,WAAW,IAAI,WAAW,EAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAO5D,wBAAgB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,IAAI,CAEnE;AAED,eAAO,MAAM,kBAAkB,EAAE,WAOhC,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SA0BrD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAQpE;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,KAAK,GAAG,UAAU,EAAE,CAIpE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EAAE,GACxB,eAAe,CAYjB;AAGD,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,WAEnC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,WAGtD;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,aAAa,EACb,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,CAAC;CACnD,iBAoBA;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,IAAI,EACJ,aAAa,GACd,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;CAC9B,QAOA;AAED,wBAAgB,gBAAgB,SAM/B;AAQD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,kBAAkB,sBAoBnC"}
@@ -0,0 +1,5 @@
1
+ export type { ProviderProps, ProviderContext, ConnectResult, ExtendedWalletInfo, } from './types.js';
2
+ export { LEGACY_LAST_CONNECTED_WALLETS, HUB_LAST_CONNECTED_WALLETS, } from '../hub/constants.js';
3
+ export { WalletContext } from './context.js';
4
+ export { useLegacyProviders } from './useLegacyProviders.js';
5
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/legacy/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { LegacyNamespaceData as NamespaceData, LegacyNetwork as Network, LegacyEventHandler as WalletEventHandler, LegacyWalletInfo as WalletInfo, LegacyState as WalletState, LegacyWalletType as WalletType } from '@rango-dev/wallets-core/legacy';
1
+ import type { ProviderInfo, VersionedProviders } from '@rango-dev/wallets-core';
2
+ import type { LegacyNamespaceInputForConnect, LegacyNetwork as Network, LegacyEventHandler as WalletEventHandler, LegacyWalletInfo as WalletInfo, LegacyState as WalletState, LegacyWalletType as WalletType } from '@rango-dev/wallets-core/legacy';
2
3
  import type { BlockchainMeta, SignerFactory } from 'rango-types';
3
4
  import type { PropsWithChildren } from 'react';
4
5
  export type State = {
@@ -12,8 +13,12 @@ export type ConnectResult = {
12
13
  export type Providers = {
13
14
  [type in WalletType]?: any;
14
15
  };
16
+ export type ExtendedWalletInfo = WalletInfo & {
17
+ properties?: ProviderInfo['properties'];
18
+ isHub?: boolean;
19
+ };
15
20
  export type ProviderContext = {
16
- connect(type: WalletType, network?: Network, namespaces?: NamespaceData[]): Promise<ConnectResult>;
21
+ connect(type: WalletType, namespaces?: LegacyNamespaceInputForConnect[]): Promise<ConnectResult[]>;
17
22
  disconnect(type: WalletType): Promise<void>;
18
23
  disconnectAll(): Promise<PromiseSettledResult<any>[]>;
19
24
  state(type: WalletType): WalletState;
@@ -27,14 +32,17 @@ export type ProviderContext = {
27
32
  */
28
33
  providers(): Providers;
29
34
  getSigners(type: WalletType): Promise<SignerFactory>;
30
- getWalletInfo(type: WalletType): WalletInfo;
35
+ getWalletInfo(type: WalletType): ExtendedWalletInfo;
31
36
  suggestAndConnect(type: WalletType, network: Network): Promise<ConnectResult>;
32
37
  };
33
38
  export type ProviderProps = PropsWithChildren<{
34
39
  onUpdateState?: WalletEventHandler;
35
40
  allBlockChains?: BlockchainMeta[];
36
41
  autoConnect?: boolean;
37
- providers: ProviderInterface[];
42
+ providers: VersionedProviders[];
43
+ configs?: {
44
+ isExperimentalEnabled?: boolean;
45
+ };
38
46
  }>;
39
47
  export declare enum Events {
40
48
  CONNECTED = "connected",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,IAAI,aAAa,EACpC,aAAa,IAAI,OAAO,EACxB,kBAAkB,IAAI,kBAAkB,EACxC,gBAAgB,IAAI,UAAU,EAC9B,WAAW,IAAI,WAAW,EAC1B,gBAAgB,IAAI,UAAU,EAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,MAAM,MAAM,KAAK,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,GAAG,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;KAAG,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,GAAG;CAAE,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CACL,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,OAAO,EACjB,UAAU,CAAC,EAAE,aAAa,EAAE,GAC3B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,aAAa,IAAI,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IACrC,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAChE;;;;;;OAMG;IACH,SAAS,IAAI,SAAS,CAAC;IACvB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAC5C,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC/E,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;IAC5C,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,oBAAY,MAAM;IAChB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,WAAW,CAAC;IAC5B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB,CAAC,MAAM,GAAG,CAAC,GACX,CAAC,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,cAAc,GACtB,CAAC,MAAM,GAAG,CAAC,GACX,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/E,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB,KAAK,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,EAAE,CAAC,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE;IACjC,QAAQ,EAAE,GAAG,CAAC;IACd,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,KAAK,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,KAAK,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE;IACpC,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,WAAW,CAAC;IAC7B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC;CACf,KAAK,OAAO,CAAC;AAEd,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE;IACtC,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IAItB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;CAC7D;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,eAAe,GAAG,GAAG,CAC/B,UAAU,EACV;IACE,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/legacy/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import type { GetWalletInstance } from './hooks.js';
2
- import type { ProviderProps, WalletProviders } from './types.js';
1
+ import type { ProviderProps } from './types.js';
3
2
  export declare function useAutoConnect(props: Pick<ProviderProps, 'allBlockChains' | 'autoConnect'> & {
4
- wallets: WalletProviders;
5
- getWalletInstanceFromLegacy: GetWalletInstance;
3
+ /**
4
+ * A function to run autoConnect on instances
5
+ */
6
+ autoConnectHandler: () => void;
6
7
  }): void;
7
8
  //# sourceMappingURL=useAutoConnect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoConnect.d.ts","sourceRoot":"","sources":["../../src/legacy/useAutoConnect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMjE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,GAAG,aAAa,CAAC,GAAG;IAC7D,OAAO,EAAE,eAAe,CAAC;IACzB,2BAA2B,EAAE,iBAAiB,CAAC;CAChD,QAmBF"}
1
+ {"version":3,"file":"useAutoConnect.d.ts","sourceRoot":"","sources":["../../src/legacy/useAutoConnect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,GAAG,aAAa,CAAC,GAAG;IAC7D;;OAEG;IACH,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC,QAUF"}
@@ -1,3 +1,7 @@
1
1
  import type { ProviderContext, ProviderProps } from './types.js';
2
- export declare function useLegacyProviders(props: ProviderProps): ProviderContext;
2
+ import type { LegacyProviderInterface } from '@rango-dev/wallets-core/legacy';
3
+ export type LegacyProviderProps = Omit<ProviderProps, 'providers'> & {
4
+ providers: LegacyProviderInterface[];
5
+ };
6
+ export declare function useLegacyProviders(props: LegacyProviderProps): ProviderContext;
3
7
  //# sourceMappingURL=useLegacyProviders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLegacyProviders.d.ts","sourceRoot":"","sources":["../../src/legacy/useLegacyProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAmBjE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAsMxE"}
1
+ {"version":3,"file":"useLegacyProviders.d.ts","sourceRoot":"","sources":["../../src/legacy/useLegacyProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAoBxC,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG;IACnE,SAAS,EAAE,uBAAuB,EAAE,CAAC;CACtC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,mBAAmB,GACzB,eAAe,CAgOjB"}
@@ -0,0 +1,3 @@
1
+ import type { ProviderProps } from './types.js';
2
+ export declare function shouldTryAutoConnect(props: Pick<ProviderProps, 'allBlockChains' | 'autoConnect'>): boolean;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/legacy/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,GAAG,aAAa,CAAC,GAC3D,OAAO,CAET"}
@@ -0,0 +1,4 @@
1
+ import type { ProviderContext, ProviderProps } from './index.js';
2
+ declare function useProviders(props: ProviderProps): ProviderContext;
3
+ export { useProviders };
4
+ //# sourceMappingURL=useProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProviders.d.ts","sourceRoot":"","sources":["../src/useProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,aAAa,EAEd,MAAM,YAAY,CAAC;AAiBpB,iBAAS,YAAY,CAAC,KAAK,EAAE,aAAa,mBA+FzC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"inputs":{"src/legacy/constants.ts":{"bytes":64,"imports":[],"format":"esm"},"src/legacy/helpers.ts":{"bytes":6923,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/legacy/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/context.ts":{"bytes":905,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/hooks.ts":{"bytes":1545,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useAutoConnect.ts":{"bytes":916,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useLegacyProviders.ts":{"bytes":6608,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/legacy/useAutoConnect.ts","kind":"import-statement","original":"./useAutoConnect.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/provider.tsx":{"bytes":442,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./legacy/context.js"},{"path":"src/legacy/useLegacyProviders.ts","kind":"import-statement","original":"./legacy/useLegacyProviders.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/types.ts":{"bytes":4851,"imports":[],"format":"esm"},"src/index.ts":{"bytes":173,"imports":[{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./legacy/helpers.js"},{"path":"src/provider.tsx","kind":"import-statement","original":"./provider.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./legacy/hooks.js"},{"path":"src/legacy/types.ts","kind":"import-statement","original":"./legacy/types.js"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":32801},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Events","Provider","autoConnect","availableWallets","checkWalletProviders","choose","clearPersistance","connectedWallets","defaultWalletState","isAsync","makeEventHandler","needsCheckInstallation","stateReducer","tryPersistWallet","tryRemoveWalletFromPersistance","useWallets"],"entryPoint":"src/index.ts","inputs":{"src/legacy/helpers.ts":{"bytesInOutput":1940},"src/legacy/constants.ts":{"bytesInOutput":31},"src/index.ts":{"bytesInOutput":0},"src/provider.tsx":{"bytesInOutput":126},"src/legacy/context.ts":{"bytesInOutput":427},"src/legacy/useLegacyProviders.ts":{"bytesInOutput":2071},"src/legacy/hooks.ts":{"bytesInOutput":450},"src/legacy/useAutoConnect.ts":{"bytesInOutput":283},"src/legacy/types.ts":{"bytesInOutput":162}},"bytes":5938}}}
1
+ {"inputs":{"src/hub/constants.ts":{"bytes":146,"imports":[],"format":"esm"},"src/hub/lastConnectedWallets.ts":{"bytes":3866,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/hub/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/helpers.ts":{"bytes":4652,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/hub/constants.ts","kind":"import-statement","original":"../hub/constants.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"../hub/lastConnectedWallets.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/context.ts":{"bytes":905,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/hub/helpers.ts":{"bytes":2205,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/utils.ts":{"bytes":11201,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/autoConnect.ts":{"bytes":2509,"imports":[{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"../hub/lastConnectedWallets.js"},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"./mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/hooks.ts":{"bytes":1545,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/utils.ts":{"bytes":230,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useAutoConnect.ts":{"bytes":628,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/useLegacyProviders.ts":{"bytes":7895,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/autoConnect.ts","kind":"import-statement","original":"./autoConnect.js"},{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./hooks.js"},{"path":"src/legacy/useAutoConnect.ts","kind":"import-statement","original":"./useAutoConnect.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/mod.ts":{"bytes":321,"imports":[{"path":"src/hub/constants.ts","kind":"import-statement","original":"../hub/constants.js"},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./context.js"},{"path":"src/legacy/useLegacyProviders.ts","kind":"import-statement","original":"./useLegacyProviders.js"}],"format":"esm"},"src/hub/autoConnect.ts":{"bytes":5984,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/useHubRefs.ts":{"bytes":1031,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/useHubAdapter.ts":{"bytes":10725,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"../legacy/mod.js"},{"path":"src/legacy/useAutoConnect.ts","kind":"import-statement","original":"../legacy/useAutoConnect.js"},{"path":"src/hub/autoConnect.ts","kind":"import-statement","original":"./autoConnect.js"},{"path":"src/hub/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/hub/lastConnectedWallets.ts","kind":"import-statement","original":"./lastConnectedWallets.js"},{"path":"src/hub/useHubRefs.ts","kind":"import-statement","original":"./useHubRefs.js"},{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/hub/mod.ts":{"bytes":132,"imports":[{"path":"src/hub/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"src/hub/useHubAdapter.ts","kind":"import-statement","original":"./useHubAdapter.js"}],"format":"esm"},"src/useProviders.ts":{"bytes":3513,"imports":[{"path":"src/hub/mod.ts","kind":"import-statement","original":"./hub/mod.js"},{"path":"src/legacy/mod.ts","kind":"import-statement","original":"./legacy/mod.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/provider.tsx":{"bytes":405,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/legacy/context.ts","kind":"import-statement","original":"./legacy/context.js"},{"path":"src/useProviders.ts","kind":"import-statement","original":"./useProviders.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/types.ts":{"bytes":5101,"imports":[],"format":"esm"},"src/index.ts":{"bytes":173,"imports":[{"path":"src/legacy/helpers.ts","kind":"import-statement","original":"./legacy/helpers.js"},{"path":"src/provider.tsx","kind":"import-statement","original":"./provider.js"},{"path":"src/legacy/hooks.ts","kind":"import-statement","original":"./legacy/hooks.js"},{"path":"src/legacy/types.ts","kind":"import-statement","original":"./legacy/types.js"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":93527},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Events","Provider","availableWallets","checkWalletProviders","choose","clearPersistance","connectedWallets","defaultWalletState","isAsync","makeEventHandler","needsCheckInstallation","stateReducer","tryPersistWallet","tryRemoveWalletFromPersistance","useWallets"],"entryPoint":"src/index.ts","inputs":{"src/legacy/helpers.ts":{"bytesInOutput":1401},"src/hub/constants.ts":{"bytesInOutput":65},"src/hub/lastConnectedWallets.ts":{"bytesInOutput":998},"src/index.ts":{"bytesInOutput":0},"src/provider.tsx":{"bytesInOutput":133},"src/legacy/context.ts":{"bytesInOutput":431},"src/hub/utils.ts":{"bytesInOutput":3691},"src/hub/helpers.ts":{"bytesInOutput":773},"src/hub/mod.ts":{"bytesInOutput":0},"src/hub/useHubAdapter.ts":{"bytesInOutput":3575},"src/legacy/mod.ts":{"bytesInOutput":0},"src/legacy/useLegacyProviders.ts":{"bytesInOutput":2173},"src/legacy/autoConnect.ts":{"bytesInOutput":444},"src/legacy/hooks.ts":{"bytesInOutput":460},"src/legacy/useAutoConnect.ts":{"bytesInOutput":197},"src/legacy/utils.ts":{"bytesInOutput":94},"src/hub/autoConnect.ts":{"bytesInOutput":1673},"src/hub/useHubRefs.ts":{"bytesInOutput":425},"src/useProviders.ts":{"bytesInOutput":942},"src/legacy/types.ts":{"bytesInOutput":164}},"bytes":18078}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/wallets-react",
3
- "version": "0.26.0",
3
+ "version": "0.26.1-next.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -26,8 +26,8 @@
26
26
  "react-dom": "^17.0.0 || ^18.0.0"
27
27
  },
28
28
  "dependencies": {
29
- "@rango-dev/wallets-core": "^0.40.0",
30
- "@rango-dev/wallets-shared": "^0.40.0",
29
+ "@rango-dev/wallets-core": "^0.40.1-next.0",
30
+ "@rango-dev/wallets-shared": "^0.40.1-next.0",
31
31
  "rango-types": "^0.1.74"
32
32
  },
33
33
  "publishConfig": {
@@ -0,0 +1,186 @@
1
+ import type { AllProxiedNamespaces } from './types.js';
2
+ import type { UseAdapterParams } from './useHubAdapter.js';
3
+ import type { Hub } from '@rango-dev/wallets-core';
4
+ import type {
5
+ LegacyNamespaceInputForConnect,
6
+ LegacyProviderInterface,
7
+ LegacyNamespace as Namespace,
8
+ } from '@rango-dev/wallets-core/legacy';
9
+
10
+ import {
11
+ legacyEagerConnectHandler,
12
+ legacyIsEvmNamespace,
13
+ legacyIsNamespaceDiscoverMode,
14
+ } from '@rango-dev/wallets-core/legacy';
15
+
16
+ import { HUB_LAST_CONNECTED_WALLETS } from '../legacy/mod.js';
17
+
18
+ import { sequentiallyRun } from './helpers.js';
19
+ import { LastConnectedWalletsFromStorage } from './lastConnectedWallets.js';
20
+ import {
21
+ convertNamespaceNetworkToEvmChainId,
22
+ discoverNamespace,
23
+ } from './utils.js';
24
+
25
+ /**
26
+ * Run `.connect` action on some selected namespaces (passed as param) for a provider.
27
+ */
28
+ async function eagerConnect(
29
+ type: string,
30
+ namespacesInput: LegacyNamespaceInputForConnect[] | undefined,
31
+ params: {
32
+ getHub: () => Hub;
33
+ allBlockChains: UseAdapterParams['allBlockChains'];
34
+ }
35
+ ) {
36
+ const { getHub, allBlockChains } = params;
37
+ const wallet = getHub().get(type);
38
+ if (!wallet) {
39
+ throw new Error(
40
+ `You should add ${type} to provider first then call 'connect'.`
41
+ );
42
+ }
43
+
44
+ if (!namespacesInput) {
45
+ throw new Error(
46
+ 'Passing namespace to `connect` is required. you can pass DISCOVERY_MODE for legacy.'
47
+ );
48
+ }
49
+
50
+ const targetNamespaces: [
51
+ LegacyNamespaceInputForConnect,
52
+ AllProxiedNamespaces
53
+ ][] = [];
54
+ namespacesInput.forEach((namespaceInput) => {
55
+ let targetNamespace: Namespace;
56
+ if (legacyIsNamespaceDiscoverMode(namespaceInput)) {
57
+ targetNamespace = discoverNamespace(namespaceInput.network);
58
+ } else {
59
+ targetNamespace = namespaceInput.namespace;
60
+ }
61
+
62
+ const result = wallet.findByNamespace(targetNamespace);
63
+
64
+ if (!result) {
65
+ throw new Error(
66
+ `We couldn't find any provider matched with your request namespace. (requested namespace: ${namespaceInput.namespace})`
67
+ );
68
+ }
69
+
70
+ targetNamespaces.push([namespaceInput, result]);
71
+ });
72
+
73
+ const finalResult = targetNamespaces.map(([info, namespace]) => {
74
+ const evmChain = legacyIsEvmNamespace(info)
75
+ ? convertNamespaceNetworkToEvmChainId(info, allBlockChains || [])
76
+ : undefined;
77
+ const chain = evmChain || info.network;
78
+
79
+ return async () => await namespace.connect(chain);
80
+ });
81
+
82
+ /**
83
+ * Sometimes calling methods on a instance in parallel, would cause an error in wallet.
84
+ * We are running a method at a time to make sure we are covering this.
85
+ * e.g. when we are trying to eagerConnect evm and solana on phantom at the same time, the last namespace throw an error.
86
+ */
87
+ return await sequentiallyRun(finalResult);
88
+ }
89
+
90
+ /*
91
+ *
92
+ * Get last connected wallets from storage then run `.connect` on them if `.canEagerConnect` returns true.
93
+ *
94
+ * Note 1:
95
+ * - It currently use `.getInstance`, `.canEagerConenct` and `getWalletInfo()`.supported chains from legacy provider implementation.
96
+ * - For each namespace, we don't have a separate `.canEagerConnect`. it's only one and will be used for all namespaces.
97
+ */
98
+ export async function autoConnect(deps: {
99
+ getHub: () => Hub;
100
+ allBlockChains: UseAdapterParams['allBlockChains'];
101
+ getLegacyProvider: (type: string) => LegacyProviderInterface;
102
+ }): Promise<void> {
103
+ const { getHub, allBlockChains, getLegacyProvider } = deps;
104
+
105
+ // Getting connected wallets from storage
106
+ const lastConnectedWalletsFromStorage = new LastConnectedWalletsFromStorage(
107
+ HUB_LAST_CONNECTED_WALLETS
108
+ );
109
+ const lastConnectedWallets = lastConnectedWalletsFromStorage.list();
110
+ const walletIds = Object.keys(lastConnectedWallets);
111
+
112
+ const walletsToRemoveFromPersistance: string[] = [];
113
+
114
+ if (walletIds.length) {
115
+ const eagerConnectQueue: any[] = [];
116
+
117
+ // Run `.connect` if `.canEagerConnect` returns `true`.
118
+ walletIds.forEach((providerName) => {
119
+ const legacyProvider = getLegacyProvider(providerName);
120
+
121
+ let legacyInstance: any;
122
+ try {
123
+ legacyInstance = legacyProvider.getInstance();
124
+ } catch (e) {
125
+ console.warn(
126
+ "It seems instance isn't available yet. This can happens when extension not loaded yet (sometimes when opening browser for first time) or extension is disabled."
127
+ );
128
+ return;
129
+ }
130
+
131
+ const namespaces: LegacyNamespaceInputForConnect[] = lastConnectedWallets[
132
+ providerName
133
+ ].map((namespace) => ({
134
+ namespace: namespace as Namespace,
135
+ network: undefined,
136
+ }));
137
+
138
+ const canEagerConnect = async () => {
139
+ if (!legacyProvider.canEagerConnect) {
140
+ throw new Error(
141
+ `${providerName} provider hasn't implemented canEagerConnect.`
142
+ );
143
+ }
144
+ return await legacyProvider.canEagerConnect({
145
+ instance: legacyInstance,
146
+ meta: legacyProvider.getWalletInfo(allBlockChains || [])
147
+ .supportedChains,
148
+ });
149
+ };
150
+ const connectHandler = async () => {
151
+ return eagerConnect(providerName, namespaces, {
152
+ allBlockChains,
153
+ getHub,
154
+ });
155
+ };
156
+
157
+ eagerConnectQueue.push(
158
+ legacyEagerConnectHandler({
159
+ canEagerConnect,
160
+ connectHandler,
161
+ providerName,
162
+ }).catch((e) => {
163
+ walletsToRemoveFromPersistance.push(providerName);
164
+ throw e;
165
+ })
166
+ );
167
+ });
168
+
169
+ await Promise.allSettled(eagerConnectQueue);
170
+
171
+ /*
172
+ *After successfully connecting to at least one wallet,
173
+ *we will removing the other wallets from persistence.
174
+ *If we are unable to connect to any wallet,
175
+ *the persistence will not be removed and the eager connection will be retried with another page load.
176
+ */
177
+ const canRestoreAnyConnection =
178
+ walletIds.length > walletsToRemoveFromPersistance.length;
179
+
180
+ if (canRestoreAnyConnection) {
181
+ lastConnectedWalletsFromStorage.removeWallets(
182
+ walletsToRemoveFromPersistance
183
+ );
184
+ }
185
+ }
186
+ }
@@ -0,0 +1,2 @@
1
+ export const LEGACY_LAST_CONNECTED_WALLETS = 'last-connected-wallets';
2
+ export const HUB_LAST_CONNECTED_WALLETS = 'hub-v1-last-connected-wallets';
@@ -0,0 +1,67 @@
1
+ import type { AllProxiedNamespaces } from './types.js';
2
+ import type {
3
+ Accounts,
4
+ AccountsWithActiveChain,
5
+ } from '@rango-dev/wallets-core/namespaces/common';
6
+
7
+ import { legacyFormatAddressWithNetwork as formatAddressWithNetwork } from '@rango-dev/wallets-core/legacy';
8
+ import { CAIP } from '@rango-dev/wallets-core/utils';
9
+
10
+ export function mapCaipNamespaceToLegacyNetworkName(
11
+ chainId: CAIP.ChainIdParams | string
12
+ ): string {
13
+ if (typeof chainId === 'string') {
14
+ return chainId;
15
+ }
16
+ const useNamespaceAsNetworkFor = ['solana'];
17
+
18
+ if (useNamespaceAsNetworkFor.includes(chainId.namespace.toLowerCase())) {
19
+ return chainId.namespace.toUpperCase();
20
+ }
21
+
22
+ if (chainId.namespace.toLowerCase() === 'eip155') {
23
+ return 'ETH';
24
+ }
25
+
26
+ return chainId.reference;
27
+ }
28
+
29
+ /**
30
+ * CAIP's accountId has a format like this: eip155:1:0xab16a96D359eC26a11e2C2b3d8f8B8942d5Bfcdb
31
+ * Legacy format is something like this: ETH:0xab16a96D359eC26a11e2C2b3d8f8B8942d5Bfcdb
32
+ * This function will try to convert this two format.
33
+ *
34
+ * @see https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-10.md
35
+ */
36
+ export function fromAccountIdToLegacyAddressFormat(account: string): string {
37
+ const { chainId, address } = CAIP.AccountId.parse(account);
38
+ const network = mapCaipNamespaceToLegacyNetworkName(chainId);
39
+ return formatAddressWithNetwork(address, network);
40
+ }
41
+
42
+ /**
43
+ * Getting a list of (lazy) promises and run them one after another.
44
+ */
45
+ export async function sequentiallyRun<T extends () => Promise<unknown>>(
46
+ promises: Array<T>
47
+ ): Promise<Array<T extends () => Promise<infer R> ? R : never>> {
48
+ const result = await promises.reduce(async (prev, task) => {
49
+ const previousResults = await prev;
50
+ const taskResult = await task();
51
+
52
+ return [...previousResults, taskResult];
53
+ }, Promise.resolve([]) as Promise<any>);
54
+ return result;
55
+ }
56
+
57
+ export function isConnectResultEvm(
58
+ result: Awaited<ReturnType<AllProxiedNamespaces['connect']>>
59
+ ): result is AccountsWithActiveChain {
60
+ return typeof result === 'object' && !Array.isArray(result);
61
+ }
62
+
63
+ export function isConnectResultSolana(
64
+ result: Awaited<ReturnType<AllProxiedNamespaces['connect']>>
65
+ ): result is Accounts {
66
+ return Array.isArray(result);
67
+ }
@@ -0,0 +1,117 @@
1
+ import { Persistor } from '@rango-dev/wallets-core/legacy';
2
+
3
+ import {
4
+ HUB_LAST_CONNECTED_WALLETS,
5
+ LEGACY_LAST_CONNECTED_WALLETS,
6
+ } from './constants.js';
7
+
8
+ export interface LastConnectedWalletsStorage {
9
+ [providerId: string]: string[];
10
+ }
11
+
12
+ export type LegacyLastConnectedWalletsStorage = string[];
13
+
14
+ /**
15
+ * We are doing some certain actions on storage for `last-connected-wallets` key.
16
+ * This class helps us to define them in one place and also it has support for both legacy and hub.
17
+ */
18
+ export class LastConnectedWalletsFromStorage {
19
+ #storageKey: string;
20
+
21
+ constructor(storageKey: string) {
22
+ this.#storageKey = storageKey;
23
+ }
24
+
25
+ addWallet(providerId: string, namespaces: string[]): void {
26
+ if (this.#storageKey === HUB_LAST_CONNECTED_WALLETS) {
27
+ return this.#addWalletToHub(providerId, namespaces);
28
+ } else if (this.#storageKey === LEGACY_LAST_CONNECTED_WALLETS) {
29
+ return this.#addWalletToLegacy(providerId);
30
+ }
31
+ throw new Error('Not implemented');
32
+ }
33
+ removeWallets(providerIds?: string[]): void {
34
+ if (this.#storageKey === HUB_LAST_CONNECTED_WALLETS) {
35
+ return this.#removeWalletsFromHub(providerIds);
36
+ } else if (this.#storageKey === LEGACY_LAST_CONNECTED_WALLETS) {
37
+ return this.#removeWalletsFromLegacy(providerIds);
38
+ }
39
+ throw new Error('Not implemented');
40
+ }
41
+ list(): LastConnectedWalletsStorage {
42
+ if (this.#storageKey === HUB_LAST_CONNECTED_WALLETS) {
43
+ return this.#listFromHub();
44
+ } else if (this.#storageKey === LEGACY_LAST_CONNECTED_WALLETS) {
45
+ return this.#listFromLegacy();
46
+ }
47
+ throw new Error('Not implemented');
48
+ }
49
+
50
+ #listFromLegacy(): LastConnectedWalletsStorage {
51
+ const persistor = new Persistor<LegacyLastConnectedWalletsStorage>();
52
+ const lastConnectedWallets =
53
+ persistor.getItem(LEGACY_LAST_CONNECTED_WALLETS) || [];
54
+ const output: LastConnectedWalletsStorage = {};
55
+ lastConnectedWallets.forEach((provider) => {
56
+ // Setting empty namespaces
57
+ output[provider] = [];
58
+ });
59
+ return output;
60
+ }
61
+ #listFromHub(): LastConnectedWalletsStorage {
62
+ const persistor = new Persistor<LastConnectedWalletsStorage>();
63
+ const lastConnectedWallets =
64
+ persistor.getItem(HUB_LAST_CONNECTED_WALLETS) || {};
65
+ return lastConnectedWallets;
66
+ }
67
+ #addWalletToHub(providerId: string, namespaces: string[]): void {
68
+ const storage = new Persistor<LastConnectedWalletsStorage>();
69
+ const data = storage.getItem(this.#storageKey) || {};
70
+
71
+ storage.setItem(this.#storageKey, {
72
+ ...data,
73
+ [providerId]: namespaces,
74
+ });
75
+ }
76
+ #addWalletToLegacy(providerId: string): void {
77
+ const storage = new Persistor<LegacyLastConnectedWalletsStorage>();
78
+ const data = storage.getItem(this.#storageKey) || [];
79
+
80
+ storage.setItem(LEGACY_LAST_CONNECTED_WALLETS, data.concat(providerId));
81
+ }
82
+ #removeWalletsFromHub(providerIds?: string[]): void {
83
+ const persistor = new Persistor<LastConnectedWalletsStorage>();
84
+ const storageState = persistor.getItem(this.#storageKey) || {};
85
+
86
+ // Remove all wallets
87
+ if (!providerIds) {
88
+ persistor.setItem(this.#storageKey, {});
89
+ return;
90
+ }
91
+
92
+ // Remove some of the wallets
93
+ providerIds.forEach((providerId) => {
94
+ if (storageState[providerId]) {
95
+ delete storageState[providerId];
96
+ }
97
+ });
98
+
99
+ persistor.setItem(this.#storageKey, storageState);
100
+ }
101
+ #removeWalletsFromLegacy(providerIds?: string[]): void {
102
+ const persistor = new Persistor<LegacyLastConnectedWalletsStorage>();
103
+ const storageState = persistor.getItem(this.#storageKey) || [];
104
+
105
+ // Remove all wallets
106
+ if (!providerIds) {
107
+ persistor.setItem(this.#storageKey, []);
108
+ return;
109
+ }
110
+
111
+ // Remove some of the wallets
112
+ persistor.setItem(
113
+ LEGACY_LAST_CONNECTED_WALLETS,
114
+ storageState.filter((wallet) => !providerIds.includes(wallet))
115
+ );
116
+ }
117
+ }
package/src/hub/mod.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { separateLegacyAndHubProviders, findProviderByType } from './utils.js';
2
+ export { useHubAdapter } from './useHubAdapter.js';
@@ -0,0 +1,12 @@
1
+ import type {
2
+ CommonNamespaces,
3
+ FindProxiedNamespace,
4
+ ProviderInfo,
5
+ } from '@rango-dev/wallets-core';
6
+
7
+ export type AllProxiedNamespaces = FindProxiedNamespace<
8
+ keyof CommonNamespaces,
9
+ CommonNamespaces
10
+ >;
11
+
12
+ export type ExtensionLink = keyof ProviderInfo['extensions'];