@reown/appkit-core 0.0.5 → 1.0.1

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 (52) hide show
  1. package/LICENSE +2 -2
  2. package/dist/esm/exports/react.js +2 -2
  3. package/dist/esm/exports/react.js.map +1 -1
  4. package/dist/esm/src/controllers/ApiController.js +1 -1
  5. package/dist/esm/src/controllers/ApiController.js.map +1 -1
  6. package/dist/esm/src/controllers/ChainController.js +18 -6
  7. package/dist/esm/src/controllers/ChainController.js.map +1 -1
  8. package/dist/esm/src/controllers/ConnectorController.js +12 -2
  9. package/dist/esm/src/controllers/ConnectorController.js.map +1 -1
  10. package/dist/esm/src/controllers/EventsController.js +1 -1
  11. package/dist/esm/src/controllers/EventsController.js.map +1 -1
  12. package/dist/esm/src/controllers/NetworkController.js +4 -7
  13. package/dist/esm/src/controllers/NetworkController.js.map +1 -1
  14. package/dist/esm/src/controllers/OptionsController.js +3 -0
  15. package/dist/esm/src/controllers/OptionsController.js.map +1 -1
  16. package/dist/esm/src/controllers/SwapController.js +1 -1
  17. package/dist/esm/src/controllers/SwapController.js.map +1 -1
  18. package/dist/esm/src/utils/StorageUtil.js +3 -3
  19. package/dist/esm/src/utils/StorageUtil.js.map +1 -1
  20. package/dist/esm/tests/controllers/AccountController.test.js +6 -1
  21. package/dist/esm/tests/controllers/AccountController.test.js.map +1 -1
  22. package/dist/esm/tests/controllers/ApiController.test.js +6 -1
  23. package/dist/esm/tests/controllers/ApiController.test.js.map +1 -1
  24. package/dist/esm/tests/controllers/ChainController.test.js +2 -1
  25. package/dist/esm/tests/controllers/ChainController.test.js.map +1 -1
  26. package/dist/esm/tests/controllers/ConnectionController.test.js +12 -3
  27. package/dist/esm/tests/controllers/ConnectionController.test.js.map +1 -1
  28. package/dist/esm/tests/controllers/ConnectorController.test.js +58 -10
  29. package/dist/esm/tests/controllers/ConnectorController.test.js.map +1 -1
  30. package/dist/esm/tests/controllers/EnsController.test.js +6 -1
  31. package/dist/esm/tests/controllers/EnsController.test.js.map +1 -1
  32. package/dist/esm/tests/controllers/NetworkController.test.js +11 -2
  33. package/dist/esm/tests/controllers/NetworkController.test.js.map +1 -1
  34. package/dist/esm/tests/controllers/SwapController.test.js +5 -1
  35. package/dist/esm/tests/controllers/SwapController.test.js.map +1 -1
  36. package/dist/esm/tests/hooks/react.test.js +6 -6
  37. package/dist/esm/tests/hooks/react.test.js.map +1 -1
  38. package/dist/esm/tests/utils/StorageUtil.test.js +7 -7
  39. package/dist/esm/tests/utils/StorageUtil.test.js.map +1 -1
  40. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  41. package/dist/types/exports/index.d.ts +1 -1
  42. package/dist/types/exports/react.d.ts +3 -3
  43. package/dist/types/src/controllers/AccountController.d.ts +1 -1
  44. package/dist/types/src/controllers/ChainController.d.ts +1 -1
  45. package/dist/types/src/controllers/NetworkController.d.ts +1 -1
  46. package/dist/types/src/controllers/OptionsController.d.ts +91 -8
  47. package/dist/types/src/controllers/SwapController.d.ts +3 -3
  48. package/dist/types/src/utils/StorageUtil.d.ts +1 -1
  49. package/dist/types/src/utils/TypeUtil.d.ts +2 -1
  50. package/dist/types/tests/mocks/SwapController.d.ts +3 -3
  51. package/package.json +6 -6
  52. package/readme.md +4 -4
@@ -23,7 +23,7 @@ export type { AssetControllerState } from '../src/controllers/AssetController.js
23
23
  export { ThemeController } from '../src/controllers/ThemeController.js';
