@walletmesh/aztec-rpc-wallet 0.1.0 → 0.1.1

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 (64) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/aztecRemoteWallet.d.ts +7 -6
  4. package/dist/aztecRemoteWallet.d.ts.map +1 -1
  5. package/dist/aztecRemoteWallet.js +15 -9
  6. package/dist/handlers/aztecAccountWallet.d.ts.map +1 -1
  7. package/dist/handlers/aztecAccountWallet.js +22 -22
  8. package/dist/serializers/account.d.ts +4 -7
  9. package/dist/serializers/account.d.ts.map +1 -1
  10. package/dist/serializers/account.js +28 -29
  11. package/dist/serializers/contract.d.ts +4 -56
  12. package/dist/serializers/contract.d.ts.map +1 -1
  13. package/dist/serializers/contract.js +62 -148
  14. package/dist/serializers/index.d.ts +1 -4
  15. package/dist/serializers/index.d.ts.map +1 -1
  16. package/dist/serializers/index.js +12 -12
  17. package/dist/serializers/log.d.ts +36 -83
  18. package/dist/serializers/log.d.ts.map +1 -1
  19. package/dist/serializers/log.js +96 -107
  20. package/dist/serializers/note.d.ts +14 -17
  21. package/dist/serializers/note.d.ts.map +1 -1
  22. package/dist/serializers/note.js +52 -29
  23. package/dist/serializers/transaction-utils.d.ts +44 -100
  24. package/dist/serializers/transaction-utils.d.ts.map +1 -1
  25. package/dist/serializers/transaction-utils.js +82 -118
  26. package/dist/serializers/transaction.d.ts +3 -6
  27. package/dist/serializers/transaction.d.ts.map +1 -1
  28. package/dist/serializers/transaction.js +39 -50
  29. package/dist/types.d.ts +8 -8
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/types.js +1 -1
  32. package/package.json +5 -5
  33. package/src/aztecRemoteWallet.test.ts +33 -29
  34. package/src/aztecRemoteWallet.ts +25 -14
  35. package/src/handlers/aztecAccountWallet.test.ts +78 -75
  36. package/src/handlers/aztecAccountWallet.ts +32 -35
  37. package/src/serializers/account.test.ts +18 -17
  38. package/src/serializers/account.ts +31 -49
  39. package/src/serializers/contract.test.ts +14 -16
  40. package/src/serializers/contract.ts +75 -164
  41. package/src/serializers/index.test.ts +20 -8
  42. package/src/serializers/index.ts +16 -20
  43. package/src/serializers/log.test.ts +201 -28
  44. package/src/serializers/log.ts +153 -146
  45. package/src/serializers/note.test.ts +26 -28
  46. package/src/serializers/note.ts +60 -36
  47. package/src/serializers/transaction-utils.ts +135 -211
  48. package/src/serializers/transaction.test.ts +190 -30
  49. package/src/serializers/transaction.ts +51 -72
  50. package/src/types.ts +9 -8
  51. package/vitest.config.ts +1 -1
  52. package/dist/serializers/contract-utils.d.ts +0 -40
  53. package/dist/serializers/contract-utils.d.ts.map +0 -1
  54. package/dist/serializers/contract-utils.js +0 -102
  55. package/dist/serializers/core.d.ts +0 -110
  56. package/dist/serializers/core.d.ts.map +0 -1
  57. package/dist/serializers/core.js +0 -130
  58. package/dist/serializers/types.d.ts +0 -49
  59. package/dist/serializers/types.d.ts.map +0 -1
  60. package/dist/serializers/types.js +0 -22
  61. package/src/serializers/contract-utils.ts +0 -104
  62. package/src/serializers/core.test.ts +0 -56
  63. package/src/serializers/core.ts +0 -141
  64. package/src/serializers/types.ts +0 -58
@@ -1,160 +1,192 @@
1
1
  import type { AztecWalletMethodMap } from '../types.js';
