@reown/appkit 1.7.2-rc2 → 1.7.2
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/constants.js +1 -1
- package/dist/esm/exports/constants.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/exports/constants.d.ts +1 -1
- package/dist/types/src/client/appkit-base-client.d.ts +1 -1
- package/package.json +9 -9
- package/dist/esm/tests/client/adapter-management.test.js +0 -85
- package/dist/esm/tests/client/adapter-management.test.js.map +0 -1
- package/dist/esm/tests/client/appkit-core.test.js +0 -88
- package/dist/esm/tests/client/appkit-core.test.js.map +0 -1
- package/dist/esm/tests/client/balance.test.js +0 -56
- package/dist/esm/tests/client/balance.test.js.map +0 -1
- package/dist/esm/tests/client/connection.test.js +0 -191
- package/dist/esm/tests/client/connection.test.js.map +0 -1
- package/dist/esm/tests/client/debug-mode.test.js +0 -64
- package/dist/esm/tests/client/debug-mode.test.js.map +0 -1
- package/dist/esm/tests/client/estimate-gas.test.js +0 -117
- package/dist/esm/tests/client/estimate-gas.test.js.map +0 -1
- package/dist/esm/tests/client/initialization.test.js +0 -121
- package/dist/esm/tests/client/initialization.test.js.map +0 -1
- package/dist/esm/tests/client/listeners.test.js +0 -130
- package/dist/esm/tests/client/listeners.test.js.map +0 -1
- package/dist/esm/tests/client/public-methods.test.js +0 -823
- package/dist/esm/tests/client/public-methods.test.js.map +0 -1
- package/dist/esm/tests/client/universal-adapter.test.js +0 -46
- package/dist/esm/tests/client/universal-adapter.test.js.map +0 -1
- package/dist/esm/tests/client/walletconnect-events.test.js +0 -82
- package/dist/esm/tests/client/walletconnect-events.test.js.map +0 -1
- package/dist/esm/tests/connectors/WalletConnectConnector.test.js +0 -63
- package/dist/esm/tests/connectors/WalletConnectConnector.test.js.map +0 -1
- package/dist/esm/tests/library/vue.test.js +0 -75
- package/dist/esm/tests/library/vue.test.js.map +0 -1
- package/dist/esm/tests/mocks/Account.js +0 -13
- package/dist/esm/tests/mocks/Account.js.map +0 -1
- package/dist/esm/tests/mocks/Adapter.js +0 -100
- package/dist/esm/tests/mocks/Adapter.js.map +0 -1
- package/dist/esm/tests/mocks/AppKit.js +0 -24
- package/dist/esm/tests/mocks/AppKit.js.map +0 -1
- package/dist/esm/tests/mocks/LocalStorage.js +0 -37
- package/dist/esm/tests/mocks/LocalStorage.js.map +0 -1
- package/dist/esm/tests/mocks/Networks.js +0 -17
- package/dist/esm/tests/mocks/Networks.js.map +0 -1
- package/dist/esm/tests/mocks/Options.js +0 -17
- package/dist/esm/tests/mocks/Options.js.map +0 -1
- package/dist/esm/tests/mocks/Providers.js +0 -46
- package/dist/esm/tests/mocks/Providers.js.map +0 -1
- package/dist/esm/tests/mocks/UniversalProvider.js +0 -139
- package/dist/esm/tests/mocks/UniversalProvider.js.map +0 -1
- package/dist/esm/tests/siwe.test.js +0 -261
- package/dist/esm/tests/siwe.test.js.map +0 -1
- package/dist/esm/tests/test-utils.js +0 -53
- package/dist/esm/tests/test-utils.js.map +0 -1
- package/dist/esm/tests/universal-adapter.test.js +0 -246
- package/dist/esm/tests/universal-adapter.test.js.map +0 -1
- package/dist/esm/tests/utils/HelpersUtil.test.js +0 -416
- package/dist/esm/tests/utils/HelpersUtil.test.js.map +0 -1
- package/dist/esm/tsconfig.tsbuildinfo +0 -1
- package/dist/types/tests/client/adapter-management.test.d.ts +0 -1
- package/dist/types/tests/client/appkit-core.test.d.ts +0 -1
- package/dist/types/tests/client/balance.test.d.ts +0 -1
- package/dist/types/tests/client/connection.test.d.ts +0 -1
- package/dist/types/tests/client/debug-mode.test.d.ts +0 -1
- package/dist/types/tests/client/estimate-gas.test.d.ts +0 -1
- package/dist/types/tests/client/initialization.test.d.ts +0 -1
- package/dist/types/tests/client/listeners.test.d.ts +0 -1
- package/dist/types/tests/client/public-methods.test.d.ts +0 -1
- package/dist/types/tests/client/universal-adapter.test.d.ts +0 -1
- package/dist/types/tests/client/walletconnect-events.test.d.ts +0 -1
- package/dist/types/tests/connectors/WalletConnectConnector.test.d.ts +0 -1
- package/dist/types/tests/library/vue.test.d.ts +0 -1
- package/dist/types/tests/mocks/Account.d.ts +0 -12
- package/dist/types/tests/mocks/Adapter.d.ts +0 -8
- package/dist/types/tests/mocks/AppKit.d.ts +0 -3
- package/dist/types/tests/mocks/LocalStorage.d.ts +0 -12
- package/dist/types/tests/mocks/Networks.d.ts +0 -4
- package/dist/types/tests/mocks/Options.d.ts +0 -6
- package/dist/types/tests/mocks/Providers.d.ts +0 -42
- package/dist/types/tests/mocks/UniversalProvider.d.ts +0 -3
- package/dist/types/tests/siwe.test.d.ts +0 -1
- package/dist/types/tests/test-utils.d.ts +0 -5
- package/dist/types/tests/universal-adapter.test.d.ts +0 -1
- package/dist/types/tests/utils/HelpersUtil.test.d.ts +0 -1
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { ConstantsUtil } from '@reown/appkit-common';
|
|
3
|
-
import { ChainController } from '@reown/appkit-controllers';
|
|
4
|
-
import { ProviderUtil } from '@reown/appkit-utils';
|
|
5
|
-
import { AppKitBaseClient } from '../../src/client/appkit-base-client.js';
|
|
6
|
-
import { mockEvmAdapter } from '../mocks/Adapter.js';
|
|
7
|
-
import { mainnet } from '../mocks/Networks.js';
|
|
8
|
-
import { mockOptions } from '../mocks/Options.js';
|
|
9
|
-
import { mockBlockchainApiController, mockStorageUtil, mockWindowAndDocument } from '../test-utils.js';
|
|
10
|
-
class TestAppKit extends AppKitBaseClient {
|
|
11
|
-
async injectModalUi() { }
|
|
12
|
-
async syncIdentity() { }
|
|
13
|
-
// Expose protected connectionControllerClient for testing
|
|
14
|
-
get testConnectionControllerClient() {
|
|
15
|
-
return this.connectionControllerClient;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
describe('AppKit Gas Estimation', () => {
|
|
19
|
-
let appKit;
|
|
20
|
-
beforeEach(() => {
|
|
21
|
-
vi.clearAllMocks();
|
|
22
|
-
mockWindowAndDocument();
|
|
23
|
-
mockStorageUtil();
|
|
24
|
-
mockBlockchainApiController();
|
|
25
|
-
// Mock ChainController.initialize before creating TestAppKit
|
|
26
|
-
vi.spyOn(ChainController, 'initialize').mockImplementation(() => { });
|
|
27
|
-
appKit = new TestAppKit(mockOptions);
|
|
28
|
-
});
|
|
29
|
-
it('should return estimated gas for EVM chain', async () => {
|
|
30
|
-
const mockProvider = { provider: 'mock' };
|
|
31
|
-
const mockGasEstimate = 21000n;
|
|
32
|
-
vi.spyOn(ChainController, 'state', 'get').mockReturnValue({
|
|
33
|
-
activeChain: ConstantsUtil.CHAIN.EVM,
|
|
34
|
-
activeCaipNetwork: mainnet
|
|
35
|
-
});
|
|
36
|
-
vi.spyOn(ProviderUtil, 'getProvider').mockReturnValue(mockProvider);
|
|
37
|
-
vi.spyOn(mockEvmAdapter, 'estimateGas').mockResolvedValue({ gas: mockGasEstimate });
|
|
38
|
-
const transactionArgs = {
|
|
39
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
40
|
-
address: '0x1234567890123456789012345678901234567890',
|
|
41
|
-
to: '0x1234567890123456789012345678901234567890',
|
|
42
|
-
data: '0x'
|
|
43
|
-
};
|
|
44
|
-
const result = await appKit.testConnectionControllerClient?.estimateGas(transactionArgs);
|
|
45
|
-
expect(ProviderUtil.getProvider).toHaveBeenCalledWith(ConstantsUtil.CHAIN.EVM);
|
|
46
|
-
expect(mockEvmAdapter.estimateGas).toHaveBeenCalledWith({
|
|
47
|
-
...transactionArgs,
|
|
48
|
-
provider: mockProvider,
|
|
49
|
-
caipNetwork: mainnet
|
|
50
|
-
});
|
|
51
|
-
expect(result).toBe(mockGasEstimate);
|
|
52
|
-
});
|
|
53
|
-
it('should return 0n for non-EVM chain', async () => {
|
|
54
|
-
vi.spyOn(ChainController, 'state', 'get').mockReturnValue({
|
|
55
|
-
activeChain: ConstantsUtil.CHAIN.SOLANA,
|
|
56
|
-
activeCaipNetwork: { id: '1', chainNamespace: ConstantsUtil.CHAIN.SOLANA }
|
|
57
|
-
});
|
|
58
|
-
const transactionArgs = {
|
|
59
|
-
chainNamespace: ConstantsUtil.CHAIN.SOLANA
|
|
60
|
-
};
|
|
61
|
-
const result = await appKit.testConnectionControllerClient?.estimateGas(transactionArgs);
|
|
62
|
-
expect(mockEvmAdapter.estimateGas).not.toHaveBeenCalled();
|
|
63
|
-
expect(result).toBe(0n);
|
|
64
|
-
});
|
|
65
|
-
it('should handle errors during gas estimation', async () => {
|
|
66
|
-
const mockProvider = { provider: 'mock' };
|
|
67
|
-
vi.spyOn(ChainController, 'state', 'get').mockReturnValue({
|
|
68
|
-
activeChain: ConstantsUtil.CHAIN.EVM,
|
|
69
|
-
activeCaipNetwork: mainnet
|
|
70
|
-
});
|
|
71
|
-
vi.spyOn(ProviderUtil, 'getProvider').mockReturnValue(mockProvider);
|
|
72
|
-
vi.spyOn(mockEvmAdapter, 'estimateGas').mockRejectedValue(new Error('Gas estimation failed'));
|
|
73
|
-
const transactionArgs = {
|
|
74
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
75
|
-
address: '0x1234567890123456789012345678901234567890',
|
|
76
|
-
to: '0x1234567890123456789012345678901234567890',
|
|
77
|
-
data: '0x'
|
|
78
|
-
};
|
|
79
|
-
await expect(appKit.testConnectionControllerClient?.estimateGas(transactionArgs)).rejects.toThrow('Gas estimation failed');
|
|
80
|
-
});
|
|
81
|
-
it('should throw error when CaipNetwork is undefined', async () => {
|
|
82
|
-
const mockProvider = { provider: 'mock' };
|
|
83
|
-
// Mock the getCaipNetwork method to return undefined
|
|
84
|
-
vi.spyOn(appKit, 'getCaipNetwork').mockReturnValue(undefined);
|
|
85
|
-
vi.spyOn(ChainController, 'state', 'get').mockReturnValue({
|
|
86
|
-
activeChain: ConstantsUtil.CHAIN.EVM,
|
|
87
|
-
activeCaipNetwork: undefined
|
|
88
|
-
});
|
|
89
|
-
vi.spyOn(ProviderUtil, 'getProvider').mockReturnValue(mockProvider);
|
|
90
|
-
vi.spyOn(mockEvmAdapter, 'estimateGas').mockReset();
|
|
91
|
-
const transactionArgs = {
|
|
92
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
93
|
-
address: '0x1234567890123456789012345678901234567890',
|
|
94
|
-
to: '0x1234567890123456789012345678901234567890',
|
|
95
|
-
data: '0x'
|
|
96
|
-
};
|
|
97
|
-
await expect(appKit.testConnectionControllerClient?.estimateGas(transactionArgs)).rejects.toThrow('CaipNetwork is undefined');
|
|
98
|
-
});
|
|
99
|
-
it('should handle missing adapter gracefully', async () => {
|
|
100
|
-
const mockProvider = { provider: 'mock' };
|
|
101
|
-
vi.spyOn(ChainController, 'state', 'get').mockReturnValue({
|
|
102
|
-
activeChain: ConstantsUtil.CHAIN.EVM,
|
|
103
|
-
activeCaipNetwork: mainnet
|
|
104
|
-
});
|
|
105
|
-
vi.spyOn(ProviderUtil, 'getProvider').mockReturnValue(mockProvider);
|
|
106
|
-
vi.spyOn(mockEvmAdapter, 'estimateGas').mockResolvedValue(undefined);
|
|
107
|
-
const transactionArgs = {
|
|
108
|
-
chainNamespace: ConstantsUtil.CHAIN.EVM,
|
|
109
|
-
address: '0x1234567890123456789012345678901234567890',
|
|
110
|
-
to: '0x1234567890123456789012345678901234567890',
|
|
111
|
-
data: '0x'
|
|
112
|
-
};
|
|
113
|
-
const result = await appKit.testConnectionControllerClient?.estimateGas(transactionArgs);
|
|
114
|
-
expect(result).toBe(0n);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
//# sourceMappingURL=estimate-gas.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"estimate-gas.test.js","sourceRoot":"","sources":["../../../../tests/client/estimate-gas.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import {} from '@reown/appkit-common';
|
|
3
|
-
import { AlertController, ChainController, EventsController, OptionsController, StorageUtil } from '@reown/appkit-controllers';
|
|
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.js';
|
|
9
|
-
describe('Base', () => {
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
mockWindowAndDocument();
|
|
12
|
-
mockStorageUtil();
|
|
13
|
-
mockBlockchainApiController();
|
|
14
|
-
});
|
|
15
|
-
describe('Base Initialization', () => {
|
|
16
|
-
it('should initialize controllers', async () => {
|
|
17
|
-
const sendEvent = vi.spyOn(EventsController, 'sendEvent');
|
|
18
|
-
const initialize = vi.spyOn(ChainController, 'initialize');
|
|
19
|
-
new AppKit(mockOptions);
|
|
20
|
-
const options = { ...mockOptions };
|
|
21
|
-
delete options.adapters;
|
|
22
|
-
expect(sendEvent).toHaveBeenCalled();
|
|
23
|
-
expect(sendEvent).toHaveBeenCalledWith({
|
|
24
|
-
type: 'track',
|
|
25
|
-
event: 'INITIALIZE',
|
|
26
|
-
properties: {
|
|
27
|
-
...options,
|
|
28
|
-
networks: options.networks.map((n) => n.id),
|
|
29
|
-
siweConfig: {
|
|
30
|
-
options: options.siweConfig?.options || {}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
expect(initialize).toHaveBeenCalledOnce();
|
|
35
|
-
expect(initialize).toHaveBeenCalledWith(mockOptions.adapters, [mainnet, sepolia, solana], {
|
|
36
|
-
connectionControllerClient: expect.any(Object),
|
|
37
|
-
networkControllerClient: expect.any(Object)
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
it('should set EIP6963 enabled by default', () => {
|
|
41
|
-
const setEIP6963Enabled = vi.spyOn(OptionsController, 'setEIP6963Enabled');
|
|
42
|
-
new AppKit(mockOptions);
|
|
43
|
-
expect(setEIP6963Enabled).toHaveBeenCalledWith(true);
|
|
44
|
-
});
|
|
45
|
-
it('should set EIP6963 disabled when option is disabled in config', () => {
|
|
46
|
-
const setEIP6963Enabled = vi.spyOn(OptionsController, 'setEIP6963Enabled');
|
|
47
|
-
new AppKit({
|
|
48
|
-
...mockOptions,
|
|
49
|
-
enableEIP6963: false
|
|
50
|
-
});
|
|
51
|
-
expect(setEIP6963Enabled).toHaveBeenCalledWith(false);
|
|
52
|
-
});
|
|
53
|
-
it('should set partially defaultAccountType', () => {
|
|
54
|
-
const setDefaultAccountTypes = vi.spyOn(OptionsController, 'setDefaultAccountTypes');
|
|
55
|
-
new AppKit({
|
|
56
|
-
...mockOptions,
|
|
57
|
-
defaultAccountTypes: {
|
|
58
|
-
eip155: 'eoa',
|
|
59
|
-
bip122: 'ordinal'
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
expect(setDefaultAccountTypes).toHaveBeenCalledWith({
|
|
63
|
-
eip155: 'eoa',
|
|
64
|
-
bip122: 'ordinal'
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
it('should use default network prop when defaultNetwork prop is not included in the networks array', () => {
|
|
68
|
-
vi.spyOn(StorageUtil, 'getActiveCaipNetworkId').mockReturnValueOnce(undefined);
|
|
69
|
-
const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork');
|
|
70
|
-
new AppKit({
|
|
71
|
-
...mockOptions,
|
|
72
|
-
defaultNetwork: polygon
|
|
73
|
-
});
|
|
74
|
-
expect(setActiveCaipNetwork).toHaveBeenCalledWith(mainnet);
|
|
75
|
-
});
|
|
76
|
-
it('should use default network prop when there is no network in storage', () => {
|
|
77
|
-
vi.spyOn(StorageUtil, 'getActiveCaipNetworkId').mockReturnValueOnce(undefined);
|
|
78
|
-
const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork');
|
|
79
|
-
new AppKit({
|
|
80
|
-
...mockOptions,
|
|
81
|
-
defaultNetwork: sepolia
|
|
82
|
-
});
|
|
83
|
-
expect(setActiveCaipNetwork).toHaveBeenCalledWith(sepolia);
|
|
84
|
-
});
|
|
85
|
-
it('should not use default network prop when there is a network in storage', () => {
|
|
86
|
-
vi.spyOn(StorageUtil, 'getActiveCaipNetworkId').mockReturnValueOnce(sepolia.caipNetworkId);
|
|
87
|
-
const setActiveCaipNetwork = vi.spyOn(ChainController, 'setActiveCaipNetwork');
|
|
88
|
-
new AppKit({
|
|
89
|
-
...mockOptions,
|
|
90
|
-
defaultNetwork: polygon
|
|
91
|
-
});
|
|
92
|
-
expect(setActiveCaipNetwork).toHaveBeenCalledWith(sepolia);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
describe('Alert Errors', () => {
|
|
96
|
-
it('should handle alert errors based on error messages', () => {
|
|
97
|
-
const open = vi.spyOn(AlertController, 'open');
|
|
98
|
-
const errors = [
|
|
99
|
-
{
|
|
100
|
-
alert: ErrorUtil.ALERT_ERRORS.INVALID_APP_CONFIGURATION,
|
|
101
|
-
message: 'Error: WebSocket connection closed abnormally with code: 3000 (Unauthorized: origin not allowed)'
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
alert: ErrorUtil.ALERT_ERRORS.JWT_TOKEN_NOT_VALID,
|
|
105
|
-
message: 'WebSocket connection closed abnormally with code: 3000 (JWT validation error: JWT Token is not yet valid:)'
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
alert: ErrorUtil.ALERT_ERRORS.INVALID_PROJECT_ID,
|
|
109
|
-
message: 'Uncaught Error: WebSocket connection closed abnormally with code: 3000 (Unauthorized: invalid key)'
|
|
110
|
-
}
|
|
111
|
-
];
|
|
112
|
-
const appKit = new AppKit(mockOptions);
|
|
113
|
-
for (const { alert, message } of errors) {
|
|
114
|
-
// @ts-expect-error
|
|
115
|
-
appKit.handleAlertError(new Error(message));
|
|
116
|
-
expect(open).toHaveBeenCalledWith(alert, 'error');
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
//# sourceMappingURL=initialization.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialization.test.js","sourceRoot":"","sources":["../../../../tests/client/initialization.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { AccountController, BlockchainApiController, ChainController, ConnectionController, OptionsController } from '@reown/appkit-controllers';
|
|
3
|
-
import { AppKit } from '../../src/client/appkit.js';
|
|
4
|
-
import { emitter, mockEvmAdapter, solanaEmitter } from '../mocks/Adapter';
|
|
5
|
-
import { mainnet, solana, unsupportedNetwork } from '../mocks/Networks';
|
|
6
|
-
import { mockOptions } from '../mocks/Options';
|
|
7
|
-
import { mockAuthProvider } from '../mocks/Providers.js';
|
|
8
|
-
import { mockBlockchainApiController, mockStorageUtil, mockWindowAndDocument } from '../test-utils.js';
|
|
9
|
-
describe('Listeners', () => {
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
vi.clearAllMocks();
|
|
12
|
-
emitter.clearAll();
|
|
13
|
-
solanaEmitter.clearAll();
|
|
14
|
-
mockWindowAndDocument();
|
|
15
|
-
mockStorageUtil();
|
|
16
|
-
mockBlockchainApiController();
|
|
17
|
-
});
|
|
18
|
-
it('should set caip address, profile name and profile image on accountChanged event', async () => {
|
|
19
|
-
const identity = { name: 'vitalik.eth', avatar: null };
|
|
20
|
-
const setCaipAddressSpy = vi.spyOn(AccountController, 'setCaipAddress');
|
|
21
|
-
const fetchIdentitySpy = vi
|
|
22
|
-
.spyOn(BlockchainApiController, 'fetchIdentity')
|
|
23
|
-
.mockResolvedValueOnce(identity);
|
|
24
|
-
const mockAccount = {
|
|
25
|
-
address: '0x123',
|
|
26
|
-
chainId: mainnet.id,
|
|
27
|
-
chainNamespace: mainnet.chainNamespace
|
|
28
|
-
};
|
|
29
|
-
const appKit = new AppKit(mockOptions);
|
|
30
|
-
const setProfileNameSpy = vi.spyOn(appKit, 'setProfileName').mockImplementation(() => { });
|
|
31
|
-
const setProfileImageSpy = vi.spyOn(appKit, 'setProfileImage').mockImplementation(() => { });
|
|
32
|
-
await appKit['syncAccount'](mockAccount);
|
|
33
|
-
// @ts-expect-error private event
|
|
34
|
-
mockEvmAdapter.emit('accountChanged', mockAccount);
|
|
35
|
-
expect(setCaipAddressSpy).toHaveBeenCalledWith(`${mockAccount.chainNamespace}:${mockAccount.chainId}:${mockAccount.address}`, 'eip155');
|
|
36
|
-
expect(fetchIdentitySpy).toHaveBeenCalledWith({
|
|
37
|
-
address: mockAccount.address,
|
|
38
|
-
caipNetworkId: `${mockAccount.chainNamespace}:${mockAccount.chainId}`
|
|
39
|
-
});
|
|
40
|
-
expect(setProfileNameSpy).toHaveBeenCalledWith(identity.name, 'eip155');
|
|
41
|
-
expect(setProfileImageSpy).toHaveBeenCalledWith(identity.avatar, 'eip155');
|
|
42
|
-
});
|
|
43
|
-
it('should call syncAccountInfo when namespace is different than active namespace', async () => {
|
|
44
|
-
vi.spyOn(AccountController, 'state', 'get').mockReturnValue({
|
|
45
|
-
...AccountController.state,
|
|
46
|
-
address: '0x1234'
|
|
47
|
-
});
|
|
48
|
-
const appKit = new AppKit({ ...mockOptions, defaultNetwork: solana });
|
|
49
|
-
const setCaipAddressSpy = vi.spyOn(appKit, 'setCaipAddress');
|
|
50
|
-
const mockAccount = {
|
|
51
|
-
address: '0x123',
|
|
52
|
-
chainId: mainnet.id,
|
|
53
|
-
chainNamespace: mainnet.chainNamespace
|
|
54
|
-
};
|
|
55
|
-
emitter.emit('accountChanged', mockAccount);
|
|
56
|
-
expect(setCaipAddressSpy).toHaveBeenCalledWith(`${mockAccount.chainNamespace}:${mockAccount.chainId}:${mockAccount.address}`, 'eip155');
|
|
57
|
-
});
|
|
58
|
-
it('should reset profile info if switched namespace is not EVM', async () => {
|
|
59
|
-
const appKit = new AppKit({ ...mockOptions, defaultNetwork: mainnet });
|
|
60
|
-
const setProfileNameSpy = vi.spyOn(appKit, 'setProfileName');
|
|
61
|
-
const setProfileImageSpy = vi.spyOn(appKit, 'setProfileImage');
|
|
62
|
-
const mockAccount = {
|
|
63
|
-
address: 'C3k5AvYqoXjsfrkXdFBkUhqHHApeC8amP7y85LkLHL5X',
|
|
64
|
-
chainId: solana.id,
|
|
65
|
-
chainNamespace: solana.chainNamespace
|
|
66
|
-
};
|
|
67
|
-
solanaEmitter.emit('accountChanged', mockAccount);
|
|
68
|
-
expect(setProfileNameSpy).toHaveBeenCalledWith(null, solana.chainNamespace);
|
|
69
|
-
expect(setProfileImageSpy).toHaveBeenCalledWith(null, solana.chainNamespace);
|
|
70
|
-
});
|
|
71
|
-
it('should show unsupported chain UI when network is unsupported and allowUnsupportedChain is false', async () => {
|
|
72
|
-
const showUnsupportedChainUISpy = vi.spyOn(ChainController, 'showUnsupportedChainUI');
|
|
73
|
-
const appKit = new AppKit({
|
|
74
|
-
...mockOptions,
|
|
75
|
-
allowUnsupportedChain: false,
|
|
76
|
-
features: { email: false, socials: [] }
|
|
77
|
-
});
|
|
78
|
-
ChainController.state.activeChain = mainnet.chainNamespace;
|
|
79
|
-
ChainController.state.activeCaipNetwork = unsupportedNetwork;
|
|
80
|
-
await appKit['syncAccount']({
|
|
81
|
-
address: '0x123',
|
|
82
|
-
chainId: unsupportedNetwork.id,
|
|
83
|
-
chainNamespace: unsupportedNetwork.chainNamespace
|
|
84
|
-
});
|
|
85
|
-
expect(showUnsupportedChainUISpy).toHaveBeenCalled();
|
|
86
|
-
});
|
|
87
|
-
it('should handle preferred account type switching on auth provider connect', async () => {
|
|
88
|
-
vi.spyOn(OptionsController.state, 'defaultAccountTypes', 'get').mockReturnValue({
|
|
89
|
-
...OptionsController.state.defaultAccountTypes,
|
|
90
|
-
eip155: 'smartAccount'
|
|
91
|
-
});
|
|
92
|
-
vi.spyOn(mockAuthProvider, 'onConnect').mockImplementation(cb => {
|
|
93
|
-
cb({
|
|
94
|
-
address: '0x123',
|
|
95
|
-
chainId: '1',
|
|
96
|
-
email: 'test@example.com',
|
|
97
|
-
preferredAccountType: 'eoa'
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
const setPreferredAccountTypeSpy = vi
|
|
101
|
-
.spyOn(ConnectionController, 'setPreferredAccountType')
|
|
102
|
-
.mockResolvedValue(undefined);
|
|
103
|
-
const appKit = new AppKit(mockOptions);
|
|
104
|
-
appKit['setupAuthConnectorListeners'](mockAuthProvider);
|
|
105
|
-
expect(setPreferredAccountTypeSpy).toHaveBeenCalledWith('smartAccount');
|
|
106
|
-
expect(appKit['hasSwitchedToPreferredAccountTypeOnConnect']).toBe(true);
|
|
107
|
-
});
|
|
108
|
-
it('should not switch preferred account type if types match', async () => {
|
|
109
|
-
vi.spyOn(OptionsController.state, 'defaultAccountTypes', 'get').mockReturnValue({
|
|
110
|
-
...OptionsController.state.defaultAccountTypes,
|
|
111
|
-
eip155: 'smartAccount'
|
|
112
|
-
});
|
|
113
|
-
vi.spyOn(mockAuthProvider, 'onConnect').mockImplementation(cb => {
|
|
114
|
-
cb({
|
|
115
|
-
address: '0x123',
|
|
116
|
-
chainId: '1',
|
|
117
|
-
email: 'test@example.com',
|
|
118
|
-
preferredAccountType: 'smartAccount'
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
const setPreferredAccountTypeSpy = vi
|
|
122
|
-
.spyOn(ConnectionController, 'setPreferredAccountType')
|
|
123
|
-
.mockResolvedValue(undefined);
|
|
124
|
-
const appKit = new AppKit(mockOptions);
|
|
125
|
-
appKit['setupAuthConnectorListeners'](mockAuthProvider);
|
|
126
|
-
expect(setPreferredAccountTypeSpy).not.toHaveBeenCalledWith('smartAccount');
|
|
127
|
-
expect(appKit['hasSwitchedToPreferredAccountTypeOnConnect']).toBe(true);
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
//# sourceMappingURL=listeners.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listeners.test.js","sourceRoot":"","sources":["../../../../tests/client/listeners.test.ts"],"names":[],"mappings":"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"}
|