@reown/appkit-adapter-ethers5 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reown/appkit-adapter-ethers5",
3
- "version": "1.7.2-rc2",
3
+ "version": "1.7.2",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "main": "./dist/esm/src/index.js",
@@ -12,13 +12,13 @@
12
12
  "dependencies": {
13
13
  "@walletconnect/universal-provider": "2.19.1",
14
14
  "valtio": "1.13.2",
15
- "@reown/appkit-common": "1.7.2-rc2",
16
- "@reown/appkit-controllers": "1.7.2-rc2",
17
- "@reown/appkit": "1.7.2-rc2",
18
- "@reown/appkit-utils": "1.7.2-rc2",
19
- "@reown/appkit-polyfills": "1.7.2-rc2",
20
- "@reown/appkit-scaffold-ui": "1.7.2-rc2",
21
- "@reown/appkit-wallet": "1.7.2-rc2"
15
+ "@reown/appkit": "1.7.2",
16
+ "@reown/appkit-common": "1.7.2",
17
+ "@reown/appkit-controllers": "1.7.2",
18
+ "@reown/appkit-polyfills": "1.7.2",
19
+ "@reown/appkit-scaffold-ui": "1.7.2",
20
+ "@reown/appkit-utils": "1.7.2",
21
+ "@reown/appkit-wallet": "1.7.2"
22
22
  },
