@aztec/stdlib 0.0.1-commit.1142ef1 → 0.0.1-commit.1bea0213
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 +62 -62
- 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/block_hash.d.ts +16 -9
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +23 -8
- package/dest/block/block_parameter.d.ts +4 -3
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -0
- 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 +20 -137
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +7 -45
- package/dest/block/in_block.d.ts +8 -8
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +4 -4
- package/dest/block/index.d.ts +1 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -2
- package/dest/block/l2_block.d.ts +55 -59
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +64 -109
- package/dest/block/l2_block_source.d.ts +63 -38
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +2 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +2 -7
- 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 +30 -20
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +18 -6
- package/dest/checkpoint/published_checkpoint.d.ts +17 -15
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +4 -3
- package/dest/config/node-rpc-config.js +1 -1
- 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/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +1 -2
- package/dest/database-version/version_manager.d.ts +4 -2
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
- 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/epoch-helpers/index.js +1 -1
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/interfaces/api_limit.d.ts +2 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +1 -0
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +16 -14
- package/dest/interfaces/aztec-node-admin.d.ts +56 -26
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +61 -43
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +7 -9
- package/dest/interfaces/block-builder.d.ts +16 -14
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +8 -8
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +3 -3
- package/dest/interfaces/l2_logs_source.d.ts +14 -5
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +10 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -1
- package/dest/interfaces/proving-job.d.ts +14 -14
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +69 -13
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +2 -2
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
- 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 +7 -5
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/log_id.d.ts +10 -6
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +5 -5
- 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 +14 -6
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +25 -7
- 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 +11 -5
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +17 -5
- package/dest/p2p/consensus_payload.d.ts +4 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +0 -3
- package/dest/p2p/constants.d.ts +3 -0
- package/dest/p2p/constants.d.ts.map +1 -0
- package/dest/p2p/constants.js +2 -0
- package/dest/p2p/index.d.ts +2 -1
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -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 +2 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +6 -15
- package/dest/tests/jest.js +1 -1
- package/dest/tests/mocks.d.ts +15 -13
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +41 -24
- 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 +14 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +5 -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 +3 -3
- package/dest/tx/indexed_tx_effect.d.ts +4 -4
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +2 -2
- 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 +23 -2
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +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/profiling.d.ts +149 -26
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +44 -7
- 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 +24 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +6 -3
- 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 +47 -13
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +46 -15
- package/dest/tx/tx_request.d.ts +6 -1
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +2 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +2 -0
- 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/dest/zkpassport/index.d.ts +3 -4
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +9 -9
- package/package.json +12 -10
- package/src/abi/utils.ts +17 -0
- package/src/block/block_hash.ts +36 -10
- package/src/block/block_parameter.ts +4 -2
- package/src/block/body.ts +2 -1
- package/src/block/checkpointed_l2_block.ts +8 -58
- package/src/block/in_block.ts +5 -5
- package/src/block/index.ts +0 -2
- package/src/block/l2_block.ts +101 -149
- package/src/block/l2_block_source.ts +69 -41
- package/src/block/l2_block_stream/interfaces.ts +8 -5
- package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
- package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
- package/src/block/test/l2_tips_store_test_suite.ts +4 -9
- package/src/block/validate_block_result.ts +5 -4
- package/src/checkpoint/checkpoint.ts +33 -11
- package/src/checkpoint/published_checkpoint.ts +4 -3
- package/src/config/node-rpc-config.ts +1 -1
- package/src/contract/index.ts +0 -2
- package/src/contract/private_function.ts +1 -2
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
- package/src/deserialization/index.ts +21 -0
- package/src/epoch-helpers/index.ts +1 -1
- package/src/interfaces/api_limit.ts +1 -0
- package/src/interfaces/archiver.ts +16 -23
- package/src/interfaces/aztec-node.ts +76 -74
- package/src/interfaces/block-builder.ts +31 -24
- package/src/interfaces/configs.ts +1 -3
- package/src/interfaces/l2_logs_source.ts +17 -4
- package/src/interfaces/prover-client.ts +15 -0
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +8 -9
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
- package/src/logs/log_id.ts +6 -6
- 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 +27 -11
- package/src/p2p/checkpoint_proposal.ts +20 -9
- package/src/p2p/consensus_payload.ts +0 -5
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/index.ts +1 -0
- package/src/p2p/message_validator.ts +14 -2
- 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 +6 -26
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +56 -38
- package/src/tx/block_header.ts +11 -3
- package/src/tx/indexed_tx_effect.ts +2 -2
- package/src/tx/private_execution_result.ts +1 -1
- package/src/tx/profiling.ts +46 -4
- package/src/tx/tx.ts +8 -9
- package/src/tx/tx_effect.ts +0 -9
- package/src/tx/tx_receipt.ts +75 -18
- package/src/tx/validator/error_texts.ts +3 -0
- package/src/zkpassport/index.ts +11 -12
- package/dest/block/l2_block_code_to_purge.d.ts +0 -11
- package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
- package/dest/block/l2_block_code_to_purge.js +0 -55
- package/dest/block/l2_block_header.d.ts +0 -94
- package/dest/block/l2_block_header.d.ts.map +0 -1
- package/dest/block/l2_block_header.js +0 -160
- package/dest/block/l2_block_new.d.ts +0 -134
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/block/l2_block_new.js +0 -155
- 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/block/l2_block_code_to_purge.ts +0 -80
- package/src/block/l2_block_header.ts +0 -255
- package/src/block/l2_block_new.ts +0 -211
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IAZd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CACzB,aAAa,EACb,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,gBAAgB,GAAG,uBAAuB,CAC1F,EACO,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iHAAiH;QACjH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBA0KnB;YAOa,qBAAqB;IAwBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
|
|
@@ -3,6 +3,7 @@ import { AbortError } from '@aztec/foundation/error';
|
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
5
5
|
import { makeL2BlockId } from '../l2_block_source.js';
|
|
6
|
+
/** Maximum number of checkpoints to prefetch at once during sync. Matches MAX_RPC_CHECKPOINTS_LEN. */ export const CHECKPOINT_PREFETCH_LIMIT = 50;
|
|
6
7
|
/** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */ export class L2BlockStream {
|
|
7
8
|
l2BlockSource;
|
|
8
9
|
localData;
|
|
@@ -70,18 +71,9 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
70
71
|
throw new Error(`Block hash not found in block source for block number ${latestBlockNumber}`);
|
|
71
72
|
}
|
|
72
73
|
this.log.verbose(`Reorg detected. Pruning blocks from ${latestBlockNumber + 1} to ${localTips.proposed.number}.`);
|
|
73
|
-
// This check is not 100% accurate
|
|
74
|
-
// If the local tips are sufficiently behind the source tips, such that we are missing at least one checkpoint
|
|
75
|
-
// that has now been re-orged due to a proof failure then this will indicate a failure to checkpoint rather than a failure to prove
|
|
76
|
-
// TODO: (mbps/PhilWindle): Improve re-org detection accuracy when we come to do re-orgs
|
|
77
|
-
let reason = 'unproven';
|
|
78
|
-
if (latestBlockNumber === localTips.checkpointed.block.number && !this.opts.ignoreCheckpoints) {
|
|
79
|
-
reason = 'uncheckpointed';
|
|
80
|
-
}
|
|
81
74
|
await this.emitEvent({
|
|
82
75
|
type: 'chain-pruned',
|
|
83
76
|
block: makeL2BlockId(latestBlockNumber, hash),
|
|
84
|
-
reason,
|
|
85
77
|
checkpoint: sourceTips.checkpointed.checkpoint
|
|
86
78
|
});
|
|
87
79
|
}
|
|
@@ -114,7 +106,7 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
114
106
|
if (!this.opts.ignoreCheckpoints) {
|
|
115
107
|
let loop1Iterations = 0;
|
|
116
108
|
while(nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number){
|
|
117
|
-
const checkpoints = await this.l2BlockSource.
|
|
109
|
+
const checkpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointToEmit, 1);
|
|
118
110
|
if (checkpoints.length === 0) {
|
|
119
111
|
break;
|
|
120
112
|
}
|
|
@@ -136,25 +128,32 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
136
128
|
nextCheckpointToEmit = CheckpointNumber(nextCheckpointToEmit + 1);
|
|
137
129
|
}
|
|
138
130
|
}
|
|
139
|
-
// Loop 2: Fetch new checkpointed blocks. For each
|
|
131
|
+
// Loop 2: Fetch new checkpointed blocks. For each checkpoint, emit all blocks
|
|
140
132
|
// from that checkpoint that we need, then emit the checkpoint event.
|
|
141
|
-
// We
|
|
142
|
-
let
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
133
|
+
// We prefetch multiple checkpoints, then process them one by one.
|
|
134
|
+
let prefetchedCheckpoints = [];
|
|
135
|
+
let prefetchIdx = 0;
|
|
136
|
+
let nextCheckpointNumber;
|
|
137
|
+
// Find the starting checkpoint number
|
|
138
|
+
if (nextBlockNumber <= sourceTips.checkpointed.block.number) {
|
|
139
|
+
const blocks = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(nextBlockNumber), 1);
|
|
140
|
+
if (blocks.length > 0) {
|
|
141
|
+
nextCheckpointNumber = blocks[0].checkpointNumber;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
while(nextBlockNumber <= sourceTips.checkpointed.block.number && nextCheckpointNumber !== undefined){
|
|
145
|
+
// Refill the prefetch buffer when exhausted
|
|
146
|
+
if (prefetchIdx >= prefetchedCheckpoints.length) {
|
|
147
|
+
const prefetchLimit = this.opts.checkpointPrefetchLimit ?? CHECKPOINT_PREFETCH_LIMIT;
|
|
148
|
+
prefetchedCheckpoints = await this.l2BlockSource.getCheckpoints(nextCheckpointNumber, prefetchLimit);
|
|
149
|
+
prefetchIdx = 0;
|
|
150
|
+
if (prefetchedCheckpoints.length === 0) {
|
|
153
151
|
break;
|
|
154
152
|
}
|
|
155
|
-
checkpoint = checkpoints[0];
|
|
156
153
|
}
|
|
154
|
+
const checkpoint = prefetchedCheckpoints[prefetchIdx];
|
|
157
155
|
// Get all blocks from this checkpoint that we need, respecting batchSize
|
|
156
|
+
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
|
|
158
157
|
const blocksForCheckpoint = checkpoint.checkpoint.blocks.filter((b)=>b.number >= nextBlockNumber).slice(0, limit);
|
|
159
158
|
if (blocksForCheckpoint.length === 0) {
|
|
160
159
|
break;
|
|
@@ -164,22 +163,26 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
164
163
|
blocks: blocksForCheckpoint
|
|
165
164
|
});
|
|
166
165
|
nextBlockNumber = blocksForCheckpoint.at(-1).number + 1;
|
|
167
|
-
// If we've reached the end of this checkpoint, emit the checkpoint event
|
|
166
|
+
// If we've reached the end of this checkpoint, emit the checkpoint event and move to next
|
|
168
167
|
const lastBlockInCheckpoint = checkpoint.checkpoint.blocks.at(-1);
|
|
169
|
-
if (
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
168
|
+
if (nextBlockNumber > lastBlockInCheckpoint.number) {
|
|
169
|
+
if (!this.opts.ignoreCheckpoints) {
|
|
170
|
+
const lastBlockHash = await lastBlockInCheckpoint.hash();
|
|
171
|
+
await this.emitEvent({
|
|
172
|
+
type: 'chain-checkpointed',
|
|
173
|
+
checkpoint,
|
|
174
|
+
block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString())
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
prefetchIdx++;
|
|
178
|
+
nextCheckpointNumber = CheckpointNumber(nextCheckpointNumber + 1);
|
|
176
179
|
}
|
|
177
180
|
}
|
|
178
181
|
// Loop 3: Fetch any remaining uncheckpointed (proposed) blocks.
|
|
179
182
|
while(nextBlockNumber <= sourceTips.proposed.number){
|
|
180
183
|
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
|
|
181
|
-
this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}
|
|
182
|
-
const blocks = await this.l2BlockSource.
|
|
184
|
+
this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
|
|
185
|
+
const blocks = await this.l2BlockSource.getBlocks(BlockNumber(nextBlockNumber), BlockNumber(limit));
|
|
183
186
|
if (blocks.length === 0) {
|
|
184
187
|
break;
|
|
185
188
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { L2Block } from '../l2_block.js';
|
|
4
4
|
import { type L2BlockTag, type L2Tips } from '../l2_block_source.js';
|
|
5
5
|
import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
|
|
6
6
|
/**
|
|
@@ -35,7 +35,7 @@ export declare abstract class L2TipsStoreBase implements L2BlockStreamEventHandl
|
|
|
35
35
|
getL2BlockHash(number: BlockNumber): Promise<string | undefined>;
|
|
36
36
|
getL2Tips(): Promise<L2Tips>;
|
|
37
37
|
handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
|
|
38
|
-
protected computeBlockHash(block:
|
|
38
|
+
protected computeBlockHash(block: L2Block): Promise<string>;
|
|
39
39
|
private getBlockId;
|
|
40
40
|
private getCheckpointId;
|
|
41
41
|
private handleBlocksAdded;
|
|
@@ -46,4 +46,4 @@ export declare abstract class L2TipsStoreBase implements L2BlockStreamEventHandl
|
|
|
46
46
|
private saveTag;
|
|
47
47
|
private saveCheckpoint;
|
|
48
48
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV9iYXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX3RpcHNfc3RvcmVfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBSUwsS0FBSyxVQUFVLEVBQ2YsS0FBSyxNQUFNLEVBQ1osTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJIOzs7R0FHRztBQUNILDhCQUFzQixlQUFnQixZQUFXLHlCQUF5QixFQUFFLDhCQUE4QjtJQUd4Ryw2Q0FBNkM7SUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTdFLDZDQUE2QztJQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBGLG9EQUFvRDtJQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RixvREFBb0Q7SUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2Rix5RUFBeUU7SUFDekUsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRiwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVoSCwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FDNUMsV0FBVyxFQUFFLFdBQVcsRUFDeEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQix5RkFBeUY7SUFDekYsU0FBUyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxRix1Q0FBdUM7SUFDdkMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRS9HLDBCQUEwQjtJQUMxQixTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEYsa0VBQWtFO0lBQ2xFLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlGLDRGQUE0RjtJQUM1RixTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSWxFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXRFO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FzQmxDO0lBRVksc0JBQXNCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FrQjVFO0lBR0QsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUxRDtZQUlhLFVBQVU7WUFZVixlQUFlO1lBaUJmLGlCQUFpQjtZQWFqQix1QkFBdUI7WUFVdkIsaUJBQWlCO1lBY2pCLGlCQUFpQjtZQVNqQixvQkFBb0I7WUFpQnBCLE9BQU87WUFPUCxjQUFjO0NBUzdCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"l2_tips_store_base.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_store_base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH;;;GAGG;AACH,8BAAsB,eAAgB,YAAW,yBAAyB,EAAE,8BAA8B;IAGxG,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE7E,6CAA6C;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7F,oDAAoD;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF,yEAAyE;IACzE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhH,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAC5C,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,yFAAyF;IACzF,SAAS,CAAC,QAAQ,CAAC,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1F,uCAAuC;IACvC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE/G,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtF,kEAAkE;IAClE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9F,4FAA4F;IAC5F,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAIlE,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEtE;IAEM,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAsBlC;IAEY,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5E;IAGD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1D;YAIa,UAAU;YAYV,eAAe;YAiBf,iBAAiB;YAajB,uBAAuB;YAUvB,iBAAiB;YAcjB,iBAAiB;YASjB,oBAAoB;YAiBpB,OAAO;YAOP,cAAc;CAS7B"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { L2TipsStore } from '../l2_block_stream/index.js';
|
|
2
2
|
export declare function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>): void;
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV90ZXN0X3N1aXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svdGVzdC9sMl90aXBzX3N0b3JlX3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0Qsd0JBQWdCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBdWdCeEUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QAugBxE"}
|
|
@@ -2,7 +2,7 @@ import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
|
|
|
2
2
|
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { times } from '@aztec/foundation/collection';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
|
-
import { GENESIS_CHECKPOINT_HEADER_HASH,
|
|
5
|
+
import { GENESIS_CHECKPOINT_HEADER_HASH, L2Block } from '@aztec/stdlib/block';
|
|
6
6
|
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
7
7
|
import { jestExpect as expect } from '@jest/expect';
|
|
8
8
|
export function testL2TipsStore(makeTipsStore) {
|
|
@@ -20,7 +20,7 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
20
20
|
blockToCheckpoint.clear();
|
|
21
21
|
});
|
|
22
22
|
const makeBlock = async (number)=>{
|
|
23
|
-
const block = await
|
|
23
|
+
const block = await L2Block.random(BlockNumber(number));
|
|
24
24
|
blockHashes.set(number, (await block.hash()).toString());
|
|
25
25
|
return block;
|
|
26
26
|
};
|
|
@@ -246,7 +246,6 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
246
246
|
await tipsStore.handleBlockStreamEvent({
|
|
247
247
|
type: 'chain-pruned',
|
|
248
248
|
block: makeBlockId(5),
|
|
249
|
-
reason: 'unproven',
|
|
250
249
|
checkpoint: {
|
|
251
250
|
number: CheckpointNumber.ZERO,
|
|
252
251
|
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
@@ -272,7 +271,6 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
272
271
|
await tipsStore.handleBlockStreamEvent({
|
|
273
272
|
type: 'chain-pruned',
|
|
274
273
|
block: makeTip(0),
|
|
275
|
-
reason: 'unproven',
|
|
276
274
|
checkpoint: {
|
|
277
275
|
number: CheckpointNumber.ZERO,
|
|
278
276
|
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
@@ -337,7 +335,6 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
337
335
|
await tipsStore.handleBlockStreamEvent({
|
|
338
336
|
type: 'chain-pruned',
|
|
339
337
|
block: makeBlockId(5),
|
|
340
|
-
reason: 'unproven',
|
|
341
338
|
checkpoint: {
|
|
342
339
|
number: CheckpointNumber.ZERO,
|
|
343
340
|
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
@@ -401,7 +398,6 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
401
398
|
await tipsStore.handleBlockStreamEvent({
|
|
402
399
|
type: 'chain-pruned',
|
|
403
400
|
block: makeBlockId(3),
|
|
404
|
-
reason: 'unproven',
|
|
405
401
|
checkpoint: {
|
|
406
402
|
number: CheckpointNumber.ZERO,
|
|
407
403
|
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
@@ -482,7 +478,6 @@ export function testL2TipsStore(makeTipsStore) {
|
|
|
482
478
|
await tipsStore.handleBlockStreamEvent({
|
|
483
479
|
type: 'chain-pruned',
|
|
484
480
|
block: makeBlockId(3),
|
|
485
|
-
reason: 'unproven',
|
|
486
481
|
checkpoint: {
|
|
487
482
|
number: CheckpointNumber.ZERO,
|
|
488
483
|
hash: GENESIS_CHECKPOINT_HEADER_HASH.toString()
|
|
@@ -47,4 +47,4 @@ export type ValidateCheckpointResult = {
|
|
|
47
47
|
export declare const ValidateCheckpointResultSchema: ZodFor<ValidateCheckpointResult>;
|
|
48
48
|
export declare function serializeValidateCheckpointResult(result: ValidateCheckpointResult): Buffer;
|
|
49
49
|
export declare function deserializeValidateCheckpointResult(bufferOrReader: Buffer | BufferReader): ValidateCheckpointResult;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVfYmxvY2tfcmVzdWx0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svdmFsaWRhdGVfYmxvY2tfcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUlwQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTNFLHdEQUF3RDtBQUN4RCxNQUFNLE1BQU0sZ0NBQWdDLEdBQ3hDO0lBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNiLDhDQUE4QztJQUM5QyxVQUFVLEVBQUUsY0FBYyxDQUFDO0lBQzNCLGtFQUFrRTtJQUNsRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDeEIsa0RBQWtEO0lBQ2xELEtBQUssRUFBRSxXQUFXLENBQUM7SUFDbkIsNENBQTRDO0lBQzVDLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixvRUFBb0U7SUFDcEUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLDJFQUEyRTtJQUMzRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztJQUNyQyxtRkFBbUY7SUFDbkYsTUFBTSxFQUFFLDJCQUEyQixDQUFDO0NBQ3JDLEdBQ0Q7SUFDRSxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQ2IsOENBQThDO0lBQzlDLFVBQVUsRUFBRSxjQUFjLENBQUM7SUFDM0Isa0VBQWtFO0lBQ2xFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN4QixrREFBa0Q7SUFDbEQsS0FBSyxFQUFFLFdBQVcsQ0FBQztJQUNuQiw0Q0FBNEM7SUFDNUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLG9FQUFvRTtJQUNwRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDeEIsMkVBQTJFO0lBQzNFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLGlGQUFpRjtJQUNqRixNQUFNLEVBQUUscUJBQXFCLENBQUM7SUFDOUIsd0VBQXdFO0lBQ3hFLFlBQVksRUFBRSxNQUFNLENBQUM7Q0FDdEIsQ0FBQztBQUVOLHlEQUF5RDtBQUN6RCxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFBO0NBQUUsR0FBRyxnQ0FBZ0MsQ0FBQztBQUUxRixlQUFPLE1BQU0sOEJBQThCLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQXVCMUUsQ0FBQztBQUVILHdCQUFnQixpQ0FBaUMsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLEdBQUcsTUFBTSxDQXFCMUY7QUFFRCx3QkFBZ0IsbUNBQW1DLENBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsd0JBQXdCLENBc0JuSCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_block_result.d.ts","sourceRoot":"","sources":["../../src/block/validate_block_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"validate_block_result.d.ts","sourceRoot":"","sources":["../../src/block/validate_block_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,wDAAwD;AACxD,MAAM,MAAM,gCAAgC,GACxC;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,mFAAmF;IACnF,MAAM,EAAE,2BAA2B,CAAC;CACrC,GACD;IACE,KAAK,EAAE,KAAK,CAAC;IACb,8CAA8C;IAC9C,UAAU,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,iFAAiF;IACjF,MAAM,EAAE,qBAAqB,CAAC;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,gCAAgC,CAAC;AAE1F,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,wBAAwB,CAuB1E,CAAC;AAEH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAqB1F;AAED,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,GAAG,wBAAwB,CAsBnH"}
|
|
@@ -4,6 +4,7 @@ import { schemas } from '@aztec/foundation/schemas';
|
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { CheckpointInfoSchema, deserializeCheckpointInfo, serializeCheckpointInfo } from '../checkpoint/checkpoint_info.js';
|
|
7
|
+
import { MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
|
|
7
8
|
import { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
8
9
|
export const ValidateCheckpointResultSchema = z.union([
|
|
9
10
|
z.object({
|
|
@@ -46,13 +47,13 @@ export function deserializeValidateCheckpointResult(bufferOrReader) {
|
|
|
46
47
|
valid
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
|
-
const reason = reader.readString();
|
|
50
|
+
const reason = reader.readString(64);
|
|
50
51
|
const checkpoint = deserializeCheckpointInfo(reader.readBuffer());
|
|
51
|
-
const committee = reader.readVector(EthAddress);
|
|
52
|
+
const committee = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
|
|
52
53
|
const epoch = EpochNumber(reader.readNumber());
|
|
53
54
|
const seed = reader.readBigInt();
|
|
54
|
-
const attestors = reader.readVector(EthAddress);
|
|
55
|
-
const attestations = reader.readVector(CommitteeAttestation);
|
|
55
|
+
const attestors = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
|
|
56
|
+
const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
|
|
56
57
|
const invalidIndex = reader.readNumber();
|
|
57
58
|
if (reason === 'insufficient-attestations') {
|
|
58
59
|
return {
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
1
|
+
import { CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import {
|
|
6
|
+
import { L2Block } from '../block/l2_block.js';
|
|
7
7
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
8
8
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
9
9
|
import type { CheckpointInfo } from './checkpoint_info.js';
|
|
10
|
+
type FieldsOfCheckpoint = Omit<FieldsOf<Checkpoint>, 'slot'>;
|
|
10
11
|
export declare class Checkpoint {
|
|
12
|
+
/** Snapshot of archive tree after the checkpoint is added. */
|
|
11
13
|
archive: AppendOnlyTreeSnapshot;
|
|
14
|
+
/** Header of the checkpoint. */
|
|
12
15
|
header: CheckpointHeader;
|
|
13
|
-
blocks
|
|
16
|
+
/** L2 blocks in the checkpoint. */
|
|
17
|
+
blocks: L2Block[];
|
|
18
|
+
/** Number of the checkpoint. */
|
|
14
19
|
number: CheckpointNumber;
|
|
15
20
|
constructor(
|
|
16
21
|
/** Snapshot of archive tree after the checkpoint is added. */
|
|
@@ -18,9 +23,10 @@ export declare class Checkpoint {
|
|
|
18
23
|
/** Header of the checkpoint. */
|
|
19
24
|
header: CheckpointHeader,
|
|
20
25
|
/** L2 blocks in the checkpoint. */
|
|
21
|
-
blocks:
|
|
26
|
+
blocks: L2Block[],
|
|
22
27
|
/** Number of the checkpoint. */
|
|
23
28
|
number: CheckpointNumber);
|
|
29
|
+
get slot(): SlotNumber;
|
|
24
30
|
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
25
31
|
archive: z.ZodEffects<z.ZodObject<{
|
|
26
32
|
root: z.ZodType<Fr, any, string>;
|
|
@@ -35,7 +41,7 @@ export declare class Checkpoint {
|
|
|
35
41
|
root: string;
|
|
36
42
|
nextAvailableLeafIndex: string | number | bigint;
|
|
37
43
|
}>;
|
|
38
|
-
header: import("
|
|
44
|
+
header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
|
|
39
45
|
blocks: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
40
46
|
archive: z.ZodEffects<z.ZodObject<{
|
|
41
47
|
root: z.ZodType<Fr, any, string>;
|
|
@@ -50,10 +56,10 @@ export declare class Checkpoint {
|
|
|
50
56
|
root: string;
|
|
51
57
|
nextAvailableLeafIndex: string | number | bigint;
|
|
52
58
|
}>;
|
|
53
|
-
header: import("
|
|
54
|
-
body: import("
|
|
59
|
+
header: import("@aztec/foundation/schemas").ZodFor<import("../tx/block_header.js").BlockHeader>;
|
|
60
|
+
body: import("@aztec/foundation/schemas").ZodFor<import("../block/body.js").Body>;
|
|
55
61
|
checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
56
|
-
indexWithinCheckpoint: z.ZodNumber
|
|
62
|
+
indexWithinCheckpoint: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, IndexWithinCheckpoint, string | number | bigint>;
|
|
57
63
|
}, "strip", z.ZodTypeAny, {
|
|
58
64
|
archive: AppendOnlyTreeSnapshot;
|
|
59
65
|
header: import("../tx/block_header.js").BlockHeader;
|
|
@@ -61,7 +67,9 @@ export declare class Checkpoint {
|
|
|
61
67
|
checkpointNumber: number & {
|
|
62
68
|
_branding: "CheckpointNumber";
|
|
63
69
|
};
|
|
64
|
-
indexWithinCheckpoint: number
|
|
70
|
+
indexWithinCheckpoint: number & {
|
|
71
|
+
_branding: "IndexWithinCheckpoint";
|
|
72
|
+
};
|
|
65
73
|
}, {
|
|
66
74
|
archive: {
|
|
67
75
|
root: string;
|
|
@@ -70,8 +78,8 @@ export declare class Checkpoint {
|
|
|
70
78
|
header?: any;
|
|
71
79
|
body?: any;
|
|
72
80
|
checkpointNumber: string | number | bigint;
|
|
73
|
-
indexWithinCheckpoint: number;
|
|
74
|
-
}>,
|
|
81
|
+
indexWithinCheckpoint: string | number | bigint;
|
|
82
|
+
}>, L2Block, {
|
|
75
83
|
archive: {
|
|
76
84
|
root: string;
|
|
77
85
|
nextAvailableLeafIndex: string | number | bigint;
|
|
@@ -79,13 +87,13 @@ export declare class Checkpoint {
|
|
|
79
87
|
header?: any;
|
|
80
88
|
body?: any;
|
|
81
89
|
checkpointNumber: string | number | bigint;
|
|
82
|
-
indexWithinCheckpoint: number;
|
|
90
|
+
indexWithinCheckpoint: string | number | bigint;
|
|
83
91
|
}>, "many">;
|
|
84
92
|
number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
|
|
85
93
|
}, "strip", z.ZodTypeAny, {
|
|
86
94
|
archive: AppendOnlyTreeSnapshot;
|
|
87
95
|
header: CheckpointHeader;
|
|
88
|
-
blocks:
|
|
96
|
+
blocks: L2Block[];
|
|
89
97
|
number: number & {
|
|
90
98
|
_branding: "CheckpointNumber";
|
|
91
99
|
};
|
|
@@ -103,7 +111,7 @@ export declare class Checkpoint {
|
|
|
103
111
|
header?: any;
|
|
104
112
|
body?: any;
|
|
105
113
|
checkpointNumber: string | number | bigint;
|
|
106
|
-
indexWithinCheckpoint: number;
|
|
114
|
+
indexWithinCheckpoint: string | number | bigint;
|
|
107
115
|
}[];
|
|
108
116
|
number: string | number | bigint;
|
|
109
117
|
}>, Checkpoint, {
|
|
@@ -120,16 +128,17 @@ export declare class Checkpoint {
|
|
|
120
128
|
header?: any;
|
|
121
129
|
body?: any;
|
|
122
130
|
checkpointNumber: string | number | bigint;
|
|
123
|
-
indexWithinCheckpoint: number;
|
|
131
|
+
indexWithinCheckpoint: string | number | bigint;
|
|
124
132
|
}[];
|
|
125
133
|
number: string | number | bigint;
|
|
126
134
|
}>;
|
|
127
|
-
static from(fields:
|
|
128
|
-
static getFields(fields:
|
|
135
|
+
static from(fields: FieldsOfCheckpoint): Checkpoint;
|
|
136
|
+
static getFields(fields: FieldsOfCheckpoint): readonly [AppendOnlyTreeSnapshot, CheckpointHeader, L2Block[], CheckpointNumber];
|
|
129
137
|
static fromBuffer(buf: Buffer | BufferReader): Checkpoint;
|
|
130
138
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
131
139
|
toBlobFields(): Fr[];
|
|
132
140
|
hash(): Fr;
|
|
141
|
+
getCheckpointOutHash(): Fr;
|
|
133
142
|
getState(): import("../tx/state_reference.js").StateReference;
|
|
134
143
|
toCheckpointInfo(): CheckpointInfo;
|
|
135
144
|
/** Returns stats used for logging */
|
|
@@ -140,7 +149,7 @@ export declare class Checkpoint {
|
|
|
140
149
|
contractClassLogSize: number;
|
|
141
150
|
txCount: number;
|
|
142
151
|
blockCount: number;
|
|
143
|
-
slotNumber:
|
|
152
|
+
slotNumber: SlotNumber;
|
|
144
153
|
checkpointNumber: CheckpointNumber;
|
|
145
154
|
timestamp: bigint;
|
|
146
155
|
};
|
|
@@ -148,6 +157,7 @@ export declare class Checkpoint {
|
|
|
148
157
|
numBlocks?: number;
|
|
149
158
|
startBlockNumber?: number;
|
|
150
159
|
previousArchive?: AppendOnlyTreeSnapshot;
|
|
151
|
-
} & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof
|
|
160
|
+
} & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<Checkpoint>;
|
|
152
161
|
}
|
|
153
|
-
|
|
162
|
+
export {};
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQVJqQztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCLEVBQzdCO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVNoQjtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixjQUVyQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLGtCQUFrQixvRkFFMUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxjQVEzQztJQUVNLFFBQVEsNEJBRWQ7SUFFTSxZQUFZLElBQUksRUFBRSxFQUFFLENBRzFCO0lBRU0sSUFBSSxJQUFJLEVBQUUsQ0FFaEI7SUFLTSxvQkFBb0IsSUFBSSxFQUFFLENBR2hDO0lBRU0sUUFBUSxzREFFZDtJQUVNLGdCQUFnQixJQUFJLGNBQWMsQ0FReEM7SUFFRCxxQ0FBcUM7SUFDOUIsUUFBUTs7Ozs7Ozs7OztNQWtCZDtJQUVELE9BQWEsTUFBTSxDQUNqQixnQkFBZ0IsbUJBQXNCLEVBQ3RDLEVBQ0UsU0FBYSxFQUNiLGdCQUFvQixFQUNwQixlQUFlLEVBQ2YsR0FBRyxPQUFPLEVBQ1gsR0FBRTtRQUNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMxQixlQUFlLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztLQUMxQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLHVCQW1CckQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IARjC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB,EAC7B;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAShB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,oFAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BAEd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAKM,oBAAoB,IAAI,EAAE,CAGhC;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;KAC1C,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBAmBrD;CACF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
|
|
2
|
-
import { BlockNumber, CheckpointNumber, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { BlockNumber, CheckpointNumber, CheckpointNumberSchema, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { sum } from '@aztec/foundation/collection';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import {
|
|
6
|
+
import { L2Block } from '../block/l2_block.js';
|
|
7
|
+
import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
|
|
8
|
+
import { computeCheckpointOutHash } from '../messaging/out_hash.js';
|
|
7
9
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
8
10
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
9
11
|
export class Checkpoint {
|
|
@@ -17,11 +19,14 @@ export class Checkpoint {
|
|
|
17
19
|
this.blocks = blocks;
|
|
18
20
|
this.number = number;
|
|
19
21
|
}
|
|
22
|
+
get slot() {
|
|
23
|
+
return this.header.slotNumber;
|
|
24
|
+
}
|
|
20
25
|
static get schema() {
|
|
21
26
|
return z.object({
|
|
22
27
|
archive: AppendOnlyTreeSnapshot.schema,
|
|
23
28
|
header: CheckpointHeader.schema,
|
|
24
|
-
blocks: z.array(
|
|
29
|
+
blocks: z.array(L2Block.schema),
|
|
25
30
|
number: CheckpointNumberSchema
|
|
26
31
|
}).transform(({ archive, header, blocks, number })=>new Checkpoint(archive, header, blocks, number));
|
|
27
32
|
}
|
|
@@ -38,7 +43,7 @@ export class Checkpoint {
|
|
|
38
43
|
}
|
|
39
44
|
static fromBuffer(buf) {
|
|
40
45
|
const reader = BufferReader.asReader(buf);
|
|
41
|
-
return new Checkpoint(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(CheckpointHeader), reader.readVector(
|
|
46
|
+
return new Checkpoint(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(CheckpointHeader), reader.readVector(L2Block, MAX_BLOCKS_PER_CHECKPOINT), CheckpointNumber(reader.readNumber()));
|
|
42
47
|
}
|
|
43
48
|
toBuffer() {
|
|
44
49
|
return serializeToBuffer(this.archive, this.header, this.blocks.length, this.blocks, this.number);
|
|
@@ -50,6 +55,13 @@ export class Checkpoint {
|
|
|
50
55
|
hash() {
|
|
51
56
|
return this.header.hash();
|
|
52
57
|
}
|
|
58
|
+
// Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
|
|
59
|
+
// Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
|
|
60
|
+
// checkpoints up to and including this one in the epoch.
|
|
61
|
+
getCheckpointOutHash() {
|
|
62
|
+
const msgs = this.blocks.map((block)=>block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
|
|
63
|
+
return computeCheckpointOutHash(msgs);
|
|
64
|
+
}
|
|
53
65
|
getState() {
|
|
54
66
|
return this.blocks.at(-1).header.state;
|
|
55
67
|
}
|
|
@@ -86,8 +98,8 @@ export class Checkpoint {
|
|
|
86
98
|
const blocks = [];
|
|
87
99
|
let lastArchive = previousArchive;
|
|
88
100
|
for(let i = 0; i < numBlocks; i++){
|
|
89
|
-
const block = await
|
|
90
|
-
indexWithinCheckpoint: i,
|
|
101
|
+
const block = await L2Block.random(BlockNumber(startBlockNumber + i), {
|
|
102
|
+
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
91
103
|
...options,
|
|
92
104
|
...lastArchive ? {
|
|
93
105
|
lastArchive
|