@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.d3ec352c
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 +92 -107
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +2 -2
- package/dest/abi/authorization_selector.d.ts +1 -1
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +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 +1 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/event_metadata_definition.d.ts +1 -1
- package/dest/abi/event_selector.d.ts +1 -1
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +1 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +1 -1
- package/dest/abi/function_selector.d.ts.map +1 -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 +1 -1
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/selector.d.ts +1 -1
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/auth_witness/auth_witness.d.ts +1 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +4356 -2061
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +529 -16
- package/dest/avm/avm_accumulated_data.d.ts +25 -36
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +18 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts +160 -148
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +9 -0
- 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 +1 -13
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +1 -13
- package/dest/avm/contract_storage_update_request.d.ts.map +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 +3 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +1 -10
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +1 -10
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +13 -11
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +9 -0
- package/dest/avm/public_inner_call_request.d.ts +1 -4
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +16 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +24 -8
- package/dest/aztec-address/index.d.ts +10 -1
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +24 -2
- 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 +4 -1
- package/dest/block/block_hash.d.ts +1 -1
- package/dest/block/block_hash.d.ts.map +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/in_block.d.ts +14 -19
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +3 -3
- package/dest/block/index.d.ts +3 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -1
- package/dest/block/l2_block.d.ts +18 -10
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +56 -5
- package/dest/block/l2_block_code_to_purge.d.ts +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +6 -5
- package/dest/block/l2_block_header.d.ts +12 -14
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +18 -11
- package/dest/block/l2_block_info.d.ts +21 -16
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +7 -6
- package/dest/block/l2_block_new.d.ts +110 -0
- package/dest/block/l2_block_new.d.ts.map +1 -0
- package/dest/block/l2_block_new.js +138 -0
- package/dest/block/l2_block_source.d.ts +71 -104
- 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 +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -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 +4 -3
- 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 +16 -5
- 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 +1 -1
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +1 -1
- package/dest/block/published_l2_block.d.ts +15 -28
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +12 -27
- 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 +6 -4
- 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 +124 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +62 -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 +214 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/published_checkpoint.js +71 -0
- 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 +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/complete_address.d.ts +1 -4
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class_id.d.ts +1 -1
- 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 +1 -1
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.d.ts +1 -1
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_metadata.d.ts +1 -1
- package/dest/contract/deployment_info.d.ts +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 +41 -122
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -2
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +11 -11
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
- 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 +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.d.ts +2 -2
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/contract/utility_function_membership_proof.d.ts +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 +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +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 +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +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 +10 -9
- 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 +1 -1
- 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 +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 +9 -1
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +12 -0
- package/dest/gas/gas_fees.d.ts +9 -1
- 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 +9 -1
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +12 -0
- 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 +11 -3
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +11 -1
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/interfaces/allowed_element.d.ts +5 -5
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts +6 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +22 -14
- package/dest/interfaces/aztec-node-admin.d.ts +92 -85
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +30 -24
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +26 -24
- package/dest/interfaces/block-builder.d.ts +3 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/client.d.ts +1 -1
- package/dest/interfaces/configs.d.ts +31 -21
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -1
- package/dest/interfaces/epoch-prover.d.ts +7 -7
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +6 -4
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +4 -3
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +5 -4
- 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 +5 -5
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- 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 +1680 -1163
- 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 +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/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +27 -19
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +2 -1
- package/dest/interfaces/world_state.d.ts +9 -26
- 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 +1 -1
- 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 +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/index.d.ts +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +1 -2
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +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 +1 -7
- package/dest/kernel/hints/read_request.d.ts.map +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 +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.d.ts +1 -1
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +1 -1
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.d.ts +1 -1
- package/dest/kernel/padded_side_effects.d.ts.map +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 +1 -25
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +1 -16
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +17 -5
- package/dest/kernel/private_context_inputs.d.ts +1 -1
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
- 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 +7 -20
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
- 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 +1 -23
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
- 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 +1 -16
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +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 +22 -27
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +18 -0
- 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 +1 -7
- 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 +1 -1
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +1 -1
- package/dest/keys/public_key.d.ts +1 -1
- package/dest/keys/public_keys.d.ts +9 -5
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +12 -0
- 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 +3 -3
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/logs/contract_class_log.d.ts +20 -4
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +24 -0
- 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 +1 -1
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
- 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 +7 -7
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +1 -1
- package/dest/logs/log_filter.d.ts +1 -1
- package/dest/logs/log_id.d.ts +8 -8
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +5 -4
- package/dest/logs/log_with_tx_data.d.ts +1 -1
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/message_context.d.ts +1 -1
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.d.ts +1 -1
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pre_tag.d.ts +1 -1
- package/dest/logs/private_log.d.ts +10 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +14 -5
- package/dest/logs/public_log.d.ts +9 -1
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +9 -0
- package/dest/logs/shared_secret_derivation.d.ts +1 -1
- package/dest/logs/tx_scoped_l2_log.d.ts +14 -11
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +4 -3
- 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 +1 -3
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- 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 +1 -7
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +1 -6
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message_source.d.ts +10 -3
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +1 -7
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +4 -3
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +2 -2
- package/dest/messaging/l2_to_l1_message.d.ts +17 -1
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +18 -0
- 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 +2 -17
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +75 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +106 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/note/notes_filter.d.ts +3 -1
- 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 +5 -12
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +3 -6
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -1
- package/dest/p2p/client_type.d.ts +1 -1
- package/dest/p2p/consensus_payload.d.ts +10 -188
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +16 -23
- 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/topic_type.d.ts +1 -1
- package/dest/parity/index.d.ts +1 -1
- package/dest/parity/parity_base_private_inputs.d.ts +1 -3
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +1 -4
- package/dest/parity/parity_public_inputs.d.ts.map +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 +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/index.d.ts +1 -1
- package/dest/proofs/proof.d.ts +1 -4
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof_data.d.ts +1 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.d.ts +1 -1
- package/dest/proofs/recursive_proof.d.ts +2 -26
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +1 -34
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +1 -12
- package/dest/rollup/block_constant_data.d.ts.map +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 +8 -40
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +8 -2
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
- package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +27 -3
- package/dest/rollup/checkpoint_header.d.ts +16 -14
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +40 -13
- 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 +1 -25
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
- package/dest/rollup/epoch_constant_data.d.ts +1 -16
- package/dest/rollup/epoch_constant_data.d.ts.map +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 +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +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/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 +1 -3
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +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 +1 -29
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +86 -15
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +12 -1
- 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 +10 -10
- 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/upload.d.ts +1 -1
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +1 -1
- package/dest/tests/factories.d.ts +34 -29
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +76 -151
- 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 +54 -23
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +135 -34
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +9 -9
- package/dest/trees/database_public_state_source.d.ts +1 -1
- package/dest/trees/database_public_state_source.d.ts.map +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 +17 -13
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +24 -0
- package/dest/trees/nullifier_membership_witness.d.ts +4 -37
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +28 -27
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +24 -0
- package/dest/trees/public_data_witness.d.ts +11 -45
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +7 -14
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +13 -2
- package/dest/tx/call_context.d.ts +6 -18
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +1 -4
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/content_commitment.d.ts +3 -2
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +10 -2
- 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 +4 -6
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +3 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +52 -31
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +50 -10
- package/dest/tx/hashed_values.d.ts +1 -7
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +9 -6
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +5 -2
- package/dest/tx/offchain_effect.d.ts +1 -1
- package/dest/tx/partial_state_reference.d.ts +4 -7
- 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 +16 -51
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -3
- package/dest/tx/private_tx_constant_data.d.ts +1 -16
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/processed_tx.d.ts +2 -2
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +4 -1
- package/dest/tx/profiling.d.ts +38 -38
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +5 -4
- package/dest/tx/protocol_contracts.d.ts +10 -2
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +9 -0
- 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 +9 -7
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +12 -0
- package/dest/tx/public_simulation_output.d.ts +3 -1
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +8 -1
- package/dest/tx/simulated_tx.d.ts +21 -21
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +10 -12
- 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 +15 -7
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +9 -0
- package/dest/tx/tx.d.ts +4 -18
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +6 -4
- package/dest/tx/tx_constant_data.d.ts +1 -1
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_context.d.ts +1 -2
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +20 -42
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +54 -59
- package/dest/tx/tx_execution_request.d.ts +1 -30
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_hash.d.ts +1 -2
- package/dest/tx/tx_hash.d.ts.map +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 +1 -6
- package/dest/tx/tx_request.d.ts.map +1 -1
- 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 -5
- 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 +2 -3
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/validators/errors.d.ts +6 -7
- 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 +7 -7
- 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 +1 -1
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +10 -22
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +20 -0
- package/dest/vks/vk_data.d.ts +1 -7
- package/dest/vks/vk_data.d.ts.map +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 +1 -1
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/abi/abi.ts +4 -4
- package/src/abi/contract_artifact.ts +3 -3
- package/src/avm/avm.ts +777 -6
- package/src/avm/avm_accumulated_data.ts +40 -0
- package/src/avm/avm_circuit_public_inputs.ts +40 -0
- package/src/avm/message_pack.ts +4 -1
- package/src/avm/public_data_write.ts +12 -1
- package/src/avm/revert_code.ts +29 -9
- package/src/aztec-address/index.ts +26 -2
- package/src/block/attestation_info.ts +8 -1
- package/src/block/block_parameter.ts +8 -0
- package/src/block/body.ts +16 -39
- package/src/block/in_block.ts +13 -9
- package/src/block/index.ts +2 -1
- package/src/block/l2_block.ts +70 -7
- package/src/block/l2_block_code_to_purge.ts +6 -4
- package/src/block/l2_block_header.ts +19 -5
- package/src/block/l2_block_info.ts +10 -9
- package/src/block/l2_block_new.ts +176 -0
- package/src/block/l2_block_source.ts +48 -29
- package/src/block/l2_block_stream/l2_block_stream.ts +10 -5
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -2
- package/src/block/proposal/attestations_and_signers.ts +20 -1
- package/src/block/published_l2_block.ts +14 -31
- package/src/block/test/l2_tips_store_test_suite.ts +8 -3
- package/src/block/validate_block_result.ts +9 -7
- package/src/checkpoint/checkpoint.ts +88 -0
- package/src/checkpoint/index.ts +2 -1
- package/src/checkpoint/published_checkpoint.ts +91 -0
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/index.ts +1 -0
- package/src/contract/interfaces/contract_data_source.ts +2 -1
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/epoch-helpers/index.ts +28 -21
- package/src/file-store/http.ts +6 -3
- package/src/file-store/s3.ts +3 -7
- package/src/gas/gas.ts +14 -0
- package/src/gas/gas_fees.ts +14 -0
- package/src/gas/gas_settings.ts +19 -0
- package/src/gas/gas_used.ts +22 -1
- package/src/hash/hash.ts +13 -2
- package/src/interfaces/archiver.ts +27 -13
- package/src/interfaces/aztec-node.ts +64 -48
- package/src/interfaces/block-builder.ts +2 -1
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/epoch-prover.ts +5 -6
- package/src/interfaces/l2_logs_source.ts +3 -2
- package/src/interfaces/merkle_tree_operations.ts +4 -3
- package/src/interfaces/p2p.ts +4 -2
- package/src/interfaces/proving-job.ts +14 -5
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +5 -2
- package/src/interfaces/world_state.ts +12 -11
- package/src/kernel/hints/build_transient_data_hints.ts +2 -2
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/private_circuit_public_inputs.ts +29 -9
- package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
- package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
- package/src/kernel/private_validation_requests.ts +1 -13
- package/src/kernel/public_call_request.ts +27 -0
- package/src/keys/public_keys.ts +19 -0
- package/src/logs/contract_class_log.ts +32 -0
- package/src/logs/debug_log.ts +20 -1
- package/src/logs/log_id.ts +6 -5
- package/src/logs/private_log.ts +19 -3
- package/src/logs/public_log.ts +14 -0
- package/src/logs/tx_scoped_l2_log.ts +5 -4
- package/src/messaging/in_hash.ts +10 -0
- package/src/messaging/index.ts +2 -0
- package/src/messaging/l1_to_l2_message_source.ts +10 -2
- package/src/messaging/l2_to_l1_membership.ts +5 -4
- package/src/messaging/l2_to_l1_message.ts +25 -0
- 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_dao.ts +161 -0
- package/src/note/notes_filter.ts +3 -0
- package/src/p2p/block_attestation.ts +2 -1
- package/src/p2p/block_proposal.ts +3 -2
- package/src/p2p/consensus_payload.ts +16 -26
- package/src/p2p/gossipable.ts +17 -8
- package/src/rollup/block_headers_hash.ts +12 -0
- package/src/rollup/block_rollup_public_inputs.ts +8 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
- package/src/rollup/checkpoint_constant_data.ts +43 -4
- package/src/rollup/checkpoint_header.ts +48 -22
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
- package/src/rollup/index.ts +1 -0
- package/src/schemas/schemas.ts +18 -0
- package/src/slashing/empire.ts +6 -4
- package/src/slashing/helpers.ts +17 -12
- package/src/slashing/interfaces.ts +3 -1
- package/src/tests/factories.ts +213 -229
- package/src/tests/mocks.ts +230 -51
- package/src/trees/append_only_tree_snapshot.ts +11 -12
- package/src/trees/nullifier_leaf.ts +32 -0
- package/src/trees/public_data_leaf.ts +32 -0
- package/src/tx/block_header.ts +17 -4
- package/src/tx/content_commitment.ts +11 -2
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/global_variable_builder.ts +2 -1
- package/src/tx/global_variables.ts +69 -15
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +5 -4
- package/src/tx/partial_state_reference.ts +9 -17
- package/src/tx/private_execution_result.ts +7 -4
- package/src/tx/processed_tx.ts +8 -2
- package/src/tx/profiling.ts +4 -6
- package/src/tx/protocol_contracts.ts +16 -0
- package/src/tx/public_call_request_with_calldata.ts +17 -0
- package/src/tx/public_simulation_output.ts +18 -1
- package/src/tx/state_reference.ts +9 -15
- package/src/tx/tree_snapshots.ts +16 -0
- package/src/tx/tx.ts +7 -6
- package/src/tx/tx_effect.ts +84 -90
- package/src/tx/tx_receipt.ts +3 -2
- package/src/validators/errors.ts +3 -4
- package/src/validators/schemas.ts +7 -7
- package/src/validators/types.ts +9 -8
- package/src/vks/verification_key.ts +25 -0
- package/src/world-state/world_state_revision.ts +47 -5
- 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/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/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/note/unique_note.ts +0 -88
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { type ZodFor, schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
@@ -36,6 +37,8 @@ export class L2BlockHeader {
|
|
|
36
37
|
public totalManaUsed: Fr,
|
|
37
38
|
/** Hash of the sponge blob of the block. */
|
|
38
39
|
public spongeBlobHash: Fr,
|
|
40
|
+
/** Hash of the block headers in the checkpoint. */
|
|
41
|
+
public blockHeadersHash: Fr,
|
|
39
42
|
) {}
|
|
40
43
|
|
|
41
44
|
static get schema(): ZodFor<L2BlockHeader> {
|
|
@@ -48,6 +51,7 @@ export class L2BlockHeader {
|
|
|
48
51
|
totalFees: schemas.Fr,
|
|
49
52
|
totalManaUsed: schemas.Fr,
|
|
50
53
|
spongeBlobHash: schemas.Fr,
|
|
54
|
+
blockHeadersHash: schemas.Fr,
|
|
51
55
|
})
|
|
52
56
|
.transform(L2BlockHeader.from);
|
|
53
57
|
}
|
|
@@ -61,6 +65,7 @@ export class L2BlockHeader {
|
|
|
61
65
|
fields.totalFees,
|
|
62
66
|
fields.totalManaUsed,
|
|
63
67
|
fields.spongeBlobHash,
|
|
68
|
+
fields.blockHeadersHash,
|
|
64
69
|
] as const;
|
|
65
70
|
}
|
|
66
71
|
|
|
@@ -68,8 +73,8 @@ export class L2BlockHeader {
|
|
|
68
73
|
return new L2BlockHeader(...L2BlockHeader.getFields(fields));
|
|
69
74
|
}
|
|
70
75
|
|
|
71
|
-
getSlot() {
|
|
72
|
-
return this.globalVariables.slotNumber
|
|
76
|
+
getSlot(): SlotNumber {
|
|
77
|
+
return this.globalVariables.slotNumber;
|
|
73
78
|
}
|
|
74
79
|
|
|
75
80
|
getBlockNumber() {
|
|
@@ -84,7 +89,8 @@ export class L2BlockHeader {
|
|
|
84
89
|
this.globalVariables.getSize() +
|
|
85
90
|
this.totalFees.size +
|
|
86
91
|
this.totalManaUsed.size +
|
|
87
|
-
this.spongeBlobHash.size
|
|
92
|
+
this.spongeBlobHash.size +
|
|
93
|
+
this.blockHeadersHash.size
|
|
88
94
|
);
|
|
89
95
|
}
|
|
90
96
|
|
|
@@ -111,6 +117,7 @@ export class L2BlockHeader {
|
|
|
111
117
|
reader.readObject(Fr),
|
|
112
118
|
reader.readObject(Fr),
|
|
113
119
|
reader.readObject(Fr),
|
|
120
|
+
reader.readObject(Fr),
|
|
114
121
|
);
|
|
115
122
|
}
|
|
116
123
|
|
|
@@ -125,6 +132,7 @@ export class L2BlockHeader {
|
|
|
125
132
|
reader.readField(),
|
|
126
133
|
reader.readField(),
|
|
127
134
|
reader.readField(),
|
|
135
|
+
reader.readField(),
|
|
128
136
|
);
|
|
129
137
|
}
|
|
130
138
|
|
|
@@ -137,6 +145,7 @@ export class L2BlockHeader {
|
|
|
137
145
|
totalFees: Fr.ZERO,
|
|
138
146
|
totalManaUsed: Fr.ZERO,
|
|
139
147
|
spongeBlobHash: Fr.ZERO,
|
|
148
|
+
blockHeadersHash: Fr.ZERO,
|
|
140
149
|
...fields,
|
|
141
150
|
});
|
|
142
151
|
}
|
|
@@ -149,7 +158,8 @@ export class L2BlockHeader {
|
|
|
149
158
|
this.globalVariables.isEmpty() &&
|
|
150
159
|
this.totalFees.isZero() &&
|
|
151
160
|
this.totalManaUsed.isZero() &&
|
|
152
|
-
this.spongeBlobHash.isZero()
|
|
161
|
+
this.spongeBlobHash.isZero() &&
|
|
162
|
+
this.blockHeadersHash.isZero()
|
|
153
163
|
);
|
|
154
164
|
}
|
|
155
165
|
|
|
@@ -168,6 +178,7 @@ export class L2BlockHeader {
|
|
|
168
178
|
toCheckpointHeader() {
|
|
169
179
|
return new CheckpointHeader(
|
|
170
180
|
this.lastArchive.root,
|
|
181
|
+
this.blockHeadersHash,
|
|
171
182
|
this.contentCommitment,
|
|
172
183
|
this.globalVariables.slotNumber,
|
|
173
184
|
this.globalVariables.timestamp,
|
|
@@ -198,6 +209,7 @@ export class L2BlockHeader {
|
|
|
198
209
|
totalFees: this.totalFees.toBigInt(),
|
|
199
210
|
totalManaUsed: this.totalManaUsed.toBigInt(),
|
|
200
211
|
spongeBlobHash: this.spongeBlobHash.toString(),
|
|
212
|
+
blockHeadersHash: this.blockHeadersHash.toString(),
|
|
201
213
|
};
|
|
202
214
|
}
|
|
203
215
|
|
|
@@ -215,6 +227,7 @@ export class L2BlockHeader {
|
|
|
215
227
|
totalFees: ${this.totalFees},
|
|
216
228
|
totalManaUsed: ${this.totalManaUsed},
|
|
217
229
|
spongeBlobHash: ${this.spongeBlobHash},
|
|
230
|
+
blockHeadersHash: ${this.blockHeadersHash},
|
|
218
231
|
}`;
|
|
219
232
|
}
|
|
220
233
|
|
|
@@ -226,7 +239,8 @@ export class L2BlockHeader {
|
|
|
226
239
|
this.totalFees.equals(other.totalFees) &&
|
|
227
240
|
this.totalManaUsed.equals(other.totalManaUsed) &&
|
|
228
241
|
this.lastArchive.equals(other.lastArchive) &&
|
|
229
|
-
this.spongeBlobHash.equals(other.spongeBlobHash)
|
|
242
|
+
this.spongeBlobHash.equals(other.spongeBlobHash) &&
|
|
243
|
+
this.blockHeadersHash.equals(other.blockHeadersHash)
|
|
230
244
|
);
|
|
231
245
|
}
|
|
232
246
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber, BlockNumberSchema, SlotNumber, SlotNumberSchema } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -8,19 +9,19 @@ export type L2BlockInfo = {
|
|
|
8
9
|
blockHash?: Fr;
|
|
9
10
|
archive: Fr;
|
|
10
11
|
lastArchive: Fr;
|
|
11
|
-
blockNumber:
|
|
12
|
-
slotNumber:
|
|
12
|
+
blockNumber: BlockNumber;
|
|
13
|
+
slotNumber: SlotNumber;
|
|
13
14
|
txCount: number;
|
|
14
15
|
timestamp: bigint;
|
|
15
16
|
};
|
|
16
17
|
|
|
17
|
-
export function randomBlockInfo(blockNumber?: number): L2BlockInfo {
|
|
18
|
+
export function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo {
|
|
18
19
|
return {
|
|
19
20
|
blockHash: Fr.random(),
|
|
20
21
|
archive: Fr.random(),
|
|
21
22
|
lastArchive: Fr.random(),
|
|
22
|
-
blockNumber: blockNumber ?? Math.floor(Math.random() * 100000) + 1,
|
|
23
|
-
slotNumber: Math.floor(Math.random() * 100000) + 1,
|
|
23
|
+
blockNumber: BlockNumber(blockNumber ?? Math.floor(Math.random() * 100000) + 1),
|
|
24
|
+
slotNumber: SlotNumber(Math.floor(Math.random() * 100000) + 1),
|
|
24
25
|
txCount: Math.floor(Math.random() * 100),
|
|
25
26
|
timestamp: BigInt(Math.floor(Date.now() / 1000)),
|
|
26
27
|
};
|
|
@@ -30,8 +31,8 @@ export const BlockInfoSchema = z.object({
|
|
|
30
31
|
blockHash: schemas.Fr.optional(),
|
|
31
32
|
archive: schemas.Fr,
|
|
32
33
|
lastArchive: schemas.Fr,
|
|
33
|
-
blockNumber:
|
|
34
|
-
slotNumber:
|
|
34
|
+
blockNumber: BlockNumberSchema,
|
|
35
|
+
slotNumber: SlotNumberSchema,
|
|
35
36
|
txCount: z.number(),
|
|
36
37
|
timestamp: schemas.BigInt,
|
|
37
38
|
});
|
|
@@ -55,8 +56,8 @@ export function deserializeBlockInfo(buffer: Buffer | BufferReader): L2BlockInfo
|
|
|
55
56
|
blockHash: blockHash.equals(Fr.ZERO) ? undefined : blockHash,
|
|
56
57
|
archive: reader.readObject(Fr),
|
|
57
58
|
lastArchive: reader.readObject(Fr),
|
|
58
|
-
blockNumber: reader.readNumber(),
|
|
59
|
-
slotNumber: reader.readNumber(),
|
|
59
|
+
blockNumber: BlockNumber(reader.readNumber()),
|
|
60
|
+
slotNumber: SlotNumber(reader.readNumber()),
|
|
60
61
|
txCount: reader.readNumber(),
|
|
61
62
|
timestamp: reader.readBigInt(),
|
|
62
63
|
};
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
|
|
2
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
+
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
|
|
8
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
9
|
+
import { BlockHeader } from '../tx/block_header.js';
|
|
10
|
+
import { Body } from './body.js';
|
|
11
|
+
import type { L2BlockInfo } from './l2_block_info.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* An L2 block with a header and a body.
|
|
15
|
+
* TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
|
|
16
|
+
*/
|
|
17
|
+
export class L2BlockNew {
|
|
18
|
+
constructor(
|
|
19
|
+
/** Snapshot of archive tree after the block is applied. */
|
|
20
|
+
public archive: AppendOnlyTreeSnapshot,
|
|
21
|
+
/** Header of the block. */
|
|
22
|
+
public header: BlockHeader,
|
|
23
|
+
/** L2 block body. */
|
|
24
|
+
public body: Body,
|
|
25
|
+
private blockHash: Fr | undefined = undefined,
|
|
26
|
+
) {}
|
|
27
|
+
|
|
28
|
+
get number(): BlockNumber {
|
|
29
|
+
return this.header.globalVariables.blockNumber;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
get timestamp(): bigint {
|
|
33
|
+
return this.header.globalVariables.timestamp;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static get schema() {
|
|
37
|
+
return z
|
|
38
|
+
.object({
|
|
39
|
+
archive: AppendOnlyTreeSnapshot.schema,
|
|
40
|
+
header: BlockHeader.schema,
|
|
41
|
+
body: Body.schema,
|
|
42
|
+
})
|
|
43
|
+
.transform(({ archive, header, body }) => new L2BlockNew(archive, header, body));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Deserializes a block from a buffer
|
|
48
|
+
* @returns A deserialized L2 block.
|
|
49
|
+
*/
|
|
50
|
+
static fromBuffer(buf: Buffer | BufferReader) {
|
|
51
|
+
const reader = BufferReader.asReader(buf);
|
|
52
|
+
const header = reader.readObject(BlockHeader);
|
|
53
|
+
const archive = reader.readObject(AppendOnlyTreeSnapshot);
|
|
54
|
+
const body = reader.readObject(Body);
|
|
55
|
+
|
|
56
|
+
return new L2BlockNew(archive, header, body);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Serializes a block
|
|
61
|
+
* @returns A serialized L2 block as a Buffer.
|
|
62
|
+
*/
|
|
63
|
+
toBuffer() {
|
|
64
|
+
return serializeToBuffer(this.header, this.archive, this.body);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Returns the block's hash (hash of block header).
|
|
69
|
+
* @returns The block's hash.
|
|
70
|
+
*/
|
|
71
|
+
public async hash(): Promise<Fr> {
|
|
72
|
+
if (this.blockHash === undefined) {
|
|
73
|
+
this.blockHash = await this.header.hash();
|
|
74
|
+
}
|
|
75
|
+
return this.blockHash;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public toBlobFields(isFirstBlock: boolean): Fr[] {
|
|
79
|
+
const blockBlobData = this.toBlockBlobData(isFirstBlock);
|
|
80
|
+
return encodeBlockBlobData(blockBlobData);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public toBlockBlobData(isFirstBlock: boolean): BlockBlobData {
|
|
84
|
+
return {
|
|
85
|
+
blockEndMarker: {
|
|
86
|
+
numTxs: this.body.txEffects.length,
|
|
87
|
+
timestamp: this.header.globalVariables.timestamp,
|
|
88
|
+
blockNumber: this.number,
|
|
89
|
+
},
|
|
90
|
+
blockEndStateField: {
|
|
91
|
+
l1ToL2MessageNextAvailableLeafIndex: this.header.state.l1ToL2MessageTree.nextAvailableLeafIndex,
|
|
92
|
+
noteHashNextAvailableLeafIndex: this.header.state.partial.noteHashTree.nextAvailableLeafIndex,
|
|
93
|
+
nullifierNextAvailableLeafIndex: this.header.state.partial.nullifierTree.nextAvailableLeafIndex,
|
|
94
|
+
publicDataNextAvailableLeafIndex: this.header.state.partial.publicDataTree.nextAvailableLeafIndex,
|
|
95
|
+
totalManaUsed: this.header.totalManaUsed.toBigInt(),
|
|
96
|
+
},
|
|
97
|
+
lastArchiveRoot: this.header.lastArchive.root,
|
|
98
|
+
noteHashRoot: this.header.state.partial.noteHashTree.root,
|
|
99
|
+
nullifierRoot: this.header.state.partial.nullifierTree.root,
|
|
100
|
+
publicDataRoot: this.header.state.partial.publicDataTree.root,
|
|
101
|
+
l1ToL2MessageRoot: isFirstBlock ? this.header.state.l1ToL2MessageTree.root : undefined,
|
|
102
|
+
txs: this.body.toTxBlobData(),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
static empty() {
|
|
107
|
+
return new L2BlockNew(AppendOnlyTreeSnapshot.empty(), BlockHeader.empty(), Body.empty());
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Creates an L2 block containing random data.
|
|
112
|
+
* @param l2BlockNum - The number of the L2 block.
|
|
113
|
+
* @param txsPerBlock - The number of transactions to include in the block.
|
|
114
|
+
* @param numPublicCallsPerTx - The number of public function calls to include in each transaction.
|
|
115
|
+
* @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
|
|
116
|
+
* @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
|
|
117
|
+
* @returns The L2 block.
|
|
118
|
+
*/
|
|
119
|
+
static async random(
|
|
120
|
+
blockNumber: BlockNumber,
|
|
121
|
+
{
|
|
122
|
+
txsPerBlock = 1,
|
|
123
|
+
txOptions = {},
|
|
124
|
+
makeTxOptions,
|
|
125
|
+
...blockHeaderOverrides
|
|
126
|
+
}: {
|
|
127
|
+
txsPerBlock?: number;
|
|
128
|
+
txOptions?: Partial<Parameters<typeof Body.random>[0]>;
|
|
129
|
+
makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
|
|
130
|
+
} & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
|
|
131
|
+
): Promise<L2BlockNew> {
|
|
132
|
+
const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
|
|
133
|
+
const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
|
|
134
|
+
const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
|
|
135
|
+
return new L2BlockNew(archive, header, body);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Returns stats used for logging.
|
|
140
|
+
* @returns Stats on tx count, number, and log size and count.
|
|
141
|
+
*/
|
|
142
|
+
getStats() {
|
|
143
|
+
const logsStats = {
|
|
144
|
+
privateLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.privateLogs.length, 0),
|
|
145
|
+
publicLogCount: this.body.txEffects.reduce((logCount, txEffect) => logCount + txEffect.publicLogs.length, 0),
|
|
146
|
+
contractClassLogCount: this.body.txEffects.reduce(
|
|
147
|
+
(logCount, txEffect) => logCount + txEffect.contractClassLogs.length,
|
|
148
|
+
0,
|
|
149
|
+
),
|
|
150
|
+
contractClassLogSize: this.body.txEffects.reduce(
|
|
151
|
+
(totalLogSize, txEffect) =>
|
|
152
|
+
totalLogSize + txEffect.contractClassLogs.reduce((acc, log) => acc + log.emittedLength, 0),
|
|
153
|
+
0,
|
|
154
|
+
),
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
return {
|
|
158
|
+
txCount: this.body.txEffects.length,
|
|
159
|
+
blockNumber: this.number,
|
|
160
|
+
blockTimestamp: Number(this.header.globalVariables.timestamp),
|
|
161
|
+
...logsStats,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
toBlockInfo(): L2BlockInfo {
|
|
166
|
+
return {
|
|
167
|
+
blockHash: this.blockHash,
|
|
168
|
+
archive: this.archive.root,
|
|
169
|
+
lastArchive: this.header.lastArchive.root,
|
|
170
|
+
blockNumber: this.number,
|
|
171
|
+
slotNumber: this.header.getSlot(),
|
|
172
|
+
txCount: this.body.txEffects.length,
|
|
173
|
+
timestamp: this.header.globalVariables.timestamp,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BlockNumber,
|
|
3
|
+
BlockNumberSchema,
|
|
4
|
+
type CheckpointNumber,
|
|
5
|
+
type EpochNumber,
|
|
6
|
+
type SlotNumber,
|
|
7
|
+
} from '@aztec/foundation/branded-types';
|
|
1
8
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
9
|
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';
|
|
@@ -33,27 +42,27 @@ export interface L2BlockSource {
|
|
|
33
42
|
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
34
43
|
* @returns The number of the latest L2 block processed by the block source implementation.
|
|
35
44
|
*/
|
|
36
|
-
getBlockNumber(): Promise<
|
|
45
|
+
getBlockNumber(): Promise<BlockNumber>;
|
|
37
46
|
|
|
38
47
|
/**
|
|
39
48
|
* Gets the number of the latest L2 block proven seen by the block source implementation.
|
|
40
49
|
* @returns The number of the latest L2 block proven seen by the block source implementation.
|
|
41
50
|
*/
|
|
42
|
-
getProvenBlockNumber(): Promise<
|
|
51
|
+
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
43
52
|
|
|
44
53
|
/**
|
|
45
54
|
* Gets an l2 block. If a negative number is passed, the block returned is the most recent.
|
|
46
55
|
* @param number - The block number to return (inclusive).
|
|
47
56
|
* @returns The requested L2 block.
|
|
48
57
|
*/
|
|
49
|
-
getBlock(number:
|
|
58
|
+
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
50
59
|
|
|
51
60
|
/**
|
|
52
61
|
* Gets an l2 block header.
|
|
53
62
|
* @param number - The block number to return or 'latest' for the most recent one.
|
|
54
63
|
* @returns The requested L2 block header.
|
|
55
64
|
*/
|
|
56
|
-
getBlockHeader(number:
|
|
65
|
+
getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
|
|
57
66
|
|
|
58
67
|
/**
|
|
59
68
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
@@ -62,10 +71,20 @@ export interface L2BlockSource {
|
|
|
62
71
|
* @param proven - If true, only return blocks that have been proven.
|
|
63
72
|
* @returns The requested L2 blocks.
|
|
64
73
|
*/
|
|
65
|
-
getBlocks(from:
|
|
74
|
+
getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
|
|
75
|
+
|
|
76
|
+
getPublishedCheckpoints(from: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Gets a checkpoint by the archive root, which should be the root of the archive tree after the requested checkpoint
|
|
80
|
+
* is applied.
|
|
81
|
+
* @param archive - The new archive root of the checkpoint.
|
|
82
|
+
* @returns The requested checkpoint (or undefined if not found).
|
|
83
|
+
*/
|
|
84
|
+
getCheckpointByArchive(archive: Fr): Promise<Checkpoint | undefined>;
|
|
66
85
|
|
|
67
86
|
/** Equivalent to getBlocks but includes publish data. */
|
|
68
|
-
getPublishedBlocks(from:
|
|
87
|
+
getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
|
|
69
88
|
|
|
70
89
|
/**
|
|
71
90
|
* Gets a published block by its hash.
|
|
@@ -112,32 +131,39 @@ export interface L2BlockSource {
|
|
|
112
131
|
/**
|
|
113
132
|
* Returns the current L2 slot number based on the currently synced L1 timestamp.
|
|
114
133
|
*/
|
|
115
|
-
getL2SlotNumber(): Promise<
|
|
134
|
+
getL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
116
135
|
|
|
117
136
|
/**
|
|
118
137
|
* Returns the current L2 epoch number based on the currently synced L1 timestamp.
|
|
119
138
|
*/
|
|
120
|
-
getL2EpochNumber(): Promise<
|
|
139
|
+
getL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Returns all checkpoints for a given epoch.
|
|
143
|
+
* @dev Use this method only with recent epochs, since it walks the checkpoint list backwards.
|
|
144
|
+
* @param epochNumber - The epoch number to return checkpoints for.
|
|
145
|
+
*/
|
|
146
|
+
getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
121
147
|
|
|
122
148
|
/**
|
|
123
149
|
* Returns all blocks for a given epoch.
|
|
124
150
|
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
125
151
|
* @param epochNumber - The epoch number to return blocks for.
|
|
126
152
|
*/
|
|
127
|
-
getBlocksForEpoch(epochNumber:
|
|
153
|
+
getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
|
|
128
154
|
|
|
129
155
|
/**
|
|
130
156
|
* Returns all block headers for a given epoch.
|
|
131
157
|
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
132
158
|
* @param epochNumber - The epoch number to return headers for.
|
|
133
159
|
*/
|
|
134
|
-
getBlockHeadersForEpoch(epochNumber:
|
|
160
|
+
getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
135
161
|
|
|
136
162
|
/**
|
|
137
163
|
* Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
|
|
138
164
|
* @param epochNumber - The epoch number to check.
|
|
139
165
|
*/
|
|
140
|
-
isEpochComplete(epochNumber:
|
|
166
|
+
isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
|
|
141
167
|
|
|
142
168
|
/**
|
|
143
169
|
* Returns the tips of the L2 chain.
|
|
@@ -194,33 +220,26 @@ export type L2BlockTag = 'latest' | 'proven' | 'finalized';
|
|
|
194
220
|
export type L2Tips = Record<L2BlockTag, L2BlockId>;
|
|
195
221
|
|
|
196
222
|
/** Identifies a block by number and hash. */
|
|
197
|
-
export type L2BlockId =
|
|
223
|
+
export type L2BlockId = { number: BlockNumber; hash: string };
|
|
198
224
|
|
|
199
225
|
/** Creates an L2 block id */
|
|
200
|
-
export function makeL2BlockId(number:
|
|
226
|
+
export function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId {
|
|
201
227
|
if (number !== 0 && !hash) {
|
|
202
228
|
throw new Error(`Hash is required for non-genesis blocks (got block number ${number})`);
|
|
203
229
|
}
|
|
204
230
|
return { number, hash: hash! };
|
|
205
231
|
}
|
|
206
232
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
z.
|
|
210
|
-
|
|
211
|
-
hash: z.undefined(),
|
|
212
|
-
}),
|
|
213
|
-
z.object({
|
|
214
|
-
number: z.number(),
|
|
215
|
-
hash: z.string(),
|
|
216
|
-
}),
|
|
217
|
-
]);
|
|
233
|
+
const L2BlockIdSchema = z.object({
|
|
234
|
+
number: BlockNumberSchema,
|
|
235
|
+
hash: z.string(),
|
|
236
|
+
});
|
|
218
237
|
|
|
219
238
|
export const L2TipsSchema = z.object({
|
|
220
239
|
latest: L2BlockIdSchema,
|
|
221
240
|
proven: L2BlockIdSchema,
|
|
222
241
|
finalized: L2BlockIdSchema,
|
|
223
|
-
})
|
|
242
|
+
});
|
|
224
243
|
|
|
225
244
|
export enum L2BlockSourceEvents {
|
|
226
245
|
L2PruneDetected = 'l2PruneDetected',
|
|
@@ -230,14 +249,14 @@ export enum L2BlockSourceEvents {
|
|
|
230
249
|
|
|
231
250
|
export type L2BlockProvenEvent = {
|
|
232
251
|
type: 'l2BlockProven';
|
|
233
|
-
blockNumber:
|
|
234
|
-
slotNumber:
|
|
235
|
-
epochNumber:
|
|
252
|
+
blockNumber: BlockNumber;
|
|
253
|
+
slotNumber: SlotNumber;
|
|
254
|
+
epochNumber: EpochNumber;
|
|
236
255
|
};
|
|
237
256
|
|
|
238
257
|
export type L2BlockPruneEvent = {
|
|
239
258
|
type: 'l2PruneDetected';
|
|
240
|
-
epochNumber:
|
|
259
|
+
epochNumber: EpochNumber;
|
|
241
260
|
blocks: L2Block[];
|
|
242
261
|
};
|
|
243
262
|
|
|
@@ -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';
|
|
@@ -74,7 +75,7 @@ export class L2BlockStream {
|
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
if (latestBlockNumber < localTips.latest.number) {
|
|
77
|
-
latestBlockNumber = Math.min(latestBlockNumber, sourceTips.latest.number); // see #13471
|
|
78
|
+
latestBlockNumber = BlockNumber(Math.min(latestBlockNumber, sourceTips.latest.number)); // see #13471
|
|
78
79
|
const hash = sourceCache.get(latestBlockNumber) ?? (await this.getBlockHashFromSource(latestBlockNumber));
|
|
79
80
|
if (latestBlockNumber !== 0 && !hash) {
|
|
80
81
|
throw new Error(`Block hash not found in block source for block number ${latestBlockNumber}`);
|
|
@@ -85,7 +86,7 @@ export class L2BlockStream {
|
|
|
85
86
|
|
|
86
87
|
// If we are just starting, use the starting block number from the options.
|
|
87
88
|
if (latestBlockNumber === 0 && this.opts.startingBlock !== undefined) {
|
|
88
|
-
latestBlockNumber = Math.max(this.opts.startingBlock - 1, 0);
|
|
89
|
+
latestBlockNumber = BlockNumber(Math.max(this.opts.startingBlock - 1, 0));
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
// Only log this entry once (for sanity)
|
|
@@ -108,7 +109,11 @@ export class L2BlockStream {
|
|
|
108
109
|
while (nextBlockNumber <= sourceTips.latest.number) {
|
|
109
110
|
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.latest.number - nextBlockNumber + 1);
|
|
110
111
|
this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit} proven=${this.opts.proven}`);
|
|
111
|
-
const blocks = await this.l2BlockSource.getPublishedBlocks(
|
|
112
|
+
const blocks = await this.l2BlockSource.getPublishedBlocks(
|
|
113
|
+
BlockNumber(nextBlockNumber),
|
|
114
|
+
limit,
|
|
115
|
+
this.opts.proven,
|
|
116
|
+
);
|
|
112
117
|
if (blocks.length === 0) {
|
|
113
118
|
break;
|
|
114
119
|
}
|
|
@@ -139,7 +144,7 @@ export class L2BlockStream {
|
|
|
139
144
|
* @param blockNumber - The block number to test.
|
|
140
145
|
* @param args - A cache of data already requested from source, to avoid re-requesting it.
|
|
141
146
|
*/
|
|
142
|
-
private async areBlockHashesEqualAt(blockNumber:
|
|
147
|
+
private async areBlockHashesEqualAt(blockNumber: BlockNumber, args: { sourceCache: BlockHashCache }) {
|
|
143
148
|
if (blockNumber === 0) {
|
|
144
149
|
return true;
|
|
145
150
|
}
|
|
@@ -163,7 +168,7 @@ export class L2BlockStream {
|
|
|
163
168
|
return localBlockHash === sourceBlockHash;
|
|
164
169
|
}
|
|
165
170
|
|
|
166
|
-
private getBlockHashFromSource(blockNumber:
|
|
171
|
+
private getBlockHashFromSource(blockNumber: BlockNumber) {
|
|
167
172
|
return this.l2BlockSource
|
|
168
173
|
.getBlockHeader(blockNumber)
|
|
169
174
|
.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) {
|
|
@@ -5,7 +5,7 @@ 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
|
+
}
|