23
23
  "optionalDependencies": {
24
24
  "@coinbase/wallet-sdk": "4.3.0"
@@ -1,444 +0,0 @@
1
- import UniversalProvider from '@walletconnect/universal-provider';
2
- import { providers } from 'ethers';
3
- import { beforeEach, describe, expect, it, vi } from 'vitest';
4
- import { ConstantsUtil as CommonConstantsUtil, Emitter } from '@reown/appkit-common';
5
- import { CaipNetworksUtil } from '@reown/appkit-utils';
6
- import { ProviderUtil } from '@reown/appkit-utils';
7
- import { mainnet, polygon } from '@reown/appkit/networks';
8
- import { Ethers5Adapter } from '../client';
9
- import { Ethers5Methods } from '../utils/Ethers5Methods';
10
- vi.mock('ethers', async (importOriginal) => {
11
- const actual = await importOriginal();
12
- return {
13
- ...actual,
14
- formatEther: vi.fn(() => '1.5'),
15
- providers: {
16
- InfuraProvider: vi.fn(() => ({
17
- lookupAddress: vi.fn(),
18
- getAvatar: vi.fn()
19
- })),
20
- JsonRpcProvider: vi.fn(() => ({
21
- getBalance: vi.fn()
22
- })),
23
- Web3Provider: vi.fn(() => ({
24
- on: vi.fn((event, callback) => {
25
- if (event === 'pending') {
26
- callback();
27
- }
28
- })
29
- }))
30
- }
31
- };
32
- });
33
- const mockProvider = {
34
- request: vi.fn(),
35
- on: vi.fn(),
36
- removeListener: vi.fn()
37
- };
38
- const mockWalletConnectProvider = {
39
- connect: vi.fn(),
40
- disconnect: vi.fn(),
41
- on: vi.fn(),
42
- removeListener: vi.fn(),
43
- session: true,
44
- setDefaultChain: vi.fn()
45
- };
46
- const mockAuthProvider = {
47
- connect: vi.fn(),
48
- disconnect: vi.fn(),
49
- switchNetwork: vi.fn(),
50
- getUser: vi.fn()
51
- };
52
- const mockNetworks = [mainnet, polygon];
53
- const mockCaipNetworks = CaipNetworksUtil.extendCaipNetworks(mockNetworks, {
54
- projectId: 'test-project-id',
55
- customNetworkImageUrls: {}
56
- });
57
- describe('Ethers5Adapter', () => {
58
- let adapter;
59
- beforeEach(() => {
60
- vi.clearAllMocks();
61
- adapter = new Ethers5Adapter();
62
- });
63
- describe('Ethers5Adapter -constructor', () => {
64
- it('should set adapterType', () => {
65
- expect(adapter.adapterType).toEqual(CommonConstantsUtil.ADAPTER_TYPES.ETHERS5);
66
- });
67
- it('should set namespace', () => {
68
- expect(adapter.namespace).toEqual(CommonConstantsUtil.CHAIN.EVM);
69
- });
70
- it('should not set info property for injected connector', () => {
71
- const mockConnectors = [
72
- {
73
- id: 'Browser Wallet',
74
- name: 'Browser Wallet',
75
- type: 'injected',
76
- info: { rdns: 'Browser Wallet' }
77
- }
78
- ];
79
- adapter.syncConnectors(mockConnectors);
80
- const injectedConnector = mockConnectors.filter((c) => c.id === 'injected')[0];
81
- expect(injectedConnector?.info).toBeUndefined();
82
- });
83
- });
84
- describe('Ethers5Adapter - signMessage', () => {
85
- it('should sign message successfully', async () => {
86
- const mockSignature = '0xmocksignature';
87
- vi.spyOn(mockProvider, 'request').mockResolvedValue(mockSignature);
88
- const result = await adapter.signMessage({
89
- message: 'Hello',
90
- address: '0x123',
91
- provider: mockProvider
92
- });
93
- expect(result.signature).toBe(mockSignature);
94
- });
95
- it('should throw error when provider is undefined', async () => {
96
- await expect(adapter.signMessage({
97
- message: 'Hello',
98
- address: '0x123'
99
- })).rejects.toThrow('Provider is undefined');
100
- });
101
- });
102
- describe('Ethers5Adapter -sendTransaction', () => {
103
- it('should send transaction successfully', async () => {
104
- const mockTxHash = '0xtxhash';
105
- vi.spyOn(Ethers5Methods, 'sendTransaction').mockResolvedValue(mockTxHash);
106
- const result = await adapter.sendTransaction({
107
- value: BigInt(1000),
108
- to: '0x456',
109
- data: '0x',
110
- gas: BigInt(21000),
111
- gasPrice: BigInt(2000000000),
112
- address: '0x123',
113
- provider: mockProvider,
114
- caipNetwork: mockCaipNetworks[0]
115
- });
116
- expect(result.hash).toBe(mockTxHash);
117
- });
118
- it('should throw error when provider is undefined', async () => {
119
- await expect(adapter.sendTransaction({
120
- value: BigInt(1000),
121
- to: '0x456',
122
- data: '0x',
123
- gas: BigInt(21000),
124
- gasPrice: BigInt(2000000000),
125
- address: '0x123'
126
- })).rejects.toThrow('Provider is undefined');
127
- });
128
- });
129
- describe('Ethers5Adapter -writeContract', () => {
130
- it('should write contract successfully', async () => {
131
- const mockTxHash = '0xtxhash';
132
- vi.spyOn(Ethers5Methods, 'writeContract').mockResolvedValue(mockTxHash);
133
- const result = await adapter.writeContract({
134
- abi: [],
135
- method: 'transfer',
136
- caipAddress: 'eip155:1:0x123',
137
- fromAddress: '0x123',
138
- args: ['0x789', BigInt(1000)],
139
- tokenAddress: '0x789',
140
- provider: mockProvider,
141
- caipNetwork: mockCaipNetworks[0],
142
- chainNamespace: 'eip155'
143
- });
144
- expect(result.hash).toBe(mockTxHash);
145
- });
146
- });
147
- describe('Ethers5Adapter -connect', () => {
148
- it('should connect with external provider', async () => {
149
- adapter.caipNetworks = mockCaipNetworks;
150
- vi.mocked(mockProvider.request).mockImplementation(request => {
151
- if (request.method === 'eth_requestAccounts')
152
- return Promise.resolve(['0x123']);
153
- if (request.method === 'eth_chainId')
154
- return Promise.resolve('0x1');
155
- if (request.method === 'wallet_switchEthereumChain')
156
- return Promise.resolve(null);
157
- return Promise.resolve(null);
158
- });
159
- const connectors = [
160
- {
161
- id: 'test',
162
- provider: mockProvider,
163
- chains: [1],
164
- type: 'EXTERNAL',
165
- chain: 1
166
- }
167
- ];
168
- Object.defineProperty(adapter, 'connectors', {
169
- value: connectors
170
- });
171
- const result = await adapter.connect({
172
- id: 'test',
173
- provider: mockProvider,
174
- type: 'EXTERNAL',
175
- chainId: 1
176
- });
177
- expect(result.address).toBe('0x123');
178
- expect(result.chainId).toBe(1);
179
- });
180
- it('should call switch network if wallet chain id is different than requested chain id', async () => {
181
- adapter.caipNetworks = mockCaipNetworks;
182
- vi.mocked(mockProvider.request).mockImplementation(request => {
183
- if (request.method === 'eth_requestAccounts')
184
- return Promise.resolve(['0x123']);
185
- if (request.method === 'eth_chainId')
186
- return Promise.resolve('137');
187
- if (request.method === 'wallet_switchEthereumChain')
188
- return Promise.resolve(null);
189
- return Promise.resolve(null);
190
- });
191
- const connectors = [
192
- {
193
- id: 'test',
194
- provider: mockProvider,
195
- chains: [1],
196
- type: 'EXTERNAL',
197
- chain: 1
198
- }
199
- ];
200
- Object.defineProperty(adapter, 'connectors', {
201
- value: connectors
202
- });
203
- const result = await adapter.connect({
204
- id: 'test',
205
- provider: mockProvider,
206
- type: 'EXTERNAL',
207
- chainId: 1
208
- });
209
- expect(mockProvider.request).toHaveBeenCalledWith({
210
- method: 'wallet_switchEthereumChain',
211
- params: [{ chainId: '0x1' }]
212
- });
213
- expect(result.address).toBe('0x123');
214
- expect(result.chainId).toBe(1);
215
- });
216
- });
217
- describe('Ethers5Adapter -disconnect', () => {
218
- it('should disconnect WalletConnect provider', async () => {
219
- await adapter.disconnect({
220
- provider: mockWalletConnectProvider,
221
- providerType: 'WALLET_CONNECT'
222
- });
223
- expect(mockWalletConnectProvider.disconnect).toHaveBeenCalled();
224
- });
225
- it('should disconnect Auth provider', async () => {
226
- await adapter.disconnect({
227
- provider: mockAuthProvider,
228
- providerType: 'AUTH'
229
- });
230
- expect(mockAuthProvider.disconnect).toHaveBeenCalled();
231
- });
232
- });
233
- describe('Ethers5Adapter -getBalance', () => {
234
- it('should get balance successfully', async () => {
235
- adapter.caipNetworks = mockCaipNetworks;
236
- const mockBalance = BigInt(1500000000000000000);
237
- vi.mocked(providers.JsonRpcProvider).mockImplementation(() => ({
238
- getBalance: vi.fn().mockResolvedValue(mockBalance)
239
- }));
240
- const result = await adapter.getBalance({
241
- address: '0x123',
242
- chainId: 1
243
- });
244
- expect(result).toEqual({
245
- balance: '1.5',
246
- symbol: 'ETH'
247
- });
248
- });
249
- });
250
- it('should call getBalance once even when multiple adapter requests are sent at the same time', async () => {
251
- adapter.caipNetworks = mockCaipNetworks;
252
- const mockBalance = BigInt(1500000000000000000);
253
- const latency = 1000;
254
- const numSimultaneousRequests = 10;
255
- const expectedSentRequests = 1;
256
- let mockedImplementationCalls = 0;
257
- vi.mocked(providers.JsonRpcProvider).mockImplementation(() => ({
258
- getBalance: vi.fn().mockResolvedValue(new Promise(resolve => {
259
- mockedImplementationCalls++;
260
- setTimeout(() => resolve(mockBalance), latency);
261
- }))
262
- }));
263
- const result = await Promise.all([
264
- ...Array.from({ length: numSimultaneousRequests }).map(() => adapter.getBalance({
265
- address: '0x123',
266
- chainId: 1
267
- }))
268
- ]);
269
- expect(mockedImplementationCalls).to.eql(expectedSentRequests);
270
- expect(result.length).toBe(numSimultaneousRequests);
271
- expect(expectedSentRequests).to.be.lt(numSimultaneousRequests);
272
- for (const balance of result) {
273
- expect(balance).toEqual({
274
- balance: '1.5',
275
- symbol: 'ETH'
276
- });
277
- }
278
- });
279
- describe('Ethers5Adapter -getProfile', () => {
280
- beforeEach(() => {
281
- vi.clearAllMocks();
282
- });
283
- it('should get profile successfully', async () => {
284
- const mockEnsName = 'test.eth';
285
- const mockAvatar = 'https://avatar.com/test.jpg';
286
- vi.mocked(providers.InfuraProvider).mockImplementation(() => ({
287
- lookupAddress: vi.fn().mockResolvedValue(mockEnsName),
288
- getAvatar: vi.fn().mockResolvedValue(mockAvatar)
289
- }));
290
- const result = await adapter.getProfile({
291
- address: '0x123',
292
- chainId: 1
293
- });
294
- expect(result).toEqual({
295
- profileName: mockEnsName,
296
- profileImage: mockAvatar
297
- });
298
- });
299
- });
300
- describe('Ethers5Adapter - switchNetwork', () => {
301
- it('should switch network with Auth provider', async () => {
302
- await adapter.switchNetwork({
303
- caipNetwork: mockCaipNetworks[0],
304
- provider: mockAuthProvider,
305
- providerType: 'AUTH'
306
- });
307
- expect(mockAuthProvider.switchNetwork).toHaveBeenCalledWith('eip155:1');
308
- expect(mockAuthProvider.getUser).toHaveBeenCalledWith({
309
- chainId: 'eip155:1',
310
- preferredAccountType: 'smartAccount'
311
- });
312
- });
313
- it('should call setDefaultChain and request from provider for WALLET_CONNECT', async () => {
314
- const adapter = new Ethers5Adapter();
315
- const mockProvider = {
316
- request: vi.fn(),
317
- setDefaultChain: vi.fn()
318
- };
319
- const params = {
320
- caipNetwork: {
321
- id: 1,
322
- caipNetworkId: 'eip155:1'
323
- },
324
- provider: mockProvider,
325
- providerType: 'WALLET_CONNECT'
326
- };
327
- await adapter.switchNetwork(params);
328
- expect(mockProvider.request).toHaveBeenCalledWith({
329
- method: 'wallet_switchEthereumChain',
330
- params: [{ chainId: '0x1' }]
331
- });
332
- });
333
- });
334
- describe('Ethers5Adapter -getWalletConnectProvider', () => {
335
- it('should return WalletConnect provider', () => {
336
- Object.defineProperty(adapter, 'availableConnectors', {
337
- value: [
338
- {
339
- id: 'walletconnect',
340
- type: 'WALLET_CONNECT',
341
- provider: mockWalletConnectProvider,
342
- chain: 'eip155',
343
- chains: []
344
- }
345
- ]
346
- });
347
- const result = adapter.getWalletConnectProvider();
348
- expect(result).toBe(mockWalletConnectProvider);
349
- });
350
- });
351
- describe('Ethers5Adapter -parseUnits and formatUnits', () => {
352
- it('should parse units correctly', () => {
353
- expect(adapter.parseUnits({
354
- value: '1.5',
355
- decimals: 18
356
- })).toBe(BigInt('1500000000000000000'));
357
- expect(adapter.parseUnits({
358
- value: '1.5',
359
- decimals: 6
360
- })).toBe(BigInt('1500000'));
361
- });
362
- it('should format units correctly', () => {
363
- expect(adapter.formatUnits({
364
- value: BigInt('1500000000000000000'),
365
- decimals: 18
366
- })).toBe('1.5');
367
- expect(adapter.formatUnits({
368
- value: BigInt('1500000'),
369
- decimals: 6
370
- })).toBe('1.5');
371
- });
372
- });
373
- describe('Ethers5Adapter - Permissions', () => {
374
- const mockProvider = {
375
- request: vi.fn()
376
- };
377
- beforeEach(() => {
378
- vi.spyOn(ProviderUtil, 'getProvider').mockImplementation(() => mockProvider);
379
- });
380
- it('should call wallet_getCapabilities', async () => {
381
- await adapter.getCapabilities('eip155:1:0x123');
382
- expect(mockProvider.request).toHaveBeenCalledWith({
383
- method: 'wallet_getCapabilities',
384
- params: ['eip155:1:0x123']
385
- });
386
- });
387
- it('should call wallet_grantPermissions', async () => {
388
- const mockParams = {
389
- pci: 'test-pci',
390
- expiry: 1234567890,
391
- address: '0x123',
392
- permissions: ['eth_accounts']
393
- };
394
- await adapter.grantPermissions(mockParams);
395
- expect(mockProvider.request).toHaveBeenCalledWith({
396
- method: 'wallet_grantPermissions',
397
- params: mockParams
398
- });
399
- });
400
- it('should call wallet_revokePermissions', async () => {
401
- vi.mocked(mockProvider.request).mockImplementation(() => Promise.resolve('0x123'));
402
- const mockParams = {
403
- pci: 'test-pci',
404
- expiry: 1234567890,
405
- address: '0x123',
406
- permissions: ['eth_accounts']
407
- };
408
- const result = await adapter.revokePermissions(mockParams);
409
- expect(mockProvider.request).toHaveBeenCalledWith({
410
- method: 'wallet_revokePermissions',
411
- params: [mockParams]
412
- });
413
- expect(result).toBe('0x123');
414
- });
415
- });
416
- describe('EthersAdapter - provider listener', () => {
417
- it('should disconnect if accountsChanged event emits no accounts', async () => {
418
- adapter.caipNetworks = mockCaipNetworks;
419
- const emitter = new Emitter();
420
- const mockProvider = {
421
- connect: vi.fn(),
422
- request: vi.fn().mockResolvedValue(['0x123']),
423
- removeListener: vi.fn(),
424
- on: emitter.on.bind(emitter),
425
- off: emitter.off.bind(emitter),
426
- emit: emitter.emit.bind(emitter)
427
- };
428
- Object.defineProperty(adapter, 'connectors', {
429
- value: [{ id: 'test', provider: mockProvider }]
430
- });
431
- await adapter.connect({
432
- id: 'test',
433
- type: 'EXTERNAL',
434
- chainId: 1
435
- });
436
- const disconnect = vi.fn();
437
- adapter.on('disconnect', disconnect);
438
- mockProvider.emit('accountsChanged', []);
439
- expect(disconnect).toHaveBeenCalled();
440
- expect(mockProvider.removeListener).toHaveBeenCalledWith('disconnect', expect.any(Function));
441
- });
442
- });
443
- });
444
- //# sourceMappingURL=client.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../../src/tests/client.test.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7D,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC,cAAc,EAAC,EAAE;IACvC,MAAM,MAAM,GAAG,MAAM,cAAc,EAA2B,CAAA;IAC9D,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QAC/B,SAAS,EAAE;YACT,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3B,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;gBACtB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;aACnB,CAAC,CAAC;YACH,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5B,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;aACpB,CAAC,CAAC;YACH,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,QAAQ,EAAE,CAAA;oBACZ,CAAC;gBACH,CAAC,CAAC;aACH,CAAC,CAAC;SACJ;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IACX,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;CACD,CAAA;AAExB,MAAM,yBAAyB,GAAG;IAChC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IACX,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;CACO,CAAA;AAEjC,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CACc,CAAA;AAEhC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AACvC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACzE,SAAS,EAAE,iBAAiB;IAC5B,sBAAsB,EAAE,EAAE;CAC3B,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,OAAuB,CAAA;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAA;QAClB,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,cAAc,GAAG;gBACrB;oBACE,EAAE,EAAE,gBAAgB;oBACpB,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;iBACjC;aACF,CAEA;YAAC,OAAe,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAEhD,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;YAEnF,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,aAAa,GAAG,iBAAiB,CAAA;YAEvC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;YAElE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACvC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,MAAM,CACV,OAAO,CAAC,WAAW,CAAC;gBAClB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;aACjB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,UAAU,GAAG,UAAU,CAAA;YAE7B,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAEzE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC;gBAC3C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC5B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;aACjC,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,MAAM,CACV,OAAO,CAAC,eAAe,CAAC;gBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;gBAClB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC5B,OAAO,EAAE,OAAO;aACjB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,UAAU,GAAG,UAAU,CAAA;YAC7B,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAEvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBACzC,GAAG,EAAE,EAAE;gBACP,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,gBAAgB;gBAC7B,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7B,YAAY,EAAE,OAAO;gBACrB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAChC,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAA;YACvC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;gBAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,qBAAqB;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC/E,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACnE,IAAI,OAAO,CAAC,MAAM,KAAK,4BAA4B;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACjF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YACF,MAAM,UAAU,GAAG;gBACjB;oBACE,EAAE,EAAE,MAAM;oBACV,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,CAAC,CAAC,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAA;YACD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;gBAC3C,KAAK,EAAE,UAAU;aAClB,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACnC,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YAClG,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAA;YAEvC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;gBAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,qBAAqB;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC/E,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACnE,IAAI,OAAO,CAAC,MAAM,KAAK,4BAA4B;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACjF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG;gBACjB;oBACE,EAAE,EAAE,MAAM;oBACV,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,CAAC,CAAC,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAA;YAED,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;gBAC3C,KAAK,EAAE,UAAU;aAClB,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACnC,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;YAEF,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBAChD,MAAM,EAAE,4BAA4B;gBACpC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAC7B,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,OAAO,CAAC,UAAU,CAAC;gBACvB,QAAQ,EAAE,yBAAyB;gBACnC,YAAY,EAAE,gBAAgB;aAC/B,CAAC,CAAA;YAEF,MAAM,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,CAAC,UAAU,CAAC;gBACvB,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE,MAAM;aACrB,CAAC,CAAA;YAEF,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAA;YACvC,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAC/C,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,kBAAkB,CACrD,GAAG,EAAE,CACH,CAAC;gBACC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC;aACnD,CAAQ,CACZ,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACtC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAA;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAE/C,MAAM,OAAO,GAAG,IAAI,CAAA;QACpB,MAAM,uBAAuB,GAAG,EAAE,CAAA;QAClC,MAAM,oBAAoB,GAAG,CAAC,CAAA;QAC9B,IAAI,yBAAyB,GAAG,CAAC,CAAA;QACjC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,kBAAkB,CACrD,GAAG,EAAE,CACH,CAAC;YACC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CACnC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACpB,yBAAyB,EAAE,CAAA;gBAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;YACjD,CAAC,CAAC,CACH;SACF,CAAQ,CACZ,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAC1D,OAAO,CAAC,UAAU,CAAC;gBACjB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,CAAC;aACX,CAAC,CACH;SACF,CAAC,CAAA;QAEF,MAAM,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;QAG9D,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aACd,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,UAAU,CAAC,GAAG,EAAE;YACd,EAAE,CAAC,aAAa,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,WAAW,GAAG,UAAU,CAAA;YAC9B,MAAM,UAAU,GAAG,6BAA6B,CAAA;YAEhD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,kBAAkB,CACpD,GAAG,EAAE,CACH,CAAC;gBACC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC;gBACrD,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;aACjD,CAAQ,CACZ,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACtC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,UAAU;aACzB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,OAAO,CAAC,aAAa,CAAC;gBAC1B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAChC,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE,MAAM;aACrB,CAAC,CAAA;YAEF,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;YACvE,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBACpD,OAAO,EAAE,UAAU;gBACnB,oBAAoB,EAAE,cAAc;aACrC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;YAEpC,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;gBAChB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;aACO,CAAA;YAEjC,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE;oBACX,EAAE,EAAE,CAAC;oBACL,aAAa,EAAE,UAAU;iBAC1B;gBACD,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,gBAAgB;aACb,CAAA;YAEnB,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAEnC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBAChD,MAAM,EAAE,4BAA4B;gBACpC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAC7B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE;gBACpD,KAAK,EAAE;oBACL;wBACE,EAAE,EAAE,eAAe;wBACnB,IAAI,EAAE,gBAAgB;wBACtB,QAAQ,EAAE,yBAAyB;wBACnC,KAAK,EAAE,QAAQ;wBACf,MAAM,EAAE,EAAE;qBACX;iBACF;aACF,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAA;YACjD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CACJ,OAAO,CAAC,UAAU,CAAC;gBACjB,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,EAAE;aACb,CAAC,CACH,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAA;YAErC,MAAM,CACJ,OAAO,CAAC,UAAU,CAAC;gBACjB,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,CAAC;aACZ,CAAC,CACH,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CACJ,OAAO,CAAC,WAAW,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC;gBACpC,QAAQ,EAAE,EAAE;aACb,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAEb,MAAM,CACJ,OAAO,CAAC,WAAW,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;gBACxB,QAAQ,EAAE,CAAC;aACZ,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;SACe,CAAA;QAEjC,UAAU,CAAC,GAAG,EAAE;YACd,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAA;QAC9E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;YAE/C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBAChD,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE,CAAC,gBAAgB,CAAC;aAC3B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,UAAU,GAAG;gBACjB,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,CAAC,cAAc,CAAC;aAC9B,CAAA;YAED,MAAM,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAE1C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBAChD,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,UAAU;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CACtD,OAAO,CAAC,OAAO,CAAC,OAAwB,CAAC,CAC1C,CAAA;YAED,MAAM,UAAU,GAAG;gBACjB,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,OAAwB;gBACjC,WAAW,EAAE,CAAC,cAAc,CAAC;aAC9B,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAE1D,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBAChD,MAAM,EAAE,0BAA0B;gBAClC,MAAM,EAAE,CAAC,UAAU,CAAC;aACrB,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACjD,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAA;YACvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;YAE7B,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC7C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;gBACvB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;aACV,CAAA;YAExB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE;gBAC3C,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;aAChD,CAAC,CAAA;YAEF,MAAM,OAAO,CAAC,OAAO,CAAC;gBACpB,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,CAAC;aACX,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAE1B,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YAEpC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;YAExC,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;YACrC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC9F,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,69 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { mainnet } from '@reown/appkit/networks';
3
- export const mockAppKit = {
4
- setIsConnected: vi.fn(),
5
- getIsConnectedState: vi.fn().mockReturnValue(true),
6
- setCaipAddress: vi.fn(),
7
- getCaipAddress: vi.fn().mockReturnValue('eip155:1:0xE62a3eD41B21447b67a63880607CD2E746A0E35d'),
8
- setRequestedCaipNetworks: vi.fn(),
9
- setConnectors: vi.fn(),
10
- getConnectors: vi.fn().mockReturnValue([]),
11
- setConnectedWalletInfo: vi.fn(),
12
- resetWcConnection: vi.fn(),
13
- resetNetwork: vi.fn(),
14
- resetAccount: vi.fn(),
15
- setPreferredAccountType: vi.fn(),
16
- getPreferredAccountType: vi.fn().mockReturnValue('eoa'),
17
- setEIP6963Enabled: vi.fn(),
18
- getCaipNetwork: vi.fn().mockReturnValue(mainnet),
19
- getCaipNetworks: vi.fn(),
20
- subscribeState: vi.fn().mockImplementation(callback => vi.fn(() => callback({}))),
21
- setApprovedCaipNetworksData: vi.fn(),
22
- getActiveChainNamespace: vi.fn().mockReturnValue('eip155'),
23
- getAddress: vi.fn().mockReturnValue('0xE62a3eD41B21447b67a63880607CD2E746A0E35d'),
24
- addConnector: vi.fn(),
25
- setCaipNetwork: vi.fn(),
26
- setLoading: vi.fn(),
27
- setSmartAccountEnabledNetworks: vi.fn(),
28
- setAllAccounts: vi.fn(),
29
- setStatus: vi.fn(),
30
- setSmartAccountDeployed: vi.fn(),
31
- open: vi.fn(),
32
- isOpen: vi.fn().mockReturnValue(false),
33
- isTransactionStackEmpty: vi.fn().mockReturnValue(true),
34
- replace: vi.fn(),
35
- redirect: vi.fn(),
36
- showErrorMessage: vi.fn(),
37
- close: vi.fn(),
38
- popTransactionStack: vi.fn(),
39
- setProfileName: vi.fn(),
40
- setProfileImage: vi.fn(),
41
- setAddressExplorerUrl: vi.fn(),
42
- setBalance: vi.fn(),
43
- getReownName: vi.fn().mockResolvedValue([]),
44
- fetchIdentity: vi.fn().mockResolvedValue(null),
45
- setClientId: vi.fn(),
46
- universalAdapter: {
47
- connectionControllerClient: {
48
- connectWalletConnect: vi.fn(),
49
- disconnect: vi.fn()
50
- },
51
- networkControllerClient: {
52
- switchCaipNetwork: vi.fn()
53
- }
54
- },
55
- getConnectorImage: vi.fn(),
56
- handleUnsafeRPCRequest: vi.fn().mockImplementation(() => {
57
- if (mockAppKit.isOpen()) {
58
- if (mockAppKit.isTransactionStackEmpty()) {
59
- return;
60
- }
61
- mockAppKit.redirect('ApproveTransaction');
62
- }
63
- else {
64
- mockAppKit.open({ view: 'ApproveTransaction' });
65
- }
66
- })
67
- };
68
- export default mockAppKit;
69
- //# sourceMappingURL=AppKit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppKit.js","sourceRoot":"","sources":["../../../../../src/tests/mocks/AppKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAClD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,qDAAqD,CAAC;IAC9F,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;IACjC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC1C,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC/B,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC1B,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;IAChC,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACvD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC1B,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC;IAChD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE;IACpC,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;IAC1D,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,4CAA4C,CAAC;IACjF,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE;IACvC,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;IAChC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;IACb,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACtC,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACtD,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;IAChB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;IACzB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC5B,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC9B,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC3C,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAC9C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;IACpB,gBAAgB,EAAE;QAChB,0BAA0B,EAAE;YAC1B,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC7B,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;SACpB;QACD,uBAAuB,EAAE;YACvB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;SAC3B;KACF;IACD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC1B,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;QACtD,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACxB,IAAI,UAAU,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBACzC,OAAM;YACR,CAAC;YAED,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,CAAC;CACkB,CAAA;AAEtB,eAAe,UAAU,CAAA"}
@@ -1,29 +0,0 @@
1
- import { vi } from 'vitest';
2
- export const mockAuthConnector = {
3
- onRpcRequest: vi.fn(),
4
- onRpcError: vi.fn(),
5
- onRpcSuccess: vi.fn(),
6
- onNotConnected: vi.fn(),
7
- onIsConnected: vi.fn(),
8
- onConnect: vi.fn(),
9
- onSetPreferredAccount: vi.fn(),
10
- connect: vi.fn().mockResolvedValue({
11
- address: '0x1234567890123456789012345678901234567890',
12
- chainId: 1,
13
- smartAccountDeployed: true,
14
- preferredAccountType: 'eoa',
15
- accounts: []
16
- }),
17
- getSmartAccountEnabledNetworks: vi.fn().mockResolvedValue({
18
- smartAccountEnabledNetworks: [1, 137]
19
- }),
20
- on: vi.fn(),
21
- removeListener: vi.fn(),
22
- getLoginEmailUsed: vi.fn().mockReturnValue(false),
23
- isConnected: vi.fn().mockResolvedValue({ isConnected: false }),
24
- disconnect: vi.fn(),
25
- switchNetwork: vi.fn(),
26
- rejectRpcRequests: vi.fn(),
27
- request: vi.fn()
28
- };
29
- //# sourceMappingURL=AuthConnector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthConnector.js","sourceRoot":"","sources":["../../../../../src/tests/mocks/AuthConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC9B,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;QACjC,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,CAAC;QACV,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;QACxD,2BAA2B,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;KACtC,CAAC;IACF,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;IACX,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;IACvB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACjD,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAC9D,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC1B,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CACjB,CAAA"}
@@ -1,29 +0,0 @@
1
- import { vi } from 'vitest';
2
- export const mockEthersConfig = {
3
- metadata: {
4
- name: 'Mock dApp',
5
- description: 'A mock dApp for testing',
6
- url: 'https://mockdapp.com',
7
- icons: ['https://mockdapp.com/icon.png']
8
- },
9
- injected: {
10
- request: vi.fn(),
11
- on: vi.fn(),
12
- removeListener: vi.fn()
13
- },
14
- coinbase: {
15
- request: vi.fn(),
16
- on: vi.fn(),
17
- removeListener: vi.fn()
18
- },
19
- EIP6963: true
20
- };
21
- export function mockCreateEthersConfig() {
22
- return {
23
- ...mockEthersConfig,
24
- metadata: {
25
- ...mockEthersConfig.metadata
26
- }
27
- };
28
- }
29
- //# sourceMappingURL=EthersConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EthersConfig.js","sourceRoot":"","sources":["../../../../../src/tests/mocks/EthersConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAI3B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,yBAAyB;QACtC,GAAG,EAAE,sBAAsB;QAC3B,KAAK,EAAE,CAAC,+BAA+B,CAAC;KACzC;IACD,QAAQ,EAAE;QAER,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACX,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;KACxB;IACD,QAAQ,EAAE;QAER,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACX,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;KACxB;IACD,OAAO,EAAE,IAAI;CACa,CAAA;AAG5B,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,GAAG,gBAAgB;QACnB,QAAQ,EAAE;YACR,GAAG,gBAAgB,CAAC,QAAQ;SAC7B;KACF,CAAA;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- import { mainnet, solana } from '@reown/appkit/networks';
2
- export const mockMainnetChainImage = 'https://assets.coingecko.com/coins/images/279/large/ethereum.png';
3
- export const mockOptions = {
4
- projectId: 'test-project-id',
5
- adapters: [{ chainNamespace: 'eip155' }],
6
- networks: [mainnet, solana],
7
- chainImages: {
8
- [mainnet.id]: mockMainnetChainImage
9
- },
10
- metadata: {
11
- name: 'Test App',
12
- description: 'Test App Description',
13
- url: 'https://test-app.com',
14
- icons: ['https://test-app.com/icon.png']
15
- }
16
- };
17
- //# sourceMappingURL=Options.js.map