@walletmesh/aztec-rpc-wallet 0.1.0 → 0.1.1
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 +6 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/aztecRemoteWallet.d.ts +7 -6
- package/dist/aztecRemoteWallet.d.ts.map +1 -1
- package/dist/aztecRemoteWallet.js +15 -9
- package/dist/handlers/aztecAccountWallet.d.ts.map +1 -1
- package/dist/handlers/aztecAccountWallet.js +22 -22
- package/dist/serializers/account.d.ts +4 -7
- package/dist/serializers/account.d.ts.map +1 -1
- package/dist/serializers/account.js +28 -29
- package/dist/serializers/contract.d.ts +4 -56
- package/dist/serializers/contract.d.ts.map +1 -1
- package/dist/serializers/contract.js +62 -148
- package/dist/serializers/index.d.ts +1 -4
- package/dist/serializers/index.d.ts.map +1 -1
- package/dist/serializers/index.js +12 -12
- package/dist/serializers/log.d.ts +36 -83
- package/dist/serializers/log.d.ts.map +1 -1
- package/dist/serializers/log.js +96 -107
- package/dist/serializers/note.d.ts +14 -17
- package/dist/serializers/note.d.ts.map +1 -1
- package/dist/serializers/note.js +52 -29
- package/dist/serializers/transaction-utils.d.ts +44 -100
- package/dist/serializers/transaction-utils.d.ts.map +1 -1
- package/dist/serializers/transaction-utils.js +82 -118
- package/dist/serializers/transaction.d.ts +3 -6
- package/dist/serializers/transaction.d.ts.map +1 -1
- package/dist/serializers/transaction.js +39 -50
- package/dist/types.d.ts +8 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +5 -5
- package/src/aztecRemoteWallet.test.ts +33 -29
- package/src/aztecRemoteWallet.ts +25 -14
- package/src/handlers/aztecAccountWallet.test.ts +78 -75
- package/src/handlers/aztecAccountWallet.ts +32 -35
- package/src/serializers/account.test.ts +18 -17
- package/src/serializers/account.ts +31 -49
- package/src/serializers/contract.test.ts +14 -16
- package/src/serializers/contract.ts +75 -164
- package/src/serializers/index.test.ts +20 -8
- package/src/serializers/index.ts +16 -20
- package/src/serializers/log.test.ts +201 -28
- package/src/serializers/log.ts +153 -146
- package/src/serializers/note.test.ts +26 -28
- package/src/serializers/note.ts +60 -36
- package/src/serializers/transaction-utils.ts +135 -211
- package/src/serializers/transaction.test.ts +190 -30
- package/src/serializers/transaction.ts +51 -72
- package/src/types.ts +9 -8
- package/vitest.config.ts +1 -1
- package/dist/serializers/contract-utils.d.ts +0 -40
- package/dist/serializers/contract-utils.d.ts.map +0 -1
- package/dist/serializers/contract-utils.js +0 -102
- package/dist/serializers/core.d.ts +0 -110
- package/dist/serializers/core.d.ts.map +0 -1
- package/dist/serializers/core.js +0 -130
- package/dist/serializers/types.d.ts +0 -49
- package/dist/serializers/types.d.ts.map +0 -1
- package/dist/serializers/types.js +0 -22
- package/src/serializers/contract-utils.ts +0 -104
- package/src/serializers/core.test.ts +0 -56
- package/src/serializers/core.ts +0 -141
- package/src/serializers/types.ts +0 -58
package/dist/serializers/log.js
CHANGED
@@ -1,101 +1,119 @@
|
|
1
|
-
import {
|
2
|
-
import { ExtendedUnencryptedL2Log, TxHash, LogId } from '@aztec/circuit-types';
|
1
|
+
import { GetPublicLogsResponseSchema, GetContractClassLogsResponseSchema, TxHash, LogId, } from '@aztec/circuit-types';
|
3
2
|
import { Point, AztecAddress } from '@aztec/aztec.js';
|
4
3
|
import { EventSelector } from '@aztec/foundation/abi';
|
5
4
|
/**
|
6
|
-
* Serializer for the
|
7
|
-
* Handles serialization of
|
8
|
-
* Supports filtering logs by transaction hash, block range, and contract address.
|
5
|
+
* Serializer for the aztec_getPublicLogs RPC method.
|
6
|
+
* Handles serialization of public log queries and results between JSON-RPC format and native Aztec types.
|
9
7
|
*/
|
10
|
-
export class
|
8
|
+
export class AztecGetPublicLogsSerializer {
|
11
9
|
constructor() {
|
12
10
|
this.params = {
|
13
|
-
/**
|
14
|
-
* Serializes log filter parameters for RPC transport.
|
15
|
-
* @param method - The RPC method name
|
16
|
-
* @param value - The filter parameters including txHash, block range, and contract address
|
17
|
-
* @returns Serialized filter data
|
18
|
-
*/
|
19
11
|
serialize: (method, value) => {
|
20
12
|
const { filter } = value;
|
13
|
+
// Convert all fields that need string conversion
|
14
|
+
const serializedFilter = {
|
15
|
+
...filter,
|
16
|
+
txHash: filter.txHash?.toString(),
|
17
|
+
contractAddress: filter.contractAddress?.toString(),
|
18
|
+
afterLog: filter.afterLog?.toString(),
|
19
|
+
fromBlock: filter.fromBlock,
|
20
|
+
toBlock: filter.toBlock,
|
21
|
+
};
|
21
22
|
return {
|
22
23
|
method,
|
23
|
-
serialized:
|
24
|
-
txHash: filter.txHash?.toString(),
|
25
|
-
fromBlock: filter.fromBlock,
|
26
|
-
toBlock: filter.toBlock,
|
27
|
-
afterLog: filter.afterLog?.toString(),
|
28
|
-
contractAddress: filter.contractAddress?.toString(),
|
29
|
-
})),
|
24
|
+
serialized: JSON.stringify({ filter: serializedFilter }),
|
30
25
|
};
|
31
26
|
},
|
32
|
-
/**
|
33
|
-
* Deserializes log filter parameters from RPC transport.
|
34
|
-
* @param method - The RPC method name
|
35
|
-
* @param data - The serialized filter data
|
36
|
-
* @returns Deserialized filter parameters
|
37
|
-
*/
|
38
27
|
deserialize: (method, data) => {
|
39
|
-
const
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
28
|
+
const { filter } = JSON.parse(data.serialized);
|
29
|
+
return {
|
30
|
+
filter: {
|
31
|
+
txHash: filter.txHash ? TxHash.fromString(filter.txHash) : undefined,
|
32
|
+
contractAddress: filter.contractAddress
|
33
|
+
? AztecAddress.fromString(filter.contractAddress)
|
34
|
+
: undefined,
|
35
|
+
afterLog: filter.afterLog ? LogId.fromString(filter.afterLog) : undefined,
|
36
|
+
fromBlock: filter.fromBlock,
|
37
|
+
toBlock: filter.toBlock,
|
38
|
+
},
|
46
39
|
};
|
47
|
-
return { filter };
|
48
40
|
},
|
49
41
|
};
|
50
42
|
this.result = {
|
51
|
-
/**
|
52
|
-
* Serializes unencrypted log results for RPC transport.
|
53
|
-
* @param method - The RPC method name
|
54
|
-
* @param value - The log results including logs array and maxLogsHit flag
|
55
|
-
* @returns Serialized log data
|
56
|
-
*/
|
57
43
|
serialize: (method, value) => {
|
58
|
-
const serializedLogs = value.logs.map((log) => log.toString());
|
59
44
|
return {
|
60
45
|
method,
|
61
|
-
serialized:
|
46
|
+
serialized: JSON.stringify(value),
|
62
47
|
};
|
63
48
|
},
|
64
|
-
/**
|
65
|
-
* Deserializes unencrypted log results from RPC transport.
|
66
|
-
* @param method - The RPC method name
|
67
|
-
* @param data - The serialized log data
|
68
|
-
* @returns Deserialized log results
|
69
|
-
*/
|
70
49
|
deserialize: (method, data) => {
|
71
|
-
|
50
|
+
return GetPublicLogsResponseSchema.parse(JSON.parse(data.serialized));
|
51
|
+
},
|
52
|
+
};
|
53
|
+
}
|
54
|
+
}
|
55
|
+
/**
|
56
|
+
* Serializer for the aztec_getContractClassLogs RPC method.
|
57
|
+
* Handles serialization of contract class log queries and results between JSON-RPC format and native Aztec types.
|
58
|
+
*/
|
59
|
+
export class AztecGetContractClassLogsSerializer {
|
60
|
+
constructor() {
|
61
|
+
this.params = {
|
62
|
+
serialize: (method, value) => {
|
63
|
+
const { filter } = value;
|
64
|
+
// Convert fields to strings for schema validation
|
65
|
+
const serializedFilter = {
|
66
|
+
txHash: filter.txHash?.toString() ?? undefined,
|
67
|
+
contractAddress: filter.contractAddress?.toString() ?? undefined,
|
68
|
+
afterLog: filter.afterLog?.toString() ?? undefined,
|
69
|
+
fromBlock: filter.fromBlock,
|
70
|
+
toBlock: filter.toBlock,
|
71
|
+
};
|
72
72
|
return {
|
73
|
-
|
74
|
-
|
73
|
+
method,
|
74
|
+
serialized: JSON.stringify({ filter: serializedFilter }),
|
75
75
|
};
|
76
76
|
},
|
77
|
+
deserialize: (method, data) => {
|
78
|
+
const { filter } = JSON.parse(data.serialized);
|
79
|
+
return {
|
80
|
+
filter: {
|
81
|
+
txHash: filter.txHash ? TxHash.fromString(filter.txHash) : undefined,
|
82
|
+
contractAddress: filter.contractAddress
|
83
|
+
? AztecAddress.fromString(filter.contractAddress)
|
84
|
+
: undefined,
|
85
|
+
afterLog: filter.afterLog ? LogId.fromString(filter.afterLog) : undefined,
|
86
|
+
fromBlock: filter.fromBlock,
|
87
|
+
toBlock: filter.toBlock,
|
88
|
+
},
|
89
|
+
};
|
90
|
+
},
|
91
|
+
};
|
92
|
+
this.result = {
|
93
|
+
serialize: (method, value) => {
|
94
|
+
return {
|
95
|
+
method,
|
96
|
+
serialized: JSON.stringify(GetContractClassLogsResponseSchema.parse(value)),
|
97
|
+
};
|
98
|
+
},
|
99
|
+
deserialize: (method, data) => {
|
100
|
+
return GetContractClassLogsResponseSchema.parse(JSON.parse(data.serialized));
|
101
|
+
},
|
77
102
|
};
|
78
103
|
}
|
79
104
|
}
|
80
105
|
/**
|
81
|
-
* Serializer for the
|
82
|
-
* Handles serialization of
|
83
|
-
* Supports querying events with viewing keys for decryption.
|
106
|
+
* Serializer for the aztec_getPrivateEvents RPC method.
|
107
|
+
* Handles serialization of private event queries and results between JSON-RPC format and native Aztec types.
|
84
108
|
*/
|
85
|
-
export class
|
109
|
+
export class AztecGetPrivateEventsSerializer {
|
86
110
|
constructor() {
|
87
111
|
this.params = {
|
88
|
-
/**
|
89
|
-
* Serializes encrypted event query parameters for RPC transport.
|
90
|
-
* @param method - The RPC method name
|
91
|
-
* @param value - The query parameters including event metadata, range, and viewing keys
|
92
|
-
* @returns Serialized query data
|
93
|
-
*/
|
94
112
|
serialize: (method, value) => {
|
95
113
|
const { event, from, limit, vpks } = value;
|
96
114
|
return {
|
97
115
|
method,
|
98
|
-
serialized:
|
116
|
+
serialized: JSON.stringify({
|
99
117
|
event: {
|
100
118
|
eventSelector: event.eventSelector.toString(),
|
101
119
|
abiType: {
|
@@ -106,17 +124,11 @@ export class AztecGetEncryptedEventsSerializer {
|
|
106
124
|
from,
|
107
125
|
limit,
|
108
126
|
vpks: vpks?.map((p) => p.toString()),
|
109
|
-
})
|
127
|
+
}),
|
110
128
|
};
|
111
129
|
},
|
112
|
-
/**
|
113
|
-
* Deserializes encrypted event query parameters from RPC transport.
|
114
|
-
* @param method - The RPC method name
|
115
|
-
* @param data - The serialized query data
|
116
|
-
* @returns Deserialized query parameters
|
117
|
-
*/
|
118
130
|
deserialize: (method, data) => {
|
119
|
-
const { event: serializedEvent, from, limit, vpks } = JSON.parse(
|
131
|
+
const { event: serializedEvent, from, limit, vpks } = JSON.parse(data.serialized);
|
120
132
|
const event = {
|
121
133
|
eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
|
122
134
|
abiType: {
|
@@ -132,43 +144,31 @@ export class AztecGetEncryptedEventsSerializer {
|
|
132
144
|
};
|
133
145
|
},
|
134
146
|
};
|
135
|
-
/**
|
136
|
-
* Handles serialization of encrypted event results.
|
137
|
-
* Note: The result type is generic (T[]) based on the event's ABI type definition.
|
138
|
-
* Currently handles results as unknown[] until proper ABI-based deserialization is implemented.
|
139
|
-
*/
|
140
147
|
this.result = {
|
141
148
|
serialize: (method, value) => {
|
142
149
|
return {
|
143
150
|
method,
|
144
|
-
serialized:
|
151
|
+
serialized: JSON.stringify(value),
|
145
152
|
};
|
146
153
|
},
|
147
154
|
deserialize: (method, data) => {
|
148
|
-
return JSON.parse(
|
155
|
+
return JSON.parse(data.serialized);
|
149
156
|
},
|
150
157
|
};
|
151
158
|
}
|
152
159
|
}
|
153
160
|
/**
|
154
|
-
* Serializer for the
|
155
|
-
* Handles serialization of
|
156
|
-
* Supports querying events by event selector and pagination parameters.
|
161
|
+
* Serializer for the aztec_getPublicEvents RPC method.
|
162
|
+
* Handles serialization of public event queries and results between JSON-RPC format and native Aztec types.
|
157
163
|
*/
|
158
|
-
export class
|
164
|
+
export class AztecGetPublicEventsSerializer {
|
159
165
|
constructor() {
|
160
166
|
this.params = {
|
161
|
-
/**
|
162
|
-
* Serializes unencrypted event query parameters for RPC transport.
|
163
|
-
* @param method - The RPC method name
|
164
|
-
* @param value - The query parameters including event metadata and range
|
165
|
-
* @returns Serialized query data
|
166
|
-
*/
|
167
167
|
serialize: (method, value) => {
|
168
168
|
const { event, from, limit } = value;
|
169
169
|
return {
|
170
170
|
method,
|
171
|
-
serialized:
|
171
|
+
serialized: JSON.stringify({
|
172
172
|
event: {
|
173
173
|
eventSelector: event.eventSelector.toString(),
|
174
174
|
abiType: {
|
@@ -178,17 +178,11 @@ export class AztecGetUnencryptedEventsSerializer {
|
|
178
178
|
},
|
179
179
|
from,
|
180
180
|
limit,
|
181
|
-
})
|
181
|
+
}),
|
182
182
|
};
|
183
183
|
},
|
184
|
-
/**
|
185
|
-
* Deserializes unencrypted event query parameters from RPC transport.
|
186
|
-
* @param method - The RPC method name
|
187
|
-
* @param data - The serialized query data
|
188
|
-
* @returns Deserialized query parameters
|
189
|
-
*/
|
190
184
|
deserialize: (method, data) => {
|
191
|
-
const { event: serializedEvent, from, limit } = JSON.parse(
|
185
|
+
const { event: serializedEvent, from, limit } = JSON.parse(data.serialized);
|
192
186
|
const event = {
|
193
187
|
eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
|
194
188
|
abiType: {
|
@@ -203,29 +197,24 @@ export class AztecGetUnencryptedEventsSerializer {
|
|
203
197
|
};
|
204
198
|
},
|
205
199
|
};
|
206
|
-
/**
|
207
|
-
* Handles serialization of unencrypted event results.
|
208
|
-
* Note: The result type is generic (T[]) based on the event's ABI type definition.
|
209
|
-
* Currently handles results as unknown[] until proper ABI-based deserialization is implemented.
|
210
|
-
*/
|
211
200
|
this.result = {
|
212
201
|
serialize: (method, value) => {
|
213
202
|
return {
|
214
203
|
method,
|
215
|
-
serialized:
|
204
|
+
serialized: JSON.stringify(value),
|
216
205
|
};
|
217
206
|
},
|
218
207
|
deserialize: (method, data) => {
|
219
|
-
return JSON.parse(
|
208
|
+
return JSON.parse(data.serialized);
|
220
209
|
},
|
221
210
|
};
|
222
211
|
}
|
223
212
|
}
|
224
213
|
/**
|
225
214
|
* Pre-instantiated serializer instances for each Aztec log/event-related RPC method.
|
226
|
-
* These instances can be used directly by the RPC handler implementation.
|
227
215
|
*/
|
228
|
-
export const
|
229
|
-
export const
|
230
|
-
export const
|
231
|
-
|
216
|
+
export const aztecGetPublicLogsSerializer = new AztecGetPublicLogsSerializer();
|
217
|
+
export const aztecGetContractClassLogsSerializer = new AztecGetContractClassLogsSerializer();
|
218
|
+
export const aztecGetPrivateEventsSerializer = new AztecGetPrivateEventsSerializer();
|
219
|
+
export const aztecGetPublicEventsSerializer = new AztecGetPublicEventsSerializer();
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZXJzL2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBR0wsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQyxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtJQUF6QztRQU9FLFdBQU0sR0FBRztZQUNQLFNBQVMsRUFBRSxDQUNULE1BQWMsRUFDZCxLQUE0RCxFQUNyQyxFQUFFO2dCQUN6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixpREFBaUQ7Z0JBQ2pELE1BQU0sZ0JBQWdCLEdBQUc7b0JBQ3ZCLEdBQUcsTUFBTTtvQkFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7b0JBQ2pDLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRTtvQkFDbkQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFO29CQUNyQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztpQkFDeEIsQ0FBQztnQkFDRixPQUFPO29CQUNMLE1BQU07b0JBQ04sVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekQsQ0FBQztZQUNKLENBQUM7WUFDRCxXQUFXLEVBQUUsQ0FDWCxNQUFjLEVBQ2QsSUFBMkIsRUFDNEIsRUFBRTtnQkFDekQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FB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
|
@@ -1,48 +1,46 @@
|
|
1
1
|
import type { AztecWalletMethodMap } from '../types.js';
|
2
|
-
import type { JSONRPCSerializedData, JSONRPCSerializer } from '
|
2
|
+
import type { JSONRPCSerializedData, JSONRPCSerializer } from '@walletmesh/jsonrpc';
|
3
3
|
/**
|
4
|
-
* Serializer for the
|
5
|
-
* Handles serialization of
|
6
|
-
* Used to retrieve notes that have been sent to an account but not yet processed.
|
4
|
+
* Serializer for the aztec_getNotes RPC method.
|
5
|
+
* Handles serialization of note queries and results between JSON-RPC format and native Aztec types.
|
7
6
|
*/
|
8
|
-
export declare class
|
7
|
+
export declare class AztecGetNotesSerializer implements JSONRPCSerializer<AztecWalletMethodMap['aztec_getNotes']['params'], AztecWalletMethodMap['aztec_getNotes']['result']> {
|
9
8
|
params: {
|
10
9
|
/**
|
11
|
-
* Serializes
|
10
|
+
* Serializes notes filter parameters for RPC transport.
|
12
11
|
* @param method - The RPC method name
|
13
|
-
* @param value - The parameters containing filter criteria for
|
12
|
+
* @param value - The parameters containing filter criteria for notes
|
14
13
|
* @returns Serialized filter data
|
15
14
|
*/
|
16
|
-
serialize: (method: string, value: AztecWalletMethodMap["
|
15
|
+
serialize: (method: string, value: AztecWalletMethodMap["aztec_getNotes"]["params"]) => JSONRPCSerializedData;
|
17
16
|
/**
|
18
|
-
* Deserializes
|
17
|
+
* Deserializes notes filter parameters from RPC transport.
|
19
18
|
* @param method - The RPC method name
|
20
19
|
* @param data - The serialized filter data
|
21
20
|
* @returns Deserialized filter parameters
|
22
21
|
*/
|
23
|
-
deserialize: (method: string, data: JSONRPCSerializedData) => AztecWalletMethodMap["
|
22
|
+
deserialize: (method: string, data: JSONRPCSerializedData) => AztecWalletMethodMap["aztec_getNotes"]["params"];
|
24
23
|
};
|
25
24
|
result: {
|
26
25
|
/**
|
27
|
-
* Serializes the
|
26
|
+
* Serializes the notes query result.
|
28
27
|
* @param method - The RPC method name
|
29
28
|
* @param value - Array of unique notes matching the filter criteria
|
30
29
|
* @returns Serialized note array
|
31
30
|
*/
|
32
|
-
serialize: (method: string, value: AztecWalletMethodMap["
|
31
|
+
serialize: (method: string, value: AztecWalletMethodMap["aztec_getNotes"]["result"]) => JSONRPCSerializedData;
|
33
32
|
/**
|
34
|
-
* Deserializes the
|
33
|
+
* Deserializes the notes query result.
|
35
34
|
* @param method - The RPC method name
|
36
35
|
* @param data - The serialized note array data
|
37
36
|
* @returns Array of deserialized unique notes
|
38
37
|
*/
|
39
|
-
deserialize: (method: string, data: JSONRPCSerializedData) => AztecWalletMethodMap["
|
38
|
+
deserialize: (method: string, data: JSONRPCSerializedData) => AztecWalletMethodMap["aztec_getNotes"]["result"];
|
40
39
|
};
|
41
40
|
}
|
42
41
|
/**
|
43
42
|
* Serializer for the aztec_addNote RPC method.
|
44
43
|
* Handles serialization of note addition requests between JSON-RPC format and native Aztec types.
|
45
|
-
* Used to add new notes to an account's note tree.
|
46
44
|
*/
|
47
45
|
export declare class AztecAddNoteSerializer implements JSONRPCSerializer<AztecWalletMethodMap['aztec_addNote']['params'], AztecWalletMethodMap['aztec_addNote']['result']> {
|
48
46
|
params: {
|
@@ -81,7 +79,6 @@ export declare class AztecAddNoteSerializer implements JSONRPCSerializer<AztecWa
|
|
81
79
|
/**
|
82
80
|
* Serializer for the aztec_addNullifiedNote RPC method.
|
83
81
|
* Handles serialization of nullified note addition requests between JSON-RPC format and native Aztec types.
|
84
|
-
* Used to mark notes as spent/nullified in the note tree.
|
85
82
|
*/
|
86
83
|
export declare class AztecAddNullifiedNoteSerializer implements JSONRPCSerializer<AztecWalletMethodMap['aztec_addNullifiedNote']['params'], AztecWalletMethodMap['aztec_addNullifiedNote']['result']> {
|
87
84
|
params: {
|
@@ -121,7 +118,7 @@ export declare class AztecAddNullifiedNoteSerializer implements JSONRPCSerialize
|
|
121
118
|
* Pre-instantiated serializer instances for Aztec note-related RPC methods.
|
122
119
|
* These instances can be used directly by the RPC handler implementation.
|
123
120
|
*/
|
124
|
-
export declare const
|
121
|
+
export declare const aztecGetNotesSerializer: AztecGetNotesSerializer;
|
125
122
|
export declare const aztecAddNoteSerializer: AztecAddNoteSerializer;
|
126
123
|
export declare const aztecAddNullifiedNoteSerializer: AztecAddNullifiedNoteSerializer;
|
127
124
|
//# sourceMappingURL=note.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/serializers/note.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/serializers/note.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIpF;;;GAGG;AACH,qBAAa,uBACX,YACE,iBAAiB,CACf,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAChD,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CACjD;IAEH,MAAM;QACJ;;;;;WAKG;4BAEO,MAAM,SACP,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KACtD,qBAAqB;QAkBxB;;;;;WAKG;8BAEO,MAAM,QACR,qBAAqB,KAC1B,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC;MAoBnD;IAEF,MAAM;QACJ;;;;;WAKG;4BAEO,MAAM,SACP,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KACtD,qBAAqB;QAMxB;;;;;WAKG;8BAEO,MAAM,QACR,qBAAqB,KAC1B,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC;MAGnD;CACH;AAED;;;GAGG;AACH,qBAAa,sBACX,YACE,iBAAiB,CACf,oBAAoB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAC/C,oBAAoB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAChD;IAEH,MAAM;QACJ;;;;;WAKG;4BAEO,MAAM,SACP,oBAAoB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KACrD,qBAAqB;QAOxB;;;;;WAKG;8BAEO,MAAM,QACR,qBAAqB,KAC1B,oBAAoB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;MAKlD;IAEF,MAAM;QACJ;;;;;WAKG;4BACiB,MAAM,SAAS,OAAO,KAAG,qBAAqB;QAMlE;;;;;WAKG;8BACmB,MAAM,QAAQ,qBAAqB,KAAG,OAAO;MAGnE;CACH;AAED;;;GAGG;AACH,qBAAa,+BACX,YACE,iBAAiB,CACf,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EACxD,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,CACzD;IAEH,MAAM;QACJ;;;;;WAKG;4BAEO,MAAM,SACP,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAC9D,qBAAqB;QAOxB;;;;;WAKG;8BAEO,MAAM,QACR,qBAAqB,KAC1B,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC;MAK3D;IAEF,MAAM;QACJ;;;;;WAKG;4BACiB,MAAM,SAAS,OAAO,KAAG,qBAAqB;QAMlE;;;;;WAKG;8BACmB,MAAM,QAAQ,qBAAqB,KAAG,OAAO;MAGnE;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,yBAAgC,CAAC;AACrE,eAAO,MAAM,sBAAsB,wBAA+B,CAAC;AACnE,eAAO,MAAM,+BAA+B,iCAAwC,CAAC"}
|
package/dist/serializers/note.js
CHANGED
@@ -1,41 +1,64 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { ExtendedNote } from '@aztec/aztec.js';
|
1
|
+
import { UniqueNote, TxHash } from '@aztec/circuit-types';
|
2
|
+
import { ExtendedNote, AztecAddress, Fr } from '@aztec/aztec.js';
|
4
3
|
/**
|
5
|
-
* Serializer for the
|
6
|
-
* Handles serialization of
|
7
|
-
* Used to retrieve notes that have been sent to an account but not yet processed.
|
4
|
+
* Serializer for the aztec_getNotes RPC method.
|
5
|
+
* Handles serialization of note queries and results between JSON-RPC format and native Aztec types.
|
8
6
|
*/
|
9
|
-
export class
|
7
|
+
export class AztecGetNotesSerializer {
|
10
8
|
constructor() {
|
11
9
|
this.params = {
|
12
10
|
/**
|
13
|
-
* Serializes
|
11
|
+
* Serializes notes filter parameters for RPC transport.
|
14
12
|
* @param method - The RPC method name
|
15
|
-
* @param value - The parameters containing filter criteria for
|
13
|
+
* @param value - The parameters containing filter criteria for notes
|
16
14
|
* @returns Serialized filter data
|
17
15
|
*/
|
18
16
|
serialize: (method, value) => {
|
19
17
|
const { filter } = value;
|
18
|
+
// Convert instances to their string representations for transport
|
19
|
+
const serializedFilter = {
|
20
|
+
txHash: filter.txHash?.toString(),
|
21
|
+
contractAddress: filter.contractAddress?.toString(),
|
22
|
+
storageSlot: filter.storageSlot?.toString(),
|
23
|
+
owner: filter.owner?.toString(),
|
24
|
+
status: filter.status,
|
25
|
+
siloedNullifier: filter.siloedNullifier?.toString(),
|
26
|
+
scopes: filter.scopes?.map((scope) => scope.toString()),
|
27
|
+
};
|
20
28
|
return {
|
21
29
|
method,
|
22
|
-
serialized:
|
30
|
+
serialized: JSON.stringify({ filter: serializedFilter }),
|
23
31
|
};
|
24
32
|
},
|
25
33
|
/**
|
26
|
-
* Deserializes
|
34
|
+
* Deserializes notes filter parameters from RPC transport.
|
27
35
|
* @param method - The RPC method name
|
28
36
|
* @param data - The serialized filter data
|
29
37
|
* @returns Deserialized filter parameters
|
30
38
|
*/
|
31
39
|
deserialize: (method, data) => {
|
32
|
-
const filter = JSON.parse(
|
33
|
-
|
40
|
+
const { filter } = JSON.parse(data.serialized);
|
41
|
+
// Convert string representations back to instances
|
42
|
+
return {
|
43
|
+
filter: {
|
44
|
+
txHash: filter.txHash ? TxHash.fromString(filter.txHash) : undefined,
|
45
|
+
contractAddress: filter.contractAddress
|
46
|
+
? AztecAddress.fromString(filter.contractAddress)
|
47
|
+
: undefined,
|
48
|
+
storageSlot: filter.storageSlot ? Fr.fromString(filter.storageSlot) : undefined,
|
49
|
+
owner: filter.owner ? AztecAddress.fromString(filter.owner) : undefined,
|
50
|
+
status: filter.status,
|
51
|
+
siloedNullifier: filter.siloedNullifier ? Fr.fromString(filter.siloedNullifier) : undefined,
|
52
|
+
scopes: filter.scopes
|
53
|
+
? filter.scopes.map((scope) => AztecAddress.fromString(scope))
|
54
|
+
: undefined,
|
55
|
+
},
|
56
|
+
};
|
34
57
|
},
|
35
58
|
};
|
36
59
|
this.result = {
|
37
60
|
/**
|
38
|
-
* Serializes the
|
61
|
+
* Serializes the notes query result.
|
39
62
|
* @param method - The RPC method name
|
40
63
|
* @param value - Array of unique notes matching the filter criteria
|
41
64
|
* @returns Serialized note array
|
@@ -43,17 +66,17 @@ export class AztecGetIncomingNotesSerializer {
|
|
43
66
|
serialize: (method, value) => {
|
44
67
|
return {
|
45
68
|
method,
|
46
|
-
serialized:
|
69
|
+
serialized: JSON.stringify(value.map((n) => n.toString())),
|
47
70
|
};
|
48
71
|
},
|
49
72
|
/**
|
50
|
-
* Deserializes the
|
73
|
+
* Deserializes the notes query result.
|
51
74
|
* @param method - The RPC method name
|
52
75
|
* @param data - The serialized note array data
|
53
76
|
* @returns Array of deserialized unique notes
|
54
77
|
*/
|
55
78
|
deserialize: (method, data) => {
|
56
|
-
return JSON.parse(
|
79
|
+
return JSON.parse(data.serialized).map((n) => UniqueNote.fromString(n));
|
57
80
|
},
|
58
81
|
};
|
59
82
|
}
|
@@ -61,7 +84,6 @@ export class AztecGetIncomingNotesSerializer {
|
|
61
84
|
/**
|
62
85
|
* Serializer for the aztec_addNote RPC method.
|
63
86
|
* Handles serialization of note addition requests between JSON-RPC format and native Aztec types.
|
64
|
-
* Used to add new notes to an account's note tree.
|
65
87
|
*/
|
66
88
|
export class AztecAddNoteSerializer {
|
67
89
|
constructor() {
|
@@ -76,7 +98,7 @@ export class AztecAddNoteSerializer {
|
|
76
98
|
const { note } = value;
|
77
99
|
return {
|
78
100
|
method,
|
79
|
-
serialized:
|
101
|
+
serialized: JSON.stringify({ note: note.toBuffer().toString('base64') }),
|
80
102
|
};
|
81
103
|
},
|
82
104
|
/**
|
@@ -86,7 +108,8 @@ export class AztecAddNoteSerializer {
|
|
86
108
|
* @returns Deserialized note parameters
|
87
109
|
*/
|
88
110
|
deserialize: (method, data) => {
|
89
|
-
const note =
|
111
|
+
const { note: noteBase64 } = JSON.parse(data.serialized);
|
112
|
+
const note = ExtendedNote.fromBuffer(Buffer.from(noteBase64, 'base64'));
|
90
113
|
return { note };
|
91
114
|
},
|
92
115
|
};
|
@@ -100,7 +123,7 @@ export class AztecAddNoteSerializer {
|
|
100
123
|
serialize: (method, value) => {
|
101
124
|
return {
|
102
125
|
method,
|
103
|
-
serialized:
|
126
|
+
serialized: JSON.stringify(value),
|
104
127
|
};
|
105
128
|
},
|
106
129
|
/**
|
@@ -110,7 +133,7 @@ export class AztecAddNoteSerializer {
|
|
110
133
|
* @returns Boolean indicating success
|
111
134
|
*/
|
112
135
|
deserialize: (method, data) => {
|
113
|
-
return JSON.parse(
|
136
|
+
return JSON.parse(data.serialized);
|
114
137
|
},
|
115
138
|
};
|
116
139
|
}
|
@@ -118,7 +141,6 @@ export class AztecAddNoteSerializer {
|
|
118
141
|
/**
|
119
142
|
* Serializer for the aztec_addNullifiedNote RPC method.
|
120
143
|
* Handles serialization of nullified note addition requests between JSON-RPC format and native Aztec types.
|
121
|
-
* Used to mark notes as spent/nullified in the note tree.
|
122
144
|
*/
|
123
145
|
export class AztecAddNullifiedNoteSerializer {
|
124
146
|
constructor() {
|
@@ -133,7 +155,7 @@ export class AztecAddNullifiedNoteSerializer {
|
|
133
155
|
const { note } = value;
|
134
156
|
return {
|
135
157
|
method,
|
136
|
-
serialized:
|
158
|
+
serialized: JSON.stringify({ note: note.toBuffer().toString('base64') }),
|
137
159
|
};
|
138
160
|
},
|
139
161
|
/**
|
@@ -143,7 +165,8 @@ export class AztecAddNullifiedNoteSerializer {
|
|
143
165
|
* @returns Deserialized note parameters
|
144
166
|
*/
|
145
167
|
deserialize: (method, data) => {
|
146
|
-
const note =
|
168
|
+
const { note: noteBase64 } = JSON.parse(data.serialized);
|
169
|
+
const note = ExtendedNote.fromBuffer(Buffer.from(noteBase64, 'base64'));
|
147
170
|
return { note };
|
148
171
|
},
|
149
172
|
};
|
@@ -157,7 +180,7 @@ export class AztecAddNullifiedNoteSerializer {
|
|
157
180
|
serialize: (method, value) => {
|
158
181
|
return {
|
159
182
|
method,
|
160
|
-
serialized:
|
183
|
+
serialized: JSON.stringify(value),
|
161
184
|
};
|
162
185
|
},
|
163
186
|
/**
|
@@ -167,7 +190,7 @@ export class AztecAddNullifiedNoteSerializer {
|
|
167
190
|
* @returns Boolean indicating success
|
168
191
|
*/
|
169
192
|
deserialize: (method, data) => {
|
170
|
-
return JSON.parse(
|
193
|
+
return JSON.parse(data.serialized);
|
171
194
|
},
|
172
195
|
};
|
173
196
|
}
|
@@ -176,7 +199,7 @@ export class AztecAddNullifiedNoteSerializer {
|
|
176
199
|
* Pre-instantiated serializer instances for Aztec note-related RPC methods.
|
177
200
|
* These instances can be used directly by the RPC handler implementation.
|
178
201
|
*/
|
179
|
-
export const
|
202
|
+
export const aztecGetNotesSerializer = new AztecGetNotesSerializer();
|
180
203
|
export const aztecAddNoteSerializer = new AztecAddNoteSerializer();
|
181
204
|
export const aztecAddNullifiedNoteSerializer = new AztecAddNullifiedNoteSerializer();
|
182
|
-
//# sourceMappingURL=data:application/json;base64,
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemVycy9ub3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQU9FLFdBQU0sR0FBRztZQUNQOzs7OztlQUtHO1lBQ0gsU0FBUyxFQUFFLENBQ1QsTUFBYyxFQUNkLEtBQXVELEVBQ2hDLEVBQUU7Z0JBQ3pCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLGtFQUFrRTtnQkFDbEUsTUFBTSxnQkFBZ0IsR0FBRztvQkFDdkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO29CQUNqQyxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUU7b0JBQ25ELFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRTtvQkFDM0MsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFO29CQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07b0JBQ3JCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRTtvQkFDbkQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ3hELENBQUM7Z0JBRUYsT0FBTztvQkFDTCxNQUFNO29CQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pELENB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
|