24
24
  export type { ThemeControllerState } from '../src/controllers/ThemeController.js';
25
25
  export { OptionsController } from '../src/controllers/OptionsController.js';
26
- export type { OptionsControllerState } from '../src/controllers/OptionsController.js';
26
+ export type { OptionsControllerStatePublic as OptionsControllerState } from '../src/controllers/OptionsController.js';
27
27
  export { BlockchainApiController } from '../src/controllers/BlockchainApiController.js';
28
28
  export { PublicStateController } from '../src/controllers/PublicStateController.js';
29
29
  export type { PublicStateControllerState } from '../src/controllers/PublicStateController.js';
@@ -1,6 +1,6 @@
1
- export declare function useWeb3ModalNetwork(): {
1
+ export declare function useAppKitNetwork(): {
2
2
  caipNetwork: {
3
- readonly id: `solana:${string}` | `solana:${number}` | `polkadot:${string}` | `polkadot:${number}` | `eip155:${string}` | `eip155:${number}`;
3
+ readonly id: `eip155:${string}` | `eip155:${number}` | `solana:${string}` | `solana:${number}` | `polkadot:${string}` | `polkadot:${number}`;
4
4
  readonly chainId: import("@reown/appkit-common").ChainId;
5
5
  readonly chainNamespace: import("@reown/appkit-common").ChainNamespace;
6
6
  readonly name: string;
@@ -12,7 +12,7 @@ export declare function useWeb3ModalNetwork(): {
12
12
  } | undefined;
13
13
  chainId: import("@reown/appkit-common").ChainId | undefined;
14
14
  };
15
- export declare function useWeb3ModalAccount(): {
15
+ export declare function useAppKitAccount(): {
16
16
  address: string | undefined;
17
17
  isConnected: boolean;
18
18
  status: "reconnecting" | "connected" | "disconnected" | "connecting" | undefined;
@@ -35,7 +35,7 @@ export declare const AccountController: {
35
35
  setIsConnected(isConnected: AccountControllerState['isConnected'], chain: ChainNamespace | undefined): void;
36
36
  setStatus(status: AccountControllerState['status'], chain: ChainNamespace | undefined): void;
37
37
  getChainIsConnected(chain: ChainNamespace | undefined): boolean | undefined;
38
- getCaipAddress(chain: ChainNamespace | undefined): `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `eip155:${string}:${string}` | `eip155:${number}:${string}` | undefined;
38
+ getCaipAddress(chain: ChainNamespace | undefined): `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
39
39
  setProvider(provider: AccountControllerState['provider'], chain: ChainNamespace | undefined): void;
40
40
  setCaipAddress(caipAddress: AccountControllerState['caipAddress'], chain: ChainNamespace | undefined): void;
41
41
  setBalance(balance: AccountControllerState['balance'], balanceSymbol: AccountControllerState['balanceSymbol'], chain: ChainNamespace): void;
@@ -11,7 +11,7 @@ export interface ChainControllerState {
11
11
  universalAdapter: Pick<ChainAdapter, 'networkControllerClient' | 'connectionControllerClient'>;
12
12
  noAdapters: boolean;
13
13
  }
14
- type ChainsInitializerAdapter = Pick<ChainAdapter, 'connectionControllerClient' | 'networkControllerClient' | 'defaultNetwork' | 'chainNamespace' | 'adapterType'>;
14
+ type ChainsInitializerAdapter = Pick<ChainAdapter, 'connectionControllerClient' | 'networkControllerClient' | 'defaultNetwork' | 'chainNamespace' | 'adapterType' | 'caipNetworks'>;
15
15
  export declare const ChainController: {
16
16
  state: ChainControllerState;
17
17
  subscribeKey<K extends keyof ChainControllerState>(key: K, callback: (value: ChainControllerState[K]) => void): () => void;
@@ -31,7 +31,7 @@ export declare const NetworkController: {
31
31
  setSmartAccountEnabledNetworks(smartAccountEnabledNetworks: NetworkControllerState['smartAccountEnabledNetworks'], chain: ChainNamespace | undefined): void;
32
32
  getRequestedCaipNetworks(chainToFilter?: ChainNamespace): CaipNetwork[];
33
33
  switchActiveNetwork(network: NetworkControllerState['caipNetwork']): Promise<void>;
34
- getApprovedCaipNetworkIds(chainToFilter?: ChainNamespace): (`solana:${string}` | `solana:${number}` | `polkadot:${string}` | `polkadot:${number}` | `eip155:${string}` | `eip155:${number}`)[] | undefined;
34
+ getApprovedCaipNetworkIds(chainToFilter?: ChainNamespace): (`eip155:${string}` | `eip155:${number}` | `solana:${string}` | `solana:${number}` | `polkadot:${string}` | `polkadot:${number}`)[] | undefined;
35
35
  setApprovedCaipNetworksData(chain: ChainNamespace | undefined): Promise<void>;
36
36
  checkIfSupportedNetwork(): boolean;
37
37
  checkIfSmartAccountEnabled(): boolean;
@@ -1,29 +1,111 @@
1
1
  import type { CustomWallet, Features, Metadata, ProjectId, SdkVersion, Tokens } from '../utils/TypeUtil.js';
2
- export interface OptionsControllerState {
3
- projectId: ProjectId;
4
- sdkType: 'appkit';
5
- sdkVersion: SdkVersion;
2
+ export interface OptionsControllerStatePublic {
3
+ /**
4
+ * A boolean that allows you to add or remove the "All Wallets" button on the modal
5
+ * @default 'SHOW'
6
+ * @see https://docs.walletconnect.com/appkit/react/core/options#allwallets
7
+ */
6
8
  allWallets?: 'SHOW' | 'HIDE' | 'ONLY_MOBILE';
9
+ /**
10
+ * The project ID for the AppKit. You can find or create your project ID in the Cloud.
11
+ * @see https://cloud.walletconnect.com/
12
+ */
13
+ projectId: ProjectId;
14
+ /**
15
+ * Array of wallet ids to be shown in the modal's connection view with priority. These wallets will also show up first in `All Wallets` view
16
+ * @default []
17
+ * @see https://docs.walletconnect.com/appkit/react/core/options#featuredwalletids
18
+ */
7
19
  featuredWalletIds?: string[];
20
+ /**
21
+ * Array of wallet ids to be shown (order is respected). Unlike `featuredWalletIds`, these wallets will be the only ones shown in `All Wallets` view and as recommended wallets.
22
+ * @default []
23
+ * @see https://docs.walletconnect.com/appkit/react/core/options#includewalletids
24
+ */
8
25
  includeWalletIds?: string[];
26
+ /**
27
+ * Array of wallet ids to be excluded from the wallet list in the modal.
28
+ * @default []
29
+ * @see https://docs.walletconnect.com/appkit/react/core/options#excludewalletids
30
+ */
9
31
  excludeWalletIds?: string[];
32
+ /**
33
+ * Array of tokens to show the user's balance of. Each key represents the chain id of the token's blockchain
34
+ * @default {}
35
+ * @see https://docs.walletconnect.com/appkit/react/core/options#tokens
36
+ */
10
37
  tokens?: Tokens;
38
+ /**
39
+ * Add custom wallets to the modal. CustomWallets is an array of objects, where each object contains specific information of a custom wallet.
40
+ * @default []
41
+ * @see https://docs.walletconnect.com/appkit/react/core/options#customwallets
42
+ *
43
+ */
11
44
  customWallets?: CustomWallet[];
45
+ /**
46
+ * You can add an url for the terms and conditions link.
47
+ * @default undefined
48
+ */
12
49
  termsConditionsUrl?: string;
50
+ /**
51
+ * You can add an url for the privacy policy link.
52
+ * @default undefined
53
+ */
13
54
  privacyPolicyUrl?: string;
14
- isSiweEnabled?: boolean;
55
+ /**
56
+ * Set of fields that related to your project which will be used to populate the metadata of the modal.
57
+ * @default {}
58
+ */
15
59
  metadata?: Metadata;
60
+ /**
61
+ * Enable or disable the appending the AppKit to the DOM. Created for specific use cases like WebGL.
62
+ * @default false
63
+ */
16
64
  disableAppend?: boolean;
65
+ /**
66
+ * Enable or disable the all the wallet options (injected, Coinbase, QR, etc.). This is useful if you want to use only email and socials.
67
+ * @default true
68
+ */
17
69
  enableWallets?: boolean;
70
+ /**
71
+ * Enable or disable the EIP6963 feature in your AppKit.
72
+ * @default false
73
+ */
18
74
  enableEIP6963?: boolean;
75
+ /**
76
+ * Enable or disable the Coinbase wallet in your AppKit.
77
+ * @default true
78
+ */
79
+ enableCoinbase?: boolean;
80
+ /**
81
+ * Enable or disable the Injected wallet in your AppKit.
82
+ * @default true
83
+ */
84
+ enableInjected?: boolean;
85
+ /**
86
+ * Enable or disable the WalletConnect QR code in your AppKit.
87
+ * @default true
88
+ */
19
89
  enableWalletConnect?: boolean;
90
+ /**
91
+ * Features configuration object.
92
+ * @default { swaps: true, onramp: true, email: true, socials: ['google', 'x', 'discord', 'farcaster', 'github', 'apple', 'facebook'], history: true, analytics: true, allWallets: true }
93
+ * @see https://docs.walletconnect.com/appkit/react/core/options#features
94
+ */
95
+ features?: Features;
96
+ }
97
+ export interface OptionsControllerStateInternal {
98
+ sdkType: 'appkit';
99
+ sdkVersion: SdkVersion;
100
+ isSiweEnabled?: boolean;
20
101
  isUniversalProvider?: boolean;
21
102
  hasMultipleAddresses?: boolean;
22
- features: Features;
23
103
  }
104
+ type StateKey = keyof OptionsControllerStatePublic | keyof OptionsControllerStateInternal;
105
+ type OptionsControllerState = OptionsControllerStatePublic & OptionsControllerStateInternal;
24
106
  export declare const OptionsController: {
25
- state: OptionsControllerState;
26
- subscribeKey<K extends keyof OptionsControllerState>(key: K, callback: (value: OptionsControllerState[K]) => void): () => void;
107
+ state: OptionsControllerStatePublic & OptionsControllerStateInternal;
108
+ subscribeKey<K extends StateKey>(key: K, callback: (value: OptionsControllerState[K]) => void): () => void;
27
109
  setOptions(options: OptionsControllerState): void;
28
110
  setFeatures(features: OptionsControllerState['features'] | undefined): void;
29
111
  setProjectId(projectId: OptionsControllerState['projectId']): void;
@@ -45,3 +127,4 @@ export declare const OptionsController: {
45
127
  setEnableWallets(enableWallets: OptionsControllerState['enableWallets']): void;
46
128
  setHasMultipleAddresses(hasMultipleAddresses: OptionsControllerState['hasMultipleAddresses']): void;
47
129
  };
130
+ export {};
@@ -63,9 +63,9 @@ export declare const SwapController: {
63
63
  getParams(): {
64
64
  networkAddress: string;
65
65
  fromAddress: string;
66
- fromCaipAddress: `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `eip155:${string}:${string}` | `eip155:${number}:${string}` | undefined;
67
- sourceTokenAddress: `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `eip155:${string}:${string}` | `eip155:${number}:${string}` | undefined;
68
- toTokenAddress: `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `eip155:${string}:${string}` | `eip155:${number}:${string}` | undefined;
66
+ fromCaipAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
67
+ sourceTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
68
+ toTokenAddress: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | undefined;
69
69
  toTokenAmount: string;
70
70
  toTokenDecimals: number | undefined;
71
71
  sourceTokenAmount: string;
@@ -6,7 +6,7 @@ export declare const StorageUtil: {
6
6
  }): void;
7
7
  getWalletConnectDeepLink(): any;
8
8
  deleteWalletConnectDeepLink(): void;
9
- setWeb3ModalRecent(wallet: WcWallet): void;
9
+ setAppKitRecent(wallet: WcWallet): void;
10
10
  getRecentWallets(): WcWallet[];
11
11
  setConnectedConnector(connectorType: ConnectorType): void;
12
12
  getConnectedConnector(): ConnectorType | undefined;
@@ -665,6 +665,7 @@ export type ChainAdapter = {
665
665
  chainNamespace: ChainNamespace;
666
666
  isUniversalAdapterClient?: boolean;
667
667
  adapterType?: AdapterType;
668
+ caipNetworks: CaipNetwork[];
668
669
  getAddress?: () => string | undefined;
669
670
  getError?: () => unknown;
670
671
  getChainId?: () => number | string | undefined;
@@ -724,7 +725,7 @@ export type Features = {
724
725
  * @description Enable or disable the socials feature. Enabled by default.
725
726
  * @type {FeaturesSocials[]}
726
727
  */
727
- socials?: FeaturesSocials[];
728
+ socials?: FeaturesSocials[] | false;
728
729
  /**
729
730
  * @description Enable or disable the history feature. Enabled by default.
730
731
  * @type {boolean}
@@ -2,7 +2,7 @@ export declare const tokensResponse: {
2
2
  tokens: {
3
3
  name: string;
4
4
  symbol: string;
5
- address: `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `eip155:${string}:${string}` | `eip155:${number}:${string}`;
5
+ address: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}`;
6
6
  decimals: number;
7
7
  logoUri: string;
8
8
  eip2612: boolean;
@@ -57,8 +57,8 @@ export declare const swapQuoteResponse: {
57
57
  };
58
58
  export declare const swapCalldataResponse: {
59
59
  tx: {
60
- from: `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `eip155:${string}:${string}` | `eip155:${number}:${string}`;
61
- to: `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `eip155:${string}:${string}` | `eip155:${number}:${string}`;
60
+ from: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}`;
61
+ to: `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}`;
62
62
  data: `0x${string}`;
63
63
  amount: string;
64
64
  eip155: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-core",
3
- "version": "0.0.5",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "main": "./dist/esm/exports/index.js",
6
6
  "types": "./dist/types/exports/index.d.ts",
@@ -23,23 +23,23 @@
23
23
  "dependencies": {
24
24
  "@walletconnect/universal-provider": "2.16.1",
25
25
  "valtio": "1.11.2",
26
- "@reown/appkit-common": "0.0.5",
27
- "@reown/appkit-wallet": "0.0.5"
26
+ "@reown/appkit-common": "1.0.1",
27
+ "@reown/appkit-wallet": "1.0.1"
28
28
  },
29
29
  "devDependencies": {
30
30
  "vitest": "2.0.5",
31
31
  "@vitest/coverage-v8": "2.0.5",
32
32
  "viem": "2.21.4"
33
33
  },
34
- "author": "reown <reown.com>",
34
+ "author": "Reown <support@reown.com> (https://reown.com)",
35
35
  "license": "Apache-2.0",
36
- "homepage": "https://github.com/web3modal/web3modal",
36
+ "homepage": "https://github.com/reown-com/appkit",
37
37
  "repository": {
38
38
  "type": "git",
39
39
  "url": "git+https://github.com/WalletConnect/shadow-appkit.git"
40
40
  },
41
41
  "bugs": {
42
- "url": "https://github.com/web3modal/web3modal/issues"
42
+ "url": "https://github.com/reown-com/appkit/issues"
43
43
  },
44
44
  "scripts": {
45
45
  "build:clean": "rm -rf dist",
package/readme.md CHANGED
@@ -1,10 +1,10 @@
1
- #### 📚 [Documentation](https://docs.walletconnect.com/2.0/web3modal/about)
1
+ #### 📚 [Documentation](https://docs.walletconnect.com/2.0/appkit/about)
2
2
 
3
- #### 🔗 [Website](https://web3modal.com)
3
+ #### 🔗 [Website](https://reown.com/appkit)
4
4
 
5
- # Web3Modal
5
+ # AppKit
6
6
 
7
- Your on-ramp to web3 multichain. Web3Modal is a versatile library that makes it super easy to connect users with your Dapp and start interacting with the blockchain.
7
+ Your on-ramp to web3 multichain. AppKit is a versatile library that makes it super easy to connect users with your Dapp and start interacting with the blockchain.
8
8
 
9
9
  <p align="center">
10
10
  <img src="./.github/assets/header.png" alt="" border="0">