@walletmesh/aztec-rpc-wallet 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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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
|