@reown/appkit-wallet-button 1.8.15-viem-upgrade.0 → 1.8.15-wc-linking-reset-headless.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 (45) hide show
  1. package/dist/esm/exports/index.js +10 -0
  2. package/dist/esm/exports/index.js.map +1 -0
  3. package/dist/esm/exports/react.js +142 -0
  4. package/dist/esm/exports/react.js.map +1 -0
  5. package/dist/esm/package.json +84 -0
  6. package/dist/esm/src/client.js +91 -0
  7. package/dist/esm/src/client.js.map +1 -0
  8. package/dist/esm/src/controllers/ApiController.js +39 -0
  9. package/dist/esm/src/controllers/ApiController.js.map +1 -0
  10. package/dist/esm/src/controllers/WalletButtonController.js +21 -0
  11. package/dist/esm/src/controllers/WalletButtonController.js.map +1 -0
  12. package/dist/esm/src/scaffold-ui/appkit-wallet-button/index.js +214 -0
  13. package/dist/esm/src/scaffold-ui/appkit-wallet-button/index.js.map +1 -0
  14. package/dist/esm/src/tests/client.test.js +103 -0
  15. package/dist/esm/src/tests/client.test.js.map +1 -0
  16. package/dist/esm/src/tests/controllers/ApiController.test.js +17 -0
  17. package/dist/esm/src/tests/controllers/ApiController.test.js.map +1 -0
  18. package/dist/esm/src/tests/controllers/WalletButtonController.test.js +28 -0
  19. package/dist/esm/src/tests/controllers/WalletButtonController.test.js.map +1 -0
  20. package/dist/esm/src/tests/scaffold-ui/appkit-wallet-button.test.js +249 -0
  21. package/dist/esm/src/tests/scaffold-ui/appkit-wallet-button.test.js.map +1 -0
  22. package/dist/esm/src/tests/utils/HelperUtil.js +14 -0
  23. package/dist/esm/src/tests/utils/HelperUtil.js.map +1 -0
  24. package/dist/esm/src/utils/ConstantsUtil.js +54 -0
  25. package/dist/esm/src/utils/ConstantsUtil.js.map +1 -0
  26. package/dist/esm/src/utils/TypeUtil.js +2 -0
  27. package/dist/esm/src/utils/TypeUtil.js.map +1 -0
  28. package/dist/esm/src/utils/WalletUtil.js +18 -0
  29. package/dist/esm/src/utils/WalletUtil.js.map +1 -0
  30. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  31. package/dist/types/exports/index.d.ts +7 -0
  32. package/dist/types/exports/react.d.ts +52 -0
  33. package/dist/types/src/client.d.ts +16 -0
  34. package/dist/types/src/controllers/ApiController.d.ts +13 -0
  35. package/dist/types/src/controllers/WalletButtonController.d.ts +14 -0
  36. package/dist/types/src/scaffold-ui/appkit-wallet-button/index.d.ts +29 -0
  37. package/dist/types/src/tests/client.test.d.ts +1 -0
  38. package/dist/types/src/tests/controllers/ApiController.test.d.ts +1 -0
  39. package/dist/types/src/tests/controllers/WalletButtonController.test.d.ts +1 -0
  40. package/dist/types/src/tests/scaffold-ui/appkit-wallet-button.test.d.ts +1 -0
  41. package/dist/types/src/tests/utils/HelperUtil.d.ts +5 -0
  42. package/dist/types/src/utils/ConstantsUtil.d.ts +51 -0
  43. package/dist/types/src/utils/TypeUtil.d.ts +3 -0
  44. package/dist/types/src/utils/WalletUtil.d.ts +4 -0
  45. package/package.json +5 -5
