@walletmesh/aztec-rpc-wallet 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +18 -0
- package/README.md +4 -4
- 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 -10
- package/dist/chainProvider.d.ts.map +1 -1
- package/dist/chainProvider.js +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/handlers/aztecAccountWallet.d.ts.map +1 -1
- package/dist/handlers/aztecAccountWallet.js +23 -23
- package/dist/handlers/transactions.d.ts.map +1 -1
- package/dist/handlers/transactions.js +11 -3
- package/dist/serializers/account.d.ts +19 -22
- package/dist/serializers/account.d.ts.map +1 -1
- package/dist/serializers/account.js +44 -45
- package/dist/serializers/contract.d.ts +11 -63
- package/dist/serializers/contract.d.ts.map +1 -1
- package/dist/serializers/contract.js +67 -153
- 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 +38 -85
- package/dist/serializers/log.d.ts.map +1 -1
- package/dist/serializers/log.js +106 -115
- package/dist/serializers/note.d.ts +24 -27
- package/dist/serializers/note.d.ts.map +1 -1
- package/dist/serializers/note.js +67 -41
- 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 +89 -116
- package/dist/serializers/transaction.d.ts +15 -18
- package/dist/serializers/transaction.d.ts.map +1 -1
- package/dist/serializers/transaction.js +51 -62
- package/dist/types.d.ts +9 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +9 -9
- package/src/aztecRemoteWallet.test.ts +34 -33
- package/src/aztecRemoteWallet.ts +25 -15
- package/src/chainProvider.ts +1 -7
- package/src/errors.ts +0 -1
- package/src/handlers/aztecAccountWallet.test.ts +78 -75
- package/src/handlers/aztecAccountWallet.ts +33 -36
- package/src/handlers/transactions.ts +16 -2
- package/src/serializers/account.test.ts +18 -17
- package/src/serializers/account.ts +46 -64
- package/src/serializers/contract.test.ts +14 -16
- package/src/serializers/contract.ts +77 -171
- package/src/serializers/index.test.ts +20 -8
- package/src/serializers/index.ts +16 -32
- package/src/serializers/log.test.ts +201 -28
- package/src/serializers/log.ts +162 -153
- package/src/serializers/note.test.ts +26 -28
- package/src/serializers/note.ts +71 -48
- package/src/serializers/transaction-utils.ts +147 -210
- package/src/serializers/transaction.test.ts +190 -30
- package/src/serializers/transaction.ts +62 -83
- package/src/types.ts +10 -9
- package/tsconfig.json +1 -1
- 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,121 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { Point, AztecAddress } from '@aztec/aztec.js';
|
1
|
+
import { GetPublicLogsResponseSchema, GetContractClassLogsResponseSchema, TxHash, LogId, } from '@aztec/circuit-types';
|
2
|
+
import { AztecAddress, Point } 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
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
fromBlock
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
};
|
47
|
-
return { filter };
|
27
|
+
deserialize: (_method, data) => {
|
28
|
+
const { filter } = JSON.parse(data.serialized);
|
29
|
+
const deserializedFilter = {};
|
30
|
+
if (filter.txHash)
|
31
|
+
deserializedFilter.txHash = TxHash.fromString(filter.txHash);
|
32
|
+
if (filter.contractAddress)
|
33
|
+
deserializedFilter.contractAddress = AztecAddress.fromString(filter.contractAddress);
|
34
|
+
if (filter.afterLog)
|
35
|
+
deserializedFilter.afterLog = LogId.fromString(filter.afterLog);
|
36
|
+
if (filter.fromBlock !== undefined)
|
37
|
+
deserializedFilter.fromBlock = filter.fromBlock;
|
38
|
+
if (filter.toBlock !== undefined)
|
39
|
+
deserializedFilter.toBlock = filter.toBlock;
|
40
|
+
return { filter: deserializedFilter };
|
48
41
|
},
|
49
42
|
};
|
50
43
|
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
44
|
serialize: (method, value) => {
|
58
|
-
const serializedLogs = value.logs.map((log) => log.toString());
|
59
45
|
return {
|
60
46
|
method,
|
61
|
-
serialized:
|
47
|
+
serialized: JSON.stringify(value),
|
62
48
|
};
|
63
49
|
},
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
50
|
+
deserialize: (_method, data) => {
|
51
|
+
return GetPublicLogsResponseSchema.parse(JSON.parse(data.serialized));
|
52
|
+
},
|
53
|
+
};
|
54
|
+
}
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* Serializer for the aztec_getContractClassLogs RPC method.
|
58
|
+
* Handles serialization of contract class log queries and results between JSON-RPC format and native Aztec types.
|
59
|
+
*/
|
60
|
+
export class AztecGetContractClassLogsSerializer {
|
61
|
+
constructor() {
|
62
|
+
this.params = {
|
63
|
+
serialize: (method, value) => {
|
64
|
+
const { filter } = value;
|
65
|
+
// Convert fields to strings for schema validation
|
66
|
+
const serializedFilter = {
|
67
|
+
txHash: filter.txHash?.toString() ?? undefined,
|
68
|
+
contractAddress: filter.contractAddress?.toString() ?? undefined,
|
69
|
+
afterLog: filter.afterLog?.toString() ?? undefined,
|
70
|
+
fromBlock: filter.fromBlock,
|
71
|
+
toBlock: filter.toBlock,
|
72
|
+
};
|
72
73
|
return {
|
73
|
-
|
74
|
-
|
74
|
+
method,
|
75
|
+
serialized: JSON.stringify({ filter: serializedFilter }),
|
75
76
|
};
|
76
77
|
},
|
78
|
+
deserialize: (_method, data) => {
|
79
|
+
const { filter } = JSON.parse(data.serialized);
|
80
|
+
const deserializedFilter = {};
|
81
|
+
if (filter.txHash)
|
82
|
+
deserializedFilter.txHash = TxHash.fromString(filter.txHash);
|
83
|
+
if (filter.contractAddress)
|
84
|
+
deserializedFilter.contractAddress = AztecAddress.fromString(filter.contractAddress);
|
85
|
+
if (filter.afterLog)
|
86
|
+
deserializedFilter.afterLog = LogId.fromString(filter.afterLog);
|
87
|
+
if (filter.fromBlock !== undefined)
|
88
|
+
deserializedFilter.fromBlock = filter.fromBlock;
|
89
|
+
if (filter.toBlock !== undefined)
|
90
|
+
deserializedFilter.toBlock = filter.toBlock;
|
91
|
+
return { filter: deserializedFilter };
|
92
|
+
},
|
93
|
+
};
|
94
|
+
this.result = {
|
95
|
+
serialize: (method, value) => {
|
96
|
+
return {
|
97
|
+
method,
|
98
|
+
serialized: JSON.stringify(GetContractClassLogsResponseSchema.parse(value)),
|
99
|
+
};
|
100
|
+
},
|
101
|
+
deserialize: (_method, data) => {
|
102
|
+
return GetContractClassLogsResponseSchema.parse(JSON.parse(data.serialized));
|
103
|
+
},
|
77
104
|
};
|
78
105
|
}
|
79
106
|
}
|
80
107
|
/**
|
81
|
-
* Serializer for the
|
82
|
-
* Handles serialization of
|
83
|
-
* Supports querying events with viewing keys for decryption.
|
108
|
+
* Serializer for the aztec_getPrivateEvents RPC method.
|
109
|
+
* Handles serialization of private event queries and results between JSON-RPC format and native Aztec types.
|
84
110
|
*/
|
85
|
-
export class
|
111
|
+
export class AztecGetPrivateEventsSerializer {
|
86
112
|
constructor() {
|
87
113
|
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
114
|
serialize: (method, value) => {
|
95
115
|
const { event, from, limit, vpks } = value;
|
96
116
|
return {
|
97
117
|
method,
|
98
|
-
serialized:
|
118
|
+
serialized: JSON.stringify({
|
99
119
|
event: {
|
100
120
|
eventSelector: event.eventSelector.toString(),
|
101
121
|
abiType: {
|
@@ -106,17 +126,11 @@ export class AztecGetEncryptedEventsSerializer {
|
|
106
126
|
from,
|
107
127
|
limit,
|
108
128
|
vpks: vpks?.map((p) => p.toString()),
|
109
|
-
})
|
129
|
+
}),
|
110
130
|
};
|
111
131
|
},
|
112
|
-
|
113
|
-
|
114
|
-
* @param method - The RPC method name
|
115
|
-
* @param data - The serialized query data
|
116
|
-
* @returns Deserialized query parameters
|
117
|
-
*/
|
118
|
-
deserialize: (method, data) => {
|
119
|
-
const { event: serializedEvent, from, limit, vpks } = JSON.parse(decodeBase64(data.serialized));
|
132
|
+
deserialize: (_method, data) => {
|
133
|
+
const { event: serializedEvent, from, limit, vpks } = JSON.parse(data.serialized);
|
120
134
|
const event = {
|
121
135
|
eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
|
122
136
|
abiType: {
|
@@ -132,43 +146,31 @@ export class AztecGetEncryptedEventsSerializer {
|
|
132
146
|
};
|
133
147
|
},
|
134
148
|
};
|
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
149
|
this.result = {
|
141
150
|
serialize: (method, value) => {
|
142
151
|
return {
|
143
152
|
method,
|
144
|
-
serialized:
|
153
|
+
serialized: JSON.stringify(value),
|
145
154
|
};
|
146
155
|
},
|
147
|
-
deserialize: (
|
148
|
-
return JSON.parse(
|
156
|
+
deserialize: (_method, data) => {
|
157
|
+
return JSON.parse(data.serialized);
|
149
158
|
},
|
150
159
|
};
|
151
160
|
}
|
152
161
|
}
|
153
162
|
/**
|
154
|
-
* Serializer for the
|
155
|
-
* Handles serialization of
|
156
|
-
* Supports querying events by event selector and pagination parameters.
|
163
|
+
* Serializer for the aztec_getPublicEvents RPC method.
|
164
|
+
* Handles serialization of public event queries and results between JSON-RPC format and native Aztec types.
|
157
165
|
*/
|
158
|
-
export class
|
166
|
+
export class AztecGetPublicEventsSerializer {
|
159
167
|
constructor() {
|
160
168
|
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
169
|
serialize: (method, value) => {
|
168
170
|
const { event, from, limit } = value;
|
169
171
|
return {
|
170
172
|
method,
|
171
|
-
serialized:
|
173
|
+
serialized: JSON.stringify({
|
172
174
|
event: {
|
173
175
|
eventSelector: event.eventSelector.toString(),
|
174
176
|
abiType: {
|
@@ -178,17 +180,11 @@ export class AztecGetUnencryptedEventsSerializer {
|
|
178
180
|
},
|
179
181
|
from,
|
180
182
|
limit,
|
181
|
-
})
|
183
|
+
}),
|
182
184
|
};
|
183
185
|
},
|
184
|
-
|
185
|
-
|
186
|
-
* @param method - The RPC method name
|
187
|
-
* @param data - The serialized query data
|
188
|
-
* @returns Deserialized query parameters
|
189
|
-
*/
|
190
|
-
deserialize: (method, data) => {
|
191
|
-
const { event: serializedEvent, from, limit } = JSON.parse(decodeBase64(data.serialized));
|
186
|
+
deserialize: (_method, data) => {
|
187
|
+
const { event: serializedEvent, from, limit } = JSON.parse(data.serialized);
|
192
188
|
const event = {
|
193
189
|
eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
|
194
190
|
abiType: {
|
@@ -203,29 +199,24 @@ export class AztecGetUnencryptedEventsSerializer {
|
|
203
199
|
};
|
204
200
|
},
|
205
201
|
};
|
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
202
|
this.result = {
|
212
203
|
serialize: (method, value) => {
|
213
204
|
return {
|
214
205
|
method,
|
215
|
-
serialized:
|
206
|
+
serialized: JSON.stringify(value),
|
216
207
|
};
|
217
208
|
},
|
218
|
-
deserialize: (
|
219
|
-
return JSON.parse(
|
209
|
+
deserialize: (_method, data) => {
|
210
|
+
return JSON.parse(data.serialized);
|
220
211
|
},
|
221
212
|
};
|
222
213
|
}
|
223
214
|
}
|
224
215
|
/**
|
225
216
|
* 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
217
|
*/
|
228
|
-
export const
|
229
|
-
export const
|
230
|
-
export const
|
231
|
-
|
218
|
+
export const aztecGetPublicLogsSerializer = new AztecGetPublicLogsSerializer();
|
219
|
+
export const aztecGetContractClassLogsSerializer = new AztecGetContractClassLogsSerializer();
|
220
|
+
export const aztecGetPrivateEventsSerializer = new AztecGetPrivateEventsSerializer();
|
221
|
+
export const aztecGetPublicEventsSerializer = new AztecGetPublicEventsSerializer();
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZXJzL2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQyxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBa0IsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXREOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNEI7SUFBekM7UUFPRSxXQUFNLEdBQUc7WUFDUCxTQUFTLEVBQUUsQ0FDVCxNQUFjLEVBQ2QsS0FBNEQsRUFDckMsRUFBRTtnQkFDekIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztnQkFDekIsaURBQWlEO2dCQUNqRCxNQUFNLGdCQUFnQixHQUFHO29CQUN2QixHQUFHLE1BQU07b0JBQ1QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO29CQUNqQyxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUU7b0JBQ25ELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRTtvQkFDckMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO29CQUMzQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87aUJBQ3hCLENBQUM7Z0JBQ0YsT0FBTztvQkFDTCxNQUFNO29CQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pELENBQUM7WUFDSixDQUFDO1lBQ0QsV0FBVyxFQUFFLENBQ1gsT0FBZSxFQUNmLElBQTJCLEVBQzRCLEVBQUU7Z0JBQ3pELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENB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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
|
19
|
-
* @param
|
17
|
+
* Deserializes notes filter parameters from RPC transport.
|
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: (
|
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
|
35
|
-
* @param
|
33
|
+
* Deserializes the notes query result.
|
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: (
|
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: {
|
@@ -55,11 +53,11 @@ export declare class AztecAddNoteSerializer implements JSONRPCSerializer<AztecWa
|
|
55
53
|
serialize: (method: string, value: AztecWalletMethodMap["aztec_addNote"]["params"]) => JSONRPCSerializedData;
|
56
54
|
/**
|
57
55
|
* Deserializes note addition parameters from RPC transport.
|
58
|
-
* @param
|
56
|
+
* @param _method - The RPC method name
|
59
57
|
* @param data - The serialized note data
|
60
58
|
* @returns Deserialized note parameters
|
61
59
|
*/
|
62
|
-
deserialize: (
|
60
|
+
deserialize: (_method: string, data: JSONRPCSerializedData) => AztecWalletMethodMap["aztec_addNote"]["params"];
|
63
61
|
};
|
64
62
|
result: {
|
65
63
|
/**
|
@@ -71,17 +69,16 @@ export declare class AztecAddNoteSerializer implements JSONRPCSerializer<AztecWa
|
|
71
69
|
serialize: (method: string, value: boolean) => JSONRPCSerializedData;
|
72
70
|
/**
|
73
71
|
* Deserializes the note addition result.
|
74
|
-
* @param
|
72
|
+
* @param _method - The RPC method name
|
75
73
|
* @param data - The serialized result data
|
76
74
|
* @returns Boolean indicating success
|
77
75
|
*/
|
78
|
-
deserialize: (
|
76
|
+
deserialize: (_method: string, data: JSONRPCSerializedData) => boolean;
|
79
77
|
};
|
80
78
|
}
|
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: {
|
@@ -94,11 +91,11 @@ export declare class AztecAddNullifiedNoteSerializer implements JSONRPCSerialize
|
|
94
91
|
serialize: (method: string, value: AztecWalletMethodMap["aztec_addNullifiedNote"]["params"]) => JSONRPCSerializedData;
|
95
92
|
/**
|
96
93
|
* Deserializes nullified note addition parameters from RPC transport.
|
97
|
-
* @param
|
94
|
+
* @param _method - The RPC method name
|
98
95
|
* @param data - The serialized note data
|
99
96
|
* @returns Deserialized note parameters
|
100
97
|
*/
|
101
|
-
deserialize: (
|
98
|
+
deserialize: (_method: string, data: JSONRPCSerializedData) => AztecWalletMethodMap["aztec_addNullifiedNote"]["params"];
|
102
99
|
};
|
103
100
|
result: {
|
104
101
|
/**
|
@@ -110,18 +107,18 @@ export declare class AztecAddNullifiedNoteSerializer implements JSONRPCSerialize
|
|
110
107
|
serialize: (method: string, value: boolean) => JSONRPCSerializedData;
|
111
108
|
/**
|
112
109
|
* Deserializes the nullified note addition result.
|
113
|
-
* @param
|
110
|
+
* @param _method - The RPC method name
|
114
111
|
* @param data - The serialized result data
|
115
112
|
* @returns Boolean indicating success
|
116
113
|
*/
|
117
|
-
deserialize: (
|
114
|
+
deserialize: (_method: string, data: JSONRPCSerializedData) => boolean;
|
118
115
|
};
|
119
116
|
}
|
120
117
|
/**
|
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;+BAEQ,MAAM,QACT,qBAAqB,KAC1B,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC;MAmBnD;IAEF,MAAM;QACJ;;;;;WAKG;4BAEO,MAAM,SACP,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KACtD,qBAAqB;QAMxB;;;;;WAKG;+BAEQ,MAAM,QACT,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;+BAEQ,MAAM,QACT,qBAAqB,KAC1B,oBAAoB,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;MAKlD;IAEF,MAAM;QACJ;;;;;WAKG;4BACiB,MAAM,SAAS,OAAO,KAAG,qBAAqB;QAMlE;;;;;WAKG;+BACoB,MAAM,QAAQ,qBAAqB,KAAG,OAAO;MAGpE;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;+BAEQ,MAAM,QACT,qBAAqB,KAC1B,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC;MAK3D;IAEF,MAAM;QACJ;;;;;WAKG;4BACiB,MAAM,SAAS,OAAO,KAAG,qBAAqB;QAMlE;;;;;WAKG;+BACoB,MAAM,QAAQ,qBAAqB,KAAG,OAAO;MAGpE;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,yBAAgC,CAAC;AACrE,eAAO,MAAM,sBAAsB,wBAA+B,CAAC;AACnE,eAAO,MAAM,+BAA+B,iCAAwC,CAAC"}
|