@reown/appkit-core 1.6.9 → 1.7.0-alpha.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 (51) hide show
  1. package/dist/esm/exports/modal.js +2 -0
  2. package/dist/esm/exports/modal.js.map +1 -0
  3. package/dist/esm/src/controllers/ApiController.js +7 -7
  4. package/dist/esm/src/controllers/ApiController.js.map +1 -1
  5. package/dist/esm/src/controllers/BlockchainApiController.js +2 -0
  6. package/dist/esm/src/controllers/BlockchainApiController.js.map +1 -1
  7. package/dist/esm/src/controllers/ChainController.js +5 -2
  8. package/dist/esm/src/controllers/ChainController.js.map +1 -1
  9. package/dist/esm/src/controllers/ConnectionController.js +25 -1
  10. package/dist/esm/src/controllers/ConnectionController.js.map +1 -1
  11. package/dist/esm/src/controllers/ModalController.js +27 -11
  12. package/dist/esm/src/controllers/ModalController.js.map +1 -1
  13. package/dist/esm/src/controllers/OptionsController.js +2 -2
  14. package/dist/esm/src/controllers/OptionsController.js.map +1 -1
  15. package/dist/esm/src/controllers/SendController.js +1 -1
  16. package/dist/esm/src/controllers/SendController.js.map +1 -1
  17. package/dist/esm/src/controllers/SwapController.js +1 -1
  18. package/dist/esm/src/controllers/SwapController.js.map +1 -1
  19. package/dist/esm/src/controllers/TransactionsController.js +1 -1
  20. package/dist/esm/src/controllers/TransactionsController.js.map +1 -1
  21. package/dist/esm/src/utils/AssetUtil.js +16 -6
  22. package/dist/esm/src/utils/AssetUtil.js.map +1 -1
  23. package/dist/esm/src/utils/ConstantsUtil.js +10 -1
  24. package/dist/esm/src/utils/ConstantsUtil.js.map +1 -1
  25. package/dist/esm/src/utils/CoreHelperUtil.js +7 -6
  26. package/dist/esm/src/utils/CoreHelperUtil.js.map +1 -1
  27. package/dist/esm/src/utils/SIWXUtil.js +3 -3
  28. package/dist/esm/src/utils/SIWXUtil.js.map +1 -1
  29. package/dist/esm/src/utils/StorageUtil.js +25 -0
  30. package/dist/esm/src/utils/StorageUtil.js.map +1 -1
  31. package/dist/esm/tests/controllers/AccountController.test.js +7 -1
  32. package/dist/esm/tests/controllers/AccountController.test.js.map +1 -1
  33. package/dist/esm/tests/controllers/ApiController.test.js +2 -2
  34. package/dist/esm/tests/controllers/ApiController.test.js.map +1 -1
  35. package/dist/esm/tests/controllers/ChainController.test.js +1 -0
  36. package/dist/esm/tests/controllers/ChainController.test.js.map +1 -1
  37. package/dist/esm/tests/controllers/ModalController.test.js +2 -2
  38. package/dist/esm/tests/controllers/ModalController.test.js.map +1 -1
  39. package/dist/esm/tests/utils/AssetUtil.test.js +17 -0
  40. package/dist/esm/tests/utils/AssetUtil.test.js.map +1 -1
  41. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  42. package/dist/types/exports/modal.d.ts +2 -0
  43. package/dist/types/src/controllers/ApiController.d.ts +8 -2
  44. package/dist/types/src/controllers/ConnectionController.d.ts +5 -1
  45. package/dist/types/src/controllers/OptionsController.d.ts +9 -4
  46. package/dist/types/src/utils/AssetUtil.d.ts +4 -1
  47. package/dist/types/src/utils/ConstantsUtil.d.ts +10 -2
  48. package/dist/types/src/utils/CoreHelperUtil.d.ts +2 -2
  49. package/dist/types/src/utils/OptionsUtil.d.ts +1 -1
  50. package/dist/types/src/utils/StorageUtil.d.ts +3 -0
  51. package/package.json +16 -3
@@ -0,0 +1,2 @@
1
+ export { modalState, subscribeModal, subscribeModalKey, setModalLoading, shakeModal, openModal, closeModal } from '../src/controllers/ModalController.js';
2
+ export type { ModalControllerArguments, ModalControllerState } from '../src/controllers/ModalController.js';
@@ -12,6 +12,12 @@ export interface ApiControllerState {
12
12
  isAnalyticsEnabled: boolean;
13
13
  excludedRDNS: string[];
14
14
  }
