@walletmesh/aztec-rpc-wallet 0.1.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +4 -4
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/aztecRemoteWallet.d.ts +4 -8
  5. package/dist/aztecRemoteWallet.d.ts.map +1 -1
  6. package/dist/aztecRemoteWallet.js +5 -30
  7. package/dist/chainProvider.d.ts.map +1 -1
  8. package/dist/chainProvider.js +1 -1
  9. package/dist/contractArtifactCache.d.ts.map +1 -1
  10. package/dist/contractArtifactCache.js +20 -9
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +1 -1
  13. package/dist/handlers/aztecAccountWallet.d.ts.map +1 -1
  14. package/dist/handlers/aztecAccountWallet.js +12 -45
  15. package/dist/handlers/transactions.d.ts.map +1 -1
  16. package/dist/handlers/transactions.js +11 -3
  17. package/dist/serializers/account.d.ts +24 -24
  18. package/dist/serializers/account.d.ts.map +1 -1
  19. package/dist/serializers/account.js +51 -51
  20. package/dist/serializers/contract.d.ts +22 -76
  21. package/dist/serializers/contract.d.ts.map +1 -1
  22. package/dist/serializers/contract.js +68 -120
  23. package/dist/serializers/index.d.ts +0 -4
  24. package/dist/serializers/index.d.ts.map +1 -1
  25. package/dist/serializers/index.js +15 -20
  26. package/dist/serializers/log.d.ts +16 -16
  27. package/dist/serializers/log.d.ts.map +1 -1
  28. package/dist/serializers/log.js +66 -64
  29. package/dist/serializers/note.d.ts +18 -18
  30. package/dist/serializers/note.d.ts.map +1 -1
  31. package/dist/serializers/note.js +54 -51
  32. package/dist/serializers/transaction.d.ts +25 -26
  33. package/dist/serializers/transaction.d.ts.map +1 -1
  34. package/dist/serializers/transaction.js +92 -44
  35. package/dist/types.d.ts +8 -31
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/types.js +1 -1
  38. package/docs/README.md +264 -0
  39. package/docs/classes/AztecChainProvider.md +553 -0
  40. package/docs/classes/AztecChainWallet.md +409 -0
  41. package/docs/classes/AztecProvider.md +1112 -0
  42. package/docs/classes/AztecWalletError.md +213 -0
  43. package/docs/classes/ContractArtifactCache.md +81 -0
  44. package/docs/globals.md +34 -0
  45. package/docs/interfaces/AztecWalletBaseMethodMap.md +135 -0
  46. package/docs/interfaces/AztecWalletEventMap.md +17 -0
  47. package/docs/interfaces/AztecWalletMethodMap.md +1012 -0
  48. package/docs/type-aliases/AztecChainId.md +11 -0
  49. package/docs/type-aliases/AztecChainWalletMiddleware.md +13 -0
  50. package/docs/type-aliases/AztecWalletContext.md +29 -0
  51. package/docs/type-aliases/AztecWalletMethodHandler.md +37 -0
  52. package/docs/type-aliases/AztecWalletMiddleware.md +13 -0
  53. package/docs/type-aliases/AztecWalletRouterClient.md +13 -0
  54. package/docs/type-aliases/TransactionFunctionCall.md +33 -0
  55. package/docs/type-aliases/TransactionParams.md +27 -0
  56. package/docs/variables/AztecWalletErrorMap.md +13 -0
  57. package/package.json +11 -11
  58. package/src/aztecRemoteWallet.test.ts +23 -65
  59. package/src/aztecRemoteWallet.ts +8 -36
  60. package/src/chainProvider.test.ts +117 -38
  61. package/src/chainProvider.ts +1 -7
  62. package/src/contractArtifactCache.test.ts +28 -45
  63. package/src/contractArtifactCache.ts +20 -10
  64. package/src/errors.ts +0 -1
  65. package/src/handlers/aztecAccountWallet.test.ts +12 -86
  66. package/src/handlers/aztecAccountWallet.ts +20 -78
  67. package/src/handlers/transactions.ts +16 -2
  68. package/src/provider.test.ts +0 -2
  69. package/src/serializers/account.test.ts +19 -20
  70. package/src/serializers/account.ts +65 -65
  71. package/src/serializers/contract.test.ts +4 -140
  72. package/src/serializers/contract.ts +98 -176
  73. package/src/serializers/index.test.ts +30 -28
  74. package/src/serializers/index.ts +15 -33
  75. package/src/serializers/log.test.ts +42 -48
  76. package/src/serializers/log.ts +85 -83
  77. package/src/serializers/note.test.ts +43 -16
  78. package/src/serializers/note.ts +62 -63
  79. package/src/serializers/transaction.test.ts +48 -41
  80. package/src/serializers/transaction.ts +154 -66
  81. package/src/types.ts +8 -8
  82. package/src/wallet.test.ts +3 -3
  83. package/tsconfig.json +1 -1
  84. package/dist/serializers/transaction-utils.d.ts +0 -51
  85. package/dist/serializers/transaction-utils.d.ts.map +0 -1
  86. package/dist/serializers/transaction-utils.js +0 -94
  87. package/src/serializers/transaction-utils.ts +0 -161
