@walletmesh/aztec-rpc-wallet 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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);