@reown/appkit-adapter-bitcoin 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.
Files changed (39) hide show
  1. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  2. package/package.json +4 -5
  3. package/dist/esm/tests/BitcoinAdapter.test.js +0 -411
  4. package/dist/esm/tests/BitcoinAdapter.test.js.map +0 -1
  5. package/dist/esm/tests/connectors/LeatherConnector.test.js +0 -138
  6. package/dist/esm/tests/connectors/LeatherConnector.test.js.map +0 -1
  7. package/dist/esm/tests/connectors/OKXConnector.test.js +0 -172
  8. package/dist/esm/tests/connectors/OKXConnector.test.js.map +0 -1
  9. package/dist/esm/tests/connectors/SatsConnectConnector.test.js +0 -249
  10. package/dist/esm/tests/connectors/SatsConnectConnector.test.js.map +0 -1
  11. package/dist/esm/tests/connectors/WalletStandardConnector.test.js +0 -297
  12. package/dist/esm/tests/connectors/WalletStandardConnector.test.js.map +0 -1
  13. package/dist/esm/tests/mocks/mockSatsConnect.js +0 -60
  14. package/dist/esm/tests/mocks/mockSatsConnect.js.map +0 -1
  15. package/dist/esm/tests/mocks/mockUTXO.js +0 -15
  16. package/dist/esm/tests/mocks/mockUTXO.js.map +0 -1
  17. package/dist/esm/tests/mocks/mockUniversalProvider.js +0 -64
  18. package/dist/esm/tests/mocks/mockUniversalProvider.js.map +0 -1
  19. package/dist/esm/tests/mocks/mockWalletStandard.js +0 -47
  20. package/dist/esm/tests/mocks/mockWalletStandard.js.map +0 -1
  21. package/dist/esm/tests/utils/BitcoinApi.test.js +0 -48
  22. package/dist/esm/tests/utils/BitcoinApi.test.js.map +0 -1
  23. package/dist/esm/tests/utils/UnitsUtils.test.js +0 -21
  24. package/dist/esm/tests/utils/UnitsUtils.test.js.map +0 -1
  25. package/dist/esm/tests/utils/WalletConnectProvider.test.js +0 -275
  26. package/dist/esm/tests/utils/WalletConnectProvider.test.js.map +0 -1
  27. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  28. package/dist/types/tests/BitcoinAdapter.test.d.ts +0 -1
  29. package/dist/types/tests/connectors/LeatherConnector.test.d.ts +0 -1
  30. package/dist/types/tests/connectors/OKXConnector.test.d.ts +0 -1
  31. package/dist/types/tests/connectors/SatsConnectConnector.test.d.ts +0 -1
  32. package/dist/types/tests/connectors/WalletStandardConnector.test.d.ts +0 -1
  33. package/dist/types/tests/mocks/mockSatsConnect.d.ts +0 -27
  34. package/dist/types/tests/mocks/mockUTXO.d.ts +0 -2
  35. package/dist/types/tests/mocks/mockUniversalProvider.d.ts +0 -6
  36. package/dist/types/tests/mocks/mockWalletStandard.d.ts +0 -7
  37. package/dist/types/tests/utils/BitcoinApi.test.d.ts +0 -1
  38. package/dist/types/tests/utils/UnitsUtils.test.d.ts +0 -1
  39. package/dist/types/tests/utils/WalletConnectProvider.test.d.ts +0 -1
