@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.
Files changed (97) hide show
  1. package/dist/esm/exports/basic.js +11 -0
  2. package/dist/esm/exports/basic.js.map +1 -0
  3. package/dist/esm/exports/constants.js +1 -1
  4. package/dist/esm/exports/constants.js.map +1 -1
  5. package/dist/esm/exports/index.js +1 -3
  6. package/dist/esm/exports/index.js.map +1 -1
  7. package/dist/esm/exports/react.js +1 -3
  8. package/dist/esm/exports/react.js.map +1 -1
  9. package/dist/esm/exports/vue.js +1 -3
  10. package/dist/esm/exports/vue.js.map +1 -1
  11. package/dist/esm/package.json +19 -3
  12. package/dist/esm/src/adapters/ChainAdapterBlueprint.js +0 -1
  13. package/dist/esm/src/adapters/ChainAdapterBlueprint.js.map +1 -1
  14. package/dist/esm/src/client/appkit-basic.js +35 -0
  15. package/dist/esm/src/client/appkit-basic.js.map +1 -0
  16. package/dist/esm/src/client/appkit.js +385 -0
  17. package/dist/esm/src/client/appkit.js.map +1 -0
  18. package/dist/esm/src/client/core.js +1348 -0
  19. package/dist/esm/src/client/core.js.map +1 -0
  20. package/dist/esm/tests/client/adapter-management.test.js +83 -0
  21. package/dist/esm/tests/client/adapter-management.test.js.map +1 -0
  22. package/dist/esm/tests/client/appkit-basic.test.js +68 -0
  23. package/dist/esm/tests/client/appkit-basic.test.js.map +1 -0
  24. package/dist/esm/tests/client/balance.test.js +54 -0
  25. package/dist/esm/tests/client/balance.test.js.map +1 -0
  26. package/dist/esm/tests/client/connection.test.js +137 -0
  27. package/dist/esm/tests/client/connection.test.js.map +1 -0
  28. package/dist/esm/tests/client/initialization.test.js +122 -0
  29. package/dist/esm/tests/client/initialization.test.js.map +1 -0
  30. package/dist/esm/tests/client/listeners.test.js +53 -0
  31. package/dist/esm/tests/client/listeners.test.js.map +1 -0
  32. package/dist/esm/tests/client/public-methods.test.js +683 -0
  33. package/dist/esm/tests/client/public-methods.test.js.map +1 -0
  34. package/dist/esm/tests/client/universal-adapter.test.js +44 -0
  35. package/dist/esm/tests/client/universal-adapter.test.js.map +1 -0
  36. package/dist/esm/tests/client/walletconnect-events.test.js +80 -0
  37. package/dist/esm/tests/client/walletconnect-events.test.js.map +1 -0
  38. package/dist/esm/tests/connectors/WalletConnectConnector.test.js +63 -0
  39. package/dist/esm/tests/connectors/WalletConnectConnector.test.js.map +1 -0
  40. package/dist/esm/tests/mocks/Account.js +13 -0
  41. package/dist/esm/tests/mocks/Account.js.map +1 -0
  42. package/dist/esm/tests/mocks/Adapter.js +95 -0
  43. package/dist/esm/tests/mocks/Adapter.js.map +1 -0
  44. package/dist/esm/tests/mocks/AppKit.js +24 -0
  45. package/dist/esm/tests/mocks/AppKit.js.map +1 -0
  46. package/dist/esm/tests/mocks/Networks.js +17 -0
  47. package/dist/esm/tests/mocks/Networks.js.map +1 -0
  48. package/dist/esm/tests/mocks/Options.js +17 -0
  49. package/dist/esm/tests/mocks/Options.js.map +1 -0
  50. package/dist/esm/tests/mocks/Providers.js +46 -0
  51. package/dist/esm/tests/mocks/Providers.js.map +1 -0
  52. package/dist/esm/tests/mocks/UniversalProvider.js +139 -0
  53. package/dist/esm/tests/mocks/UniversalProvider.js.map +1 -0
  54. package/dist/esm/tests/siwe.test.js +261 -0
  55. package/dist/esm/tests/siwe.test.js.map +1 -0
  56. package/dist/esm/tests/test-utils.js +39 -0
  57. package/dist/esm/tests/test-utils.js.map +1 -0
  58. package/dist/esm/tests/universal-adapter.test.js +246 -0
  59. package/dist/esm/tests/universal-adapter.test.js.map +1 -0
  60. package/dist/esm/tests/utils/HelpersUtil.test.js +229 -0
  61. package/dist/esm/tests/utils/HelpersUtil.test.js.map +1 -0
  62. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  63. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  64. package/dist/types/exports/basic.d.ts +8 -0
  65. package/dist/types/exports/constants.d.ts +1 -1
  66. package/dist/types/exports/index.d.ts +2 -3
  67. package/dist/types/exports/react.d.ts +2 -3
  68. package/dist/types/exports/vue.d.ts +2 -3
  69. package/dist/types/src/adapters/ChainAdapterBlueprint.d.ts +3 -3
  70. package/dist/types/src/client/appkit-basic.d.ts +24 -0
  71. package/dist/types/src/client/appkit.d.ts +24 -0
  72. package/dist/types/src/client/core.d.ts +208 -0
  73. package/dist/types/src/library/react/index.d.ts +1 -1
  74. package/dist/types/src/library/vue/index.d.ts +2 -2
  75. package/dist/types/src/utils/TypesUtil.d.ts +5 -0
  76. package/dist/types/tests/client/adapter-management.test.d.ts +1 -0
  77. package/dist/types/tests/client/appkit-basic.test.d.ts +1 -0
  78. package/dist/types/tests/client/balance.test.d.ts +1 -0
  79. package/dist/types/tests/client/connection.test.d.ts +1 -0
  80. package/dist/types/tests/client/initialization.test.d.ts +1 -0
  81. package/dist/types/tests/client/listeners.test.d.ts +1 -0
  82. package/dist/types/tests/client/public-methods.test.d.ts +1 -0
  83. package/dist/types/tests/client/universal-adapter.test.d.ts +1 -0
  84. package/dist/types/tests/client/walletconnect-events.test.d.ts +1 -0
  85. package/dist/types/tests/connectors/WalletConnectConnector.test.d.ts +1 -0
  86. package/dist/types/tests/mocks/Account.d.ts +12 -0
  87. package/dist/types/tests/mocks/Adapter.d.ts +5 -0
  88. package/dist/types/tests/mocks/AppKit.d.ts +3 -0
  89. package/dist/types/tests/mocks/Networks.d.ts +4 -0
  90. package/dist/types/tests/mocks/Options.d.ts +6 -0
  91. package/dist/types/tests/mocks/Providers.d.ts +42 -0
  92. package/dist/types/tests/mocks/UniversalProvider.d.ts +3 -0
  93. package/dist/types/tests/siwe.test.d.ts +1 -0
  94. package/dist/types/tests/test-utils.d.ts +6 -0
  95. package/dist/types/tests/universal-adapter.test.d.ts +1 -0
  96. package/dist/types/tests/utils/HelpersUtil.test.d.ts +1 -0
  97. package/package.json +26 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialization.test.js","sourceRoot":"","sources":["../../../../tests/client/initialization.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { Emitter } from '@reown/appkit-common';
