@reown/appkit-core 1.1.1-40d0859f0.0 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/src/controllers/AccountController.js +4 -8
- package/dist/esm/src/controllers/AccountController.js.map +1 -1
- package/dist/esm/src/controllers/ApiController.js +12 -15
- package/dist/esm/src/controllers/ApiController.js.map +1 -1
- package/dist/esm/src/controllers/ChainController.js +6 -6
- package/dist/esm/src/controllers/ChainController.js.map +1 -1
- package/dist/esm/src/controllers/ConnectionController.js +4 -7
- package/dist/esm/src/controllers/ConnectionController.js.map +1 -1
- package/dist/esm/src/controllers/OptionsController.js +1 -7
- package/dist/esm/src/controllers/OptionsController.js.map +1 -1
- package/dist/esm/src/controllers/SnackController.js +5 -15
- package/dist/esm/src/controllers/SnackController.js.map +1 -1
- package/dist/esm/src/controllers/SwapController.js +12 -12
- package/dist/esm/src/controllers/SwapController.js.map +1 -1
- package/dist/esm/src/utils/ConstantsUtil.js +5 -0
- package/dist/esm/src/utils/ConstantsUtil.js.map +1 -1
- package/dist/esm/tests/controllers/AccountController.test.js +3 -11
- package/dist/esm/tests/controllers/AccountController.test.js.map +1 -1
- package/dist/esm/tests/controllers/ApiController.test.js +31 -10
- package/dist/esm/tests/controllers/ApiController.test.js.map +1 -1
- package/dist/esm/tests/controllers/SnackController.test.js +0 -4
- package/dist/esm/tests/controllers/SnackController.test.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/controllers/AccountController.d.ts +4 -5
- package/dist/types/src/controllers/ApiController.d.ts +1 -4
- package/dist/types/src/controllers/ChainController.d.ts +1 -1
- package/dist/types/src/controllers/ConnectionController.d.ts +2 -4
- package/dist/types/src/controllers/OptionsController.d.ts +0 -2
- package/dist/types/src/controllers/SnackController.d.ts +3 -4
- package/dist/types/src/utils/ConstantsUtil.d.ts +6 -1
- package/dist/types/src/utils/TypeUtil.d.ts +1 -2
- package/package.json +3 -3
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/src/controllers/NetworkController.js +0 -186
- package/dist/esm/src/controllers/NetworkController.js.map +0 -1
- package/dist/esm/tests/controllers/NetworkController.test.js +0 -131
- package/dist/esm/tests/controllers/NetworkController.test.js.map +0 -1
- package/dist/types/index.d.ts +0 -47
- package/dist/types/src/controllers/NetworkController.d.ts +0 -39
- package/dist/types/tests/controllers/NetworkController.test.d.ts +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AccountType, CombinedProvider, ConnectedWalletInfo, Provider, SocialProvider } from '../utils/TypeUtil.js';
|
|
2
|
+
import type { CaipAddress, ChainNamespace } from '@reown/appkit-common';
|
|
3
|
+
import type { Balance } from '@reown/appkit-common';
|
|
2
4
|
import type { W3mFrameTypes } from '@reown/appkit-wallet';
|
|
3
5
|
import type UniversalProvider from '@walletconnect/universal-provider';
|
|
4
|
-
import type { AccountType, CombinedProvider, ConnectedWalletInfo, Provider, SocialProvider } from '../utils/TypeUtil.js';
|
|
5
6
|
export interface AccountControllerState {
|
|
6
7
|
currentTab: number;
|
|
7
8
|
caipAddress?: CaipAddress;
|
|
@@ -21,10 +22,9 @@ export interface AccountControllerState {
|
|
|
21
22
|
preferredAccountType?: W3mFrameTypes.AccountType;
|
|
22
23
|
socialWindow?: Window;
|
|
23
24
|
farcasterUrl?: string;
|
|
24
|
-
isOneClickAuthenticating?: boolean;
|
|
25
25
|
provider?: UniversalProvider | Provider | CombinedProvider;
|
|
26
26
|
status?: 'reconnecting' | 'connected' | 'disconnected' | 'connecting';
|
|
27
|
-
siweStatus?: 'uninitialized' | 'ready' | 'loading' | 'success' | 'rejected' | 'error'
|
|
27
|
+
siweStatus?: 'uninitialized' | 'ready' | 'loading' | 'success' | 'rejected' | 'error';
|
|
28
28
|
}
|
|
29
29
|
export declare const AccountController: {
|
|
30
30
|
state: AccountControllerState;
|
|
@@ -54,5 +54,4 @@ export declare const AccountController: {
|
|
|
54
54
|
fetchTokenBalance(): Promise<void>;
|
|
55
55
|
resetAccount(chain: ChainNamespace): void;
|
|
56
56
|
setSiweStatus(status: AccountControllerState['siweStatus']): void;
|
|
57
|
-
setIsOneClickAuthenticating(isOneClickAuthenticating: AccountControllerState['isOneClickAuthenticating']): void;
|
|
58
57
|
};
|
|
@@ -39,8 +39,5 @@ export declare const ApiController: {
|
|
|
39
39
|
searchWallet({ search }: Pick<ApiGetWalletsRequest, 'search'>): Promise<void>;
|
|
40
40
|
reFetchWallets(): Promise<void>;
|
|
41
41
|
prefetch(): void;
|
|
42
|
-
|
|
43
|
-
isAnalyticsEnabled: boolean;
|
|
44
|
-
isAppKitAuthEnabled: boolean;
|
|
45
|
-
}>;
|
|
42
|
+
fetchAnalyticsConfig(): Promise<void>;
|
|
46
43
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AdapterNetworkState, ChainAdapter, Connector } from '../utils/TypeUtil.js';
|
|
2
|
-
import { type CaipAddress, type CaipNetwork, type CaipNetworkId, type ChainNamespace } from '@reown/appkit-common';
|
|
3
2
|
import { type AccountControllerState } from './AccountController.js';
|
|
3
|
+
import { type CaipAddress, type CaipNetwork, type CaipNetworkId, type ChainNamespace } from '@reown/appkit-common';
|
|
4
4
|
export interface ChainControllerState {
|
|
5
5
|
activeChain: ChainNamespace | undefined;
|
|
6
6
|
activeCaipAddress: CaipAddress | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ChainNamespace } from '@reown/appkit-common';
|
|
2
|
-
import { type W3mFrameTypes } from '@reown/appkit-wallet';
|
|
3
1
|
import type { Connector, EstimateGasTransactionArgs, SendTransactionArgs, WcWallet, WriteContractArgs } from '../utils/TypeUtil.js';
|
|
2
|
+
import { type W3mFrameTypes } from '@reown/appkit-wallet';
|
|
3
|
+
import type { ChainNamespace } from '@reown/appkit-common';
|
|
4
4
|
export interface ConnectExternalOptions {
|
|
5
5
|
id: Connector['id'];
|
|
6
6
|
type: Connector['type'];
|
|
@@ -35,7 +35,6 @@ export interface ConnectionControllerState {
|
|
|
35
35
|
wcError?: boolean;
|
|
36
36
|
recentWallet?: WcWallet;
|
|
37
37
|
buffering: boolean;
|
|
38
|
-
wcClientId?: string | null;
|
|
39
38
|
status?: 'connecting' | 'connected' | 'disconnected';
|
|
40
39
|
}
|
|
41
40
|
export declare const ConnectionController: {
|
|
@@ -63,7 +62,6 @@ export declare const ConnectionController: {
|
|
|
63
62
|
setWcError(wcError: ConnectionControllerState['wcError']): void;
|
|
64
63
|
setRecentWallet(wallet: ConnectionControllerState['recentWallet']): void;
|
|
65
64
|
setBuffering(buffering: ConnectionControllerState['buffering']): void;
|
|
66
|
-
setClientId(clientId: ConnectionControllerState['wcClientId']): void;
|
|
67
65
|
setStatus(status: ConnectionControllerState['status']): void;
|
|
68
66
|
disconnect(): Promise<void>;
|
|
69
67
|
};
|
|
@@ -62,7 +62,6 @@ export interface OptionsControllerStatePublic {
|
|
|
62
62
|
* @default false
|
|
63
63
|
*/
|
|
64
64
|
disableAppend?: boolean;
|
|
65
|
-
enableAuth?: boolean;
|
|
66
65
|
/**
|
|
67
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.
|
|
68
67
|
* @default true
|
|
@@ -128,7 +127,6 @@ export declare const OptionsController: {
|
|
|
128
127
|
setSdkVersion(sdkVersion: OptionsControllerState['sdkVersion']): void;
|
|
129
128
|
setMetadata(metadata: OptionsControllerState['metadata']): void;
|
|
130
129
|
setDisableAppend(disableAppend: OptionsControllerState['disableAppend']): void;
|
|
131
|
-
setEnableAuth(enableAuth: OptionsControllerState['enableAuth']): void;
|
|
132
130
|
setEIP6963Enabled(enableEIP6963: OptionsControllerState['enableEIP6963']): void;
|
|
133
131
|
setDebug(debug: OptionsControllerState['debug']): void;
|
|
134
132
|
setEnableWalletConnect(enableWalletConnect: OptionsControllerState['enableWalletConnect']): void;
|
|
@@ -2,13 +2,12 @@ export interface SnackControllerState {
|
|
|
2
2
|
message: string;
|
|
3
3
|
variant: 'error' | 'success' | 'loading';
|
|
4
4
|
open: boolean;
|
|
5
|
-
durationMs: number;
|
|
6
5
|
}
|
|
7
6
|
export declare const SnackController: {
|
|
8
7
|
state: SnackControllerState;
|
|
9
8
|
subscribeKey<K extends keyof SnackControllerState>(key: K, callback: (value: SnackControllerState[K]) => void): () => void;
|
|
10
|
-
showLoading(message: SnackControllerState['message']
|
|
11
|
-
showSuccess(message: SnackControllerState['message']
|
|
12
|
-
showError(message: unknown
|
|
9
|
+
showLoading(message: SnackControllerState['message']): void;
|
|
10
|
+
showSuccess(message: SnackControllerState['message']): void;
|
|
11
|
+
showError(message: unknown): void;
|
|
13
12
|
hide(): void;
|
|
14
13
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ChainNamespace } from '@reown/appkit-common';
|
|
2
1
|
import type { Features } from './TypeUtil.js';
|
|
2
|
+
import type { ChainNamespace } from '@reown/appkit-common';
|
|
3
3
|
export declare const ONRAMP_PROVIDERS: {
|
|
4
4
|
label: string;
|
|
5
5
|
name: string;
|
|
@@ -12,6 +12,8 @@ export declare const MELD_PROD_PUBLIC_KEY = "WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6
|
|
|
12
12
|
export declare const ConstantsUtil: {
|
|
13
13
|
FOUR_MINUTES_MS: number;
|
|
14
14
|
TEN_SEC_MS: number;
|
|
15
|
+
FIVE_SEC_MS: number;
|
|
16
|
+
THREE_SEC_MS: number;
|
|
15
17
|
ONE_SEC_MS: number;
|
|
16
18
|
SECURE_SITE: string;
|
|
17
19
|
SECURE_SITE_DASHBOARD: string;
|
|
@@ -43,5 +45,8 @@ export declare const ConstantsUtil: {
|
|
|
43
45
|
readonly polkadot: "0x";
|
|
44
46
|
};
|
|
45
47
|
CONVERT_SLIPPAGE_TOLERANCE: number;
|
|
48
|
+
CONNECT_LABELS: {
|
|
49
|
+
MOBILE: string;
|
|
50
|
+
};
|
|
46
51
|
DEFAULT_FEATURES: Features;
|
|
47
52
|
};
|
|
@@ -87,9 +87,8 @@ export interface ApiGetWalletsResponse {
|
|
|
87
87
|
data: WcWallet[];
|
|
88
88
|
count: number;
|
|
89
89
|
}
|
|
90
|
-
export interface
|
|
90
|
+
export interface ApiGetAnalyticsConfigResponse {
|
|
91
91
|
isAnalyticsEnabled: boolean;
|
|
92
|
-
isAppKitAuthEnabled: boolean;
|
|
93
92
|
}
|
|
94
93
|
export type ThemeMode = 'dark' | 'light';
|
|
95
94
|
export interface ThemeVariables {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/esm/exports/index.js",
|
|
6
6
|
"types": "./dist/types/exports/index.d.ts",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@walletconnect/universal-provider": "2.17.0",
|
|
40
40
|
"valtio": "1.11.2",
|
|
41
41
|
"viem": "2.x",
|
|
42
|
-
"@reown/appkit-common": "1.1.
|
|
43
|
-
"@reown/appkit-wallet": "1.1.
|
|
42
|
+
"@reown/appkit-common": "1.1.3",
|
|
43
|
+
"@reown/appkit-wallet": "1.1.3"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {},
|
|
46
46
|
"devDependencies": {
|
package/dist/esm/index.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export { ModalController } from './src/controllers/ModalController.js';
|
|
2
|
-
export { RouterController } from './src/controllers/RouterController.js';
|
|
3
|
-
export { AccountController } from './src/controllers/AccountController.js';
|
|
4
|
-
export { ChainController } from './src/controllers/ChainController.js';
|
|
5
|
-
export { NetworkController } from './src/controllers/NetworkController.js';
|
|
6
|
-
export { OnRampController } from './src/controllers/OnRampController.js';
|
|
7
|
-
export { ConnectionController } from './src/controllers/ConnectionController.js';
|
|
8
|
-
export { ConnectorController } from './src/controllers/ConnectorController.js';
|
|
9
|
-
export { SnackController } from './src/controllers/SnackController.js';
|
|
10
|
-
export { ApiController } from './src/controllers/ApiController.js';
|
|
11
|
-
export { AssetController } from './src/controllers/AssetController.js';
|
|
12
|
-
export { ThemeController } from './src/controllers/ThemeController.js';
|
|
13
|
-
export { OptionsController } from './src/controllers/OptionsController.js';
|
|
14
|
-
export { BlockchainApiController } from './src/controllers/BlockchainApiController.js';
|
|
15
|
-
export { PublicStateController } from './src/controllers/PublicStateController.js';
|
|
16
|
-
export { EventsController } from './src/controllers/EventsController.js';
|
|
17
|
-
export { TransactionsController } from './src/controllers/TransactionsController.js';
|
|
18
|
-
export { SwapController } from './src/controllers/SwapController.js';
|
|
19
|
-
export { SendController } from './src/controllers/SendController.js';
|
|
20
|
-
export { TooltipController } from './src/controllers/TooltipController.js';
|
|
21
|
-
export { EnsController } from './src/controllers/EnsController.js';
|
|
22
|
-
export { AssetUtil } from './src/utils/AssetUtil.js';
|
|
23
|
-
export { ConstantsUtil } from './src/utils/ConstantsUtil.js';
|
|
24
|
-
export { CoreHelperUtil } from './src/utils/CoreHelperUtil.js';
|
|
25
|
-
export { StorageUtil } from './src/utils/StorageUtil.js';
|
|
26
|
-
export { RouterUtil } from './src/utils/RouterUtil.js';
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAMtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAGxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAG1E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAGtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAM1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAMhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAGtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAG1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAA;AAEtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAA;AAGlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAGxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAA;AAGpF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAIlE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { NetworkUtil } from '@reown/appkit-common';
|
|
2
|
-
import { proxy, ref } from 'valtio/vanilla';
|
|
3
|
-
import { ConstantsUtil } from '../utils/ConstantsUtil.js';
|
|
4
|
-
import { CoreHelperUtil } from '../utils/CoreHelperUtil.js';
|
|
5
|
-
import { ChainController } from './ChainController.js';
|
|
6
|
-
import { EventsController } from './EventsController.js';
|
|
7
|
-
import { ModalController } from './ModalController.js';
|
|
8
|
-
// -- State --------------------------------------------- //
|
|
9
|
-
const state = proxy({
|
|
10
|
-
supportsAllNetworks: true,
|
|
11
|
-
smartAccountEnabledNetworks: []
|
|
12
|
-
});
|
|
13
|
-
// -- Controller ---------------------------------------- //
|
|
14
|
-
export const NetworkController = {
|
|
15
|
-
state,
|
|
16
|
-
replaceState(newState) {
|
|
17
|
-
if (!newState) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
Object.assign(state, ref(newState));
|
|
21
|
-
},
|
|
22
|
-
subscribeKey(property, callback) {
|
|
23
|
-
let prev = undefined;
|
|
24
|
-
return ChainController.subscribeChainProp('networkState', networkState => {
|
|
25
|
-
if (networkState) {
|
|
26
|
-
const nextValue = networkState[property];
|
|
27
|
-
if (prev !== nextValue) {
|
|
28
|
-
prev = nextValue;
|
|
29
|
-
callback(nextValue);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
},
|
|
34
|
-
_getClient() {
|
|
35
|
-
return ChainController.getNetworkControllerClient();
|
|
36
|
-
},
|
|
37
|
-
setActiveCaipNetwork(caipNetwork) {
|
|
38
|
-
if (!caipNetwork) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
ChainController.setActiveCaipNetwork(caipNetwork);
|
|
42
|
-
const isSupported = this.checkIfSupportedNetwork();
|
|
43
|
-
if (!isSupported) {
|
|
44
|
-
this.showUnsupportedChainUI();
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
setCaipNetwork(caipNetwork) {
|
|
48
|
-
if (!caipNetwork) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (!caipNetwork?.chainNamespace) {
|
|
52
|
-
throw new Error('chain is required to set active network');
|
|
53
|
-
}
|
|
54
|
-
ChainController.setCaipNetwork(caipNetwork?.chainNamespace, caipNetwork);
|
|
55
|
-
},
|
|
56
|
-
setRequestedCaipNetworks(requestedNetworks, chain) {
|
|
57
|
-
ChainController.setChainNetworkData(chain, { requestedCaipNetworks: requestedNetworks });
|
|
58
|
-
},
|
|
59
|
-
setAllowUnsupportedChain(allowUnsupportedCaipNetwork, chain) {
|
|
60
|
-
ChainController.setChainNetworkData(chain || ChainController.state.activeChain, {
|
|
61
|
-
allowUnsupportedCaipNetwork
|
|
62
|
-
});
|
|
63
|
-
},
|
|
64
|
-
setSmartAccountEnabledNetworks(smartAccountEnabledNetworks, chain) {
|
|
65
|
-
ChainController.setChainNetworkData(chain, { smartAccountEnabledNetworks });
|
|
66
|
-
},
|
|
67
|
-
getRequestedCaipNetworks(chainToFilter) {
|
|
68
|
-
let chainAdapters = undefined;
|
|
69
|
-
if (!ChainController.state.activeChain) {
|
|
70
|
-
throw new Error('activeChain is required to get requested networks');
|
|
71
|
-
}
|
|
72
|
-
if (chainToFilter) {
|
|
73
|
-
const chain = chainToFilter;
|
|
74
|
-
if (!chain) {
|
|
75
|
-
throw new Error('chain is required to get requested networks');
|
|
76
|
-
}
|
|
77
|
-
chainAdapters = [chain];
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
const chains = [...ChainController.state.chains.keys()];
|
|
81
|
-
chainAdapters = chains;
|
|
82
|
-
}
|
|
83
|
-
const approvedIds = [];
|
|
84
|
-
const requestedNetworks = [];
|
|
85
|
-
chainAdapters.forEach((chn) => {
|
|
86
|
-
if (ChainController.state.chains.get(chn)?.networkState?.approvedCaipNetworkIds) {
|
|
87
|
-
approvedIds.push(...(ChainController.state.chains.get(chn)?.networkState?.approvedCaipNetworkIds || []));
|
|
88
|
-
}
|
|
89
|
-
if (ChainController.state.chains.get(chn)?.networkState?.requestedCaipNetworks) {
|
|
90
|
-
requestedNetworks.push(...(ChainController.state.chains.get(chn)?.networkState?.requestedCaipNetworks || []));
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
const sortedNetworks = CoreHelperUtil.sortRequestedNetworks(approvedIds, requestedNetworks);
|
|
94
|
-
return sortedNetworks;
|
|
95
|
-
},
|
|
96
|
-
async switchActiveNetwork(network) {
|
|
97
|
-
const networkControllerClient = ChainController.getNetworkControllerClient(network?.chainNamespace);
|
|
98
|
-
if (networkControllerClient) {
|
|
99
|
-
await networkControllerClient.switchCaipNetwork(network);
|
|
100
|
-
}
|
|
101
|
-
ChainController.setActiveCaipNetwork(network);
|
|
102
|
-
if (network) {
|
|
103
|
-
EventsController.sendEvent({
|
|
104
|
-
type: 'track',
|
|
105
|
-
event: 'SWITCH_NETWORK',
|
|
106
|
-
properties: { network: network.id }
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
getApprovedCaipNetworkIds(chainToFilter) {
|
|
111
|
-
if (chainToFilter) {
|
|
112
|
-
const chain = chainToFilter;
|
|
113
|
-
if (!chain) {
|
|
114
|
-
throw new Error('chain is required to get approved network IDs');
|
|
115
|
-
}
|
|
116
|
-
return ChainController.state.chains.get(chain)?.networkState?.approvedCaipNetworkIds;
|
|
117
|
-
}
|
|
118
|
-
const allCaipNetworkIds = [];
|
|
119
|
-
Object.values(ChainController.state.chains).forEach(adapter => {
|
|
120
|
-
if (adapter.networkState.approvedCaipNetworkIds) {
|
|
121
|
-
allCaipNetworkIds.push(...(adapter.networkState?.approvedCaipNetworkIds || []));
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
return allCaipNetworkIds;
|
|
125
|
-
},
|
|
126
|
-
async setApprovedCaipNetworksData(chain) {
|
|
127
|
-
if (!chain) {
|
|
128
|
-
throw new Error('chain is required to set approved network data');
|
|
129
|
-
}
|
|
130
|
-
const networkControllerClient = ChainController.getNetworkControllerClient();
|
|
131
|
-
const data = await networkControllerClient?.getApprovedCaipNetworksData();
|
|
132
|
-
ChainController.setChainNetworkData(chain, data);
|
|
133
|
-
},
|
|
134
|
-
checkIfSupportedNetwork() {
|
|
135
|
-
const chain = ChainController.state.activeChain;
|
|
136
|
-
if (!chain) {
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
const activeCaipNetwork = ChainController.state.activeCaipNetwork;
|
|
140
|
-
const requestedCaipNetworks = this.getRequestedCaipNetworks(chain);
|
|
141
|
-
if (!requestedCaipNetworks.length) {
|
|
142
|
-
return true;
|
|
143
|
-
}
|
|
144
|
-
return requestedCaipNetworks?.some(network => network.id === activeCaipNetwork?.id);
|
|
145
|
-
},
|
|
146
|
-
checkIfSmartAccountEnabled() {
|
|
147
|
-
const networkId = NetworkUtil.caipNetworkIdToNumber(ChainController.state.activeCaipNetwork?.id);
|
|
148
|
-
const activeChain = ChainController.state.activeChain;
|
|
149
|
-
if (!activeChain) {
|
|
150
|
-
throw new Error('activeChain is required to check if smart account is enabled');
|
|
151
|
-
}
|
|
152
|
-
if (!networkId) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
const smartAccountEnabledNetworks = ChainController.getNetworkProp('smartAccountEnabledNetworks');
|
|
156
|
-
return Boolean(smartAccountEnabledNetworks?.includes(Number(networkId)));
|
|
157
|
-
},
|
|
158
|
-
resetNetwork() {
|
|
159
|
-
const chain = ChainController.state.activeChain;
|
|
160
|
-
if (!chain) {
|
|
161
|
-
throw new Error('chain is required to reset network');
|
|
162
|
-
}
|
|
163
|
-
ChainController.setChainNetworkData(chain, {
|
|
164
|
-
approvedCaipNetworkIds: undefined,
|
|
165
|
-
supportsAllNetworks: true,
|
|
166
|
-
smartAccountEnabledNetworks: []
|
|
167
|
-
});
|
|
168
|
-
},
|
|
169
|
-
getSupportsAllNetworks() {
|
|
170
|
-
const chain = ChainController.state.activeChain;
|
|
171
|
-
if (!chain) {
|
|
172
|
-
throw new Error('chain is required to check if network supports all networks');
|
|
173
|
-
}
|
|
174
|
-
return ChainController.state.chains.get(chain)?.networkState?.supportsAllNetworks;
|
|
175
|
-
},
|
|
176
|
-
showUnsupportedChainUI() {
|
|
177
|
-
setTimeout(() => {
|
|
178
|
-
ModalController.open({ view: 'UnsupportedChain' });
|
|
179
|
-
}, 300);
|
|
180
|
-
},
|
|
181
|
-
getActiveNetworkTokenAddress() {
|
|
182
|
-
const address = ConstantsUtil.NATIVE_TOKEN_ADDRESS[ChainController.state.activeCaipNetwork?.chainNamespace || 'eip155'];
|
|
183
|
-
return `${ChainController.state.activeCaipNetwork?.id || 'eip155:1'}:${address}`;
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
//# sourceMappingURL=NetworkController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkController.js","sourceRoot":"","sources":["../../../../src/controllers/NetworkController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { ChainController, NetworkController } from '../../exports/index.js';
|
|
3
|
-
import { ConstantsUtil } from '@reown/appkit-common';
|
|
4
|
-
// -- Setup --------------------------------------------------------------------
|
|
5
|
-
const caipNetwork = {
|
|
6
|
-
id: 'eip155:1',
|
|
7
|
-
name: 'Ethereum',
|
|
8
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
9
|
-
chainId: 1,
|
|
10
|
-
currency: 'ETH',
|
|
11
|
-
explorerUrl: 'https://etherscan.io',
|
|
12
|
-
rpcUrl: 'https://rpc.infura.com/v1/'
|
|
13
|
-
};
|
|
14
|
-
const solanaCaipNetwork = {
|
|
15
|
-
id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
|
|
16
|
-
name: 'Solana',
|
|
17
|
-
chainNamespace: ConstantsUtil.CHAIN.SOLANA,
|
|
18
|
-
chainId: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
|
|
19
|
-
currency: 'SOL',
|
|
20
|
-
explorerUrl: 'https://solscan.io',
|
|
21
|
-
rpcUrl: 'https://rpc.infura.com/v1/'
|
|
22
|
-
};
|
|
23
|
-
const requestedCaipNetworks = [
|
|
24
|
-
{
|
|
25
|
-
id: 'eip155:1',
|
|
26
|
-
name: 'Ethereum',
|
|
27
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
28
|
-
chainId: 1,
|
|
29
|
-
currency: 'ETH',
|
|
30
|
-
explorerUrl: 'https://etherscan.io',
|
|
31
|
-
rpcUrl: 'https://rpc.infura.com/v1/'
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
id: 'eip155:42161',
|
|
35
|
-
name: 'Arbitrum One',
|
|
36
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
37
|
-
chainId: 42161,
|
|
38
|
-
currency: 'ETH',
|
|
39
|
-
explorerUrl: 'https://etherscan.io',
|
|
40
|
-
rpcUrl: 'https://rpc.infura.com/v1/'
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
id: 'eip155:43114',
|
|
44
|
-
name: 'Avalanche C-Chain',
|
|
45
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
46
|
-
chainId: 43114,
|
|
47
|
-
currency: 'ETH',
|
|
48
|
-
explorerUrl: 'https://etherscan.io',
|
|
49
|
-
rpcUrl: 'https://rpc.infura.com/v1/'
|
|
50
|
-
}
|
|
51
|
-
];
|
|
52
|
-
const approvedCaipNetworkIds = ['eip155:1', 'eip155:42161'];
|
|
53
|
-
const chain = ConstantsUtil.CHAIN.EVM;
|
|
54
|
-
const client = {
|
|
55
|
-
switchCaipNetwork: async (_caipNetwork) => Promise.resolve(),
|
|
56
|
-
getApprovedCaipNetworksData: async () => Promise.resolve({ approvedCaipNetworkIds, supportsAllNetworks: false })
|
|
57
|
-
};
|
|
58
|
-
// -- Tests --------------------------------------------------------------------
|
|
59
|
-
describe('NetworkController', () => {
|
|
60
|
-
it('should throw if client not set', () => {
|
|
61
|
-
expect(NetworkController._getClient).toThrow('Chain is required to get network controller client');
|
|
62
|
-
ChainController.initialize([
|
|
63
|
-
{
|
|
64
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
65
|
-
caipNetworks: []
|
|
66
|
-
}
|
|
67
|
-
]);
|
|
68
|
-
expect(NetworkController._getClient).toThrow('NetworkController client not set');
|
|
69
|
-
});
|
|
70
|
-
it('should have valid default state', () => {
|
|
71
|
-
ChainController.initialize([
|
|
72
|
-
{
|
|
73
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
74
|
-
networkControllerClient: client,
|
|
75
|
-
caipNetworks: []
|
|
76
|
-
}
|
|
77
|
-
]);
|
|
78
|
-
expect(NetworkController.state).toEqual({
|
|
79
|
-
supportsAllNetworks: true,
|
|
80
|
-
smartAccountEnabledNetworks: []
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
it('should update state correctly on setRequestedCaipNetworks()', () => {
|
|
84
|
-
NetworkController.setRequestedCaipNetworks(requestedCaipNetworks, chain);
|
|
85
|
-
expect(NetworkController.state.requestedCaipNetworks).toEqual(requestedCaipNetworks);
|
|
86
|
-
});
|
|
87
|
-
it('should update state correctly on setCaipNetwork()', () => {
|
|
88
|
-
NetworkController.setActiveCaipNetwork(caipNetwork);
|
|
89
|
-
expect(ChainController.state.activeCaipNetwork).toEqual(caipNetwork);
|
|
90
|
-
});
|
|
91
|
-
it('should update state correctly on getApprovedCaipNetworkIds()', async () => {
|
|
92
|
-
await NetworkController.setApprovedCaipNetworksData(chain);
|
|
93
|
-
expect(NetworkController.state.approvedCaipNetworkIds).toEqual(approvedCaipNetworkIds);
|
|
94
|
-
});
|
|
95
|
-
it('should reset state correctly on resetNetwork()', () => {
|
|
96
|
-
NetworkController.resetNetwork();
|
|
97
|
-
expect(NetworkController.state.approvedCaipNetworkIds).toEqual(undefined);
|
|
98
|
-
expect(NetworkController.state.requestedCaipNetworks).toEqual(requestedCaipNetworks);
|
|
99
|
-
expect(NetworkController.state.smartAccountEnabledNetworks).toEqual([]);
|
|
100
|
-
});
|
|
101
|
-
it('should check correctly if smart accounts are enabled on the network', () => {
|
|
102
|
-
NetworkController.setActiveCaipNetwork(caipNetwork);
|
|
103
|
-
NetworkController.setSmartAccountEnabledNetworks([1], chain);
|
|
104
|
-
expect(NetworkController.checkIfSmartAccountEnabled()).toEqual(true);
|
|
105
|
-
NetworkController.setSmartAccountEnabledNetworks([], chain);
|
|
106
|
-
expect(NetworkController.checkIfSmartAccountEnabled()).toEqual(false);
|
|
107
|
-
NetworkController.setSmartAccountEnabledNetworks([2], chain);
|
|
108
|
-
expect(NetworkController.checkIfSmartAccountEnabled()).toEqual(false);
|
|
109
|
-
NetworkController.setActiveCaipNetwork({
|
|
110
|
-
id: 'eip155:2',
|
|
111
|
-
name: 'Ethereum',
|
|
112
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
113
|
-
chainId: 2,
|
|
114
|
-
currency: 'ETH',
|
|
115
|
-
explorerUrl: 'https://etherscan.io',
|
|
116
|
-
rpcUrl: 'https://rpc.infura.com/v1/'
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
it('should get correct active network token address', () => {
|
|
120
|
-
let mock = vi
|
|
121
|
-
.spyOn(ChainController.state, 'activeCaipNetwork', 'get')
|
|
122
|
-
.mockReturnValue(undefined);
|
|
123
|
-
expect(NetworkController.getActiveNetworkTokenAddress()).toEqual('eip155:1:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee');
|
|
124
|
-
mock.mockReturnValue(caipNetwork);
|
|
125
|
-
expect(NetworkController.getActiveNetworkTokenAddress()).toEqual('eip155:1:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee');
|
|
126
|
-
mock.mockReturnValue(solanaCaipNetwork);
|
|
127
|
-
expect(NetworkController.getActiveNetworkTokenAddress()).toEqual('solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp:So11111111111111111111111111111111111111111');
|
|
128
|
-
mock.mockClear();
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
//# sourceMappingURL=NetworkController.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkController.test.js","sourceRoot":"","sources":["../../../../tests/controllers/NetworkController.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
export { ModalController } from './src/controllers/ModalController.js';
|
|
2
|
-
export type { ModalControllerArguments, ModalControllerState } from './src/controllers/ModalController.js';
|
|
3
|
-
export { RouterController } from './src/controllers/RouterController.js';
|
|
4
|
-
export type { RouterControllerState } from './src/controllers/RouterController.js';
|
|
5
|
-
export { AccountController } from './src/controllers/AccountController.js';
|
|
6
|
-
export type { AccountControllerState } from './src/controllers/AccountController.js';
|
|
7
|
-
export { ChainController } from './src/controllers/ChainController.js';
|
|
8
|
-
export type { ChainControllerState } from './src/controllers/ChainController.js';
|
|
9
|
-
export { NetworkController } from './src/controllers/NetworkController.js';
|
|
10
|
-
export type { NetworkControllerClient, NetworkControllerState } from './src/controllers/NetworkController.js';
|
|
11
|
-
export { OnRampController } from './src/controllers/OnRampController.js';
|
|
12
|
-
export type { OnRampControllerState, OnRampProvider } from './src/controllers/OnRampController.js';
|
|
13
|
-
export { ConnectionController } from './src/controllers/ConnectionController.js';
|
|
14
|
-
export type { ConnectionControllerClient, ConnectionControllerState } from './src/controllers/ConnectionController.js';
|
|
15
|
-
export { ConnectorController } from './src/controllers/ConnectorController.js';
|
|
16
|
-
export type { ConnectorControllerState } from './src/controllers/ConnectorController.js';
|
|
17
|
-
export { SnackController } from './src/controllers/SnackController.js';
|
|
18
|
-
export type { SnackControllerState } from './src/controllers/SnackController.js';
|
|
19
|
-
export { ApiController } from './src/controllers/ApiController.js';
|
|
20
|
-
export type { ApiControllerState } from './src/controllers/ApiController.js';
|
|
21
|
-
export { AssetController } from './src/controllers/AssetController.js';
|
|
22
|
-
export type { AssetControllerState } from './src/controllers/AssetController.js';
|
|
23
|
-
export { ThemeController } from './src/controllers/ThemeController.js';
|
|
24
|
-
export type { ThemeControllerState } from './src/controllers/ThemeController.js';
|
|
25
|
-
export { OptionsController } from './src/controllers/OptionsController.js';
|
|
26
|
-
export type { OptionsControllerState } from './src/controllers/OptionsController.js';
|
|
27
|
-
export { BlockchainApiController } from './src/controllers/BlockchainApiController.js';
|
|
28
|
-
export { PublicStateController } from './src/controllers/PublicStateController.js';
|
|
29
|
-
export type { PublicStateControllerState } from './src/controllers/PublicStateController.js';
|
|
30
|
-
export { EventsController } from './src/controllers/EventsController.js';
|
|
31
|
-
export type { EventsControllerState } from './src/controllers/EventsController.js';
|
|
32
|
-
export { TransactionsController } from './src/controllers/TransactionsController.js';
|
|
33
|
-
export type { TransactionsControllerState } from './src/controllers/TransactionsController.js';
|
|
34
|
-
export { SwapController } from './src/controllers/SwapController.js';
|
|
35
|
-
export type { SwapControllerState, SwapInputTarget } from './src/controllers/SwapController.js';
|
|
36
|
-
export { SendController } from './src/controllers/SendController.js';
|
|
37
|
-
export type { SendControllerState } from './src/controllers/SendController.js';
|
|
38
|
-
export { TooltipController } from './src/controllers/TooltipController.js';
|
|
39
|
-
export type { TooltipControllerState } from './src/controllers/TooltipController.js';
|
|
40
|
-
export { EnsController } from './src/controllers/EnsController.js';
|
|
41
|
-
export type { EnsControllerState } from './src/controllers/EnsController.js';
|
|
42
|
-
export { AssetUtil } from './src/utils/AssetUtil.js';
|
|
43
|
-
export { ConstantsUtil } from './src/utils/ConstantsUtil.js';
|
|
44
|
-
export { CoreHelperUtil } from './src/utils/CoreHelperUtil.js';
|
|
45
|
-
export { StorageUtil } from './src/utils/StorageUtil.js';
|
|
46
|
-
export { RouterUtil } from './src/utils/RouterUtil.js';
|
|
47
|
-
export type * from './src/utils/TypeUtil.js';
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { type CaipNetwork, type CaipNetworkId, type ChainNamespace } from '@reown/appkit-common';
|
|
2
|
-
export interface NetworkControllerClient {
|
|
3
|
-
switchCaipNetwork: (network: NetworkControllerState['caipNetwork']) => Promise<void>;
|
|
4
|
-
getApprovedCaipNetworksData: () => Promise<{
|
|
5
|
-
approvedCaipNetworkIds: NetworkControllerState['approvedCaipNetworkIds'];
|
|
6
|
-
supportsAllNetworks: NetworkControllerState['supportsAllNetworks'];
|
|
7
|
-
}>;
|
|
8
|
-
}
|
|
9
|
-
export interface NetworkControllerState {
|
|
10
|
-
supportsAllNetworks: boolean;
|
|
11
|
-
isUnsupportedChain?: boolean;
|
|
12
|
-
_client?: NetworkControllerClient;
|
|
13
|
-
caipNetwork?: CaipNetwork;
|
|
14
|
-
requestedCaipNetworks?: CaipNetwork[];
|
|
15
|
-
approvedCaipNetworkIds?: CaipNetworkId[];
|
|
16
|
-
allowUnsupportedCaipNetwork?: boolean;
|
|
17
|
-
smartAccountEnabledNetworks?: number[];
|
|
18
|
-
}
|
|
19
|
-
export declare const NetworkController: {
|
|
20
|
-
state: NetworkControllerState;
|
|
21
|
-
replaceState(newState: NetworkControllerState | undefined): void;
|
|
22
|
-
subscribeKey<K extends keyof NetworkControllerState>(property: K, callback: (val: NetworkControllerState[K]) => void): () => void;
|
|
23
|
-
_getClient(): NetworkControllerClient;
|
|
24
|
-
setActiveCaipNetwork(caipNetwork: NetworkControllerState['caipNetwork']): void;
|
|
25
|
-
setCaipNetwork(caipNetwork: NetworkControllerState['caipNetwork']): void;
|
|
26
|
-
setRequestedCaipNetworks(requestedNetworks: NetworkControllerState['requestedCaipNetworks'], chain: ChainNamespace | undefined): void;
|
|
27
|
-
setAllowUnsupportedChain(allowUnsupportedCaipNetwork: NetworkControllerState['allowUnsupportedCaipNetwork'], chain: ChainNamespace | undefined): void;
|
|
28
|
-
setSmartAccountEnabledNetworks(smartAccountEnabledNetworks: NetworkControllerState['smartAccountEnabledNetworks'], chain: ChainNamespace | undefined): void;
|
|
29
|
-
getRequestedCaipNetworks(chainToFilter?: ChainNamespace): CaipNetwork[];
|
|
30
|
-
switchActiveNetwork(network: NetworkControllerState['caipNetwork']): Promise<void>;
|
|
31
|
-
getApprovedCaipNetworkIds(chainToFilter?: ChainNamespace): (`eip155:${string}` | `eip155:${number}` | `solana:${string}` | `solana:${number}` | `polkadot:${string}` | `polkadot:${number}`)[] | undefined;
|
|
32
|
-
setApprovedCaipNetworksData(chain: ChainNamespace | undefined): Promise<void>;
|
|
33
|
-
checkIfSupportedNetwork(): boolean;
|
|
34
|
-
checkIfSmartAccountEnabled(): boolean;
|
|
35
|
-
resetNetwork(): void;
|
|
36
|
-
getSupportsAllNetworks(): boolean | undefined;
|
|
37
|
-
showUnsupportedChainUI(): void;
|
|
38
|
-
getActiveNetworkTokenAddress(): string;
|
|
39
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|