@@ -0,0 +1,103 @@
1
+ import { afterEach, beforeAll, describe, expect, test, vi } from 'vitest';
2
+ import { ChainController, ConnectorController, ConnectorControllerUtil, FetchUtil } from '@reown/appkit-controllers';
3
+ import { AppKitWalletButton } from '../client';
4
+ import { ApiController } from '../controllers/ApiController';
5
+ import { WalletButtonController } from '../controllers/WalletButtonController';
6
+ import { WalletUtil } from '../utils/WalletUtil';
7
+ const METAMASK_CONNECTOR = {
8
+ id: 'metamask',
9
+ name: 'MetaMask'
10
+ };
11
+ const WC_CONNECTOR = {
12
+ id: 'walletConnect',
13
+ name: 'WalletConnect'
14
+ };
15
+ const PARSED_CAIP_ADDRESS = {
16
+ address: '0x123',
17
+ chainId: 1,
18
+ chainNamespace: 'eip155'
19
+ };
20
+ describe('AppKitWalletButton', () => {
21
+ beforeAll(() => {
22
+ vi.spyOn(ConnectorControllerUtil, 'connectSocial').mockImplementation(async () => PARSED_CAIP_ADDRESS);
23
+ vi.spyOn(ConnectorControllerUtil, 'connectExternal').mockImplementation(async () => PARSED_CAIP_ADDRESS);
24
+ vi.spyOn(ConnectorControllerUtil, 'connectWalletConnect').mockImplementation(async () => PARSED_CAIP_ADDRESS);
25
+ vi.spyOn(FetchUtil.prototype, 'get').mockResolvedValue({
26
+ data: []
27
+ });
28
+ });
29
+ afterEach(() => {
30
+ vi.clearAllMocks();
31
+ });
32
+ test('it should fetch wallet buttons if not ready', () => {
33
+ vi.spyOn(ApiController, 'fetchWalletButtons');
34
+ vi.spyOn(WalletButtonController, 'state', 'get').mockReturnValue({
35
+ ...WalletButtonController.state,
36
+ ready: false
37
+ });
38
+ new AppKitWalletButton();
39
+ expect(ApiController.fetchWalletButtons).toHaveBeenCalled();
40
+ });
41
+ test('it should subscribe to ready event', async () => {
42
+ const subscribeIsReady = vi.fn();
43
+ const appKitWalletButton = new AppKitWalletButton();
44
+ appKitWalletButton.subscribeIsReady(subscribeIsReady);
45
+ ApiController.state.walletButtons = [{ id: 'metamask' }];
46
+ await new Promise(resolve => setTimeout(resolve, 100));
47
+ expect(subscribeIsReady).toHaveBeenCalled();
48
+ });
49
+ test('it should connect to google (social) and not call provider methods', () => {
50
+ const mockProvider = {
51
+ connectSocial: vi.fn()
52
+ };
53
+ vi.spyOn(ChainController, 'state', 'get').mockReturnValue({
54
+ ...ChainController.state,
55
+ activeChain: 'eip155'
56
+ });
57
+ const mockAuthConnector = {
58
+ id: 'auth',
59
+ type: 'AUTH',
60
+ chain: 'eip155',
61
+ provider: mockProvider
62
+ };
63
+ vi.spyOn(ConnectorController, 'getAuthConnector').mockReturnValue(mockAuthConnector);
64
+ const appKitWalletButton = new AppKitWalletButton();
65
+ appKitWalletButton.connect('google');
66
+ expect(ConnectorControllerUtil.connectSocial).toHaveBeenCalledWith({
67
+ social: 'google',
68
+ onConnect: expect.any(Function),
69
+ onOpenFarcaster: expect.any(Function),
70
+ namespace: 'eip155'
71
+ });
72
+ expect(mockProvider.connectSocial).not.toHaveBeenCalled();
73
+ });
74
+ test('it should connect to metamask (external)', () => {
75
+ vi.spyOn(WalletUtil, 'getWalletButton').mockReturnValue({
76
+ id: 'metamask',
77
+ rdns: 'metamask.io'
78
+ });
79
+ vi.spyOn(ConnectorController, 'getConnector').mockReturnValue(METAMASK_CONNECTOR);
80
+ const appKitWalletButton = new AppKitWalletButton();
81
+ appKitWalletButton.connect('metamask');
82
+ expect(ConnectorControllerUtil.connectExternal).toHaveBeenCalledWith(METAMASK_CONNECTOR);
83
+ });
84
+ test('it should connect to walletConnect (QR Code)', () => {
85
+ vi.spyOn(WalletUtil, 'getWalletButton').mockReturnValue({
86
+ id: 'walletConnect'
87
+ });
88
+ vi.spyOn(ConnectorController, 'getConnector').mockReturnValue(undefined);
89
+ vi.spyOn(ConnectorController, 'state', 'get').mockReturnValue({
90
+ ...ConnectorController.state,
91
+ connectors: [WC_CONNECTOR]
92
+ });
93
+ const appKitWalletButton = new AppKitWalletButton();
94
+ appKitWalletButton.connect('walletConnect');
95
+ expect(ConnectorControllerUtil.connectWalletConnect).toHaveBeenCalledWith({
96
+ walletConnect: true,
97
+ connector: WC_CONNECTOR,
98
+ onConnect: expect.any(Function),
99
+ onOpen: expect.any(Function)
100
+ });
101
+ });
102
+ });
103
+ //# sourceMappingURL=client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../../src/tests/client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { ApiController } from '../../controllers/ApiController';
3
+ import { HelpersUtil } from '../utils/HelperUtil';
4
+ describe('ApiController', () => {
5
+ it('should have valid default state', () => {
6
+ expect(ApiController.state.walletButtons).toStrictEqual([]);
7
+ expect(ApiController.state.fetching).toStrictEqual(false);
8
+ });
9
+ it('should subscribe to event', async () => {
10
+ const subscribeKeyFnSpy = vi.fn();
11
+ ApiController.subscribeKey('walletButtons', subscribeKeyFnSpy);
12
+ ApiController.state.walletButtons = [{ id: '1', name: 'Wallet 1' }];
13
+ await HelpersUtil.sleep(200);
14
+ expect(subscribeKeyFnSpy).toHaveBeenCalledWith([{ id: '1', name: 'Wallet 1' }]);
15
+ });
16
+ });
17
+ //# sourceMappingURL=ApiController.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiController.test.js","sourceRoot":"","sources":["../../../../../src/tests/controllers/ApiController.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGjD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QAC3D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QACjC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;QAE9D,aAAa,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAEnE,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE5B,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { WalletButtonController } from '../../controllers/WalletButtonController';
3
+ describe('WalletButtonController', () => {
4
+ it('should have valid default state', () => {
5
+ expect(WalletButtonController.state.data).toBeUndefined();
6
+ expect(WalletButtonController.state.error).toBeUndefined();
7
+ expect(WalletButtonController.state.pending).toBe(false);
8
+ expect(WalletButtonController.state.ready).toBe(false);
9
+ });
10
+ it('should update state correctly on setReady()', () => {
11
+ WalletButtonController.setReady(true);
12
+ expect(WalletButtonController.state.ready).toBe(true);
13
+ });
14
+ it('should update state correctly on setPending()', () => {
15
+ WalletButtonController.setPending(true);
16
+ expect(WalletButtonController.state.pending).toBe(true);
17
+ });
18
+ it('should update state correctly on setError()', () => {
19
+ WalletButtonController.setError(new Error('error'));
20
+ expect(WalletButtonController.state.error?.message).toBe('error');
21
+ });
22
+ it('should update state correctly on setData()', () => {
23
+ const data = { address: '0x123', chainId: 1, chainNamespace: 'eip155' };
24
+ WalletButtonController.setData(data);
25
+ expect(WalletButtonController.state.data).toStrictEqual(data);
26
+ });
27
+ });
28
+ //# sourceMappingURL=WalletButtonController.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletButtonController.test.js","sourceRoot":"","sources":["../../../../../src/tests/controllers/WalletButtonController.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAI7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AAGjF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;QACzD,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAA;QAC1D,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxD,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,sBAAsB,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QACnD,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAsB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAA;QAC1F,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,249 @@
1
+ import { elementUpdated, fixture } from '@open-wc/testing';
2
+ import { beforeAll, beforeEach, describe, expect, test, vi } from 'vitest';
3
+ import { html } from 'lit';
4
+ import { ParseUtil } from '@reown/appkit-common';
5
+ import { ChainController, ConnectorController, ApiController as ControllersApiController, CoreHelperUtil, ModalController, RouterController } from '@reown/appkit-controllers';
6
+ import { ConnectorControllerUtil } from '@reown/appkit-controllers';
7
+ import { ApiController } from '../../controllers/ApiController.js';
8
+ import '../../scaffold-ui/appkit-wallet-button/index.js';
9
+ import { ConstantsUtil } from '../../utils/ConstantsUtil.js';
10
+ import { HelpersUtil } from '../utils/HelperUtil.js';
11
+ const MetaMask = {
12
+ id: ConstantsUtil.WalletButtonsIds.metamask,
13
+ name: 'MetaMask',
14
+ image_id: ''
15
+ };
16
+ const WALLET_BUTTON_SOCIAL = 'apkt-wallet-button-social';
17
+ const WALLET_BUTTON = 'apkt-wallet-button';
18
+ const WALLET_BUTTON_EXTERNAL = 'apkt-wallet-button-external';
19
+ const NAMESPACES = ['eip155', 'solana', 'bip122'];
20
+ describe('AppKitWalletButton', () => {
21
+ beforeAll(() => {
22
+ vi.spyOn(ApiController, 'state', 'get').mockReturnValue({
23
+ ...ApiController.state,
24
+ fetching: true,
25
+ walletButtons: [MetaMask]
26
+ });
27
+ vi.spyOn(ApiController, 'fetchWalletButtons').mockResolvedValue();
28
+ vi.spyOn(ControllersApiController, 'prefetch').mockImplementation(() => Promise.resolve([]));
29
+ });
30
+ beforeEach(() => {
31
+ vi.spyOn(CoreHelperUtil, 'isMobile').mockReturnValue(false);
32
+ ChainController.state.activeCaipAddress = undefined;
33
+ ModalController.state.loading = false;
34
+ });
35
+ test('should connect with social', async () => {
36
+ const element = await fixture(html `<appkit-wallet-button wallet="google"></appkit-wallet-button>`);
37
+ const walletButtonSocial = HelpersUtil.getByTestId(element, WALLET_BUTTON_SOCIAL);
38
+ expect(walletButtonSocial).not.toBeNull();
39
+ expect(walletButtonSocial.getAttribute('name')).toBe('google');
40
+ expect(walletButtonSocial.getAttribute('disabled')).toBeNull();
41
+ expect(walletButtonSocial.getAttribute('loading')).toBeNull();
42
+ vi.spyOn(ConnectorControllerUtil, 'connectSocial').mockRejectedValueOnce('Connection rejected');
43
+ const walletButtonExternalClick = vi.fn();
44
+ walletButtonSocial.addEventListener('click', walletButtonExternalClick);
45
+ await walletButtonSocial.click();
46
+ expect(walletButtonExternalClick).toHaveBeenCalledOnce();
47
+ element.requestUpdate();
48
+ await elementUpdated(element);
49
+ expect(walletButtonSocial.getAttribute('error')).not.toBeNull();
50
+ expect(walletButtonSocial.getAttribute('loading')).toBeNull();
51
+ expect(walletButtonSocial.getAttribute('disabled')).toBeNull();
52
+ vi.spyOn(ConnectorControllerUtil, 'connectSocial').mockImplementationOnce(async () => {
53
+ const chainNamespace = 'eip155';
54
+ const chainId = 1;
55
+ const address = 'eip155:1:0x123';
56
+ ChainController.state.activeCaipAddress = `${chainNamespace}:${chainId}:${address}`;
57
+ return {
58
+ chainNamespace,
59
+ chainId,
60
+ address
61
+ };
62
+ });
63
+ await walletButtonSocial.click();
64
+ expect(walletButtonExternalClick).toHaveBeenCalledTimes(2);
65
+ element.requestUpdate();
66
+ await elementUpdated(element);
67
+ expect(walletButtonSocial.getAttribute('error')).toBeNull();
68
+ expect(walletButtonSocial.getAttribute('loading')).toBeNull();
69
+ expect(walletButtonSocial.getAttribute('disabled')).not.toBeNull();
70
+ });
71
+ test('should connect with walletConnect', async () => {
72
+ vi.spyOn(ParseUtil, 'parseCaipAddress').mockReturnValue({
73
+ chainNamespace: 'eip155',
74
+ chainId: 1,
75
+ address: '0x123'
76
+ });
77
+ const element = await fixture(html `<appkit-wallet-button wallet="metamask"></appkit-wallet-button>`);
78
+ const caipAddress = 'eip155:1:0x123';
79
+ const walletButton = HelpersUtil.getByTestId(element, WALLET_BUTTON);
80
+ const ModalControllerOpenSpy = vi.spyOn(ModalController, 'open');
81
+ const RouterControllerResetSpy = vi.spyOn(RouterController, 'reset');
82
+ expect(walletButton.getAttribute('name')).toBe('MetaMask');
83
+ expect(walletButton.getAttribute('disabled')).toBeNull();
84
+ expect(walletButton.getAttribute('loading')).toBeNull();
85
+ ApiController.state.walletButtons = [MetaMask];
86
+ const walletButtonClick = vi.fn();
87
+ walletButton.addEventListener('click', walletButtonClick);
88
+ await walletButton.click();
89
+ element.requestUpdate();
90
+ await elementUpdated(element);
91
+ expect(walletButton.getAttribute('disabled')).not.toBeNull();
92
+ expect(walletButton.getAttribute('loading')).not.toBeNull();
93
+ expect(walletButtonClick).toHaveBeenCalledOnce();
94
+ expect(ModalControllerOpenSpy).toHaveBeenCalledWith({
95
+ view: 'ConnectingWalletConnect',
96
+ data: { wallet: MetaMask }
97
+ });
98
+ expect(RouterController.state?.data?.wallet).toEqual(MetaMask);
99
+ const modalControllerCloseSpy = vi.spyOn(ModalController, 'close');
100
+ const parseCaipAddressSpy = vi.spyOn(ParseUtil, 'parseCaipAddress');
101
+ ChainController.state.activeCaipAddress = caipAddress;
102
+ await HelpersUtil.sleep(100);
103
+ expect(parseCaipAddressSpy).toHaveBeenCalledWith(caipAddress);
104
+ expect(modalControllerCloseSpy).toHaveBeenCalled();
105
+ expect(RouterControllerResetSpy).toHaveBeenCalledWith('Connect');
106
+ element.requestUpdate();
107
+ await elementUpdated(element);
108
+ expect(walletButton.getAttribute('disabled')).not.toBeNull();
109
+ expect(walletButton.getAttribute('loading')).toBeNull();
110
+ });
111
+ test('should redirect to all wallets on mobile if walletConnect is selected', async () => {
112
+ vi.spyOn(CoreHelperUtil, 'isMobile').mockReturnValue(true);
113
+ const modalControllerOpenSpy = vi.spyOn(ModalController, 'open');
114
+ const element = await fixture(html `<appkit-wallet-button wallet="walletConnect"></appkit-wallet-button>`);
115
+ const walletButton = HelpersUtil.getByTestId(element, WALLET_BUTTON);
116
+ const walletButtonClick = vi.fn();
117
+ walletButton.addEventListener('click', walletButtonClick);
118
+ await walletButton.click();
119
+ expect(walletButtonClick).toHaveBeenCalled();
120
+ expect(modalControllerOpenSpy).toHaveBeenCalledWith({ view: 'AllWallets' });
121
+ });
122
+ test('should connect with external connector', async () => {
123
+ vi.spyOn(ConnectorController, 'getConnector').mockReturnValue({
124
+ id: 'metamask',
125
+ explorerId: MetaMask.id,
126
+ name: 'MetaMask',
127
+ imageUrl: 'data:image/png;base64,mocked...',
128
+ type: 'ANNOUNCED',
129
+ chain: 'eip155'
130
+ });
131
+ ChainController.setActiveNamespace('eip155');
132
+ const element = await fixture(html `<appkit-wallet-button wallet="metamask"></appkit-wallet-button>`);
133
+ const walletButtonExternal = HelpersUtil.getByTestId(element, WALLET_BUTTON_EXTERNAL);
134
+ const walletButtonExternalClick = vi.fn();
135
+ expect(walletButtonExternal).not.toBeNull();
136
+ expect(walletButtonExternal.getAttribute('name')).toBe('MetaMask');
137
+ expect(walletButtonExternal.getAttribute('disabled')).toBeNull();
138
+ expect(walletButtonExternal.getAttribute('loading')).toBeNull();
139
+ expect(walletButtonExternal.imageSrc).toBe('data:image/png;base64,mocked...');
140
+ vi.spyOn(ConnectorControllerUtil, 'connectExternal').mockRejectedValueOnce('Connection rejected');
141
+ walletButtonExternal.addEventListener('click', walletButtonExternalClick);
142
+ await walletButtonExternal.click();
143
+ expect(walletButtonExternalClick).toHaveBeenCalledOnce();
144
+ element.requestUpdate();
145
+ await elementUpdated(element);
146
+ expect(walletButtonExternal.getAttribute('error')).not.toBeNull();
147
+ expect(walletButtonExternal.getAttribute('loading')).toBeNull();
148
+ expect(walletButtonExternal.getAttribute('disabled')).toBeNull();
149
+ vi.spyOn(ConnectorControllerUtil, 'connectExternal').mockImplementationOnce(async () => {
150
+ const chainNamespace = 'eip155';
151
+ const chainId = 1;
152
+ const address = 'eip155:1:0x123';
153
+ ChainController.state.activeCaipAddress = `${chainNamespace}:${chainId}:${address}`;
154
+ return {
155
+ chainNamespace,
156
+ chainId,
157
+ address
158
+ };
159
+ });
160
+ await walletButtonExternal.click();
161
+ expect(walletButtonExternalClick).toHaveBeenCalledTimes(2);
162
+ element.requestUpdate();
163
+ await elementUpdated(element);
164
+ expect(walletButtonExternal.getAttribute('error')).toBeNull();
165
+ expect(walletButtonExternal.getAttribute('loading')).toBeNull();
166
+ expect(walletButtonExternal.getAttribute('disabled')).not.toBeNull();
167
+ });
168
+ test('should call connectSocial with correct namespace (eip155, solana and bip122)', async () => {
169
+ for (const namespace of NAMESPACES) {
170
+ const connectSocialSpy = vi
171
+ .spyOn(ConnectorControllerUtil, 'connectSocial')
172
+ .mockResolvedValueOnce({
173
+ chainNamespace: namespace,
174
+ chainId: 1,
175
+ address: 'dummy-address'
176
+ });
177
+ const element = await fixture(html `<appkit-wallet-button wallet="google" namespace="${namespace}"></appkit-wallet-button>`);
178
+ const walletButtonSocial = HelpersUtil.getByTestId(element, WALLET_BUTTON_SOCIAL);
179
+ await walletButtonSocial.click();
180
+ expect(connectSocialSpy).toHaveBeenCalledWith(expect.objectContaining({
181
+ social: 'google',
182
+ namespace
183
+ }));
184
+ }
185
+ });
186
+ test('should call connectExternal with connector having correct namespace (eip155, solana and bip122)', async () => {
187
+ for (const namespace of NAMESPACES) {
188
+ vi.spyOn(ConnectorController, 'getConnector').mockReturnValue({
189
+ id: 'metamask',
190
+ type: 'ANNOUNCED',
191
+ name: 'MetaMask',
192
+ explorerId: MetaMask.id,
193
+ imageUrl: 'data:image/png;base64,mocked...',
194
+ chain: namespace
195
+ });
196
+ const connectExternalSpy = vi
197
+ .spyOn(ConnectorControllerUtil, 'connectExternal')
198
+ .mockResolvedValueOnce({
199
+ chainNamespace: namespace,
200
+ chainId: 1,
201
+ address: 'dummy-address'
202
+ });
203
+ const element = await fixture(html `<appkit-wallet-button
204
+ wallet="metamask"
205
+ namespace="${namespace}"
206
+ ></appkit-wallet-button>`);
207
+ const walletButtonExternal = HelpersUtil.getByTestId(element, WALLET_BUTTON_EXTERNAL);
208
+ await walletButtonExternal.click();
209
+ expect(connectExternalSpy).toHaveBeenCalledWith(expect.objectContaining({
210
+ id: 'metamask',
211
+ chain: namespace
212
+ }));
213
+ }
214
+ });
215
+ test('should call connectWalletConnect with connector having correct namespace (eip155, solana and bip122)', async () => {
216
+ for (const namespace of NAMESPACES) {
217
+ const walletConnectConnector = {
218
+ id: 'walletConnect',
219
+ type: 'WALLET_CONNECT',
220
+ name: 'WalletConnect',
221
+ chain: namespace
222
+ };
223
+ vi.spyOn(ConnectorController, 'getConnector').mockReturnValue(walletConnectConnector);
224
+ vi.spyOn(ConnectorController.state, 'connectors', 'get').mockReturnValue([
225
+ walletConnectConnector
226
+ ]);
227
+ const connectWalletConnectSpy = vi
228
+ .spyOn(ConnectorControllerUtil, 'connectWalletConnect')
229
+ .mockResolvedValueOnce({
230
+ chainNamespace: namespace,
231
+ chainId: 1,
232
+ address: 'dummy-address'
233
+ });
234
+ const element = await fixture(html `<appkit-wallet-button
235
+ wallet="walletConnect"
236
+ namespace="${namespace}"
237
+ ></appkit-wallet-button>`);
238
+ const walletButton = HelpersUtil.getByTestId(element, WALLET_BUTTON);
239
+ await walletButton.click();
240
+ expect(connectWalletConnectSpy).toHaveBeenCalledWith(expect.objectContaining({
241
+ connector: expect.objectContaining({
242
+ id: 'walletConnect',
243
+ chain: namespace
244
+ })
245
+ }));
246
+ }
247
+ });
248
+ });
249
+ //# sourceMappingURL=appkit-wallet-button.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appkit-wallet-button.test.js","sourceRoot":"","sources":["../../../../../src/tests/scaffold-ui/appkit-wallet-button.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export const HelpersUtil = {
2
+ querySelect(element, selector) {
3
+ return element.shadowRoot?.querySelector(selector);
4
+ },
5
+ getByTestId(element, testId) {
6
+ return this.querySelect(element, `[data-testid="${testId}"]`);
7
+ },
8
+ sleep(ms) {
9
+ return new Promise(resolve => {
10
+ setTimeout(resolve, ms);
11
+ });
12
+ }
13
+ };
14
+ //# sourceMappingURL=HelperUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelperUtil.js","sourceRoot":"","sources":["../../../../../src/tests/utils/HelperUtil.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW,CAAC,OAA8B,EAAE,QAAgB;QAC1D,OAAO,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAgB,CAAA;IACnE,CAAC;IACD,WAAW,CAAC,OAA8B,EAAE,MAAc;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,MAAM,IAAI,CAAC,CAAA;IAC/D,CAAC;IACD,KAAK,CAAC,EAAU;QACd,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -0,0 +1,54 @@
1
+ export const ConstantsUtil = {
2
+ SECURE_SITE_ORIGIN: (typeof process !== 'undefined' && typeof process.env !== 'undefined'
3
+ ? process.env['NEXT_PUBLIC_SECURE_SITE_ORIGIN']
4
+ : undefined) || 'https://secure.walletconnect.org',
5
+ Socials: ['google', 'github', 'apple', 'facebook', 'x', 'discord', 'farcaster'],
6
+ Email: 'email',
7
+ WalletButtonsIds: {
8
+ coinbase: 'fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa',
9
+ metamask: 'c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96',
10
+ trust: '4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0',
11
+ okx: '971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709',
12
+ bitget: '38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662',
13
+ binance: '8a0ee50d1f22f6651afcae7eb4253e52a3310b90af5daef78a8c4929a9bb99d4',
14
+ uniswap: 'c03dfee351b6fcc421b4494ea33b9d4b92a984f87aa76d1663bb28705e95034a',
15
+ safepal: '0b415a746fb9ee99cce155c2ceca0c6f6061b1dbca2d722b3ba16381d0562150',
16
+ rainbow: '1ae92b26df02f0abca6304df07debccd18262fdf5fe82daa81593582dac9a369',
17
+ bybit: '15c8b91ade1a4e58f3ce4e7a0dd7f42b47db0c8df7e0d84f63eb39bcb96c4e0f',
18
+ tokenpocket: '20459438007b75f4f4acb98bf29aa3b800550309646d375da5fd4aac6c2a2c66',
19
+ ledger: '19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927',
20
+ 'timeless-x': '344d0e58b139eb1b6da0c29ea71d52a8eace8b57897c6098cb9b46012665c193',
21
+ safe: '225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f',
22
+ zerion: 'ecc4036f814562b41a5268adc86270fba1365471402006302e70169465b7ac18',
23
+ oneinch: 'c286eebc742a537cd1d6818363e9dc53b21759a1e8e5d9b263d0c03ec7703576',
24
+ 'crypto-com': 'f2436c67184f158d1beda5df53298ee84abfc367581e4505134b5bcf5f46697d',
25
+ imtoken: 'ef333840daf915aafdc4a004525502d6d49d77bd9c65e0642dbaefb3c2893bef',
26
+ kraken: '18450873727504ae9315a084fa7624b5297d2fe5880f0982979c17345a138277',
27
+ ronin: '541d5dcd4ede02f3afaf75bf8e3e4c4f1fb09edb5fa6c4377ebf31c2785d9adf',
28
+ robinhood: '8837dd9413b1d9b585ee937d27a816590248386d9dbf59f5cd3422dbbb65683e',
29
+ exodus: 'e9ff15be73584489ca4a66f64d32c4537711797e30b6660dbcb71ea72a42b1f4',
30
+ argent: 'bc949c5d968ae81310268bf9193f9c9fb7bb4e1283e1284af8f2bd4992535fd6',
31
+ jupiter: '0ef262ca2a56b88d179c93a21383fee4e135bd7bc6680e5c2356ff8e38301037',
32
+ solflare: '1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79',
33
+ phantom: 'a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393',
34
+ coin98: '2a3c89040ac3b723a1972a33a125b1db11e258a6975d3a61252cd64e6ea5ea01',
35
+ 'magic-eden': '8b830a2b724a9c3fbab63af6f55ed29c9dfa8a55e732dc88c80a196a2ba136c6',
36
+ backpack: '2bd8c14e035c2d48f184aaa168559e86b0e3433228d3c4075900a221785019b0',
37
+ frontier: '85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041',
38
+ xverse: '2a87d74ae02e10bdd1f51f7ce6c4e1cc53cd5f2c0b6b5ad0d7b3007d2b13de7b',
39
+ leather: '483afe1df1df63daf313109971ff3ef8356ddf1cc4e45877d205eee0b7893a13',
40
+ haha: '719bd888109f5e8dd23419b20e749900ce4d2fc6858cf588395f19c82fd036b3',
41
+ 'ambire-wallet': '2c81da3add65899baeac53758a07e652eea46dbb5195b8074772c62a77bbf568',
42
+ bitpay: 'b4678fefcc469583ed4ef58a5bd90ce86208b82803f3c45f2de3e0973d268835',
43
+ 'blade-wallet': 'a9104b630bac1929ad9ac2a73a17ed4beead1889341f307bff502f89b46c8501',
44
+ brave: '163d2cf19babf05eb8962e9748f9ebe613ed52ebf9c8107c9a0f104bfcf161b3',
45
+ coinstats: 'bcaec16e531fb5f6dc690d7b70d570421e0209af9a0fe77c6419d516fe0098c2',
46
+ 'kresus-superapp': '56bec983b47c8b6eb774890c1c8ae9d95334e10bdb126ab6c11dfaf56fb2b31c',
47
+ 'plena-app': '9654c004e02e492c30904a820154e239886edbf4d66bc5d372060809ef4c9111',
48
+ status: 'af9a6dfff9e63977bbde28fb23518834f08b696fe8bff6dd6827acad1814c6be',
49
+ 'tomo-wallet': '5e4a8cc31d062b78a7ad9e017135574809b01c4dbbf30e4dbb467ddd43025618',
50
+ valora: 'd01c7758d741b363e637a817a09bcf579feae4db9f5bb16f599fdd1f66e2f974',
51
+ 'zengo-wallet': '9414d5a85c8f4eabc1b5b15ebe0cd399e1a2a9d35643ab0ad22a6e4a32f596f0'
52
+ }
53
+ };
54
+ //# sourceMappingURL=ConstantsUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConstantsUtil.js","sourceRoot":"","sources":["../../../../src/utils/ConstantsUtil.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB,EAEhB,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW;QACnE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC,IAAI,kCAAkC;IAEtD,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAU;IACxF,KAAK,EAAE,OAAgB;IAEvB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,kEAAkE;QAC5E,QAAQ,EAAE,kEAAkE;QAC5E,KAAK,EAAE,kEAAkE;QACzE,GAAG,EAAE,kEAAkE;QACvE,MAAM,EAAE,kEAAkE;QAC1E,OAAO,EAAE,kEAAkE;QAC3E,OAAO,EAAE,kEAAkE;QAC3E,OAAO,EAAE,kEAAkE;QAC3E,OAAO,EAAE,kEAAkE;QAC3E,KAAK,EAAE,kEAAkE;QACzE,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,kEAAkE;QAC1E,YAAY,EAAE,kEAAkE;QAChF,IAAI,EAAE,kEAAkE;QACxE,MAAM,EAAE,kEAAkE;QAC1E,OAAO,EAAE,kEAAkE;QAC3E,YAAY,EAAE,kEAAkE;QAChF,OAAO,EAAE,kEAAkE;QAC3E,MAAM,EAAE,kEAAkE;QAC1E,KAAK,EAAE,kEAAkE;QACzE,SAAS,EAAE,kEAAkE;QAC7E,MAAM,EAAE,kEAAkE;QAC1E,MAAM,EAAE,kEAAkE;QAC1E,OAAO,EAAE,kEAAkE;QAC3E,QAAQ,EAAE,kEAAkE;QAC5E,OAAO,EAAE,kEAAkE;QAC3E,MAAM,EAAE,kEAAkE;QAC1E,YAAY,EAAE,kEAAkE;QAChF,QAAQ,EAAE,kEAAkE;QAC5E,QAAQ,EAAE,kEAAkE;QAC5E,MAAM,EAAE,kEAAkE;QAC1E,OAAO,EAAE,kEAAkE;QAC3E,IAAI,EAAE,kEAAkE;QACxE,eAAe,EAAE,kEAAkE;QACnF,MAAM,EAAE,kEAAkE;QAC1E,cAAc,EAAE,kEAAkE;QAClF,KAAK,EAAE,kEAAkE;QACzE,SAAS,EAAE,kEAAkE;QAC7E,iBAAiB,EAAE,kEAAkE;QACrF,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,kEAAkE;QAC1E,aAAa,EAAE,kEAAkE;QACjF,MAAM,EAAE,kEAAkE;QAC1E,cAAc,EAAE,kEAAkE;KAC1E;CACX,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TypeUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeUtil.js","sourceRoot":"","sources":["../../../../src/utils/TypeUtil.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { ApiController } from '../controllers/ApiController.js';
2
+ import { ConstantsUtil } from './ConstantsUtil.js';
3
+ export const WalletUtil = {
4
+ getWalletButton(wallet) {
5
+ const walletButtonIds = ConstantsUtil.WalletButtonsIds;
6
+ if (wallet in walletButtonIds) {
7
+ return ApiController.state.walletButtons.find(walletButton => walletButton.id === walletButtonIds[wallet]);
8
+ }
9
+ return undefined;
10
+ },
11
+ isWalletButtonReady(wallet) {
12
+ if (wallet in ConstantsUtil.WalletButtonsIds) {
13
+ return Boolean(WalletUtil.getWalletButton(wallet));
14
+ }
15
+ return true;
16
+ }
17
+ };
18
+ //# sourceMappingURL=WalletUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletUtil.js","sourceRoot":"","sources":["../../../../src/utils/WalletUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,eAAe,CAAC,MAAc;QAC5B,MAAM,eAAe,GAAG,aAAa,CAAC,gBAAgB,CAAA;QAEtD,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,OAAO,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAC3C,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,eAAe,CAAC,MAAsC,CAAC,CAC5F,CAAA;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,mBAAmB,CAAC,MAAc;QAChC,IAAI,MAAM,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;QACpD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA"}