@@ -1,297 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- import { bitcoin, bitcoinTestnet, mainnet } from '@reown/appkit/networks';
3
- import { WalletStandardConnector } from '../../src/connectors/WalletStandardConnector';
4
- import { MethodNotSupportedError } from '../../src/errors/MethodNotSupportedError';
5
- import { mockWalletStandardProvider } from '../mocks/mockWalletStandard';
6
- vi.mock('@wallet-standard/app', async () => Promise.resolve({
7
- getWallets: () => ({
8
- get: () => [mockWalletStandardProvider()],
9
- on: () => { }
10
- })
11
- }));
12
- describe('WalletStandardConnector', () => {
13
- let connector;
14
- let wallet;
15
- let requestedChains;
16
- beforeEach(() => {
17
- // requested chains may contain not bip122 chains
18
- requestedChains = [
19
- { ...mainnet, caipNetworkId: 'eip155:1', chainNamespace: 'eip155' },
20
- bitcoin,
21
- bitcoinTestnet
22
- ];
23
- wallet = mockWalletStandardProvider();
24
- connector = new WalletStandardConnector({
25
- wallet,
26
- requestedChains
27
- });
28
- });
29
- it('should validate the test fixture', async () => {
30
- expect(connector).toBeInstanceOf(WalletStandardConnector);
31
- });
32
- it('should validate the metadata', async () => {
33
- expect(connector.chain).toBe('bip122');
34
- expect(connector.type).toBe('ANNOUNCED');
35
- expect(connector.id).toBe(wallet.name);
36
- expect(connector.name).toBe(wallet.name);
37
- expect(connector.imageUrl).toBe(wallet.icon);
38
- });
39
- it('should throw if feature is not available', async () => {
40
- wallet = mockWalletStandardProvider({
41
- features: {}
42
- });
43
- connector = new WalletStandardConnector({
44
- wallet,
45
- requestedChains
46
- });
47
- await expect(connector.connect()).rejects.toThrow(MethodNotSupportedError);
48
- });
49
- describe('chains', () => {
50
- it('should map correctly only chains that are requested and the wallet supports', async () => {
51
- expect(connector.chains).toEqual([bitcoin]);
52
- });
53
- it('should map network id aliases', async () => {
54
- vi.spyOn(wallet, 'chains', 'get').mockReturnValueOnce(['bitcoin:mainnet', 'bitcoin:testnet']);
55
- expect(connector.chains).toEqual([bitcoin, bitcoinTestnet]);
56
- });
57
- });
58
- describe('watchWallets', () => {
59
- it('should get wallets using the callback', async () => {
60
- const callbackMock = vi.fn((...args) => {
61
- expect(args[0]).toBeInstanceOf(WalletStandardConnector);
62
- });
63
- WalletStandardConnector.watchWallets({
64
- callback: callbackMock,
65
- requestedChains
66
- });
67
- expect(callbackMock).toHaveBeenCalled();
68
- });
69
- });
70
- describe('connect', () => {
71
- it('connect correctly', async () => {
72
- await expect(connector.connect()).resolves.not.toThrow();
73
- });
74
- it('should throw if account is not found', async () => {
75
- wallet = mockWalletStandardProvider({
76
- features: {
77
- 'bitcoin:connect': {
78
- connect: async () => Promise.resolve({ accounts: [] }),
79
- version: '1.0.0'
80
- }
81
- }
82
- });
83
- connector = new WalletStandardConnector({
84
- wallet,
85
- requestedChains
86
- });
87
- await expect(connector.connect()).rejects.toThrow('No account found');
88
- });
89
- it('should bind events', async () => {
90
- const eventsFeatureSpy = vi.spyOn(wallet.features['standard:events'], 'on');
91
- await connector.connect();
92
- expect(eventsFeatureSpy).toHaveBeenCalledWith('change', expect.any(Function));
93
- });
94
- });
95
- describe('getAccountAddresses', () => {
96
- it('should map accounts correctly', async () => {
97
- vi.spyOn(wallet, 'accounts', 'get').mockReturnValueOnce([
98
- mockWalletStandardProvider.mockAccount({
99
- address: 'address1',
100
- publicKey: Buffer.from('publicKey1')
101
- })
102
- ]);
103
- const accounts = await connector.getAccountAddresses();
104
- expect(accounts).toEqual([
105
- {
106
- address: 'address1',
107
- publicKey: '7075626c69634b657931',
108
- purpose: 'payment'
109
- }
110
- ]);
111
- });
112
- it('should filter duplicate addresses', async () => {
113
- vi.spyOn(wallet, 'accounts', 'get').mockReturnValueOnce([
114
- mockWalletStandardProvider.mockAccount({
115
- address: 'address1',
116
- publicKey: Buffer.from('publicKey1')
117
- }),
118
- mockWalletStandardProvider.mockAccount({
119
- address: 'address1',
120
- publicKey: Buffer.from('publicKey2')
121
- })
122
- ]);
123
- const accounts = await connector.getAccountAddresses();
124
- expect(accounts).toEqual([
125
- {
126
- address: 'address1',
127
- publicKey: '7075626c69634b657931',
128
- purpose: 'payment'
129
- }
130
- ]);
131
- });
132
- });
133
- describe('signMessage', () => {
134
- it('should sign message correctly', async () => {
135
- const accountMock = mockWalletStandardProvider.mockAccount({
136
- address: 'address',
137
- publicKey: Buffer.from('publicKey1')
138
- });
139
- vi.spyOn(wallet, 'accounts', 'get').mockReturnValueOnce([accountMock]);
140
- const signMessageFeatureSpy = vi.spyOn(wallet.features['bitcoin:signMessage'], 'signMessage');
141
- await connector.signMessage({ address: 'address', message: 'message1' });
142
- expect(signMessageFeatureSpy).toHaveBeenCalledWith({
143
- message: expect.objectContaining(Uint8Array.from([109, 101, 115, 115, 97, 103, 101, 49])),
144
- account: expect.objectContaining(accountMock)
145
- });
146
- });
147
- it('should throw if account is not found', async () => {
148
- wallet = mockWalletStandardProvider({
149
- features: {
150
- 'bitcoin:signMessage': {
151
- signMessage: async () => Promise.reject(new Error('Account not found')),
152
- version: '1.0.0'
153
- }
154
- }
155
- });
156
- connector = new WalletStandardConnector({
157
- wallet,
158
- requestedChains
159
- });
160
- await expect(connector.signMessage({ address: 'address1', message: 'message1' })).rejects.toThrow('Account not found');
161
- });
162
- it('should throw if response is empty', async () => {
163
- vi.spyOn(wallet, 'accounts', 'get').mockReturnValueOnce([
164
- mockWalletStandardProvider.mockAccount({
165
- address: 'address'
166
- })
167
- ]);
168
- vi.spyOn(wallet.features['bitcoin:signMessage'], 'signMessage').mockReturnValueOnce(Promise.resolve([]));
169
- await expect(connector.signMessage({ address: 'address', message: 'message1' })).rejects.toThrow('No response from wallet');
170
- });
171
- });
172
- describe('signPSBT', () => {
173
- it('should sign PSBT correctly', async () => {
174
- const accountMock = mockWalletStandardProvider.mockAccount({
175
- address: 'address',
176
- publicKey: Buffer.from('publicKey1')
177
- });
178
- vi.spyOn(wallet, 'accounts', 'get').mockReturnValueOnce([accountMock]);
179
- const signPsbtFeatureSpy = vi.spyOn(wallet.features['bitcoin:signTransaction'], 'signTransaction');
180
- signPsbtFeatureSpy.mockReturnValueOnce([{ signedPsbt: Buffer.from('mock_signed_psbt') }]);
181
- const response = await connector.signPSBT({
182
- psbt: 'psbt1',
183
- signInputs: [
184
- {
185
- address: 'address',
186
- index: 0,
187
- sighashTypes: [1]
188
- }
189
- ]
190
- });
191
- expect(signPsbtFeatureSpy).toHaveBeenCalledWith({
192
- psbt: expect.objectContaining(Uint8Array.from([])),
193
- inputsToSign: expect.arrayContaining([
194
- expect.objectContaining({
195
- account: accountMock,
196
- signingIndexes: [0],
197
- sigHash: undefined
198
- })
199
- ])
200
- });
201
- expect(response).toEqual({ psbt: 'bW9ja19zaWduZWRfcHNidA==', txid: undefined });
202
- });
203
- it('should throw if account is not found', async () => {
204
- await expect(connector.signPSBT({
205
- psbt: 'psbt1',
206
- signInputs: [
207
- {
208
- address: 'mock_address',
209
- index: 0,
210
- sighashTypes: [1]
211
- }
212
- ]
213
- })).rejects.toThrow('Account with address mock_address not found');
214
- });
215
- it('should throw if response is empty', async () => {
216
- vi.spyOn(wallet, 'accounts', 'get').mockReturnValueOnce([
217
- mockWalletStandardProvider.mockAccount({
218
- address: 'address'
219
- })
220
- ]);
221
- vi.spyOn(wallet.features['bitcoin:signTransaction'], 'signTransaction').mockReturnValueOnce(Promise.resolve([]));
222
- await expect(connector.signPSBT({
223
- psbt: 'psbt1',
224
- signInputs: [
225
- {
226
- address: 'address',
227
- index: 0,
228
- sighashTypes: [1]
229
- }
230
- ]
231
- })).rejects.toThrow('No response from wallet');
232
- });
233
- it('should throw if broadcast is true', async () => {
234
- await expect(connector.signPSBT({
235
- psbt: 'psbt1',
236
- signInputs: [
237
- {
238
- address: 'address',
239
- index: 0,
240
- sighashTypes: [1]
241
- }
242
- ],
243
- broadcast: true
244
- })).rejects.toThrow(MethodNotSupportedError);
245
- });
246
- });
247
- describe('sendTransfer', () => {
248
- it('should throw MethodNotSupportedError', async () => {
249
- await expect(connector.sendTransfer({
250
- amount: '1000',
251
- recipient: 'address'
252
- })).rejects.toThrow(MethodNotSupportedError);
253
- });
254
- });
255
- describe('disconnect', () => {
256
- it('should disconnect correctly', async () => {
257
- await expect(connector.disconnect()).resolves.not.toThrow();
258
- });
259
- it('should unbind events', async () => {
260
- const unsubscribeCallbackMock = vi.fn(() => { });
261
- vi.spyOn(wallet.features['standard:events'], 'on').mockReturnValueOnce(unsubscribeCallbackMock);
262
- await connector.connect();
263
- await connector.disconnect();
264
- expect(unsubscribeCallbackMock).toHaveBeenCalled();
265
- });
266
- });
267
- describe('request', () => {
268
- it('should throw MethodNotSupportedError', async () => {
269
- await expect(connector.request({})).rejects.toThrow(MethodNotSupportedError);
270
- });
271
- });
272
- describe('events', () => {
273
- it('should not throw if events feature is not available', async () => {
274
- delete wallet.features['standard:events'];
275
- await expect(connector.connect()).resolves.not.toThrow();
276
- });
277
- it('should emit disconnect if change event has no accounts', async () => {
278
- const eventsFeatureSpy = vi.spyOn(wallet.features['standard:events'], 'on');
279
- await connector.connect();
280
- const changeCallback = eventsFeatureSpy.mock.calls[0][1];
281
- const disconnectCallback = vi.fn(() => { });
282
- connector.on('disconnect', disconnectCallback);
283
- changeCallback({ accounts: [] });
284
- expect(disconnectCallback).toHaveBeenCalled();
285
- });
286
- it('should emit accountsChanged if change event has accounts', async () => {
287
- const eventsFeatureSpy = vi.spyOn(wallet.features['standard:events'], 'on');
288
- await connector.connect();
289
- const changeCallback = eventsFeatureSpy.mock.calls[0][1];
290
- const accountsChangedCallback = vi.fn(() => { });
291
- connector.on('accountsChanged', accountsChangedCallback);
292
- changeCallback({ accounts: [{ address: 'address1' }, { address: 'address2' }] });
293
- expect(accountsChangedCallback).toHaveBeenCalledWith(['address1', 'address2']);
294
- });
295
- });
296
- });
297
- //# sourceMappingURL=WalletStandardConnector.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WalletStandardConnector.test.js","sourceRoot":"","sources":["../../../../tests/connectors/WalletStandardConnector.test.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- import { vi } from 'vitest';
2
- export function mockSatsConnectProvider(replaces = {}) {
3
- const id = replaces.id || 'mock_provider_id';
4
- const wallet = mockSatsConnectWindowProvider(id);
5
- const provider = {
6
- id,
7
- icon: 'mock_icon',
8
- name: 'mock_provider_name',
9
- chromeWebStoreUrl: '',
10
- googlePlayStoreUrl: '',
11
- iOSAppStoreUrl: '',
12
- methods: ['getAddresses', 'signPsbt', 'sendTransfer', 'signMessage'],
13
- mozillaAddOnsUrl: '',
14
- webUrl: '',
15
- ...replaces
16
- };
17
- if (window.btc_providers) {
18
- window.btc_providers = window.btc_providers.filter(p => p.id !== id);
19
- window.btc_providers.push(provider);
20
- }
21
- else {
22
- window.btc_providers = [provider];
23
- }
24
- return { provider, wallet };
25
- }
26
- mockSatsConnectProvider.mockRequestResolve = (result) => ({
27
- id: 'mock_request_id',
28
- jsonrpc: '2.0',
29
- result
30
- });
31
- mockSatsConnectProvider.mockRequestReject = (error = {}) => ({
32
- id: 'mock_request_id',
33
- jsonrpc: '2.0',
34
- error: {
35
- code: -32000,
36
- message: 'Mocked error',
37
- ...error
38
- }
39
- });
40
- export function mockSatsConnectWindowProvider(id) {
41
- const windowProvider = {
42
- addListener: vi.fn(() => () => undefined),
43
- connect: vi.fn(),
44
- createInscription: vi.fn(),
45
- createRepeatInscriptions: vi.fn(),
46
- request: vi.fn(() => Promise.resolve({
47
- id: 'mock_request_id',
48
- jsonrpc: '2.0',
49
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
- result: {}
51
- })),
52
- sendBtcTransaction: vi.fn(),
53
- signMessage: vi.fn(),
54
- signMultipleTransactions: vi.fn(),
55
- signTransaction: vi.fn()
56
- };
57
- window[id] = windowProvider;
58
- return windowProvider;
59
- }
60
- //# sourceMappingURL=mockSatsConnect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockSatsConnect.js","sourceRoot":"","sources":["../../../../tests/mocks/mockSatsConnect.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,EAAE,EAAE,MAAM,QAAQ,CAAA;AAMtC,MAAM,UAAU,uBAAuB,CAAC,WAAyC,EAAE;IAIjF,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,kBAAkB,CAAA;IAE5C,MAAM,MAAM,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAwB;QACpC,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,oBAAoB;QAC1B,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,EAAE;QACtB,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC;QACpE,gBAAgB,EAAE,EAAE;QACpB,MAAM,EAAE,EAAE;QACV,GAAG,QAAQ;KACZ,CAAA;IAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACpE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AAC7B,CAAC;AAED,uBAAuB,CAAC,kBAAkB,GAAG,CAAI,MAAS,EAAE,EAAE,CAAC,CAAC;IAC9D,EAAE,EAAE,iBAAiB;IACrB,OAAO,EAAE,KAAc;IACvB,MAAM;CACP,CAAC,CAAA;AAEF,uBAAuB,CAAC,iBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,EAAE,EAAE,iBAAiB;IACrB,OAAO,EAAE,KAAc;IACvB,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,KAAK;QACZ,OAAO,EAAE,cAAc;QACvB,GAAG,KAAK;KACU;CACrB,CAAC,CAAA;AAEF,MAAM,UAAU,6BAA6B,CAAC,EAAU;IACtD,MAAM,cAAc,GAAG;QACrB,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACzC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;QACjC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAClB,OAAO,CAAC,OAAO,CAAC;YACd,EAAE,EAAE,iBAAiB;YACrB,OAAO,EAAE,KAAc;YACvB,8DAA8D;YAC9D,MAAM,EAAE,EAAS;SAClB,CAAC,CACH;QACD,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;QACjC,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;KACzB,CAGA;IAAC,MAAc,CAAC,EAAE,CAAC,GAAG,cAAc,CAAA;IAErC,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -1,15 +0,0 @@
1
- export function mockUTXO(replaces = {}) {
2
- return {
3
- txid: 'mock_txid',
4
- vout: 0,
5
- value: 1000,
6
- status: {
7
- confirmed: true,
8
- block_height: 1,
9
- block_hash: 'mock_block_hash',
10
- block_time: 1
11
- },
12
- ...replaces
13
- };
14
- }
15
- //# sourceMappingURL=mockUTXO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockUTXO.js","sourceRoot":"","sources":["../../../../tests/mocks/mockUTXO.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,WAAqC,EAAE;IAC9D,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,IAAI;QACX,MAAM,EAAE;YACN,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,iBAAiB;YAC7B,UAAU,EAAE,CAAC;SACd;QACD,GAAG,QAAQ;KACZ,CAAA;AACH,CAAC"}
@@ -1,64 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { bitcoin } from '@reown/appkit/networks';
3
- export function mockUniversalProvider(replaces = {}) {
4
- return {
5
- connect: vi.fn(),
6
- disconnect: vi.fn(),
7
- request: vi.fn(),
8
- on: vi.fn(),
9
- client: {
10
- core: {
11
- crypto: {
12
- getClientId: vi.fn(() => Promise.resolve('client-id'))
13
- }
14
- }
15
- },
16
- setDefaultChain: vi.fn(),
17
- ...replaces
18
- };
19
- }
20
- mockUniversalProvider.mockSession = (replaces = {}) => ({
21
- acknowledged: false,
22
- authentication: [],
23
- controller: '',
24
- expiry: 0,
25
- namespaces: {
26
- bip122: {
27
- accounts: [`${bitcoin.caipNetworkId}:address`],
28
- events: [],
29
- methods: ['sendTransfer', 'signMessage', 'signPsbt', 'getAccountAddresses']
30
- }
31
- },
32
- optionalNamespaces: {},
33
- pairingTopic: '',
34
- peer: {
35
- metadata: {
36
- description: '',
37
- url: '',
38
- icons: [],
39
- name: '',
40
- redirect: undefined,
41
- verifyUrl: ''
42
- },
43
- publicKey: ''
44
- },
45
- relay: {
46
- protocol: '',
47
- data: undefined
48
- },
49
- requiredNamespaces: {},
50
- self: {
51
- metadata: {
52
- description: '',
53
- url: '',
54
- icons: [],
55
- name: '',
56
- redirect: undefined,
57
- verifyUrl: ''
58
- },
59
- publicKey: ''
60
- },
61
- topic: '',
62
- ...replaces
63
- });
64
- //# sourceMappingURL=mockUniversalProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockUniversalProvider.js","sourceRoot":"","sources":["../../../../tests/mocks/mockUniversalProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,MAAM,UAAU,qBAAqB,CACnC,WAAuC,EAAE;IAEzC,OAAO;QACL,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;QACnB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACX,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,MAAM,EAAE;oBACN,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;iBACvD;aACF;SACF;QACD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,GAAG,QAAQ;KACS,CAAA;AACxB,CAAC;AAED,qBAAqB,CAAC,WAAW,GAAG,CAClC,WAAyC,EAAE,EACtB,EAAE,CAAC,CAAC;IACzB,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,CAAC;IACT,UAAU,EAAE;QACV,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,UAAU,CAAC;YAC9C,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB,CAAC;SAC5E;KACF;IACD,kBAAkB,EAAE,EAAE;IACtB,YAAY,EAAE,EAAE;IAChB,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,EAAE;SACd;QACD,SAAS,EAAE,EAAE;KACd;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,SAAS;KAChB;IACD,kBAAkB,EAAE,EAAE;IACtB,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,EAAE;SACd;QACD,SAAS,EAAE,EAAE;KACd;IACD,KAAK,EAAE,EAAE;IACT,GAAG,QAAQ;CACZ,CAAC,CAAA"}
@@ -1,47 +0,0 @@
1
- import { vi } from 'vitest';
2
- import { bitcoin } from '@reown/appkit/networks';
3
- export function mockWalletStandardProvider(replaces = {}) {
4
- return {
5
- accounts: [],
6
- features: mockWalletStandardProvider.mockFeatures(),
7
- chains: [bitcoin.caipNetworkId],
8
- icon: 'data:image/svg+xml;base64,mock',
9
- name: 'mock_wallet',
10
- version: '1.0.0',
11
- ...replaces
12
- };
13
- }
14
- mockWalletStandardProvider.mockFeatures = (replaces = {}) => ({
15
- 'bitcoin:connect': {
16
- connect: async () => Promise.resolve({ accounts: [mockWalletStandardProvider.mockAccount()] }),
17
- version: '1.0.0'
18
- },
19
- 'bitcoin:signMessage': {
20
- signMessage: async () => Promise.resolve([{ signature: Uint8Array.from([]), signedMessage: Uint8Array.from([]) }]),
21
- version: '1.0.0'
22
- },
23
- 'bitcoin:signTransaction': {
24
- signTransaction: async () => Promise.resolve([{ signedPsbt: Uint8Array.from([]) }]),
25
- version: '1.0.0'
26
- },
27
- 'standard:events': {
28
- on: vi.fn(),
29
- version: '1.0.0'
30
- },
31
- ...replaces
32
- });
33
- mockWalletStandardProvider.mockAccount = (replaces = {}) => ({
34
- address: 'mock_address',
35
- chains: [bitcoin.caipNetworkId],
36
- features: [
37
- 'bitcoin:connect',
38
- 'bitcoin:signMessage',
39
- 'bitcoin:signTransaction',
40
- 'standard:events'
41
- ],
42
- icon: 'data:image/svg+xml;base64,mock',
43
- publicKey: Uint8Array.from([]),
44
- label: 'mock_label',
45
- ...replaces
46
- });
47
- //# sourceMappingURL=mockWalletStandard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockWalletStandard.js","sourceRoot":"","sources":["../../../../tests/mocks/mockWalletStandard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAIhD,MAAM,UAAU,0BAA0B,CAAC,WAA4B,EAAE;IACvE,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,0BAA0B,CAAC,YAAY,EAAE;QACnD,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/B,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;QAChB,GAAG,QAAQ;KACZ,CAAA;AACH,CAAC;AAED,0BAA0B,CAAC,YAAY,GAAG,CACxC,WAAqC,EAAE,EACtB,EAAE,CAAC,CAAC;IACrB,iBAAiB,EAAE;QACjB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9F,OAAO,EAAE,OAAO;KACjB;IACD,qBAAqB,EAAE;QACrB,WAAW,EAAE,KAAK,IAAI,EAAE,CACtB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,EAAE,OAAO;KACjB;IACD,yBAAyB,EAAE;QACzB,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,EAAE,OAAO;KACjB;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,EAAE,CAAC,EAAE,EAA0B;QACnC,OAAO,EAAE,OAAO;KACjB;IACD,GAAG,QAAQ;CACZ,CAAC,CAAA;AAEF,0BAA0B,CAAC,WAAW,GAAG,CACvC,WAAmC,EAAE,EACtB,EAAE,CAAC,CAAC;IACnB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;IAC/B,QAAQ,EAAE;QACR,iBAAiB;QACjB,qBAAqB;QACrB,yBAAyB;QACzB,iBAAiB;KAClB;IACD,IAAI,EAAE,gCAAgC;IACtC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9B,KAAK,EAAE,YAAY;IACnB,GAAG,QAAQ;CACZ,CAAC,CAAA"}
@@ -1,48 +0,0 @@
1
- import { describe, expect, it, vi } from 'vitest';
2
- import { bitcoin, bitcoinTestnet } from '@reown/appkit/networks';
3
- import { BitcoinApi } from '../../src/utils/BitcoinApi';
4
- import { mockUTXO } from '../mocks/mockUTXO';
5
- describe('BitcoinApi', () => {
6
- describe('getUTXOs', () => {
7
- it('should fetch UTXOs', async () => {
8
- const fetchSpy = vi.spyOn(global, 'fetch');
9
- const mockedUTXOs = [mockUTXO(), mockUTXO({ txid: 'mock_txid2' })];
10
- fetchSpy.mockResolvedValueOnce({
11
- ok: true,
12
- json: vi.fn(() => Promise.resolve(mockedUTXOs))
13
- });
14
- const response = await BitcoinApi.getUTXOs({
15
- network: bitcoin,
16
- address: 'mock_address'
17
- });
18
- expect(response).toEqual(mockedUTXOs);
19
- expect(fetchSpy).toHaveBeenCalledWith('https://mempool.space/api/address/mock_address/utxo');
20
- });
21
- it('should use testnet endpoint', async () => {
22
- const fetchSpy = vi.spyOn(global, 'fetch');
23
- const mockedUTXOs = [mockUTXO({})];
24
- fetchSpy.mockResolvedValueOnce({
25
- ok: true,
26
- json: vi.fn(() => Promise.resolve(mockedUTXOs))
27
- });
28
- const response = await BitcoinApi.getUTXOs({
29
- network: bitcoinTestnet,
30
- address: 'mock_address'
31
- });
32
- expect(response).toEqual(mockedUTXOs);
33
- expect(fetchSpy).toHaveBeenCalledWith('https://mempool.space/testnet/api/address/mock_address/utxo');
34
- });
35
- it('should throw an error if the request fails', async () => {
36
- const fetchSpy = vi.spyOn(global, 'fetch');
37
- fetchSpy.mockResolvedValueOnce({
38
- ok: false,
39
- text: vi.fn(() => Promise.resolve('mock_error'))
40
- });
41
- await expect(BitcoinApi.getUTXOs({
42
- network: bitcoin,
43
- address: 'mock_address'
44
- })).rejects.toThrow('Failed to fetch UTXOs: mock_error');
45
- });
46
- });
47
- });
48
- //# sourceMappingURL=BitcoinApi.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BitcoinApi.test.js","sourceRoot":"","sources":["../../../../tests/utils/BitcoinApi.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;YAElE,QAAQ,CAAC,qBAAqB,CAAC;gBAC7B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aACzC,CAAC,CAAA;YAET,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;gBACzC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,cAAc;aACxB,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,qDAAqD,CAAC,CAAA;QAC9F,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAElC,QAAQ,CAAC,qBAAqB,CAAC;gBAC7B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aACzC,CAAC,CAAA;YAET,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;gBACzC,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,cAAc;aACxB,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,6DAA6D,CAC9D,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAE1C,QAAQ,CAAC,qBAAqB,CAAC;gBAC7B,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC1C,CAAC,CAAA;YAET,MAAM,MAAM,CACV,UAAU,CAAC,QAAQ,CAAC;gBAClB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,cAAc;aACxB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,21 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { bitcoin } from '@reown/appkit/networks';
3
- import { UnitsUtil } from '../../src/utils/UnitsUtil';
4
- describe('UnitsUtils', () => {
5
- describe('parseSatoshis', () => {
6
- it.each([
7
- ['100000000', '1'],
8
- ['10000000', '0.1'],
9
- ['1000000', '0.01'],
10
- ['100000', '0.001'],
11
- ['10000', '0.0001'],
12
- ['1000', '0.00001'],
13
- ['100', '0.000001'],
14
- ['10', '0.0000001'],
15
- ['1', '0.00000001']
16
- ])('should parse %s satoshis to %s btc', (satoshis, expected) => {
17
- expect(UnitsUtil.parseSatoshis(satoshis, bitcoin)).toEqual(expected);
18
- });
19
- });
20
- });
21
- //# sourceMappingURL=UnitsUtils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnitsUtils.test.js","sourceRoot":"","sources":["../../../../tests/utils/UnitsUtils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,IAAI,CAAC;YACN,CAAC,WAAW,EAAE,GAAG,CAAC;YAClB,CAAC,UAAU,EAAE,KAAK,CAAC;YACnB,CAAC,SAAS,EAAE,MAAM,CAAC;YACnB,CAAC,QAAQ,EAAE,OAAO,CAAC;YACnB,CAAC,OAAO,EAAE,QAAQ,CAAC;YACnB,CAAC,MAAM,EAAE,SAAS,CAAC;YACnB,CAAC,KAAK,EAAE,UAAU,CAAC;YACnB,CAAC,IAAI,EAAE,WAAW,CAAC;YACnB,CAAC,GAAG,EAAE,YAAY,CAAC;SACpB,CAAC,CAAC,oCAAoC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC9D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}