@reown/appkit 1.6.8 → 1.6.9-rc.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 (92) hide show
  1. package/dist/esm/exports/basic.js +11 -0
  2. package/dist/esm/exports/basic.js.map +1 -0
  3. package/dist/esm/exports/constants.js +1 -1
  4. package/dist/esm/exports/constants.js.map +1 -1
  5. package/dist/esm/package.json +6 -6
  6. package/dist/esm/src/client/appkit-basic.js +35 -0
  7. package/dist/esm/src/client/appkit-basic.js.map +1 -0
  8. package/dist/esm/src/client/appkit.js +371 -0
  9. package/dist/esm/src/client/appkit.js.map +1 -0
  10. package/dist/esm/src/client/core.js +1367 -0
  11. package/dist/esm/src/client/core.js.map +1 -0
  12. package/dist/esm/src/client.js +98 -24
  13. package/dist/esm/src/client.js.map +1 -1
  14. package/dist/esm/src/utils/HelpersUtil.js.map +1 -1
  15. package/dist/esm/tests/client/adapter-management.test.js +83 -0
  16. package/dist/esm/tests/client/adapter-management.test.js.map +1 -0
  17. package/dist/esm/tests/client/appkit-basic.test.js +68 -0
  18. package/dist/esm/tests/client/appkit-basic.test.js.map +1 -0
  19. package/dist/esm/tests/client/balance.test.js +54 -0
  20. package/dist/esm/tests/client/balance.test.js.map +1 -0
  21. package/dist/esm/tests/client/connection.test.js +52 -0
  22. package/dist/esm/tests/client/connection.test.js.map +1 -0
  23. package/dist/esm/tests/client/initialization.test.js +122 -0
  24. package/dist/esm/tests/client/initialization.test.js.map +1 -0
  25. package/dist/esm/tests/client/listeners.test.js +50 -0
  26. package/dist/esm/tests/client/listeners.test.js.map +1 -0
  27. package/dist/esm/tests/client/public-methods.test.js +654 -0
  28. package/dist/esm/tests/client/public-methods.test.js.map +1 -0
  29. package/dist/esm/tests/client/universal-adapter.test.js +44 -0
  30. package/dist/esm/tests/client/universal-adapter.test.js.map +1 -0
  31. package/dist/esm/tests/client/walletconnect-events.test.js +61 -0
  32. package/dist/esm/tests/client/walletconnect-events.test.js.map +1 -0
  33. package/dist/esm/tests/connectors/WalletConnectConnector.test.js +63 -0
  34. package/dist/esm/tests/connectors/WalletConnectConnector.test.js.map +1 -0
  35. package/dist/esm/tests/mocks/Account.js +13 -0
  36. package/dist/esm/tests/mocks/Account.js.map +1 -0
  37. package/dist/esm/tests/mocks/Adapter.js +95 -0
  38. package/dist/esm/tests/mocks/Adapter.js.map +1 -0
  39. package/dist/esm/tests/mocks/AppKit.js +24 -0
  40. package/dist/esm/tests/mocks/AppKit.js.map +1 -0
  41. package/dist/esm/tests/mocks/Networks.js +17 -0
  42. package/dist/esm/tests/mocks/Networks.js.map +1 -0
  43. package/dist/esm/tests/mocks/Options.js +17 -0
  44. package/dist/esm/tests/mocks/Options.js.map +1 -0
  45. package/dist/esm/tests/mocks/Providers.js +46 -0
  46. package/dist/esm/tests/mocks/Providers.js.map +1 -0
  47. package/dist/esm/tests/mocks/UniversalProvider.js +139 -0
  48. package/dist/esm/tests/mocks/UniversalProvider.js.map +1 -0
  49. package/dist/esm/tests/siwe.test.js +258 -0
  50. package/dist/esm/tests/siwe.test.js.map +1 -0
  51. package/dist/esm/tests/test-utils.js +36 -0
  52. package/dist/esm/tests/test-utils.js.map +1 -0
  53. package/dist/esm/tests/universal-adapter.test.js +246 -0
  54. package/dist/esm/tests/universal-adapter.test.js.map +1 -0
  55. package/dist/esm/tests/utils/HelpersUtil.test.js +218 -0
  56. package/dist/esm/tests/utils/HelpersUtil.test.js.map +1 -0
  57. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  58. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  59. package/dist/types/exports/basic.d.ts +8 -0
  60. package/dist/types/exports/constants.d.ts +1 -1
  61. package/dist/types/src/client/appkit-basic.d.ts +24 -0
  62. package/dist/types/src/client/appkit.d.ts +23 -0
  63. package/dist/types/src/client/core.d.ts +208 -0
  64. package/dist/types/src/client.d.ts +3 -2
  65. package/dist/types/src/library/react/index.d.ts +1 -1
  66. package/dist/types/src/networks/bitcoin.d.ts +5 -5
  67. package/dist/types/src/networks/solana/solana.d.ts +1 -1
  68. package/dist/types/src/networks/solana/solanaDevnet.d.ts +1 -1
  69. package/dist/types/src/networks/solana/solanaTestnet.d.ts +1 -1
  70. package/dist/types/src/store/ProviderUtil.d.ts +5 -3
  71. package/dist/types/tests/client/adapter-management.test.d.ts +1 -0
  72. package/dist/types/tests/client/appkit-basic.test.d.ts +1 -0
  73. package/dist/types/tests/client/balance.test.d.ts +1 -0
  74. package/dist/types/tests/client/connection.test.d.ts +1 -0
  75. package/dist/types/tests/client/initialization.test.d.ts +1 -0
  76. package/dist/types/tests/client/listeners.test.d.ts +1 -0
  77. package/dist/types/tests/client/public-methods.test.d.ts +1 -0
  78. package/dist/types/tests/client/universal-adapter.test.d.ts +1 -0
  79. package/dist/types/tests/client/walletconnect-events.test.d.ts +1 -0
  80. package/dist/types/tests/connectors/WalletConnectConnector.test.d.ts +1 -0
  81. package/dist/types/tests/mocks/Account.d.ts +12 -0
  82. package/dist/types/tests/mocks/Adapter.d.ts +5 -0
  83. package/dist/types/tests/mocks/AppKit.d.ts +3 -0
  84. package/dist/types/tests/mocks/Networks.d.ts +4 -0
  85. package/dist/types/tests/mocks/Options.d.ts +6 -0
  86. package/dist/types/tests/mocks/Providers.d.ts +42 -0
  87. package/dist/types/tests/mocks/UniversalProvider.d.ts +3 -0
  88. package/dist/types/tests/siwe.test.d.ts +1 -0
  89. package/dist/types/tests/test-utils.d.ts +4 -0
  90. package/dist/types/tests/universal-adapter.test.d.ts +1 -0
  91. package/dist/types/tests/utils/HelpersUtil.test.d.ts +1 -0
  92. package/package.json +14 -14
