@walletmesh/aztec-rpc-wallet 0.1.0 → 0.2.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 +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/note.js
CHANGED
@@ -1,41 +1,67 @@
|
|
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
|
27
|
-
* @param
|
34
|
+
* Deserializes notes filter parameters from RPC transport.
|
35
|
+
* @param _method - The RPC method name
|
28
36
|
* @param data - The serialized filter data
|
29
37
|
* @returns Deserialized filter parameters
|
30
38
|
*/
|
31
|
-
deserialize: (
|
32
|
-
const filter = JSON.parse(
|
33
|
-
|
39
|
+
deserialize: (_method, data) => {
|
40
|
+
const { filter } = JSON.parse(data.serialized);
|
41
|
+
// Convert string representations back to instances
|
42
|
+
const notesFilter = {};
|
43
|
+
if (filter.txHash)
|
44
|
+
notesFilter.txHash = TxHash.fromString(filter.txHash);
|
45
|
+
if (filter.contractAddress)
|
46
|
+
notesFilter.contractAddress = AztecAddress.fromString(filter.contractAddress);
|
47
|
+
if (filter.storageSlot)
|
48
|
+
notesFilter.storageSlot = Fr.fromString(filter.storageSlot);
|
49
|
+
if (filter.owner)
|
50
|
+
notesFilter.owner = AztecAddress.fromString(filter.owner);
|
51
|
+
if (filter.status)
|
52
|
+
notesFilter.status = filter.status;
|
53
|
+
if (filter.siloedNullifier)
|
54
|
+
notesFilter.siloedNullifier = Fr.fromString(filter.siloedNullifier);
|
55
|
+
if (filter.scopes)
|
56
|
+
notesFilter.scopes = filter.scopes.map((scope) => AztecAddress.fromString(scope));
|
57
|
+
return {
|
58
|
+
filter: notesFilter,
|
59
|
+
};
|
34
60
|
},
|
35
61
|
};
|
36
62
|
this.result = {
|
37
63
|
/**
|
38
|
-
* Serializes the
|
64
|
+
* Serializes the notes query result.
|
39
65
|
* @param method - The RPC method name
|
40
66
|
* @param value - Array of unique notes matching the filter criteria
|
41
67
|
* @returns Serialized note array
|
@@ -43,17 +69,17 @@ export class AztecGetIncomingNotesSerializer {
|
|
43
69
|
serialize: (method, value) => {
|
44
70
|
return {
|
45
71
|
method,
|
46
|
-
serialized:
|
72
|
+
serialized: JSON.stringify(value.map((n) => n.toString())),
|
47
73
|
};
|
48
74
|
},
|
49
75
|
/**
|
50
|
-
* Deserializes the
|
51
|
-
* @param
|
76
|
+
* Deserializes the notes query result.
|
77
|
+
* @param _method - The RPC method name
|
52
78
|
* @param data - The serialized note array data
|
53
79
|
* @returns Array of deserialized unique notes
|
54
80
|
*/
|
55
|
-
deserialize: (
|
56
|
-
return JSON.parse(
|
81
|
+
deserialize: (_method, data) => {
|
82
|
+
return JSON.parse(data.serialized).map((n) => UniqueNote.fromString(n));
|
57
83
|
},
|
58
84
|
};
|
59
85
|
}
|
@@ -61,7 +87,6 @@ export class AztecGetIncomingNotesSerializer {
|
|
61
87
|
/**
|
62
88
|
* Serializer for the aztec_addNote RPC method.
|
63
89
|
* 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
90
|
*/
|
66
91
|
export class AztecAddNoteSerializer {
|
67
92
|
constructor() {
|
@@ -76,17 +101,18 @@ export class AztecAddNoteSerializer {
|
|
76
101
|
const { note } = value;
|
77
102
|
return {
|
78
103
|
method,
|
79
|
-
serialized:
|
104
|
+
serialized: JSON.stringify({ note: note.toBuffer().toString('base64') }),
|
80
105
|
};
|
81
106
|
},
|
82
107
|
/**
|
83
108
|
* Deserializes note addition parameters from RPC transport.
|
84
|
-
* @param
|
109
|
+
* @param _method - The RPC method name
|
85
110
|
* @param data - The serialized note data
|
86
111
|
* @returns Deserialized note parameters
|
87
112
|
*/
|
88
|
-
deserialize: (
|
89
|
-
const note =
|
113
|
+
deserialize: (_method, data) => {
|
114
|
+
const { note: noteBase64 } = JSON.parse(data.serialized);
|
115
|
+
const note = ExtendedNote.fromBuffer(Buffer.from(noteBase64, 'base64'));
|
90
116
|
return { note };
|
91
117
|
},
|
92
118
|
};
|
@@ -100,17 +126,17 @@ export class AztecAddNoteSerializer {
|
|
100
126
|
serialize: (method, value) => {
|
101
127
|
return {
|
102
128
|
method,
|
103
|
-
serialized:
|
129
|
+
serialized: JSON.stringify(value),
|
104
130
|
};
|
105
131
|
},
|
106
132
|
/**
|
107
133
|
* Deserializes the note addition result.
|
108
|
-
* @param
|
134
|
+
* @param _method - The RPC method name
|
109
135
|
* @param data - The serialized result data
|
110
136
|
* @returns Boolean indicating success
|
111
137
|
*/
|
112
|
-
deserialize: (
|
113
|
-
return JSON.parse(
|
138
|
+
deserialize: (_method, data) => {
|
139
|
+
return JSON.parse(data.serialized);
|
114
140
|
},
|
115
141
|
};
|
116
142
|
}
|
@@ -118,7 +144,6 @@ export class AztecAddNoteSerializer {
|
|
118
144
|
/**
|
119
145
|
* Serializer for the aztec_addNullifiedNote RPC method.
|
120
146
|
* 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
147
|
*/
|
123
148
|
export class AztecAddNullifiedNoteSerializer {
|
124
149
|
constructor() {
|
@@ -133,17 +158,18 @@ export class AztecAddNullifiedNoteSerializer {
|
|
133
158
|
const { note } = value;
|
134
159
|
return {
|
135
160
|
method,
|
136
|
-
serialized:
|
161
|
+
serialized: JSON.stringify({ note: note.toBuffer().toString('base64') }),
|
137
162
|
};
|
138
163
|
},
|
139
164
|
/**
|
140
165
|
* Deserializes nullified note addition parameters from RPC transport.
|
141
|
-
* @param
|
166
|
+
* @param _method - The RPC method name
|
142
167
|
* @param data - The serialized note data
|
143
168
|
* @returns Deserialized note parameters
|
144
169
|
*/
|
145
|
-
deserialize: (
|
146
|
-
const note =
|
170
|
+
deserialize: (_method, data) => {
|
171
|
+
const { note: noteBase64 } = JSON.parse(data.serialized);
|
172
|
+
const note = ExtendedNote.fromBuffer(Buffer.from(noteBase64, 'base64'));
|
147
173
|
return { note };
|
148
174
|
},
|
149
175
|
};
|
@@ -157,17 +183,17 @@ export class AztecAddNullifiedNoteSerializer {
|
|
157
183
|
serialize: (method, value) => {
|
158
184
|
return {
|
159
185
|
method,
|
160
|
-
serialized:
|
186
|
+
serialized: JSON.stringify(value),
|
161
187
|
};
|
162
188
|
},
|
163
189
|
/**
|
164
190
|
* Deserializes the nullified note addition result.
|
165
|
-
* @param
|
191
|
+
* @param _method - The RPC method name
|
166
192
|
* @param data - The serialized result data
|
167
193
|
* @returns Boolean indicating success
|
168
194
|
*/
|
169
|
-
deserialize: (
|
170
|
-
return JSON.parse(
|
195
|
+
deserialize: (_method, data) => {
|
196
|
+
return JSON.parse(data.serialized);
|
171
197
|
},
|
172
198
|
};
|
173
199
|
}
|
@@ -176,7 +202,7 @@ export class AztecAddNullifiedNoteSerializer {
|
|
176
202
|
* Pre-instantiated serializer instances for Aztec note-related RPC methods.
|
177
203
|
* These instances can be used directly by the RPC handler implementation.
|
178
204
|
*/
|
179
|
-
export const
|
205
|
+
export const aztecGetNotesSerializer = new AztecGetNotesSerializer();
|
180
206
|
export const aztecAddNoteSerializer = new AztecAddNoteSerializer();
|
181
207
|
export const aztecAddNullifiedNoteSerializer = new AztecAddNullifiedNoteSerializer();
|
182
|
-
//# sourceMappingURL=data:application/json;base64,
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemVycy9ub3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpFOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFPRSxXQUFNLEdBQUc7WUFDUDs7Ozs7ZUFLRztZQUNILFNBQVMsRUFBRSxDQUNULE1BQWMsRUFDZCxLQUF1RCxFQUNoQyxFQUFFO2dCQUN6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixrRUFBa0U7Z0JBQ2xFLE1BQU0sZ0JBQWdCLEdBQUc7b0JBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtvQkFDakMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFO29CQUNuRCxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUU7b0JBQzNDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtvQkFDL0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO29CQUNyQixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUU7b0JBQ25ELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUN4RCxDQUFDO2dCQUVGLE9BQU87b0JBQ0wsTUFBTTtvQkFDTixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO2lCQUN6RCxD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
|
@@ -1,107 +1,51 @@
|
|
1
|
-
import { PrivateExecutionResult, TxProvingResult } from '@aztec/circuit-types';
|
2
|
-
import type { CountedContractClassLog, CountedPublicExecutionRequest, NoteAndSlot, PublicExecutionRequest } from '@aztec/circuit-types';
|
3
|
-
import type { ClientIvcProof, PrivateCircuitPublicInputs, PrivateKernelTailCircuitPublicInputs } from '@aztec/circuits.js';
|
4
1
|
/**
|
5
|
-
*
|
6
|
-
*
|
2
|
+
* @module transaction-utils
|
3
|
+
* Utilities for serializing and deserializing Aztec transaction execution requests.
|
4
|
+
* These utilities handle the conversion between native Aztec types and JSON-RPC compatible formats.
|
7
5
|
*/
|
8
|
-
|
9
|
-
acir: string;
|
10
|
-
vk: string;
|
11
|
-
partialWitness: [number, string][];
|
12
|
-
publicInputs: PrivateCircuitPublicInputs;
|
13
|
-
noteHashLeafIndexMap: [string, string][];
|
14
|
-
newNotes: NoteAndSlot[];
|
15
|
-
noteHashNullifierCounterMap: [number, number][];
|
16
|
-
returnValues: string[];
|
17
|
-
nestedExecutions: SerializedPrivateExecutionResultData[];
|
18
|
-
enqueuedPublicFunctionCalls: CountedPublicExecutionRequest[];
|
19
|
-
publicTeardownFunctionCall: PublicExecutionRequest;
|
20
|
-
contractClassLogs: CountedContractClassLog[];
|
21
|
-
}
|
6
|
+
import type { ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
|
22
7
|
/**
|
23
|
-
*
|
24
|
-
*
|
8
|
+
* Serializes an ExecutionRequestInit object to a string for JSON-RPC transport.
|
9
|
+
* This function converts a native Aztec transaction execution request into a format
|
10
|
+
* that can be safely transmitted over JSON-RPC, handling the conversion of complex
|
11
|
+
* types like addresses, field elements, and function selectors to strings.
|
12
|
+
*
|
13
|
+
* Note: The fee payment method is not serialized as it contains async methods.
|
14
|
+
* The deserializer will use a default NoFeePaymentMethod which should be replaced
|
15
|
+
* by the caller with an appropriate implementation.
|
16
|
+
*
|
17
|
+
* @param init - The ExecutionRequestInit object to serialize, containing:
|
18
|
+
* - calls: Array of function calls to execute
|
19
|
+
* - fee: Gas settings and payment method
|
20
|
+
* - authWitnesses: Optional authentication proofs
|
21
|
+
* - hashedArguments: Optional pre-hashed arguments
|
22
|
+
* - nonce: Optional transaction nonce
|
23
|
+
* - cancellable: Optional cancellation flag
|
24
|
+
* @returns A JSON string representation of the serialized data, with all complex
|
25
|
+
* Aztec types converted to string representations
|
26
|
+
* @throws If any of the complex types cannot be serialized
|
25
27
|
*/
|
26
|
-
export declare
|
27
|
-
/**
|
28
|
-
* Creates a SerializablePrivateExecutionResult from a PrivateExecutionResult instance.
|
29
|
-
* @param result - The PrivateExecutionResult to convert
|
30
|
-
* @returns A new SerializablePrivateExecutionResult instance
|
31
|
-
*/
|
32
|
-
static from(result: PrivateExecutionResult): SerializablePrivateExecutionResult;
|
33
|
-
/**
|
34
|
-
* Converts the execution result to a JSON-serializable format.
|
35
|
-
* Handles conversion of complex types like Buffers, Maps, and nested execution results.
|
36
|
-
* @returns The serialized execution result data
|
37
|
-
*/
|
38
|
-
toJSON(): SerializedPrivateExecutionResultData;
|
39
|
-
/**
|
40
|
-
* Creates a SerializablePrivateExecutionResult from JSON data.
|
41
|
-
* @param json - JSON string or pre-parsed data object
|
42
|
-
* @returns A new SerializablePrivateExecutionResult instance
|
43
|
-
*/
|
44
|
-
static fromJSON(json: string | SerializedPrivateExecutionResultData): SerializablePrivateExecutionResult;
|
45
|
-
/**
|
46
|
-
* Compares this execution result with another for equality.
|
47
|
-
* @param other - The execution result to compare against
|
48
|
-
* @returns True if the execution results are equivalent
|
49
|
-
*/
|
50
|
-
equals(other: PrivateExecutionResult): boolean;
|
51
|
-
toComparable(): SerializedPrivateExecutionResultData;
|
52
|
-
}
|
28
|
+
export declare function serializeExecutionRequestInit(init: ExecutionRequestInit): string;
|
53
29
|
/**
|
54
|
-
*
|
55
|
-
*
|
30
|
+
* Deserializes a string into an ExecutionRequestInit object for use in the Aztec protocol.
|
31
|
+
* This function reconstructs a native Aztec transaction execution request from its
|
32
|
+
* JSON-RPC serialized form, converting string representations back into their
|
33
|
+
* appropriate Aztec types.
|
34
|
+
*
|
35
|
+
* Note: A default NoFeePaymentMethod is used for the fee payment method.
|
36
|
+
* The caller should override this with the appropriate implementation based on
|
37
|
+
* their fee payment requirements.
|
38
|
+
*
|
39
|
+
* @param data - The serialized string data containing:
|
40
|
+
* - calls: Array of serialized function calls
|
41
|
+
* - fee: Serialized gas settings
|
42
|
+
* - authWitnesses: Optional serialized authentication proofs
|
43
|
+
* - hashedArguments: Optional serialized hashed arguments
|
44
|
+
* - nonce: Optional serialized nonce
|
45
|
+
* - cancellable: Optional cancellation flag
|
46
|
+
* @returns The deserialized ExecutionRequestInit object with all string representations
|
47
|
+
* converted back to their native Aztec types
|
48
|
+
* @throws If any of the serialized data cannot be properly deserialized into valid Aztec types
|
56
49
|
*/
|
57
|
-
|
58
|
-
privateExecutionResult: ReturnType<SerializablePrivateExecutionResult['toJSON']>;
|
59
|
-
publicInputs: PrivateKernelTailCircuitPublicInputs;
|
60
|
-
clientIvcProof: ClientIvcProof;
|
61
|
-
}
|
62
|
-
/**
|
63
|
-
* Extends TxProvingResult to add serialization capabilities.
|
64
|
-
* Provides methods to convert transaction proving results to/from JSON format for RPC transport.
|
65
|
-
*/
|
66
|
-
export declare class SerializableTxProvingResult extends TxProvingResult {
|
67
|
-
/**
|
68
|
-
* Creates a SerializableTxProvingResult from a TxProvingResult instance.
|
69
|
-
* @param result - The TxProvingResult to convert
|
70
|
-
* @returns A new SerializableTxProvingResult instance
|
71
|
-
*/
|
72
|
-
static from(result: TxProvingResult): SerializableTxProvingResult;
|
73
|
-
/**
|
74
|
-
* Converts the proving result to a JSON-serializable format.
|
75
|
-
* @returns The serialized proving result data
|
76
|
-
*/
|
77
|
-
toJSON(): SerializedTxProvingResultData;
|
78
|
-
/**
|
79
|
-
* Creates a SerializableTxProvingResult from JSON data.
|
80
|
-
* @param json - JSON string or pre-parsed data object
|
81
|
-
* @returns A new SerializableTxProvingResult instance
|
82
|
-
*/
|
83
|
-
static fromJSON(json: string | SerializedTxProvingResultData): SerializableTxProvingResult;
|
84
|
-
/**
|
85
|
-
* Compares this proving result with another for equality.
|
86
|
-
* @param other - The proving result to compare against
|
87
|
-
* @returns True if the proving results are equivalent
|
88
|
-
*/
|
89
|
-
equals(other: TxProvingResult): boolean;
|
90
|
-
toComparable(): SerializedTxProvingResultData;
|
91
|
-
}
|
92
|
-
/**
|
93
|
-
* Utility function to compare two PrivateExecutionResult instances for equality.
|
94
|
-
* @param a - First execution result
|
95
|
-
* @param b - Second execution result
|
96
|
-
* @returns True if the execution results are equivalent
|
97
|
-
*/
|
98
|
-
export declare function comparePrivateExecutionResults(a: PrivateExecutionResult, b: PrivateExecutionResult): boolean;
|
99
|
-
/**
|
100
|
-
* Utility function to compare two TxProvingResult instances for equality.
|
101
|
-
* @param a - First proving result
|
102
|
-
* @param b - Second proving result
|
103
|
-
* @returns True if the proving results are equivalent
|
104
|
-
*/
|
105
|
-
export declare function compareTxProvingResults(a: TxProvingResult, b: TxProvingResult): boolean;
|
106
|
-
export {};
|
50
|
+
export declare function deserializeExecutionRequestInit(data: string): ExecutionRequestInit;
|
107
51
|
//# sourceMappingURL=transaction-utils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transaction-utils.d.ts","sourceRoot":"","sources":["../../src/serializers/transaction-utils.ts"],"names":[],"mappings":"AAAA
|
1
|
+
{"version":3,"file":"transaction-utils.d.ts","sourceRoot":"","sources":["../../src/serializers/transaction-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAiDvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAiChF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAsClF"}
|