2
- import type { JSONRPCSerializedData, JSONRPCSerializer } from './types.js';
3
- import { encodeBase64, decodeBase64 } from './types.js';
2
+ import type { JSONRPCSerializedData, JSONRPCSerializer } from '@walletmesh/jsonrpc';
4
3
  import type { EventMetadataDefinition } from '@aztec/circuit-types';
5
- import { ExtendedUnencryptedL2Log, TxHash, LogId } from '@aztec/circuit-types';
4
+ import {
5
+ ExtendedPublicLog,
6
+ LogFilterSchema,
7
+ GetPublicLogsResponseSchema,
8
+ GetContractClassLogsResponseSchema,
9
+ TxHash,
10
+ LogId,
11
+ } from '@aztec/circuit-types';
6
12
  import { Point, AztecAddress } from '@aztec/aztec.js';
7
- import { EventSelector, AbiTypeSchema } from '@aztec/foundation/abi';
8
- import type { LogFilter } from '@aztec/aztec.js';
13
+ import { EventSelector } from '@aztec/foundation/abi';
9
14
 
10
15
  /**
11
- * Serializer for the aztec_getUnencryptedLogs RPC method.
12
- * Handles serialization of unencrypted log queries and results between JSON-RPC format and native Aztec types.
13
- * Supports filtering logs by transaction hash, block range, and contract address.
16
+ * Serializer for the aztec_getPublicLogs RPC method.
17
+ * Handles serialization of public log queries and results between JSON-RPC format and native Aztec types.
14
18
  */
15
- export class AztecGetUnencryptedLogsSerializer
19
+ export class AztecGetPublicLogsSerializer
16
20
  implements
17
21
  JSONRPCSerializer<
18
- AztecWalletMethodMap['aztec_getUnencryptedLogs']['params'],
19
- AztecWalletMethodMap['aztec_getUnencryptedLogs']['result']
22
+ AztecWalletMethodMap['aztec_getPublicLogs']['params'],
23
+ AztecWalletMethodMap['aztec_getPublicLogs']['result']
20
24
  >
