@aztec/stdlib 0.87.3-nightly.20250529 → 0.87.4
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/dest/abi/abi.d.ts +0 -3
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +0 -38
- package/dest/avm/avm.d.ts +12 -696
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +8 -16
- package/dest/avm/avm_accumulated_data.d.ts +0 -77
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +0 -67
- package/dest/avm/avm_circuit_public_inputs.d.ts +3 -73
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +9 -19
- package/dest/avm/avm_proving_request.d.ts +0 -366
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/block/body.d.ts +1 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +2 -2
- package/dest/block/index.d.ts +0 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block.d.ts +2 -3
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +5 -10
- package/dest/block/l2_block_source.d.ts +4 -9
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +0 -1
- package/dest/block/published_l2_block.d.ts +69 -99
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +12 -38
- package/dest/block/test/l2_tips_store_test_suite.js +1 -1
- package/dest/interfaces/archiver.js +2 -2
- package/dest/interfaces/aztec-node.js +2 -2
- package/dest/interfaces/p2p.d.ts +2 -5
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +2 -1
- package/dest/interfaces/proving-job.d.ts +4 -370
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +2 -2
- package/dest/interfaces/server_circuit_prover.d.ts +2 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +6 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +7 -5
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +7 -7
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -8
- package/dest/kernel/hints/read_request_hints.d.ts +8 -8
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +0 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +0 -1
- package/dest/kernel/private_kernel_data.d.ts +25 -6
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +19 -8
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -7
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +6 -10
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +10 -10
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +3 -8
- package/dest/kernel/public_call_request.d.ts +0 -54
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +0 -58
- package/dest/logs/contract_class_log.d.ts +4 -0
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +33 -0
- package/dest/logs/log_with_tx_data.d.ts +3 -3
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +13 -9
- package/dest/logs/private_log.d.ts +0 -1
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +0 -3
- package/dest/logs/public_log.d.ts +0 -1
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +0 -3
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -1
- package/dest/rollup/avm_proof_data.d.ts +5 -7
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +4 -12
- package/dest/rollup/base_rollup_hints.d.ts +4 -4
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +8 -8
- package/dest/rollup/previous_rollup_block_data.d.ts +15 -6
- package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -1
- package/dest/rollup/previous_rollup_block_data.js +13 -8
- package/dest/rollup/previous_rollup_data.d.ts +15 -6
- package/dest/rollup/previous_rollup_data.d.ts.map +1 -1
- package/dest/rollup/previous_rollup_data.js +13 -8
- package/dest/rollup/private_tube_data.d.ts +3 -3
- package/dest/rollup/private_tube_data.d.ts.map +1 -1
- package/dest/rollup/private_tube_data.js +3 -3
- package/dest/rollup/public_tube_data.d.ts +3 -3
- package/dest/rollup/public_tube_data.d.ts.map +1 -1
- package/dest/rollup/public_tube_data.js +3 -3
- package/dest/rollup/root_rollup.d.ts +10 -9
- package/dest/rollup/root_rollup.d.ts.map +1 -1
- package/dest/rollup/root_rollup.js +20 -9
- package/dest/tests/factories.d.ts +1 -2
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +19 -25
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -4
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +5 -2
- package/dest/tx/tx.d.ts +25 -10
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +50 -25
- package/dest/tx/tx_effect.d.ts +1 -1
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +2 -2
- package/dest/validators/types.d.ts +0 -4
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/index.d.ts.map +1 -1
- package/dest/vks/index.js +1 -1
- package/dest/vks/{vk_data.d.ts → vk_witness_data.d.ts} +8 -8
- package/dest/vks/vk_witness_data.d.ts.map +1 -0
- package/dest/vks/{vk_data.js → vk_witness_data.js} +10 -10
- package/package.json +7 -7
- package/src/abi/abi.ts +0 -37
- package/src/avm/avm.ts +0 -14
- package/src/avm/avm_accumulated_data.ts +0 -93
- package/src/avm/avm_circuit_public_inputs.ts +2 -22
- package/src/block/body.ts +2 -7
- package/src/block/index.ts +0 -1
- package/src/block/l2_block.ts +3 -8
- package/src/block/l2_block_source.ts +3 -9
- package/src/block/published_l2_block.ts +24 -38
- package/src/block/test/l2_tips_store_test_suite.ts +1 -1
- package/src/interfaces/archiver.ts +2 -2
- package/src/interfaces/aztec-node.ts +2 -2
- package/src/interfaces/p2p.ts +3 -8
- package/src/interfaces/proving-job.ts +3 -3
- package/src/interfaces/server_circuit_prover.ts +2 -3
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
- package/src/kernel/hints/key_validation_hint.ts +6 -4
- package/src/kernel/hints/private_kernel_reset_hints.ts +43 -34
- package/src/kernel/hints/read_request_hints.ts +15 -27
- package/src/kernel/index.ts +0 -1
- package/src/kernel/private_kernel_data.ts +29 -7
- package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +13 -16
- package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -10
- package/src/kernel/public_call_request.ts +0 -66
- package/src/logs/contract_class_log.ts +36 -0
- package/src/logs/log_with_tx_data.ts +11 -7
- package/src/logs/private_log.ts +0 -4
- package/src/logs/public_log.ts +0 -4
- package/src/logs/tx_scoped_l2_log.ts +0 -1
- package/src/rollup/avm_proof_data.ts +7 -14
- package/src/rollup/base_rollup_hints.ts +4 -4
- package/src/rollup/previous_rollup_block_data.ts +12 -6
- package/src/rollup/previous_rollup_data.ts +12 -6
- package/src/rollup/private_tube_data.ts +4 -4
- package/src/rollup/public_tube_data.ts +4 -4
- package/src/rollup/root_rollup.ts +19 -6
- package/src/tests/factories.ts +32 -36
- package/src/tests/mocks.ts +3 -6
- package/src/tx/processed_tx.ts +5 -4
- package/src/tx/tx.ts +54 -28
- package/src/tx/tx_effect.ts +5 -23
- package/src/validators/types.ts +0 -2
- package/src/vks/index.ts +1 -1
- package/src/vks/{vk_data.ts → vk_witness_data.ts} +6 -6
- package/dest/block/proposal/committee_attestation.d.ts +0 -34
- package/dest/block/proposal/committee_attestation.d.ts.map +0 -1
- package/dest/block/proposal/committee_attestation.js +0 -59
- package/dest/block/proposal/index.d.ts +0 -2
- package/dest/block/proposal/index.d.ts.map +0 -1
- package/dest/block/proposal/index.js +0 -1
- package/dest/kernel/padded_side_effects.d.ts +0 -26
- package/dest/kernel/padded_side_effects.d.ts.map +0 -1
- package/dest/kernel/padded_side_effects.js +0 -51
- package/dest/vks/vk_data.d.ts.map +0 -1
- package/src/block/proposal/committee_attestation.ts +0 -70
- package/src/block/proposal/index.ts +0 -1
- package/src/kernel/padded_side_effects.ts +0 -73
package/src/interfaces/p2p.ts
CHANGED
|
@@ -44,7 +44,7 @@ export interface P2PApiWithoutAttestations {
|
|
|
44
44
|
getPeers(includePending?: boolean): Promise<PeerInfo[]>;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export interface
|
|
47
|
+
export interface P2PClient extends P2PApiWithoutAttestations {
|
|
48
48
|
/**
|
|
49
49
|
* Queries the Attestation pool for attestations for the given slot
|
|
50
50
|
*
|
|
@@ -53,19 +53,13 @@ export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
|
|
|
53
53
|
* @returns BlockAttestations
|
|
54
54
|
*/
|
|
55
55
|
getAttestationsForSlot(slot: bigint, proposalId?: string): Promise<BlockAttestation[]>;
|
|
56
|
-
}
|
|
57
56
|
|
|
58
|
-
export interface P2PClient extends P2PApiWithAttestations {
|
|
59
57
|
/** Manually adds an attestation to the p2p client attestation pool. */
|
|
60
58
|
addAttestation(attestation: BlockAttestation): Promise<void>;
|
|
61
59
|
}
|
|
62
60
|
|
|
63
61
|
export type P2PApi<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full
|
|
64
|
-
?
|
|
65
|
-
: P2PApiWithoutAttestations;
|
|
66
|
-
|
|
67
|
-
export type P2PApiFull<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full
|
|
68
|
-
? P2PApiWithAttestations & P2PClient
|
|
62
|
+
? P2PClient & P2PApiWithoutAttestations
|
|
69
63
|
: P2PApiWithoutAttestations;
|
|
70
64
|
|
|
71
65
|
export const P2PApiSchema: ApiSchemaFor<P2PApi> = {
|
|
@@ -77,4 +71,5 @@ export const P2PApiSchema: ApiSchemaFor<P2PApi> = {
|
|
|
77
71
|
getPendingTxCount: z.function().returns(schemas.Integer),
|
|
78
72
|
getEncodedEnr: z.function().returns(z.string().optional()),
|
|
79
73
|
getPeers: z.function().args(optional(z.boolean())).returns(z.array(PeerInfoSchema)),
|
|
74
|
+
addAttestation: z.function().args(BlockAttestation.schema).returns(z.void()),
|
|
80
75
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
AVM_PROOF_LENGTH_IN_FIELDS,
|
|
3
3
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
4
4
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
5
5
|
RECURSIVE_PROOF_LENGTH,
|
|
@@ -179,7 +179,7 @@ export type ProvingJobInputsMap = {
|
|
|
179
179
|
export const ProvingJobResult = z.discriminatedUnion('type', [
|
|
180
180
|
z.object({
|
|
181
181
|
type: z.literal(ProvingRequestType.PUBLIC_VM),
|
|
182
|
-
result: schemaForRecursiveProofAndVerificationKey(
|
|
182
|
+
result: schemaForRecursiveProofAndVerificationKey(AVM_PROOF_LENGTH_IN_FIELDS),
|
|
183
183
|
}),
|
|
184
184
|
z.object({
|
|
185
185
|
type: z.literal(ProvingRequestType.PRIVATE_BASE_ROLLUP),
|
|
@@ -249,7 +249,7 @@ export const ProvingJobResult = z.discriminatedUnion('type', [
|
|
|
249
249
|
]);
|
|
250
250
|
export type ProvingJobResult = z.infer<typeof ProvingJobResult>;
|
|
251
251
|
export type ProvingJobResultsMap = {
|
|
252
|
-
[ProvingRequestType.PUBLIC_VM]: ProofAndVerificationKey<typeof
|
|
252
|
+
[ProvingRequestType.PUBLIC_VM]: ProofAndVerificationKey<typeof AVM_PROOF_LENGTH_IN_FIELDS>;
|
|
253
253
|
[ProvingRequestType.PRIVATE_BASE_ROLLUP]: PublicInputsAndRecursiveProof<
|
|
254
254
|
BaseOrMergeRollupPublicInputs,
|
|
255
255
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
2
|
+
AVM_PROOF_LENGTH_IN_FIELDS,
|
|
3
3
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
4
4
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
5
5
|
RECURSIVE_PROOF_LENGTH,
|
|
@@ -149,10 +149,9 @@ export interface ServerCircuitProver {
|
|
|
149
149
|
*/
|
|
150
150
|
getAvmProof(
|
|
151
151
|
inputs: AvmCircuitInputs,
|
|
152
|
-
skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
|
|
153
152
|
signal?: AbortSignal,
|
|
154
153
|
epochNumber?: number,
|
|
155
|
-
): Promise<ProofAndVerificationKey<typeof
|
|
154
|
+
): Promise<ProofAndVerificationKey<typeof AVM_PROOF_LENGTH_IN_FIELDS>>;
|
|
156
155
|
}
|
|
157
156
|
|
|
158
157
|
/**
|
|
@@ -148,9 +148,9 @@ export function findPrivateKernelResetDimensions(
|
|
|
148
148
|
? isEnough
|
|
149
149
|
: // If isInner is true, it's a reset to prevent overflow. The following must be zero because siloing can't be done at the moment.
|
|
150
150
|
(dimensions: PrivateKernelResetDimensions) =>
|
|
151
|
-
dimensions.
|
|
152
|
-
dimensions.
|
|
153
|
-
dimensions.
|
|
151
|
+
dimensions.NOTE_HASH_SILOING_AMOUNT === 0 &&
|
|
152
|
+
dimensions.NULLIFIER_SILOING_AMOUNT === 0 &&
|
|
153
|
+
dimensions.PRIVATE_LOG_SILOING_AMOUNT === 0 &&
|
|
154
154
|
isEnough(dimensions);
|
|
155
155
|
|
|
156
156
|
const options = [
|
|
@@ -5,18 +5,20 @@ export class KeyValidationHint {
|
|
|
5
5
|
constructor(
|
|
6
6
|
/** Master secret key used to derive sk_app and pk_m. */
|
|
7
7
|
public skM: GrumpkinScalar,
|
|
8
|
+
/** Index of the request in the array of hints. */
|
|
9
|
+
public requestIndex: number,
|
|
8
10
|
) {}
|
|
9
11
|
|
|
10
12
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
11
13
|
const reader = BufferReader.asReader(buffer);
|
|
12
|
-
return new KeyValidationHint(reader.readObject(GrumpkinScalar));
|
|
14
|
+
return new KeyValidationHint(reader.readObject(GrumpkinScalar), reader.readNumber());
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
toBuffer() {
|
|
16
|
-
return serializeToBuffer(this.skM);
|
|
18
|
+
return serializeToBuffer(this.skM, this.requestIndex);
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
static
|
|
20
|
-
return new KeyValidationHint(GrumpkinScalar.zero());
|
|
21
|
+
static nada(keyValidationRequestLen: number) {
|
|
22
|
+
return new KeyValidationHint(GrumpkinScalar.zero(), keyValidationRequestLen);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
@@ -10,8 +10,8 @@ export class PrivateKernelResetHints<
|
|
|
10
10
|
NH_RR_SETTLED extends number,
|
|
11
11
|
NLL_RR_PENDING extends number,
|
|
12
12
|
NLL_RR_SETTLED extends number,
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
KEY_VALIDATION_REQUESTS extends number,
|
|
14
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS extends number,
|
|
15
15
|
> {
|
|
16
16
|
constructor(
|
|
17
17
|
/**
|
|
@@ -25,11 +25,11 @@ export class PrivateKernelResetHints<
|
|
|
25
25
|
/**
|
|
26
26
|
* Contains hints for key validation request.
|
|
27
27
|
*/
|
|
28
|
-
public keyValidationHints: Tuple<KeyValidationHint,
|
|
28
|
+
public keyValidationHints: Tuple<KeyValidationHint, KEY_VALIDATION_REQUESTS>,
|
|
29
29
|
/**
|
|
30
30
|
* Contains hints for the transient note hashes to locate corresponding nullifiers.
|
|
31
31
|
*/
|
|
32
|
-
public transientDataIndexHints: Tuple<TransientDataIndexHint,
|
|
32
|
+
public transientDataIndexHints: Tuple<TransientDataIndexHint, NUM_TRANSIENT_DATA_INDEX_HINTS>,
|
|
33
33
|
/**
|
|
34
34
|
* The "final" minRevertibleSideEffectCounter of a tx, to split the data for squashing.
|
|
35
35
|
* Not the minRevertibleSideEffectCounter at the point the reset circuit is run.
|
|
@@ -47,30 +47,39 @@ export class PrivateKernelResetHints<
|
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
trimToSizes
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
50
|
+
trimToSizes<
|
|
51
|
+
NEW_NH_RR_PENDING extends number,
|
|
52
|
+
NEW_NH_RR_SETTLED extends number,
|
|
53
|
+
NEW_NLL_RR_PENDING extends number,
|
|
54
|
+
NEW_NLL_RR_SETTLED extends number,
|
|
55
|
+
NEW_KEY_VALIDATION_REQUESTS extends number,
|
|
56
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS extends number,
|
|
57
|
+
>(
|
|
58
|
+
numNoteHashReadRequestPending: NEW_NH_RR_PENDING,
|
|
59
|
+
numNoteHashReadRequestSettled: NEW_NH_RR_SETTLED,
|
|
60
|
+
numNullifierReadRequestPending: NEW_NLL_RR_PENDING,
|
|
61
|
+
numNullifierReadRequestSettled: NEW_NLL_RR_SETTLED,
|
|
62
|
+
numKeyValidationRequests: NEW_KEY_VALIDATION_REQUESTS,
|
|
63
|
+
numTransientDataIndexHints: NUM_TRANSIENT_DATA_INDEX_HINTS,
|
|
64
|
+
): PrivateKernelResetHints<
|
|
65
|
+
NEW_NH_RR_PENDING,
|
|
66
|
+
NEW_NH_RR_SETTLED,
|
|
67
|
+
NEW_NLL_RR_PENDING,
|
|
68
|
+
NEW_NLL_RR_SETTLED,
|
|
69
|
+
NEW_KEY_VALIDATION_REQUESTS,
|
|
70
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS
|
|
71
|
+
> {
|
|
63
72
|
return new PrivateKernelResetHints(
|
|
64
|
-
this.noteHashReadRequestHints.trimToSizes(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
this.noteHashReadRequestHints.trimToSizes(numNoteHashReadRequestPending, numNoteHashReadRequestSettled),
|
|
74
|
+
this.nullifierReadRequestHints.trimToSizes(numNullifierReadRequestPending, numNullifierReadRequestSettled),
|
|
75
|
+
this.keyValidationHints.slice(0, numKeyValidationRequests) as Tuple<
|
|
76
|
+
KeyValidationHint,
|
|
77
|
+
NEW_KEY_VALIDATION_REQUESTS
|
|
78
|
+
>,
|
|
79
|
+
this.transientDataIndexHints.slice(0, numTransientDataIndexHints) as Tuple<
|
|
80
|
+
TransientDataIndexHint,
|
|
81
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS
|
|
82
|
+
>,
|
|
74
83
|
this.validationRequestsSplitCounter,
|
|
75
84
|
);
|
|
76
85
|
}
|
|
@@ -84,23 +93,23 @@ export class PrivateKernelResetHints<
|
|
|
84
93
|
NH_RR_SETTLED extends number,
|
|
85
94
|
NLL_RR_PENDING extends number,
|
|
86
95
|
NLL_RR_SETTLED extends number,
|
|
87
|
-
|
|
88
|
-
|
|
96
|
+
KEY_VALIDATION_REQUESTS extends number,
|
|
97
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS extends number,
|
|
89
98
|
>(
|
|
90
99
|
buffer: Buffer | BufferReader,
|
|
91
100
|
numNoteHashReadRequestPending: NH_RR_PENDING,
|
|
92
101
|
numNoteHashReadRequestSettled: NH_RR_SETTLED,
|
|
93
102
|
numNullifierReadRequestPending: NLL_RR_PENDING,
|
|
94
103
|
numNullifierReadRequestSettled: NLL_RR_SETTLED,
|
|
95
|
-
|
|
96
|
-
numTransientDataIndexHints:
|
|
104
|
+
numNullifierKeys: KEY_VALIDATION_REQUESTS,
|
|
105
|
+
numTransientDataIndexHints: NUM_TRANSIENT_DATA_INDEX_HINTS,
|
|
97
106
|
): PrivateKernelResetHints<
|
|
98
107
|
NH_RR_PENDING,
|
|
99
108
|
NH_RR_SETTLED,
|
|
100
109
|
NLL_RR_PENDING,
|
|
101
110
|
NLL_RR_SETTLED,
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
KEY_VALIDATION_REQUESTS,
|
|
112
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS
|
|
104
113
|
> {
|
|
105
114
|
const reader = BufferReader.asReader(buffer);
|
|
106
115
|
return new PrivateKernelResetHints(
|
|
@@ -112,7 +121,7 @@ export class PrivateKernelResetHints<
|
|
|
112
121
|
fromBuffer: buf =>
|
|
113
122
|
nullifierReadRequestHintsFromBuffer(buf, numNullifierReadRequestPending, numNullifierReadRequestSettled),
|
|
114
123
|
}),
|
|
115
|
-
reader.readArray(
|
|
124
|
+
reader.readArray(numNullifierKeys, KeyValidationHint),
|
|
116
125
|
reader.readArray(numTransientDataIndexHints, TransientDataIndexHint),
|
|
117
126
|
reader.readNumber(),
|
|
118
127
|
);
|
|
@@ -94,8 +94,8 @@ export class SettledReadHint<TREE_HEIGHT extends number, LEAF_PREIMAGE extends B
|
|
|
94
94
|
*/
|
|
95
95
|
export class ReadRequestResetHints<
|
|
96
96
|
READ_REQUEST_LEN extends number,
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
NUM_PENDING_READS extends number,
|
|
98
|
+
NUM_SETTLED_READS extends number,
|
|
99
99
|
TREE_HEIGHT extends number,
|
|
100
100
|
LEAF_PREIMAGE extends Bufferable,
|
|
101
101
|
> {
|
|
@@ -104,29 +104,23 @@ export class ReadRequestResetHints<
|
|
|
104
104
|
/**
|
|
105
105
|
* The hints for read requests reading pending values.
|
|
106
106
|
*/
|
|
107
|
-
public pendingReadHints: Tuple<PendingReadHint,
|
|
107
|
+
public pendingReadHints: Tuple<PendingReadHint, NUM_PENDING_READS>,
|
|
108
108
|
/**
|
|
109
109
|
* The hints for read requests reading settled values.
|
|
110
110
|
*/
|
|
111
|
-
public settledReadHints: Tuple<SettledReadHint<TREE_HEIGHT, LEAF_PREIMAGE>,
|
|
111
|
+
public settledReadHints: Tuple<SettledReadHint<TREE_HEIGHT, LEAF_PREIMAGE>, NUM_SETTLED_READS>,
|
|
112
112
|
) {}
|
|
113
113
|
|
|
114
|
-
trimToSizes<
|
|
115
|
-
numPendingReads:
|
|
116
|
-
numSettledReads:
|
|
117
|
-
): ReadRequestResetHints<
|
|
118
|
-
READ_REQUEST_LEN,
|
|
119
|
-
NEW_PENDING_READ_HINTS_LEN,
|
|
120
|
-
NEW_SETTLED_READ_HINTS_LEN,
|
|
121
|
-
TREE_HEIGHT,
|
|
122
|
-
LEAF_PREIMAGE
|
|
123
|
-
> {
|
|
114
|
+
trimToSizes<NEW_NUM_PENDING_READS extends number, NEW_NUM_SETTLED_READS extends number>(
|
|
115
|
+
numPendingReads: NEW_NUM_PENDING_READS,
|
|
116
|
+
numSettledReads: NEW_NUM_SETTLED_READS,
|
|
117
|
+
): ReadRequestResetHints<READ_REQUEST_LEN, NEW_NUM_PENDING_READS, NEW_NUM_SETTLED_READS, TREE_HEIGHT, LEAF_PREIMAGE> {
|
|
124
118
|
return new ReadRequestResetHints(
|
|
125
119
|
this.readRequestStatuses,
|
|
126
|
-
this.pendingReadHints.slice(0, numPendingReads) as Tuple<PendingReadHint,
|
|
120
|
+
this.pendingReadHints.slice(0, numPendingReads) as Tuple<PendingReadHint, NEW_NUM_PENDING_READS>,
|
|
127
121
|
this.settledReadHints.slice(0, numSettledReads) as Tuple<
|
|
128
122
|
SettledReadHint<TREE_HEIGHT, LEAF_PREIMAGE>,
|
|
129
|
-
|
|
123
|
+
NEW_NUM_SETTLED_READS
|
|
130
124
|
>,
|
|
131
125
|
);
|
|
132
126
|
}
|
|
@@ -138,24 +132,18 @@ export class ReadRequestResetHints<
|
|
|
138
132
|
*/
|
|
139
133
|
static fromBuffer<
|
|
140
134
|
READ_REQUEST_LEN extends number,
|
|
141
|
-
|
|
142
|
-
|
|
135
|
+
NUM_PENDING_READS extends number,
|
|
136
|
+
NUM_SETTLED_READS extends number,
|
|
143
137
|
TREE_HEIGHT extends number,
|
|
144
138
|
LEAF_PREIMAGE extends Bufferable,
|
|
145
139
|
>(
|
|
146
140
|
buffer: Buffer | BufferReader,
|
|
147
141
|
readRequestLen: READ_REQUEST_LEN,
|
|
148
|
-
numPendingReads:
|
|
149
|
-
numSettledReads:
|
|
142
|
+
numPendingReads: NUM_PENDING_READS,
|
|
143
|
+
numSettledReads: NUM_SETTLED_READS,
|
|
150
144
|
treeHeight: TREE_HEIGHT,
|
|
151
145
|
leafPreimageFromBuffer: { fromBuffer: (buffer: BufferReader) => LEAF_PREIMAGE },
|
|
152
|
-
): ReadRequestResetHints<
|
|
153
|
-
READ_REQUEST_LEN,
|
|
154
|
-
PENDING_READ_HINTS_LEN,
|
|
155
|
-
SETTLED_READ_HINTS_LEN,
|
|
156
|
-
TREE_HEIGHT,
|
|
157
|
-
LEAF_PREIMAGE
|
|
158
|
-
> {
|
|
146
|
+
): ReadRequestResetHints<READ_REQUEST_LEN, NUM_PENDING_READS, NUM_SETTLED_READS, TREE_HEIGHT, LEAF_PREIMAGE> {
|
|
159
147
|
const reader = BufferReader.asReader(buffer);
|
|
160
148
|
return new ReadRequestResetHints(
|
|
161
149
|
reader.readArray(readRequestLen, ReadRequestStatus),
|
package/src/kernel/index.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { VK_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
5
|
|
|
3
|
-
import {
|
|
6
|
+
import type { UInt32 } from '../types/shared.js';
|
|
7
|
+
import { VerificationKeyData } from '../vks/verification_key.js';
|
|
4
8
|
import { PrivateKernelCircuitPublicInputs } from './private_kernel_circuit_public_inputs.js';
|
|
5
9
|
|
|
6
10
|
/**
|
|
@@ -15,9 +19,17 @@ export class PrivateKernelData {
|
|
|
15
19
|
*/
|
|
16
20
|
public publicInputs: PrivateKernelCircuitPublicInputs,
|
|
17
21
|
/**
|
|
18
|
-
*
|
|
22
|
+
* Verification key of the previous kernel.
|
|
19
23
|
*/
|
|
20
|
-
public
|
|
24
|
+
public verificationKey: VerificationKeyData,
|
|
25
|
+
/**
|
|
26
|
+
* Index of the previous kernel's vk in a tree of vks.
|
|
27
|
+
*/
|
|
28
|
+
public vkIndex: UInt32,
|
|
29
|
+
/**
|
|
30
|
+
* Sibling path of the previous kernel's vk in a tree of vks.
|
|
31
|
+
*/
|
|
32
|
+
public vkPath: Tuple<Fr, typeof VK_TREE_HEIGHT>,
|
|
21
33
|
) {}
|
|
22
34
|
|
|
23
35
|
/**
|
|
@@ -25,15 +37,25 @@ export class PrivateKernelData {
|
|
|
25
37
|
* @returns The buffer.
|
|
26
38
|
*/
|
|
27
39
|
toBuffer() {
|
|
28
|
-
return serializeToBuffer(this.publicInputs, this.
|
|
40
|
+
return serializeToBuffer(this.publicInputs, this.verificationKey, this.vkIndex, this.vkPath);
|
|
29
41
|
}
|
|
30
42
|
|
|
31
43
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelData {
|
|
32
44
|
const reader = BufferReader.asReader(buffer);
|
|
33
|
-
return new this(
|
|
45
|
+
return new this(
|
|
46
|
+
reader.readObject(PrivateKernelCircuitPublicInputs),
|
|
47
|
+
reader.readObject(VerificationKeyData),
|
|
48
|
+
reader.readNumber(),
|
|
49
|
+
reader.readArray(VK_TREE_HEIGHT, Fr),
|
|
50
|
+
);
|
|
34
51
|
}
|
|
35
52
|
|
|
36
53
|
static empty(): PrivateKernelData {
|
|
37
|
-
return new PrivateKernelData(
|
|
54
|
+
return new PrivateKernelData(
|
|
55
|
+
PrivateKernelCircuitPublicInputs.empty(),
|
|
56
|
+
VerificationKeyData.empty(),
|
|
57
|
+
0,
|
|
58
|
+
makeTuple(VK_TREE_HEIGHT, Fr.zero),
|
|
59
|
+
);
|
|
38
60
|
}
|
|
39
61
|
}
|
|
@@ -7,7 +7,6 @@ import type {
|
|
|
7
7
|
import { serializeToBuffer } from '@aztec/foundation/serialize';
|
|
8
8
|
|
|
9
9
|
import type { PrivateKernelResetHints } from './hints/private_kernel_reset_hints.js';
|
|
10
|
-
import type { PaddedSideEffects } from './padded_side_effects.js';
|
|
11
10
|
import type { PrivateKernelData } from './private_kernel_data.js';
|
|
12
11
|
import type { PrivateKernelResetDimensions } from './private_kernel_reset_dimensions.js';
|
|
13
12
|
|
|
@@ -16,24 +15,23 @@ export class PrivateKernelResetCircuitPrivateInputsVariants<
|
|
|
16
15
|
NH_RR_SETTLED extends number,
|
|
17
16
|
NLL_RR_PENDING extends number,
|
|
18
17
|
NLL_RR_SETTLED extends number,
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
KEY_VALIDATION_REQUESTS extends number,
|
|
19
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS extends number,
|
|
21
20
|
> {
|
|
22
21
|
constructor(
|
|
23
22
|
public previousKernel: PrivateKernelData,
|
|
24
|
-
public paddedSideEffects: PaddedSideEffects,
|
|
25
23
|
public hints: PrivateKernelResetHints<
|
|
26
24
|
NH_RR_PENDING,
|
|
27
25
|
NH_RR_SETTLED,
|
|
28
26
|
NLL_RR_PENDING,
|
|
29
27
|
NLL_RR_SETTLED,
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
KEY_VALIDATION_REQUESTS,
|
|
29
|
+
NUM_TRANSIENT_DATA_INDEX_HINTS
|
|
32
30
|
>,
|
|
33
31
|
) {}
|
|
34
32
|
|
|
35
33
|
toBuffer() {
|
|
36
|
-
return serializeToBuffer(this.previousKernel, this.
|
|
34
|
+
return serializeToBuffer(this.previousKernel, this.hints);
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
37
|
|
|
@@ -46,7 +44,6 @@ export class PrivateKernelResetCircuitPrivateInputs {
|
|
|
46
44
|
* The previous kernel data
|
|
47
45
|
*/
|
|
48
46
|
public previousKernel: PrivateKernelData,
|
|
49
|
-
public paddedSideEffects: PaddedSideEffects,
|
|
50
47
|
public hints: PrivateKernelResetHints<
|
|
51
48
|
typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
52
49
|
typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
@@ -63,18 +60,18 @@ export class PrivateKernelResetCircuitPrivateInputs {
|
|
|
63
60
|
* @returns The buffer.
|
|
64
61
|
*/
|
|
65
62
|
toBuffer() {
|
|
66
|
-
return serializeToBuffer(this.previousKernel, this.
|
|
63
|
+
return serializeToBuffer(this.previousKernel, this.hints, this.dimensions);
|
|
67
64
|
}
|
|
68
65
|
|
|
69
66
|
trimToSizes() {
|
|
70
67
|
const hints = this.hints.trimToSizes(
|
|
71
|
-
this.dimensions.
|
|
72
|
-
this.dimensions.
|
|
73
|
-
this.dimensions.
|
|
74
|
-
this.dimensions.
|
|
75
|
-
this.dimensions.
|
|
76
|
-
this.dimensions.
|
|
68
|
+
this.dimensions.NOTE_HASH_PENDING_AMOUNT,
|
|
69
|
+
this.dimensions.NOTE_HASH_SETTLED_AMOUNT,
|
|
70
|
+
this.dimensions.NULLIFIER_PENDING_AMOUNT,
|
|
71
|
+
this.dimensions.NULLIFIER_SETTLED_AMOUNT,
|
|
72
|
+
this.dimensions.NULLIFIER_KEYS,
|
|
73
|
+
this.dimensions.TRANSIENT_DATA_AMOUNT,
|
|
77
74
|
);
|
|
78
|
-
return new PrivateKernelResetCircuitPrivateInputsVariants(this.previousKernel,
|
|
75
|
+
return new PrivateKernelResetCircuitPrivateInputsVariants(this.previousKernel, hints);
|
|
79
76
|
}
|
|
80
77
|
}
|
|
@@ -3,28 +3,28 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
3
3
|
|
|
4
4
|
export class PrivateKernelResetDimensions {
|
|
5
5
|
constructor(
|
|
6
|
-
public
|
|
7
|
-
public
|
|
8
|
-
public
|
|
9
|
-
public
|
|
10
|
-
public
|
|
11
|
-
public
|
|
12
|
-
public
|
|
13
|
-
public
|
|
14
|
-
public
|
|
6
|
+
public NOTE_HASH_PENDING_AMOUNT: number,
|
|
7
|
+
public NOTE_HASH_SETTLED_AMOUNT: number,
|
|
8
|
+
public NULLIFIER_PENDING_AMOUNT: number,
|
|
9
|
+
public NULLIFIER_SETTLED_AMOUNT: number,
|
|
10
|
+
public NULLIFIER_KEYS: number,
|
|
11
|
+
public TRANSIENT_DATA_AMOUNT: number,
|
|
12
|
+
public NOTE_HASH_SILOING_AMOUNT: number,
|
|
13
|
+
public NULLIFIER_SILOING_AMOUNT: number,
|
|
14
|
+
public PRIVATE_LOG_SILOING_AMOUNT: number,
|
|
15
15
|
) {}
|
|
16
16
|
|
|
17
17
|
toBuffer() {
|
|
18
18
|
return serializeToBuffer(
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
19
|
+
this.NOTE_HASH_PENDING_AMOUNT,
|
|
20
|
+
this.NOTE_HASH_SETTLED_AMOUNT,
|
|
21
|
+
this.NULLIFIER_PENDING_AMOUNT,
|
|
22
|
+
this.NULLIFIER_SETTLED_AMOUNT,
|
|
23
|
+
this.NULLIFIER_KEYS,
|
|
24
|
+
this.TRANSIENT_DATA_AMOUNT,
|
|
25
|
+
this.NOTE_HASH_SILOING_AMOUNT,
|
|
26
|
+
this.NULLIFIER_SILOING_AMOUNT,
|
|
27
|
+
this.PRIVATE_LOG_SILOING_AMOUNT,
|
|
28
28
|
);
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -57,15 +57,15 @@ export class PrivateKernelResetDimensions {
|
|
|
57
57
|
export type DimensionName = keyof FieldsOf<PrivateKernelResetDimensions>;
|
|
58
58
|
|
|
59
59
|
export const privateKernelResetDimensionNames: DimensionName[] = [
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
63
|
-
'
|
|
64
|
-
'
|
|
65
|
-
'
|
|
66
|
-
'
|
|
67
|
-
'
|
|
68
|
-
'
|
|
60
|
+
'NOTE_HASH_PENDING_AMOUNT',
|
|
61
|
+
'NOTE_HASH_SETTLED_AMOUNT',
|
|
62
|
+
'NULLIFIER_PENDING_AMOUNT',
|
|
63
|
+
'NULLIFIER_SETTLED_AMOUNT',
|
|
64
|
+
'NULLIFIER_KEYS',
|
|
65
|
+
'TRANSIENT_DATA_AMOUNT',
|
|
66
|
+
'NOTE_HASH_SILOING_AMOUNT',
|
|
67
|
+
'NULLIFIER_SILOING_AMOUNT',
|
|
68
|
+
'PRIVATE_LOG_SILOING_AMOUNT',
|
|
69
69
|
];
|
|
70
70
|
|
|
71
71
|
export interface DimensionConfig {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
2
|
|
|
3
|
-
import { PaddedSideEffectAmounts } from './padded_side_effects.js';
|
|
4
3
|
import { PrivateKernelData } from './private_kernel_data.js';
|
|
5
4
|
import { countAccumulatedItems } from './utils/order_and_comparison.js';
|
|
6
5
|
|
|
@@ -13,10 +12,6 @@ export class PrivateKernelTailCircuitPrivateInputs {
|
|
|
13
12
|
* The previous kernel data
|
|
14
13
|
*/
|
|
15
14
|
public previousKernel: PrivateKernelData,
|
|
16
|
-
/**
|
|
17
|
-
* The number of the padded side effects.
|
|
18
|
-
*/
|
|
19
|
-
public paddedSideEffectAmounts: PaddedSideEffectAmounts,
|
|
20
15
|
) {}
|
|
21
16
|
|
|
22
17
|
isForPublic() {
|
|
@@ -31,7 +26,7 @@ export class PrivateKernelTailCircuitPrivateInputs {
|
|
|
31
26
|
* @returns The buffer.
|
|
32
27
|
*/
|
|
33
28
|
toBuffer() {
|
|
34
|
-
return serializeToBuffer(this.previousKernel
|
|
29
|
+
return serializeToBuffer(this.previousKernel);
|
|
35
30
|
}
|
|
36
31
|
|
|
37
32
|
/**
|
|
@@ -41,9 +36,6 @@ export class PrivateKernelTailCircuitPrivateInputs {
|
|
|
41
36
|
*/
|
|
42
37
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelTailCircuitPrivateInputs {
|
|
43
38
|
const reader = BufferReader.asReader(buffer);
|
|
44
|
-
return new PrivateKernelTailCircuitPrivateInputs(
|
|
45
|
-
reader.readObject(PrivateKernelData),
|
|
46
|
-
reader.readObject(PaddedSideEffectAmounts),
|
|
47
|
-
);
|
|
39
|
+
return new PrivateKernelTailCircuitPrivateInputs(reader.readObject(PrivateKernelData));
|
|
48
40
|
}
|
|
49
41
|
}
|
|
@@ -123,72 +123,6 @@ export class PublicCallRequest {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
/**
|
|
127
|
-
* Represents lengths of arrays of public call requests.
|
|
128
|
-
*/
|
|
129
|
-
export class PublicCallRequestArrayLengths {
|
|
130
|
-
constructor(
|
|
131
|
-
/**
|
|
132
|
-
* Number of setup call requests
|
|
133
|
-
*/
|
|
134
|
-
public setupCalls: number,
|
|
135
|
-
/**
|
|
136
|
-
* Number of app logic call requests
|
|
137
|
-
*/
|
|
138
|
-
public appLogicCalls: number,
|
|
139
|
-
/**
|
|
140
|
-
* Whether there is a teardown call request
|
|
141
|
-
*/
|
|
142
|
-
public teardownCall: boolean,
|
|
143
|
-
) {}
|
|
144
|
-
|
|
145
|
-
static get schema() {
|
|
146
|
-
return z
|
|
147
|
-
.object({
|
|
148
|
-
setupCalls: z.number(),
|
|
149
|
-
appLogicCalls: z.number(),
|
|
150
|
-
teardownCall: z.boolean(),
|
|
151
|
-
})
|
|
152
|
-
.transform(({ setupCalls, appLogicCalls, teardownCall }) => {
|
|
153
|
-
return new PublicCallRequestArrayLengths(setupCalls, appLogicCalls, teardownCall);
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
static getFields(fields: FieldsOf<PublicCallRequestArrayLengths>) {
|
|
158
|
-
return [fields.setupCalls, fields.appLogicCalls, fields.teardownCall] as const;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
static fromFields(fields: Fr[] | FieldReader): PublicCallRequestArrayLengths {
|
|
162
|
-
const reader = FieldReader.asReader(fields);
|
|
163
|
-
return new PublicCallRequestArrayLengths(reader.readU32(), reader.readU32(), reader.readBoolean());
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
toFields(): Fr[] {
|
|
167
|
-
return serializeToFields(...PublicCallRequestArrayLengths.getFields(this));
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
171
|
-
const reader = BufferReader.asReader(buffer);
|
|
172
|
-
return new PublicCallRequestArrayLengths(reader.readNumber(), reader.readNumber(), reader.readBoolean());
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
toBuffer() {
|
|
176
|
-
return serializeToBuffer(...PublicCallRequestArrayLengths.getFields(this));
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
static empty() {
|
|
180
|
-
return new PublicCallRequestArrayLengths(0, 0, false);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
[inspect.custom]() {
|
|
184
|
-
return `PublicCallRequestArrayLengths {
|
|
185
|
-
setupCalls: ${this.setupCalls}
|
|
186
|
-
appLogicCalls: ${this.appLogicCalls}
|
|
187
|
-
teardownCall: ${this.teardownCall}
|
|
188
|
-
}`;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
126
|
export class CountedPublicCallRequest {
|
|
193
127
|
constructor(
|
|
194
128
|
public inner: PublicCallRequest,
|