@aztec/stdlib 0.0.1-commit.fce3e4f → 0.0.1-commit.ff7989d6c
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 +603 -5
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +7 -7
- 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 +2 -2
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +1 -1
- 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_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 +48 -10
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- 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/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 +4 -2
- package/dest/abi/utils.d.ts +7 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/auth_witness/auth_witness.d.ts +3 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +5 -5
- package/dest/avm/avm.d.ts +598 -386
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +238 -22
- package/dest/avm/avm_accumulated_data.d.ts +31 -4
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +6 -3
- package/dest/avm/avm_circuit_public_inputs.d.ts +14 -12
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +4 -2
- package/dest/avm/avm_proving_request.d.ts +306 -302
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +14 -2
- 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 +14 -2
- 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/message_pack.d.ts +1 -1
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +2 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts +4 -2
- 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 +11 -2
- 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 +11 -2
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.js +4 -2
- package/dest/avm/public_data_write.d.ts +8 -2
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +1 -1
- package/dest/avm/public_inner_call_request.d.ts +5 -2
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +3 -1
- package/dest/avm/revert_code.d.ts +5 -5
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +4 -2
- package/dest/aztec-address/index.d.ts +3 -2
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +5 -2
- package/dest/block/attestation_info.d.ts +5 -5
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +5 -5
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +19 -15
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +23 -21
- package/dest/block/block_parameter.d.ts +6 -0
- package/dest/block/block_parameter.d.ts.map +1 -0
- package/dest/block/block_parameter.js +8 -0
- package/dest/block/body.d.ts +1 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +5 -2
- package/dest/block/checkpointed_l2_block.d.ts +150 -0
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
- package/dest/block/checkpointed_l2_block.js +46 -0
- package/dest/block/in_block.d.ts +34 -15
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +21 -12
- package/dest/block/index.d.ts +4 -5
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +3 -4
- package/dest/block/l2_block.d.ts +59 -59
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +69 -110
- package/dest/block/l2_block_info.d.ts +16 -11
- 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_source.d.ts +390 -151
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +29 -16
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +13 -3
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +116 -32
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -15
- 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 +55 -59
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
- package/dest/block/proposal/attestations_and_signers.d.ts +2 -2
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/committee_attestation.d.ts +2 -2
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +482 -43
- package/dest/block/validate_block_result.d.ts +24 -24
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -17
- package/dest/checkpoint/checkpoint.d.ts +74 -18
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +78 -16
- package/dest/checkpoint/checkpoint_data.d.ts +120 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +26 -0
- package/dest/checkpoint/checkpoint_info.d.ts +38 -0
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_info.js +34 -0
- package/dest/checkpoint/index.d.ts +3 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -0
- package/dest/checkpoint/published_checkpoint.d.ts +58 -15
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +16 -6
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/config/sequencer-config.d.ts +10 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +18 -0
- package/dest/contract/artifact_hash.d.ts +2 -2
- 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 +5 -2
- 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 +6 -6
- package/dest/contract/contract_class.d.ts +3 -4
- 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 +3 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +8 -7
- package/dest/contract/contract_deployment_data.d.ts +5 -5
- 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/deployment_info.d.ts +2 -2
- package/dest/contract/deployment_info.d.ts.map +1 -1
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_class.d.ts +19 -14
- 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 +40 -31
- 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 +7 -8
- 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/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -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 +5 -5
- package/dest/contract/private_function_membership_proof.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.js +3 -3
- package/dest/contract/utility_function_membership_proof.js +1 -1
- package/dest/database-version/database_version.d.ts +58 -0
- package/dest/database-version/database_version.d.ts.map +1 -0
- package/dest/database-version/database_version.js +69 -0
- package/dest/database-version/version_manager.d.ts +3 -49
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +1 -64
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +3 -3
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +9 -12
- 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/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/deserialization/index.d.ts +11 -0
- package/dest/deserialization/index.d.ts.map +1 -0
- package/dest/deserialization/index.js +10 -0
- package/dest/epoch-helpers/index.d.ts +7 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +12 -6
- 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/transaction_fee.d.ts +2 -2
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- 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 +11 -3
- package/dest/gas/gas.d.ts +2 -2
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +4 -2
- package/dest/gas/gas_fees.d.ts +2 -2
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +3 -1
- package/dest/gas/gas_settings.d.ts +2 -2
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +1 -1
- package/dest/ha-signing/config.d.ts +101 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +92 -0
- package/dest/ha-signing/index.d.ts +3 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +2 -0
- package/dest/ha-signing/types.d.ts +85 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +32 -0
- package/dest/hash/hash.d.ts +3 -10
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +17 -22
- 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 +4 -3
- package/dest/interfaces/allowed_element.d.ts +8 -9
- 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 +3 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +2 -0
- package/dest/interfaces/archiver.d.ts +12 -7
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +40 -21
- package/dest/interfaces/aztec-node-admin.d.ts +140 -42
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +15 -7
- package/dest/interfaces/aztec-node.d.ts +90 -95
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +32 -33
- package/dest/interfaces/block-builder.d.ts +24 -14
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +16 -1
- package/dest/interfaces/configs.d.ts +71 -27
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +15 -6
- package/dest/interfaces/epoch-prover.d.ts +5 -5
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +30 -6
- 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 +21 -15
- 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.d.ts +7 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +3 -4
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +19 -3
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +16 -4
- package/dest/interfaces/proving-job.d.ts +60 -56
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +1 -7
- 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_circuit_prover.d.ts +4 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +9 -1
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +5 -3
- package/dest/interfaces/validator.d.ts +162 -27
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +12 -7
- 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/claimed_length_array.js +3 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
- package/dest/kernel/hints/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 +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_hint.d.ts +3 -2
- 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 +5 -3
- 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_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +13 -16
- 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/private_kernel_reset_hints.d.ts +13 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.d.ts +8 -2
- 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 +7 -1
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +9 -9
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- 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 +4 -2
- 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/log_hash.d.ts +2 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +4 -2
- 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 +23 -1
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +26 -2
- 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 +17 -2
- 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 +127 -54
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +72 -72
- 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 +34 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +5 -5
- package/dest/kernel/private_kernel_data.d.ts +7 -1
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +23 -2
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +26 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +8 -8
- 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_log_data.js +5 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +4 -4
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +6 -3
- 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 +4 -2
- 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 +4 -4
- 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 +8 -8
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +18 -2
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +4 -2
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +19 -4
- 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 +8 -8
- package/dest/kernel/private_validation_requests.d.ts +13 -4
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +12 -10
- package/dest/kernel/public_call_request.d.ts +23 -2
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +6 -3
- package/dest/kernel/utils/optional_number.d.ts +8 -2
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/keys/derivation.d.ts +7 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +20 -17
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +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 +7 -2
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +5 -4
- package/dest/keys/utils.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +8 -4
- package/dest/l1-contracts/slash_factory.d.ts +3 -2
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/l1-contracts/slash_factory.js +2 -1
- package/dest/logs/contract_class_log.d.ts +2 -2
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +5 -3
- package/dest/logs/debug_log.d.ts +2 -2
- package/dest/logs/debug_log.d.ts.map +1 -1
- package/dest/logs/debug_log.js +1 -1
- 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 +3 -1
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +20 -4
- 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_id.d.ts +29 -11
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +27 -16
- 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/private_log.d.ts +3 -3
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +6 -3
- package/dest/logs/public_log.d.ts +3 -2
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +7 -2
- 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 +27 -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 +5 -3
- package/dest/messaging/in_hash.d.ts.map +1 -1
- package/dest/messaging/in_hash.js +4 -2
- package/dest/messaging/inbox_leaf.d.ts +10 -7
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +10 -9
- package/dest/messaging/l1_actor.d.ts +8 -2
- 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 +7 -2
- 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 +8 -2
- 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 +89 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +161 -43
- package/dest/messaging/l2_to_l1_message.d.ts +3 -2
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +4 -1
- package/dest/messaging/out_hash.d.ts +42 -4
- package/dest/messaging/out_hash.d.ts.map +1 -1
- package/dest/messaging/out_hash.js +55 -20
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note.d.ts +2 -2
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note.js +5 -2
- package/dest/note/note_dao.d.ts +48 -9
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +29 -15
- package/dest/p2p/attestation_utils.d.ts +3 -3
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +1 -1
- package/dest/p2p/block_proposal.d.ts +103 -24
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +140 -40
- package/dest/p2p/checkpoint_attestation.d.ts +82 -0
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
- package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +24 -20
- package/dest/p2p/checkpoint_proposal.d.ts +179 -0
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
- package/dest/p2p/checkpoint_proposal.js +243 -0
- package/dest/p2p/consensus_payload.d.ts +21 -12
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +25 -20
- package/dest/p2p/constants.d.ts +5 -0
- package/dest/p2p/constants.d.ts.map +1 -0
- package/dest/p2p/constants.js +3 -0
- package/dest/p2p/gossipable.d.ts +4 -3
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +16 -5
- package/dest/p2p/index.d.ts +5 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +4 -1
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -1
- package/dest/p2p/signature_utils.d.ts +5 -3
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +5 -2
- package/dest/p2p/signed_txs.d.ts +42 -0
- package/dest/p2p/signed_txs.d.ts.map +1 -0
- package/dest/p2p/signed_txs.js +75 -0
- package/dest/p2p/topic_type.d.ts +3 -2
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +10 -3
- package/dest/parity/parity_base_private_inputs.d.ts +4 -2
- 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 +5 -2
- 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 +2 -1
- 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 +11 -6
- package/dest/proofs/proof.d.ts +5 -2
- 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/recursive_proof.d.ts +11 -2
- 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 +35 -2
- 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 +13 -2
- 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 +2 -2
- package/dest/rollup/block_headers_hash.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +48 -12
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +9 -13
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +65 -2
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +1 -1
- package/dest/rollup/checkpoint_constant_data.d.ts +12 -2
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +5 -2
- package/dest/rollup/checkpoint_header.d.ts +47 -13
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +55 -22
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +47 -7
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +12 -4
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +46 -4
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +15 -3
- package/dest/rollup/epoch_constant_data.d.ts +17 -2
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +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 +6 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +22 -7
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +11 -5
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +25 -2
- 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 +4 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +30 -2
- 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/schemas.d.ts +7 -4
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -1
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +2 -0
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- package/dest/slashing/tally.d.ts +2 -1
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +6 -2
- package/dest/slashing/types.d.ts +10 -7
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +18 -6
- package/dest/snapshots/types.d.ts +1 -1
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/snapshots/types.js +5 -5
- package/dest/stats/stats.d.ts +10 -8
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +42 -12
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +110 -43
- package/dest/tests/jest.js +1 -1
- package/dest/tests/mocks.d.ts +90 -19
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +192 -62
- package/dest/timetable/index.d.ts +37 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +39 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +14 -2
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +4 -2
- 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/nullifier_leaf.d.ts +14 -2
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +1 -1
- package/dest/trees/nullifier_membership_witness.d.ts +11 -2
- 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 +18 -2
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +8 -7
- package/dest/trees/public_data_witness.d.ts +12 -2
- 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 +25 -12
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +16 -5
- package/dest/tx/call_context.d.ts +14 -2
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/call_context.js +3 -1
- package/dest/tx/capsule.d.ts +5 -2
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +1 -1
- package/dest/tx/execution_payload.d.ts +9 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/function_data.d.ts +5 -3
- 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 +5 -3
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +27 -12
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +11 -9
- package/dest/tx/hashed_values.d.ts +8 -2
- 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 +2 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -1
- package/dest/tx/indexed_tx_effect.d.ts +14 -10
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +8 -6
- 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 -2
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +27 -10
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -23
- package/dest/tx/private_tx_constant_data.d.ts +17 -2
- 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 +153 -30
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +48 -11
- package/dest/tx/protocol_contracts.d.ts +3 -3
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +3 -3
- package/dest/tx/public_call_request_with_calldata.d.ts +8 -2
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +4 -2
- package/dest/tx/public_simulation_output.d.ts +5 -3
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +8 -4
- package/dest/tx/simulated_tx.d.ts +1031 -7
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +4 -2
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +3 -1
- package/dest/tx/tree_snapshots.d.ts +2 -2
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +3 -1
- package/dest/tx/tx.d.ts +35 -5
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +20 -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 +3 -2
- 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 +33 -7
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +8 -11
- package/dest/tx/tx_execution_request.d.ts +31 -2
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +7 -3
- package/dest/tx/tx_hash.d.ts +3 -2
- 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 +50 -15
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +48 -16
- package/dest/tx/tx_request.d.ts +7 -2
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +4 -4
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +3 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +3 -1
- package/dest/tx/validator/tx_validator.d.ts +2 -5
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +4 -4
- package/dest/types/shared.d.ts +4 -1
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/update-checker/update-checker.d.ts +2 -2
- 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 +2 -2
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/schemas.d.ts +38 -38
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +17 -16
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +2 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/verification_key.d.ts +23 -2
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +1 -1
- package/dest/vks/vk_data.d.ts +8 -2
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/vks/vk_data.js +1 -1
- package/dest/zkpassport/index.d.ts +4 -5
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +11 -11
- package/package.json +33 -14
- package/src/abi/abi.ts +40 -34
- package/src/abi/authorization_selector.ts +3 -2
- package/src/abi/buffer.ts +1 -1
- package/src/abi/contract_artifact.ts +10 -10
- 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 +26 -4
- 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/abi/utils.ts +17 -0
- package/src/auth_witness/auth_witness.ts +5 -5
- package/src/avm/avm.ts +338 -20
- package/src/avm/avm_accumulated_data.ts +1 -1
- package/src/avm/avm_circuit_public_inputs.ts +1 -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 +2 -1
- 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 +1 -1
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +1 -1
- package/src/aztec-address/index.ts +2 -1
- package/src/block/attestation_info.ts +10 -7
- package/src/block/block_data.ts +26 -0
- package/src/block/block_hash.ts +27 -26
- package/src/block/block_parameter.ts +10 -0
- package/src/block/body.ts +2 -1
- package/src/block/checkpointed_l2_block.ts +70 -0
- package/src/block/in_block.ts +28 -15
- package/src/block/index.ts +3 -4
- package/src/block/l2_block.ts +107 -141
- package/src/block/l2_block_info.ts +11 -10
- package/src/block/l2_block_source.ts +218 -71
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +15 -4
- package/src/block/l2_block_stream/l2_block_stream.ts +142 -37
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +63 -54
- package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
- package/src/block/proposal/attestations_and_signers.ts +1 -1
- package/src/block/proposal/committee_attestation.ts +1 -1
- package/src/block/test/l2_tips_store_test_suite.ts +486 -36
- package/src/block/validate_block_result.ts +40 -35
- package/src/checkpoint/checkpoint.ts +115 -27
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/checkpoint_info.ts +52 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +26 -9
- package/src/config/index.ts +1 -0
- package/src/config/node-rpc-config.ts +1 -1
- package/src/config/sequencer-config.ts +29 -0
- package/src/contract/artifact_hash.ts +2 -2
- package/src/contract/complete_address.ts +1 -1
- package/src/contract/contract_address.ts +6 -6
- package/src/contract/contract_class.ts +5 -5
- package/src/contract/contract_class_id.ts +8 -7
- 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 +0 -2
- 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/interfaces/node-info.ts +3 -0
- package/src/contract/partial_address.ts +1 -1
- package/src/contract/private_function.ts +5 -5
- package/src/contract/private_function_membership_proof.ts +3 -3
- package/src/contract/utility_function_membership_proof.ts +1 -1
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +1 -77
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +11 -12
- 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/deserialization/index.ts +21 -0
- package/src/epoch-helpers/index.ts +24 -10
- package/src/errors/simulation_error.ts +1 -1
- package/src/fees/transaction_fee.ts +1 -1
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/gas/gas.ts +1 -1
- package/src/gas/gas_fees.ts +1 -1
- package/src/gas/gas_settings.ts +1 -1
- package/src/ha-signing/config.ts +149 -0
- package/src/ha-signing/index.ts +18 -0
- package/src/ha-signing/types.ts +112 -0
- package/src/hash/hash.ts +15 -21
- package/src/hash/map_slot.ts +4 -3
- package/src/interfaces/allowed_element.ts +10 -8
- package/src/interfaces/api_limit.ts +2 -0
- package/src/interfaces/archiver.ts +54 -29
- package/src/interfaces/aztec-node-admin.ts +33 -6
- package/src/interfaces/aztec-node.ts +159 -174
- package/src/interfaces/block-builder.ts +52 -23
- package/src/interfaces/configs.ts +78 -33
- package/src/interfaces/epoch-prover.ts +4 -4
- package/src/interfaces/get_logs_response.ts +13 -9
- package/src/interfaces/l2_logs_source.ts +24 -14
- package/src/interfaces/merkle_tree_operations.ts +7 -3
- package/src/interfaces/p2p.ts +8 -12
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +35 -10
- package/src/interfaces/proving-job.ts +2 -11
- package/src/interfaces/public_state_source.ts +1 -1
- package/src/interfaces/server_circuit_prover.ts +3 -3
- package/src/interfaces/slasher.ts +28 -22
- package/src/interfaces/validator.ts +94 -32
- package/src/interfaces/world_state.ts +26 -18
- package/src/kernel/claimed_length_array.ts +1 -1
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +18 -15
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
- package/src/kernel/hints/index.ts +2 -2
- 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_separator.ts +49 -0
- package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +11 -11
- 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 +100 -100
- package/src/kernel/private_context_inputs.ts +1 -1
- package/src/kernel/private_kernel_circuit_public_inputs.ts +3 -3
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +1 -1
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +6 -6
- package/src/kernel/private_log_data.ts +1 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +1 -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 +7 -7
- package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +7 -7
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/kernel/public_call_request.ts +1 -1
- package/src/kernel/utils/optional_number.ts +1 -1
- package/src/keys/derivation.ts +20 -17
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_key.ts +1 -1
- package/src/keys/public_keys.ts +5 -4
- package/src/keys/utils.ts +8 -4
- package/src/l1-contracts/slash_factory.ts +4 -1
- package/src/logs/contract_class_log.ts +2 -2
- package/src/logs/debug_log.ts +1 -1
- package/src/logs/directional_app_tagging_secret.ts +4 -2
- package/src/logs/index.ts +2 -1
- package/src/logs/log_id.ts +32 -17
- package/src/logs/message_context.ts +1 -1
- package/src/logs/pending_tagged_log.ts +1 -1
- package/src/logs/private_log.ts +3 -2
- package/src/logs/public_log.ts +8 -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 +4 -2
- package/src/messaging/inbox_leaf.ts +11 -10
- 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 +179 -52
- package/src/messaging/l2_to_l1_message.ts +5 -1
- package/src/messaging/out_hash.ts +63 -22
- package/src/note/index.ts +0 -1
- package/src/note/note.ts +5 -2
- package/src/note/note_dao.ts +51 -15
- package/src/p2p/attestation_utils.ts +3 -3
- package/src/p2p/block_proposal.ts +214 -48
- package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +38 -26
- package/src/p2p/checkpoint_proposal.ts +387 -0
- package/src/p2p/consensus_payload.ts +30 -19
- package/src/p2p/constants.ts +6 -0
- package/src/p2p/gossipable.ts +14 -4
- package/src/p2p/index.ts +4 -1
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/signature_utils.ts +5 -2
- package/src/p2p/signed_txs.ts +88 -0
- package/src/p2p/topic_type.ts +4 -3
- 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 +11 -7
- 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 +2 -2
- package/src/rollup/block_rollup_public_inputs.ts +6 -12
- package/src/rollup/block_root_rollup_private_inputs.ts +1 -1
- package/src/rollup/checkpoint_constant_data.ts +2 -1
- package/src/rollup/checkpoint_header.ts +69 -20
- package/src/rollup/checkpoint_rollup_public_inputs.ts +18 -6
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +16 -2
- package/src/rollup/epoch_constant_data.ts +1 -1
- 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 +17 -8
- 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 +6 -1
- package/src/slashing/empire.ts +3 -1
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/tally.ts +8 -2
- package/src/slashing/types.ts +38 -20
- package/src/snapshots/types.ts +33 -29
- package/src/stats/stats.ts +10 -7
- package/src/tests/factories.ts +143 -61
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +295 -86
- package/src/timetable/index.ts +66 -0
- package/src/trees/append_only_tree_snapshot.ts +1 -1
- package/src/trees/database_public_state_source.ts +1 -1
- package/src/trees/nullifier_leaf.ts +1 -1
- package/src/trees/nullifier_membership_witness.ts +1 -1
- package/src/trees/public_data_leaf.ts +12 -6
- package/src/trees/public_data_witness.ts +1 -1
- package/src/tx/block_header.ts +27 -13
- package/src/tx/call_context.ts +1 -1
- package/src/tx/capsule.ts +1 -1
- package/src/tx/function_data.ts +1 -1
- package/src/tx/global_variable_builder.ts +9 -2
- package/src/tx/global_variables.ts +16 -10
- package/src/tx/hashed_values.ts +1 -1
- package/src/tx/in_tx.ts +24 -0
- package/src/tx/index.ts +1 -1
- package/src/tx/indexed_tx_effect.ts +9 -7
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +1 -1
- package/src/tx/private_execution_result.ts +6 -21
- package/src/tx/private_tx_constant_data.ts +1 -1
- package/src/tx/processed_tx.ts +19 -16
- package/src/tx/profiling.ts +52 -10
- package/src/tx/protocol_contracts.ts +4 -4
- package/src/tx/public_call_request_with_calldata.ts +1 -1
- package/src/tx/public_simulation_output.ts +5 -1
- package/src/tx/state_reference.ts +1 -1
- package/src/tx/tree_snapshots.ts +1 -1
- package/src/tx/tx.ts +22 -13
- package/src/tx/tx_constant_data.ts +1 -1
- package/src/tx/tx_context.ts +1 -1
- package/src/tx/tx_effect.ts +5 -12
- package/src/tx/tx_execution_request.ts +3 -1
- package/src/tx/tx_hash.ts +1 -1
- package/src/tx/tx_receipt.ts +78 -20
- package/src/tx/tx_request.ts +4 -4
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +4 -1
- package/src/tx/validator/tx_validator.ts +9 -7
- package/src/update-checker/update-checker.ts +2 -1
- package/src/validators/errors.ts +1 -1
- package/src/validators/schemas.ts +61 -48
- package/src/validators/types.ts +5 -4
- package/src/versioning/versioning.ts +1 -1
- package/src/vks/verification_key.ts +1 -1
- package/src/vks/vk_data.ts +1 -1
- package/src/zkpassport/index.ts +13 -14
- package/dest/block/l2_block_code_to_purge.d.ts +0 -12
- package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
- package/dest/block/l2_block_code_to_purge.js +0 -61
- package/dest/block/l2_block_header.d.ts +0 -98
- package/dest/block/l2_block_header.d.ts.map +0 -1
- package/dest/block/l2_block_header.js +0 -153
- package/dest/block/l2_block_new.d.ts +0 -108
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/block/l2_block_new.js +0 -135
- 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 -130
- package/dest/block/published_l2_block.d.ts.map +0 -1
- package/dest/block/published_l2_block.js +0 -48
- package/dest/contract/contract_class_metadata.d.ts +0 -8
- package/dest/contract/contract_class_metadata.d.ts.map +0 -1
- package/dest/contract/contract_class_metadata.js +0 -1
- package/dest/contract/contract_metadata.d.ts +0 -7
- package/dest/contract/contract_metadata.d.ts.map +0 -1
- package/dest/contract/contract_metadata.js +0 -1
- package/dest/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- 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/notes_filter.d.ts +0 -25
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -10
- package/dest/p2p/block_attestation.d.ts +0 -80
- package/dest/p2p/block_attestation.d.ts.map +0 -1
- package/dest/tx/content_commitment.d.ts +0 -48
- package/dest/tx/content_commitment.d.ts.map +0 -1
- package/dest/tx/content_commitment.js +0 -82
- package/src/block/l2_block_code_to_purge.ts +0 -88
- package/src/block/l2_block_header.ts +0 -246
- package/src/block/l2_block_new.ts +0 -171
- package/src/block/l2_block_number.ts +0 -8
- package/src/block/published_l2_block.ts +0 -65
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
- package/src/database-version/index.ts +0 -1
- package/src/kernel/hints/key_validation_request_and_generator.ts +0 -52
- package/src/logs/log_with_tx_data.ts +0 -46
- package/src/note/notes_filter.ts +0 -35
- package/src/tx/content_commitment.ts +0 -104
package/src/tests/mocks.ts
CHANGED
|
@@ -2,26 +2,29 @@ import {
|
|
|
2
2
|
FIXED_DA_GAS,
|
|
3
3
|
FIXED_L2_GAS,
|
|
4
4
|
MAX_ENQUEUED_CALLS_PER_TX,
|
|
5
|
-
MAX_INCLUDE_BY_TIMESTAMP_DURATION,
|
|
6
5
|
MAX_NULLIFIERS_PER_TX,
|
|
7
6
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
7
|
+
MAX_TX_LIFETIME,
|
|
8
8
|
} from '@aztec/constants';
|
|
9
|
-
import { makeTuple } from '@aztec/foundation/array';
|
|
9
|
+
import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
|
|
10
|
+
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
10
11
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
11
12
|
import { padArrayEnd, times } from '@aztec/foundation/collection';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
13
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
14
|
+
import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
15
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
16
|
+
import { Signature } from '@aztec/foundation/eth-signature';
|
|
14
17
|
|
|
15
18
|
import type { ContractArtifact } from '../abi/abi.js';
|
|
19
|
+
import { PublicTxEffect } from '../avm/avm.js';
|
|
20
|
+
import type { AvmAccumulatedData } from '../avm/avm_accumulated_data.js';
|
|
16
21
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
17
22
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
18
23
|
import { RevertCode } from '../avm/revert_code.js';
|
|
19
24
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
20
|
-
import { CommitteeAttestation,
|
|
21
|
-
import { L2Block } from '../block/l2_block.js';
|
|
25
|
+
import { CheckpointedL2Block, CommitteeAttestation, L2Block } from '../block/index.js';
|
|
22
26
|
import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
|
|
23
|
-
import {
|
|
24
|
-
import type { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
27
|
+
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
25
28
|
import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
|
|
26
29
|
import { computeContractAddressFromInstance } from '../contract/contract_address.js';
|
|
27
30
|
import { getContractClassFromArtifact } from '../contract/contract_class.js';
|
|
@@ -42,12 +45,15 @@ import {
|
|
|
42
45
|
import { PrivateToAvmAccumulatedData } from '../kernel/private_to_avm_accumulated_data.js';
|
|
43
46
|
import { PrivateToPublicAccumulatedDataBuilder } from '../kernel/private_to_public_accumulated_data_builder.js';
|
|
44
47
|
import { PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
|
|
45
|
-
import {
|
|
48
|
+
import { computeInHashFromL1ToL2Messages } from '../messaging/in_hash.js';
|
|
46
49
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
50
|
+
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
51
|
+
import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
|
|
47
52
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
48
53
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
|
|
49
54
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
50
55
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
56
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
51
57
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
52
58
|
import {
|
|
53
59
|
BlockHeader,
|
|
@@ -69,9 +75,9 @@ import {
|
|
|
69
75
|
makeAvmCircuitInputs,
|
|
70
76
|
makeAztecAddress,
|
|
71
77
|
makeBlockHeader,
|
|
78
|
+
makeCheckpointHeader,
|
|
72
79
|
makeGas,
|
|
73
80
|
makeGlobalVariables,
|
|
74
|
-
makeL2BlockHeader,
|
|
75
81
|
makePrivateToPublicAccumulatedData,
|
|
76
82
|
makePrivateToRollupAccumulatedData,
|
|
77
83
|
makeProtocolContracts,
|
|
@@ -91,12 +97,14 @@ export const mockTx = async (
|
|
|
91
97
|
publicCalldataSize = 2,
|
|
92
98
|
feePayer,
|
|
93
99
|
chonkProof = ChonkProof.random(),
|
|
100
|
+
maxFeesPerGas = new GasFees(10, 10),
|
|
94
101
|
maxPriorityFeesPerGas,
|
|
95
102
|
gasUsed = Gas.empty(),
|
|
96
103
|
chainId = Fr.ZERO,
|
|
97
104
|
version = Fr.ZERO,
|
|
98
105
|
vkTreeRoot = Fr.ZERO,
|
|
99
106
|
protocolContractsHash = Fr.ZERO,
|
|
107
|
+
anchorBlockHeader = BlockHeader.empty(),
|
|
100
108
|
}: {
|
|
101
109
|
numberOfNonRevertiblePublicCallRequests?: number;
|
|
102
110
|
numberOfRevertiblePublicCallRequests?: number;
|
|
@@ -105,12 +113,14 @@ export const mockTx = async (
|
|
|
105
113
|
publicCalldataSize?: number;
|
|
106
114
|
feePayer?: AztecAddress;
|
|
107
115
|
chonkProof?: ChonkProof;
|
|
116
|
+
maxFeesPerGas?: GasFees;
|
|
108
117
|
maxPriorityFeesPerGas?: GasFees;
|
|
109
118
|
gasUsed?: Gas;
|
|
110
119
|
chainId?: Fr;
|
|
111
120
|
version?: Fr;
|
|
112
121
|
vkTreeRoot?: Fr;
|
|
113
122
|
protocolContractsHash?: Fr;
|
|
123
|
+
anchorBlockHeader?: BlockHeader;
|
|
114
124
|
} = {},
|
|
115
125
|
) => {
|
|
116
126
|
const totalPublicCallRequests =
|
|
@@ -120,10 +130,8 @@ export const mockTx = async (
|
|
|
120
130
|
const isForPublic = totalPublicCallRequests > 0;
|
|
121
131
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
122
132
|
const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
|
|
123
|
-
data.constants.
|
|
124
|
-
|
|
125
|
-
maxPriorityFeesPerGas,
|
|
126
|
-
});
|
|
133
|
+
data.constants.anchorBlockHeader = anchorBlockHeader;
|
|
134
|
+
data.constants.txContext.gasSettings = GasSettings.default({ maxFeesPerGas, maxPriorityFeesPerGas });
|
|
127
135
|
data.feePayer = feePayer ?? (await AztecAddress.random());
|
|
128
136
|
data.gasUsed = gasUsed;
|
|
129
137
|
data.constants.txContext.chainId = chainId;
|
|
@@ -131,8 +139,8 @@ export const mockTx = async (
|
|
|
131
139
|
data.constants.vkTreeRoot = vkTreeRoot;
|
|
132
140
|
data.constants.protocolContractsHash = protocolContractsHash;
|
|
133
141
|
|
|
134
|
-
// Set
|
|
135
|
-
data.
|
|
142
|
+
// Set expirationTimestamp to the maximum allowed duration from the current time.
|
|
143
|
+
data.expirationTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_TX_LIFETIME);
|
|
136
144
|
|
|
137
145
|
const publicFunctionCalldata: HashedValues[] = [];
|
|
138
146
|
if (!isForPublic) {
|
|
@@ -199,6 +207,7 @@ export async function mockProcessedTx({
|
|
|
199
207
|
// The default gasUsed is the tx overhead.
|
|
200
208
|
gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS }),
|
|
201
209
|
privateOnly = false,
|
|
210
|
+
avmAccumulatedData,
|
|
202
211
|
...mockTxOpts
|
|
203
212
|
}: {
|
|
204
213
|
seed?: number;
|
|
@@ -210,6 +219,7 @@ export async function mockProcessedTx({
|
|
|
210
219
|
protocolContracts?: ProtocolContracts;
|
|
211
220
|
feePaymentPublicDataWrite?: PublicDataWrite;
|
|
212
221
|
privateOnly?: boolean;
|
|
222
|
+
avmAccumulatedData?: Partial<FieldsOf<AvmAccumulatedData>>;
|
|
213
223
|
} & Parameters<typeof mockTx>[1] = {}) {
|
|
214
224
|
seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
|
|
215
225
|
anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
|
|
@@ -289,19 +299,22 @@ export async function mockProcessedTx({
|
|
|
289
299
|
avmOutput.previousRevertibleAccumulatedDataArrayLengths =
|
|
290
300
|
avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
|
|
291
301
|
// Assign final data emitted from avm.
|
|
292
|
-
avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
|
|
293
|
-
avmOutput.accumulatedData.nullifiers =
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
302
|
+
avmOutput.accumulatedData.noteHashes = avmAccumulatedData?.noteHashes ?? revertibleData.noteHashes;
|
|
303
|
+
avmOutput.accumulatedData.nullifiers =
|
|
304
|
+
avmAccumulatedData?.nullifiers ??
|
|
305
|
+
padArrayEnd(
|
|
306
|
+
nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
|
|
307
|
+
Fr.ZERO,
|
|
308
|
+
MAX_NULLIFIERS_PER_TX,
|
|
309
|
+
);
|
|
310
|
+
avmOutput.accumulatedData.l2ToL1Msgs = avmAccumulatedData?.l2ToL1Msgs ?? revertibleData.l2ToL1Msgs;
|
|
311
|
+
avmOutput.accumulatedData.publicDataWrites =
|
|
312
|
+
avmAccumulatedData?.publicDataWrites ??
|
|
313
|
+
makeTuple(
|
|
314
|
+
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
315
|
+
i => (i === 0 ? feePaymentPublicDataWrite : new PublicDataWrite(new Fr(i), new Fr(i + 10))),
|
|
316
|
+
seed + 0x2000,
|
|
317
|
+
);
|
|
305
318
|
avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
|
|
306
319
|
avmOutput.gasSettings = gasSettings;
|
|
307
320
|
// Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
|
|
@@ -319,12 +332,24 @@ export async function mockProcessedTx({
|
|
|
319
332
|
} satisfies GasUsed;
|
|
320
333
|
|
|
321
334
|
await tx.recomputeHash();
|
|
335
|
+
|
|
336
|
+
const publicTxEffect = new PublicTxEffect(
|
|
337
|
+
avmOutput.transactionFee,
|
|
338
|
+
avmOutput.accumulatedData.noteHashes.filter(h => !h.isZero()),
|
|
339
|
+
avmOutput.accumulatedData.nullifiers.filter(h => !h.isZero()),
|
|
340
|
+
avmOutput.accumulatedData.l2ToL1Msgs.filter(h => !h.isEmpty()),
|
|
341
|
+
avmOutput.accumulatedData.publicLogs.toLogs(),
|
|
342
|
+
avmOutput.accumulatedData.publicDataWrites.filter(h => !h.isEmpty()),
|
|
343
|
+
);
|
|
344
|
+
|
|
322
345
|
return makeProcessedTxFromTxWithPublicCalls(
|
|
323
346
|
tx,
|
|
347
|
+
globalVariables,
|
|
324
348
|
{
|
|
325
349
|
type: ProvingRequestType.PUBLIC_VM,
|
|
326
350
|
inputs: avmCircuitInputs,
|
|
327
351
|
},
|
|
352
|
+
publicTxEffect,
|
|
328
353
|
gasUsed,
|
|
329
354
|
RevertCode.OK,
|
|
330
355
|
undefined /* revertReason */,
|
|
@@ -338,7 +363,6 @@ const emptyPrivateCallExecutionResult = () =>
|
|
|
338
363
|
Buffer.from(''),
|
|
339
364
|
new Map(),
|
|
340
365
|
PrivateCircuitPublicInputs.empty(),
|
|
341
|
-
new Map(),
|
|
342
366
|
[],
|
|
343
367
|
new Map(),
|
|
344
368
|
[],
|
|
@@ -368,6 +392,76 @@ export const mockSimulatedTx = async (seed = 1) => {
|
|
|
368
392
|
return new TxSimulationResult(privateExecutionResult, tx.data, output);
|
|
369
393
|
};
|
|
370
394
|
|
|
395
|
+
export function mockL1ToL2Messages(numL1ToL2Messages: number): Fr[] {
|
|
396
|
+
return Array.from({ length: numL1ToL2Messages }, () => Fr.random());
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
export async function mockCheckpointAndMessages(
|
|
400
|
+
checkpointNumber: CheckpointNumber,
|
|
401
|
+
{
|
|
402
|
+
startBlockNumber = BlockNumber(1),
|
|
403
|
+
numBlocks = 1,
|
|
404
|
+
blocks,
|
|
405
|
+
numTxsPerBlock = 1,
|
|
406
|
+
numL1ToL2Messages = 1,
|
|
407
|
+
makeBlockOptions = () => ({}),
|
|
408
|
+
previousArchive,
|
|
409
|
+
maxEffects,
|
|
410
|
+
...options
|
|
411
|
+
}: {
|
|
412
|
+
startBlockNumber?: BlockNumber;
|
|
413
|
+
numBlocks?: number;
|
|
414
|
+
numTxsPerBlock?: number;
|
|
415
|
+
numL1ToL2Messages?: number;
|
|
416
|
+
makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof L2Block.random>[1]>;
|
|
417
|
+
previousArchive?: AppendOnlyTreeSnapshot;
|
|
418
|
+
blocks?: L2Block[];
|
|
419
|
+
maxEffects?: number;
|
|
420
|
+
} & Partial<Parameters<typeof Checkpoint.random>[1]> &
|
|
421
|
+
Partial<Parameters<typeof L2Block.random>[1]> = {},
|
|
422
|
+
) {
|
|
423
|
+
const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
|
|
424
|
+
const blocksAndMessages = [];
|
|
425
|
+
// Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
|
|
426
|
+
// The current block's header.lastArchive must equal the previous block's archive.
|
|
427
|
+
let lastArchive: AppendOnlyTreeSnapshot | undefined = previousArchive;
|
|
428
|
+
// Pass maxEffects via txOptions so it reaches TxEffect.random
|
|
429
|
+
const txOptions = maxEffects !== undefined ? { maxEffects } : {};
|
|
430
|
+
for (let i = 0; i < (blocks?.length ?? numBlocks); i++) {
|
|
431
|
+
const blockNumber = BlockNumber(startBlockNumber + i);
|
|
432
|
+
const { block, messages } = {
|
|
433
|
+
block:
|
|
434
|
+
blocks?.[i] ??
|
|
435
|
+
(await L2Block.random(blockNumber, {
|
|
436
|
+
checkpointNumber,
|
|
437
|
+
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
438
|
+
txsPerBlock: numTxsPerBlock,
|
|
439
|
+
txOptions,
|
|
440
|
+
slotNumber,
|
|
441
|
+
...options,
|
|
442
|
+
...makeBlockOptions(blockNumber),
|
|
443
|
+
...(lastArchive ? { lastArchive } : {}),
|
|
444
|
+
})),
|
|
445
|
+
messages: mockL1ToL2Messages(numL1ToL2Messages),
|
|
446
|
+
};
|
|
447
|
+
// Update lastArchive for the next block
|
|
448
|
+
lastArchive = block.archive;
|
|
449
|
+
blocksAndMessages.push({ block, messages });
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
const messages = blocksAndMessages[0].messages;
|
|
453
|
+
const inHash = computeInHashFromL1ToL2Messages(messages);
|
|
454
|
+
const checkpoint = await Checkpoint.random(checkpointNumber, { numBlocks: 0, slotNumber, inHash, ...options });
|
|
455
|
+
checkpoint.blocks = blocksAndMessages.map(({ block }) => block);
|
|
456
|
+
// Set the checkpoint's archive to match the last block's archive for proper chaining.
|
|
457
|
+
// When the archiver reconstructs checkpoints from L1, it uses the checkpoint's archive root
|
|
458
|
+
// from the L1 event to set the last block's archive. Without this, the archive chain breaks.
|
|
459
|
+
checkpoint.archive = lastArchive!;
|
|
460
|
+
|
|
461
|
+
// Return lastArchive so callers can chain it across multiple checkpoints
|
|
462
|
+
return { checkpoint, messages, lastArchive };
|
|
463
|
+
}
|
|
464
|
+
|
|
371
465
|
export const randomContractArtifact = (): ContractArtifact => ({
|
|
372
466
|
name: randomBytes(4).toString('hex'),
|
|
373
467
|
functions: [],
|
|
@@ -405,28 +499,55 @@ export interface MakeConsensusPayloadOptions {
|
|
|
405
499
|
signer?: Secp256k1Signer;
|
|
406
500
|
attesterSigner?: Secp256k1Signer;
|
|
407
501
|
proposerSigner?: Secp256k1Signer;
|
|
408
|
-
header?:
|
|
502
|
+
header?: CheckpointHeader;
|
|
409
503
|
archive?: Fr;
|
|
410
504
|
txHashes?: TxHash[];
|
|
411
505
|
txs?: Tx[];
|
|
506
|
+
feeAssetPriceModifier?: bigint;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
export interface MakeBlockProposalOptions {
|
|
510
|
+
signer?: Secp256k1Signer;
|
|
511
|
+
blockHeader?: BlockHeader;
|
|
512
|
+
indexWithinCheckpoint?: IndexWithinCheckpoint;
|
|
513
|
+
inHash?: Fr;
|
|
514
|
+
archiveRoot?: Fr;
|
|
515
|
+
txHashes?: TxHash[];
|
|
516
|
+
txs?: Tx[];
|
|
412
517
|
}
|
|
413
518
|
|
|
519
|
+
export interface MakeCheckpointProposalOptions {
|
|
520
|
+
signer?: Secp256k1Signer;
|
|
521
|
+
checkpointHeader?: CheckpointHeader;
|
|
522
|
+
archiveRoot?: Fr;
|
|
523
|
+
feeAssetPriceModifier?: bigint;
|
|
524
|
+
/** Options for the lastBlock - if undefined, no lastBlock is included */
|
|
525
|
+
lastBlock?: {
|
|
526
|
+
blockHeader?: BlockHeader;
|
|
527
|
+
indexWithinCheckpoint?: IndexWithinCheckpoint;
|
|
528
|
+
txHashes?: TxHash[];
|
|
529
|
+
txs?: Tx[];
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
414
534
|
const makeAndSignConsensusPayload = (
|
|
415
535
|
domainSeparator: SignatureDomainSeparator,
|
|
416
536
|
options?: MakeConsensusPayloadOptions,
|
|
417
537
|
) => {
|
|
418
|
-
const header = options?.header ??
|
|
419
|
-
const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
|
|
538
|
+
const header = options?.header ?? makeCheckpointHeader(1);
|
|
539
|
+
const { signer = Secp256k1Signer.random(), archive = Fr.random(), feeAssetPriceModifier = 0n } = options ?? {};
|
|
420
540
|
|
|
421
541
|
const payload = ConsensusPayload.fromFields({
|
|
422
|
-
header
|
|
542
|
+
header,
|
|
423
543
|
archive,
|
|
544
|
+
feeAssetPriceModifier,
|
|
424
545
|
});
|
|
425
546
|
|
|
426
547
|
const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
|
|
427
548
|
const signature = signer.sign(hash);
|
|
428
549
|
|
|
429
|
-
return { blockNumber: header.
|
|
550
|
+
return { blockNumber: header.slotNumber, payload, signature };
|
|
430
551
|
};
|
|
431
552
|
|
|
432
553
|
export const makeAndSignCommitteeAttestationsAndSigners = (
|
|
@@ -440,80 +561,158 @@ export const makeAndSignCommitteeAttestationsAndSigners = (
|
|
|
440
561
|
return signer.sign(hash);
|
|
441
562
|
};
|
|
442
563
|
|
|
443
|
-
export const makeBlockProposal = (options?:
|
|
444
|
-
const
|
|
564
|
+
export const makeBlockProposal = (options?: MakeBlockProposalOptions): Promise<BlockProposal> => {
|
|
565
|
+
const blockHeader = options?.blockHeader ?? makeBlockHeader(1);
|
|
566
|
+
const indexWithinCheckpoint = options?.indexWithinCheckpoint ?? IndexWithinCheckpoint(0);
|
|
567
|
+
const inHash = options?.inHash ?? Fr.random();
|
|
568
|
+
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
445
569
|
const txHashes = options?.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random());
|
|
446
|
-
|
|
570
|
+
const txs = options?.txs;
|
|
571
|
+
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
572
|
+
|
|
573
|
+
return BlockProposal.createProposalFromSigner(
|
|
574
|
+
blockHeader,
|
|
575
|
+
indexWithinCheckpoint,
|
|
576
|
+
inHash,
|
|
577
|
+
archiveRoot,
|
|
578
|
+
txHashes,
|
|
579
|
+
txs,
|
|
580
|
+
(_payload, _context) => Promise.resolve(signer.signMessage(_payload)),
|
|
581
|
+
);
|
|
447
582
|
};
|
|
448
583
|
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
const
|
|
452
|
-
const
|
|
584
|
+
export const makeCheckpointProposal = (options?: MakeCheckpointProposalOptions): Promise<CheckpointProposal> => {
|
|
585
|
+
const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
|
|
586
|
+
const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
|
|
587
|
+
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
588
|
+
const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
|
|
589
|
+
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
590
|
+
|
|
591
|
+
// Build lastBlock info if provided
|
|
592
|
+
const lastBlockInfo = options?.lastBlock
|
|
593
|
+
? {
|
|
594
|
+
blockHeader,
|
|
595
|
+
indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4), // Last block in a 5-block checkpoint
|
|
596
|
+
txHashes: options.lastBlock.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random()),
|
|
597
|
+
txs: options.lastBlock.txs,
|
|
598
|
+
}
|
|
599
|
+
: undefined;
|
|
600
|
+
|
|
601
|
+
return CheckpointProposal.createProposalFromSigner(
|
|
602
|
+
checkpointHeader,
|
|
603
|
+
archiveRoot,
|
|
604
|
+
feeAssetPriceModifier,
|
|
605
|
+
lastBlockInfo,
|
|
606
|
+
payload => Promise.resolve(signer.signMessage(payload)),
|
|
607
|
+
);
|
|
608
|
+
};
|
|
453
609
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
610
|
+
/**
|
|
611
|
+
* Options for creating a checkpoint attestation
|
|
612
|
+
*/
|
|
613
|
+
export type MakeCheckpointAttestationOptions = {
|
|
614
|
+
header?: CheckpointHeader;
|
|
615
|
+
archive?: Fr;
|
|
616
|
+
feeAssetPriceModifier?: bigint;
|
|
617
|
+
attesterSigner?: Secp256k1Signer;
|
|
618
|
+
proposerSigner?: Secp256k1Signer;
|
|
619
|
+
signer?: Secp256k1Signer;
|
|
620
|
+
};
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* Create a checkpoint attestation for testing
|
|
624
|
+
*/
|
|
625
|
+
export const makeCheckpointAttestation = (options: MakeCheckpointAttestationOptions = {}): CheckpointAttestation => {
|
|
626
|
+
const header = options.header ?? makeCheckpointHeader(1);
|
|
627
|
+
const archive = options.archive ?? Fr.random();
|
|
628
|
+
const feeAssetPriceModifier = options.feeAssetPriceModifier ?? 0n;
|
|
629
|
+
const { signer, attesterSigner = signer, proposerSigner = signer } = options;
|
|
630
|
+
|
|
631
|
+
const payload = new ConsensusPayload(header, archive, feeAssetPriceModifier);
|
|
458
632
|
|
|
459
|
-
|
|
633
|
+
// Sign as attester
|
|
634
|
+
const attestationHash = getHashedSignaturePayloadEthSignedMessage(
|
|
635
|
+
payload,
|
|
636
|
+
SignatureDomainSeparator.checkpointAttestation,
|
|
637
|
+
);
|
|
638
|
+
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
639
|
+
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
640
|
+
|
|
641
|
+
// Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
|
|
642
|
+
// This is different from ConsensusPayload's format (ABI encoding)
|
|
643
|
+
const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
|
|
644
|
+
const tempProposal = new CheckpointProposal(header, archive, feeAssetPriceModifier, Signature.empty());
|
|
645
|
+
const proposalHash = getHashedSignaturePayloadEthSignedMessage(
|
|
646
|
+
tempProposal,
|
|
647
|
+
SignatureDomainSeparator.checkpointProposal,
|
|
648
|
+
);
|
|
649
|
+
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
650
|
+
|
|
651
|
+
return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
|
|
460
652
|
};
|
|
461
653
|
|
|
462
|
-
|
|
463
|
-
|
|
654
|
+
/**
|
|
655
|
+
* Create a checkpoint attestation from a checkpoint proposal
|
|
656
|
+
*/
|
|
657
|
+
export const makeCheckpointAttestationFromProposal = (
|
|
658
|
+
proposal: CheckpointProposal,
|
|
464
659
|
attesterSigner?: Secp256k1Signer,
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
const header = checkpoint.header;
|
|
468
|
-
const archive = checkpoint.archive.root;
|
|
660
|
+
): CheckpointAttestation => {
|
|
661
|
+
const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive, proposal.feeAssetPriceModifier);
|
|
469
662
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
663
|
+
// Sign as attester
|
|
664
|
+
const attestationHash = getHashedSignaturePayloadEthSignedMessage(
|
|
665
|
+
payload,
|
|
666
|
+
SignatureDomainSeparator.checkpointAttestation,
|
|
667
|
+
);
|
|
668
|
+
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
669
|
+
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
474
670
|
|
|
475
|
-
|
|
671
|
+
// Use the proposal's signature as the proposer signature
|
|
672
|
+
return new CheckpointAttestation(payload, attestationSignature, proposal.signature);
|
|
476
673
|
};
|
|
477
674
|
|
|
478
|
-
|
|
479
|
-
|
|
675
|
+
/**
|
|
676
|
+
* Create a checkpoint attestation from a checkpoint
|
|
677
|
+
*/
|
|
678
|
+
export const makeCheckpointAttestationFromCheckpoint = (
|
|
679
|
+
checkpoint: Checkpoint,
|
|
480
680
|
attesterSigner?: Secp256k1Signer,
|
|
481
681
|
proposerSigner?: Secp256k1Signer,
|
|
482
|
-
):
|
|
483
|
-
const header =
|
|
484
|
-
const archive =
|
|
485
|
-
|
|
486
|
-
const payload = ConsensusPayload.fromFields({
|
|
487
|
-
header: header.toCheckpointHeader(),
|
|
488
|
-
archive,
|
|
489
|
-
});
|
|
682
|
+
): CheckpointAttestation => {
|
|
683
|
+
const header = checkpoint.header;
|
|
684
|
+
const archive = checkpoint.archive.root;
|
|
685
|
+
const feeAssetPriceModifier = checkpoint.feeAssetPriceModifier;
|
|
490
686
|
|
|
491
|
-
return
|
|
687
|
+
return makeCheckpointAttestation({ header, archive, feeAssetPriceModifier, attesterSigner, proposerSigner });
|
|
492
688
|
};
|
|
493
689
|
|
|
494
|
-
|
|
495
|
-
|
|
690
|
+
/**
|
|
691
|
+
* Create a checkpoint attestation from an L2Block
|
|
692
|
+
* Note: This is a compatibility function for tests. L2Block doesn't have a checkpoint header directly.
|
|
693
|
+
*/
|
|
694
|
+
export const makeCheckpointAttestationFromBlock = (
|
|
695
|
+
block: L2Block,
|
|
496
696
|
attesterSigner?: Secp256k1Signer,
|
|
497
697
|
proposerSigner?: Secp256k1Signer,
|
|
498
|
-
):
|
|
499
|
-
//
|
|
500
|
-
const
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
const
|
|
507
|
-
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
698
|
+
): CheckpointAttestation => {
|
|
699
|
+
// For L2Block, we create a minimal checkpoint header for testing purposes
|
|
700
|
+
const header = CheckpointHeader.empty({
|
|
701
|
+
lastArchiveRoot: block.header.lastArchive.root,
|
|
702
|
+
slotNumber: block.slot,
|
|
703
|
+
timestamp: block.timestamp,
|
|
704
|
+
blockHeadersHash: Fr.ZERO, // Would need to compute from block header hash
|
|
705
|
+
});
|
|
706
|
+
const archive = block.archive.root;
|
|
508
707
|
|
|
509
|
-
return
|
|
708
|
+
return makeCheckpointAttestation({ header, archive, attesterSigner, proposerSigner });
|
|
510
709
|
};
|
|
511
710
|
|
|
512
711
|
export async function randomPublishedL2Block(
|
|
513
712
|
l2BlockNumber: number,
|
|
514
713
|
opts: { signers?: Secp256k1Signer[] } = {},
|
|
515
|
-
): Promise<
|
|
516
|
-
const block = await L2Block.random(l2BlockNumber);
|
|
714
|
+
): Promise<CheckpointedL2Block> {
|
|
715
|
+
const block = await L2Block.random(BlockNumber(l2BlockNumber));
|
|
517
716
|
const l1 = L1PublishedData.fromFields({
|
|
518
717
|
blockNumber: BigInt(block.number),
|
|
519
718
|
timestamp: block.header.globalVariables.timestamp,
|
|
@@ -521,9 +720,19 @@ export async function randomPublishedL2Block(
|
|
|
521
720
|
});
|
|
522
721
|
|
|
523
722
|
const signers = opts.signers ?? times(3, () => Secp256k1Signer.random());
|
|
524
|
-
const
|
|
723
|
+
const checkpoint = await Checkpoint.random(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), {
|
|
724
|
+
numBlocks: 0,
|
|
725
|
+
});
|
|
726
|
+
checkpoint.blocks = [block];
|
|
727
|
+
const atts = signers.map(signer =>
|
|
728
|
+
makeCheckpointAttestation({
|
|
729
|
+
signer,
|
|
730
|
+
archive: block.archive.root,
|
|
731
|
+
header: checkpoint.header,
|
|
732
|
+
}),
|
|
733
|
+
);
|
|
525
734
|
const attestations = atts.map(
|
|
526
735
|
(attestation, i) => new CommitteeAttestation(signers[i].address, attestation.signature),
|
|
527
736
|
);
|
|
528
|
-
return new
|
|
737
|
+
return new CheckpointedL2Block(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), block, l1, attestations);
|
|
529
738
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timetable constants used for sequencer timing calculations.
|
|
3
|
+
* These define the time budgets for various phases of block production.
|
|
4
|
+
*
|
|
5
|
+
* The sequencer slot is divided into phases:
|
|
6
|
+
* 1. Checkpoint initialization (sync + proposer check)
|
|
7
|
+
* 2. Block building (execution)
|
|
8
|
+
* 3. Checkpoint assembly
|
|
9
|
+
* 4. P2P propagation for proposal and attestations (round-trip)
|
|
10
|
+
* 5. L1 publishing
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** Time budget for checkpoint initialization (sync + proposer check) in seconds */
|
|
14
|
+
export const CHECKPOINT_INITIALIZATION_TIME = 1;
|
|
15
|
+
|
|
16
|
+
/** Time budget for assembling a checkpoint after building the last block in seconds */
|
|
17
|
+
export const CHECKPOINT_ASSEMBLE_TIME = 1;
|
|
18
|
+
|
|
19
|
+
/** Default one-way P2P propagation time for proposals and attestations in seconds */
|
|
20
|
+
export const DEFAULT_P2P_PROPAGATION_TIME = 2;
|
|
21
|
+
|
|
22
|
+
/** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */
|
|
23
|
+
export const DEFAULT_L1_PUBLISHING_TIME = 12;
|
|
24
|
+
|
|
25
|
+
/** Minimum execution time for building a block in seconds */
|
|
26
|
+
export const MIN_EXECUTION_TIME = 2;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Calculates the maximum number of blocks that can be built in a slot.
|
|
30
|
+
* Used by both the sequencer timetable and p2p gossipsub scoring.
|
|
31
|
+
*
|
|
32
|
+
* @param aztecSlotDurationSec - Aztec slot duration in seconds
|
|
33
|
+
* @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
|
|
34
|
+
* @param opts - Optional overrides for timing constants
|
|
35
|
+
* @returns Maximum number of blocks per slot
|
|
36
|
+
*/
|
|
37
|
+
export function calculateMaxBlocksPerSlot(
|
|
38
|
+
aztecSlotDurationSec: number,
|
|
39
|
+
blockDurationSec: number | undefined,
|
|
40
|
+
opts: {
|
|
41
|
+
checkpointInitializationTime?: number;
|
|
42
|
+
checkpointAssembleTime?: number;
|
|
43
|
+
p2pPropagationTime?: number;
|
|
44
|
+
l1PublishingTime?: number;
|
|
45
|
+
} = {},
|
|
46
|
+
): number {
|
|
47
|
+
if (!blockDurationSec) {
|
|
48
|
+
return 1; // Single block per slot
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const initOffset = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
|
|
52
|
+
const assembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
|
|
53
|
+
const p2pTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
|
|
54
|
+
const l1Time = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
|
|
55
|
+
|
|
56
|
+
// Calculate checkpoint finalization time (assembly + round-trip propagation + L1 publishing)
|
|
57
|
+
const checkpointFinalizationTime = assembleTime + p2pTime * 2 + l1Time;
|
|
58
|
+
|
|
59
|
+
// Time reserved at end for last sub-slot (validator re-execution) + finalization
|
|
60
|
+
const timeReservedAtEnd = blockDurationSec + checkpointFinalizationTime;
|
|
61
|
+
|
|
62
|
+
// Time available for building blocks
|
|
63
|
+
const timeAvailableForBlocks = aztecSlotDurationSec - initOffset - timeReservedAtEnd;
|
|
64
|
+
|
|
65
|
+
return Math.max(1, Math.floor(timeAvailableForBlocks / blockDurationSec));
|
|
66
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { schemas } from '@aztec/foundation/schemas';
|
|
3
3
|
import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
4
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
5
5
|
import type { IndexedTreeLeaf, IndexedTreeLeafPreimage } from '@aztec/foundation/trees';
|