@walletmesh/aztec-rpc-wallet 0.1.1 → 0.3.0

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 (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
  });