15
+ interface PrefetchParameters {
16
+ fetchConnectorImages?: boolean;
17
+ fetchFeaturedWallets?: boolean;
18
+ fetchRecommendedWallets?: boolean;
19
+ fetchNetworkImages?: boolean;
20
+ }
15
21
  type StateKey = keyof ApiControllerState;
16
22
  export declare const ApiController: {
17
23
  state: ApiControllerState;
@@ -27,7 +33,7 @@ export declare const ApiController: {
27
33
  _fetchConnectorImage(imageId: string): Promise<void>;
28
34
  _fetchCurrencyImage(countryCode: string): Promise<void>;
29
35
  _fetchTokenImage(symbol: string): Promise<void>;
30
- prefetchNetworkImages(): Promise<void>;
36
+ fetchNetworkImages(): Promise<void>;
31
37
  fetchConnectorImages(): Promise<void>;
32
38
  fetchCurrencyImages(currencies?: string[]): Promise<void>;
33
39
  fetchTokenImages(tokens?: string[]): Promise<void>;
@@ -38,7 +44,7 @@ export declare const ApiController: {
38
44
  ids: string[];
39
45
  }): Promise<void>;
40
46
  searchWallet({ search, badge }: Pick<ApiGetWalletsRequest, "search" | "badge">): Promise<void>;
41
- prefetch(): Promise<unknown>;
47
+ prefetch({ fetchConnectorImages, fetchFeaturedWallets, fetchRecommendedWallets, fetchNetworkImages }?: PrefetchParameters): Promise<unknown>;
42
48
  prefetchAnalyticsConfig(): void;
43
49
  fetchAnalyticsConfig(): Promise<void>;
44
50
  };
@@ -1,5 +1,5 @@
1
1
  import { type CaipNetwork, type ChainNamespace } from '@reown/appkit-common';
2
- import { type W3mFrameTypes } from '@reown/appkit-wallet';
2
+ import type { W3mFrameTypes } from '@reown/appkit-wallet';
3
3
  import type { Connector, EstimateGasTransactionArgs, SendTransactionArgs, WalletGetAssetsParams, WalletGetAssetsResponse, WcWallet, WriteContractArgs } from '../utils/TypeUtil.js';
