@reown/appkit 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.
- package/dist/esm/exports/basic.js +11 -0
- package/dist/esm/exports/basic.js.map +1 -0
- package/dist/esm/exports/constants.js +1 -1
- package/dist/esm/exports/constants.js.map +1 -1
- package/dist/esm/exports/index.js +1 -3
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/react.js +1 -3
- package/dist/esm/exports/react.js.map +1 -1
- package/dist/esm/exports/vue.js +1 -3
- package/dist/esm/exports/vue.js.map +1 -1
- package/dist/esm/package.json +19 -3
- package/dist/esm/src/adapters/ChainAdapterBlueprint.js +0 -1
- package/dist/esm/src/adapters/ChainAdapterBlueprint.js.map +1 -1
- package/dist/esm/src/client/appkit-basic.js +35 -0
- package/dist/esm/src/client/appkit-basic.js.map +1 -0
- package/dist/esm/src/client/appkit.js +385 -0
- package/dist/esm/src/client/appkit.js.map +1 -0
- package/dist/esm/src/client/core.js +1348 -0
- package/dist/esm/src/client/core.js.map +1 -0
- package/dist/esm/tests/client/adapter-management.test.js +83 -0
- package/dist/esm/tests/client/adapter-management.test.js.map +1 -0
- package/dist/esm/tests/client/appkit-basic.test.js +68 -0
- package/dist/esm/tests/client/appkit-basic.test.js.map +1 -0
- package/dist/esm/tests/client/balance.test.js +54 -0
- package/dist/esm/tests/client/balance.test.js.map +1 -0
- package/dist/esm/tests/client/connection.test.js +137 -0
- package/dist/esm/tests/client/connection.test.js.map +1 -0
- package/dist/esm/tests/client/initialization.test.js +122 -0
- package/dist/esm/tests/client/initialization.test.js.map +1 -0
- package/dist/esm/tests/client/listeners.test.js +53 -0
- package/dist/esm/tests/client/listeners.test.js.map +1 -0
- package/dist/esm/tests/client/public-methods.test.js +683 -0
- package/dist/esm/tests/client/public-methods.test.js.map +1 -0
- package/dist/esm/tests/client/universal-adapter.test.js +44 -0
- package/dist/esm/tests/client/universal-adapter.test.js.map +1 -0
- package/dist/esm/tests/client/walletconnect-events.test.js +80 -0
- package/dist/esm/tests/client/walletconnect-events.test.js.map +1 -0
- package/dist/esm/tests/connectors/WalletConnectConnector.test.js +63 -0
- package/dist/esm/tests/connectors/WalletConnectConnector.test.js.map +1 -0
- package/dist/esm/tests/mocks/Account.js +13 -0
- package/dist/esm/tests/mocks/Account.js.map +1 -0
- package/dist/esm/tests/mocks/Adapter.js +95 -0
- package/dist/esm/tests/mocks/Adapter.js.map +1 -0
- package/dist/esm/tests/mocks/AppKit.js +24 -0
- package/dist/esm/tests/mocks/AppKit.js.map +1 -0
- package/dist/esm/tests/mocks/Networks.js +17 -0
- package/dist/esm/tests/mocks/Networks.js.map +1 -0
- package/dist/esm/tests/mocks/Options.js +17 -0
- package/dist/esm/tests/mocks/Options.js.map +1 -0
- package/dist/esm/tests/mocks/Providers.js +46 -0
- package/dist/esm/tests/mocks/Providers.js.map +1 -0
- package/dist/esm/tests/mocks/UniversalProvider.js +139 -0
- package/dist/esm/tests/mocks/UniversalProvider.js.map +1 -0
- package/dist/esm/tests/siwe.test.js +261 -0
- package/dist/esm/tests/siwe.test.js.map +1 -0
- package/dist/esm/tests/test-utils.js +39 -0
- package/dist/esm/tests/test-utils.js.map +1 -0
- package/dist/esm/tests/universal-adapter.test.js +246 -0
- package/dist/esm/tests/universal-adapter.test.js.map +1 -0
- package/dist/esm/tests/utils/HelpersUtil.test.js +229 -0
- package/dist/esm/tests/utils/HelpersUtil.test.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/types/exports/basic.d.ts +8 -0
- package/dist/types/exports/constants.d.ts +1 -1
- package/dist/types/exports/index.d.ts +2 -3
- package/dist/types/exports/react.d.ts +2 -3
- package/dist/types/exports/vue.d.ts +2 -3
- package/dist/types/src/adapters/ChainAdapterBlueprint.d.ts +3 -3
- package/dist/types/src/client/appkit-basic.d.ts +24 -0
- package/dist/types/src/client/appkit.d.ts +24 -0
- package/dist/types/src/client/core.d.ts +208 -0
- package/dist/types/src/library/react/index.d.ts +1 -1
- package/dist/types/src/library/vue/index.d.ts +2 -2
- package/dist/types/src/utils/TypesUtil.d.ts +5 -0
- package/dist/types/tests/client/adapter-management.test.d.ts +1 -0
- package/dist/types/tests/client/appkit-basic.test.d.ts +1 -0
- package/dist/types/tests/client/balance.test.d.ts +1 -0
- package/dist/types/tests/client/connection.test.d.ts +1 -0
- package/dist/types/tests/client/initialization.test.d.ts +1 -0
- package/dist/types/tests/client/listeners.test.d.ts +1 -0
- package/dist/types/tests/client/public-methods.test.d.ts +1 -0
- package/dist/types/tests/client/universal-adapter.test.d.ts +1 -0
- package/dist/types/tests/client/walletconnect-events.test.d.ts +1 -0
- package/dist/types/tests/connectors/WalletConnectConnector.test.d.ts +1 -0
- package/dist/types/tests/mocks/Account.d.ts +12 -0
- package/dist/types/tests/mocks/Adapter.d.ts +5 -0
- package/dist/types/tests/mocks/AppKit.d.ts +3 -0
- package/dist/types/tests/mocks/Networks.d.ts +4 -0
- package/dist/types/tests/mocks/Options.d.ts +6 -0
- package/dist/types/tests/mocks/Providers.d.ts +42 -0
- package/dist/types/tests/mocks/UniversalProvider.d.ts +3 -0
- package/dist/types/tests/siwe.test.d.ts +1 -0
- package/dist/types/tests/test-utils.d.ts +6 -0
- package/dist/types/tests/universal-adapter.test.d.ts +1 -0
- package/dist/types/tests/utils/HelpersUtil.test.d.ts +1 -0
- package/package.json +26 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/client/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { ChainController, ConnectorController } from '@reown/appkit-core';
|
|
3
|
+
import { AppKit } from '../../src/client/appkit.js';
|
|
4
|
+
import { mockBitcoinAdapter } from '../mocks/Adapter.js';
|
|
5
|
+
import { bitcoin } from '../mocks/Networks.js';
|
|
6
|
+
import { mockOptions } from '../mocks/Options.js';
|
|
7
|
+
import { mockBlockchainApiController, mockStorageUtil, mockWindowAndDocument } from '../test-utils';
|
|
8
|
+
mockWindowAndDocument();
|
|
9
|
+
mockStorageUtil();
|
|
10
|
+
mockBlockchainApiController();
|
|
11
|
+
describe('Adapter Management', () => {
|
|
12
|
+
describe('addAdapter', () => {
|
|
13
|
+
it('should add a new adapter successfully', () => {
|
|
14
|
+
const addAdapter = vi.spyOn(ChainController, 'addAdapter');
|
|
15
|
+
const appKit = new AppKit(mockOptions);
|
|
16
|
+
appKit.addAdapter(mockBitcoinAdapter, [bitcoin]);
|
|
17
|
+
expect(appKit.chainAdapters?.bip122).toBeDefined();
|
|
18
|
+
expect(appKit.chainNamespaces).toContain('bip122');
|
|
19
|
+
expect(addAdapter).toHaveBeenCalledWith(mockBitcoinAdapter, {
|
|
20
|
+
connectionControllerClient: expect.any(Object),
|
|
21
|
+
networkControllerClient: expect.any(Object)
|
|
22
|
+
}, expect.any(Array));
|
|
23
|
+
});
|
|
24
|
+
it('should not add adapter if clients are not initialized', () => {
|
|
25
|
+
const appKit = new AppKit(mockOptions);
|
|
26
|
+
appKit.connectionControllerClient = undefined;
|
|
27
|
+
appKit.networkControllerClient = undefined;
|
|
28
|
+
appKit.addAdapter(mockBitcoinAdapter, [bitcoin]);
|
|
29
|
+
expect(appKit.chainAdapters?.bip122).toBeUndefined();
|
|
30
|
+
});
|
|
31
|
+
it('should not add adapter if chainAdapters is not initialized', () => {
|
|
32
|
+
const addAdapter = vi.spyOn(ChainController, 'addAdapter');
|
|
33
|
+
const appKit = new AppKit(mockOptions);
|
|
34
|
+
const initChainAdapter = vi.spyOn(appKit, 'initChainAdapter');
|
|
35
|
+
const createAdapter = vi.spyOn(appKit, 'createAdapter');
|
|
36
|
+
appKit.chainAdapters = undefined;
|
|
37
|
+
appKit.addAdapter(mockBitcoinAdapter, [bitcoin]);
|
|
38
|
+
expect(createAdapter).not.toHaveBeenCalled();
|
|
39
|
+
expect(initChainAdapter).not.toHaveBeenCalled();
|
|
40
|
+
expect(addAdapter).not.toHaveBeenCalled();
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe('removeAdapter', () => {
|
|
44
|
+
it('should remove an existing adapter successfully', () => {
|
|
45
|
+
const removeAdapter = vi.spyOn(ChainController, 'removeAdapter');
|
|
46
|
+
const removeConnectorAdapter = vi.spyOn(ConnectorController, 'removeAdapter');
|
|
47
|
+
const appKit = new AppKit(mockOptions);
|
|
48
|
+
appKit.removeAdapter('eip155');
|
|
49
|
+
expect(appKit.chainAdapters?.eip155).toBeUndefined();
|
|
50
|
+
expect(appKit.chainNamespaces).not.toContain('eip155');
|
|
51
|
+
expect(removeAdapter).toHaveBeenCalledWith('eip155');
|
|
52
|
+
expect(removeConnectorAdapter).toHaveBeenCalledWith('eip155');
|
|
53
|
+
});
|
|
54
|
+
it('should not remove adapter if user is connected', () => {
|
|
55
|
+
const removeAdapter = vi.spyOn(ChainController, 'removeAdapter');
|
|
56
|
+
const removeConnectorAdapter = vi.spyOn(ConnectorController, 'removeAdapter');
|
|
57
|
+
vi.spyOn(ChainController.state, 'activeCaipAddress', 'get').mockReturnValue('eip155:1:0x123');
|
|
58
|
+
const appKit = new AppKit(mockOptions);
|
|
59
|
+
appKit.removeAdapter('eip155');
|
|
60
|
+
expect(appKit.chainAdapters?.eip155).toBeDefined();
|
|
61
|
+
expect(appKit.chainNamespaces).toContain('eip155');
|
|
62
|
+
expect(removeAdapter).not.toHaveBeenCalled();
|
|
63
|
+
expect(removeConnectorAdapter).not.toHaveBeenCalled();
|
|
64
|
+
vi.spyOn(ChainController.state, 'activeCaipAddress', 'get').mockClear();
|
|
65
|
+
});
|
|
66
|
+
it('should not remove adapter if adapter does not exist', () => {
|
|
67
|
+
const removeAdapter = vi.spyOn(ChainController, 'removeAdapter');
|
|
68
|
+
const removeConnectorAdapter = vi.spyOn(ConnectorController, 'removeAdapter');
|
|
69
|
+
const appKit = new AppKit(mockOptions);
|
|
70
|
+
appKit.removeAdapter('bip122');
|
|
71
|
+
expect(removeAdapter).not.toHaveBeenCalled();
|
|
72
|
+
expect(removeConnectorAdapter).not.toHaveBeenCalled();
|
|
73
|
+
});
|
|
74
|
+
it('should not remove adapter if chainAdapters is not initialized', () => {
|
|
75
|
+
const appKit = new AppKit(mockOptions);
|
|
76
|
+
appKit.chainAdapters = undefined;
|
|
77
|
+
appKit.removeAdapter('eip155');
|
|
78
|
+
expect(ChainController.removeAdapter).not.toHaveBeenCalled();
|
|
79
|
+
expect(ConnectorController.removeAdapter).not.toHaveBeenCalled();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=adapter-management.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-management.test.js","sourceRoot":"","sources":["../../../../tests/client/adapter-management.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { AccountController, ApiController, ConnectionController, ModalController } from '@reown/appkit-core';
|
|
3
|
+
import { AppKit } from '../../src/client/appkit-basic';
|
|
4
|
+
import { mockOptions } from '../mocks/Options';
|
|
5
|
+
import { mockBlockchainApiController, mockStorageUtil, mockWindowAndDocument } from '../test-utils';
|
|
6
|
+
mockWindowAndDocument();
|
|
7
|
+
mockStorageUtil();
|
|
8
|
+
mockBlockchainApiController();
|
|
9
|
+
describe('AppKitBasic', () => {
|
|
10
|
+
let appKit;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
appKit = new AppKit(mockOptions);
|
|
13
|
+
});
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
vi.clearAllMocks();
|
|
16
|
+
});
|
|
17
|
+
it('should have valid default state', () => {
|
|
18
|
+
expect(appKit.activeAdapter).toBeUndefined();
|
|
19
|
+
expect(appKit.adapters).toBeUndefined();
|
|
20
|
+
expect(appKit.activeChainNamespace).toBeUndefined();
|
|
21
|
+
expect(appKit.adapter).toBeUndefined();
|
|
22
|
+
});
|
|
23
|
+
describe('open', () => {
|
|
24
|
+
beforeEach(() => {
|
|
25
|
+
vi.spyOn(AccountController, 'state', 'get').mockReturnValue({
|
|
26
|
+
caipAddress: undefined
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
it('should open modal when not connected', async () => {
|
|
30
|
+
const modalSpy = vi.spyOn(ModalController, 'open');
|
|
31
|
+
await appKit.open({ view: 'Connect' });
|
|
32
|
+
expect(modalSpy).toHaveBeenCalledWith({ view: 'Connect' });
|
|
33
|
+
});
|
|
34
|
+
it('should not open modal when connected', async () => {
|
|
35
|
+
vi.spyOn(AccountController, 'state', 'get').mockReturnValue({
|
|
36
|
+
caipAddress: 'eip155:1:0x123'
|
|
37
|
+
});
|
|
38
|
+
const modalSpy = vi.spyOn(ModalController, 'open');
|
|
39
|
+
await appKit.open({ view: 'Connect' });
|
|
40
|
+
expect(modalSpy).not.toHaveBeenCalled();
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe('close', () => {
|
|
44
|
+
it('should call finalizeWcConnection when manualWCControl is true', async () => {
|
|
45
|
+
vi.spyOn(ConnectionController, 'finalizeWcConnection');
|
|
46
|
+
const appKit = new AppKit({ ...mockOptions, manualWCControl: true });
|
|
47
|
+
await appKit.close();
|
|
48
|
+
expect(ConnectionController.finalizeWcConnection).toHaveBeenCalled();
|
|
49
|
+
});
|
|
50
|
+
it('should not call finalizeWcConnection when manualWCControl is false', async () => {
|
|
51
|
+
vi.spyOn(ConnectionController, 'finalizeWcConnection');
|
|
52
|
+
const appKit = new AppKit({ ...mockOptions, manualWCControl: false });
|
|
53
|
+
await appKit.close();
|
|
54
|
+
expect(ConnectionController.finalizeWcConnection).not.toHaveBeenCalled();
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
describe('initialize', () => {
|
|
58
|
+
it('should not initialize excluded wallet rdns if basic is true', () => {
|
|
59
|
+
vi.spyOn(ApiController, 'initializeExcludedWalletRdns');
|
|
60
|
+
new AppKit({
|
|
61
|
+
...mockOptions,
|
|
62
|
+
excludeWalletIds: ['eoa', 'ordinal']
|
|
63
|
+
});
|
|
64
|
+
expect(ApiController.initializeExcludedWalletRdns).not.toHaveBeenCalled();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=appkit-basic.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appkit-basic.test.js","sourceRoot":"","sources":["../../../../tests/client/appkit-basic.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { NetworkUtil } from '@reown/appkit-common';
|
|
3
|
+
import { AccountController } from '@reown/appkit-core';
|
|
4
|
+
import { AppKit } from '../../src/client/appkit.js';
|
|
5
|
+
import { mockEvmAdapter } from '../mocks/Adapter.js';
|
|
6
|
+
import { base, mainnet, sepolia } from '../mocks/Networks.js';
|
|
7
|
+
import { mockOptions } from '../mocks/Options.js';
|
|
8
|
+
import { mockBlockchainApiController, mockStorageUtil, mockWindowAndDocument } from '../test-utils.js';
|
|
9
|
+
mockWindowAndDocument();
|
|
10
|
+
mockStorageUtil();
|
|
11
|
+
mockBlockchainApiController();
|
|
12
|
+
describe('Balance sync', () => {
|
|
13
|
+
it.sequential('should not sync balance if theres no matching caipNetwork', async () => {
|
|
14
|
+
const getNetworksByNamespaceSpy = vi.spyOn(NetworkUtil, 'getNetworksByNamespace');
|
|
15
|
+
const setBalanceSpy = vi.spyOn(AccountController, 'setBalance');
|
|
16
|
+
const appKit = new AppKit(mockOptions);
|
|
17
|
+
await appKit['syncBalance']({
|
|
18
|
+
address: '0x123',
|
|
19
|
+
chainId: base.id,
|
|
20
|
+
chainNamespace: base.chainNamespace
|
|
21
|
+
});
|
|
22
|
+
expect(getNetworksByNamespaceSpy).toHaveBeenCalled();
|
|
23
|
+
expect(mockEvmAdapter.getBalance).not.toHaveBeenCalled();
|
|
24
|
+
expect(setBalanceSpy).not.toHaveBeenCalled();
|
|
25
|
+
});
|
|
26
|
+
it.sequential('should fetch native balance on testnet', async () => {
|
|
27
|
+
const getNetworksByNamespaceSpy = vi.spyOn(NetworkUtil, 'getNetworksByNamespace');
|
|
28
|
+
const setBalanceSpy = vi.spyOn(AccountController, 'setBalance');
|
|
29
|
+
const mockAccount = {
|
|
30
|
+
address: '0x123',
|
|
31
|
+
chainId: sepolia.id,
|
|
32
|
+
chainNamespace: sepolia.chainNamespace
|
|
33
|
+
};
|
|
34
|
+
const appKit = new AppKit({ ...mockOptions, networks: [sepolia] });
|
|
35
|
+
await appKit['syncAccount'](mockAccount);
|
|
36
|
+
expect(getNetworksByNamespaceSpy).toHaveBeenCalled();
|
|
37
|
+
expect(mockEvmAdapter.getBalance).toHaveBeenCalled();
|
|
38
|
+
expect(setBalanceSpy).toHaveBeenCalledWith('1.00', 'ETH', sepolia.chainNamespace);
|
|
39
|
+
});
|
|
40
|
+
it.sequential('should set the correct native token balance', async () => {
|
|
41
|
+
const getNetworksByNamespaceSpy = vi.spyOn(NetworkUtil, 'getNetworksByNamespace');
|
|
42
|
+
const setBalanceSpy = vi.spyOn(AccountController, 'setBalance');
|
|
43
|
+
const appKit = new AppKit(mockOptions);
|
|
44
|
+
await appKit['syncBalance']({
|
|
45
|
+
address: '0x123',
|
|
46
|
+
chainId: mainnet.id,
|
|
47
|
+
chainNamespace: mainnet.chainNamespace
|
|
48
|
+
});
|
|
49
|
+
expect(getNetworksByNamespaceSpy).toHaveBeenCalled();
|
|
50
|
+
expect(mockEvmAdapter.getBalance).toHaveBeenCalled();
|
|
51
|
+
expect(setBalanceSpy).toHaveBeenCalledWith('1.00', 'ETH', 'eip155');
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=balance.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.test.js","sourceRoot":"","sources":["../../../../tests/client/balance.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { AccountController, StorageUtil } from '@reown/appkit-core';
|
|
3
|
+
import { ConstantsUtil as UtilConstantsUtil } from '@reown/appkit-utils';
|
|
4
|
+
import { AppKit } from '../../src/client/appkit.js';
|
|
5
|
+
import { ProviderUtil } from '../../src/store';
|
|
6
|
+
import { mockEvmAdapter, mockSolanaAdapter } from '../mocks/Adapter.js';
|
|
7
|
+
import { mainnet, sepolia } from '../mocks/Networks.js';
|
|
8
|
+
import { mockOptions } from '../mocks/Options.js';
|
|
9
|
+
import { mockBlockchainApiController, mockStorageUtil, mockWindowAndDocument } from '../test-utils.js';
|
|
10
|
+
mockWindowAndDocument();
|
|
11
|
+
mockStorageUtil();
|
|
12
|
+
mockBlockchainApiController();
|
|
13
|
+
describe('syncExistingConnection', () => {
|
|
14
|
+
it('should set status to "connecting" and sync the connection when a connector and namespace are present', async () => {
|
|
15
|
+
const setStatus = vi.spyOn(AccountController, 'setStatus');
|
|
16
|
+
vi.spyOn(StorageUtil, 'getConnectedConnectorId').mockReturnValue('evm-connector');
|
|
17
|
+
vi.spyOn(StorageUtil, 'getConnectionStatus').mockReturnValue('connected');
|
|
18
|
+
const appKit = new AppKit({
|
|
19
|
+
...mockOptions,
|
|
20
|
+
adapters: [mockEvmAdapter],
|
|
21
|
+
networks: [mainnet, sepolia]
|
|
22
|
+
});
|
|
23
|
+
await appKit['syncExistingConnection']();
|
|
24
|
+
expect(setStatus).toHaveBeenCalledWith('connecting', 'eip155');
|
|
25
|
+
expect(setStatus).toHaveBeenCalledWith('connected', 'eip155');
|
|
26
|
+
vi.spyOn(StorageUtil, 'getConnectedConnectorId').mockReturnValue(undefined);
|
|
27
|
+
vi.spyOn(StorageUtil, 'getConnectionStatus').mockReturnValue('connected');
|
|
28
|
+
await appKit['syncExistingConnection']();
|
|
29
|
+
expect(setStatus).toHaveBeenCalledWith('connecting', 'eip155');
|
|
30
|
+
expect(setStatus).toHaveBeenCalledWith('disconnected', 'eip155');
|
|
31
|
+
vi.spyOn(StorageUtil, 'getConnectedConnectorId').mockClear();
|
|
32
|
+
vi.spyOn(StorageUtil, 'getConnectionStatus').mockClear();
|
|
33
|
+
});
|
|
34
|
+
it('should reconnect to multiple namespaces if previously connected', async () => {
|
|
35
|
+
const setConnectedConnectorId = vi.spyOn(StorageUtil, 'setConnectedConnectorId');
|
|
36
|
+
// const setProviderId = vi.spyOn(ProviderUtil, 'setProviderId').mockImplementation(() => {})
|
|
37
|
+
vi.spyOn(StorageUtil, 'getConnectedConnectorId').mockReturnValue('universal-connector');
|
|
38
|
+
const appKit = new AppKit(mockOptions);
|
|
39
|
+
await appKit['syncExistingConnection']();
|
|
40
|
+
expect(mockEvmAdapter.syncConnection).toHaveBeenCalled();
|
|
41
|
+
expect(mockSolanaAdapter.syncConnection).toHaveBeenCalled();
|
|
42
|
+
expect(mockEvmAdapter.getAccounts).toHaveBeenCalled();
|
|
43
|
+
expect(mockSolanaAdapter.getAccounts).toHaveBeenCalled();
|
|
44
|
+
// NOTE: Even though setConnectedConnectorId is getting called in the same function (syncProvider),
|
|
45
|
+
// it's getting detected as not called by the test runner.
|
|
46
|
+
// expect(setProviderId).toHaveBeenCalledWith('eip155', 'EXTERNAL')
|
|
47
|
+
// expect(setProviderId).toHaveBeenCalledWith('solana', 'EXTERNAL')
|
|
48
|
+
expect(setConnectedConnectorId).toHaveBeenCalledWith('eip155', 'evm-connector');
|
|
49
|
+
expect(setConnectedConnectorId).toHaveBeenCalledWith('solana', 'solana-connector');
|
|
50
|
+
vi.spyOn(StorageUtil, 'getConnectedConnectorId').mockClear();
|
|
51
|
+
vi.spyOn(StorageUtil, 'getConnectionStatus').mockClear();
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
describe('syncConnectedWalletInfo', () => {
|
|
55
|
+
let appKit;
|
|
56
|
+
let setConnectedWalletInfoSpy;
|
|
57
|
+
beforeEach(() => {
|
|
58
|
+
vi.spyOn(StorageUtil, 'getConnectedConnectorId').mockReturnValue('mock-connector-id');
|
|
59
|
+
appKit = new AppKit(mockOptions);
|
|
60
|
+
setConnectedWalletInfoSpy = vi.spyOn(appKit, 'setConnectedWalletInfo');
|
|
61
|
+
vi.clearAllMocks();
|
|
62
|
+
});
|
|
63
|
+
it.each([
|
|
64
|
+
UtilConstantsUtil.CONNECTOR_TYPE_ANNOUNCED,
|
|
65
|
+
UtilConstantsUtil.CONNECTOR_TYPE_INJECTED
|
|
66
|
+
])('should sync the connected wallet info for type $s', async (type) => {
|
|
67
|
+
vi.spyOn(ProviderUtil, 'getProviderId').mockReturnValue(type);
|
|
68
|
+
vi.spyOn(appKit, 'getConnectors').mockReturnValue([
|
|
69
|
+
{
|
|
70
|
+
id: 'mock-connector-id',
|
|
71
|
+
name: 'mock-connector-name',
|
|
72
|
+
chain: 'eip155',
|
|
73
|
+
type,
|
|
74
|
+
imageUrl: 'mock-connector-icon'
|
|
75
|
+
}
|
|
76
|
+
]);
|
|
77
|
+
appKit['syncConnectedWalletInfo']('eip155');
|
|
78
|
+
expect(setConnectedWalletInfoSpy).toHaveBeenCalledWith({
|
|
79
|
+
name: 'mock-connector-name',
|
|
80
|
+
icon: 'mock-connector-icon'
|
|
81
|
+
}, 'eip155');
|
|
82
|
+
});
|
|
83
|
+
it(`should sync connected wallet info for ${UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT}`, async () => {
|
|
84
|
+
vi.spyOn(ProviderUtil, 'getProviderId').mockReturnValue(UtilConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT);
|
|
85
|
+
vi.spyOn(ProviderUtil, 'getProvider').mockReturnValue({
|
|
86
|
+
session: {
|
|
87
|
+
peer: {
|
|
88
|
+
metadata: {
|
|
89
|
+
name: 'mock-connector-name',
|
|
90
|
+
icons: ['mock-connector-icon']
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
appKit['syncConnectedWalletInfo']('eip155');
|
|
96
|
+
expect(setConnectedWalletInfoSpy).toHaveBeenCalledWith({
|
|
97
|
+
name: 'mock-connector-name',
|
|
98
|
+
icon: 'mock-connector-icon',
|
|
99
|
+
icons: ['mock-connector-icon']
|
|
100
|
+
}, 'eip155');
|
|
101
|
+
});
|
|
102
|
+
it(`should sync connected wallet info for ${UtilConstantsUtil.CONNECTOR_TYPE_W3M_AUTH} as email`, async () => {
|
|
103
|
+
vi.spyOn(ProviderUtil, 'getProviderId').mockReturnValueOnce(UtilConstantsUtil.CONNECTOR_TYPE_AUTH);
|
|
104
|
+
appKit['authProvider'] = {
|
|
105
|
+
getUsername: () => 'mock-username',
|
|
106
|
+
getEmail: () => 'mock-email'
|
|
107
|
+
};
|
|
108
|
+
appKit['syncConnectedWalletInfo']('eip155');
|
|
109
|
+
expect(setConnectedWalletInfoSpy).toHaveBeenCalledWith({
|
|
110
|
+
name: UtilConstantsUtil.CONNECTOR_TYPE_AUTH,
|
|
111
|
+
identifier: 'mock-email',
|
|
112
|
+
social: 'email'
|
|
113
|
+
}, 'eip155');
|
|
114
|
+
});
|
|
115
|
+
it(`should sync connected wallet info for ${UtilConstantsUtil.CONNECTOR_TYPE_W3M_AUTH} as social`, async () => {
|
|
116
|
+
vi.spyOn(ProviderUtil, 'getProviderId').mockReturnValueOnce(UtilConstantsUtil.CONNECTOR_TYPE_AUTH);
|
|
117
|
+
appKit['authProvider'] = {
|
|
118
|
+
getUsername: () => 'mock-username',
|
|
119
|
+
getEmail: () => null
|
|
120
|
+
};
|
|
121
|
+
vi.spyOn(StorageUtil, 'getConnectedSocialProvider').mockReturnValueOnce('mock-social');
|
|
122
|
+
appKit['syncConnectedWalletInfo']('eip155');
|
|
123
|
+
expect(setConnectedWalletInfoSpy).toHaveBeenCalledWith({
|
|
124
|
+
name: UtilConstantsUtil.CONNECTOR_TYPE_AUTH,
|
|
125
|
+
identifier: 'mock-username',
|
|
126
|
+
social: 'mock-social'
|
|
127
|
+
}, 'eip155');
|
|
128
|
+
});
|
|
129
|
+
it('should sync connected wallet info for any other provider type', async () => {
|
|
130
|
+
vi.spyOn(ProviderUtil, 'getProviderId').mockReturnValue('mock-provider-id');
|
|
131
|
+
appKit['syncConnectedWalletInfo']('eip155');
|
|
132
|
+
expect(setConnectedWalletInfoSpy).toHaveBeenCalledWith({
|
|
133
|
+
name: 'mock-connector-id'
|
|
134
|
+
}, 'eip155');
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
//# sourceMappingURL=connection.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../../../tests/client/connection.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import {} from '@reown/appkit-common';
|
|
3
|
+
import { AlertController, ChainController, EventsController, OptionsController, StorageUtil } from '@reown/appkit-core';
|
|
4
|
+
import { ErrorUtil } from '@reown/appkit-utils';
|
|
5
|
+
import { AppKit } from '../../src/client/appkit.js';
|
|
6
|
+
import { mainnet, polygon, sepolia, solana } from '../mocks/Networks';
|
|
7
|
+
import { mockOptions } from '../mocks/Options';
|
|
8
|
+
import { mockBlockchainApiController, mockStorageUtil, mockWindowAndDocument } from '../test-utils';
|
|
9
|
+
mockWindowAndDocument();
|
|
10
|
+
mockStorageUtil();
|
|
11
|
+
mockBlockchainApiController();
|
|
12
|
+
describe('Base', () => {
|
|
13
|
+
afterEach(() => {
|
|
14
|
+
vi.clearAllMocks();
|
|
15
|
+
});
|
|
16
|
+
describe('Base Initialization', () => {
|
|
17
|
+
it('should initialize controllers', async () => {
|
|
18
|
+
const sendEvent = vi.spyOn(EventsController, 'sendEvent');
|
|
19
|
+
const initialize = vi.spyOn(ChainController, 'initialize');
|
|
20
|
+
new AppKit(mockOptions);
|
|
21
|
+
const options = { ...mockOptions };
|
|
22
|
+
delete options.adapters;
|
|
23
|
+
expect(sendEvent).toHaveBeenCalled();
|
|
24
|
+
expect(sendEvent).toHaveBeenCalledWith({
|
|
25
|
+
type: 'track',
|
|
26
|
+
event: 'INITIALIZE',
|
|
27
|
+
properties: {
|
|
28
|
+
...options,
|
|
29
|
+
networks: options.networks.map((n) => n.id),
|
|
30
|
+
siweConfig: {
|
|
31
|
+
options: options.siweConfig?.options || {}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
expect(initialize).toHaveBeenCalledOnce();
|
|
36
|
+
expect(initialize).toHaveBeenCalledWith(mockOptions.adapters, [mainnet, sepolia, solana], {
|
|
37
|
+
connectionControllerClient: expect.any(Object),
|
|
38
|
+
networkControllerClient: expect.any(Object)
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
it('should set EIP6963 enabled by default', () => {
|
|
42
|
+
const setEIP6963Enabled = vi.spyOn(OptionsController, 'setEIP6963Enabled');
|
|
43
|
+
new AppKit(mockOptions);
|
|
44
|
+
expect(setEIP6963Enabled).toHaveBeenCalledWith(true);
|
|
45
|
+
});
|
|
46
|
+
it('should set EIP6963 disabled when option is disabled in config', () => {
|
|
47
|
+
const setEIP6963Enabled = vi.spyOn(OptionsController, 'setEIP6963Enabled');
|
|
48
|
+
new AppKit({
|
|
49
|
+
...mockOptions,
|
|
50
|
+
enableEIP6963: false
|
|
51
|
+
});
|
|
52
|
+
expect(setEIP6963Enabled).toHaveBeenCalledWith(false);
|
|
53
|
+
});
|
|
54
|
+
it('should set partially defaultAccountType', () => {
|
|
55
|
+
const setDefaultAccountTypes = vi.spyOn(OptionsController, 'setDefaultAccountTypes');
|
|
56
|
+
new AppKit({
|
|
57
|
+
...mockOptions,
|
|
58
|
+
defaultAccountTypes: {
|
|
59
|
+
eip155: 'eoa',
|
|
60
|
+
bip122: 'ordinal'
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
expect(setDefaultAccountTypes).toHaveBeenCalledWith({
|
|
64
|
+
eip155: 'eoa',
|
|
65
|
+
bip122: 'ordinal'
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
it('should use default network prop when defaultNetwork prop is not included in the networks array', () => {
|
|
69
|
+
vi.spyOn(StorageUtil, 'getActiveCaipNetworkId').mockReturnValueOnce(undefined);
|
|
70
|
+
const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork');
|
|
71
|
+
new AppKit({
|
|
72
|
+
...mockOptions,
|
|
73
|
+
defaultNetwork: polygon
|
|
74
|
+
});
|
|
75
|
+
expect(setActiveCaipNetwork).toHaveBeenCalledWith(mainnet);
|
|
76
|
+
});
|
|
77
|
+
it('should use default network prop when there is no network in storage', () => {
|
|
78
|
+
vi.spyOn(StorageUtil, 'getActiveCaipNetworkId').mockReturnValueOnce(undefined);
|
|
79
|
+
const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork');
|
|
80
|
+
new AppKit({
|
|
81
|
+
...mockOptions,
|
|
82
|
+
defaultNetwork: sepolia
|
|
83
|
+
});
|
|
84
|
+
expect(setActiveCaipNetwork).toHaveBeenCalledWith(sepolia);
|
|
85
|
+
});
|
|
86
|
+
it('should not use default network prop when there is a network in storage', () => {
|
|
87
|
+
vi.spyOn(StorageUtil, 'getActiveCaipNetworkId').mockReturnValueOnce(sepolia.caipNetworkId);
|
|
88
|
+
const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork');
|
|
89
|
+
new AppKit({
|
|
90
|
+
...mockOptions,
|
|
91
|
+
defaultNetwork: polygon
|
|
92
|
+
});
|
|
93
|
+
expect(setActiveCaipNetwork).toHaveBeenCalledWith(sepolia);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
describe('Alert Errors', () => {
|
|
97
|
+
it('should handle alert errors based on error messages', () => {
|
|
98
|
+
const open = vi.spyOn(AlertController, 'open');
|
|
99
|
+
const errors = [
|
|
100
|
+
{
|
|
101
|
+
alert: ErrorUtil.ALERT_ERRORS.INVALID_APP_CONFIGURATION,
|
|
102
|
+
message: 'Error: WebSocket connection closed abnormally with code: 3000 (Unauthorized: origin not allowed)'
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
alert: ErrorUtil.ALERT_ERRORS.JWT_TOKEN_NOT_VALID,
|
|
106
|
+
message: 'WebSocket connection closed abnormally with code: 3000 (JWT validation error: JWT Token is not yet valid:)'
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
alert: ErrorUtil.ALERT_ERRORS.INVALID_PROJECT_ID,
|
|
110
|
+
message: 'Uncaught Error: WebSocket connection closed abnormally with code: 3000 (Unauthorized: invalid key)'
|
|
111
|
+
}
|
|
112
|
+
];
|
|
113
|
+
const appKit = new AppKit(mockOptions);
|
|
114
|
+
for (const { alert, message } of errors) {
|
|
115
|
+
// @ts-expect-error
|
|
116
|
+
appKit.handleAlertError(new Error(message));
|
|
117
|
+
expect(open).toHaveBeenCalledWith(alert, 'error');
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=initialization.test.js.map
|