@aztec/stdlib 4.0.0-nightly.20260113 → 4.0.0-nightly.20260115
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/function_call.d.ts +9 -1
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +7 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/auth_witness/auth_witness.d.ts +2 -1
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +362 -362
- package/dest/avm/avm_accumulated_data.d.ts +30 -3
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
- package/dest/avm/avm_proving_request.d.ts +299 -299
- package/dest/avm/contract_storage_read.d.ts +13 -1
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +13 -1
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +10 -1
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +10 -1
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +7 -1
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.d.ts +4 -1
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +4 -4
- package/dest/avm/revert_code.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 -1
- package/dest/block/checkpointed_l2_block.d.ts +13 -13
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +5 -4
- package/dest/block/l2_block.d.ts +8 -4
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +4 -3
- package/dest/block/l2_block_code_to_purge.d.ts +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +1 -1
- package/dest/block/l2_block_header.d.ts +14 -2
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +14 -7
- package/dest/block/l2_block_new.d.ts +9 -4
- package/dest/block/l2_block_new.d.ts.map +1 -1
- package/dest/block/l2_block_new.js +2 -2
- package/dest/block/l2_block_source.d.ts +3 -2
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/validate_block_result.d.ts +1 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +5 -4
- package/dest/checkpoint/checkpoint.d.ts +9 -4
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +10 -1
- package/dest/checkpoint/published_checkpoint.d.ts +5 -5
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +4 -3
- package/dest/contract/complete_address.d.ts +4 -1
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_deployment_data.d.ts +5 -5
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_instance.d.ts +16 -16
- package/dest/database-version/version_manager.d.ts +4 -2
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/deserialization/index.d.ts +11 -0
- package/dest/deserialization/index.d.ts.map +1 -0
- package/dest/deserialization/index.js +10 -0
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.d.ts +23 -26
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/block-builder.d.ts +2 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +6 -6
- package/dest/interfaces/get_logs_response.d.ts +1 -1
- package/dest/interfaces/proving-job.d.ts +180 -180
- package/dest/interfaces/validator.d.ts +1 -9
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +0 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +2 -1
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.d.ts +7 -1
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +7 -1
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +23 -1
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +25 -1
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +16 -1
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.d.ts +7 -1
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.d.ts +10 -1
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/public_call_request.d.ts +22 -1
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/utils/optional_number.d.ts +7 -1
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/keys/public_keys.d.ts +5 -1
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/logs/extended_contract_class_log.d.ts +3 -1
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +5 -3
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/log_id.d.ts +5 -1
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.d.ts +3 -1
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/l1_actor.d.ts +7 -1
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +6 -1
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +7 -1
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +5 -3
- package/dest/messaging/out_hash.d.ts +41 -4
- package/dest/messaging/out_hash.d.ts.map +1 -1
- package/dest/messaging/out_hash.js +52 -26
- package/dest/note/note_dao.d.ts +36 -5
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +15 -12
- package/dest/p2p/block_proposal.d.ts +8 -1
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +6 -1
- package/dest/p2p/checkpoint_attestation.d.ts +5 -1
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts +6 -1
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +6 -1
- package/dest/p2p/consensus_payload.d.ts +4 -1
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/signed_txs.d.ts +3 -1
- package/dest/p2p/signed_txs.d.ts.map +1 -1
- package/dest/p2p/signed_txs.js +6 -1
- package/dest/p2p/topic_type.js +2 -1
- package/dest/parity/parity_base_private_inputs.d.ts +3 -1
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +4 -1
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +2 -1
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +9 -4
- package/dest/proofs/proof.d.ts +4 -1
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.d.ts +10 -1
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +34 -1
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +12 -1
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +1 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +2 -2
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +29 -2
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +21 -5
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -6
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
- package/dest/rollup/epoch_constant_data.d.ts +16 -1
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +12 -2
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +4 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +1 -1
- package/dest/tests/factories.d.ts +1 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +3 -2
- package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +13 -1
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.d.ts +10 -1
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +16 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +11 -1
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +10 -1
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/call_context.d.ts +13 -1
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +4 -1
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/execution_payload.d.ts +9 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/function_data.d.ts +4 -2
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +9 -1
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/hashed_values.d.ts +7 -1
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/in_tx.d.ts +1 -1
- package/dest/tx/partial_state_reference.d.ts +4 -1
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +22 -1
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.d.ts +16 -1
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +3 -1
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/tx.d.ts +23 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx_context.d.ts +2 -1
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +32 -6
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +0 -7
- package/dest/tx/tx_execution_request.d.ts +30 -1
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_hash.d.ts +2 -1
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +7 -1
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_request.d.ts +6 -1
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/types/shared.d.ts +4 -1
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/validators/schemas.d.ts +8 -8
- package/dest/vks/verification_key.d.ts +22 -1
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/vk_data.d.ts +7 -1
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/abi/utils.ts +17 -0
- package/src/block/body.ts +2 -1
- package/src/block/checkpointed_l2_block.ts +5 -4
- package/src/block/l2_block.ts +4 -2
- package/src/block/l2_block_code_to_purge.ts +1 -0
- package/src/block/l2_block_header.ts +13 -0
- package/src/block/l2_block_new.ts +8 -2
- package/src/block/l2_block_source.ts +3 -1
- package/src/block/validate_block_result.ts +5 -4
- package/src/checkpoint/checkpoint.ts +11 -1
- package/src/checkpoint/published_checkpoint.ts +4 -3
- package/src/contract/index.ts +0 -2
- package/src/deserialization/index.ts +21 -0
- package/src/interfaces/block-builder.ts +1 -0
- package/src/interfaces/validator.ts +0 -4
- package/src/messaging/l2_to_l1_membership.ts +5 -3
- package/src/messaging/out_hash.ts +60 -29
- package/src/note/note_dao.ts +18 -13
- package/src/p2p/block_proposal.ts +6 -1
- package/src/p2p/checkpoint_proposal.ts +6 -1
- package/src/p2p/signed_txs.ts +6 -1
- package/src/p2p/topic_type.ts +1 -1
- package/src/proofs/chonk_proof.ts +9 -5
- package/src/rollup/block_headers_hash.ts +1 -1
- package/src/rollup/block_rollup_public_inputs.ts +2 -2
- package/src/rollup/checkpoint_header.ts +20 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -6
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
- package/src/rollup/root_rollup_public_inputs.ts +4 -1
- package/src/tests/factories.ts +4 -1
- package/src/tx/tx_effect.ts +0 -9
- package/dest/contract/contract_class_metadata.d.ts +0 -8
- package/dest/contract/contract_class_metadata.d.ts.map +0 -1
- package/dest/contract/contract_class_metadata.js +0 -1
- package/dest/contract/contract_metadata.d.ts +0 -7
- package/dest/contract/contract_metadata.d.ts.map +0 -1
- package/dest/contract/contract_metadata.js +0 -1
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
|
@@ -31,6 +31,9 @@ export declare class G1AffineElement {
|
|
|
31
31
|
* the commitment itself. The name can be e.g. Q_1, Q_2, SIGMA_1 etc.
|
|
32
32
|
*/
|
|
33
33
|
export declare class CommitmentMap {
|
|
34
|
+
/**
|
|
35
|
+
* An object used to store the commitments.
|
|
36
|
+
*/
|
|
34
37
|
record: {
|
|
35
38
|
[name: string]: G1AffineElement;
|
|
36
39
|
};
|
|
@@ -94,11 +97,29 @@ export declare class VerificationKeyAsFields {
|
|
|
94
97
|
static makeEmpty(size: number): VerificationKeyAsFields;
|
|
95
98
|
}
|
|
96
99
|
export declare class VerificationKey {
|
|
100
|
+
/**
|
|
101
|
+
* For Plonk, this is equivalent to the proving system used to prove and verify.
|
|
102
|
+
*/
|
|
97
103
|
circuitType: CircuitType;
|
|
104
|
+
/**
|
|
105
|
+
* The number of gates in this circuit.
|
|
106
|
+
*/
|
|
98
107
|
circuitSize: number;
|
|
108
|
+
/**
|
|
109
|
+
* The number of public inputs in this circuit.
|
|
110
|
+
*/
|
|
99
111
|
numPublicInputs: number;
|
|
112
|
+
/**
|
|
113
|
+
* The commitments for this circuit.
|
|
114
|
+
*/
|
|
100
115
|
commitments: Record<string, G1AffineElement>;
|
|
116
|
+
/**
|
|
117
|
+
* Contains a recursive proof?
|
|
118
|
+
*/
|
|
101
119
|
containsRecursiveProof: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Recursion stack.
|
|
122
|
+
*/
|
|
102
123
|
recursiveProofPublicInputIndices: number[];
|
|
103
124
|
constructor(
|
|
104
125
|
/**
|
|
@@ -178,4 +199,4 @@ export declare class VerificationKeyData {
|
|
|
178
199
|
/** Creates an instance from a hex string. */
|
|
179
200
|
static get schema(): import("zod").ZodType<VerificationKeyData, any, string>;
|
|
180
201
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpY2F0aW9uX2tleS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zrcy92ZXJpZmljYXRpb25fa2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUk5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxxQkFBYSxlQUFlO0lBQzFCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNiOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUViLFlBQVksQ0FBQyxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBR3pDO0lBQ0Q7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGVBQWUsQ0FHaEU7Q0FDRjtBQUVEOzs7R0FHRztBQUNILHFCQUFhLGFBQWE7SUFFdEI7O09BRUc7SUFDSSxNQUFNLEVBQUU7UUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsZUFBZSxDQUFBO0tBQUU7SUFKcEQ7SUFDRTs7T0FFRztJQUNJLE1BQU0sRUFBRTtRQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxlQUFlLENBQUE7S0FBRSxFQUNoRDtJQUVKOzs7T0FHRztJQUNILFFBQVEsNEJBR1A7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxhQUFhLENBRzlEO0NBQ0Y7QUFHRCxlQUFPLE1BQU0sa0JBQWtCLElBQUksQ0FBQztBQUNwQyxlQUFPLE1BQU0sMkJB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification_key.d.ts","sourceRoot":"","sources":["../../src/vks/verification_key.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACI,CAAC,EAAE,EAAE,CAAC;IACb;;OAEG;IACI,CAAC,EAAE,EAAE,CAAC;IAEb,YAAY,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,EAGzC;IACD;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,eAAe,CAGhE;CACF;AAED;;;GAGG;AACH,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"verification_key.d.ts","sourceRoot":"","sources":["../../src/vks/verification_key.ts"],"names":[],"mappings":"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"}
|
package/dest/vks/vk_data.d.ts
CHANGED
|
@@ -5,7 +5,13 @@ import type { UInt32 } from '../types/shared.js';
|
|
|
5
5
|
import { VerificationKeyData } from './verification_key.js';
|
|
6
6
|
export declare class VkData {
|
|
7
7
|
vk: VerificationKeyData;
|
|
8
|
+
/**
|
|
9
|
+
* Index of the vk in the vk tree.
|
|
10
|
+
*/
|
|
8
11
|
leafIndex: UInt32;
|
|
12
|
+
/**
|
|
13
|
+
* Sibling path of the vk in the vk tree.
|
|
14
|
+
*/
|
|
9
15
|
siblingPath: Tuple<Fr, typeof VK_TREE_HEIGHT>;
|
|
10
16
|
constructor(vk: VerificationKeyData,
|
|
11
17
|
/**
|
|
@@ -21,4 +27,4 @@ export declare class VkData {
|
|
|
21
27
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
22
28
|
toString(): `0x${string}`;
|
|
23
29
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmtfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zrcy92a19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEtBQUssRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxxQkFBYSxNQUFNO0lBRVIsRUFBRSxFQUFFLG1CQUFtQjtJQUM5Qjs7T0FFRztJQUNJLFNBQVMsRUFBRSxNQUFNO0lBQ3hCOztPQUVHO0lBQ0ksV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxjQUFjLENBQUM7SUFUdEQsWUFDUyxFQUFFLEVBQUUsbUJBQW1CO0lBQzlCOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU07SUFDeEI7O09BRUc7SUFDSSxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLGNBQWMsQ0FBQyxFQUNsRDtJQUVKLE1BQU0sQ0FBQyxLQUFLLFdBRVg7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxVQU85QztJQUVELFFBQVEsNEJBRVA7SUFFRCxRQUFRLGtCQUVQO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vk_data.d.ts","sourceRoot":"","sources":["../../src/vks/vk_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,MAAM;IAER,EAAE,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"vk_data.d.ts","sourceRoot":"","sources":["../../src/vks/vk_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,MAAM;IAER,EAAE,EAAE,mBAAmB;IAC9B;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC;IATtD,YACS,EAAE,EAAE,mBAAmB;IAC9B;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC,EAClD;IAEJ,MAAM,CAAC,KAAK,WAEX;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,UAO9C;IAED,QAAQ,4BAEP;IAED,QAAQ,kBAEP;CACF"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "4.0.0-nightly.
|
|
3
|
+
"version": "4.0.0-nightly.20260115",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
7
7
|
"./package.local.json"
|
|
8
8
|
],
|
|
9
9
|
"exports": {
|
|
10
|
+
"./deserialization": "./dest/deserialization/index.js",
|
|
10
11
|
"./aztec-address": "./dest/aztec-address/index.js",
|
|
11
12
|
"./abi": "./dest/abi/index.js",
|
|
12
13
|
"./abi/function-selector": "./dest/abi/function_selector.js",
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
"tsconfig": "./tsconfig.json"
|
|
70
71
|
},
|
|
71
72
|
"scripts": {
|
|
72
|
-
"build": "yarn clean && yarn generate &&
|
|
73
|
+
"build": "yarn clean && yarn generate && ../scripts/tsc.sh",
|
|
73
74
|
"generate": "./scripts/copy-contracts.sh",
|
|
74
75
|
"build:dev": "../scripts/tsc.sh --watch",
|
|
75
76
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
@@ -77,13 +78,13 @@
|
|
|
77
78
|
},
|
|
78
79
|
"dependencies": {
|
|
79
80
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
80
|
-
"@aztec/bb.js": "4.0.0-nightly.
|
|
81
|
-
"@aztec/blob-lib": "4.0.0-nightly.
|
|
82
|
-
"@aztec/constants": "4.0.0-nightly.
|
|
83
|
-
"@aztec/ethereum": "4.0.0-nightly.
|
|
84
|
-
"@aztec/foundation": "4.0.0-nightly.
|
|
85
|
-
"@aztec/l1-artifacts": "4.0.0-nightly.
|
|
86
|
-
"@aztec/noir-noirc_abi": "4.0.0-nightly.
|
|
81
|
+
"@aztec/bb.js": "4.0.0-nightly.20260115",
|
|
82
|
+
"@aztec/blob-lib": "4.0.0-nightly.20260115",
|
|
83
|
+
"@aztec/constants": "4.0.0-nightly.20260115",
|
|
84
|
+
"@aztec/ethereum": "4.0.0-nightly.20260115",
|
|
85
|
+
"@aztec/foundation": "4.0.0-nightly.20260115",
|
|
86
|
+
"@aztec/l1-artifacts": "4.0.0-nightly.20260115",
|
|
87
|
+
"@aztec/noir-noirc_abi": "4.0.0-nightly.20260115",
|
|
87
88
|
"@google-cloud/storage": "^7.15.0",
|
|
88
89
|
"axios": "^1.12.0",
|
|
89
90
|
"json-stringify-deterministic": "1.0.12",
|
|
@@ -108,7 +109,7 @@
|
|
|
108
109
|
"@types/lodash.times": "^4.3.9",
|
|
109
110
|
"@types/node": "^22.15.17",
|
|
110
111
|
"@types/pako": "^2.0.3",
|
|
111
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
112
|
+
"@typescript/native-preview": "7.0.0-dev.20260113.1",
|
|
112
113
|
"eslint": "^9.26.0",
|
|
113
114
|
"jest": "^30.0.0",
|
|
114
115
|
"jest-mock-extended": "^4.0.0",
|
package/src/abi/utils.ts
CHANGED
|
@@ -49,6 +49,23 @@ export function isWrappedFieldStruct(abiType: AbiType) {
|
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Returns whether the ABI type is a PublicKeys struct from Aztec.nr.
|
|
54
|
+
* @param abiType - Type to check.
|
|
55
|
+
* @returns A boolean indicating whether the ABI type is a PublicKeys struct.
|
|
56
|
+
*/
|
|
57
|
+
export function isPublicKeysStruct(abiType: AbiType) {
|
|
58
|
+
return (
|
|
59
|
+
abiType.kind === 'struct' &&
|
|
60
|
+
abiType.path === 'aztec::protocol_types::public_keys::PublicKeys' &&
|
|
61
|
+
abiType.fields.length === 4 &&
|
|
62
|
+
abiType.fields[0].name === 'npk_m' &&
|
|
63
|
+
abiType.fields[1].name === 'ivpk_m' &&
|
|
64
|
+
abiType.fields[2].name === 'ovpk_m' &&
|
|
65
|
+
abiType.fields[3].name === 'tpk_m'
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
52
69
|
/**
|
|
53
70
|
* Returns whether the ABI type is a BoundedVec struct from Noir's std::collections::bounded_vec.
|
|
54
71
|
* @param abiType - Type to check.
|
package/src/block/body.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
5
5
|
import { inspect } from 'util';
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
|
|
8
|
+
import { MAX_TX_EFFECTS_PER_BODY } from '../deserialization/index.js';
|
|
8
9
|
import type { ZodFor } from '../schemas/index.js';
|
|
9
10
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
10
11
|
|
|
@@ -40,7 +41,7 @@ export class Body {
|
|
|
40
41
|
static fromBuffer(buf: Buffer | BufferReader) {
|
|
41
42
|
const reader = BufferReader.asReader(buf);
|
|
42
43
|
|
|
43
|
-
return new this(reader.readVector(TxEffect));
|
|
44
|
+
return new this(reader.readVector(TxEffect, MAX_TX_EFFECTS_PER_BODY));
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
/**
|
|
@@ -6,6 +6,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
|
|
8
8
|
import { L1PublishedData, PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
9
|
+
import { MAX_BLOCK_HASH_STRING_LENGTH, MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
|
|
9
10
|
import { L2Block } from './l2_block.js';
|
|
10
11
|
import { L2BlockNew } from './l2_block_new.js';
|
|
11
12
|
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
@@ -36,9 +37,9 @@ export class CheckpointedL2Block {
|
|
|
36
37
|
const checkpointNumber = reader.readNumber();
|
|
37
38
|
const block = reader.readObject(L2BlockNew);
|
|
38
39
|
const l1BlockNumber = reader.readBigInt();
|
|
39
|
-
const l1BlockHash = reader.readString();
|
|
40
|
+
const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
|
|
40
41
|
const l1Timestamp = reader.readBigInt();
|
|
41
|
-
const attestations = reader.readVector(CommitteeAttestation);
|
|
42
|
+
const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
|
|
42
43
|
return new CheckpointedL2Block(
|
|
43
44
|
CheckpointNumber(checkpointNumber),
|
|
44
45
|
block,
|
|
@@ -89,9 +90,9 @@ export class PublishedL2Block {
|
|
|
89
90
|
const reader = BufferReader.asReader(bufferOrReader);
|
|
90
91
|
const block = reader.readObject(L2Block);
|
|
91
92
|
const l1BlockNumber = reader.readBigInt();
|
|
92
|
-
const l1BlockHash = reader.readString();
|
|
93
|
+
const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
|
|
93
94
|
const l1Timestamp = reader.readBigInt();
|
|
94
|
-
const attestations = reader.readVector(CommitteeAttestation);
|
|
95
|
+
const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
|
|
95
96
|
return new PublishedL2Block(block, new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash), attestations);
|
|
96
97
|
}
|
|
97
98
|
|
package/src/block/l2_block.ts
CHANGED
|
@@ -108,10 +108,11 @@ export class L2Block {
|
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
110
|
* Creates an L2 block containing empty data.
|
|
111
|
+
* @param header - An optional header to assign to the block
|
|
111
112
|
* @returns The L2 block.
|
|
112
113
|
*/
|
|
113
|
-
static empty(): L2Block {
|
|
114
|
-
return new L2Block(AppendOnlyTreeSnapshot.empty(), L2BlockHeader.empty(), Body.empty());
|
|
114
|
+
static empty(header?: L2BlockHeader): L2Block {
|
|
115
|
+
return new L2Block(AppendOnlyTreeSnapshot.empty(), header ?? L2BlockHeader.empty(), Body.empty());
|
|
115
116
|
}
|
|
116
117
|
|
|
117
118
|
get number(): BlockNumber {
|
|
@@ -177,6 +178,7 @@ export class L2Block {
|
|
|
177
178
|
new AppendOnlyTreeSnapshot(checkpointHeader.lastArchiveRoot, block.number),
|
|
178
179
|
checkpointHeader.blobsHash,
|
|
179
180
|
checkpointHeader.inHash,
|
|
181
|
+
checkpointHeader.epochOutHash,
|
|
180
182
|
block.header.state,
|
|
181
183
|
block.header.globalVariables,
|
|
182
184
|
block.header.totalFees,
|
|
@@ -22,6 +22,7 @@ export function makeL2BlockHeader(
|
|
|
22
22
|
makeAppendOnlyTreeSnapshot(seed + 0x100),
|
|
23
23
|
overrides.blobsHash ?? new Fr(seed + 0x200),
|
|
24
24
|
overrides.inHash ?? new Fr(seed + 0x300),
|
|
25
|
+
overrides.epochOutHash ?? new Fr(seed + 0x400),
|
|
25
26
|
overrides.state ?? makeStateReference(seed + 0x600),
|
|
26
27
|
makeGlobalVariables((seed += 0x700), {
|
|
27
28
|
...(blockNumber ? { blockNumber: BlockNumber(blockNumber) } : {}),
|
|
@@ -27,6 +27,8 @@ export class L2BlockHeader {
|
|
|
27
27
|
public lastArchive: AppendOnlyTreeSnapshot,
|
|
28
28
|
public blobsHash: Fr,
|
|
29
29
|
public inHash: Fr,
|
|
30
|
+
/** Root of the epoch out hash tree. Leaves are the out hashes of this block and all previous blocks in the epoch. */
|
|
31
|
+
public epochOutHash: Fr,
|
|
30
32
|
/** State reference. */
|
|
31
33
|
public state: StateReference,
|
|
32
34
|
/** Global variables of an L2 block. */
|
|
@@ -47,6 +49,7 @@ export class L2BlockHeader {
|
|
|
47
49
|
lastArchive: AppendOnlyTreeSnapshot.schema,
|
|
48
50
|
blobsHash: schemas.Fr,
|
|
49
51
|
inHash: schemas.Fr,
|
|
52
|
+
epochOutHash: schemas.Fr,
|
|
50
53
|
state: StateReference.schema,
|
|
51
54
|
globalVariables: GlobalVariables.schema,
|
|
52
55
|
totalFees: schemas.Fr,
|
|
@@ -62,6 +65,7 @@ export class L2BlockHeader {
|
|
|
62
65
|
fields.lastArchive,
|
|
63
66
|
fields.blobsHash,
|
|
64
67
|
fields.inHash,
|
|
68
|
+
fields.epochOutHash,
|
|
65
69
|
fields.state,
|
|
66
70
|
fields.globalVariables,
|
|
67
71
|
fields.totalFees,
|
|
@@ -88,6 +92,7 @@ export class L2BlockHeader {
|
|
|
88
92
|
this.lastArchive.getSize() +
|
|
89
93
|
this.blobsHash.size +
|
|
90
94
|
this.inHash.size +
|
|
95
|
+
this.epochOutHash.size +
|
|
91
96
|
this.state.getSize() +
|
|
92
97
|
this.globalVariables.getSize() +
|
|
93
98
|
this.totalFees.size +
|
|
@@ -116,6 +121,7 @@ export class L2BlockHeader {
|
|
|
116
121
|
reader.readObject(AppendOnlyTreeSnapshot),
|
|
117
122
|
reader.readObject(Fr),
|
|
118
123
|
reader.readObject(Fr),
|
|
124
|
+
reader.readObject(Fr),
|
|
119
125
|
reader.readObject(StateReference),
|
|
120
126
|
reader.readObject(GlobalVariables),
|
|
121
127
|
reader.readObject(Fr),
|
|
@@ -132,6 +138,7 @@ export class L2BlockHeader {
|
|
|
132
138
|
AppendOnlyTreeSnapshot.fromFields(reader),
|
|
133
139
|
reader.readField(),
|
|
134
140
|
reader.readField(),
|
|
141
|
+
reader.readField(),
|
|
135
142
|
StateReference.fromFields(reader),
|
|
136
143
|
GlobalVariables.fromFields(reader),
|
|
137
144
|
reader.readField(),
|
|
@@ -146,6 +153,7 @@ export class L2BlockHeader {
|
|
|
146
153
|
lastArchive: AppendOnlyTreeSnapshot.empty(),
|
|
147
154
|
blobsHash: Fr.ZERO,
|
|
148
155
|
inHash: Fr.ZERO,
|
|
156
|
+
epochOutHash: Fr.ZERO,
|
|
149
157
|
state: StateReference.empty(),
|
|
150
158
|
globalVariables: GlobalVariables.empty(),
|
|
151
159
|
totalFees: Fr.ZERO,
|
|
@@ -161,6 +169,7 @@ export class L2BlockHeader {
|
|
|
161
169
|
this.lastArchive.isEmpty() &&
|
|
162
170
|
this.blobsHash.isZero() &&
|
|
163
171
|
this.inHash.isZero() &&
|
|
172
|
+
this.epochOutHash.isZero() &&
|
|
164
173
|
this.state.isEmpty() &&
|
|
165
174
|
this.globalVariables.isEmpty() &&
|
|
166
175
|
this.totalFees.isZero() &&
|
|
@@ -188,6 +197,7 @@ export class L2BlockHeader {
|
|
|
188
197
|
this.blockHeadersHash,
|
|
189
198
|
this.blobsHash,
|
|
190
199
|
this.inHash,
|
|
200
|
+
this.epochOutHash,
|
|
191
201
|
this.globalVariables.slotNumber,
|
|
192
202
|
this.globalVariables.timestamp,
|
|
193
203
|
this.globalVariables.coinbase,
|
|
@@ -213,6 +223,7 @@ export class L2BlockHeader {
|
|
|
213
223
|
lastArchive: this.lastArchive.root.toString(),
|
|
214
224
|
blobsHash: this.blobsHash.toString(),
|
|
215
225
|
inHash: this.inHash.toString(),
|
|
226
|
+
epochOutHash: this.epochOutHash.toString(),
|
|
216
227
|
state: this.state.toInspect(),
|
|
217
228
|
globalVariables: this.globalVariables.toInspect(),
|
|
218
229
|
totalFees: this.totalFees.toBigInt(),
|
|
@@ -227,6 +238,7 @@ export class L2BlockHeader {
|
|
|
227
238
|
lastArchive: ${inspect(this.lastArchive)},
|
|
228
239
|
blobsHash: ${inspect(this.blobsHash)},
|
|
229
240
|
inHash: ${inspect(this.inHash)},
|
|
241
|
+
epochOutHash: ${inspect(this.epochOutHash)},
|
|
230
242
|
state.l1ToL2MessageTree: ${inspect(this.state.l1ToL2MessageTree)},
|
|
231
243
|
state.noteHashTree: ${inspect(this.state.partial.noteHashTree)},
|
|
232
244
|
state.nullifierTree: ${inspect(this.state.partial.nullifierTree)},
|
|
@@ -244,6 +256,7 @@ export class L2BlockHeader {
|
|
|
244
256
|
this.lastArchive.equals(other.lastArchive) &&
|
|
245
257
|
this.blobsHash.equals(other.blobsHash) &&
|
|
246
258
|
this.inHash.equals(other.inHash) &&
|
|
259
|
+
this.epochOutHash.equals(other.epochOutHash) &&
|
|
247
260
|
this.state.equals(other.state) &&
|
|
248
261
|
this.globalVariables.equals(other.globalVariables) &&
|
|
249
262
|
this.totalFees.equals(other.totalFees) &&
|
|
@@ -131,8 +131,14 @@ export class L2BlockNew {
|
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
static empty() {
|
|
135
|
-
return new L2BlockNew(
|
|
134
|
+
static empty(header?: BlockHeader) {
|
|
135
|
+
return new L2BlockNew(
|
|
136
|
+
AppendOnlyTreeSnapshot.empty(),
|
|
137
|
+
header ?? BlockHeader.empty(),
|
|
138
|
+
Body.empty(),
|
|
139
|
+
CheckpointNumber(0),
|
|
140
|
+
0,
|
|
141
|
+
);
|
|
136
142
|
}
|
|
137
143
|
|
|
138
144
|
/**
|
|
@@ -243,7 +243,9 @@ export type ArchiverEmitter = TypedEventEmitter<{
|
|
|
243
243
|
[L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
|
|
244
244
|
[L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
|
|
245
245
|
}>;
|
|
246
|
-
export interface L2BlockSourceEventEmitter extends L2BlockSource
|
|
246
|
+
export interface L2BlockSourceEventEmitter extends L2BlockSource {
|
|
247
|
+
events: ArchiverEmitter;
|
|
248
|
+
}
|
|
247
249
|
|
|
248
250
|
/**
|
|
249
251
|
* Identifier for L2 block tags.
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
deserializeCheckpointInfo,
|
|
12
12
|
serializeCheckpointInfo,
|
|
13
13
|
} from '../checkpoint/checkpoint_info.js';
|
|
14
|
+
import { MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
|
|
14
15
|
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
15
16
|
|
|
16
17
|
/** Subtype for invalid checkpoint validation results */
|
|
@@ -109,13 +110,13 @@ export function deserializeValidateCheckpointResult(bufferOrReader: Buffer | Buf
|
|
|
109
110
|
if (valid) {
|
|
110
111
|
return { valid };
|
|
111
112
|
}
|
|
112
|
-
const reason = reader.readString() as 'insufficient-attestations' | 'invalid-attestation';
|
|
113
|
+
const reason = reader.readString(64) as 'insufficient-attestations' | 'invalid-attestation';
|
|
113
114
|
const checkpoint = deserializeCheckpointInfo(reader.readBuffer());
|
|
114
|
-
const committee = reader.readVector(EthAddress);
|
|
115
|
+
const committee = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
|
|
115
116
|
const epoch = EpochNumber(reader.readNumber());
|
|
116
117
|
const seed = reader.readBigInt();
|
|
117
|
-
const attestors = reader.readVector(EthAddress);
|
|
118
|
-
const attestations = reader.readVector(CommitteeAttestation);
|
|
118
|
+
const attestors = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
|
|
119
|
+
const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
|
|
119
120
|
const invalidIndex = reader.readNumber();
|
|
120
121
|
if (reason === 'insufficient-attestations') {
|
|
121
122
|
return { valid, reason, checkpoint, committee, epoch, seed, attestors, attestations };
|
|
@@ -8,6 +8,8 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
8
8
|
import { z } from 'zod';
|
|
9
9
|
|
|
10
10
|
import { L2BlockNew } from '../block/l2_block_new.js';
|
|
11
|
+
import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
|
|
12
|
+
import { computeCheckpointOutHash } from '../messaging/out_hash.js';
|
|
11
13
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
12
14
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
13
15
|
import type { CheckpointInfo } from './checkpoint_info.js';
|
|
@@ -48,7 +50,7 @@ export class Checkpoint {
|
|
|
48
50
|
return new Checkpoint(
|
|
49
51
|
reader.readObject(AppendOnlyTreeSnapshot),
|
|
50
52
|
reader.readObject(CheckpointHeader),
|
|
51
|
-
reader.readVector(L2BlockNew),
|
|
53
|
+
reader.readVector(L2BlockNew, MAX_BLOCKS_PER_CHECKPOINT),
|
|
52
54
|
CheckpointNumber(reader.readNumber()),
|
|
53
55
|
);
|
|
54
56
|
}
|
|
@@ -66,6 +68,14 @@ export class Checkpoint {
|
|
|
66
68
|
return this.header.hash();
|
|
67
69
|
}
|
|
68
70
|
|
|
71
|
+
// Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
|
|
72
|
+
// Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
73
|
+
// checkpoints up to and including this one in the epoch.
|
|
74
|
+
public getCheckpointOutHash(): Fr {
|
|
75
|
+
const msgs = this.blocks.map(block => block.body.txEffects.map(txEffect => txEffect.l2ToL1Msgs));
|
|
76
|
+
return computeCheckpointOutHash(msgs);
|
|
77
|
+
}
|
|
78
|
+
|
|
69
79
|
public getState() {
|
|
70
80
|
return this.blocks.at(-1)!.header.state;
|
|
71
81
|
}
|
|
@@ -8,6 +8,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
8
8
|
import { z } from 'zod';
|
|
9
9
|
|
|
10
10
|
import { CommitteeAttestation } from '../block/proposal/committee_attestation.js';
|
|
11
|
+
import { MAX_BLOCK_HASH_STRING_LENGTH, MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
|
|
11
12
|
import { Checkpoint } from './checkpoint.js';
|
|
12
13
|
|
|
13
14
|
export class L1PublishedData {
|
|
@@ -42,7 +43,7 @@ export class L1PublishedData {
|
|
|
42
43
|
static fromBuffer(bufferOrReader: Buffer | BufferReader): L1PublishedData {
|
|
43
44
|
const reader = BufferReader.asReader(bufferOrReader);
|
|
44
45
|
const l1BlockNumber = reader.readBigInt();
|
|
45
|
-
const l1BlockHash = reader.readString();
|
|
46
|
+
const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
|
|
46
47
|
const l1Timestamp = reader.readBigInt();
|
|
47
48
|
return new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash);
|
|
48
49
|
}
|
|
@@ -82,9 +83,9 @@ export class PublishedCheckpoint {
|
|
|
82
83
|
const reader = BufferReader.asReader(bufferOrReader);
|
|
83
84
|
const checkpoint = reader.readObject(Checkpoint);
|
|
84
85
|
const l1BlockNumber = reader.readBigInt();
|
|
85
|
-
const l1BlockHash = reader.readString();
|
|
86
|
+
const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
|
|
86
87
|
const l1Timestamp = reader.readBigInt();
|
|
87
|
-
const attestations = reader.readVector(CommitteeAttestation);
|
|
88
|
+
const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
|
|
88
89
|
return new PublishedCheckpoint(
|
|
89
90
|
checkpoint,
|
|
90
91
|
new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash),
|
package/src/contract/index.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export * from './artifact_hash.js';
|
|
2
2
|
export * from './contract_address.js';
|
|
3
3
|
export * from './contract_class.js';
|
|
4
|
-
export * from './contract_class_metadata.js';
|
|
5
4
|
export * from './contract_class_id.js';
|
|
6
5
|
export * from './contract_deployment_data.js';
|
|
7
6
|
export * from './contract_instance.js';
|
|
8
|
-
export * from './contract_metadata.js';
|
|
9
7
|
export * from './contract_instance_update.js';
|
|
10
8
|
export * from './private_function.js';
|
|
11
9
|
export * from './private_function_membership_proof.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for deserialization bounds checking.
|
|
3
|
+
* These constants define maximum allowed sizes during deserialization
|
|
4
|
+
* to prevent DoS attacks via maliciously crafted messages.
|
|
5
|
+
*/
|
|
6
|
+
import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB } from '@aztec/constants';
|
|
7
|
+
|
|
8
|
+
/** Max transactions per block for deserialization validation */
|
|
9
|
+
export const MAX_TXS_PER_BLOCK = 2 ** 16;
|
|
10
|
+
|
|
11
|
+
/** Max committee size - theoretical max from bitmap design (256 bytes × 8 bits) */
|
|
12
|
+
export const MAX_COMMITTEE_SIZE = 2048;
|
|
13
|
+
|
|
14
|
+
/** Max blocks per checkpoint */
|
|
15
|
+
export const MAX_BLOCKS_PER_CHECKPOINT = 72;
|
|
16
|
+
|
|
17
|
+
/** Max tx effects per body (based on blob capacity per checkpoint) */
|
|
18
|
+
export const MAX_TX_EFFECTS_PER_BODY = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
|
|
19
|
+
|
|
20
|
+
/** Max block hash string length (hex: 0x + 64 chars, with generous headroom) */
|
|
21
|
+
export const MAX_BLOCK_HASH_STRING_LENGTH = 128;
|
|
@@ -80,6 +80,7 @@ export interface IFullNodeBlockBuilder {
|
|
|
80
80
|
buildBlock(
|
|
81
81
|
txs: Iterable<Tx> | AsyncIterable<Tx>,
|
|
82
82
|
l1ToL2Messages: Fr[],
|
|
83
|
+
previousCheckpointOutHashes: Fr[],
|
|
83
84
|
globalVariables: GlobalVariables,
|
|
84
85
|
options: PublicProcessorLimits,
|
|
85
86
|
fork?: MerkleTreeWriteOperations,
|
|
@@ -43,9 +43,6 @@ export interface ValidatorClientConfig {
|
|
|
43
43
|
/** Whether to re-execute transactions in a block proposal before attesting */
|
|
44
44
|
validatorReexecute: boolean;
|
|
45
45
|
|
|
46
|
-
/** Will re-execute until this many milliseconds are left in the slot */
|
|
47
|
-
validatorReexecuteDeadlineMs: number;
|
|
48
|
-
|
|
49
46
|
/** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
|
|
50
47
|
alwaysReexecuteBlockProposals?: boolean;
|
|
51
48
|
|
|
@@ -78,7 +75,6 @@ export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'v
|
|
|
78
75
|
disabledValidators: z.array(schemas.EthAddress),
|
|
79
76
|
attestationPollingIntervalMs: z.number().min(0),
|
|
80
77
|
validatorReexecute: z.boolean(),
|
|
81
|
-
validatorReexecuteDeadlineMs: z.number().min(0),
|
|
82
78
|
alwaysReexecuteBlockProposals: z.boolean().optional(),
|
|
83
79
|
fishermanMode: z.boolean().optional(),
|
|
84
80
|
skipCheckpointProposalValidation: z.boolean().optional(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OUT_HASH_TREE_LEAF_COUNT } from '@aztec/constants';
|
|
2
2
|
import type { EpochNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { SiblingPath, UnbalancedMerkleTreeCalculator, computeUnbalancedShaRoot } from '@aztec/foundation/trees';
|
|
@@ -165,10 +165,12 @@ export function computeL2ToL1MembershipWitnessFromMessagesInEpoch(
|
|
|
165
165
|
});
|
|
166
166
|
// Pad to AZTEC_MAX_EPOCH_DURATION with zeros.
|
|
167
167
|
checkpointOutHashes = checkpointOutHashes.concat(
|
|
168
|
-
Array.from({ length:
|
|
168
|
+
Array.from({ length: OUT_HASH_TREE_LEAF_COUNT - messagesInEpoch.length }, () => Buffer.alloc(32)),
|
|
169
169
|
);
|
|
170
170
|
|
|
171
|
-
// Build the epoch tree with all the checkpoint out hashes, including the padded zeros
|
|
171
|
+
// Build the epoch tree with all the checkpoint out hashes, including the padded zeros.
|
|
172
|
+
// Note: The epoch tree is actually a balanced tree, but we use an unbalanced tree calculator here to avoid turning
|
|
173
|
+
// this function into async.
|
|
172
174
|
const epochTree = UnbalancedMerkleTreeCalculator.create(checkpointOutHashes);
|
|
173
175
|
// Get the sibling path of the checkpoint out hash in the epoch tree.
|
|
174
176
|
const pathToCheckpointOutHashInEpochTree = epochTree.getSiblingPathByLeafIndex(checkpointIndex);
|