4
4
  export interface ConnectExternalOptions {
5
5
  id: Connector['id'];
@@ -42,6 +42,7 @@ export interface ConnectionControllerState {
42
42
  href: string;
43
43
  name: string;
44
44
  };
45
+ wcBasic?: boolean;
45
46
  wcError?: boolean;
46
47
  recentWallet?: WcWallet;
47
48
  buffering: boolean;
@@ -71,6 +72,9 @@ export declare const ConnectionController: {
71
72
  getEnsAvatar(value: string): Promise<string | false | undefined>;
72
73
  checkInstalled(ids?: string[]): boolean;
73
74
  resetWcConnection(): void;
75
+ resetUri(): void;
76
+ finalizeWcConnection(): void;
77
+ setWcBasic(wcBasic: ConnectionControllerState["wcBasic"]): void;
74
78
  setUri(uri: string): void;
75
79
  setWcLinking(wcLinking: ConnectionControllerState["wcLinking"]): void;
76
80
  setWcError(wcError: ConnectionControllerState["wcError"]): void;
@@ -130,6 +130,12 @@ export interface OptionsControllerStatePublic {
130
130
  * @default "{ bip122: 'payment', eip155: 'smartAccount', polkadot: 'eoa', solana: 'eoa' }"
131
131
  */
132
132
  defaultAccountTypes: DefaultAccountTypes;
133
+ /**
134
+ * Allows users to indicate if they want to handle the WC connection themselves.
135
+ * @default false
136
+ * @see https://docs.reown.com/appkit/react/core/options#manualwccontrol
137
+ */
138
+ manualWCControl?: boolean;
133
139
  }
134
140
  export interface OptionsControllerStateInternal {
135
141
  sdkType: 'appkit';
@@ -137,7 +143,6 @@ export interface OptionsControllerStateInternal {
137
143
  isSiweEnabled?: boolean;
138
144
  isUniversalProvider?: boolean;
139
145
  hasMultipleAddresses?: boolean;
140
- useInjectedUniversalProvider?: boolean;
141
146
  }
142
147
  type StateKey = keyof OptionsControllerStatePublic | keyof OptionsControllerStateInternal;
143
148
  type OptionsControllerState = OptionsControllerStatePublic & OptionsControllerStateInternal;
@@ -174,7 +179,7 @@ export declare const OptionsController: {
174
179
  setCollapseWallets(collapseWallets: boolean): void;
175
180
  setEnableEmbedded(enableEmbedded: OptionsControllerState["enableEmbedded"]): void;
176
181
  setAllowUnsupportedChain(allowUnsupportedChain: OptionsControllerState["allowUnsupportedChain"]): void;
177
- setUsingInjectedUniversalProvider(useInjectedUniversalProvider: OptionsControllerState["useInjectedUniversalProvider"]): void;
182
+ setManualWCControl(manualWCControl: OptionsControllerState["manualWCControl"]): void;
178
183
  setDefaultAccountTypes(defaultAccountType?: Partial<OptionsControllerState["defaultAccountTypes"]>): void;
179
184
  getSnapshot(): {
180
185
  readonly allWallets?: "SHOW" | "HIDE" | "ONLY_MOBILE"
@@ -222,8 +227,8 @@ export declare const OptionsController: {
222
227
  };
223
228
  } | undefined;
224
229
  readonly customWallets?: readonly {
225
- readonly name: string;
226
230
  readonly id: string;
231
+ readonly name: string;
227
232
  readonly homepage?: string | undefined;
228
233
  readonly image_url?: string | undefined;
229
234
  readonly mobile_link?: string | null | undefined;
@@ -348,12 +353,12 @@ export declare const OptionsController: {
348
353
  readonly bip122: "payment" | "ordinal" | "stx";
349
354
  readonly polkadot: "eoa";
350
355
  };
356
+ readonly manualWCControl?: boolean | undefined;
351
357
  readonly sdkType: "appkit";
352
358
  readonly sdkVersion: SdkVersion;
353
359
  readonly isSiweEnabled?: boolean | undefined;
354
360
  readonly isUniversalProvider?: boolean | undefined;
355
361
  readonly hasMultipleAddresses?: boolean | undefined;
356
- readonly useInjectedUniversalProvider?: boolean | undefined;
357
362
  };
358
363
  };
359
364
  export {};
@@ -1,8 +1,11 @@
1
1
  import type { CaipNetwork, ChainNamespace } from '@reown/appkit-common';
2
2
  import type { Connector, WcWallet } from './TypeUtil.js';
3
+ export interface AssetUtilState {
4
+ networkImagePromises: Record<string, Promise<void>>;
5
+ }
3
6
  export declare const AssetUtil: {
4
7
  fetchWalletImage(imageId?: string): Promise<string | undefined>;
5
- fetchNetworkImage(imageId?: string): Promise<string | undefined>;
8
+ fetchNetworkImage(imageId?: string): Promise<void>;
6
9
  getWalletImageById(imageId?: string): string | undefined;
7
10
  getWalletImage(wallet?: WcWallet): string | undefined;
8
11
  getNetworkImage(network?: CaipNetwork): string | undefined;
@@ -1,4 +1,4 @@
1
- import type { ChainNamespace } from '@reown/appkit-common';
1
+ import { type ChainNamespace } from '@reown/appkit-common';
2
2
  import type { SocialProvider } from './TypeUtil.js';
3
3
  export declare const ONRAMP_PROVIDERS: {
4
4
  label: string;
@@ -65,7 +65,7 @@ export declare const ConstantsUtil: {
65
65
  legalCheckbox: false;
66
66
  smartSessions: false;
67
67
  collapseWallets: false;
68
- walletFeaturesOrder: ("swaps" | "onramp" | "receive" | "send")[];
68
+ walletFeaturesOrder: ("swaps" | "send" | "receive" | "onramp")[];
69
69
  connectMethodsOrder: undefined;
70
70
  };
71
71
  DEFAULT_ACCOUNT_TYPES: {
@@ -74,4 +74,12 @@ export declare const ConstantsUtil: {
74
74
  readonly polkadot: "eoa";
75
75
  readonly solana: "eoa";
76
76
  };
77
+ ADAPTER_TYPES: {
78
+ UNIVERSAL: string;
79
+ SOLANA: string;
80
+ WAGMI: string;
81
+ ETHERS: string;
82
+ ETHERS5: string;
83
+ BITCOIN: string;
84
+ };
77
85
  };
@@ -1,4 +1,4 @@
1
- import type { AppKitSdkVersion, Balance, ChainNamespace } from '@reown/appkit-common';
1
+ import type { Balance, ChainNamespace, SdkVersion } from '@reown/appkit-common';
2
2
  import type { CaipAddress, CaipNetwork } from '@reown/appkit-common';
3
3
  import type { AccountTypeMap, ChainAdapter, LinkingRecord, NamespaceTypeMap } from './TypeUtil.js';
4
4
  type SDKFramework = 'html' | 'react' | 'vue';
@@ -46,7 +46,7 @@ export declare const CoreHelperUtil: {
46
46
  };
47
47
  isAddress(address: string, chain?: ChainNamespace): boolean;
48
48
  uniqueBy<T>(arr: T[], key: keyof T): T[];
49
- generateSdkVersion(adapters: ChainAdapter[], platform: SDKFramework, version: string): AppKitSdkVersion;
49
+ generateSdkVersion(adapters: ChainAdapter[], platform: SDKFramework, version: string): SdkVersion;
50
50
  createAccount<N extends ChainNamespace>(namespace: N, address: string, type: NamespaceTypeMap[N], publicKey?: string, path?: string): AccountTypeMap[N];
51
51
  isCaipAddress(address?: unknown): address is CaipAddress;
52
52
  isMac(): boolean;
@@ -1,5 +1,5 @@
1
1
  import type { Features, FeaturesKeys } from './TypeUtil.js';
2
2
  export declare const OptionsUtil: {
3
3
  getFeatureValue(key: FeaturesKeys, features?: Features): boolean | import("./TypeUtil.js").SocialProvider[] | import("./TypeUtil.js").WalletFeature[] | import("./TypeUtil.js").ConnectMethod[] | undefined;
4
- filterSocialsByPlatform<T>(socials: Features["socials"]): T | import("./TypeUtil.js").SocialProvider[];
4
+ filterSocialsByPlatform<T>(socials: Features["socials"]): import("./TypeUtil.js").SocialProvider[] | T;
5
5
  };
@@ -40,6 +40,9 @@ export declare const StorageUtil: {
40
40
  setConnectedNamespaces(namespaces: ChainNamespace[]): void;
41
41
  addConnectedNamespace(namespace: ChainNamespace): void;
42
42
  removeConnectedNamespace(namespace: ChainNamespace): void;
43
+ getTelegramSocialProvider(): SocialProvider | null | undefined;
44
+ setTelegramSocialProvider(socialProvider: SocialProvider): void;
45
+ removeTelegramSocialProvider(): void;
43
46
  getBalanceCache(): Record<string, {
44
47
  timestamp: number;
45
48
  balance: BlockchainApiBalanceResponse;
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@reown/appkit-core",
3
- "version": "1.6.9",
3
+ "version": "1.7.0-alpha.0",
4
+ "sideEffects": false,
4
5
  "type": "module",
5
6
  "main": "./dist/esm/exports/index.js",
6
7
  "types": "./dist/types/exports/index.d.ts",
@@ -39,8 +40,8 @@
39
40
  "@walletconnect/universal-provider": "2.18.0",
40
41
  "valtio": "1.13.2",
41
42
  "viem": ">=2.23",
42
- "@reown/appkit-common": "1.6.9",
43
- "@reown/appkit-wallet": "1.6.9"
43
+ "@reown/appkit-common": "1.7.0-alpha.0",
44
+ "@reown/appkit-wallet": "1.7.0-alpha.0"
44
45
  },
45
46
  "peerDependencies": {},
46
47
  "devDependencies": {
@@ -58,6 +59,18 @@
58
59
  "bugs": {
59
60
  "url": "https://github.com/reown-com/appkit/issues"
60
61
  },
62
+ "keywords": [
63
+ "appkit",
64
+ "wallet",
65
+ "onboarding",
66
+ "reown",
67
+ "dapps",
68
+ "web3",
69
+ "wagmi",
70
+ "ethereum",
71
+ "solana",
72
+ "bitcoin"
73
+ ],
61
74
  "scripts": {
62
75
  "build:clean": "rm -rf dist",
63
76
  "build": "tsc --build",