@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.
- 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
|
});
|