@@ -19,9 +19,8 @@ import {
19
19
  aztecGetAuthWitnessSerializer,
20
20
  } from './account.js';
21
21
  import {
22
- aztecGetContractInstanceSerializer,
23
- aztecGetContractClassSerializer,
24
- aztecGetContractArtifactSerializer,
22
+ aztecGetContractMetadataSerializer,
23
+ aztecGetContractClassMetadataSerializer,
25
24
  aztecRegisterContractSerializer,
26
25
  } from './contract.js';
27
26
  import {
@@ -46,18 +45,6 @@ import {
46
45
  */
47
46
  type AztecMethodName = keyof AztecWalletMethodMap;
48
47
 
49
- /**
50
- * Type helper for extracting parameter types for a given method.
51
- * @typeParam T - The method name to get parameters for
52
- */
53
- type AztecMethodParams<T extends AztecMethodName> = AztecWalletMethodMap[T]['params'];
54
-
55
- /**
56
- * Type helper for extracting result types for a given method.
57
- * @typeParam T - The method name to get result type for
58
- */
59
- type AztecMethodResult<T extends AztecMethodName> = AztecWalletMethodMap[T]['result'];
60
-
61
48
  /**
62
49
  * Registry of all available method serializers.
63
50
  * Maps each RPC method name to its corresponding serializer implementation.
@@ -72,9 +59,8 @@ const methodSerializers: Record<AztecMethodName, JSONRPCSerializer<unknown, unkn
72
59
  aztec_getAuthWitness: aztecGetAuthWitnessSerializer,
73
60
 
74
61
  // Contract methods
75
- aztec_getContractInstance: aztecGetContractInstanceSerializer,
76
- aztec_getContractClass: aztecGetContractClassSerializer,
77
- aztec_getContractArtifact: aztecGetContractArtifactSerializer,
62
+ aztec_getContractMetadata: aztecGetContractMetadataSerializer,
63
+ aztec_getContractClassMetadata: aztecGetContractClassMetadataSerializer,
78
64
  aztec_registerContract: aztecRegisterContractSerializer,
79
65
 
80
66
  // Transaction methods
@@ -105,11 +91,11 @@ const methodSerializers: Record<AztecMethodName, JSONRPCSerializer<unknown, unkn
105
91
  * @param value - The value to wrap
106
92
  * @returns Standardized JSON-RPC data structure
107
93
  */
108
- function wrapUnknownValue(method: string, value: unknown): JSONRPCSerializedData {
109
- return {
94
+ async function wrapUnknownValue(method: string, value: unknown): Promise<JSONRPCSerializedData> {
95
+ return Promise.resolve({
110
96
  method,
111
97
  serialized: JSON.stringify(value),
112
- };
98
+ });
113
99
  }
114
100
 
115
101
  /**
@@ -120,10 +106,6 @@ function wrapUnknownValue(method: string, value: unknown): JSONRPCSerializedData
120
106
  * 1. Routes each method call to its specialized serializer from methodSerializers
121
107
  * 2. Provides fallback handling for unknown methods
122
108
  * 3. Wraps all serialization operations in proper error handling
123
- *
124
- * The serializer handles both:
125
- * - Parameters: Incoming RPC call parameters
126
- * - Results: Outgoing RPC call results
127
109
  */
128
110
  export const AztecWalletSerializer: JSONRPCSerializer<unknown, unknown> = {
129
111
  params: {
@@ -134,14 +116,14 @@ export const AztecWalletSerializer: JSONRPCSerializer<unknown, unknown> = {
134
116
  * @returns Serialized parameter data
135
117
  * @throws If serialization fails or encounters an error
136
118
  */
137
- serialize: (method: string, value: unknown): JSONRPCSerializedData => {
119
+ serialize: async (method: string, value: unknown): Promise<JSONRPCSerializedData> => {
138
120
  const serializer = methodSerializers[method as AztecMethodName];
139
121
  if (!serializer?.params) {
140
122
  return wrapUnknownValue(method, value);
141
123
  }
142
124
 
143
125
  try {
144
- return serializer.params.serialize(method, value);
126
+ return await serializer.params.serialize(method, value);
145
127
  } catch (error) {
146
128
  throw new Error(`Failed to serialize params for method ${method}: ${error}`);
147
129
  }
@@ -153,14 +135,14 @@ export const AztecWalletSerializer: JSONRPCSerializer<unknown, unknown> = {
153
135
  * @returns Deserialized parameters
154
136
  * @throws If deserialization fails or encounters an error
155
137
  */
156
- deserialize: (method: string, data: JSONRPCSerializedData): unknown => {
138
+ deserialize: async (method: string, data: JSONRPCSerializedData): Promise<unknown> => {
157
139
  const serializer = methodSerializers[method as AztecMethodName];
158
140
  if (!serializer?.params) {
159
141
  return data;
160
142
  }
161
143
 
162
144
  try {
163
- return serializer.params.deserialize(method, data);
145
+ return await serializer.params.deserialize(method, data);
164
146
  } catch (error) {
165
147
  throw new Error(`Failed to deserialize params for method ${method}: ${error}`);
166
148
  }
@@ -174,14 +156,14 @@ export const AztecWalletSerializer: JSONRPCSerializer<unknown, unknown> = {
174
156
  * @returns Serialized result data
175
157
  * @throws If serialization fails or encounters an error
176
158
  */
177
- serialize: (method: string, value: unknown): JSONRPCSerializedData => {
159
+ serialize: async (method: string, value: unknown): Promise<JSONRPCSerializedData> => {
178
160
  const serializer = methodSerializers[method as AztecMethodName];
179
161
  if (!serializer?.result) {
180
162
  return wrapUnknownValue(method, value);
181
163
  }
182
164
 
183
165
  try {
184
- return serializer.result.serialize(method, value);
166
+ return await serializer.result.serialize(method, value);
185
167
  } catch (error) {
186
168
  throw new Error(`Failed to serialize result for method ${method}: ${error}`);
187
169
  }
@@ -193,14 +175,14 @@ export const AztecWalletSerializer: JSONRPCSerializer<unknown, unknown> = {
193
175
  * @returns Deserialized result
194
176
  * @throws If deserialization fails or encounters an error
195
177
  */
196
- deserialize: (method: string, data: JSONRPCSerializedData): unknown => {
178
+ deserialize: async (method: string, data: JSONRPCSerializedData): Promise<unknown> => {
197
179
  const serializer = methodSerializers[method as AztecMethodName];
198
180
  if (!serializer?.result) {
199
181
  return data;
200
182
  }
201
183
 
202
184
  try {
203
- return serializer.result.deserialize(method, data);
185
+ return await serializer.result.deserialize(method, data);
204
186
  } catch (error) {
205
187
  throw new Error(`Failed to deserialize result for method ${method}: ${error}`);
206
188
  }
@@ -18,10 +18,6 @@ import {
18
18
  } from './log.js';
19
19
 
20
20
  describe('Log Serializers', () => {
21
- const createRandomLog = async () => {
22
- const log = await ExtendedPublicLog.random();
23
- return log;
24
- };
25
21
  describe('aztec_getPublicLogs', () => {
26
22
  const METHOD = 'aztec_getPublicLogs';
27
23
 
@@ -36,10 +32,10 @@ describe('Log Serializers', () => {
36
32
 
37
33
  const params = { filter };
38
34
 
39
- const serialized = aztecGetPublicLogsSerializer.params.serialize(METHOD, params);
35
+ const serialized = await aztecGetPublicLogsSerializer.params.serialize(METHOD, params);
40
36
  expect(serialized.method).toBe(METHOD);
41
37
 
42
- const deserialized = aztecGetPublicLogsSerializer.params.deserialize(METHOD, serialized);
38
+ const deserialized = await aztecGetPublicLogsSerializer.params.deserialize(METHOD, serialized);
43
39
  expect(deserialized.filter.contractAddress?.toString()).toBe(filter.contractAddress?.toString());
44
40
  expect(deserialized.filter.txHash?.toString()).toBe(filter.txHash?.toString());
45
41
  expect(deserialized.filter.fromBlock).toBe(filter.fromBlock);
@@ -54,11 +50,13 @@ describe('Log Serializers', () => {
54
50
  maxLogsHit: false,
55
51
  };
56
52
 
57
- const serialized = aztecGetPublicLogsSerializer.result.serialize(METHOD, result);
53
+ const serialized = await aztecGetPublicLogsSerializer.result.serialize(METHOD, result);
58
54
  expect(serialized.method).toBe(METHOD);
59
55
 
60
- const deserialized = aztecGetPublicLogsSerializer.result.deserialize(METHOD, serialized);
61
- expect(deserialized.logs[0].toString()).toBe(result.logs[0].toString());
56
+ const deserialized = await aztecGetPublicLogsSerializer.result.deserialize(METHOD, serialized);
57
+ expect(deserialized.logs.length).toBeGreaterThan(0);
58
+ // biome-ignore lint/style/noNonNullAssertion: We know this should be defined
59
+ expect(deserialized.logs[0]!.toString()).toBe(result.logs[0]!.toString());
62
60
  expect(deserialized.logs.length).toBe(result.logs.length);
63
61
  expect(deserialized.maxLogsHit).toBe(result.maxLogsHit);
64
62
  });
@@ -82,10 +80,10 @@ describe('Log Serializers', () => {
82
80
  vpks: [await Point.random(), await Point.random()],
83
81
  };
84
82
 
85
- const serialized = aztecGetPrivateEventsSerializer.params.serialize(METHOD, params);
83
+ const serialized = await aztecGetPrivateEventsSerializer.params.serialize(METHOD, params);
86
84
  expect(serialized.method).toBe(METHOD);
87
85
 
88
- const deserialized = aztecGetPrivateEventsSerializer.params.deserialize(METHOD, serialized);
86
+ const deserialized = await aztecGetPrivateEventsSerializer.params.deserialize(METHOD, serialized);
89
87
  expect(deserialized.event.eventSelector.toString()).toBe(event.eventSelector.toString());
90
88
  expect(deserialized.event.abiType).toEqual(event.abiType);
91
89
  expect(deserialized.event.fieldNames).toEqual(event.fieldNames);
@@ -98,7 +96,7 @@ describe('Log Serializers', () => {
98
96
  describe('aztec_getPublicEvents', () => {
99
97
  const METHOD = 'aztec_getPublicEvents';
100
98
 
101
- it('should serialize and deserialize params', () => {
99
+ it('should serialize and deserialize params', async () => {
102
100
  const event = {
103
101
  eventSelector: EventSelector.fromString('0x12345678'),
104
102
  abiType: {
@@ -112,10 +110,10 @@ describe('Log Serializers', () => {
112
110
  limit: 10,
113
111
  };
114
112
 
115
- const serialized = aztecGetPublicEventsSerializer.params.serialize(METHOD, params);
113
+ const serialized = await aztecGetPublicEventsSerializer.params.serialize(METHOD, params);
116
114
  expect(serialized.method).toBe(METHOD);
117
115
 
118
- const deserialized = aztecGetPublicEventsSerializer.params.deserialize(METHOD, serialized);
116
+ const deserialized = await aztecGetPublicEventsSerializer.params.deserialize(METHOD, serialized);
119
117
  expect(deserialized.event.eventSelector.toString()).toBe(event.eventSelector.toString());
120
118
  expect(deserialized.event.abiType).toEqual(event.abiType);
121
119
  expect(deserialized.event.fieldNames).toEqual(event.fieldNames);
@@ -141,10 +139,10 @@ describe('Log Serializers', () => {
141
139
  };
142
140
 
143
141
  const params = { filter };
144
- const serialized = aztecGetContractClassLogsSerializer.params.serialize(METHOD, params);
142
+ const serialized = await aztecGetContractClassLogsSerializer.params.serialize(METHOD, params);
145
143
  expect(serialized.method).toBe(METHOD);
146
144
 
147
- const deserialized = aztecGetContractClassLogsSerializer.params.deserialize(METHOD, serialized);
145
+ const deserialized = await aztecGetContractClassLogsSerializer.params.deserialize(METHOD, serialized);
148
146
  expect(deserialized.filter.contractAddress?.toString()).toBe(filter.contractAddress?.toString());
149
147
  expect(deserialized.filter.txHash?.toString()).toBe(filter.txHash?.toString());
150
148
  expect(deserialized.filter.fromBlock).toBe(filter.fromBlock);
@@ -152,17 +150,17 @@ describe('Log Serializers', () => {
152
150
  expect(deserialized.filter.afterLog?.toString()).toBe(filter.afterLog?.toString());
153
151
  });
154
152
 
155
- it('should serialize and deserialize params with minimal filter', () => {
153
+ it('should serialize and deserialize params with minimal filter', async () => {
156
154
  const filter: LogFilter = {
157
155
  fromBlock: 0,
158
156
  toBlock: 100,
159
157
  };
160
158
 
161
159
  const params = { filter };
162
- const serialized = aztecGetContractClassLogsSerializer.params.serialize(METHOD, params);
160
+ const serialized = await aztecGetContractClassLogsSerializer.params.serialize(METHOD, params);
163
161
  expect(serialized.method).toBe(METHOD);
164
162
 
165
- const deserialized = aztecGetContractClassLogsSerializer.params.deserialize(METHOD, serialized);
163
+ const deserialized = await aztecGetContractClassLogsSerializer.params.deserialize(METHOD, serialized);
166
164
  expect(deserialized.filter.contractAddress).toBeUndefined();
167
165
  expect(deserialized.filter.txHash).toBeUndefined();
168
166
  expect(deserialized.filter.fromBlock).toBe(filter.fromBlock);
@@ -177,10 +175,10 @@ describe('Log Serializers', () => {
177
175
  maxLogsHit: false,
178
176
  };
179
177
 
180
- const serialized = aztecGetContractClassLogsSerializer.result.serialize(METHOD, result);
178
+ const serialized = await aztecGetContractClassLogsSerializer.result.serialize(METHOD, result);
181
179
  expect(serialized.method).toBe(METHOD);
182
180
 
183
- const deserialized = aztecGetContractClassLogsSerializer.result.deserialize(METHOD, serialized);
181
+ const deserialized = await aztecGetContractClassLogsSerializer.result.deserialize(METHOD, serialized);
184
182
  expect(deserialized.logs).toEqual([]);
185
183
  expect(deserialized.maxLogsHit).toBe(result.maxLogsHit);
186
184
  });
@@ -189,26 +187,26 @@ describe('Log Serializers', () => {
189
187
  describe('aztec_getPrivateEvents result handling', () => {
190
188
  const METHOD = 'aztec_getPrivateEvents';
191
189
 
192
- it('should serialize and deserialize empty result array', () => {
190
+ it('should serialize and deserialize empty result array', async () => {
193
191
  const result: unknown[] = [];
194
- const serialized = aztecGetPrivateEventsSerializer.result.serialize(METHOD, result);
192
+ const serialized = await aztecGetPrivateEventsSerializer.result.serialize(METHOD, result);
195
193
  expect(serialized.method).toBe(METHOD);
196
194
 
197
- const deserialized = aztecGetPrivateEventsSerializer.result.deserialize(METHOD, serialized);
195
+ const deserialized = await aztecGetPrivateEventsSerializer.result.deserialize(METHOD, serialized);
198
196
  expect(deserialized).toEqual([]);
199
197
  });
200
198
 
201
- it('should serialize and deserialize result with multiple events', () => {
199
+ it('should serialize and deserialize result with multiple events', async () => {
202
200
  const result = [
203
201
  { id: 1, data: 'event1' },
204
202
  { id: 2, data: 'event2' },
205
203
  { id: 3, data: 'event3' },
206
204
  ];
207
205
 
208
- const serialized = aztecGetPrivateEventsSerializer.result.serialize(METHOD, result);
206
+ const serialized = await aztecGetPrivateEventsSerializer.result.serialize(METHOD, result);
209
207
  expect(serialized.method).toBe(METHOD);
210
208
 
211
- const deserialized = aztecGetPrivateEventsSerializer.result.deserialize(METHOD, serialized);
209
+ const deserialized = await aztecGetPrivateEventsSerializer.result.deserialize(METHOD, serialized);
212
210
  expect(deserialized).toEqual(result);
213
211
  });
214
212
  });
@@ -216,41 +214,39 @@ describe('Log Serializers', () => {
216
214
  describe('aztec_getPublicEvents result handling', () => {
217
215
  const METHOD = 'aztec_getPublicEvents';
218
216
 
219
- it('should serialize and deserialize empty result array', () => {
217
+ it('should serialize and deserialize empty result array', async () => {
220
218
  const result: unknown[] = [];
221
- const serialized = aztecGetPublicEventsSerializer.result.serialize(METHOD, result);
219
+ const serialized = await aztecGetPublicEventsSerializer.result.serialize(METHOD, result);
222
220
  expect(serialized.method).toBe(METHOD);
223
221
 
224
- const deserialized = aztecGetPublicEventsSerializer.result.deserialize(METHOD, serialized);
222
+ const deserialized = await aztecGetPublicEventsSerializer.result.deserialize(METHOD, serialized);
225
223
  expect(deserialized).toEqual([]);
226
224
  });
227
225
 
228
- it('should serialize and deserialize result with multiple events', () => {
226
+ it('should serialize and deserialize result with multiple events', async () => {
229
227
  const result = [
230
228
  { id: 1, data: 'event1' },
231
229
  { id: 2, data: 'event2' },
232
230
  { id: 3, data: 'event3' },
233
231
  ];
234
232
 
235
- const serialized = aztecGetPublicEventsSerializer.result.serialize(METHOD, result);
233
+ const serialized = await aztecGetPublicEventsSerializer.result.serialize(METHOD, result);
236
234
  expect(serialized.method).toBe(METHOD);
237
235
 
238
- const deserialized = aztecGetPublicEventsSerializer.result.deserialize(METHOD, serialized);
236
+ const deserialized = await aztecGetPublicEventsSerializer.result.deserialize(METHOD, serialized);
239
237
  expect(deserialized).toEqual(result);
240
238
  });
241
239
  });
242
240
 
243
241
  describe('Edge Cases', () => {
244
- it('should handle invalid JSON in deserialization', () => {
242
+ it('should handle invalid JSON in deserialization', async () => {
245
243
  const METHOD = 'aztec_getPublicLogs';
246
244
  const invalidData = { method: METHOD, serialized: 'invalid json' };
247
245
 
248
- expect(() => {
249
- aztecGetPublicLogsSerializer.params.deserialize(METHOD, invalidData);
250
- }).toThrow();
246
+ await expect(aztecGetPublicLogsSerializer.params.deserialize(METHOD, invalidData)).rejects.toThrow();
251
247
  });
252
248
 
253
- it('should handle malformed event selector', () => {
249
+ it('should handle malformed event selector', async () => {
254
250
  const METHOD = 'aztec_getPublicEvents';
255
251
  const params = {
256
252
  event: {
@@ -269,24 +265,22 @@ describe('Log Serializers', () => {
269
265
  limit: 10,
270
266
  };
271
267
 
272
- expect(() => {
273
- aztecGetPublicEventsSerializer.params.serialize(METHOD, params);
274
- }).toThrow();
268
+ await expect(aztecGetPublicEventsSerializer.params.serialize(METHOD, params)).rejects.toThrow();
275
269
  });
276
270
 
277
- it('should handle undefined filter fields', async () => {
271
+ it('should handle optional filter fields', async () => {
278
272
  const METHOD = 'aztec_getPublicLogs';
279
273
  const filter: LogFilter = {
280
- fromBlock: undefined,
281
- toBlock: undefined,
274
+ fromBlock: 0,
275
+ toBlock: 0,
282
276
  };
283
277
 
284
278
  const params = { filter };
285
- const serialized = aztecGetPublicLogsSerializer.params.serialize(METHOD, params);
286
- const deserialized = aztecGetPublicLogsSerializer.params.deserialize(METHOD, serialized);
279
+ const serialized = await aztecGetPublicLogsSerializer.params.serialize(METHOD, params);
280
+ const deserialized = await aztecGetPublicLogsSerializer.params.deserialize(METHOD, serialized);
287
281
 
288
- expect(deserialized.filter.fromBlock).toBeUndefined();
289
- expect(deserialized.filter.toBlock).toBeUndefined();
282
+ expect(deserialized.filter.fromBlock).toBe(0);
283
+ expect(deserialized.filter.toBlock).toBe(0);
290
284
  });
291
285
  });
292
286
  });