@miden-sdk/miden-wallet-adapter-miden 0.13.1 → 0.13.3

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.
@@ -0,0 +1,402 @@
1
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
2
+ import {
3
+ WalletNotConnectedError,
4
+ WalletTransactionError,
5
+ WalletReadyState,
6
+ WalletNotReadyError,
7
+ WalletConnectionError,
8
+ PrivateDataPermission,
9
+ WalletAdapterNetwork,
10
+ } from '@miden-sdk/miden-wallet-adapter-base';
11
+
12
+ // Mock @miden-sdk/miden-sdk before importing adapter
13
+ vi.mock('@miden-sdk/miden-sdk', () => ({
14
+ Note: {
15
+ deserialize: vi.fn((bytes: Uint8Array) => ({ mockNote: true, bytes })),
16
+ },
17
+ }));
18
+
19
+ import { Note } from '@miden-sdk/miden-sdk';
20
+ import { MidenWalletAdapter } from '../adapter';
21
+
22
+ function createMockWallet(overrides: Record<string, any> = {}) {
23
+ return {
24
+ address: '0xmockaddress',
25
+ publicKey: new Uint8Array([1, 2, 3]),
26
+ connect: vi.fn(),
27
+ disconnect: vi.fn(),
28
+ requestSend: vi.fn().mockResolvedValue({ transactionId: 'tx-send-1' }),
29
+ requestConsume: vi
30
+ .fn()
31
+ .mockResolvedValue({ transactionId: 'tx-consume-1' }),
32
+ requestTransaction: vi
33
+ .fn()
34
+ .mockResolvedValue({ transactionId: 'tx-custom-1' }),
35
+ requestAssets: vi
36
+ .fn()
37
+ .mockResolvedValue({ assets: [{ faucetId: 'f1', amount: '100' }] }),
38
+ requestPrivateNotes: vi
39
+ .fn()
40
+ .mockResolvedValue({ privateNotes: [{ noteId: 'n1' }] }),
41
+ signBytes: vi
42
+ .fn()
43
+ .mockResolvedValue({ signature: new Uint8Array([9, 8, 7]) }),
44
+ importPrivateNote: vi.fn().mockResolvedValue({ noteId: 'imported-note-1' }),
45
+ requestConsumableNotes: vi
46
+ .fn()
47
+ .mockResolvedValue({ consumableNotes: [{ noteId: 'cn1' }] }),
48
+ createAccount: vi
49
+ .fn()
50
+ .mockResolvedValue({ accountId: 'account-123' }),
51
+ waitForTransaction: vi.fn(),
52
+ ...overrides,
53
+ };
54
+ }
55
+
56
+ // Helper to set up a connected adapter by injecting mock wallet via window
57
+ async function createConnectedAdapter() {
58
+ const mockWallet = createMockWallet();
59
+ (window as any).midenWallet = mockWallet;
60
+
61
+ const adapter = new MidenWalletAdapter();
62
+ // Force readyState to Installed so connect works
63
+ adapter.readyState = WalletReadyState.Installed;
64
+
65
+ await adapter.connect(
66
+ PrivateDataPermission.UponRequest,
67
+ WalletAdapterNetwork.Testnet
68
+ );
69
+
70
+ return { adapter, mockWallet };
71
+ }
72
+
73
+ describe('MidenWalletAdapter', () => {
74
+ beforeEach(() => {
75
+ vi.clearAllMocks();
76
+ delete (window as any).midenWallet;
77
+ delete (window as any).miden;
78
+ });
79
+
80
+ describe('constructor', () => {
81
+ it('initializes with null address and not connecting', () => {
82
+ const adapter = new MidenWalletAdapter();
83
+ expect(adapter.address).toBeNull();
84
+ expect(adapter.publicKey).toBeNull();
85
+ expect(adapter.connecting).toBe(false);
86
+ expect(adapter.connected).toBe(false);
87
+ });
88
+
89
+ it('sets readyState to NotDetected when wallet is not present', () => {
90
+ const adapter = new MidenWalletAdapter();
91
+ expect(adapter.readyState).toBe(WalletReadyState.NotDetected);
92
+ });
93
+ });
94
+
95
+ describe('not connected errors', () => {
96
+ const methods: Array<{
97
+ name: string;
98
+ call: (a: MidenWalletAdapter) => Promise<any>;
99
+ }> = [
100
+ {
101
+ name: 'requestSend',
102
+ call: (a) =>
103
+ a.requestSend({
104
+ senderAddress: 's',
105
+ recipientAddress: 'r',
106
+ faucetId: 'f',
107
+ noteType: 'public',
108
+ amount: 1,
109
+ }),
110
+ },
111
+ {
112
+ name: 'requestConsume',
113
+ call: (a) =>
114
+ a.requestConsume({
115
+ faucetId: 'f',
116
+ noteId: 'n',
117
+ noteType: 'public',
118
+ amount: 1,
119
+ }),
120
+ },
121
+ {
122
+ name: 'requestTransaction',
123
+ call: (a) =>
124
+ a.requestTransaction({ type: 'send' as any, payload: {} as any }),
125
+ },
126
+ {
127
+ name: 'requestAssets',
128
+ call: (a) => a.requestAssets(),
129
+ },
130
+ {
131
+ name: 'requestPrivateNotes',
132
+ call: (a) => a.requestPrivateNotes('All' as any),
133
+ },
134
+ {
135
+ name: 'signBytes',
136
+ call: (a) => a.signBytes(new Uint8Array([1]), 'word'),
137
+ },
138
+ {
139
+ name: 'importPrivateNote',
140
+ call: (a) => a.importPrivateNote(new Uint8Array([1])),
141
+ },
142
+ {
143
+ name: 'requestConsumableNotes',
144
+ call: (a) => a.requestConsumableNotes(),
145
+ },
146
+ {
147
+ name: 'waitForTransaction',
148
+ call: (a) => a.waitForTransaction('tx-1'),
149
+ },
150
+ {
151
+ name: 'createAccount',
152
+ call: (a) => a.createAccount(),
153
+ },
154
+ ];
155
+
156
+ for (const { name, call } of methods) {
157
+ it(`${name} throws WalletNotConnectedError when not connected`, async () => {
158
+ const adapter = new MidenWalletAdapter();
159
+ const errorHandler = vi.fn();
160
+ adapter.on('error', errorHandler);
161
+
162
+ await expect(call(adapter)).rejects.toThrow(WalletNotConnectedError);
163
+ expect(errorHandler).toHaveBeenCalledWith(
164
+ expect.any(WalletNotConnectedError)
165
+ );
166
+ });
167
+ }
168
+ });
169
+
170
+ describe('connected operations', () => {
171
+ it('requestSend delegates to wallet and returns transactionId', async () => {
172
+ const { adapter, mockWallet } = await createConnectedAdapter();
173
+ const tx = {
174
+ senderAddress: 's',
175
+ recipientAddress: 'r',
176
+ faucetId: 'f',
177
+ noteType: 'public' as const,
178
+ amount: 100,
179
+ };
180
+ const result = await adapter.requestSend(tx);
181
+ expect(mockWallet.requestSend).toHaveBeenCalledWith(tx);
182
+ expect(result).toBe('tx-send-1');
183
+ });
184
+
185
+ it('requestConsume delegates to wallet and returns transactionId', async () => {
186
+ const { adapter, mockWallet } = await createConnectedAdapter();
187
+ const tx = {
188
+ faucetId: 'f',
189
+ noteId: 'n',
190
+ noteType: 'public' as const,
191
+ amount: 50,
192
+ };
193
+ const result = await adapter.requestConsume(tx);
194
+ expect(mockWallet.requestConsume).toHaveBeenCalledWith(tx);
195
+ expect(result).toBe('tx-consume-1');
196
+ });
197
+
198
+ it('requestTransaction delegates to wallet and returns transactionId', async () => {
199
+ const { adapter, mockWallet } = await createConnectedAdapter();
200
+ const tx = { type: 'send' as any, payload: {} as any };
201
+ const result = await adapter.requestTransaction(tx);
202
+ expect(mockWallet.requestTransaction).toHaveBeenCalledWith(tx);
203
+ expect(result).toBe('tx-custom-1');
204
+ });
205
+
206
+ it('requestAssets returns assets array', async () => {
207
+ const { adapter } = await createConnectedAdapter();
208
+ const assets = await adapter.requestAssets();
209
+ expect(assets).toEqual([{ faucetId: 'f1', amount: '100' }]);
210
+ });
211
+
212
+ it('requestPrivateNotes returns notes array', async () => {
213
+ const { adapter } = await createConnectedAdapter();
214
+ const notes = await adapter.requestPrivateNotes('All' as any);
215
+ expect(notes).toEqual([{ noteId: 'n1' }]);
216
+ });
217
+
218
+ it('signBytes returns signature', async () => {
219
+ const { adapter } = await createConnectedAdapter();
220
+ const sig = await adapter.signBytes(new Uint8Array([1, 2]), 'word');
221
+ expect(sig).toEqual(new Uint8Array([9, 8, 7]));
222
+ });
223
+
224
+ it('importPrivateNote returns noteId', async () => {
225
+ const { adapter } = await createConnectedAdapter();
226
+ const noteId = await adapter.importPrivateNote(new Uint8Array([1]));
227
+ expect(noteId).toBe('imported-note-1');
228
+ });
229
+
230
+ it('requestConsumableNotes returns consumable notes', async () => {
231
+ const { adapter } = await createConnectedAdapter();
232
+ const notes = await adapter.requestConsumableNotes();
233
+ expect(notes).toEqual([{ noteId: 'cn1' }]);
234
+ });
235
+
236
+ it('createAccount returns accountId without params', async () => {
237
+ const { adapter, mockWallet } = await createConnectedAdapter();
238
+ const result = await adapter.createAccount();
239
+ expect(mockWallet.createAccount).toHaveBeenCalledWith(undefined);
240
+ expect(result).toBe('account-123');
241
+ });
242
+
243
+ it('createAccount returns accountId with params', async () => {
244
+ const { adapter, mockWallet } = await createConnectedAdapter();
245
+ const params = {
246
+ accountType: 'RegularAccountUpdatableCode' as const,
247
+ storageMode: 'private' as const,
248
+ };
249
+ const result = await adapter.createAccount(params);
250
+ expect(mockWallet.createAccount).toHaveBeenCalledWith(params);
251
+ expect(result).toBe('account-123');
252
+ });
253
+
254
+ it('createAccount passes customComponents to wallet', async () => {
255
+ const { adapter, mockWallet } = await createConnectedAdapter();
256
+ const component = new Uint8Array([1, 2, 3]);
257
+ const params = { customComponents: [component] };
258
+ const result = await adapter.createAccount(params);
259
+ expect(mockWallet.createAccount).toHaveBeenCalledWith(params);
260
+ expect(result).toBe('account-123');
261
+ });
262
+ });
263
+
264
+ describe('waitForTransaction', () => {
265
+ it('success path: deserializes notes and returns TransactionOutput', async () => {
266
+ // base64 of [1,2,3] = "AQID"
267
+ const { adapter, mockWallet } = await createConnectedAdapter();
268
+ mockWallet.waitForTransaction.mockResolvedValue({
269
+ txHash: 'hash-123',
270
+ outputNotes: ['AQID', 'BAUG'],
271
+ });
272
+
273
+ const result = await adapter.waitForTransaction('tx-1');
274
+
275
+ expect(result.txHash).toBe('hash-123');
276
+ expect(result.outputNotes).toHaveLength(2);
277
+ expect(Note.deserialize).toHaveBeenCalledTimes(2);
278
+ });
279
+
280
+ it('error path: throws WalletTransactionError on errorMessage', async () => {
281
+ const { adapter, mockWallet } = await createConnectedAdapter();
282
+ mockWallet.waitForTransaction.mockResolvedValue({
283
+ errorMessage: 'tx failed',
284
+ });
285
+
286
+ const errorHandler = vi.fn();
287
+ adapter.on('error', errorHandler);
288
+
289
+ await expect(adapter.waitForTransaction('tx-1')).rejects.toThrow(
290
+ WalletTransactionError
291
+ );
292
+ expect(errorHandler).toHaveBeenCalled();
293
+ });
294
+ });
295
+
296
+ describe('connect', () => {
297
+ it('throws WalletNotReadyError if readyState is not Installed', async () => {
298
+ const adapter = new MidenWalletAdapter();
299
+ const errorHandler = vi.fn();
300
+ adapter.on('error', errorHandler);
301
+
302
+ await expect(
303
+ adapter.connect(
304
+ PrivateDataPermission.UponRequest,
305
+ WalletAdapterNetwork.Testnet
306
+ )
307
+ ).rejects.toThrow(WalletNotReadyError);
308
+ });
309
+
310
+ it('connects successfully and emits connect event', async () => {
311
+ const mockWallet = createMockWallet();
312
+ (window as any).midenWallet = mockWallet;
313
+
314
+ const adapter = new MidenWalletAdapter();
315
+ adapter.readyState = WalletReadyState.Installed;
316
+
317
+ const connectHandler = vi.fn();
318
+ adapter.on('connect', connectHandler);
319
+
320
+ await adapter.connect(
321
+ PrivateDataPermission.UponRequest,
322
+ WalletAdapterNetwork.Testnet
323
+ );
324
+
325
+ expect(adapter.address).toBe('0xmockaddress');
326
+ expect(adapter.publicKey).toEqual(new Uint8Array([1, 2, 3]));
327
+ expect(adapter.connected).toBe(true);
328
+ expect(adapter.connecting).toBe(false);
329
+ expect(connectHandler).toHaveBeenCalledWith('0xmockaddress');
330
+ });
331
+
332
+ it('throws WalletConnectionError if wallet has no address after connect', async () => {
333
+ const mockWallet = createMockWallet({ address: undefined });
334
+ (window as any).midenWallet = mockWallet;
335
+
336
+ const adapter = new MidenWalletAdapter();
337
+ adapter.readyState = WalletReadyState.Installed;
338
+
339
+ await expect(
340
+ adapter.connect(
341
+ PrivateDataPermission.UponRequest,
342
+ WalletAdapterNetwork.Testnet
343
+ )
344
+ ).rejects.toThrow(WalletConnectionError);
345
+ });
346
+
347
+ it('does nothing if already connected', async () => {
348
+ const { adapter, mockWallet } = await createConnectedAdapter();
349
+ // Call connect again
350
+ await adapter.connect(
351
+ PrivateDataPermission.UponRequest,
352
+ WalletAdapterNetwork.Testnet
353
+ );
354
+ // wallet.connect should have been called only once (during initial connect)
355
+ expect(mockWallet.connect).toHaveBeenCalledTimes(1);
356
+ });
357
+ });
358
+
359
+ describe('disconnect', () => {
360
+ it('clears address, publicKey, and emits disconnect', async () => {
361
+ const { adapter } = await createConnectedAdapter();
362
+
363
+ const disconnectHandler = vi.fn();
364
+ adapter.on('disconnect', disconnectHandler);
365
+
366
+ await adapter.disconnect();
367
+
368
+ expect(adapter.address).toBeNull();
369
+ expect(adapter.publicKey).toBeNull();
370
+ expect(adapter.connected).toBe(false);
371
+ expect(disconnectHandler).toHaveBeenCalled();
372
+ });
373
+
374
+ it('emits error if wallet.disconnect fails', async () => {
375
+ const { adapter, mockWallet } = await createConnectedAdapter();
376
+ mockWallet.disconnect.mockRejectedValue(new Error('disconnect failed'));
377
+
378
+ const errorHandler = vi.fn();
379
+ adapter.on('error', errorHandler);
380
+
381
+ await adapter.disconnect();
382
+ expect(errorHandler).toHaveBeenCalled();
383
+ });
384
+ });
385
+
386
+ describe('error wrapping', () => {
387
+ it('wraps wallet method failures in WalletTransactionError', async () => {
388
+ const { adapter, mockWallet } = await createConnectedAdapter();
389
+ mockWallet.requestSend.mockRejectedValue(new Error('network error'));
390
+
391
+ await expect(
392
+ adapter.requestSend({
393
+ senderAddress: 's',
394
+ recipientAddress: 'r',
395
+ faucetId: 'f',
396
+ noteType: 'public',
397
+ amount: 1,
398
+ })
399
+ ).rejects.toThrow(WalletTransactionError);
400
+ });
401
+ });
402
+ });
package/adapter.ts CHANGED
@@ -18,6 +18,7 @@ import {
18
18
  MidenConsumeTransaction,
19
19
  WalletTransactionError,
20
20
  Asset,
21
+ CreateAccountParams,
21
22
  InputNoteDetails,
22
23
  TransactionOutput,
23
24
  WalletTransactionOutput,
@@ -59,6 +60,7 @@ export interface MidenWallet extends EventEmitter<MidenWalletEvents> {
59
60
  ): Promise<{ signature: Uint8Array }>;
60
61
  importPrivateNote(note: Uint8Array): Promise<{ noteId: string }>;
61
62
  requestConsumableNotes(): Promise<{ consumableNotes: InputNoteDetails[] }>;
63
+ createAccount(params?: CreateAccountParams): Promise<{ accountId: string }>;
62
64
  connect(
63
65
  privateDataPermission: PrivateDataPermission,
64
66
  network: WalletAdapterNetwork,
@@ -292,6 +294,22 @@ export class MidenWalletAdapter extends BaseMessageSignerWalletAdapter {
292
294
  }
293
295
  }
294
296
 
297
+ async createAccount(params?: CreateAccountParams): Promise<string> {
298
+ try {
299
+ const wallet = this._wallet;
300
+ if (!wallet || !this.address) throw new WalletNotConnectedError();
301
+ try {
302
+ const result = await wallet.createAccount(params);
303
+ return result.accountId;
304
+ } catch (error: any) {
305
+ throw new WalletTransactionError(error?.message, error);
306
+ }
307
+ } catch (error: any) {
308
+ this.emit('error', error);
309
+ throw error;
310
+ }
311
+ }
312
+
295
313
  async connect(
296
314
  privateDataPermission: PrivateDataPermission,
297
315
  network: WalletAdapterNetwork,
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,314 @@
1
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
2
+ import { WalletNotConnectedError, WalletTransactionError, WalletReadyState, WalletNotReadyError, WalletConnectionError, PrivateDataPermission, WalletAdapterNetwork, } from '@miden-sdk/miden-wallet-adapter-base';
3
+ // Mock @miden-sdk/miden-sdk before importing adapter
4
+ vi.mock('@miden-sdk/miden-sdk', () => ({
5
+ Note: {
6
+ deserialize: vi.fn((bytes) => ({ mockNote: true, bytes })),
7
+ },
8
+ }));
9
+ import { Note } from '@miden-sdk/miden-sdk';
10
+ import { MidenWalletAdapter } from '../adapter';
11
+ function createMockWallet(overrides = {}) {
12
+ return {
13
+ address: '0xmockaddress',
14
+ publicKey: new Uint8Array([1, 2, 3]),
15
+ connect: vi.fn(),
16
+ disconnect: vi.fn(),
17
+ requestSend: vi.fn().mockResolvedValue({ transactionId: 'tx-send-1' }),
18
+ requestConsume: vi
19
+ .fn()
20
+ .mockResolvedValue({ transactionId: 'tx-consume-1' }),
21
+ requestTransaction: vi
22
+ .fn()
23
+ .mockResolvedValue({ transactionId: 'tx-custom-1' }),
24
+ requestAssets: vi
25
+ .fn()
26
+ .mockResolvedValue({ assets: [{ faucetId: 'f1', amount: '100' }] }),
27
+ requestPrivateNotes: vi
28
+ .fn()
29
+ .mockResolvedValue({ privateNotes: [{ noteId: 'n1' }] }),
30
+ signBytes: vi
31
+ .fn()
32
+ .mockResolvedValue({ signature: new Uint8Array([9, 8, 7]) }),
33
+ importPrivateNote: vi.fn().mockResolvedValue({ noteId: 'imported-note-1' }),
34
+ requestConsumableNotes: vi
35
+ .fn()
36
+ .mockResolvedValue({ consumableNotes: [{ noteId: 'cn1' }] }),
37
+ createAccount: vi
38
+ .fn()
39
+ .mockResolvedValue({ accountId: 'account-123' }),
40
+ waitForTransaction: vi.fn(),
41
+ ...overrides,
42
+ };
43
+ }
44
+ // Helper to set up a connected adapter by injecting mock wallet via window
45
+ async function createConnectedAdapter() {
46
+ const mockWallet = createMockWallet();
47
+ window.midenWallet = mockWallet;
48
+ const adapter = new MidenWalletAdapter();
49
+ // Force readyState to Installed so connect works
50
+ adapter.readyState = WalletReadyState.Installed;
51
+ await adapter.connect(PrivateDataPermission.UponRequest, WalletAdapterNetwork.Testnet);
52
+ return { adapter, mockWallet };
53
+ }
54
+ describe('MidenWalletAdapter', () => {
55
+ beforeEach(() => {
56
+ vi.clearAllMocks();
57
+ delete window.midenWallet;
58
+ delete window.miden;
59
+ });
60
+ describe('constructor', () => {
61
+ it('initializes with null address and not connecting', () => {
62
+ const adapter = new MidenWalletAdapter();
63
+ expect(adapter.address).toBeNull();
64
+ expect(adapter.publicKey).toBeNull();
65
+ expect(adapter.connecting).toBe(false);
66
+ expect(adapter.connected).toBe(false);
67
+ });
68
+ it('sets readyState to NotDetected when wallet is not present', () => {
69
+ const adapter = new MidenWalletAdapter();
70
+ expect(adapter.readyState).toBe(WalletReadyState.NotDetected);
71
+ });
72
+ });
73
+ describe('not connected errors', () => {
74
+ const methods = [
75
+ {
76
+ name: 'requestSend',
77
+ call: (a) => a.requestSend({
78
+ senderAddress: 's',
79
+ recipientAddress: 'r',
80
+ faucetId: 'f',
81
+ noteType: 'public',
82
+ amount: 1,
83
+ }),
84
+ },
85
+ {
86
+ name: 'requestConsume',
87
+ call: (a) => a.requestConsume({
88
+ faucetId: 'f',
89
+ noteId: 'n',
90
+ noteType: 'public',
91
+ amount: 1,
92
+ }),
93
+ },
94
+ {
95
+ name: 'requestTransaction',
96
+ call: (a) => a.requestTransaction({ type: 'send', payload: {} }),
97
+ },
98
+ {
99
+ name: 'requestAssets',
100
+ call: (a) => a.requestAssets(),
101
+ },
102
+ {
103
+ name: 'requestPrivateNotes',
104
+ call: (a) => a.requestPrivateNotes('All'),
105
+ },
106
+ {
107
+ name: 'signBytes',
108
+ call: (a) => a.signBytes(new Uint8Array([1]), 'word'),
109
+ },
110
+ {
111
+ name: 'importPrivateNote',
112
+ call: (a) => a.importPrivateNote(new Uint8Array([1])),
113
+ },
114
+ {
115
+ name: 'requestConsumableNotes',
116
+ call: (a) => a.requestConsumableNotes(),
117
+ },
118
+ {
119
+ name: 'waitForTransaction',
120
+ call: (a) => a.waitForTransaction('tx-1'),
121
+ },
122
+ {
123
+ name: 'createAccount',
124
+ call: (a) => a.createAccount(),
125
+ },
126
+ ];
127
+ for (const { name, call } of methods) {
128
+ it(`${name} throws WalletNotConnectedError when not connected`, async () => {
129
+ const adapter = new MidenWalletAdapter();
130
+ const errorHandler = vi.fn();
131
+ adapter.on('error', errorHandler);
132
+ await expect(call(adapter)).rejects.toThrow(WalletNotConnectedError);
133
+ expect(errorHandler).toHaveBeenCalledWith(expect.any(WalletNotConnectedError));
134
+ });
135
+ }
136
+ });
137
+ describe('connected operations', () => {
138
+ it('requestSend delegates to wallet and returns transactionId', async () => {
139
+ const { adapter, mockWallet } = await createConnectedAdapter();
140
+ const tx = {
141
+ senderAddress: 's',
142
+ recipientAddress: 'r',
143
+ faucetId: 'f',
144
+ noteType: 'public',
145
+ amount: 100,
146
+ };
147
+ const result = await adapter.requestSend(tx);
148
+ expect(mockWallet.requestSend).toHaveBeenCalledWith(tx);
149
+ expect(result).toBe('tx-send-1');
150
+ });
151
+ it('requestConsume delegates to wallet and returns transactionId', async () => {
152
+ const { adapter, mockWallet } = await createConnectedAdapter();
153
+ const tx = {
154
+ faucetId: 'f',
155
+ noteId: 'n',
156
+ noteType: 'public',
157
+ amount: 50,
158
+ };
159
+ const result = await adapter.requestConsume(tx);
160
+ expect(mockWallet.requestConsume).toHaveBeenCalledWith(tx);
161
+ expect(result).toBe('tx-consume-1');
162
+ });
163
+ it('requestTransaction delegates to wallet and returns transactionId', async () => {
164
+ const { adapter, mockWallet } = await createConnectedAdapter();
165
+ const tx = { type: 'send', payload: {} };
166
+ const result = await adapter.requestTransaction(tx);
167
+ expect(mockWallet.requestTransaction).toHaveBeenCalledWith(tx);
168
+ expect(result).toBe('tx-custom-1');
169
+ });
170
+ it('requestAssets returns assets array', async () => {
171
+ const { adapter } = await createConnectedAdapter();
172
+ const assets = await adapter.requestAssets();
173
+ expect(assets).toEqual([{ faucetId: 'f1', amount: '100' }]);
174
+ });
175
+ it('requestPrivateNotes returns notes array', async () => {
176
+ const { adapter } = await createConnectedAdapter();
177
+ const notes = await adapter.requestPrivateNotes('All');
178
+ expect(notes).toEqual([{ noteId: 'n1' }]);
179
+ });
180
+ it('signBytes returns signature', async () => {
181
+ const { adapter } = await createConnectedAdapter();
182
+ const sig = await adapter.signBytes(new Uint8Array([1, 2]), 'word');
183
+ expect(sig).toEqual(new Uint8Array([9, 8, 7]));
184
+ });
185
+ it('importPrivateNote returns noteId', async () => {
186
+ const { adapter } = await createConnectedAdapter();
187
+ const noteId = await adapter.importPrivateNote(new Uint8Array([1]));
188
+ expect(noteId).toBe('imported-note-1');
189
+ });
190
+ it('requestConsumableNotes returns consumable notes', async () => {
191
+ const { adapter } = await createConnectedAdapter();
192
+ const notes = await adapter.requestConsumableNotes();
193
+ expect(notes).toEqual([{ noteId: 'cn1' }]);
194
+ });
195
+ it('createAccount returns accountId without params', async () => {
196
+ const { adapter, mockWallet } = await createConnectedAdapter();
197
+ const result = await adapter.createAccount();
198
+ expect(mockWallet.createAccount).toHaveBeenCalledWith(undefined);
199
+ expect(result).toBe('account-123');
200
+ });
201
+ it('createAccount returns accountId with params', async () => {
202
+ const { adapter, mockWallet } = await createConnectedAdapter();
203
+ const params = {
204
+ accountType: 'RegularAccountUpdatableCode',
205
+ storageMode: 'private',
206
+ };
207
+ const result = await adapter.createAccount(params);
208
+ expect(mockWallet.createAccount).toHaveBeenCalledWith(params);
209
+ expect(result).toBe('account-123');
210
+ });
211
+ it('createAccount passes customComponents to wallet', async () => {
212
+ const { adapter, mockWallet } = await createConnectedAdapter();
213
+ const component = new Uint8Array([1, 2, 3]);
214
+ const params = { customComponents: [component] };
215
+ const result = await adapter.createAccount(params);
216
+ expect(mockWallet.createAccount).toHaveBeenCalledWith(params);
217
+ expect(result).toBe('account-123');
218
+ });
219
+ });
220
+ describe('waitForTransaction', () => {
221
+ it('success path: deserializes notes and returns TransactionOutput', async () => {
222
+ // base64 of [1,2,3] = "AQID"
223
+ const { adapter, mockWallet } = await createConnectedAdapter();
224
+ mockWallet.waitForTransaction.mockResolvedValue({
225
+ txHash: 'hash-123',
226
+ outputNotes: ['AQID', 'BAUG'],
227
+ });
228
+ const result = await adapter.waitForTransaction('tx-1');
229
+ expect(result.txHash).toBe('hash-123');
230
+ expect(result.outputNotes).toHaveLength(2);
231
+ expect(Note.deserialize).toHaveBeenCalledTimes(2);
232
+ });
233
+ it('error path: throws WalletTransactionError on errorMessage', async () => {
234
+ const { adapter, mockWallet } = await createConnectedAdapter();
235
+ mockWallet.waitForTransaction.mockResolvedValue({
236
+ errorMessage: 'tx failed',
237
+ });
238
+ const errorHandler = vi.fn();
239
+ adapter.on('error', errorHandler);
240
+ await expect(adapter.waitForTransaction('tx-1')).rejects.toThrow(WalletTransactionError);
241
+ expect(errorHandler).toHaveBeenCalled();
242
+ });
243
+ });
244
+ describe('connect', () => {
245
+ it('throws WalletNotReadyError if readyState is not Installed', async () => {
246
+ const adapter = new MidenWalletAdapter();
247
+ const errorHandler = vi.fn();
248
+ adapter.on('error', errorHandler);
249
+ await expect(adapter.connect(PrivateDataPermission.UponRequest, WalletAdapterNetwork.Testnet)).rejects.toThrow(WalletNotReadyError);
250
+ });
251
+ it('connects successfully and emits connect event', async () => {
252
+ const mockWallet = createMockWallet();
253
+ window.midenWallet = mockWallet;
254
+ const adapter = new MidenWalletAdapter();
255
+ adapter.readyState = WalletReadyState.Installed;
256
+ const connectHandler = vi.fn();
257
+ adapter.on('connect', connectHandler);
258
+ await adapter.connect(PrivateDataPermission.UponRequest, WalletAdapterNetwork.Testnet);
259
+ expect(adapter.address).toBe('0xmockaddress');
260
+ expect(adapter.publicKey).toEqual(new Uint8Array([1, 2, 3]));
261
+ expect(adapter.connected).toBe(true);
262
+ expect(adapter.connecting).toBe(false);
263
+ expect(connectHandler).toHaveBeenCalledWith('0xmockaddress');
264
+ });
265
+ it('throws WalletConnectionError if wallet has no address after connect', async () => {
266
+ const mockWallet = createMockWallet({ address: undefined });
267
+ window.midenWallet = mockWallet;
268
+ const adapter = new MidenWalletAdapter();
269
+ adapter.readyState = WalletReadyState.Installed;
270
+ await expect(adapter.connect(PrivateDataPermission.UponRequest, WalletAdapterNetwork.Testnet)).rejects.toThrow(WalletConnectionError);
271
+ });
272
+ it('does nothing if already connected', async () => {
273
+ const { adapter, mockWallet } = await createConnectedAdapter();
274
+ // Call connect again
275
+ await adapter.connect(PrivateDataPermission.UponRequest, WalletAdapterNetwork.Testnet);
276
+ // wallet.connect should have been called only once (during initial connect)
277
+ expect(mockWallet.connect).toHaveBeenCalledTimes(1);
278
+ });
279
+ });
280
+ describe('disconnect', () => {
281
+ it('clears address, publicKey, and emits disconnect', async () => {
282
+ const { adapter } = await createConnectedAdapter();
283
+ const disconnectHandler = vi.fn();
284
+ adapter.on('disconnect', disconnectHandler);
285
+ await adapter.disconnect();
286
+ expect(adapter.address).toBeNull();
287
+ expect(adapter.publicKey).toBeNull();
288
+ expect(adapter.connected).toBe(false);
289
+ expect(disconnectHandler).toHaveBeenCalled();
290
+ });
291
+ it('emits error if wallet.disconnect fails', async () => {
292
+ const { adapter, mockWallet } = await createConnectedAdapter();
293
+ mockWallet.disconnect.mockRejectedValue(new Error('disconnect failed'));
294
+ const errorHandler = vi.fn();
295
+ adapter.on('error', errorHandler);
296
+ await adapter.disconnect();
297
+ expect(errorHandler).toHaveBeenCalled();
298
+ });
299
+ });
300
+ describe('error wrapping', () => {
301
+ it('wraps wallet method failures in WalletTransactionError', async () => {
302
+ const { adapter, mockWallet } = await createConnectedAdapter();
303
+ mockWallet.requestSend.mockRejectedValue(new Error('network error'));
304
+ await expect(adapter.requestSend({
305
+ senderAddress: 's',
306
+ recipientAddress: 'r',
307
+ faucetId: 'f',
308
+ noteType: 'public',
309
+ amount: 1,
310
+ })).rejects.toThrow(WalletTransactionError);
311
+ });
312
+ });
313
+ });
314
+ //# sourceMappingURL=adapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../__tests__/adapter.test.ts"],"names":[],"mappings":"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"}
package/dist/adapter.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type NoteFilterTypes } from '@miden-sdk/miden-sdk';
2
- import { AllowedPrivateData, BaseMessageSignerWalletAdapter, EventEmitter, SignKind, WalletName, WalletReadyState, PrivateDataPermission, WalletAdapterNetwork, MidenSendTransaction, MidenTransaction, MidenConsumeTransaction, Asset, InputNoteDetails, TransactionOutput, WalletTransactionOutput } from '@miden-sdk/miden-wallet-adapter-base';
2
+ import { AllowedPrivateData, BaseMessageSignerWalletAdapter, EventEmitter, SignKind, WalletName, WalletReadyState, PrivateDataPermission, WalletAdapterNetwork, MidenSendTransaction, MidenTransaction, MidenConsumeTransaction, Asset, CreateAccountParams, InputNoteDetails, TransactionOutput, WalletTransactionOutput } from '@miden-sdk/miden-wallet-adapter-base';
3
3
  export interface MidenWalletEvents {
4
4
  connect(...args: unknown[]): unknown;
5
5
  disconnect(...args: unknown[]): unknown;
@@ -33,6 +33,9 @@ export interface MidenWallet extends EventEmitter<MidenWalletEvents> {
33
33
  requestConsumableNotes(): Promise<{
34
34
  consumableNotes: InputNoteDetails[];
35
35
  }>;
36
+ createAccount(params?: CreateAccountParams): Promise<{
37
+ accountId: string;
38
+ }>;
36
39
  connect(privateDataPermission: PrivateDataPermission, network: WalletAdapterNetwork, allowedPrivateData?: AllowedPrivateData): Promise<void>;
37
40
  disconnect(): Promise<void>;
38
41
  }
@@ -71,6 +74,7 @@ export declare class MidenWalletAdapter extends BaseMessageSignerWalletAdapter {
71
74
  importPrivateNote(note: Uint8Array): Promise<string>;
72
75
  requestConsumableNotes(): Promise<InputNoteDetails[]>;
73
76
  waitForTransaction(txId: string, timeout?: number): Promise<TransactionOutput>;
77
+ createAccount(params?: CreateAccountParams): Promise<string>;
74
78
  connect(privateDataPermission: PrivateDataPermission, network: WalletAdapterNetwork, allowedPrivateData?: AllowedPrivateData): Promise<void>;
75
79
  disconnect(): Promise<void>;
76
80
  }
package/dist/adapter.js CHANGED
@@ -207,6 +207,24 @@ export class MidenWalletAdapter extends BaseMessageSignerWalletAdapter {
207
207
  throw error;
208
208
  }
209
209
  }
210
+ async createAccount(params) {
211
+ try {
212
+ const wallet = this._wallet;
213
+ if (!wallet || !this.address)
214
+ throw new WalletNotConnectedError();
215
+ try {
216
+ const result = await wallet.createAccount(params);
217
+ return result.accountId;
218
+ }
219
+ catch (error) {
220
+ throw new WalletTransactionError(error?.message, error);
221
+ }
222
+ }
223
+ catch (error) {
224
+ this.emit('error', error);
225
+ throw error;
226
+ }
227
+ }
210
228
  async connect(privateDataPermission, network, allowedPrivateData) {
211
229
  try {
212
230
  if (this.connected || this.connecting)
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vitest/config';
2
+ export default defineConfig({
3
+ test: {
4
+ environment: 'jsdom',
5
+ globals: true,
6
+ },
7
+ });
8
+ //# sourceMappingURL=vitest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAC"}
@@ -250,6 +250,26 @@
250
250
 
251
251
  ***
252
252
 
253
+ ### createAccount()
254
+
255
+ > **createAccount**(`params?`): `Promise`\<`string`\>
256
+
257
+ #### Parameters
258
+
259
+ ##### params?
260
+
261
+ `CreateAccountParams`
262
+
263
+ #### Returns
264
+
265
+ `Promise`\<`string`\>
266
+
267
+ #### Overrides
268
+
269
+ `BaseMessageSignerWalletAdapter.createAccount`
270
+
271
+ ***
272
+
253
273
  ### disconnect()
254
274
 
255
275
  > **disconnect**(): `Promise`\<`void`\>
@@ -82,6 +82,22 @@
82
82
 
83
83
  ***
84
84
 
85
+ ### createAccount()
86
+
87
+ > **createAccount**(`params?`): `Promise`\<\{ `accountId`: `string`; \}\>
88
+
89
+ #### Parameters
90
+
91
+ ##### params?
92
+
93
+ `CreateAccountParams`
94
+
95
+ #### Returns
96
+
97
+ `Promise`\<\{ `accountId`: `string`; \}\>
98
+
99
+ ***
100
+
85
101
  ### disconnect()
86
102
 
87
103
  > **disconnect**(): `Promise`\<`void`\>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miden-sdk/miden-wallet-adapter-miden",
3
- "version": "0.13.1",
3
+ "version": "0.13.3",
4
4
  "description": "Miden wallet adapter for the Miden Wallet.",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,7 +17,12 @@
17
17
  "scripts": {
18
18
  "build": "tsc",
19
19
  "clean": "rimraf dist/ node_modules/",
20
- "doc": "typedoc --disableSources --plugin typedoc-plugin-markdown index.ts"
20
+ "doc": "typedoc --disableSources --plugin typedoc-plugin-markdown index.ts",
21
+ "test": "vitest run"
22
+ },
23
+ "devDependencies": {
24
+ "jsdom": "^24.0.0",
25
+ "vitest": "^1.0.0"
21
26
  },
22
27
  "peerDependencies": {
23
28
  "typescript": "^5.0.0"
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vitest/config';
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ environment: 'jsdom',
6
+ globals: true,
7
+ },
8
+ });