21
25
  {
22
26
  params = {
23
- /**
24
- * Serializes log filter parameters for RPC transport.
25
- * @param method - The RPC method name
26
- * @param value - The filter parameters including txHash, block range, and contract address
27
- * @returns Serialized filter data
28
- */
29
27
  serialize: (
30
28
  method: string,
31
- value: AztecWalletMethodMap['aztec_getUnencryptedLogs']['params'],
29
+ value: AztecWalletMethodMap['aztec_getPublicLogs']['params'],
32
30
  ): JSONRPCSerializedData => {
33
31
  const { filter } = value;
32
+ // Convert all fields that need string conversion
33
+ const serializedFilter = {
34
+ ...filter,
35
+ txHash: filter.txHash?.toString(),
36
+ contractAddress: filter.contractAddress?.toString(),
37
+ afterLog: filter.afterLog?.toString(),
38
+ fromBlock: filter.fromBlock,
39
+ toBlock: filter.toBlock,
40
+ };
34
41
  return {
35
42
  method,
36
- serialized: encodeBase64(
37
- JSON.stringify({
38
- txHash: filter.txHash?.toString(),
39
- fromBlock: filter.fromBlock,
40
- toBlock: filter.toBlock,
41
- afterLog: filter.afterLog?.toString(),
42
- contractAddress: filter.contractAddress?.toString(),
43
- }),
44
- ),
43
+ serialized: JSON.stringify({ filter: serializedFilter }),
45
44
  };
46
45
  },
47
- /**
48
- * Deserializes log filter parameters from RPC transport.
49
- * @param method - The RPC method name
50
- * @param data - The serialized filter data
51
- * @returns Deserialized filter parameters
52
- */
53
46
  deserialize: (
54
47
  method: string,
55
48
  data: JSONRPCSerializedData,
56
- ): AztecWalletMethodMap['aztec_getUnencryptedLogs']['params'] => {
57
- const parsed = JSON.parse(decodeBase64(data.serialized));
58
- const filter: LogFilter = {
59
- txHash: parsed.txHash ? TxHash.fromString(parsed.txHash) : undefined,
60
- fromBlock: parsed.fromBlock,
61
- toBlock: parsed.toBlock,
62
- afterLog: parsed.afterLog ? LogId.fromString(parsed.afterLog) : undefined,
63
- contractAddress: parsed.contractAddress ? AztecAddress.fromString(parsed.contractAddress) : undefined,
49
+ ): AztecWalletMethodMap['aztec_getPublicLogs']['params'] => {
50
+ const { filter } = JSON.parse(data.serialized);
51
+ return {
52
+ filter: {
53
+ txHash: filter.txHash ? TxHash.fromString(filter.txHash) : undefined,
54
+ contractAddress: filter.contractAddress
55
+ ? AztecAddress.fromString(filter.contractAddress)
56
+ : undefined,
57
+ afterLog: filter.afterLog ? LogId.fromString(filter.afterLog) : undefined,
58
+ fromBlock: filter.fromBlock,
59
+ toBlock: filter.toBlock,
60
+ },
64
61
  };
65
- return { filter };
66
62
  },
67
63
  };
68
64
 
69
65
  result = {
70
- /**
71
- * Serializes unencrypted log results for RPC transport.
72
- * @param method - The RPC method name
73
- * @param value - The log results including logs array and maxLogsHit flag
74
- * @returns Serialized log data
75
- */
76
66
  serialize: (
77
67
  method: string,
78
- value: AztecWalletMethodMap['aztec_getUnencryptedLogs']['result'],
68
+ value: AztecWalletMethodMap['aztec_getPublicLogs']['result'],
79
69
  ): JSONRPCSerializedData => {
80
- const serializedLogs = value.logs.map((log) => log.toString());
81
70
  return {
82
71
  method,
83
- serialized: encodeBase64(JSON.stringify({ serializedLogs, maxLogsHit: value.maxLogsHit })),
72
+ serialized: JSON.stringify(value),
84
73
  };
85
74
  },
86
- /**
87
- * Deserializes unencrypted log results from RPC transport.
88
- * @param method - The RPC method name
89
- * @param data - The serialized log data
90
- * @returns Deserialized log results
91
- */
92
75
  deserialize: (
93
76
  method: string,
94
77
  data: JSONRPCSerializedData,
95
- ): AztecWalletMethodMap['aztec_getUnencryptedLogs']['result'] => {
96
- const { serializedLogs, maxLogsHit } = JSON.parse(decodeBase64(data.serialized));
78
+ ): AztecWalletMethodMap['aztec_getPublicLogs']['result'] => {
79
+ return GetPublicLogsResponseSchema.parse(JSON.parse(data.serialized));
80
+ },
81
+ };
82
+ }
83
+
84
+ /**
85
+ * Serializer for the aztec_getContractClassLogs RPC method.
86
+ * Handles serialization of contract class log queries and results between JSON-RPC format and native Aztec types.
87
+ */
88
+ export class AztecGetContractClassLogsSerializer
89
+ implements
90
+ JSONRPCSerializer<
91
+ AztecWalletMethodMap['aztec_getContractClassLogs']['params'],
92
+ AztecWalletMethodMap['aztec_getContractClassLogs']['result']
93
+ >
94
+ {
95
+ params = {
96
+ serialize: (
97
+ method: string,
98
+ value: AztecWalletMethodMap['aztec_getContractClassLogs']['params'],
99
+ ): JSONRPCSerializedData => {
100
+ const { filter } = value;
101
+ // Convert fields to strings for schema validation
102
+ const serializedFilter = {
103
+ txHash: filter.txHash?.toString() ?? undefined,
104
+ contractAddress: filter.contractAddress?.toString() ?? undefined,
105
+ afterLog: filter.afterLog?.toString() ?? undefined,
106
+ fromBlock: filter.fromBlock,
107
+ toBlock: filter.toBlock,
108
+ };
97
109
  return {
98
- logs: serializedLogs.map((log: string) => ExtendedUnencryptedL2Log.fromString(log)),
99
- maxLogsHit,
110
+ method,
111
+ serialized: JSON.stringify({ filter: serializedFilter }),
100
112
  };
101
113
  },
114
+ deserialize: (
115
+ method: string,
116
+ data: JSONRPCSerializedData,
117
+ ): AztecWalletMethodMap['aztec_getContractClassLogs']['params'] => {
118
+ const { filter } = JSON.parse(data.serialized);
119
+ return {
120
+ filter: {
121
+ txHash: filter.txHash ? TxHash.fromString(filter.txHash) : undefined,
122
+ contractAddress: filter.contractAddress
123
+ ? AztecAddress.fromString(filter.contractAddress)
124
+ : undefined,
125
+ afterLog: filter.afterLog ? LogId.fromString(filter.afterLog) : undefined,
126
+ fromBlock: filter.fromBlock,
127
+ toBlock: filter.toBlock,
128
+ },
129
+ };
130
+ },
131
+ };
132
+
133
+ result = {
134
+ serialize: (
135
+ method: string,
136
+ value: AztecWalletMethodMap['aztec_getContractClassLogs']['result'],
137
+ ): JSONRPCSerializedData => {
138
+ return {
139
+ method,
140
+ serialized: JSON.stringify(GetContractClassLogsResponseSchema.parse(value)),
141
+ };
142
+ },
143
+ deserialize: (
144
+ method: string,
145
+ data: JSONRPCSerializedData,
146
+ ): AztecWalletMethodMap['aztec_getContractClassLogs']['result'] => {
147
+ return GetContractClassLogsResponseSchema.parse(JSON.parse(data.serialized));
148
+ },
102
149
  };
103
150
  }
104
151
 
105
152
  /**
106
- * Serializer for the aztec_getEncryptedEvents RPC method.
107
- * Handles serialization of encrypted event queries and results between JSON-RPC format and native Aztec types.
108
- * Supports querying events with viewing keys for decryption.
153
+ * Serializer for the aztec_getPrivateEvents RPC method.
154
+ * Handles serialization of private event queries and results between JSON-RPC format and native Aztec types.
109
155
  */
110
- export class AztecGetEncryptedEventsSerializer
156
+ export class AztecGetPrivateEventsSerializer
111
157
  implements
112
158
  JSONRPCSerializer<
113
- AztecWalletMethodMap['aztec_getEncryptedEvents']['params'],
114
- AztecWalletMethodMap['aztec_getEncryptedEvents']['result']
159
+ AztecWalletMethodMap['aztec_getPrivateEvents']['params'],
160
+ AztecWalletMethodMap['aztec_getPrivateEvents']['result']
115
161
  >
116
162
  {
117
163
  params = {
118
- /**
119
- * Serializes encrypted event query parameters for RPC transport.
120
- * @param method - The RPC method name
121
- * @param value - The query parameters including event metadata, range, and viewing keys
122
- * @returns Serialized query data
123
- */
124
164
  serialize: (
125
165
  method: string,
126
- value: AztecWalletMethodMap['aztec_getEncryptedEvents']['params'],
166
+ value: AztecWalletMethodMap['aztec_getPrivateEvents']['params'],
127
167
  ): JSONRPCSerializedData => {
128
168
  const { event, from, limit, vpks } = value;
129
169
  return {
130
170
  method,
131
- serialized: encodeBase64(
132
- JSON.stringify({
133
- event: {
134
- eventSelector: event.eventSelector.toString(),
135
- abiType: {
136
- kind: event.abiType.kind,
137
- },
138
- fieldNames: event.fieldNames,
171
+ serialized: JSON.stringify({
172
+ event: {
173
+ eventSelector: event.eventSelector.toString(),
174
+ abiType: {
175
+ kind: event.abiType.kind,
139
176
  },
140
- from,
141
- limit,
142
- vpks: vpks?.map((p) => p.toString()),
143
- }),
144
- ),
177
+ fieldNames: event.fieldNames,
178
+ },
179
+ from,
180
+ limit,
181
+ vpks: vpks?.map((p) => p.toString()),
182
+ }),
145
183
  };
146
184
  },
147
- /**
148
- * Deserializes encrypted event query parameters from RPC transport.
149
- * @param method - The RPC method name
150
- * @param data - The serialized query data
151
- * @returns Deserialized query parameters
152
- */
153
185
  deserialize: (
154
186
  method: string,
155
187
  data: JSONRPCSerializedData,
156
- ): AztecWalletMethodMap['aztec_getEncryptedEvents']['params'] => {
157
- const { event: serializedEvent, from, limit, vpks } = JSON.parse(decodeBase64(data.serialized));
188
+ ): AztecWalletMethodMap['aztec_getPrivateEvents']['params'] => {
189
+ const { event: serializedEvent, from, limit, vpks } = JSON.parse(data.serialized);
158
190
  const event: EventMetadataDefinition = {
159
191
  eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
160
192
  abiType: {
@@ -171,76 +203,56 @@ export class AztecGetEncryptedEventsSerializer
171
203
  },
172
204
  };
173
205
 
174
- /**
175
- * Handles serialization of encrypted event results.
176
- * Note: The result type is generic (T[]) based on the event's ABI type definition.
177
- * Currently handles results as unknown[] until proper ABI-based deserialization is implemented.
178
- */
179
206
  result = {
180
207
  serialize: (method: string, value: unknown[]): JSONRPCSerializedData => {
181
208
  return {
182
209
  method,
183
- serialized: encodeBase64(JSON.stringify(value)),
210
+ serialized: JSON.stringify(value),
184
211
  };
185
212
  },
186
213
  deserialize: (method: string, data: JSONRPCSerializedData): unknown[] => {
187
- return JSON.parse(decodeBase64(data.serialized));
214
+ return JSON.parse(data.serialized);
188
215
  },
189
216
  };
190
217
  }
191
218
 
192
219
  /**
193
- * Serializer for the aztec_getUnencryptedEvents RPC method.
194
- * Handles serialization of unencrypted event queries and results between JSON-RPC format and native Aztec types.
195
- * Supports querying events by event selector and pagination parameters.
220
+ * Serializer for the aztec_getPublicEvents RPC method.
221
+ * Handles serialization of public event queries and results between JSON-RPC format and native Aztec types.
196
222
  */
197
- export class AztecGetUnencryptedEventsSerializer
223
+ export class AztecGetPublicEventsSerializer
198
224
  implements
199
225
  JSONRPCSerializer<
200
- AztecWalletMethodMap['aztec_getUnencryptedEvents']['params'],
201
- AztecWalletMethodMap['aztec_getUnencryptedEvents']['result']
226
+ AztecWalletMethodMap['aztec_getPublicEvents']['params'],
227
+ AztecWalletMethodMap['aztec_getPublicEvents']['result']
202
228
  >
203
229
  {
204
230
  params = {
205
- /**
206
- * Serializes unencrypted event query parameters for RPC transport.
207
- * @param method - The RPC method name
208
- * @param value - The query parameters including event metadata and range
209
- * @returns Serialized query data
210
- */
211
231
  serialize: (
212
232
  method: string,
213
- value: AztecWalletMethodMap['aztec_getUnencryptedEvents']['params'],
233
+ value: AztecWalletMethodMap['aztec_getPublicEvents']['params'],
214
234
  ): JSONRPCSerializedData => {
215
235
  const { event, from, limit } = value;
216
236
  return {
217
237
  method,
218
- serialized: encodeBase64(
219
- JSON.stringify({
220
- event: {
221
- eventSelector: event.eventSelector.toString(),
222
- abiType: {
223
- kind: event.abiType.kind,
224
- },
225
- fieldNames: event.fieldNames,
238
+ serialized: JSON.stringify({
239
+ event: {
240
+ eventSelector: event.eventSelector.toString(),
241
+ abiType: {
242
+ kind: event.abiType.kind,
226
243
  },
227
- from,
228
- limit,
229
- }),
230
- ),
244
+ fieldNames: event.fieldNames,
245
+ },
246
+ from,
247
+ limit,
248
+ }),
231
249
  };
232
250
  },
233
- /**
234
- * Deserializes unencrypted event query parameters from RPC transport.
235
- * @param method - The RPC method name
236
- * @param data - The serialized query data
237
- * @returns Deserialized query parameters
238
- */
239
251
  deserialize: (
240
252
  method: string,
241
253
  data: JSONRPCSerializedData,
242
- ): AztecWalletMethodMap['aztec_getUnencryptedEvents']['params'] => {
243
- const { event: serializedEvent, from, limit } = JSON.parse(decodeBase64(data.serialized));
254
+ ): AztecWalletMethodMap['aztec_getPublicEvents']['params'] => {
255
+ const { event: serializedEvent, from, limit } = JSON.parse(data.serialized);
244
256
  const event: EventMetadataDefinition = {
245
257
  eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
246
258
  abiType: {
@@ -256,28 +268,23 @@ export class AztecGetUnencryptedEventsSerializer
256
268
  },
257
269
  };
258
270
 
259
- /**
260
- * Handles serialization of unencrypted event results.
261
- * Note: The result type is generic (T[]) based on the event's ABI type definition.
262
- * Currently handles results as unknown[] until proper ABI-based deserialization is implemented.
263
- */
264
271
  result = {
265
272
  serialize: (method: string, value: unknown[]): JSONRPCSerializedData => {
266
273
  return {
267
274
  method,
268
- serialized: encodeBase64(JSON.stringify(value)),
275
+ serialized: JSON.stringify(value),
269
276
  };
270
277
  },
271
278
  deserialize: (method: string, data: JSONRPCSerializedData): unknown[] => {
272
- return JSON.parse(decodeBase64(data.serialized));
279
+ return JSON.parse(data.serialized);
273
280
  },
274
281
  };
275
282
  }
276
283
 
277
284
  /**
278
285
  * Pre-instantiated serializer instances for each Aztec log/event-related RPC method.
279
- * These instances can be used directly by the RPC handler implementation.
280
286
  */
281
- export const aztecGetUnencryptedLogsSerializer = new AztecGetUnencryptedLogsSerializer();
282
- export const aztecGetEncryptedEventsSerializer = new AztecGetEncryptedEventsSerializer();
283
- export const aztecGetUnencryptedEventsSerializer = new AztecGetUnencryptedEventsSerializer();
287
+ export const aztecGetPublicLogsSerializer = new AztecGetPublicLogsSerializer();
288
+ export const aztecGetContractClassLogsSerializer = new AztecGetContractClassLogsSerializer();
289
+ export const aztecGetPrivateEventsSerializer = new AztecGetPrivateEventsSerializer();
290
+ export const aztecGetPublicEventsSerializer = new AztecGetPublicEventsSerializer();
@@ -1,31 +1,27 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { Fr, AztecAddress, ExtendedNote } from '@aztec/aztec.js';
3
- import { type IncomingNotesFilter, NoteStatus, TxHash, UniqueNote } from '@aztec/circuit-types';
4
- import {
5
- aztecGetIncomingNotesSerializer,
6
- aztecAddNoteSerializer,
7
- aztecAddNullifiedNoteSerializer,
8
- } from './note.js';
3
+ import { type NotesFilter, NoteStatus, TxHash, UniqueNote } from '@aztec/circuit-types';
4
+ import { aztecGetNotesSerializer, aztecAddNoteSerializer, aztecAddNullifiedNoteSerializer } from './note.js';
9
5
 
10
6
  describe('Note Serializers', () => {
11
- describe('aztec_getIncomingNotes', () => {
12
- const METHOD = 'aztec_getIncomingNotes';
13
-
14
- it('should serialize and deserialize params', () => {
15
- const filter: IncomingNotesFilter = {
16
- txHash: TxHash.random(),
17
- contractAddress: AztecAddress.random(),
18
- storageSlot: Fr.random(),
19
- owner: AztecAddress.random(),
7
+ describe('aztec_getNotes', () => {
8
+ const METHOD = 'aztec_getNotes';
9
+
10
+ it('should serialize and deserialize params', async () => {
11
+ const filter: NotesFilter = {
12
+ txHash: await TxHash.random(),
13
+ contractAddress: await AztecAddress.random(),
14
+ storageSlot: await Fr.random(),
15
+ owner: await AztecAddress.random(),
20
16
  status: NoteStatus.ACTIVE,
21
- siloedNullifier: Fr.random(),
22
- scopes: [AztecAddress.random()],
17
+ siloedNullifier: await Fr.random(),
18
+ scopes: [await AztecAddress.random()],
23
19
  };
24
20
  const params = { filter };
25
- const serialized = aztecGetIncomingNotesSerializer.params.serialize(METHOD, params);
21
+ const serialized = aztecGetNotesSerializer.params.serialize(METHOD, params);
26
22
  expect(serialized.method).toBe(METHOD);
27
23
 
28
- const deserialized = aztecGetIncomingNotesSerializer.params.deserialize(METHOD, serialized);
24
+ const deserialized = aztecGetNotesSerializer.params.deserialize(METHOD, serialized);
29
25
  expect(deserialized.filter.txHash?.toString()).toBe(filter.txHash?.toString());
30
26
  expect(deserialized.filter.contractAddress?.toString()).toBe(filter.contractAddress?.toString());
31
27
  expect(deserialized.filter.storageSlot?.toString()).toBe(filter.storageSlot?.toString());
@@ -37,22 +33,24 @@ describe('Note Serializers', () => {
37
33
  );
38
34
  });
39
35
 
40
- it('should serialize and deserialize result', () => {
41
- const result = [UniqueNote.random(), UniqueNote.random()];
36
+ it('should serialize and deserialize result', async () => {
37
+ const result = [await UniqueNote.random(), await UniqueNote.random()];
42
38
 
43
- const serialized = aztecGetIncomingNotesSerializer.result.serialize(METHOD, result);
39
+ const serialized = aztecGetNotesSerializer.result.serialize(METHOD, result);
44
40
  expect(serialized.method).toBe(METHOD);
45
41
 
46
- const deserialized = aztecGetIncomingNotesSerializer.result.deserialize(METHOD, serialized);
47
- expect(deserialized.map((n) => n.toString())).toEqual(result.map((n) => n.toString()));
42
+ const deserialized = aztecGetNotesSerializer.result.deserialize(METHOD, serialized);
43
+ expect(deserialized.map((note: UniqueNote) => note.toString())).toEqual(
44
+ result.map((note: UniqueNote) => note.toString()),
45
+ );
48
46
  });
49
47
  });
50
48
 
51
49
  describe('aztec_addNote', () => {
52
50
  const METHOD = 'aztec_addNote';
53
51
 
54
- it('should serialize and deserialize params', () => {
55
- const note = ExtendedNote.random();
52
+ it('should serialize and deserialize params', async () => {
53
+ const note = await ExtendedNote.random();
56
54
  const params = { note };
57
55
 
58
56
  const serialized = aztecAddNoteSerializer.params.serialize(METHOD, params);
@@ -76,8 +74,8 @@ describe('Note Serializers', () => {
76
74
  describe('aztec_addNullifiedNote', () => {
77
75
  const METHOD = 'aztec_addNullifiedNote';
78
76
 
79
- it('should serialize and deserialize params', () => {
80
- const note = ExtendedNote.random();
77
+ it('should serialize and deserialize params', async () => {
78
+ const note = await ExtendedNote.random();
81
79
  const params = { note };
82
80
 
83
81
  const serialized = aztecAddNullifiedNoteSerializer.params.serialize(METHOD, params);