@walletmesh/aztec-rpc-wallet 0.2.0 → 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 +12 -0
- 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 -29
- package/dist/contractArtifactCache.d.ts.map +1 -1
- package/dist/contractArtifactCache.js +20 -9
- package/dist/handlers/aztecAccountWallet.d.ts.map +1 -1
- package/dist/handlers/aztecAccountWallet.js +11 -44
- package/dist/serializers/account.d.ts +16 -16
- package/dist/serializers/account.d.ts.map +1 -1
- package/dist/serializers/account.js +43 -43
- 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 +43 -43
- package/dist/serializers/note.d.ts +12 -12
- package/dist/serializers/note.d.ts.map +1 -1
- package/dist/serializers/note.js +32 -32
- 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 +7 -30
- 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 +9 -9
- package/src/aztecRemoteWallet.test.ts +22 -61
- package/src/aztecRemoteWallet.ts +8 -35
- package/src/chainProvider.test.ts +117 -38
- package/src/contractArtifactCache.test.ts +28 -45
- package/src/contractArtifactCache.ts +20 -10
- package/src/handlers/aztecAccountWallet.test.ts +12 -86
- package/src/handlers/aztecAccountWallet.ts +19 -77
- package/src/provider.test.ts +0 -2
- package/src/serializers/account.test.ts +19 -20
- package/src/serializers/account.ts +52 -52
- package/src/serializers/contract.test.ts +4 -140
- package/src/serializers/contract.ts +93 -166
- package/src/serializers/index.test.ts +30 -28
- package/src/serializers/index.ts +15 -21
- package/src/serializers/log.test.ts +42 -48
- package/src/serializers/log.ts +54 -54
- package/src/serializers/note.test.ts +43 -16
- package/src/serializers/note.ts +39 -39
- package/src/serializers/transaction.test.ts +48 -41
- package/src/serializers/transaction.ts +146 -58
- package/src/types.ts +7 -7
- package/src/wallet.test.ts +3 -3
- 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 -103
- package/src/serializers/transaction-utils.ts +0 -174
@@ -18,28 +18,29 @@ describe('Note Serializers', () => {
|
|
18
18
|
scopes: [await AztecAddress.random()],
|
19
19
|
};
|
20
20
|
const params = { filter };
|
21
|
-
|
21
|
+
|
22
|
+
const serialized = await aztecGetNotesSerializer.params.serialize(METHOD, params);
|
22
23
|
expect(serialized.method).toBe(METHOD);
|
23
24
|
|
24
|
-
const deserialized = aztecGetNotesSerializer.params.deserialize(METHOD, serialized);
|
25
|
+
const deserialized = await aztecGetNotesSerializer.params.deserialize(METHOD, serialized);
|
25
26
|
expect(deserialized.filter.txHash?.toString()).toBe(filter.txHash?.toString());
|
26
27
|
expect(deserialized.filter.contractAddress?.toString()).toBe(filter.contractAddress?.toString());
|
27
28
|
expect(deserialized.filter.storageSlot?.toString()).toBe(filter.storageSlot?.toString());
|
28
29
|
expect(deserialized.filter.owner?.toString()).toBe(filter.owner?.toString());
|
29
30
|
expect(deserialized.filter.status).toBe(filter.status);
|
30
31
|
expect(deserialized.filter.siloedNullifier?.toString()).toBe(filter.siloedNullifier?.toString());
|
31
|
-
expect(deserialized.filter.scopes?.map((
|
32
|
-
filter.scopes?.map((
|
32
|
+
expect(deserialized.filter.scopes?.map((s) => s.toString())).toEqual(
|
33
|
+
filter.scopes?.map((s) => s.toString()),
|
33
34
|
);
|
34
35
|
});
|
35
36
|
|
36
37
|
it('should serialize and deserialize result', async () => {
|
37
38
|
const result = [await UniqueNote.random(), await UniqueNote.random()];
|
38
39
|
|
39
|
-
const serialized = aztecGetNotesSerializer.result.serialize(METHOD, result);
|
40
|
+
const serialized = await aztecGetNotesSerializer.result.serialize(METHOD, result);
|
40
41
|
expect(serialized.method).toBe(METHOD);
|
41
42
|
|
42
|
-
const deserialized = aztecGetNotesSerializer.result.deserialize(METHOD, serialized);
|
43
|
+
const deserialized = await aztecGetNotesSerializer.result.deserialize(METHOD, serialized);
|
43
44
|
expect(deserialized.map((note: UniqueNote) => note.toString())).toEqual(
|
44
45
|
result.map((note: UniqueNote) => note.toString()),
|
45
46
|
);
|
@@ -53,20 +54,20 @@ describe('Note Serializers', () => {
|
|
53
54
|
const note = await ExtendedNote.random();
|
54
55
|
const params = { note };
|
55
56
|
|
56
|
-
const serialized = aztecAddNoteSerializer.params.serialize(METHOD, params);
|
57
|
+
const serialized = await aztecAddNoteSerializer.params.serialize(METHOD, params);
|
57
58
|
expect(serialized.method).toBe(METHOD);
|
58
59
|
|
59
|
-
const deserialized = aztecAddNoteSerializer.params.deserialize(METHOD, serialized);
|
60
|
+
const deserialized = await aztecAddNoteSerializer.params.deserialize(METHOD, serialized);
|
60
61
|
expect(deserialized.note.toBuffer().toString('hex')).toBe(note.toBuffer().toString('hex'));
|
61
62
|
});
|
62
63
|
|
63
|
-
it('should serialize and deserialize result', () => {
|
64
|
+
it('should serialize and deserialize result', async () => {
|
64
65
|
const result = true;
|
65
66
|
|
66
|
-
const serialized = aztecAddNoteSerializer.result.serialize(METHOD, result);
|
67
|
+
const serialized = await aztecAddNoteSerializer.result.serialize(METHOD, result);
|
67
68
|
expect(serialized.method).toBe(METHOD);
|
68
69
|
|
69
|
-
const deserialized = aztecAddNoteSerializer.result.deserialize(METHOD, serialized);
|
70
|
+
const deserialized = await aztecAddNoteSerializer.result.deserialize(METHOD, serialized);
|
70
71
|
expect(deserialized).toBe(result);
|
71
72
|
});
|
72
73
|
});
|
@@ -78,21 +79,47 @@ describe('Note Serializers', () => {
|
|
78
79
|
const note = await ExtendedNote.random();
|
79
80
|
const params = { note };
|
80
81
|
|
81
|
-
const serialized = aztecAddNullifiedNoteSerializer.params.serialize(METHOD, params);
|
82
|
+
const serialized = await aztecAddNullifiedNoteSerializer.params.serialize(METHOD, params);
|
82
83
|
expect(serialized.method).toBe(METHOD);
|
83
84
|
|
84
|
-
const deserialized = aztecAddNullifiedNoteSerializer.params.deserialize(METHOD, serialized);
|
85
|
+
const deserialized = await aztecAddNullifiedNoteSerializer.params.deserialize(METHOD, serialized);
|
85
86
|
expect(deserialized.note.toBuffer().toString('hex')).toBe(note.toBuffer().toString('hex'));
|
86
87
|
});
|
87
88
|
|
88
|
-
it('should serialize and deserialize result', () => {
|
89
|
+
it('should serialize and deserialize result', async () => {
|
89
90
|
const result = true;
|
90
91
|
|
91
|
-
const serialized = aztecAddNullifiedNoteSerializer.result.serialize(METHOD, result);
|
92
|
+
const serialized = await aztecAddNullifiedNoteSerializer.result.serialize(METHOD, result);
|
92
93
|
expect(serialized.method).toBe(METHOD);
|
93
94
|
|
94
|
-
const deserialized = aztecAddNullifiedNoteSerializer.result.deserialize(METHOD, serialized);
|
95
|
+
const deserialized = await aztecAddNullifiedNoteSerializer.result.deserialize(METHOD, serialized);
|
95
96
|
expect(deserialized).toBe(result);
|
96
97
|
});
|
97
98
|
});
|
99
|
+
|
100
|
+
describe('Edge Cases', () => {
|
101
|
+
it('should handle invalid JSON in deserialization', async () => {
|
102
|
+
const METHOD = 'aztec_getNotes';
|
103
|
+
const invalidData = { method: METHOD, serialized: 'invalid json' };
|
104
|
+
|
105
|
+
await expect(aztecGetNotesSerializer.params.deserialize(METHOD, invalidData)).rejects.toThrow();
|
106
|
+
});
|
107
|
+
|
108
|
+
it('should handle empty filter fields', async () => {
|
109
|
+
const METHOD = 'aztec_getNotes';
|
110
|
+
const filter: NotesFilter = {};
|
111
|
+
const params = { filter };
|
112
|
+
|
113
|
+
const serialized = await aztecGetNotesSerializer.params.serialize(METHOD, params);
|
114
|
+
const deserialized = await aztecGetNotesSerializer.params.deserialize(METHOD, serialized);
|
115
|
+
|
116
|
+
expect(deserialized.filter.txHash).toBeUndefined();
|
117
|
+
expect(deserialized.filter.contractAddress).toBeUndefined();
|
118
|
+
expect(deserialized.filter.storageSlot).toBeUndefined();
|
119
|
+
expect(deserialized.filter.owner).toBeUndefined();
|
120
|
+
expect(deserialized.filter.status).toBeUndefined();
|
121
|
+
expect(deserialized.filter.siloedNullifier).toBeUndefined();
|
122
|
+
expect(deserialized.filter.scopes).toBeUndefined();
|
123
|
+
});
|
124
|
+
});
|
98
125
|
});
|
package/src/serializers/note.ts
CHANGED
@@ -21,10 +21,10 @@ export class AztecGetNotesSerializer
|
|
21
21
|
* @param value - The parameters containing filter criteria for notes
|
22
22
|
* @returns Serialized filter data
|
23
23
|
*/
|
24
|
-
serialize: (
|
24
|
+
serialize: async (
|
25
25
|
method: string,
|
26
26
|
value: AztecWalletMethodMap['aztec_getNotes']['params'],
|
27
|
-
): JSONRPCSerializedData => {
|
27
|
+
): Promise<JSONRPCSerializedData> => {
|
28
28
|
const { filter } = value;
|
29
29
|
// Convert instances to their string representations for transport
|
30
30
|
const serializedFilter = {
|
@@ -37,10 +37,10 @@ export class AztecGetNotesSerializer
|
|
37
37
|
scopes: filter.scopes?.map((scope) => scope.toString()),
|
38
38
|
};
|
39
39
|
|
40
|
-
return {
|
40
|
+
return Promise.resolve({
|
41
41
|
method,
|
42
42
|
serialized: JSON.stringify({ filter: serializedFilter }),
|
43
|
-
};
|
43
|
+
});
|
44
44
|
},
|
45
45
|
/**
|
46
46
|
* Deserializes notes filter parameters from RPC transport.
|
@@ -48,10 +48,10 @@ export class AztecGetNotesSerializer
|
|
48
48
|
* @param data - The serialized filter data
|
49
49
|
* @returns Deserialized filter parameters
|
50
50
|
*/
|
51
|
-
deserialize: (
|
51
|
+
deserialize: async (
|
52
52
|
_method: string,
|
53
53
|
data: JSONRPCSerializedData,
|
54
|
-
): AztecWalletMethodMap['aztec_getNotes']['params'] => {
|
54
|
+
): Promise<AztecWalletMethodMap['aztec_getNotes']['params']> => {
|
55
55
|
const { filter } = JSON.parse(data.serialized);
|
56
56
|
|
57
57
|
// Convert string representations back to instances
|
@@ -66,9 +66,9 @@ export class AztecGetNotesSerializer
|
|
66
66
|
if (filter.scopes)
|
67
67
|
notesFilter.scopes = filter.scopes.map((scope: string) => AztecAddress.fromString(scope));
|
68
68
|
|
69
|
-
return {
|
69
|
+
return Promise.resolve({
|
70
70
|
filter: notesFilter,
|
71
|
-
};
|
71
|
+
});
|
72
72
|
},
|
73
73
|
};
|
74
74
|
|
@@ -79,14 +79,14 @@ export class AztecGetNotesSerializer
|
|
79
79
|
* @param value - Array of unique notes matching the filter criteria
|
80
80
|
* @returns Serialized note array
|
81
81
|
*/
|
82
|
-
serialize: (
|
82
|
+
serialize: async (
|
83
83
|
method: string,
|
84
84
|
value: AztecWalletMethodMap['aztec_getNotes']['result'],
|
85
|
-
): JSONRPCSerializedData => {
|
86
|
-
return {
|
85
|
+
): Promise<JSONRPCSerializedData> => {
|
86
|
+
return Promise.resolve({
|
87
87
|
method,
|
88
88
|
serialized: JSON.stringify(value.map((n) => n.toString())),
|
89
|
-
};
|
89
|
+
});
|
90
90
|
},
|
91
91
|
/**
|
92
92
|
* Deserializes the notes query result.
|
@@ -94,11 +94,11 @@ export class AztecGetNotesSerializer
|
|
94
94
|
* @param data - The serialized note array data
|
95
95
|
* @returns Array of deserialized unique notes
|
96
96
|
*/
|
97
|
-
deserialize: (
|
97
|
+
deserialize: async (
|
98
98
|
_method: string,
|
99
99
|
data: JSONRPCSerializedData,
|
100
|
-
): AztecWalletMethodMap['aztec_getNotes']['result'] => {
|
101
|
-
return JSON.parse(data.serialized).map((n: string) => UniqueNote.fromString(n));
|
100
|
+
): Promise<AztecWalletMethodMap['aztec_getNotes']['result']> => {
|
101
|
+
return Promise.resolve(JSON.parse(data.serialized).map((n: string) => UniqueNote.fromString(n)));
|
102
102
|
},
|
103
103
|
};
|
104
104
|
}
|
@@ -121,15 +121,15 @@ export class AztecAddNoteSerializer
|
|
121
121
|
* @param value - The parameters containing the note to add
|
122
122
|
* @returns Serialized note data
|
123
123
|
*/
|
124
|
-
serialize: (
|
124
|
+
serialize: async (
|
125
125
|
method: string,
|
126
126
|
value: AztecWalletMethodMap['aztec_addNote']['params'],
|
127
|
-
): JSONRPCSerializedData => {
|
127
|
+
): Promise<JSONRPCSerializedData> => {
|
128
128
|
const { note } = value;
|
129
|
-
return {
|
129
|
+
return Promise.resolve({
|
130
130
|
method,
|
131
131
|
serialized: JSON.stringify({ note: note.toBuffer().toString('base64') }),
|
132
|
-
};
|
132
|
+
});
|
133
133
|
},
|
134
134
|
/**
|
135
135
|
* Deserializes note addition parameters from RPC transport.
|
@@ -137,13 +137,13 @@ export class AztecAddNoteSerializer
|
|
137
137
|
* @param data - The serialized note data
|
138
138
|
* @returns Deserialized note parameters
|
139
139
|
*/
|
140
|
-
deserialize: (
|
140
|
+
deserialize: async (
|
141
141
|
_method: string,
|
142
142
|
data: JSONRPCSerializedData,
|
143
|
-
): AztecWalletMethodMap['aztec_addNote']['params'] => {
|
143
|
+
): Promise<AztecWalletMethodMap['aztec_addNote']['params']> => {
|
144
144
|
const { note: noteBase64 } = JSON.parse(data.serialized);
|
145
145
|
const note = ExtendedNote.fromBuffer(Buffer.from(noteBase64, 'base64'));
|
146
|
-
return { note };
|
146
|
+
return Promise.resolve({ note });
|
147
147
|
},
|
148
148
|
};
|
149
149
|
|
@@ -154,11 +154,11 @@ export class AztecAddNoteSerializer
|
|
154
154
|
* @param value - Boolean indicating success of the note addition
|
155
155
|
* @returns Serialized result
|
156
156
|
*/
|
157
|
-
serialize: (method: string, value: boolean): JSONRPCSerializedData => {
|
158
|
-
return {
|
157
|
+
serialize: async (method: string, value: boolean): Promise<JSONRPCSerializedData> => {
|
158
|
+
return Promise.resolve({
|
159
159
|
method,
|
160
160
|
serialized: JSON.stringify(value),
|
161
|
-
};
|
161
|
+
});
|
162
162
|
},
|
163
163
|
/**
|
164
164
|
* Deserializes the note addition result.
|
@@ -166,8 +166,8 @@ export class AztecAddNoteSerializer
|
|
166
166
|
* @param data - The serialized result data
|
167
167
|
* @returns Boolean indicating success
|
168
168
|
*/
|
169
|
-
deserialize: (_method: string, data: JSONRPCSerializedData): boolean => {
|
170
|
-
return JSON.parse(data.serialized);
|
169
|
+
deserialize: async (_method: string, data: JSONRPCSerializedData): Promise<boolean> => {
|
170
|
+
return Promise.resolve(JSON.parse(data.serialized));
|
171
171
|
},
|
172
172
|
};
|
173
173
|
}
|
@@ -190,15 +190,15 @@ export class AztecAddNullifiedNoteSerializer
|
|
190
190
|
* @param value - The parameters containing the nullified note to add
|
191
191
|
* @returns Serialized note data
|
192
192
|
*/
|
193
|
-
serialize: (
|
193
|
+
serialize: async (
|
194
194
|
method: string,
|
195
195
|
value: AztecWalletMethodMap['aztec_addNullifiedNote']['params'],
|
196
|
-
): JSONRPCSerializedData => {
|
196
|
+
): Promise<JSONRPCSerializedData> => {
|
197
197
|
const { note } = value;
|
198
|
-
return {
|
198
|
+
return Promise.resolve({
|
199
199
|
method,
|
200
200
|
serialized: JSON.stringify({ note: note.toBuffer().toString('base64') }),
|
201
|
-
};
|
201
|
+
});
|
202
202
|
},
|
203
203
|
/**
|
204
204
|
* Deserializes nullified note addition parameters from RPC transport.
|
@@ -206,13 +206,13 @@ export class AztecAddNullifiedNoteSerializer
|
|
206
206
|
* @param data - The serialized note data
|
207
207
|
* @returns Deserialized note parameters
|
208
208
|
*/
|
209
|
-
deserialize: (
|
209
|
+
deserialize: async (
|
210
210
|
_method: string,
|
211
211
|
data: JSONRPCSerializedData,
|
212
|
-
): AztecWalletMethodMap['aztec_addNullifiedNote']['params'] => {
|
212
|
+
): Promise<AztecWalletMethodMap['aztec_addNullifiedNote']['params']> => {
|
213
213
|
const { note: noteBase64 } = JSON.parse(data.serialized);
|
214
214
|
const note = ExtendedNote.fromBuffer(Buffer.from(noteBase64, 'base64'));
|
215
|
-
return { note };
|
215
|
+
return Promise.resolve({ note });
|
216
216
|
},
|
217
217
|
};
|
218
218
|
|
@@ -223,11 +223,11 @@ export class AztecAddNullifiedNoteSerializer
|
|
223
223
|
* @param value - Boolean indicating success of the nullified note addition
|
224
224
|
* @returns Serialized result
|
225
225
|
*/
|
226
|
-
serialize: (method: string, value: boolean): JSONRPCSerializedData => {
|
227
|
-
return {
|
226
|
+
serialize: async (method: string, value: boolean): Promise<JSONRPCSerializedData> => {
|
227
|
+
return Promise.resolve({
|
228
228
|
method,
|
229
229
|
serialized: JSON.stringify(value),
|
230
|
-
};
|
230
|
+
});
|
231
231
|
},
|
232
232
|
/**
|
233
233
|
* Deserializes the nullified note addition result.
|
@@ -235,8 +235,8 @@ export class AztecAddNullifiedNoteSerializer
|
|
235
235
|
* @param data - The serialized result data
|
236
236
|
* @returns Boolean indicating success
|
237
237
|
*/
|
238
|
-
deserialize: (_method: string, data: JSONRPCSerializedData): boolean => {
|
239
|
-
return JSON.parse(data.serialized);
|
238
|
+
deserialize: async (_method: string, data: JSONRPCSerializedData): Promise<boolean> => {
|
239
|
+
return Promise.resolve(JSON.parse(data.serialized));
|
240
240
|
},
|
241
241
|
};
|
242
242
|
}
|
@@ -40,11 +40,16 @@ describe('Transaction Serializers', () => {
|
|
40
40
|
};
|
41
41
|
const params = { exec };
|
42
42
|
|
43
|
-
const serialized = aztecCreateTxExecutionRequestSerializer.params.serialize(METHOD, params);
|
43
|
+
const serialized = await aztecCreateTxExecutionRequestSerializer.params.serialize(METHOD, params);
|
44
44
|
expect(serialized.method).toBe(METHOD);
|
45
45
|
|
46
|
-
const deserialized = aztecCreateTxExecutionRequestSerializer.params.deserialize(
|
47
|
-
|
46
|
+
const deserialized = await aztecCreateTxExecutionRequestSerializer.params.deserialize(
|
47
|
+
METHOD,
|
48
|
+
serialized,
|
49
|
+
);
|
50
|
+
expect(deserialized.exec.calls).toEqual([]);
|
51
|
+
expect(deserialized.exec.fee.gasSettings.equals(randomTx.txContext.gasSettings)).toBe(true);
|
52
|
+
expect(deserialized.exec.fee.paymentMethod).toBeDefined();
|
48
53
|
});
|
49
54
|
|
50
55
|
it('should handle complex function calls in params', async () => {
|
@@ -69,30 +74,32 @@ describe('Transaction Serializers', () => {
|
|
69
74
|
};
|
70
75
|
const params = { exec };
|
71
76
|
|
72
|
-
const serialized = aztecCreateTxExecutionRequestSerializer.params.serialize(METHOD, params);
|
73
|
-
const deserialized = aztecCreateTxExecutionRequestSerializer.params.deserialize(
|
77
|
+
const serialized = await aztecCreateTxExecutionRequestSerializer.params.serialize(METHOD, params);
|
78
|
+
const deserialized = await aztecCreateTxExecutionRequestSerializer.params.deserialize(
|
79
|
+
METHOD,
|
80
|
+
serialized,
|
81
|
+
);
|
74
82
|
|
75
|
-
|
76
|
-
expect(deserialized.exec.calls[0]
|
77
|
-
|
83
|
+
// biome-ignore lint/style/noNonNullAssertion: test
|
84
|
+
expect(deserialized.exec.calls[0]!.name).toBe(exec.calls[0]!.name);
|
85
|
+
// biome-ignore lint/style/noNonNullAssertion: test
|
86
|
+
expect(deserialized.exec.calls[0]!.to.toString()).toBe(exec.calls[0]!.to.toString());
|
87
|
+
// biome-ignore lint/style/noNonNullAssertion: test
|
88
|
+
expect(deserialized.exec.calls[0]!.type).toBe(exec.calls[0]!.type);
|
78
89
|
});
|
79
90
|
|
80
91
|
it('should serialize and deserialize result', async () => {
|
81
92
|
const result = await TxExecutionRequest.random();
|
82
93
|
|
83
|
-
const serialized = aztecCreateTxExecutionRequestSerializer.result.serialize(METHOD, result);
|
94
|
+
const serialized = await aztecCreateTxExecutionRequestSerializer.result.serialize(METHOD, result);
|
84
95
|
expect(serialized.method).toBe(METHOD);
|
85
96
|
|
86
|
-
const deserialized = aztecCreateTxExecutionRequestSerializer.result.deserialize(
|
97
|
+
const deserialized = await aztecCreateTxExecutionRequestSerializer.result.deserialize(
|
98
|
+
METHOD,
|
99
|
+
serialized,
|
100
|
+
);
|
87
101
|
expect(deserialized.toString()).toBe(result.toString());
|
88
102
|
});
|
89
|
-
|
90
|
-
it('should handle invalid params', () => {
|
91
|
-
expect(() => {
|
92
|
-
// @ts-ignore - Testing invalid input
|
93
|
-
aztecCreateTxExecutionRequestSerializer.params.serialize(METHOD, { exec: null });
|
94
|
-
}).toThrow();
|
95
|
-
});
|
96
103
|
});
|
97
104
|
|
98
105
|
describe('aztec_getTxEffect', () => {
|
@@ -102,10 +109,10 @@ describe('Transaction Serializers', () => {
|
|
102
109
|
const txHash = await TxHash.random();
|
103
110
|
const params = { txHash };
|
104
111
|
|
105
|
-
const serialized = aztecGetTxEffectSerializer.params.serialize(METHOD, params);
|
112
|
+
const serialized = await aztecGetTxEffectSerializer.params.serialize(METHOD, params);
|
106
113
|
expect(serialized.method).toBe(METHOD);
|
107
114
|
|
108
|
-
const deserialized = aztecGetTxEffectSerializer.params.deserialize(METHOD, serialized);
|
115
|
+
const deserialized = await aztecGetTxEffectSerializer.params.deserialize(METHOD, serialized);
|
109
116
|
expect(deserialized.txHash.toString()).toBe(txHash.toString());
|
110
117
|
});
|
111
118
|
|
@@ -120,8 +127,8 @@ describe('Transaction Serializers', () => {
|
|
120
127
|
data: effect,
|
121
128
|
};
|
122
129
|
|
123
|
-
const serialized = aztecGetTxEffectSerializer.result.serialize(METHOD, result);
|
124
|
-
const deserialized = aztecGetTxEffectSerializer.result.deserialize(METHOD, serialized);
|
130
|
+
const serialized = await aztecGetTxEffectSerializer.result.serialize(METHOD, result);
|
131
|
+
const deserialized = await aztecGetTxEffectSerializer.result.deserialize(METHOD, serialized);
|
125
132
|
|
126
133
|
expect(deserialized.l2BlockNumber).toBe(result.l2BlockNumber);
|
127
134
|
expect(deserialized.data).toBeDefined();
|
@@ -135,10 +142,10 @@ describe('Transaction Serializers', () => {
|
|
135
142
|
const txHash = await TxHash.random();
|
136
143
|
const params = { txHash };
|
137
144
|
|
138
|
-
const serialized = aztecGetTxReceiptSerializer.params.serialize(METHOD, params);
|
145
|
+
const serialized = await aztecGetTxReceiptSerializer.params.serialize(METHOD, params);
|
139
146
|
expect(serialized.method).toBe(METHOD);
|
140
147
|
|
141
|
-
const deserialized = aztecGetTxReceiptSerializer.params.deserialize(METHOD, serialized);
|
148
|
+
const deserialized = await aztecGetTxReceiptSerializer.params.deserialize(METHOD, serialized);
|
142
149
|
expect(deserialized.txHash.toString()).toBe(txHash.toString());
|
143
150
|
});
|
144
151
|
|
@@ -152,8 +159,8 @@ describe('Transaction Serializers', () => {
|
|
152
159
|
undefined,
|
153
160
|
);
|
154
161
|
|
155
|
-
const serialized = aztecGetTxReceiptSerializer.result.serialize(METHOD, receipt);
|
156
|
-
const deserialized = aztecGetTxReceiptSerializer.result.deserialize(METHOD, serialized);
|
162
|
+
const serialized = await aztecGetTxReceiptSerializer.result.serialize(METHOD, receipt);
|
163
|
+
const deserialized = await aztecGetTxReceiptSerializer.result.deserialize(METHOD, serialized);
|
157
164
|
|
158
165
|
expect(deserialized.txHash.toString()).toBe(receipt.txHash.toString());
|
159
166
|
expect(deserialized.error).toBe(receipt.error);
|
@@ -167,20 +174,20 @@ describe('Transaction Serializers', () => {
|
|
167
174
|
const tx = await Tx.random();
|
168
175
|
const params = { tx };
|
169
176
|
|
170
|
-
const serialized = aztecSendTxSerializer.params.serialize(METHOD, params);
|
177
|
+
const serialized = await aztecSendTxSerializer.params.serialize(METHOD, params);
|
171
178
|
expect(serialized.method).toBe(METHOD);
|
172
179
|
|
173
|
-
const deserialized = aztecSendTxSerializer.params.deserialize(METHOD, serialized);
|
180
|
+
const deserialized = await aztecSendTxSerializer.params.deserialize(METHOD, serialized);
|
174
181
|
expect(deserialized.tx.toBuffer().toString('hex')).toBe(tx.toBuffer().toString('hex'));
|
175
182
|
});
|
176
183
|
|
177
184
|
it('should serialize and deserialize result', async () => {
|
178
185
|
const result = await TxHash.random();
|
179
186
|
|
180
|
-
const serialized = aztecSendTxSerializer.result.serialize(METHOD, result);
|
187
|
+
const serialized = await aztecSendTxSerializer.result.serialize(METHOD, result);
|
181
188
|
expect(serialized.method).toBe(METHOD);
|
182
189
|
|
183
|
-
const deserialized = aztecSendTxSerializer.result.deserialize(METHOD, serialized);
|
190
|
+
const deserialized = await aztecSendTxSerializer.result.deserialize(METHOD, serialized);
|
184
191
|
expect(deserialized.toString()).toBe(result.toString());
|
185
192
|
});
|
186
193
|
});
|
@@ -198,10 +205,10 @@ describe('Transaction Serializers', () => {
|
|
198
205
|
profile: false,
|
199
206
|
};
|
200
207
|
|
201
|
-
const serialized = aztecSimulateTxSerializer.params.serialize(METHOD, params);
|
208
|
+
const serialized = await aztecSimulateTxSerializer.params.serialize(METHOD, params);
|
202
209
|
expect(serialized.method).toBe(METHOD);
|
203
210
|
|
204
|
-
const deserialized = aztecSimulateTxSerializer.params.deserialize(METHOD, serialized);
|
211
|
+
const deserialized = await aztecSimulateTxSerializer.params.deserialize(METHOD, serialized);
|
205
212
|
expect(deserialized.txRequest.toString()).toBe((params.txRequest as TxExecutionRequest).toString());
|
206
213
|
expect(deserialized.simulatePublic).toBe(params.simulatePublic);
|
207
214
|
expect(deserialized.msgSender?.toString()).toBe(params.msgSender.toString());
|
@@ -213,8 +220,8 @@ describe('Transaction Serializers', () => {
|
|
213
220
|
it('should serialize and deserialize result', async () => {
|
214
221
|
const result = await TxSimulationResult.random();
|
215
222
|
|
216
|
-
const serialized = aztecSimulateTxSerializer.result.serialize(METHOD, result);
|
217
|
-
const deserialized = aztecSimulateTxSerializer.result.deserialize(METHOD, serialized);
|
223
|
+
const serialized = await aztecSimulateTxSerializer.result.serialize(METHOD, result);
|
224
|
+
const deserialized = await aztecSimulateTxSerializer.result.deserialize(METHOD, serialized);
|
218
225
|
|
219
226
|
expect(deserialized.privateExecutionResult).toBeDefined();
|
220
227
|
expect(deserialized.publicInputs).toBeDefined();
|
@@ -253,8 +260,8 @@ describe('Transaction Serializers', () => {
|
|
253
260
|
publicOutput.revertReason = await SimulationError.random();
|
254
261
|
const result = new TxSimulationResult(privateExecutionResult, publicInputs, publicOutput, undefined);
|
255
262
|
|
256
|
-
const serialized = aztecSimulateTxSerializer.result.serialize(METHOD, result);
|
257
|
-
const deserialized = aztecSimulateTxSerializer.result.deserialize(METHOD, serialized);
|
263
|
+
const serialized = await aztecSimulateTxSerializer.result.serialize(METHOD, result);
|
264
|
+
const deserialized = await aztecSimulateTxSerializer.result.deserialize(METHOD, serialized);
|
258
265
|
|
259
266
|
const output = deserialized.publicOutput;
|
260
267
|
expect(output).toBeDefined();
|
@@ -273,10 +280,10 @@ describe('Transaction Serializers', () => {
|
|
273
280
|
const privateExecutionResult = await PrivateExecutionResult.random();
|
274
281
|
const params = { txRequest, privateExecutionResult };
|
275
282
|
|
276
|
-
const serialized = aztecProveTxSerializer.params.serialize(METHOD, params);
|
283
|
+
const serialized = await aztecProveTxSerializer.params.serialize(METHOD, params);
|
277
284
|
expect(serialized.method).toBe(METHOD);
|
278
285
|
|
279
|
-
const deserialized = aztecProveTxSerializer.params.deserialize(METHOD, serialized);
|
286
|
+
const deserialized = await aztecProveTxSerializer.params.deserialize(METHOD, serialized);
|
280
287
|
expect(deserialized.txRequest.toString()).toBe(txRequest.toString());
|
281
288
|
expect(jsonStringify(deserialized.privateExecutionResult)).toEqual(
|
282
289
|
jsonStringify(privateExecutionResult),
|
@@ -286,10 +293,10 @@ describe('Transaction Serializers', () => {
|
|
286
293
|
it('should serialize and deserialize result', async () => {
|
287
294
|
const result = await TxProvingResult.random();
|
288
295
|
|
289
|
-
const serialized = aztecProveTxSerializer.result.serialize(METHOD, result);
|
296
|
+
const serialized = await aztecProveTxSerializer.result.serialize(METHOD, result);
|
290
297
|
expect(serialized.method).toBe(METHOD);
|
291
298
|
|
292
|
-
const deserialized = aztecProveTxSerializer.result.deserialize(METHOD, serialized);
|
299
|
+
const deserialized = await aztecProveTxSerializer.result.deserialize(METHOD, serialized);
|
293
300
|
expect(jsonStringify(deserialized)).toEqual(jsonStringify(result));
|
294
301
|
});
|
295
302
|
|
@@ -302,8 +309,8 @@ describe('Transaction Serializers', () => {
|
|
302
309
|
privateExecutionResult.entrypoint.nestedExecutions.push(nestedExecution.entrypoint);
|
303
310
|
|
304
311
|
const params = { txRequest, privateExecutionResult };
|
305
|
-
const serialized = aztecProveTxSerializer.params.serialize(METHOD, params);
|
306
|
-
const deserialized = aztecProveTxSerializer.params.deserialize(METHOD, serialized);
|
312
|
+
const serialized = await aztecProveTxSerializer.params.serialize(METHOD, params);
|
313
|
+
const deserialized = await aztecProveTxSerializer.params.deserialize(METHOD, serialized);
|
307
314
|
|
308
315
|
expect(jsonStringify(deserialized.privateExecutionResult)).toEqual(
|
309
316
|
jsonStringify(privateExecutionResult),
|