@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.
- package/CHANGELOG.md +24 -0
- package/README.md +4 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/aztecRemoteWallet.d.ts +4 -8
- package/dist/aztecRemoteWallet.d.ts.map +1 -1
- package/dist/aztecRemoteWallet.js +5 -30
- package/dist/chainProvider.d.ts.map +1 -1
- package/dist/chainProvider.js +1 -1
- package/dist/contractArtifactCache.d.ts.map +1 -1
- package/dist/contractArtifactCache.js +20 -9
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/handlers/aztecAccountWallet.d.ts.map +1 -1
- package/dist/handlers/aztecAccountWallet.js +12 -45
- package/dist/handlers/transactions.d.ts.map +1 -1
- package/dist/handlers/transactions.js +11 -3
- package/dist/serializers/account.d.ts +24 -24
- package/dist/serializers/account.d.ts.map +1 -1
- package/dist/serializers/account.js +51 -51
- package/dist/serializers/contract.d.ts +22 -76
- package/dist/serializers/contract.d.ts.map +1 -1
- package/dist/serializers/contract.js +68 -120
- package/dist/serializers/index.d.ts +0 -4
- package/dist/serializers/index.d.ts.map +1 -1
- package/dist/serializers/index.js +15 -20
- package/dist/serializers/log.d.ts +16 -16
- package/dist/serializers/log.d.ts.map +1 -1
- package/dist/serializers/log.js +66 -64
- package/dist/serializers/note.d.ts +18 -18
- package/dist/serializers/note.d.ts.map +1 -1
- package/dist/serializers/note.js +54 -51
- package/dist/serializers/transaction.d.ts +25 -26
- package/dist/serializers/transaction.d.ts.map +1 -1
- package/dist/serializers/transaction.js +92 -44
- package/dist/types.d.ts +8 -31
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/docs/README.md +264 -0
- package/docs/classes/AztecChainProvider.md +553 -0
- package/docs/classes/AztecChainWallet.md +409 -0
- package/docs/classes/AztecProvider.md +1112 -0
- package/docs/classes/AztecWalletError.md +213 -0
- package/docs/classes/ContractArtifactCache.md +81 -0
- package/docs/globals.md +34 -0
- package/docs/interfaces/AztecWalletBaseMethodMap.md +135 -0
- package/docs/interfaces/AztecWalletEventMap.md +17 -0
- package/docs/interfaces/AztecWalletMethodMap.md +1012 -0
- package/docs/type-aliases/AztecChainId.md +11 -0
- package/docs/type-aliases/AztecChainWalletMiddleware.md +13 -0
- package/docs/type-aliases/AztecWalletContext.md +29 -0
- package/docs/type-aliases/AztecWalletMethodHandler.md +37 -0
- package/docs/type-aliases/AztecWalletMiddleware.md +13 -0
- package/docs/type-aliases/AztecWalletRouterClient.md +13 -0
- package/docs/type-aliases/TransactionFunctionCall.md +33 -0
- package/docs/type-aliases/TransactionParams.md +27 -0
- package/docs/variables/AztecWalletErrorMap.md +13 -0
- package/package.json +11 -11
- package/src/aztecRemoteWallet.test.ts +23 -65
- package/src/aztecRemoteWallet.ts +8 -36
- package/src/chainProvider.test.ts +117 -38
- package/src/chainProvider.ts +1 -7
- package/src/contractArtifactCache.test.ts +28 -45
- package/src/contractArtifactCache.ts +20 -10
- package/src/errors.ts +0 -1
- package/src/handlers/aztecAccountWallet.test.ts +12 -86
- package/src/handlers/aztecAccountWallet.ts +20 -78
- package/src/handlers/transactions.ts +16 -2
- package/src/provider.test.ts +0 -2
- package/src/serializers/account.test.ts +19 -20
- package/src/serializers/account.ts +65 -65
- package/src/serializers/contract.test.ts +4 -140
- package/src/serializers/contract.ts +98 -176
- package/src/serializers/index.test.ts +30 -28
- package/src/serializers/index.ts +15 -33
- package/src/serializers/log.test.ts +42 -48
- package/src/serializers/log.ts +85 -83
- package/src/serializers/note.test.ts +43 -16
- package/src/serializers/note.ts +62 -63
- package/src/serializers/transaction.test.ts +48 -41
- package/src/serializers/transaction.ts +154 -66
- package/src/types.ts +8 -8
- package/src/wallet.test.ts +3 -3
- package/tsconfig.json +1 -1
- package/dist/serializers/transaction-utils.d.ts +0 -51
- package/dist/serializers/transaction-utils.d.ts.map +0 -1
- package/dist/serializers/transaction-utils.js +0 -94
- package/src/serializers/transaction-utils.ts +0 -161
package/src/serializers/index.ts
CHANGED
@@ -19,9 +19,8 @@ import {
|
|
19
19
|
aztecGetAuthWitnessSerializer,
|
20
20
|
} from './account.js';
|
21
21
|
import {
|
22
|
-
|
23
|
-
|
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
|
-
|
76
|
-
|
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
|
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
|
271
|
+
it('should handle optional filter fields', async () => {
|
278
272
|
const METHOD = 'aztec_getPublicLogs';
|
279
273
|
const filter: LogFilter = {
|
280
|
-
fromBlock:
|
281
|
-
toBlock:
|
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).
|
289
|
-
expect(deserialized.filter.toBlock).
|
282
|
+
expect(deserialized.filter.fromBlock).toBe(0);
|
283
|
+
expect(deserialized.filter.toBlock).toBe(0);
|
290
284
|
});
|
291
285
|
});
|
292
286
|
});
|