@@ -0,0 +1,8 @@
1
+ import { AppKit } from '../src/client/appkit-basic.js';
2
+ import type { AppKitOptions } from '../src/utils/TypesUtil.js';
3
+ export type * from '@reown/appkit-core';
4
+ export type { CaipNetwork, CaipAddress, CaipNetworkId } from '@reown/appkit-common';
5
+ export type CreateAppKit = Omit<AppKitOptions, 'sdkType' | 'sdkVersion' | 'basic'>;
6
+ export declare function createAppKit(options: CreateAppKit): AppKit;
7
+ export { AppKit };
8
+ export type { AppKitOptions };
@@ -1 +1 @@
1
- export declare const PACKAGE_VERSION = "1.6.8";
1
+ export declare const PACKAGE_VERSION = "1.6.9-rc.0";
@@ -0,0 +1,24 @@
1
+ import { type ChainNamespace } from '@reown/appkit-common';
2
+ import type { ChainAdapter } from '@reown/appkit-core';
3
+ import { AccountController } from '@reown/appkit-core';
4
+ import type { AdapterBlueprint } from '../adapters/ChainAdapterBlueprint.js';
5
+ import { AppKitCore } from './core.js';
6
+ declare global {
7
+ interface Window {
8
+ ethereum?: Record<string, unknown>;
9
+ }
10
+ }
11
+ export { AccountController };
12
+ export interface OpenOptions {
13
+ view?: 'Account' | 'Connect' | 'Networks' | 'ApproveTransaction' | 'OnRampProviders' | 'ConnectingWalletConnectBasic' | 'Swap' | 'WhatIsAWallet' | 'WhatIsANetwork' | 'AllWallets' | 'WalletSend';
14
+ uri?: string;
15
+ }
16
+ export declare class AppKit extends AppKitCore {
17
+ activeAdapter?: AdapterBlueprint;
18
+ adapters?: ChainAdapter[];
19
+ activeChainNamespace?: ChainNamespace;
20
+ adapter?: ChainAdapter;
21
+ open(options: OpenOptions): Promise<void>;
22
+ close(): Promise<void>;
23
+ protected injectModalUi(): Promise<void>;
24
+ }
@@ -0,0 +1,23 @@
1
+ import { type CaipNetwork, type ChainNamespace } from '@reown/appkit-common';
2
+ import { AccountController } from '@reown/appkit-core';
3
+ import { AppKitCore, type AppKitOptionsWithSdk } from './core.js';
4
+ declare global {
5
+ interface Window {
6
+ ethereum?: Record<string, unknown>;
7
+ }
8
+ }
9
+ export { AccountController };
10
+ export declare class AppKit extends AppKitCore {
11
+ static instance?: AppKit;
12
+ private authProvider?;
13
+ private setupAuthConnectorListeners;
14
+ private syncAuthConnector;
15
+ private checkExistingTelegramSocialConnection;
16
+ private createAuthProvider;
17
+ private createAuthProviderForAdapter;
18
+ protected initControllers(options: AppKitOptionsWithSdk): void;
19
+ protected syncNamespaceConnection(namespace: ChainNamespace): Promise<void>;
20
+ protected switchCaipNetwork(caipNetwork: CaipNetwork): Promise<void>;
21
+ protected initChainAdapter(namespace: ChainNamespace): Promise<void>;
22
+ protected injectModalUi(): Promise<void>;
23
+ }
@@ -0,0 +1,208 @@
1
+ import type { SessionTypes } from '@walletconnect/types';
2
+ import UniversalProvider from '@walletconnect/universal-provider';
3
+ import type { AppKitNetwork, AppKitSdkVersion, CaipNetwork, CaipNetworkId, ChainNamespace, SdkVersion } from '@reown/appkit-common';
4
+ import type { ChainAdapter, ConnectMethod, ConnectedWalletInfo, ConnectionControllerClient, ConnectorType, EventsControllerState, Features, ModalControllerState, NetworkControllerClient, OptionsControllerState, PublicStateControllerState, RouterControllerState, SocialProvider, ThemeControllerState, UseAppKitAccountReturn, UseAppKitNetworkReturn, WalletFeature } from '@reown/appkit-core';
5
+ import { AccountController, AssetUtil, BlockchainApiController, ChainController, ConnectionController, ConnectorController, EnsController, OptionsController } from '@reown/appkit-core';
6
+ import type { W3mFrameTypes } from '@reown/appkit-wallet';
7
+ import type { AdapterBlueprint } from '../adapters/index.js';
8
+ import type { ProviderStoreUtilState } from '../store/ProviderUtil.js';
9
+ import type { AppKitOptions } from '../utils/index.js';
10
+ export type Adapters = Record<ChainNamespace, AdapterBlueprint>;
11
+ export interface AppKitOptionsWithSdk extends AppKitOptions {
12
+ sdkVersion: SdkVersion | AppKitSdkVersion;
13
+ }
14
+ export interface OpenOptions {
15
+ view?: 'Account' | 'Connect' | 'Networks' | 'ApproveTransaction' | 'OnRampProviders' | 'ConnectingWalletConnectBasic' | 'Swap' | 'WhatIsAWallet' | 'WhatIsANetwork' | 'AllWallets' | 'WalletSend';
16
+ uri?: string;
17
+ namespace?: ChainNamespace;
18
+ }
19
+ export declare abstract class AppKitCore {
20
+ protected universalProvider?: UniversalProvider;
21
+ protected connectionControllerClient?: ConnectionControllerClient;
22
+ protected networkControllerClient?: NetworkControllerClient;
23
+ protected static instance?: AppKitCore;
24
+ protected universalProviderInitPromise?: Promise<void>;
25
+ protected caipNetworks?: [CaipNetwork, ...CaipNetwork[]];
26
+ protected defaultCaipNetwork?: CaipNetwork;
27
+ chainAdapters?: Adapters;
28
+ chainNamespaces: ChainNamespace[];
29
+ options: AppKitOptions;
30
+ version: SdkVersion | AppKitSdkVersion;
31
+ reportedAlertErrors: Record<string, boolean>;
32
+ constructor(options: AppKitOptionsWithSdk);
33
+ protected initialize(options: AppKitOptionsWithSdk): Promise<void>;
34
+ private sendInitializeEvent;
35
+ protected initControllers(options: AppKitOptionsWithSdk): void;
36
+ protected initializeThemeController(options: AppKitOptions): void;
37
+ protected initializeChainController(options: AppKitOptions): void;
38
+ protected initializeConnectionController(options: AppKitOptions): void;
39
+ protected initializeOptionsController(options: AppKitOptionsWithSdk): void;
40
+ protected getDefaultMetaData(): {
41
+ name: string;
42
+ description: string;
43
+ url: string;
44
+ icons: string[];
45
+ } | null;
46
+ protected getUnsupportedNetwork(caipNetworkId: CaipNetworkId): CaipNetwork;
47
+ protected setUnsupportedNetwork(chainId: string | number): void;
48
+ protected getDefaultNetwork(): CaipNetwork | undefined;
49
+ protected extendCaipNetwork(network: AppKitNetwork, options: AppKitOptions): CaipNetwork;
50
+ protected extendCaipNetworks(options: AppKitOptions): [CaipNetwork, ...CaipNetwork[]];
51
+ protected extendDefaultCaipNetwork(options: AppKitOptions): CaipNetwork | undefined;
52
+ protected createClients(): void;
53
+ protected getApprovedCaipNetworksData(): {
54
+ supportsAllNetworks: boolean;
55
+ approvedCaipNetworkIds: (`eip155:${string}` | `eip155:${number}` | `solana:${string}` | `solana:${number}` | `polkadot:${string}` | `polkadot:${number}` | `bip122:${string}` | `bip122:${number}`)[];
56
+ };
57
+ protected switchCaipNetwork(caipNetwork: CaipNetwork): Promise<void>;
58
+ protected getChainsFromNamespaces(namespaces?: SessionTypes.Namespaces): CaipNetworkId[];
59
+ protected createAdapters(blueprints?: AdapterBlueprint[]): Adapters;
60
+ protected initChainAdapter(namespace: ChainNamespace): Promise<void>;
61
+ protected initChainAdapters(): Promise<void>;
62
+ protected onConnectors(chainNamespace: ChainNamespace): void;
63
+ protected listenAdapter(chainNamespace: ChainNamespace): void;
64
+ protected createUniversalProviderForAdapter(chainNamespace: ChainNamespace): Promise<void>;
65
+ protected abstract injectModalUi(): Promise<void>;
66
+ protected syncExistingConnection(): Promise<void>;
67
+ protected syncNamespaceConnection(namespace: ChainNamespace): Promise<void>;
68
+ protected syncAdapterConnection(namespace: ChainNamespace): Promise<void>;
69
+ protected syncWalletConnectAccount(): Promise<void>;
70
+ protected syncWalletConnectAccounts(chainNamespace: ChainNamespace): void;
71
+ protected syncProvider({ type, provider, id, chainNamespace }: Pick<AdapterBlueprint.ConnectResult, 'type' | 'provider' | 'id'> & {
72
+ chainNamespace: ChainNamespace;
73
+ }): void;
74
+ protected syncAccount(params: Pick<AdapterBlueprint.ConnectResult, 'address' | 'chainId'> & {
75
+ chainNamespace: ChainNamespace;
76
+ }): Promise<void>;
77
+ protected syncIdentity({ address, chainId, chainNamespace }: Pick<AdapterBlueprint.ConnectResult, 'address' | 'chainId'> & {
78
+ chainNamespace: ChainNamespace;
79
+ }): Promise<void>;
80
+ protected syncReownName(address: string, chainNamespace: ChainNamespace): Promise<void>;
81
+ protected syncConnectedWalletInfo(chainNamespace: ChainNamespace): void;
82
+ protected syncBalance(params: {
83
+ address: string;
84
+ chainId: string | number | undefined;
85
+ chainNamespace: ChainNamespace;
86
+ }): Promise<void>;
87
+ protected updateNativeBalance(): Promise<void>;
88
+ protected initializeUniversalAdapter(): Promise<void>;
89
+ protected listenWalletConnect(): void;
90
+ protected createUniversalProvider(): Promise<void> | undefined;
91
+ getUniversalProvider(): Promise<UniversalProvider | undefined>;
92
+ protected handleAlertError(error: Error): void;
93
+ protected getAdapter(namespace?: ChainNamespace): AdapterBlueprint<import("../adapters/ChainAdapterConnector.js").ChainAdapterConnector> | undefined;
94
+ protected createAdapter(blueprint: AdapterBlueprint): void;
95
+ getCaipNetwork: (chainNamespace?: ChainNamespace) => CaipNetwork | undefined;
96
+ getCaipNetworkId: <T extends number | string>() => T | undefined;
97
+ getCaipNetworks: (namespace: ChainNamespace) => CaipNetwork[];
98
+ getActiveChainNamespace: () => ChainNamespace | undefined;
99
+ setRequestedCaipNetworks: (typeof ChainController)['setRequestedCaipNetworks'];
100
+ getApprovedCaipNetworkIds: (typeof ChainController)['getAllApprovedCaipNetworkIds'];
101
+ getCaipAddress: (chainNamespace?: ChainNamespace) => `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | undefined;
102
+ setClientId: (typeof BlockchainApiController)['setClientId'];
103
+ getProvider: <T>(namespace: ChainNamespace) => T | undefined;
104
+ getProviderType: (namespace: ChainNamespace) => ConnectorType | undefined;
105
+ getPreferredAccountType: () => W3mFrameTypes.AccountType;
106
+ setCaipAddress: (typeof AccountController)['setCaipAddress'];
107
+ setBalance: (typeof AccountController)['setBalance'];
108
+ setProfileName: (typeof AccountController)['setProfileName'];
109
+ setProfileImage: (typeof AccountController)['setProfileImage'];
110
+ setUser: (typeof AccountController)['setUser'];
111
+ resetAccount: (typeof AccountController)['resetAccount'];
112
+ setCaipNetwork: (typeof ChainController)['setActiveCaipNetwork'];
113
+ setAllAccounts: (typeof AccountController)['setAllAccounts'];
114
+ setStatus: (typeof AccountController)['setStatus'];
115
+ getAddressByChainNamespace: (chainNamespace: ChainNamespace) => string | undefined;
116
+ setConnectors: (typeof ConnectorController)['setConnectors'];
117
+ fetchIdentity: (typeof BlockchainApiController)['fetchIdentity'];
118
+ getReownName: (typeof EnsController)['getNamesForAddress'];
119
+ getConnectors: (typeof ConnectorController)['getConnectors'];
120
+ getConnectorImage: (typeof AssetUtil)['getConnectorImage'];
121
+ setConnectedWalletInfo: (typeof AccountController)['setConnectedWalletInfo'];
122
+ open(options?: OpenOptions): Promise<void>;
123
+ close(): Promise<void>;
124
+ setLoading(loading: ModalControllerState['loading']): void;
125
+ disconnect(): Promise<void>;
126
+ getError(): string;
127
+ getChainId(): string | number | undefined;
128
+ switchNetwork(appKitNetwork: AppKitNetwork): void;
129
+ getWalletProvider(): unknown;
130
+ getWalletProviderType(): ConnectorType | null | undefined;
131
+ subscribeProviders(callback: (providers: ProviderStoreUtilState['providers']) => void): () => void;
132
+ getThemeMode(): import("@reown/appkit-core").ThemeMode;
133
+ getThemeVariables(): import("@reown/appkit-core").ThemeVariables;
134
+ setThemeMode(themeMode: ThemeControllerState['themeMode']): void;
135
+ setTermsConditionsUrl(termsConditionsUrl: string): void;
136
+ setPrivacyPolicyUrl(privacyPolicyUrl: string): void;
137
+ setThemeVariables(themeVariables: ThemeControllerState['themeVariables']): void;
138
+ subscribeTheme(callback: (newState: ThemeControllerState) => void): () => void;
139
+ getWalletInfo(): ConnectedWalletInfo | undefined;
140
+ subscribeAccount(callback: (newState: UseAppKitAccountReturn) => void, namespace?: ChainNamespace): void;
141
+ subscribeNetwork(callback: (newState: Omit<UseAppKitNetworkReturn, 'switchNetwork'>) => void): () => void;
142
+ subscribeWalletInfo(callback: (newState?: ConnectedWalletInfo) => void): () => void;
143
+ subscribeShouldUpdateToAddress(callback: (newState?: string) => void): void;
144
+ subscribeCaipNetworkChange(callback: (newState?: CaipNetwork) => void): void;
145
+ getState(): PublicStateControllerState;
146
+ subscribeState(callback: (newState: PublicStateControllerState) => void): () => void;
147
+ showErrorMessage(message: string): void;
148
+ showSuccessMessage(message: string): void;
149
+ getEvent(): {
150
+ timestamp: number;
151
+ reportedErrors: Record<string, boolean>;
152
+ data: import("@reown/appkit-core").Event;
153
+ };
154
+ subscribeEvents(callback: (newEvent: EventsControllerState) => void): () => void;
155
+ replace(route: RouterControllerState['view']): void;
156
+ redirect(route: RouterControllerState['view']): void;
157
+ popTransactionStack(cancel?: boolean): void;
158
+ isOpen(): boolean;
159
+ isTransactionStackEmpty(): boolean;
160
+ isTransactionShouldReplaceView(): boolean | undefined;
161
+ static getInstance(): AppKitCore | undefined;
162
+ getIsConnectedState: () => boolean;
163
+ addAddressLabel: (typeof AccountController)['addAddressLabel'];
164
+ removeAddressLabel: (typeof AccountController)['removeAddressLabel'];
165
+ getAddress: (chainNamespace?: ChainNamespace) => string | undefined;
166
+ setApprovedCaipNetworksData: (typeof ChainController)['setApprovedCaipNetworksData'];
167
+ resetNetwork: (typeof ChainController)['resetNetwork'];
168
+ addConnector: (typeof ConnectorController)['addConnector'];
169
+ resetWcConnection: (typeof ConnectionController)['resetWcConnection'];
170
+ setAddressExplorerUrl: (typeof AccountController)['setAddressExplorerUrl'];
171
+ setSmartAccountDeployed: (typeof AccountController)['setSmartAccountDeployed'];
172
+ setSmartAccountEnabledNetworks: (typeof ChainController)['setSmartAccountEnabledNetworks'];
173
+ setPreferredAccountType: (typeof AccountController)['setPreferredAccountType'];
174
+ setEIP6963Enabled: (typeof OptionsController)['setEIP6963Enabled'];
175
+ handleUnsafeRPCRequest: () => void;
176
+ updateFeatures(newFeatures: Partial<Features>): void;
177
+ updateOptions(newOptions: Partial<OptionsControllerState>): void;
178
+ setConnectMethodsOrder(connectMethodsOrder: ConnectMethod[]): void;
179
+ setWalletFeaturesOrder(walletFeaturesOrder: WalletFeature[]): void;
180
+ setCollapseWallets(collapseWallets: boolean): void;
181
+ setSocialsOrder(socialsOrder: SocialProvider[]): void;
182
+ getConnectMethodsOrder(): ConnectMethod[];
183
+ /**
184
+ * Removes an adapter from the AppKit.
185
+ * @param namespace - The namespace of the adapter to remove.
186
+ */
187
+ removeAdapter(namespace: ChainNamespace): void;
188
+ /**
189
+ * Adds an adapter to the AppKit.
190
+ * @param adapter - The adapter instance.
191
+ * @param networks - The list of networks that this adapter supports / uses.
192
+ */
193
+ addAdapter(adapter: ChainAdapter, networks: [AppKitNetwork, ...AppKitNetwork[]]): void;
194
+ /**
195
+ * Adds a network to an existing adapter in AppKit.
196
+ * @param namespace - The chain namespace to add the network to (e.g. 'eip155', 'solana')
197
+ * @param network - The network configuration to add
198
+ * @throws Error if adapter for namespace doesn't exist
199
+ */
200
+ addNetwork(namespace: ChainNamespace, network: AppKitNetwork): void;
201
+ /**
202
+ * Removes a network from an existing adapter in AppKit.
203
+ * @param namespace - The chain namespace the network belongs to
204
+ * @param networkId - The network ID to remove
205
+ * @throws Error if adapter for namespace doesn't exist or if removing last network
206
+ */
207
+ removeNetwork(namespace: ChainNamespace, networkId: string | number): void;
208
+ }
@@ -64,7 +64,7 @@ export declare class AppKit {
64
64
  setThemeVariables(themeVariables: ThemeControllerState['themeVariables']): void;
65
65
  subscribeTheme(callback: (newState: ThemeControllerState) => void): () => void;
66
66
  getWalletInfo(): ConnectedWalletInfo | undefined;
67
- subscribeAccount(callback: (newState: UseAppKitAccountReturn) => void): void;
67
+ subscribeAccount(callback: (newState: UseAppKitAccountReturn) => void, namespace?: ChainNamespace): void;
68
68
  subscribeNetwork(callback: (newState: Omit<UseAppKitNetworkReturn, 'switchNetwork'>) => void): () => void;
69
69
  subscribeWalletInfo(callback: (newState?: ConnectedWalletInfo) => void): () => void;
70
70
  subscribeShouldUpdateToAddress(callback: (newState?: string) => void): void;
@@ -103,7 +103,7 @@ export declare class AppKit {
103
103
  resetAccount: (typeof AccountController)['resetAccount'];
104
104
  setCaipNetwork: (typeof ChainController)['setActiveCaipNetwork'];
105
105
  getCaipNetwork: (chainNamespace?: ChainNamespace) => CaipNetwork | undefined;
106
- getCaipNetworkId: <T extends string | number>() => T | undefined;
106
+ getCaipNetworkId: <T extends number | string>() => T | undefined;
107
107
  getCaipNetworks: (namespace: ChainNamespace) => CaipNetwork[];
108
108
  getActiveChainNamespace: () => ChainNamespace | undefined;
109
109
  setRequestedCaipNetworks: (typeof ChainController)['setRequestedCaipNetworks'];
@@ -202,4 +202,5 @@ export declare class AppKit {
202
202
  private getUnsupportedNetwork;
203
203
  private getDefaultNetwork;
204
204
  private injectModalUi;
205
+ private checkExistingSocialConnection;
205
206
  }
@@ -9,7 +9,7 @@ type OpenOptions = {
9
9
  };
10
10
  type ThemeModeOptions = AppKitOptions['themeMode'];
11
11
  type ThemeVariablesOptions = AppKitOptions['themeVariables'];
12
- declare global {
12
+ declare module 'react' {
13
13
  namespace JSX {
14
14
  interface IntrinsicElements {
15
15
  'appkit-button': Pick<AppKitButton, 'size' | 'label' | 'loadingLabel' | 'disabled' | 'balance'>;
@@ -10,7 +10,7 @@ export declare const bitcoin: {
10
10
  url: string;
11
11
  apiUrl?: string | undefined;
12
12
  };
13
- } | undefined;
13
+ } | undefined | undefined;
14
14
  contracts?: {
15
15
  [x: string]: import("viem").ChainContract | {
16
16
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -31,8 +31,8 @@ export declare const bitcoin: {
31
31
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
32
32
  };
33
33
  };
34
- sourceId?: number | undefined;
35
- testnet?: boolean | undefined;
34
+ sourceId?: number | undefined | undefined;
35
+ testnet?: boolean | undefined | undefined;
36
36
  custom?: Record<string, unknown> | undefined;
37
37
  fees?: import("viem").ChainFees<undefined> | undefined;
38
38
  formatters?: undefined;
@@ -57,7 +57,7 @@ export declare const bitcoinTestnet: {
57
57
  url: string;
58
58
  apiUrl?: string | undefined;
59
59
  };
60
- } | undefined;
60
+ } | undefined | undefined;
61
61
  contracts?: {
62
62
  [x: string]: import("viem").ChainContract | {
63
63
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -78,7 +78,7 @@ export declare const bitcoinTestnet: {
78
78
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
79
79
  };
80
80
  };
81
- sourceId?: number | undefined;
81
+ sourceId?: number | undefined | undefined;
82
82
  testnet: true;
83
83
  custom?: Record<string, unknown> | undefined;
84
84
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -25,7 +25,7 @@ export declare const solana: {
25
25
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
26
26
  };
27
27
  };
28
- sourceId?: number | undefined;
28
+ sourceId?: number | undefined | undefined;
29
29
  testnet: false;
30
30
  custom?: Record<string, unknown> | undefined;
31
31
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -25,7 +25,7 @@ export declare const solanaDevnet: {
25
25
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
26
26
  };
27
27
  };
28
- sourceId?: number | undefined;
28
+ sourceId?: number | undefined | undefined;
29
29
  testnet: true;
30
30
  custom?: Record<string, unknown> | undefined;
31
31
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -25,7 +25,7 @@ export declare const solanaTestnet: {
25
25
  readonly http: readonly ["https://rpc.walletconnect.org/v1"];
26
26
  };
27
27
  };
28
- sourceId?: number | undefined;
28
+ sourceId?: number | undefined | undefined;
29
29
  testnet: true;
30
30
  custom?: Record<string, unknown> | undefined;
31
31
  fees?: import("viem").ChainFees<undefined> | undefined;
@@ -1,6 +1,7 @@
1
1
  import type UniversalProvider from '@walletconnect/universal-provider';
2
2
  import type { ChainNamespace } from '@reown/appkit-common';
3
3
  import type { ConnectorType } from '@reown/appkit-core';
4
+ type StateKey = keyof ProviderStoreUtilState;
4
5
  export interface ProviderStoreUtilState {
5
6
  providers: Record<ChainNamespace, UniversalProvider | unknown | undefined>;
6
7
  providerIds: Record<ChainNamespace, ConnectorType | undefined>;
@@ -8,12 +9,13 @@ export interface ProviderStoreUtilState {
8
9
  export type ProviderType = 'walletConnect' | 'injected' | 'coinbaseWallet' | 'eip6963' | 'ID_AUTH' | 'coinbaseWalletSDK';
9
10
  export declare const ProviderUtil: {
10
11
  state: ProviderStoreUtilState;
11
- subscribeKey<K extends keyof ProviderStoreUtilState>(key: K, callback: (value: ProviderStoreUtilState[K]) => void): () => void;
12
- subscribeProviders(callback: (providers: ProviderStoreUtilState['providers']) => void): () => void;
12
+ subscribeKey<K extends StateKey>(key: K, callback: (value: ProviderStoreUtilState[K]) => void): () => void;
13
+ subscribeProviders(callback: (providers: ProviderStoreUtilState["providers"]) => void): () => void;
13
14
  setProvider<T = UniversalProvider>(chainNamespace: ChainNamespace, provider: T): void;
14
- getProvider<T_1 = UniversalProvider>(chainNamespace: ChainNamespace): T_1 | undefined;
15
+ getProvider<T = UniversalProvider>(chainNamespace: ChainNamespace): T | undefined;
15
16
  setProviderId(chainNamespace: ChainNamespace, providerId: ConnectorType): void;
16
17
  getProviderId(chainNamespace: ChainNamespace): ConnectorType | undefined;
17
18
  reset(): void;
18
19
  resetChain(chainNamespace: ChainNamespace): void;
19
20
  };
21
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ export declare const mockUser: {
2
+ address: string;
3
+ accounts: {
4
+ address: string;
5
+ type: string;
6
+ }[];
7
+ preferredAccountType: string;
8
+ user: {
9
+ email: string;
10
+ username: string;
11
+ };
12
+ };
@@ -0,0 +1,5 @@
1
+ import type { AdapterBlueprint } from '../../src/adapters/ChainAdapterBlueprint.js';
2
+ export declare const mockUniversalAdapter: AdapterBlueprint;
3
+ export declare const mockBitcoinAdapter: AdapterBlueprint;
4
+ export declare const mockEvmAdapter: AdapterBlueprint;
5
+ export declare const mockSolanaAdapter: AdapterBlueprint;
@@ -0,0 +1,3 @@
1
+ import type { AppKit } from '../../src/client.js';
2
+ export declare const mockAppKit: AppKit;
3
+ export default mockAppKit;
@@ -0,0 +1,4 @@
1
+ import type { CaipNetwork } from '@reown/appkit';
2
+ declare const base: CaipNetwork, mainnet: CaipNetwork, polygon: CaipNetwork, sepolia: CaipNetwork, solana: CaipNetwork, bitcoin: CaipNetwork;
3
+ declare const unsupportedNetwork: CaipNetwork;
4
+ export { base, mainnet, polygon, sepolia, solana, bitcoin, unsupportedNetwork };
@@ -0,0 +1,6 @@
1
+ import type { SdkVersion } from '@reown/appkit-core';
2
+ import type { AppKitOptions } from '../../src/utils/index.js';
3
+ export declare const mockOptions: AppKitOptions & {
4
+ sdkVersion: SdkVersion;
5
+ sdkType: string;
6
+ };
@@ -0,0 +1,42 @@
1
+ import type UniversalProvider from '@walletconnect/universal-provider';
2
+ import { type Mocked } from 'vitest';
3
+ export declare const mockProvider: {
4
+ connect: import("vitest").Mock<(...args: any[]) => any>;
5
+ connectors: never[];
6
+ construct: import("vitest").Mock<(...args: any[]) => any>;
7
+ emit: import("vitest").Mock<(...args: any[]) => any>;
8
+ getAccounts: import("vitest").Mock<(...args: any[]) => any>;
9
+ getSmartAccountEnabledNetworks: import("vitest").Mock<(...args: any[]) => any>;
10
+ namespace: string;
11
+ off: import("vitest").Mock<(...args: any[]) => any>;
12
+ on: import("vitest").Mock<(...args: any[]) => any>;
13
+ onConnect: import("vitest").Mock<(callback: any) => any>;
14
+ onGetSmartAccountEnabledNetworks: import("vitest").Mock<(...args: any[]) => any>;
15
+ onRpcError: import("vitest").Mock<(...args: any[]) => any>;
16
+ onRpcRequest: import("vitest").Mock<(...args: any[]) => any>;
17
+ onSetPreferredAccount: import("vitest").Mock<(...args: any[]) => any>;
18
+ removeAllEventListeners: import("vitest").Mock<(...args: any[]) => any>;
19
+ setAuthProvider: import("vitest").Mock<(...args: any[]) => any>;
20
+ setUniversalProvider: import("vitest").Mock<(...args: any[]) => any>;
21
+ syncConnectors: import("vitest").Mock<(...args: any[]) => any>;
22
+ };
23
+ export declare const mockAuthProvider: {
24
+ connect: import("vitest").Mock<(...args: any[]) => any>;
25
+ getEmail: import("vitest").Mock<(...args: any[]) => any>;
26
+ getLoginEmailUsed: import("vitest").Mock<(...args: any[]) => any>;
27
+ getSmartAccountEnabledNetworks: import("vitest").Mock<(...args: any[]) => any>;
28
+ getUsername: import("vitest").Mock<(...args: any[]) => any>;
29
+ isConnected: import("vitest").Mock<(...args: any[]) => any>;
30
+ onConnect: import("vitest").Mock<(callback: any) => any>;
31
+ onGetSmartAccountEnabledNetworks: import("vitest").Mock<(...args: any[]) => any>;
32
+ onIsConnected: import("vitest").Mock<(...args: any[]) => any>;
33
+ onNotConnected: import("vitest").Mock<(...args: any[]) => any>;
34
+ onRpcError: import("vitest").Mock<(...args: any[]) => any>;
35
+ onRpcRequest: import("vitest").Mock<(...args: any[]) => any>;
36
+ onRpcSuccess: import("vitest").Mock<(...args: any[]) => any>;
37
+ onSetPreferredAccount: import("vitest").Mock<(...args: any[]) => any>;
38
+ onSocialConnected: import("vitest").Mock<(...args: any[]) => any>;
39
+ syncDappData: import("vitest").Mock<(...args: any[]) => any>;
40
+ syncTheme: import("vitest").Mock<(...args: any[]) => any>;
41
+ };
42
+ export declare const mockUniversalProvider: Mocked<Pick<UniversalProvider, 'on' | 'off'>>;
@@ -0,0 +1,3 @@
1
+ import type UniversalProvider from '@walletconnect/universal-provider';
2
+ export declare const mockProvider: UniversalProvider;
3
+ export default mockProvider;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare function mockWindowAndDocument(): void;
2
+ export declare function mockBlockchainApiController(): void;
3
+ export declare function mockStorageUtil(): void;
4
+ export declare function mockChainControllerStateWithUnsupportedChain(): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit",
3
- "version": "1.6.8",
3
+ "version": "1.6.9-rc.0",
4
4
  "type": "module",
5
5
  "main": "./dist/esm/exports/index.js",
6
6
  "types": "./dist/types/exports/index.d.ts",
@@ -100,26 +100,26 @@
100
100
  "bs58": "6.0.0",
101
101
  "valtio": "1.13.2",
102
102
  "viem": ">=2.23.0",
103
- "@reown/appkit-common": "1.6.8",
104
- "@reown/appkit-core": "1.6.8",
105
- "@reown/appkit-polyfills": "1.6.8",
106
- "@reown/appkit-scaffold-ui": "1.6.8",
107
- "@reown/appkit-ui": "1.6.8",
108
- "@reown/appkit-utils": "1.6.8",
109
- "@reown/appkit-wallet": "1.6.8"
103
+ "@reown/appkit-common": "1.6.9-rc.0",
104
+ "@reown/appkit-polyfills": "1.6.9-rc.0",
105
+ "@reown/appkit-core": "1.6.9-rc.0",
106
+ "@reown/appkit-ui": "1.6.9-rc.0",
107
+ "@reown/appkit-scaffold-ui": "1.6.9-rc.0",
108
+ "@reown/appkit-wallet": "1.6.9-rc.0",
109
+ "@reown/appkit-utils": "1.6.9-rc.0"
110
110
  },
111
111
  "devDependencies": {
112
- "@types/react": "18.3.1",
113
- "@types/react-dom": "18.3.1",
112
+ "@types/react": "19.0.0",
113
+ "@types/react-dom": "19.0.0",
114
114
  "@vitest/coverage-v8": "2.1.3",
115
115
  "@vue/runtime-core": "3.4.3",
116
116
  "@walletconnect/types": "2.18.0",
117
117
  "@walletconnect/universal-provider": "2.18.0",
118
- "react": "18.3.1",
119
- "react-dom": "18.3.1",
120
- "vitest": "2.1.3",
118
+ "react": "19.0.0",
119
+ "react-dom": "19.0.0",
120
+ "vitest": "2.1.9",
121
121
  "vue": "3.x",
122
- "@reown/appkit-siwe": "1.6.8"
122
+ "@reown/appkit-siwe": "1.6.9-rc.0"
123
123
  },
124
124
  "author": "Reown <support@reown.com> (https://reown.com)",
125
125
  "license": "Apache-2.0",