3
+ import { AccountController, BlockchainApiController, ChainController } from '@reown/appkit-core';
4
+ import { AppKit } from '../../src/client/appkit.js';
5
+ import { mainnet, unsupportedNetwork } from '../mocks/Networks';
6
+ import { mockOptions } from '../mocks/Options';
7
+ import { mockBlockchainApiController, mockChainControllerStateWithUnsupportedChain, mockStorageUtil, mockWindowAndDocument } from '../test-utils';
8
+ mockWindowAndDocument();
9
+ mockStorageUtil();
10
+ mockBlockchainApiController();
11
+ describe('Listeners', () => {
12
+ it('should set caip address, profile name and profile image on accountChanged event', async () => {
13
+ const identity = { name: 'vitalik.eth', avatar: null };
14
+ const setCaipAddressSpy = vi.spyOn(AccountController, 'setCaipAddress');
15
+ const fetchIdentitySpy = vi
16
+ .spyOn(BlockchainApiController, 'fetchIdentity')
17
+ .mockResolvedValueOnce(identity);
18
+ const mockAccount = {
19
+ address: '0x123',
20
+ chainId: mainnet.id,
21
+ chainNamespace: mainnet.chainNamespace
22
+ };
23
+ const emitter = new Emitter();
24
+ const appKit = new AppKit({ ...mockOptions, features: { email: false, socials: [] } });
25
+ const setProfileNameSpy = vi.spyOn(appKit, 'setProfileName').mockImplementation(() => { });
26
+ const setProfileImageSpy = vi.spyOn(appKit, 'setProfileImage').mockImplementation(() => { });
27
+ await appKit['syncAccount'](mockAccount);
28
+ emitter.emit('accountChanged', mockAccount);
29
+ expect(setCaipAddressSpy).toHaveBeenCalledWith(`${mockAccount.chainNamespace}:${mockAccount.chainId}:${mockAccount.address}`, 'eip155');
30
+ expect(fetchIdentitySpy).toHaveBeenCalledWith({
31
+ address: mockAccount.address,
32
+ caipNetworkId: `${mockAccount.chainNamespace}:${mockAccount.chainId}`
33
+ });
34
+ expect(setProfileNameSpy).toHaveBeenCalledWith(identity.name, 'eip155');
35
+ expect(setProfileImageSpy).toHaveBeenCalledWith(identity.avatar, 'eip155');
36
+ });
37
+ it('should show unsupported chain UI when network is unsupported and allowUnsupportedChain is false', async () => {
38
+ const showUnsupportedChainUISpy = vi.spyOn(ChainController, 'showUnsupportedChainUI');
39
+ const appKit = new AppKit({
40
+ ...mockOptions,
41
+ allowUnsupportedChain: false,
42
+ features: { email: false, socials: [] }
43
+ });
44
+ mockChainControllerStateWithUnsupportedChain();
45
+ await appKit['syncAccount']({
46
+ address: '0x123',
47
+ chainId: unsupportedNetwork.id,
48
+ chainNamespace: unsupportedNetwork.chainNamespace
49
+ });
50
+ expect(showUnsupportedChainUISpy).toHaveBeenCalled();
51
+ });
52
+ });
53
+ //# sourceMappingURL=listeners.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listeners.test.js","sourceRoot":"","sources":["../../../../tests/client/listeners.test.ts"],"names":[],"mappings":"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"}