@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.c7c42ec
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +693 -110
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +9 -9
- package/dest/abi/authorization_selector.d.ts +2 -2
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/authorization_selector.js +2 -1
- package/dest/abi/buffer.d.ts +2 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +1 -1
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.js +3 -3
- package/dest/abi/decoder.d.ts +2 -2
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/encoder.d.ts +2 -2
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +1 -1
- package/dest/abi/event_metadata_definition.d.ts +1 -1
- package/dest/abi/event_selector.d.ts +2 -2
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +2 -1
- package/dest/abi/function_call.d.ts +2 -10
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +3 -2
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +9 -1
- package/dest/abi/index.d.ts +1 -1
- package/dest/abi/mocked_keys.d.ts +1 -1
- package/dest/abi/note_selector.d.ts +2 -2
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +2 -2
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -3
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +2 -2
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +4253 -1909
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +591 -16
- package/dest/avm/avm_accumulated_data.d.ts +26 -37
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +19 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +161 -149
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +10 -1
- package/dest/avm/avm_proving_request.d.ts +2031 -1507
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +2 -14
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.js +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +2 -14
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.js +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/message_pack.d.ts +2 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +5 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts +2 -4
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.js +1 -1
- package/dest/avm/public_data_read.d.ts +2 -11
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_read.js +1 -1
- package/dest/avm/public_data_update_request.d.ts +2 -11
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.js +1 -1
- package/dest/avm/public_data_write.d.ts +14 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +10 -1
- package/dest/avm/public_inner_call_request.d.ts +2 -5
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +17 -8
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +25 -9
- package/dest/aztec-address/index.d.ts +12 -2
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +26 -3
- package/dest/block/attestation_info.d.ts +3 -1
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +5 -2
- package/dest/block/block_hash.d.ts +2 -2
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +1 -1
- package/dest/block/block_parameter.d.ts +5 -0
- package/dest/block/block_parameter.d.ts.map +1 -0
- package/dest/block/block_parameter.js +6 -0
- package/dest/block/body.d.ts +8 -8
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +11 -27
- package/dest/block/checkpointed_l2_block.d.ts +267 -0
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
- package/dest/block/checkpointed_l2_block.js +84 -0
- package/dest/block/in_block.d.ts +30 -19
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +17 -8
- package/dest/block/index.d.ts +4 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +3 -2
- package/dest/block/l2_block.d.ts +19 -11
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +58 -5
- package/dest/block/l2_block_code_to_purge.d.ts +2 -2
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +7 -6
- package/dest/block/l2_block_header.d.ts +13 -15
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +19 -12
- package/dest/block/l2_block_info.d.ts +22 -17
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +8 -7
- package/dest/block/l2_block_new.d.ts +135 -0
- package/dest/block/l2_block_new.d.ts.map +1 -0
- package/dest/block/l2_block_new.js +152 -0
- package/dest/block/l2_block_source.d.ts +121 -130
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +5 -11
- package/dest/block/l2_block_stream/index.d.ts +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +2 -2
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -6
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +13 -4
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -2
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +4 -2
- package/dest/block/proposal/attestations_and_signers.d.ts +17 -6
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +14 -0
- package/dest/block/proposal/committee_attestation.d.ts +2 -2
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +1 -1
- package/dest/block/test/index.d.ts +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 +9 -10
- package/dest/block/validate_block_result.d.ts +6 -178
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +4 -3
- package/dest/checkpoint/checkpoint.d.ts +153 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +100 -0
- package/dest/checkpoint/checkpoint_info.d.ts +9 -0
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_info.js +1 -0
- package/dest/checkpoint/index.d.ts +3 -2
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -1
- package/dest/checkpoint/published_checkpoint.d.ts +238 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/{block/published_l2_block.js → checkpoint/published_checkpoint.js} +34 -16
- package/dest/config/chain-config.d.ts +1 -1
- package/dest/config/index.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts +1 -1
- package/dest/contract/artifact_hash.d.ts +3 -3
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +2 -2
- package/dest/contract/complete_address.d.ts +2 -5
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +1 -1
- package/dest/contract/contract_address.d.ts +2 -2
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +2 -2
- package/dest/contract/contract_class.d.ts +2 -2
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +1 -1
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +3 -3
- package/dest/contract/contract_class_metadata.d.ts +1 -1
- package/dest/contract/contract_deployment_data.d.ts +119 -0
- package/dest/contract/contract_deployment_data.d.ts.map +1 -0
- package/dest/contract/contract_deployment_data.js +99 -0
- package/dest/contract/contract_function_dao.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts +2 -2
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +1 -1
- package/dest/contract/contract_instance_update.d.ts +2 -2
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.js +1 -1
- package/dest/contract/contract_metadata.d.ts +1 -1
- package/dest/contract/deployment_info.d.ts +2 -2
- package/dest/contract/deployment_info.d.ts.map +1 -1
- package/dest/contract/index.d.ts +2 -1
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +1 -0
- package/dest/contract/interfaces/contract_class.d.ts +54 -130
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +35 -18
- package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +50 -41
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +30 -5
- package/dest/contract/interfaces/contract_instance_update.d.ts +9 -10
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.js +5 -5
- package/dest/contract/interfaces/index.d.ts +1 -1
- package/dest/contract/interfaces/node-info.d.ts +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
- package/dest/contract/partial_address.d.ts +2 -2
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +2 -2
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +3 -2
- package/dest/contract/private_function_membership_proof.d.ts +2 -2
- package/dest/contract/private_function_membership_proof.js +3 -3
- package/dest/contract/utility_function_membership_proof.d.ts +1 -1
- package/dest/contract/utility_function_membership_proof.js +1 -1
- package/dest/database-version/index.d.ts +1 -1
- package/dest/database-version/version_manager.d.ts +6 -8
- 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 +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +1 -1
- package/dest/delayed_public_mutable/index.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +2 -2
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
- package/dest/epoch-helpers/index.d.ts +12 -11
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +13 -12
- package/dest/errors/index.d.ts +1 -1
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts +2 -2
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/fees/index.d.ts +1 -1
- package/dest/fees/transaction_fee.d.ts +2 -2
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/file-store/factory.d.ts +1 -1
- package/dest/file-store/gcs.d.ts +1 -1
- package/dest/file-store/gcs.d.ts.map +1 -1
- package/dest/file-store/http.d.ts +1 -1
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +8 -3
- package/dest/file-store/index.d.ts +1 -1
- package/dest/file-store/interface.d.ts +1 -1
- package/dest/file-store/local.d.ts +1 -1
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +3 -7
- package/dest/gas/gas.d.ts +10 -2
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +13 -1
- package/dest/gas/gas_fees.d.ts +10 -2
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +12 -0
- package/dest/gas/gas_settings.d.ts +10 -2
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +13 -1
- package/dest/gas/gas_used.d.ts +13 -2
- package/dest/gas/gas_used.d.ts.map +1 -1
- package/dest/gas/gas_used.js +19 -1
- package/dest/gas/index.d.ts +1 -1
- package/dest/hash/hash.d.ts +10 -10
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +12 -13
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +2 -2
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +1 -1
- package/dest/interfaces/allowed_element.d.ts +12 -13
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +3 -3
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts +12 -2
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +28 -17
- package/dest/interfaces/aztec-node-admin.d.ts +117 -91
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +1 -1
- package/dest/interfaces/aztec-node.d.ts +39 -41
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +30 -30
- package/dest/interfaces/block-builder.d.ts +6 -4
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +9 -1
- package/dest/interfaces/client.d.ts +1 -1
- package/dest/interfaces/configs.d.ts +75 -41
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +13 -6
- package/dest/interfaces/epoch-prover.d.ts +8 -8
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +24 -7
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.js +5 -4
- package/dest/interfaces/l2_logs_source.d.ts +12 -15
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +7 -6
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
- package/dest/interfaces/p2p.d.ts +3 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +1 -1
- package/dest/interfaces/private_kernel_prover.d.ts +1 -1
- package/dest/interfaces/processed-tx-handler.d.ts +1 -1
- package/dest/interfaces/prover-agent.d.ts +1 -1
- package/dest/interfaces/prover-broker.d.ts +1 -1
- package/dest/interfaces/prover-client.d.ts +9 -7
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +5 -4
- package/dest/interfaces/prover-coordination.d.ts +1 -1
- package/dest/interfaces/prover-node.d.ts +1 -1
- package/dest/interfaces/proving-job-source.d.ts +1 -1
- package/dest/interfaces/proving-job.d.ts +1682 -1165
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +3 -2
- package/dest/interfaces/public_state_source.d.ts +2 -2
- package/dest/interfaces/public_state_source.d.ts.map +1 -1
- package/dest/interfaces/server.d.ts +1 -1
- package/dest/interfaces/server_circuit_prover.d.ts +2 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +1 -1
- package/dest/interfaces/slasher.d.ts +3 -3
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +3 -3
- 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 +34 -27
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +7 -6
- package/dest/interfaces/world_state.d.ts +23 -31
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/interfaces/world_state.js +4 -3
- package/dest/kernel/claimed_length_array.d.ts +2 -2
- package/dest/kernel/claimed_length_array.d.ts.map +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +2 -2
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +2 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
- package/dest/kernel/hints/index.d.ts +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +2 -3
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +4 -4
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +2 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +2 -7
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.js +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
- package/dest/kernel/hints/read_request.d.ts +2 -8
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +1 -7
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +2 -2
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.js +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
- package/dest/kernel/index.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts +2 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +1 -1
- package/dest/kernel/note_hash.d.ts +2 -2
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.d.ts +2 -2
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/padded_side_effects.d.ts +2 -2
- package/dest/kernel/padded_side_effects.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.js +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +1 -23
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +2 -26
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +1 -1
- package/dest/kernel/private_call_request.d.ts +2 -17
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_call_request.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +51 -108
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +61 -49
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -30
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +9 -5
- package/dest/kernel/private_kernel_data.d.ts +1 -7
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +0 -2
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +8 -21
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +8 -4
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -24
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
- package/dest/kernel/private_log_data.d.ts +2 -2
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +18 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +19 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -2
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -2
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +2 -18
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +2 -17
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +1 -1
- package/dest/kernel/private_validation_requests.d.ts +2 -24
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +5 -13
- package/dest/kernel/public_call_request.d.ts +23 -28
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +19 -1
- package/dest/kernel/utils/index.d.ts +1 -1
- package/dest/kernel/utils/interfaces.d.ts +1 -1
- package/dest/kernel/utils/optional_number.d.ts +2 -8
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
- package/dest/keys/derivation.d.ts +4 -3
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +5 -2
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +1 -1
- package/dest/keys/public_key.d.ts +2 -2
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_keys.d.ts +11 -6
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +15 -2
- package/dest/keys/utils.d.ts +1 -1
- package/dest/l1-contracts/index.d.ts +1 -1
- package/dest/l1-contracts/slash_factory.d.ts +5 -4
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/l1-contracts/slash_factory.js +1 -1
- package/dest/logs/contract_class_log.d.ts +21 -5
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +26 -2
- package/dest/logs/debug_log.d.ts +10 -2
- package/dest/logs/debug_log.d.ts.map +1 -1
- package/dest/logs/debug_log.js +13 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +2 -2
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/directional_app_tagging_secret.js +3 -2
- package/dest/logs/extended_contract_class_log.d.ts +1 -3
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +13 -7
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +3 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +2 -1
- package/dest/logs/log_filter.d.ts +1 -1
- package/dest/logs/log_id.d.ts +16 -8
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +19 -11
- package/dest/logs/message_context.d.ts +2 -2
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +1 -1
- package/dest/logs/pending_tagged_log.d.ts +2 -2
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +1 -1
- package/dest/logs/pre_tag.d.ts +1 -1
- package/dest/logs/private_log.d.ts +11 -3
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +17 -7
- package/dest/logs/public_log.d.ts +11 -2
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +13 -1
- package/dest/logs/shared_secret_derivation.d.ts +2 -2
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +1 -1
- package/dest/logs/siloed_tag.d.ts +23 -0
- package/dest/logs/siloed_tag.d.ts.map +1 -0
- package/dest/logs/siloed_tag.js +30 -0
- package/dest/logs/tag.d.ts +21 -0
- package/dest/logs/tag.d.ts.map +1 -0
- package/dest/logs/tag.js +30 -0
- package/dest/logs/tx_scoped_l2_log.d.ts +32 -38
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +40 -45
- package/dest/messaging/in_hash.d.ts +4 -0
- package/dest/messaging/in_hash.d.ts.map +1 -0
- package/dest/messaging/in_hash.js +8 -0
- package/dest/messaging/inbox_leaf.d.ts +8 -9
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +10 -9
- package/dest/messaging/index.d.ts +3 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +2 -0
- package/dest/messaging/l1_actor.d.ts +2 -8
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_actor.js +2 -2
- package/dest/messaging/l1_to_l2_message.d.ts +2 -7
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +2 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts +6 -10
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +2 -8
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_actor.js +2 -2
- package/dest/messaging/l2_to_l1_membership.d.ts +5 -4
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +3 -3
- package/dest/messaging/l2_to_l1_message.d.ts +19 -2
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +22 -1
- package/dest/messaging/out_hash.d.ts +5 -0
- package/dest/messaging/out_hash.d.ts.map +1 -0
- package/dest/messaging/out_hash.js +28 -0
- package/dest/noir/index.d.ts +7 -7
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +6 -6
- package/dest/note/comparator.d.ts +1 -1
- package/dest/note/index.d.ts +2 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -1
- package/dest/note/note.d.ts +3 -18
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note.js +5 -2
- package/dest/note/note_dao.d.ts +79 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +112 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/note/notes_filter.d.ts +4 -2
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +1 -0
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/block_attestation.d.ts +6 -13
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +2 -1
- package/dest/p2p/block_proposal.d.ts +4 -7
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +3 -2
- package/dest/p2p/client_type.d.ts +1 -1
- package/dest/p2p/consensus_payload.d.ts +11 -189
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +17 -24
- package/dest/p2p/gossipable.d.ts +6 -5
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +16 -10
- package/dest/p2p/index.d.ts +1 -1
- package/dest/p2p/interface.d.ts +1 -1
- package/dest/p2p/message_validator.d.ts +1 -1
- package/dest/p2p/peer_error.d.ts +1 -1
- package/dest/p2p/signature_utils.d.ts +1 -1
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +2 -1
- package/dest/p2p/topic_type.d.ts +1 -1
- package/dest/parity/index.d.ts +1 -1
- package/dest/parity/parity_base_private_inputs.d.ts +2 -4
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +1 -1
- package/dest/parity/parity_public_inputs.d.ts +2 -5
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +1 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +2 -2
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +2 -2
- package/dest/proofs/index.d.ts +1 -1
- package/dest/proofs/proof.d.ts +2 -5
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof.js +1 -1
- package/dest/proofs/proof_data.d.ts +13 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proof_data.js +17 -0
- package/dest/proofs/proving_request_type.d.ts +1 -1
- package/dest/proofs/recursive_proof.d.ts +3 -27
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.js +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -5
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +1 -9
- package/dest/rollup/base_rollup_hints.d.ts +2 -35
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +1 -1
- package/dest/rollup/block_constant_data.d.ts +2 -13
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +1 -1
- package/dest/rollup/block_headers_hash.d.ts +4 -0
- package/dest/rollup/block_headers_hash.d.ts.map +1 -0
- package/dest/rollup/block_headers_hash.js +9 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +9 -41
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +9 -3
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +3 -77
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +2 -10
- package/dest/rollup/checkpoint_constant_data.d.ts +28 -14
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +29 -4
- package/dest/rollup/checkpoint_header.d.ts +22 -16
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +46 -16
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +2 -26
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +7 -30
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +6 -5
- package/dest/rollup/epoch_constant_data.d.ts +2 -17
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +1 -1
- package/dest/rollup/index.d.ts +2 -1
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.js +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.js +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +2 -4
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +2 -25
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.js +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -30
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.js +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +91 -17
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +14 -2
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +5 -4
- package/dest/slashing/helpers.d.ts +7 -6
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +8 -6
- package/dest/slashing/index.d.ts +1 -1
- package/dest/slashing/interfaces.d.ts +3 -2
- package/dest/slashing/interfaces.d.ts.map +1 -1
- package/dest/slashing/serialization.d.ts +1 -1
- package/dest/slashing/tally.d.ts +1 -1
- package/dest/slashing/types.d.ts +13 -14
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +5 -5
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/types.d.ts +18 -18
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/snapshots/types.js +5 -5
- package/dest/snapshots/upload.d.ts +1 -1
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +10 -6
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +60 -31
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +113 -156
- package/dest/tests/fixtures.d.ts +1 -1
- package/dest/tests/index.d.ts +1 -1
- package/dest/tests/jest.d.ts +1 -1
- package/dest/tests/mocks.d.ts +71 -27
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +196 -37
- package/dest/trees/append_only_tree_snapshot.d.ts +10 -17
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +10 -10
- package/dest/trees/database_public_state_source.d.ts +2 -2
- package/dest/trees/database_public_state_source.d.ts.map +1 -1
- package/dest/trees/database_public_state_source.js +1 -1
- package/dest/trees/index.d.ts +1 -1
- package/dest/trees/merkle_tree_id.d.ts +5 -5
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +18 -14
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +25 -1
- package/dest/trees/nullifier_membership_witness.d.ts +5 -38
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +1 -1
- package/dest/trees/public_data_leaf.d.ts +29 -28
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +25 -1
- package/dest/trees/public_data_witness.d.ts +12 -46
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +1 -1
- package/dest/tx/block_header.d.ts +15 -21
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +20 -4
- package/dest/tx/call_context.d.ts +7 -19
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +2 -5
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +1 -1
- package/dest/tx/content_commitment.d.ts +5 -4
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +11 -3
- package/dest/tx/execution_payload.d.ts +37 -0
- package/dest/tx/execution_payload.d.ts.map +1 -0
- package/dest/tx/execution_payload.js +40 -0
- package/dest/tx/function_data.d.ts +5 -7
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/function_data.js +1 -1
- package/dest/tx/global_variable_builder.d.ts +6 -3
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +58 -32
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +51 -11
- package/dest/tx/hashed_values.d.ts +2 -8
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +1 -1
- package/dest/tx/in_tx.d.ts +26 -0
- package/dest/tx/in_tx.d.ts.map +1 -0
- package/dest/tx/in_tx.js +14 -0
- package/dest/tx/index.d.ts +3 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +2 -0
- package/dest/tx/indexed_tx_effect.d.ts +12 -8
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +7 -4
- package/dest/tx/offchain_effect.d.ts +2 -2
- package/dest/tx/offchain_effect.d.ts.map +1 -1
- package/dest/tx/offchain_effect.js +1 -1
- package/dest/tx/partial_state_reference.d.ts +5 -8
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +10 -10
- package/dest/tx/private_execution_result.d.ts +18 -53
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +9 -6
- package/dest/tx/private_tx_constant_data.d.ts +2 -17
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +1 -1
- package/dest/tx/processed_tx.d.ts +5 -4
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +8 -7
- package/dest/tx/profiling.d.ts +38 -38
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +6 -5
- package/dest/tx/protocol_contracts.d.ts +11 -3
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +10 -1
- package/dest/tx/proven_tx.d.ts +18 -18
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.d.ts +10 -8
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +13 -1
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +9 -2
- package/dest/tx/simulated_tx.d.ts +1051 -27
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +11 -13
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +9 -9
- package/dest/tx/tree_snapshots.d.ts +16 -8
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +9 -0
- package/dest/tx/tx.d.ts +14 -21
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +16 -7
- package/dest/tx/tx_constant_data.d.ts +2 -2
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +1 -1
- package/dest/tx/tx_context.d.ts +2 -3
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +1 -1
- package/dest/tx/tx_effect.d.ts +21 -43
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +57 -60
- package/dest/tx/tx_execution_request.d.ts +2 -31
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +1 -1
- package/dest/tx/tx_hash.d.ts +2 -3
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +1 -1
- package/dest/tx/tx_receipt.d.ts +4 -9
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +2 -1
- package/dest/tx/tx_request.d.ts +2 -7
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +1 -1
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +1 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -8
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +4 -4
- package/dest/types/index.d.ts +1 -1
- package/dest/types/shared.d.ts +1 -4
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +1 -1
- package/dest/update-checker/update-checker.d.ts +3 -4
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/update-checker/update-checker.js +1 -1
- package/dest/validators/errors.d.ts +7 -8
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +2 -4
- package/dest/validators/index.d.ts +1 -1
- package/dest/validators/schemas.d.ts +266 -208
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +20 -20
- package/dest/validators/types.d.ts +10 -9
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/index.d.ts +1 -1
- package/dest/versioning/versioning.d.ts +2 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +11 -23
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +21 -1
- package/dest/vks/vk_data.d.ts +2 -8
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/vks/vk_data.js +1 -1
- package/dest/world-state/index.d.ts +1 -1
- package/dest/world-state/world_state_revision.d.ts +34 -2
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +24 -1
- package/dest/zkpassport/index.d.ts +2 -2
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +2 -2
- package/package.json +17 -11
- package/src/abi/abi.ts +44 -38
- package/src/abi/authorization_selector.ts +3 -2
- package/src/abi/buffer.ts +1 -1
- package/src/abi/contract_artifact.ts +3 -3
- package/src/abi/decoder.ts +1 -1
- package/src/abi/encoder.ts +1 -1
- package/src/abi/event_selector.ts +3 -2
- package/src/abi/function_call.ts +1 -1
- package/src/abi/function_selector.ts +11 -2
- package/src/abi/note_selector.ts +2 -2
- package/src/abi/selector.ts +1 -1
- package/src/auth_witness/auth_witness.ts +2 -2
- package/src/avm/avm.ts +881 -7
- package/src/avm/avm_accumulated_data.ts +41 -1
- package/src/avm/avm_circuit_public_inputs.ts +41 -1
- package/src/avm/contract_storage_read.ts +1 -1
- package/src/avm/contract_storage_update_request.ts +1 -1
- package/src/avm/message_pack.ts +6 -2
- package/src/avm/public_call_stack_item_compressed.ts +1 -1
- package/src/avm/public_data_read.ts +1 -1
- package/src/avm/public_data_update_request.ts +1 -1
- package/src/avm/public_data_write.ts +13 -2
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +30 -10
- package/src/aztec-address/index.ts +28 -3
- package/src/block/attestation_info.ts +9 -2
- package/src/block/block_hash.ts +1 -1
- package/src/block/block_parameter.ts +8 -0
- package/src/block/body.ts +16 -39
- package/src/block/checkpointed_l2_block.ts +120 -0
- package/src/block/in_block.ts +25 -12
- package/src/block/index.ts +3 -2
- package/src/block/l2_block.ts +79 -8
- package/src/block/l2_block_code_to_purge.ts +7 -5
- package/src/block/l2_block_header.ts +20 -6
- package/src/block/l2_block_info.ts +11 -10
- package/src/block/l2_block_new.ts +207 -0
- package/src/block/l2_block_source.ts +105 -58
- package/src/block/l2_block_stream/interfaces.ts +1 -1
- package/src/block/l2_block_stream/l2_block_stream.ts +19 -5
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -2
- package/src/block/proposal/attestations_and_signers.ts +21 -2
- package/src/block/proposal/committee_attestation.ts +1 -1
- package/src/block/test/l2_tips_store_test_suite.ts +11 -5
- package/src/block/validate_block_result.ts +9 -7
- package/src/checkpoint/checkpoint.ts +135 -0
- package/src/checkpoint/checkpoint_info.ts +9 -0
- package/src/checkpoint/index.ts +2 -1
- package/src/{block/published_l2_block.ts → checkpoint/published_checkpoint.ts} +43 -20
- package/src/contract/artifact_hash.ts +2 -2
- package/src/contract/complete_address.ts +1 -1
- package/src/contract/contract_address.ts +2 -2
- package/src/contract/contract_class.ts +2 -2
- package/src/contract/contract_class_id.ts +3 -3
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/contract_instance.ts +1 -1
- package/src/contract/contract_instance_update.ts +1 -1
- package/src/contract/deployment_info.ts +1 -1
- package/src/contract/index.ts +1 -0
- package/src/contract/interfaces/contract_class.ts +78 -47
- package/src/contract/interfaces/contract_data_source.ts +3 -2
- package/src/contract/interfaces/contract_instance.ts +48 -16
- package/src/contract/interfaces/contract_instance_update.ts +12 -10
- package/src/contract/partial_address.ts +1 -1
- package/src/contract/private_function.ts +3 -2
- package/src/contract/private_function_membership_proof.ts +3 -3
- package/src/contract/utility_function_membership_proof.ts +1 -1
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +2 -2
- package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
- package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
- package/src/epoch-helpers/index.ts +39 -30
- package/src/errors/simulation_error.ts +1 -1
- package/src/fees/transaction_fee.ts +1 -1
- package/src/file-store/http.ts +6 -3
- package/src/file-store/s3.ts +3 -7
- package/src/gas/gas.ts +15 -1
- package/src/gas/gas_fees.ts +15 -1
- package/src/gas/gas_settings.ts +20 -1
- package/src/gas/gas_used.ts +22 -1
- package/src/hash/hash.ts +12 -11
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +10 -8
- package/src/interfaces/archiver.ts +41 -18
- package/src/interfaces/aztec-node-admin.ts +2 -2
- package/src/interfaces/aztec-node.ts +82 -77
- package/src/interfaces/block-builder.ts +14 -3
- package/src/interfaces/configs.ts +68 -31
- package/src/interfaces/epoch-prover.ts +6 -7
- package/src/interfaces/get_logs_response.ts +13 -9
- package/src/interfaces/l2_logs_source.ts +11 -14
- package/src/interfaces/merkle_tree_operations.ts +9 -5
- package/src/interfaces/p2p.ts +4 -2
- package/src/interfaces/prover-client.ts +13 -10
- package/src/interfaces/proving-job.ts +14 -5
- package/src/interfaces/public_state_source.ts +1 -1
- package/src/interfaces/server_circuit_prover.ts +0 -1
- package/src/interfaces/slasher.ts +24 -22
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +27 -20
- package/src/interfaces/world_state.ts +26 -18
- package/src/kernel/claimed_length_array.ts +1 -1
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +1 -1
- package/src/kernel/hints/build_transient_data_hints.ts +2 -2
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
- package/src/kernel/hints/key_validation_hint.ts +1 -1
- package/src/kernel/hints/key_validation_request.ts +2 -1
- package/src/kernel/hints/key_validation_request_and_generator.ts +1 -1
- package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/scoped_key_validation_request_and_generator.ts +1 -1
- package/src/kernel/hints/scoped_value_cache.ts +1 -1
- package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
- package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
- package/src/kernel/log_hash.ts +1 -1
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/padded_side_effects.ts +1 -1
- package/src/kernel/private_call_data.ts +1 -1
- package/src/kernel/private_call_request.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +95 -75
- package/src/kernel/private_context_inputs.ts +1 -1
- package/src/kernel/private_kernel_circuit_public_inputs.ts +8 -1
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +7 -1
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
- package/src/kernel/private_log_data.ts +1 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +36 -1
- package/src/kernel/private_to_public_accumulated_data.ts +1 -1
- package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_validation_requests.ts +1 -13
- package/src/kernel/public_call_request.ts +28 -1
- package/src/kernel/utils/optional_number.ts +1 -1
- package/src/keys/derivation.ts +5 -2
- package/src/keys/public_key.ts +1 -1
- package/src/keys/public_keys.ts +22 -2
- package/src/l1-contracts/slash_factory.ts +3 -1
- package/src/logs/contract_class_log.ts +34 -2
- package/src/logs/debug_log.ts +20 -1
- package/src/logs/directional_app_tagging_secret.ts +4 -2
- package/src/logs/index.ts +2 -1
- package/src/logs/log_id.ts +22 -11
- package/src/logs/message_context.ts +1 -1
- package/src/logs/pending_tagged_log.ts +1 -1
- package/src/logs/private_log.ts +22 -5
- package/src/logs/public_log.ts +22 -1
- package/src/logs/shared_secret_derivation.ts +2 -2
- package/src/logs/siloed_tag.ts +44 -0
- package/src/logs/tag.ts +42 -0
- package/src/logs/tx_scoped_l2_log.ts +48 -45
- package/src/messaging/in_hash.ts +10 -0
- package/src/messaging/inbox_leaf.ts +11 -10
- package/src/messaging/index.ts +2 -0
- package/src/messaging/l1_actor.ts +2 -2
- package/src/messaging/l1_to_l2_message.ts +3 -2
- package/src/messaging/l1_to_l2_message_source.ts +5 -10
- package/src/messaging/l2_actor.ts +2 -2
- package/src/messaging/l2_to_l1_membership.ts +6 -5
- package/src/messaging/l2_to_l1_message.ts +30 -1
- package/src/messaging/out_hash.ts +36 -0
- package/src/noir/index.ts +6 -6
- package/src/note/index.ts +1 -1
- package/src/note/note.ts +5 -2
- package/src/note/note_dao.ts +182 -0
- package/src/note/notes_filter.ts +4 -1
- package/src/p2p/block_attestation.ts +5 -3
- package/src/p2p/block_proposal.ts +6 -4
- package/src/p2p/consensus_payload.ts +17 -27
- package/src/p2p/gossipable.ts +17 -8
- package/src/p2p/signature_utils.ts +2 -1
- package/src/parity/parity_base_private_inputs.ts +1 -1
- package/src/parity/parity_public_inputs.ts +1 -1
- package/src/proofs/chonk_proof.ts +2 -2
- package/src/proofs/proof.ts +1 -1
- package/src/proofs/proof_data.ts +24 -0
- package/src/proofs/recursive_proof.ts +1 -1
- package/src/rollup/avm_proof_data.ts +2 -9
- package/src/rollup/base_rollup_hints.ts +1 -1
- package/src/rollup/block_constant_data.ts +1 -1
- package/src/rollup/block_headers_hash.ts +12 -0
- package/src/rollup/block_rollup_public_inputs.ts +9 -1
- package/src/rollup/block_root_rollup_private_inputs.ts +1 -10
- package/src/rollup/checkpoint_constant_data.ts +45 -5
- package/src/rollup/checkpoint_header.ts +55 -25
- package/src/rollup/checkpoint_rollup_public_inputs.ts +1 -1
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +7 -6
- package/src/rollup/epoch_constant_data.ts +1 -1
- package/src/rollup/index.ts +1 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +1 -1
- package/src/rollup/public_chonk_verifier_public_inputs.ts +1 -1
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +2 -2
- package/src/rollup/root_rollup_public_inputs.ts +1 -1
- package/src/rollup/tree_snapshot_diff_hints.ts +1 -1
- package/src/rollup/tx_rollup_public_inputs.ts +1 -1
- package/src/schemas/schemas.ts +24 -1
- package/src/slashing/empire.ts +6 -4
- package/src/slashing/helpers.ts +17 -12
- package/src/slashing/interfaces.ts +3 -1
- package/src/slashing/types.ts +24 -20
- package/src/snapshots/types.ts +33 -29
- package/src/stats/stats.ts +10 -5
- package/src/tests/factories.ts +283 -233
- package/src/tests/mocks.ts +308 -54
- package/src/trees/append_only_tree_snapshot.ts +12 -13
- package/src/trees/database_public_state_source.ts +1 -1
- package/src/trees/nullifier_leaf.ts +33 -1
- package/src/trees/nullifier_membership_witness.ts +1 -1
- package/src/trees/public_data_leaf.ts +33 -1
- package/src/trees/public_data_witness.ts +1 -1
- package/src/tx/block_header.ts +31 -12
- package/src/tx/call_context.ts +1 -1
- package/src/tx/capsule.ts +1 -1
- package/src/tx/content_commitment.ts +13 -4
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/function_data.ts +1 -1
- package/src/tx/global_variable_builder.ts +10 -2
- package/src/tx/global_variables.ts +76 -16
- package/src/tx/hashed_values.ts +1 -1
- package/src/tx/in_tx.ts +24 -0
- package/src/tx/index.ts +2 -0
- package/src/tx/indexed_tx_effect.ts +6 -5
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +10 -18
- package/src/tx/private_execution_result.ts +10 -7
- package/src/tx/private_tx_constant_data.ts +1 -1
- package/src/tx/processed_tx.ts +19 -16
- package/src/tx/profiling.ts +5 -7
- package/src/tx/protocol_contracts.ts +18 -2
- package/src/tx/public_call_request_with_calldata.ts +18 -1
- package/src/tx/public_simulation_output.ts +19 -2
- package/src/tx/state_reference.ts +10 -16
- package/src/tx/tree_snapshots.ts +17 -1
- package/src/tx/tx.ts +17 -9
- package/src/tx/tx_constant_data.ts +1 -1
- package/src/tx/tx_context.ts +1 -1
- package/src/tx/tx_effect.ts +87 -91
- package/src/tx/tx_execution_request.ts +1 -1
- package/src/tx/tx_hash.ts +1 -1
- package/src/tx/tx_receipt.ts +3 -2
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/tx_validator.ts +8 -6
- package/src/update-checker/update-checker.ts +2 -1
- package/src/validators/errors.ts +4 -5
- package/src/validators/schemas.ts +55 -49
- package/src/validators/types.ts +9 -8
- package/src/versioning/versioning.ts +1 -1
- package/src/vks/verification_key.ts +26 -1
- package/src/vks/vk_data.ts +1 -1
- package/src/world-state/world_state_revision.ts +47 -5
- package/src/zkpassport/index.ts +2 -2
- package/dest/block/l2_block_number.d.ts +0 -5
- package/dest/block/l2_block_number.d.ts.map +0 -1
- package/dest/block/l2_block_number.js +0 -6
- package/dest/block/published_l2_block.d.ts +0 -143
- package/dest/block/published_l2_block.d.ts.map +0 -1
- package/dest/checkpoint/checkpoint_body.d.ts +0 -4
- package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
- package/dest/checkpoint/checkpoint_body.js +0 -9
- package/dest/logs/log_with_tx_data.d.ts +0 -19
- package/dest/logs/log_with_tx_data.d.ts.map +0 -1
- package/dest/logs/log_with_tx_data.js +0 -49
- package/dest/note/unique_note.d.ts +0 -43
- package/dest/note/unique_note.d.ts.map +0 -1
- package/dest/note/unique_note.js +0 -67
- package/src/block/l2_block_number.ts +0 -8
- package/src/checkpoint/checkpoint_body.ts +0 -10
- package/src/logs/log_with_tx_data.ts +0 -46
- package/src/note/unique_note.ts +0 -88
|
@@ -1,16 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BlockNumber,
|
|
3
|
+
BlockNumberSchema,
|
|
4
|
+
CheckpointNumber,
|
|
5
|
+
type EpochNumber,
|
|
6
|
+
type SlotNumber,
|
|
7
|
+
} from '@aztec/foundation/branded-types';
|
|
8
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
9
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
-
import type { Fr } from '@aztec/foundation/fields';
|
|
3
10
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
4
11
|
|
|
5
12
|
import { z } from 'zod';
|
|
6
13
|
|
|
14
|
+
import type { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
15
|
+
import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
7
16
|
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
8
17
|
import type { BlockHeader } from '../tx/block_header.js';
|
|
9
18
|
import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
|
|
10
19
|
import type { TxHash } from '../tx/tx_hash.js';
|
|
11
20
|
import type { TxReceipt } from '../tx/tx_receipt.js';
|
|
21
|
+
import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
|
|
12
22
|
import type { L2Block } from './l2_block.js';
|
|
13
|
-
import {
|
|
23
|
+
import type { L2BlockNew } from './l2_block_new.js';
|
|
14
24
|
import type { ValidateBlockNegativeResult, ValidateBlockResult } from './validate_block_result.js';
|
|
15
25
|
|
|
16
26
|
/**
|
|
@@ -33,53 +43,42 @@ export interface L2BlockSource {
|
|
|
33
43
|
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
34
44
|
* @returns The number of the latest L2 block processed by the block source implementation.
|
|
35
45
|
*/
|
|
36
|
-
getBlockNumber(): Promise<
|
|
46
|
+
getBlockNumber(): Promise<BlockNumber>;
|
|
37
47
|
|
|
38
48
|
/**
|
|
39
49
|
* Gets the number of the latest L2 block proven seen by the block source implementation.
|
|
40
50
|
* @returns The number of the latest L2 block proven seen by the block source implementation.
|
|
41
51
|
*/
|
|
42
|
-
getProvenBlockNumber(): Promise<
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Gets an l2 block. If a negative number is passed, the block returned is the most recent.
|
|
46
|
-
* @param number - The block number to return (inclusive).
|
|
47
|
-
* @returns The requested L2 block.
|
|
48
|
-
*/
|
|
49
|
-
getBlock(number: number): Promise<L2Block | undefined>;
|
|
52
|
+
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
50
53
|
|
|
51
54
|
/**
|
|
52
55
|
* Gets an l2 block header.
|
|
53
56
|
* @param number - The block number to return or 'latest' for the most recent one.
|
|
54
57
|
* @returns The requested L2 block header.
|
|
55
58
|
*/
|
|
56
|
-
getBlockHeader(number:
|
|
59
|
+
getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
|
|
57
60
|
|
|
58
61
|
/**
|
|
59
|
-
* Gets
|
|
60
|
-
*
|
|
61
|
-
* @param
|
|
62
|
-
* @
|
|
63
|
-
* @returns The requested L2 blocks.
|
|
62
|
+
* Gets a checkpointed L2 block by block number.
|
|
63
|
+
* Returns undefined if the block doesn't exist or hasn't been checkpointed yet.
|
|
64
|
+
* @param number - The block number to retrieve.
|
|
65
|
+
* @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
|
|
64
66
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
/** Equivalent to getBlocks but includes publish data. */
|
|
68
|
-
getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
|
|
67
|
+
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
69
68
|
|
|
70
69
|
/**
|
|
71
|
-
*
|
|
72
|
-
* @param
|
|
73
|
-
* @
|
|
70
|
+
* Retrieves a collection of published checkpoints
|
|
71
|
+
* @param checkpointNumber The first checkpoint to be retrieved
|
|
72
|
+
* @param limit The number of checkpoints to be retrieved
|
|
73
|
+
* @returns The collection of complete checkpoints
|
|
74
74
|
*/
|
|
75
|
-
|
|
75
|
+
getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
|
-
* Gets
|
|
79
|
-
* @param
|
|
80
|
-
* @returns The requested published block (or undefined if not found).
|
|
78
|
+
* Gets the checkpoints for a given epoch
|
|
79
|
+
* @param epochNumber - Epoch for which we want checkpoint data
|
|
81
80
|
*/
|
|
82
|
-
|
|
81
|
+
getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
83
82
|
|
|
84
83
|
/**
|
|
85
84
|
* Gets a block header by its hash.
|
|
@@ -95,6 +94,13 @@ export interface L2BlockSource {
|
|
|
95
94
|
*/
|
|
96
95
|
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
97
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Gets an L2 block by block number.
|
|
99
|
+
* @param number - The block number to return.
|
|
100
|
+
* @returns The requested L2 block (or undefined if not found).
|
|
101
|
+
*/
|
|
102
|
+
getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
|
|
103
|
+
|
|
98
104
|
/**
|
|
99
105
|
* Gets a tx effect.
|
|
100
106
|
* @param txHash - The hash of the tx corresponding to the tx effect.
|
|
@@ -112,32 +118,25 @@ export interface L2BlockSource {
|
|
|
112
118
|
/**
|
|
113
119
|
* Returns the current L2 slot number based on the currently synced L1 timestamp.
|
|
114
120
|
*/
|
|
115
|
-
getL2SlotNumber(): Promise<
|
|
121
|
+
getL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
116
122
|
|
|
117
123
|
/**
|
|
118
124
|
* Returns the current L2 epoch number based on the currently synced L1 timestamp.
|
|
119
125
|
*/
|
|
120
|
-
getL2EpochNumber(): Promise<
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Returns all blocks for a given epoch.
|
|
124
|
-
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
125
|
-
* @param epochNumber - The epoch number to return blocks for.
|
|
126
|
-
*/
|
|
127
|
-
getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
|
|
126
|
+
getL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
128
127
|
|
|
129
128
|
/**
|
|
130
129
|
* Returns all block headers for a given epoch.
|
|
131
130
|
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
132
131
|
* @param epochNumber - The epoch number to return headers for.
|
|
133
132
|
*/
|
|
134
|
-
getBlockHeadersForEpoch(epochNumber:
|
|
133
|
+
getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
135
134
|
|
|
136
135
|
/**
|
|
137
136
|
* Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
|
|
138
137
|
* @param epochNumber - The epoch number to check.
|
|
139
138
|
*/
|
|
140
|
-
isEpochComplete(epochNumber:
|
|
139
|
+
isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
|
|
141
140
|
|
|
142
141
|
/**
|
|
143
142
|
* Returns the tips of the L2 chain.
|
|
@@ -169,6 +168,61 @@ export interface L2BlockSource {
|
|
|
169
168
|
|
|
170
169
|
/** Force a sync. */
|
|
171
170
|
syncImmediate(): Promise<void>;
|
|
171
|
+
|
|
172
|
+
/* Legacy APIS */
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Gets an l2 block. If a negative number is passed, the block returned is the most recent.
|
|
176
|
+
* @param number - The block number to return (inclusive).
|
|
177
|
+
* @returns The requested L2 block.
|
|
178
|
+
* @deprecated Use getL2BlockNew instead.
|
|
179
|
+
*/
|
|
180
|
+
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Returns all blocks for a given epoch.
|
|
184
|
+
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
185
|
+
* @param epochNumber - The epoch number to return blocks for.
|
|
186
|
+
*/
|
|
187
|
+
getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Gets a published block by its block hash.
|
|
191
|
+
* @param blockHash - The block hash to retrieve.
|
|
192
|
+
* @returns The requested block (or undefined if not found).
|
|
193
|
+
*/
|
|
194
|
+
getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Gets a published block by its archive root.
|
|
198
|
+
* @param archive - The archive root to retrieve.
|
|
199
|
+
* @returns The requested block (or undefined if not found).
|
|
200
|
+
*/
|
|
201
|
+
getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
205
|
+
* @param from - Number of the first block to return (inclusive).
|
|
206
|
+
* @param limit - The maximum number of blocks to return.
|
|
207
|
+
* @param proven - If true, only return blocks that have been proven.
|
|
208
|
+
* @returns The requested L2 blocks.
|
|
209
|
+
*/
|
|
210
|
+
getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
|
|
211
|
+
|
|
212
|
+
/** Equivalent to getBlocks but includes publish data. */
|
|
213
|
+
getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Interface for classes that can receive and store L2 blocks.
|
|
218
|
+
*/
|
|
219
|
+
export interface L2BlockSink {
|
|
220
|
+
/**
|
|
221
|
+
* Adds a block to the store.
|
|
222
|
+
* @param block - The L2 block to add.
|
|
223
|
+
* @throws If block number is not incremental (i.e., not exactly one more than the last stored block).
|
|
224
|
+
*/
|
|
225
|
+
addBlock(block: L2BlockNew): Promise<void>;
|
|
172
226
|
}
|
|
173
227
|
|
|
174
228
|
/**
|
|
@@ -194,33 +248,26 @@ export type L2BlockTag = 'latest' | 'proven' | 'finalized';
|
|
|
194
248
|
export type L2Tips = Record<L2BlockTag, L2BlockId>;
|
|
195
249
|
|
|
196
250
|
/** Identifies a block by number and hash. */
|
|
197
|
-
export type L2BlockId =
|
|
251
|
+
export type L2BlockId = { number: BlockNumber; hash: string };
|
|
198
252
|
|
|
199
253
|
/** Creates an L2 block id */
|
|
200
|
-
export function makeL2BlockId(number:
|
|
254
|
+
export function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId {
|
|
201
255
|
if (number !== 0 && !hash) {
|
|
202
256
|
throw new Error(`Hash is required for non-genesis blocks (got block number ${number})`);
|
|
203
257
|
}
|
|
204
258
|
return { number, hash: hash! };
|
|
205
259
|
}
|
|
206
260
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
z.
|
|
210
|
-
|
|
211
|
-
hash: z.undefined(),
|
|
212
|
-
}),
|
|
213
|
-
z.object({
|
|
214
|
-
number: z.number(),
|
|
215
|
-
hash: z.string(),
|
|
216
|
-
}),
|
|
217
|
-
]);
|
|
261
|
+
const L2BlockIdSchema = z.object({
|
|
262
|
+
number: BlockNumberSchema,
|
|
263
|
+
hash: z.string(),
|
|
264
|
+
});
|
|
218
265
|
|
|
219
266
|
export const L2TipsSchema = z.object({
|
|
220
267
|
latest: L2BlockIdSchema,
|
|
221
268
|
proven: L2BlockIdSchema,
|
|
222
269
|
finalized: L2BlockIdSchema,
|
|
223
|
-
})
|
|
270
|
+
});
|
|
224
271
|
|
|
225
272
|
export enum L2BlockSourceEvents {
|
|
226
273
|
L2PruneDetected = 'l2PruneDetected',
|
|
@@ -230,14 +277,14 @@ export enum L2BlockSourceEvents {
|
|
|
230
277
|
|
|
231
278
|
export type L2BlockProvenEvent = {
|
|
232
279
|
type: 'l2BlockProven';
|
|
233
|
-
blockNumber:
|
|
234
|
-
slotNumber:
|
|
235
|
-
epochNumber:
|
|
280
|
+
blockNumber: BlockNumber;
|
|
281
|
+
slotNumber: SlotNumber;
|
|
282
|
+
epochNumber: EpochNumber;
|
|
236
283
|
};
|
|
237
284
|
|
|
238
285
|
export type L2BlockPruneEvent = {
|
|
239
286
|
type: 'l2PruneDetected';
|
|
240
|
-
epochNumber:
|
|
287
|
+
epochNumber: EpochNumber;
|
|
241
288
|
blocks: L2Block[];
|
|
242
289
|
};
|
|
243
290
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { PublishedL2Block } from '../checkpointed_l2_block.js';
|
|
1
2
|
import type { L2BlockId, L2Tips } from '../l2_block_source.js';
|
|
2
|
-
import type { PublishedL2Block } from '../published_l2_block.js';
|
|
3
3
|
|
|
4
4
|
/** Interface to the local view of the chain. Implemented by world-state and l2-tips-store. */
|
|
5
5
|
export interface L2BlockStreamLocalDataProvider {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { AbortError } from '@aztec/foundation/error';
|
|
2
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
4
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
@@ -25,6 +26,10 @@ export class L2BlockStream {
|
|
|
25
26
|
skipFinalized?: boolean;
|
|
26
27
|
} = {},
|
|
27
28
|
) {
|
|
29
|
+
// Note that RunningPromise is in stopped state by default. This promise won't run until someone invokes `start`,
|
|
30
|
+
// which makes it run periodically, or `sync`, which triggers it once.
|
|
31
|
+
// Users of L2BlockStream decide what mode to run it in (_periodically_ vs _manually triggered_).
|
|
32
|
+
// The default is _manually triggered_.
|
|
28
33
|
this.runningPromise = new RunningPromise(() => this.work(), log, this.opts.pollIntervalMS ?? 1000);
|
|
29
34
|
}
|
|
30
35
|
|
|
@@ -41,6 +46,11 @@ export class L2BlockStream {
|
|
|
41
46
|
return this.runningPromise.isRunning();
|
|
42
47
|
}
|
|
43
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Runs the synchronization process once.
|
|
51
|
+
*
|
|
52
|
+
* If you want to run this process continuously use `start` and `stop` instead.
|
|
53
|
+
*/
|
|
44
54
|
public async sync() {
|
|
45
55
|
this.isSyncing = true;
|
|
46
56
|
await this.runningPromise.trigger();
|
|
@@ -74,7 +84,7 @@ export class L2BlockStream {
|
|
|
74
84
|
}
|
|
75
85
|
|
|
76
86
|
if (latestBlockNumber < localTips.latest.number) {
|
|
77
|
-
latestBlockNumber = Math.min(latestBlockNumber, sourceTips.latest.number); // see #13471
|
|
87
|
+
latestBlockNumber = BlockNumber(Math.min(latestBlockNumber, sourceTips.latest.number)); // see #13471
|
|
78
88
|
const hash = sourceCache.get(latestBlockNumber) ?? (await this.getBlockHashFromSource(latestBlockNumber));
|
|
79
89
|
if (latestBlockNumber !== 0 && !hash) {
|
|
80
90
|
throw new Error(`Block hash not found in block source for block number ${latestBlockNumber}`);
|
|
@@ -85,7 +95,7 @@ export class L2BlockStream {
|
|
|
85
95
|
|
|
86
96
|
// If we are just starting, use the starting block number from the options.
|
|
87
97
|
if (latestBlockNumber === 0 && this.opts.startingBlock !== undefined) {
|
|
88
|
-
latestBlockNumber = Math.max(this.opts.startingBlock - 1, 0);
|
|
98
|
+
latestBlockNumber = BlockNumber(Math.max(this.opts.startingBlock - 1, 0));
|
|
89
99
|
}
|
|
90
100
|
|
|
91
101
|
// Only log this entry once (for sanity)
|
|
@@ -108,7 +118,11 @@ export class L2BlockStream {
|
|
|
108
118
|
while (nextBlockNumber <= sourceTips.latest.number) {
|
|
109
119
|
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.latest.number - nextBlockNumber + 1);
|
|
110
120
|
this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit} proven=${this.opts.proven}`);
|
|
111
|
-
const blocks = await this.l2BlockSource.getPublishedBlocks(
|
|
121
|
+
const blocks = await this.l2BlockSource.getPublishedBlocks(
|
|
122
|
+
BlockNumber(nextBlockNumber),
|
|
123
|
+
limit,
|
|
124
|
+
this.opts.proven,
|
|
125
|
+
);
|
|
112
126
|
if (blocks.length === 0) {
|
|
113
127
|
break;
|
|
114
128
|
}
|
|
@@ -139,7 +153,7 @@ export class L2BlockStream {
|
|
|
139
153
|
* @param blockNumber - The block number to test.
|
|
140
154
|
* @param args - A cache of data already requested from source, to avoid re-requesting it.
|
|
141
155
|
*/
|
|
142
|
-
private async areBlockHashesEqualAt(blockNumber:
|
|
156
|
+
private async areBlockHashesEqualAt(blockNumber: BlockNumber, args: { sourceCache: BlockHashCache }) {
|
|
143
157
|
if (blockNumber === 0) {
|
|
144
158
|
return true;
|
|
145
159
|
}
|
|
@@ -163,7 +177,7 @@ export class L2BlockStream {
|
|
|
163
177
|
return localBlockHash === sourceBlockHash;
|
|
164
178
|
}
|
|
165
179
|
|
|
166
|
-
private getBlockHashFromSource(blockNumber:
|
|
180
|
+
private getBlockHashFromSource(blockNumber: BlockNumber) {
|
|
167
181
|
return this.l2BlockSource
|
|
168
182
|
.getBlockHeader(blockNumber)
|
|
169
183
|
.then(h => h?.hash())
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
|
|
2
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
|
|
1
4
|
import type { L2Block } from '../l2_block.js';
|
|
2
5
|
import type { L2BlockId, L2BlockTag, L2Tips } from '../l2_block_source.js';
|
|
3
6
|
import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
|
|
@@ -7,7 +10,7 @@ import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalD
|
|
|
7
10
|
* @dev tests in kv-store/src/stores/l2_tips_memory_store.test.ts
|
|
8
11
|
*/
|
|
9
12
|
export class L2TipsMemoryStore implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
|
|
10
|
-
protected readonly l2TipsStore: Map<L2BlockTag,
|
|
13
|
+
protected readonly l2TipsStore: Map<L2BlockTag, BlockNumber> = new Map();
|
|
11
14
|
protected readonly l2BlockHashesStore: Map<number, string> = new Map();
|
|
12
15
|
|
|
13
16
|
public getL2BlockHash(number: number): Promise<string | undefined> {
|
|
@@ -25,7 +28,7 @@ export class L2TipsMemoryStore implements L2BlockStreamEventHandler, L2BlockStre
|
|
|
25
28
|
private getL2Tip(tag: L2BlockTag): L2BlockId {
|
|
26
29
|
const blockNumber = this.l2TipsStore.get(tag);
|
|
27
30
|
if (blockNumber === undefined || blockNumber === 0) {
|
|
28
|
-
return { number:
|
|
31
|
+
return { number: BlockNumber.ZERO, hash: GENESIS_BLOCK_HEADER_HASH.toString() };
|
|
29
32
|
}
|
|
30
33
|
const blockHash = this.l2BlockHashesStore.get(blockNumber);
|
|
31
34
|
if (!blockHash) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ViemCommitteeAttestations } from '@aztec/ethereum';
|
|
1
|
+
import type { ViemCommitteeAttestations } from '@aztec/ethereum/contracts';
|
|
2
2
|
import { hexToBuffer } from '@aztec/foundation/string';
|
|
3
3
|
|
|
4
4
|
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
7
|
import type { Signable, SignatureDomainSeparator } from '../../p2p/signature_utils.js';
|
|
8
|
-
import { CommitteeAttestation } from './committee_attestation.js';
|
|
8
|
+
import { CommitteeAttestation, EthAddress } from './committee_attestation.js';
|
|
9
9
|
|
|
10
10
|
export class CommitteeAttestationsAndSigners implements Signable {
|
|
11
11
|
constructor(public attestations: CommitteeAttestation[]) {}
|
|
@@ -119,3 +119,22 @@ export class CommitteeAttestationsAndSigners implements Signable {
|
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Malicious extension of CommitteeAttestationsAndSigners that keeps separate attestations and
|
|
125
|
+
* signers. Used for tricking the L1 contract into accepting attestations by reconstructing
|
|
126
|
+
* the correct committee commitment (which relies on the signers, ignoring the signatures)
|
|
127
|
+
* with an invalid set of attestation signatures.
|
|
128
|
+
*/
|
|
129
|
+
export class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners {
|
|
130
|
+
constructor(
|
|
131
|
+
attestations: CommitteeAttestation[],
|
|
132
|
+
private signers: EthAddress[],
|
|
133
|
+
) {
|
|
134
|
+
super(attestations);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
override getSigners(): EthAddress[] {
|
|
138
|
+
return this.signers;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ViemCommitteeAttestation, ViemCommitteeAttestations } from '@aztec/ethereum';
|
|
1
|
+
import type { ViemCommitteeAttestation, ViemCommitteeAttestations } from '@aztec/ethereum/contracts';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
|
|
2
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
3
|
import { times } from '@aztec/foundation/collection';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
4
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
5
|
import { type L2Block, type L2BlockId, PublishedL2Block } from '@aztec/stdlib/block';
|
|
6
|
+
import { L1PublishedData } from '@aztec/stdlib/checkpoint';
|
|
4
7
|
|
|
5
8
|
import { jestExpect as expect } from '@jest/expect';
|
|
6
9
|
|
|
@@ -15,17 +18,20 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
|
|
|
15
18
|
|
|
16
19
|
const makeBlock = (number: number): PublishedL2Block =>
|
|
17
20
|
PublishedL2Block.fromFields({
|
|
18
|
-
block: { number, hash: () => Promise.resolve(new Fr(number)) } as L2Block,
|
|
19
|
-
l1:
|
|
21
|
+
block: { number: BlockNumber(number), hash: () => Promise.resolve(new Fr(number)) } as L2Block,
|
|
22
|
+
l1: new L1PublishedData(BigInt(number), BigInt(number), `0x${number}`),
|
|
20
23
|
attestations: [],
|
|
21
24
|
});
|
|
22
25
|
|
|
23
26
|
const makeBlockId = (number: number): L2BlockId => ({
|
|
24
|
-
number,
|
|
27
|
+
number: BlockNumber(number),
|
|
25
28
|
hash: new Fr(number).toString(),
|
|
26
29
|
});
|
|
27
30
|
|
|
28
|
-
const makeTip = (number: number) => ({
|
|
31
|
+
const makeTip = (number: number): L2BlockId => ({
|
|
32
|
+
number: BlockNumber(number),
|
|
33
|
+
hash: number === 0 ? GENESIS_BLOCK_HEADER_HASH.toString() : new Fr(number).toString(),
|
|
34
|
+
});
|
|
29
35
|
|
|
30
36
|
const makeTips = (latest: number, proven: number, finalized: number) => ({
|
|
31
37
|
latest: makeTip(latest),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber, EpochNumberSchema } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import { type ZodFor, schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -16,7 +17,7 @@ export type ValidateBlockNegativeResult =
|
|
|
16
17
|
/** Committee members at the epoch this block was proposed */
|
|
17
18
|
committee: EthAddress[];
|
|
18
19
|
/** Epoch in which this block was proposed */
|
|
19
|
-
epoch:
|
|
20
|
+
epoch: EpochNumber;
|
|
20
21
|
/** Proposer selection seed for the epoch */
|
|
21
22
|
seed: bigint;
|
|
22
23
|
/** List of committee members who signed this block proposal */
|
|
@@ -33,7 +34,7 @@ export type ValidateBlockNegativeResult =
|
|
|
33
34
|
/** Committee members at the epoch this block was proposed */
|
|
34
35
|
committee: EthAddress[];
|
|
35
36
|
/** Epoch in which this block was proposed */
|
|
36
|
-
epoch:
|
|
37
|
+
epoch: EpochNumber;
|
|
37
38
|
/** Proposer selection seed for the epoch */
|
|
38
39
|
seed: bigint;
|
|
39
40
|
/** List of committee members who signed this block proposal */
|
|
@@ -46,16 +47,17 @@ export type ValidateBlockNegativeResult =
|
|
|
46
47
|
invalidIndex: number;
|
|
47
48
|
};
|
|
48
49
|
|
|
50
|
+
// TODO: Rename to ValidateAttestationsResult
|
|
49
51
|
/** Result type for validating a block attestations */
|
|
50
52
|
export type ValidateBlockResult = { valid: true } | ValidateBlockNegativeResult;
|
|
51
53
|
|
|
52
|
-
export const ValidateBlockResultSchema = z.union([
|
|
54
|
+
export const ValidateBlockResultSchema: ZodFor<ValidateBlockResult> = z.union([
|
|
53
55
|
z.object({ valid: z.literal(true) }),
|
|
54
56
|
z.object({
|
|
55
57
|
valid: z.literal(false),
|
|
56
58
|
block: BlockInfoSchema,
|
|
57
59
|
committee: z.array(schemas.EthAddress),
|
|
58
|
-
epoch:
|
|
60
|
+
epoch: EpochNumberSchema,
|
|
59
61
|
seed: schemas.BigInt,
|
|
60
62
|
attestors: z.array(schemas.EthAddress),
|
|
61
63
|
attestations: z.array(CommitteeAttestation.schema),
|
|
@@ -65,14 +67,14 @@ export const ValidateBlockResultSchema = z.union([
|
|
|
65
67
|
valid: z.literal(false),
|
|
66
68
|
block: BlockInfoSchema,
|
|
67
69
|
committee: z.array(schemas.EthAddress),
|
|
68
|
-
epoch:
|
|
70
|
+
epoch: EpochNumberSchema,
|
|
69
71
|
seed: schemas.BigInt,
|
|
70
72
|
attestors: z.array(schemas.EthAddress),
|
|
71
73
|
attestations: z.array(CommitteeAttestation.schema),
|
|
72
74
|
reason: z.literal('invalid-attestation'),
|
|
73
75
|
invalidIndex: z.number(),
|
|
74
76
|
}),
|
|
75
|
-
])
|
|
77
|
+
]);
|
|
76
78
|
|
|
77
79
|
export function serializeValidateBlockResult(result: ValidateBlockResult): Buffer {
|
|
78
80
|
if (result.valid) {
|
|
@@ -106,7 +108,7 @@ export function deserializeValidateBlockResult(bufferOrReader: Buffer | BufferRe
|
|
|
106
108
|
const reason = reader.readString() as 'insufficient-attestations' | 'invalid-attestation';
|
|
107
109
|
const block = deserializeBlockInfo(reader.readBuffer());
|
|
108
110
|
const committee = reader.readVector(EthAddress);
|
|
109
|
-
const epoch = reader.
|
|
111
|
+
const epoch = EpochNumber(reader.readNumber());
|
|
110
112
|
const seed = reader.readBigInt();
|
|
111
113
|
const attestors = reader.readVector(EthAddress);
|
|
112
114
|
const attestations = reader.readVector(CommitteeAttestation);
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
|
|
2
|
+
import { BlockNumber, CheckpointNumber, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { sum } from '@aztec/foundation/collection';
|
|
4
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
7
|
+
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
|
|
10
|
+
import { L2BlockNew } from '../block/l2_block_new.js';
|
|
11
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
12
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
13
|
+
import type { CheckpointInfo } from './checkpoint_info.js';
|
|
14
|
+
|
|
15
|
+
export class Checkpoint {
|
|
16
|
+
constructor(
|
|
17
|
+
/** Snapshot of archive tree after the checkpoint is added. */
|
|
18
|
+
public archive: AppendOnlyTreeSnapshot,
|
|
19
|
+
/** Header of the checkpoint. */
|
|
20
|
+
public header: CheckpointHeader,
|
|
21
|
+
/** L2 blocks in the checkpoint. */
|
|
22
|
+
public blocks: L2BlockNew[],
|
|
23
|
+
/** Number of the checkpoint. */
|
|
24
|
+
public number: CheckpointNumber,
|
|
25
|
+
) {}
|
|
26
|
+
|
|
27
|
+
static get schema() {
|
|
28
|
+
return z
|
|
29
|
+
.object({
|
|
30
|
+
archive: AppendOnlyTreeSnapshot.schema,
|
|
31
|
+
header: CheckpointHeader.schema,
|
|
32
|
+
blocks: z.array(L2BlockNew.schema),
|
|
33
|
+
number: CheckpointNumberSchema,
|
|
34
|
+
})
|
|
35
|
+
.transform(({ archive, header, blocks, number }) => new Checkpoint(archive, header, blocks, number));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static from(fields: FieldsOf<Checkpoint>) {
|
|
39
|
+
return new Checkpoint(...Checkpoint.getFields(fields));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static getFields(fields: FieldsOf<Checkpoint>) {
|
|
43
|
+
return [fields.archive, fields.header, fields.blocks, fields.number] as const;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
static fromBuffer(buf: Buffer | BufferReader) {
|
|
47
|
+
const reader = BufferReader.asReader(buf);
|
|
48
|
+
return new Checkpoint(
|
|
49
|
+
reader.readObject(AppendOnlyTreeSnapshot),
|
|
50
|
+
reader.readObject(CheckpointHeader),
|
|
51
|
+
reader.readVector(L2BlockNew),
|
|
52
|
+
CheckpointNumber(reader.readNumber()),
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public toBuffer() {
|
|
57
|
+
return serializeToBuffer(this.archive, this.header, this.blocks.length, this.blocks, this.number);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
public toBlobFields(): Fr[] {
|
|
61
|
+
const blocks = this.blocks.map(block => block.toBlockBlobData());
|
|
62
|
+
return encodeCheckpointBlobDataFromBlocks(blocks);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public hash(): Fr {
|
|
66
|
+
return this.header.hash();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public getState() {
|
|
70
|
+
return this.blocks.at(-1)!.header.state;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public toCheckpointInfo(): CheckpointInfo {
|
|
74
|
+
return {
|
|
75
|
+
archive: this.archive.root,
|
|
76
|
+
slotNumber: this.header.slotNumber,
|
|
77
|
+
checkpointNumber: this.number,
|
|
78
|
+
timestamp: this.header.timestamp,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/** Returns stats used for logging */
|
|
83
|
+
public getStats() {
|
|
84
|
+
const txEffects = this.blocks.flatMap(block => block.body.txEffects);
|
|
85
|
+
|
|
86
|
+
const logsStats = {
|
|
87
|
+
privateLogCount: sum(txEffects.map(tx => tx.privateLogs.length)),
|
|
88
|
+
publicLogCount: sum(txEffects.map(tx => tx.publicLogs.length)),
|
|
89
|
+
contractClassLogCount: sum(txEffects.map(tx => tx.contractClassLogs.length)),
|
|
90
|
+
contractClassLogSize: sum(txEffects.map(tx => sum(tx.contractClassLogs.map(log => log.emittedLength)))),
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
return {
|
|
94
|
+
txCount: txEffects.length,
|
|
95
|
+
blockCount: this.blocks.length,
|
|
96
|
+
slotNumber: this.header.slotNumber,
|
|
97
|
+
checkpointNumber: this.number,
|
|
98
|
+
timestamp: this.header.timestamp,
|
|
99
|
+
...logsStats,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
static async random(
|
|
104
|
+
checkpointNumber = CheckpointNumber(1),
|
|
105
|
+
{
|
|
106
|
+
numBlocks = 1,
|
|
107
|
+
startBlockNumber = 1,
|
|
108
|
+
previousArchive,
|
|
109
|
+
...options
|
|
110
|
+
}: {
|
|
111
|
+
numBlocks?: number;
|
|
112
|
+
startBlockNumber?: number;
|
|
113
|
+
previousArchive?: AppendOnlyTreeSnapshot;
|
|
114
|
+
} & Partial<Parameters<typeof CheckpointHeader.random>[0]> &
|
|
115
|
+
Partial<Parameters<typeof L2BlockNew.random>[1]> = {},
|
|
116
|
+
) {
|
|
117
|
+
const header = CheckpointHeader.random(options);
|
|
118
|
+
|
|
119
|
+
// Create blocks sequentially to chain archive roots properly.
|
|
120
|
+
// Each block's header.lastArchive must equal the previous block's archive.
|
|
121
|
+
const blocks: L2BlockNew[] = [];
|
|
122
|
+
let lastArchive = previousArchive;
|
|
123
|
+
for (let i = 0; i < numBlocks; i++) {
|
|
124
|
+
const block = await L2BlockNew.random(BlockNumber(startBlockNumber + i), {
|
|
125
|
+
indexWithinCheckpoint: i,
|
|
126
|
+
...options,
|
|
127
|
+
...(lastArchive ? { lastArchive } : {}),
|
|
128
|
+
});
|
|
129
|
+
lastArchive = block.archive;
|
|
130
|
+
blocks.push(block);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return new Checkpoint(AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { Fr, SlotNumber } from '@aztec/foundation/schemas';
|
|
3
|
+
|
|
4
|
+
export type CheckpointInfo = {
|
|
5
|
+
archive: Fr;
|
|
6
|
+
slotNumber: SlotNumber;
|
|
7
|
+
checkpointNumber: CheckpointNumber;
|
|
8
|
+
timestamp: bigint;
|
|
9
|
+
};
|