@reown/appkit-adapter-wagmi 1.6.7-basic-test.8.0 → 1.6.7
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/client.js +0 -1
- package/dist/esm/src/client.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -9
- package/dist/esm/src/tests/LimitUtil.test.js +0 -25
- package/dist/esm/src/tests/LimitUtil.test.js.map +0 -1
- package/dist/esm/src/tests/UniversalConnector.test.js +0 -124
- package/dist/esm/src/tests/UniversalConnector.test.js.map +0 -1
- package/dist/esm/src/tests/client.test.js +0 -631
- package/dist/esm/src/tests/client.test.js.map +0 -1
- package/dist/esm/src/tests/mocks/AppKit.js +0 -115
- package/dist/esm/src/tests/mocks/AppKit.js.map +0 -1
- package/dist/esm/src/tests/mocks/adapter.mock.js +0 -2
- package/dist/esm/src/tests/mocks/adapter.mock.js.map +0 -1
- package/dist/esm/tsconfig.tsbuildinfo +0 -1
- package/dist/types/src/tests/LimitUtil.test.d.ts +0 -1
- package/dist/types/src/tests/UniversalConnector.test.d.ts +0 -1
- package/dist/types/src/tests/client.test.d.ts +0 -1
- package/dist/types/src/tests/mocks/adapter.mock.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-adapter-wagmi",
|
|
3
|
-
"version": "1.6.7
|
|
4
|
-
"sideEffects": false,
|
|
3
|
+
"version": "1.6.7",
|
|
5
4
|
"type": "module",
|
|
6
5
|
"main": "./dist/esm/src/index.js",
|
|
7
6
|
"types": "./dist/types/src/index.d.ts",
|
|
@@ -10,15 +9,17 @@
|
|
|
10
9
|
"!tsconfig.tsbuildinfo"
|
|
11
10
|
],
|
|
12
11
|
"dependencies": {
|
|
12
|
+
"@walletconnect/utils": "2.18.0",
|
|
13
13
|
"@walletconnect/universal-provider": "2.18.0",
|
|
14
14
|
"valtio": "1.13.2",
|
|
15
|
-
"@reown/appkit": "1.6.7
|
|
16
|
-
"@reown/appkit-common": "1.6.7
|
|
17
|
-
"@reown/appkit-core": "1.6.7
|
|
18
|
-
"@reown/appkit-polyfills": "1.6.7
|
|
19
|
-
"@reown/appkit-scaffold-ui": "1.6.7
|
|
20
|
-
"@reown/appkit-utils": "1.6.7
|
|
21
|
-
"@reown/appkit-
|
|
15
|
+
"@reown/appkit": "1.6.7",
|
|
16
|
+
"@reown/appkit-common": "1.6.7",
|
|
17
|
+
"@reown/appkit-core": "1.6.7",
|
|
18
|
+
"@reown/appkit-polyfills": "1.6.7",
|
|
19
|
+
"@reown/appkit-scaffold-ui": "1.6.7",
|
|
20
|
+
"@reown/appkit-utils": "1.6.7",
|
|
21
|
+
"@reown/appkit-ui": "1.6.7",
|
|
22
|
+
"@reown/appkit-wallet": "1.6.7"
|
|
22
23
|
},
|
|
23
24
|
"optionalDependencies": {
|
|
24
25
|
"@wagmi/connectors": ">=5.7"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { LimitterUtil } from '../utils/LimitterUtil';
|
|
3
|
-
describe('LimitterUtil', () => {
|
|
4
|
-
it('should have valid default state', () => {
|
|
5
|
-
expect(LimitterUtil.state).toEqual({
|
|
6
|
-
pendingTransactions: 0
|
|
7
|
-
});
|
|
8
|
-
});
|
|
9
|
-
it('should increase state limit', () => {
|
|
10
|
-
LimitterUtil.increase('pendingTransactions');
|
|
11
|
-
expect(LimitterUtil.state.pendingTransactions).toBe(1);
|
|
12
|
-
});
|
|
13
|
-
it('should decrease state limit', () => {
|
|
14
|
-
expect(LimitterUtil.state.pendingTransactions).toBe(1);
|
|
15
|
-
LimitterUtil.decrease('pendingTransactions');
|
|
16
|
-
expect(LimitterUtil.state.pendingTransactions).toBe(0);
|
|
17
|
-
});
|
|
18
|
-
it('should reset state limit', () => {
|
|
19
|
-
LimitterUtil.increase('pendingTransactions');
|
|
20
|
-
expect(LimitterUtil.state.pendingTransactions).toEqual(1);
|
|
21
|
-
LimitterUtil.reset('pendingTransactions');
|
|
22
|
-
expect(LimitterUtil.state.pendingTransactions).toEqual(0);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=LimitUtil.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LimitUtil.test.js","sourceRoot":"","sources":["../../../../src/tests/LimitUtil.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACjC,mBAAmB,EAAE,CAAC;SACvB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAA;QAC5C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtD,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAA;QAC5C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAA;QAC5C,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACzD,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACzC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { getAddress } from 'viem';
|
|
2
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
3
|
-
import { mainnet } from '@reown/appkit/networks';
|
|
4
|
-
import { walletConnect } from '../connectors/UniversalConnector';
|
|
5
|
-
import { mockAddress, mockAppKit, mockCaipAddress, mockCaipNetworks, mockProvider, mockSession } from './mocks/AppKit';
|
|
6
|
-
vi.mock('@reown/appkit-core', async (importOriginal) => {
|
|
7
|
-
const actual = await importOriginal();
|
|
8
|
-
return {
|
|
9
|
-
...actual,
|
|
10
|
-
StorageUtil: {
|
|
11
|
-
getActiveNamespace: vi.fn(),
|
|
12
|
-
getStoredActiveCaipNetworkId: vi.fn()
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
});
|
|
16
|
-
const mockStorage = {
|
|
17
|
-
getItem: vi.fn(),
|
|
18
|
-
setItem: vi.fn()
|
|
19
|
-
};
|
|
20
|
-
const mockEmitter = {
|
|
21
|
-
emit: vi.fn(),
|
|
22
|
-
on: vi.fn(),
|
|
23
|
-
removeListener: vi.fn()
|
|
24
|
-
};
|
|
25
|
-
describe('UniversalConnector', () => {
|
|
26
|
-
let connectorInstance;
|
|
27
|
-
beforeEach(() => {
|
|
28
|
-
const createConnector = walletConnect({
|
|
29
|
-
isNewChainsStale: false
|
|
30
|
-
}, mockAppKit, mockCaipNetworks);
|
|
31
|
-
connectorInstance = createConnector({
|
|
32
|
-
chains: mockCaipNetworks,
|
|
33
|
-
options: {},
|
|
34
|
-
storage: mockStorage,
|
|
35
|
-
emitter: mockEmitter
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
afterEach(() => {
|
|
39
|
-
vi.clearAllMocks();
|
|
40
|
-
});
|
|
41
|
-
describe('connect', () => {
|
|
42
|
-
it('should connect successfully', async () => {
|
|
43
|
-
const expectedChainId = mainnet.id;
|
|
44
|
-
mockProvider.enable.mockResolvedValue([mockAddress]);
|
|
45
|
-
const result = await connectorInstance.connect();
|
|
46
|
-
expect(result).toEqual({
|
|
47
|
-
accounts: [getAddress(mockAddress)],
|
|
48
|
-
chainId: expectedChainId
|
|
49
|
-
});
|
|
50
|
-
expect(mockProvider.on).toHaveBeenCalled();
|
|
51
|
-
expect(mockProvider.session.namespaces.eip155.accounts).toEqual([mockCaipAddress]);
|
|
52
|
-
});
|
|
53
|
-
it('should handle user rejection', async () => {
|
|
54
|
-
mockProvider.enable.mockRejectedValue(new Error('user rejected'));
|
|
55
|
-
await expect(connectorInstance.connect()).rejects.toThrow('User rejected the request.');
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('getAccounts', () => {
|
|
59
|
-
it('should return accounts from provider session', async () => {
|
|
60
|
-
mockProvider.enable.mockResolvedValue([mockAddress]);
|
|
61
|
-
await connectorInstance.connect();
|
|
62
|
-
const accounts = await connectorInstance.getAccounts();
|
|
63
|
-
expect(accounts).toEqual([mockAddress]);
|
|
64
|
-
});
|
|
65
|
-
it('should return empty array when no session exists', async () => {
|
|
66
|
-
mockProvider.session = undefined;
|
|
67
|
-
const accounts = await connectorInstance.getAccounts();
|
|
68
|
-
expect(accounts).toEqual([]);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
describe('disconnect', () => {
|
|
72
|
-
it('should disconnect successfully', async () => {
|
|
73
|
-
mockProvider.session = mockSession;
|
|
74
|
-
await connectorInstance.connect();
|
|
75
|
-
await connectorInstance.disconnect();
|
|
76
|
-
expect(mockProvider.disconnect).toHaveBeenCalled();
|
|
77
|
-
expect(mockProvider.removeListener).toHaveBeenCalled();
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
describe('switchChain', () => {
|
|
81
|
-
it('should switch chain successfully', async () => {
|
|
82
|
-
mockProvider.request.mockResolvedValue(null);
|
|
83
|
-
const result = await connectorInstance.switchChain({ chainId: 1 });
|
|
84
|
-
expect(result).toEqual(expect.objectContaining({
|
|
85
|
-
id: 1,
|
|
86
|
-
name: 'Ethereum'
|
|
87
|
-
}));
|
|
88
|
-
expect(mockProvider.request).toHaveBeenCalledWith({
|
|
89
|
-
method: 'wallet_switchEthereumChain',
|
|
90
|
-
params: [{ chainId: '0x1' }]
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
it('should handle adding a new chain', async () => {
|
|
94
|
-
mockProvider.request.mockRejectedValueOnce(new Error('chain not found'));
|
|
95
|
-
mockProvider.request.mockResolvedValueOnce(null);
|
|
96
|
-
const result = await connectorInstance.switchChain({ chainId: 1 });
|
|
97
|
-
expect(result).toEqual(expect.objectContaining({
|
|
98
|
-
id: 1,
|
|
99
|
-
name: 'Ethereum'
|
|
100
|
-
}));
|
|
101
|
-
expect(mockProvider.request).toHaveBeenCalledWith({
|
|
102
|
-
method: 'wallet_addEthereumChain',
|
|
103
|
-
params: [
|
|
104
|
-
expect.objectContaining({
|
|
105
|
-
chainId: '0x1',
|
|
106
|
-
chainName: 'Ethereum'
|
|
107
|
-
})
|
|
108
|
-
]
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
describe.skip('isAuthorized', () => {
|
|
113
|
-
it('should return true when authorized', async () => {
|
|
114
|
-
const result = await connectorInstance.isAuthorized();
|
|
115
|
-
expect(result).toBe(true);
|
|
116
|
-
});
|
|
117
|
-
it('should return false when no accounts exist', async () => {
|
|
118
|
-
mockProvider.session.namespaces.eip155.accounts = [];
|
|
119
|
-
const result = await connectorInstance.isAuthorized();
|
|
120
|
-
expect(result).toBe(false);
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
//# sourceMappingURL=UniversalConnector.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalConnector.test.js","sourceRoot":"","sources":["../../../../src/tests/UniversalConnector.test.ts"],"names":[],"mappings":"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"}
|