@aztec/stdlib 0.0.1-commit.c7c42ec → 0.0.1-commit.c949de6bc
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/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 +1 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +1 -4
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +9 -5
- package/dest/abi/function_call.d.ts +47 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/selector.js +3 -1
- package/dest/abi/utils.d.ts +7 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/auth_witness/auth_witness.d.ts +2 -1
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +362 -362
- package/dest/avm/avm_accumulated_data.d.ts +30 -3
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +5 -2
- package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
- package/dest/avm/avm_circuit_public_inputs.js +3 -1
- package/dest/avm/avm_proving_request.d.ts +465 -465
- package/dest/avm/contract_storage_read.d.ts +13 -1
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +13 -1
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +10 -1
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +10 -1
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.js +3 -1
- package/dest/avm/public_data_write.d.ts +7 -1
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.d.ts +4 -1
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +3 -1
- package/dest/avm/revert_code.d.ts +19 -4
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +18 -6
- package/dest/aztec-address/index.js +4 -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 +4 -4
- 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 +18 -14
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +22 -20
- package/dest/block/block_parameter.d.ts +4 -3
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -0
- package/dest/block/body.d.ts +1 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +5 -2
- package/dest/block/checkpointed_l2_block.d.ts +20 -137
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +7 -45
- package/dest/block/in_block.d.ts +9 -9
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +5 -5
- package/dest/block/index.d.ts +2 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -2
- package/dest/block/l2_block.d.ts +57 -57
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +64 -108
- package/dest/block/l2_block_source.d.ts +317 -68
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +25 -6
- 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 +8 -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 -31
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
- 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 -61
- 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/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 +478 -38
- 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 +43 -19
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +38 -14
- 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 +32 -3
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_info.js +34 -1
- 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 +33 -16
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +5 -5
- 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/complete_address.d.ts +4 -1
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +4 -4
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +6 -5
- package/dest/contract/contract_deployment_data.d.ts +5 -5
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_instance.d.ts +16 -16
- package/dest/contract/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/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +3 -4
- package/dest/contract/private_function_membership_proof.d.ts +1 -1
- package/dest/contract/private_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 +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
- package/dest/deserialization/index.d.ts +11 -0
- package/dest/deserialization/index.d.ts.map +1 -0
- package/dest/deserialization/index.js +10 -0
- package/dest/epoch-helpers/index.d.ts +7 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +9 -3
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.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.js +3 -1
- package/dest/gas/gas_fees.js +3 -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 +2 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +16 -10
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -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 +6 -6
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +27 -17
- package/dest/interfaces/aztec-node-admin.d.ts +111 -32
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +14 -6
- package/dest/interfaces/aztec-node.d.ts +75 -77
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +15 -16
- package/dest/interfaces/block-builder.d.ts +22 -14
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +7 -0
- package/dest/interfaces/configs.d.ts +28 -8
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +5 -1
- package/dest/interfaces/get_logs_response.d.ts +16 -9
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +14 -5
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +9 -16
- 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 +15 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +12 -1
- package/dest/interfaces/proving-job.d.ts +52 -52
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +1 -7
- 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 +2 -0
- 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 +155 -19
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +8 -3
- package/dest/kernel/claimed_length_array.js +3 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +7 -6
- 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 +31 -19
- 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 +28 -17
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -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 +2 -1
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +2 -1
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_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} +12 -15
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.d.ts +7 -1
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +7 -1
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- 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/transient_data_squashing_hint.js +3 -1
- package/dest/kernel/log_hash.js +3 -1
- package/dest/kernel/private_accumulated_data.d.ts +23 -1
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +25 -1
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +16 -1
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +81 -8
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_data.d.ts +7 -1
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +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 +25 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_log_data.js +5 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
- package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
- package/dest/kernel/private_to_public_accumulated_data.js +3 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- 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 +7 -7
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
- 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 +7 -7
- 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 +22 -1
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +5 -2
- package/dest/kernel/utils/optional_number.d.ts +7 -1
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/keys/derivation.d.ts +3 -3
- package/dest/keys/derivation.js +15 -15
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.d.ts +5 -1
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- 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 +1 -1
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/l1-contracts/slash_factory.js +1 -0
- package/dest/logs/contract_class_log.js +3 -1
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- 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_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
- package/dest/logs/extended_public_log.d.ts +17 -9
- 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 +21 -14
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +20 -17
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +3 -1
- package/dest/logs/public_log.js +3 -1
- package/dest/logs/siloed_tag.d.ts +5 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +8 -6
- package/dest/logs/tag.js +1 -1
- package/dest/messaging/in_hash.d.ts +4 -2
- package/dest/messaging/in_hash.d.ts.map +1 -1
- package/dest/messaging/in_hash.js +3 -1
- package/dest/messaging/inbox_leaf.d.ts +3 -1
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/l1_actor.d.ts +7 -1
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +6 -1
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +7 -1
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +160 -42
- package/dest/messaging/out_hash.d.ts +41 -3
- package/dest/messaging/out_hash.d.ts.map +1 -1
- package/dest/messaging/out_hash.js +54 -19
- 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_dao.d.ts +36 -5
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +15 -12
- package/dest/p2p/attestation_utils.d.ts +13 -3
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +46 -1
- package/dest/p2p/block_proposal.d.ts +102 -23
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +138 -39
- 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} +22 -19
- 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/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +20 -11
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +24 -19
- 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 -3
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +4 -2
- 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 +3 -1
- 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 +5 -5
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +9 -19
- package/dest/parity/parity_base_private_inputs.d.ts +3 -1
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +4 -1
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +2 -1
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +9 -4
- package/dest/proofs/proof.d.ts +4 -1
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.d.ts +10 -1
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +34 -1
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +12 -1
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +1 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +8 -12
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +3 -1
- package/dest/rollup/checkpoint_header.d.ts +43 -13
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +50 -20
- 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 +46 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -3
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
- package/dest/rollup/epoch_constant_data.d.ts +16 -1
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +21 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +10 -4
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +1 -1
- package/dest/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 +7 -3
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -1
- package/dest/stats/stats.d.ts +1 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +18 -10
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +79 -36
- package/dest/tests/jest.js +1 -1
- package/dest/tests/mocks.d.ts +77 -19
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +136 -65
- 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 +13 -1
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +3 -1
- package/dest/trees/nullifier_leaf.d.ts +13 -1
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.d.ts +10 -1
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +17 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/trees/public_data_witness.d.ts +11 -1
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +14 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +9 -3
- package/dest/tx/call_context.d.ts +13 -1
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/call_context.js +3 -1
- package/dest/tx/capsule.d.ts +4 -1
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/execution_payload.d.ts +9 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/function_data.d.ts +4 -2
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +2 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +12 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +3 -1
- package/dest/tx/hashed_values.d.ts +7 -1
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/in_tx.d.ts +4 -4
- package/dest/tx/index.d.ts +1 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- package/dest/tx/indexed_tx_effect.d.ts +5 -5
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +3 -2
- package/dest/tx/partial_state_reference.d.ts +4 -1
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +23 -6
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +4 -21
- package/dest/tx/private_tx_constant_data.d.ts +16 -1
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/profiling.d.ts +152 -29
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +47 -10
- package/dest/tx/protocol_contracts.d.ts +2 -2
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +3 -1
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/state_reference.d.ts +3 -1
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +3 -1
- package/dest/tx/tree_snapshots.js +3 -1
- package/dest/tx/tx.d.ts +24 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +9 -4
- package/dest/tx/tx_context.d.ts +2 -1
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +32 -6
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +3 -8
- package/dest/tx/tx_execution_request.d.ts +30 -1
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +6 -2
- package/dest/tx/tx_hash.d.ts +2 -1
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +62 -14
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +55 -16
- package/dest/tx/tx_request.d.ts +6 -1
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +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 -2
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/types/shared.d.ts +4 -1
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/validators/schemas.d.ts +38 -38
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +4 -3
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/vks/verification_key.d.ts +22 -1
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/vk_data.d.ts +7 -1
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/zkpassport/index.d.ts +3 -4
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +9 -9
- package/package.json +28 -14
- package/src/abi/contract_artifact.ts +10 -10
- package/src/abi/decoder.ts +1 -4
- package/src/abi/encoder.ts +8 -5
- package/src/abi/function_call.ts +25 -3
- package/src/abi/utils.ts +17 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/revert_code.ts +15 -0
- package/src/block/attestation_info.ts +9 -6
- package/src/block/block_data.ts +26 -0
- package/src/block/block_hash.ts +26 -25
- package/src/block/block_parameter.ts +4 -2
- package/src/block/body.ts +2 -1
- package/src/block/checkpointed_l2_block.ts +8 -58
- package/src/block/in_block.ts +6 -6
- package/src/block/index.ts +1 -2
- package/src/block/l2_block.ts +102 -149
- package/src/block/l2_block_source.ts +145 -44
- 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 +151 -39
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
- package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
- package/src/block/test/l2_tips_store_test_suite.ts +480 -36
- package/src/block/validate_block_result.ts +40 -35
- package/src/checkpoint/checkpoint.ts +62 -21
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/checkpoint_info.ts +45 -2
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +7 -4
- 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/contract_address.ts +4 -4
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +6 -5
- package/src/contract/index.ts +0 -2
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +3 -4
- package/src/contract/private_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 +9 -10
- package/src/deserialization/index.ts +21 -0
- package/src/epoch-helpers/index.ts +13 -1
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- 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 +14 -10
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/api_limit.ts +2 -0
- package/src/interfaces/archiver.ts +31 -24
- package/src/interfaces/aztec-node-admin.ts +31 -4
- package/src/interfaces/aztec-node.ts +110 -129
- package/src/interfaces/block-builder.ts +41 -23
- package/src/interfaces/configs.ts +15 -1
- package/src/interfaces/l2_logs_source.ts +17 -4
- package/src/interfaces/merkle_tree_operations.ts +1 -1
- package/src/interfaces/p2p.ts +10 -25
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +22 -0
- package/src/interfaces/proving-job.ts +2 -11
- package/src/interfaces/server_circuit_prover.ts +3 -2
- package/src/interfaces/slasher.ts +4 -0
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +73 -15
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +34 -30
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +15 -15
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +8 -4
- package/src/l1-contracts/slash_factory.ts +1 -0
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
- package/src/logs/index.ts +2 -1
- package/src/logs/log_id.ts +22 -18
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/siloed_tag.ts +10 -4
- package/src/logs/tag.ts +1 -1
- package/src/messaging/in_hash.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +178 -52
- package/src/messaging/out_hash.ts +62 -21
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +18 -13
- package/src/p2p/attestation_utils.ts +59 -3
- package/src/p2p/block_proposal.ts +211 -46
- package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +36 -25
- package/src/p2p/checkpoint_proposal.ts +387 -0
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +29 -18
- package/src/p2p/constants.ts +6 -0
- package/src/p2p/gossipable.ts +14 -4
- package/src/p2p/index.ts +4 -2
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/signature_utils.ts +3 -1
- package/src/p2p/signed_txs.ts +88 -0
- package/src/p2p/topic_type.ts +10 -16
- package/src/proofs/chonk_proof.ts +9 -5
- package/src/rollup/block_headers_hash.ts +1 -1
- package/src/rollup/block_rollup_public_inputs.ts +5 -11
- package/src/rollup/checkpoint_header.ts +64 -21
- package/src/rollup/checkpoint_rollup_public_inputs.ts +17 -5
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
- package/src/rollup/root_rollup_public_inputs.ts +16 -7
- 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 +14 -0
- package/src/stats/stats.ts +0 -2
- package/src/tests/factories.ts +79 -54
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +235 -98
- package/src/timetable/index.ts +66 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +12 -4
- package/src/tx/global_variable_builder.ts +1 -1
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/index.ts +0 -1
- package/src/tx/indexed_tx_effect.ts +3 -2
- package/src/tx/private_execution_result.ts +1 -16
- package/src/tx/profiling.ts +51 -9
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/tx.ts +10 -9
- package/src/tx/tx_effect.ts +0 -9
- package/src/tx/tx_execution_request.ts +2 -0
- package/src/tx/tx_receipt.ts +85 -18
- package/src/tx/tx_request.ts +2 -2
- 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 +1 -1
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
- package/src/zkpassport/index.ts +11 -12
- 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 -135
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/block/l2_block_new.js +0 -152
- 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/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- 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 -49
- package/dest/tx/content_commitment.d.ts.map +0 -1
- package/dest/tx/content_commitment.js +0 -90
- 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 -207
- 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/note/notes_filter.ts +0 -38
- package/src/tx/content_commitment.ts +0 -113
package/src/tests/mocks.ts
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
|
-
FIXED_DA_GAS,
|
|
3
|
-
FIXED_L2_GAS,
|
|
4
2
|
MAX_ENQUEUED_CALLS_PER_TX,
|
|
5
|
-
MAX_INCLUDE_BY_TIMESTAMP_DURATION,
|
|
6
3
|
MAX_NULLIFIERS_PER_TX,
|
|
7
4
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
5
|
+
MAX_TX_LIFETIME,
|
|
6
|
+
PRIVATE_TX_L2_GAS_OVERHEAD,
|
|
7
|
+
PUBLIC_TX_L2_GAS_OVERHEAD,
|
|
8
|
+
TX_DA_GAS_OVERHEAD,
|
|
8
9
|
} from '@aztec/constants';
|
|
9
|
-
import { makeTuple } from '@aztec/foundation/array';
|
|
10
|
-
import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
10
|
+
import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
|
|
11
|
+
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
11
12
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
12
13
|
import { padArrayEnd, times } from '@aztec/foundation/collection';
|
|
13
14
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
14
15
|
import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
15
16
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
17
|
+
import { Signature } from '@aztec/foundation/eth-signature';
|
|
16
18
|
|
|
17
19
|
import type { ContractArtifact } from '../abi/abi.js';
|
|
18
20
|
import { PublicTxEffect } from '../avm/avm.js';
|
|
21
|
+
import type { AvmAccumulatedData } from '../avm/avm_accumulated_data.js';
|
|
19
22
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
20
23
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
21
24
|
import { RevertCode } from '../avm/revert_code.js';
|
|
22
25
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
23
|
-
import {
|
|
24
|
-
import { L2Block } from '../block/l2_block.js';
|
|
26
|
+
import { CheckpointedL2Block, CommitteeAttestation, L2Block } from '../block/index.js';
|
|
25
27
|
import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
|
|
26
28
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
27
29
|
import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
|
|
@@ -45,12 +47,14 @@ import { PrivateToAvmAccumulatedData } from '../kernel/private_to_avm_accumulate
|
|
|
45
47
|
import { PrivateToPublicAccumulatedDataBuilder } from '../kernel/private_to_public_accumulated_data_builder.js';
|
|
46
48
|
import { PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
|
|
47
49
|
import { computeInHashFromL1ToL2Messages } from '../messaging/in_hash.js';
|
|
48
|
-
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
49
50
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
51
|
+
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
52
|
+
import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
|
|
50
53
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
51
54
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
|
|
52
55
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
53
56
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
57
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
54
58
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
55
59
|
import {
|
|
56
60
|
BlockHeader,
|
|
@@ -72,9 +76,9 @@ import {
|
|
|
72
76
|
makeAvmCircuitInputs,
|
|
73
77
|
makeAztecAddress,
|
|
74
78
|
makeBlockHeader,
|
|
79
|
+
makeCheckpointHeader,
|
|
75
80
|
makeGas,
|
|
76
81
|
makeGlobalVariables,
|
|
77
|
-
makeL2BlockHeader,
|
|
78
82
|
makePrivateToPublicAccumulatedData,
|
|
79
83
|
makePrivateToRollupAccumulatedData,
|
|
80
84
|
makeProtocolContracts,
|
|
@@ -94,12 +98,14 @@ export const mockTx = async (
|
|
|
94
98
|
publicCalldataSize = 2,
|
|
95
99
|
feePayer,
|
|
96
100
|
chonkProof = ChonkProof.random(),
|
|
101
|
+
maxFeesPerGas = new GasFees(10, 10),
|
|
97
102
|
maxPriorityFeesPerGas,
|
|
98
103
|
gasUsed = Gas.empty(),
|
|
99
104
|
chainId = Fr.ZERO,
|
|
100
105
|
version = Fr.ZERO,
|
|
101
106
|
vkTreeRoot = Fr.ZERO,
|
|
102
107
|
protocolContractsHash = Fr.ZERO,
|
|
108
|
+
anchorBlockHeader = BlockHeader.empty(),
|
|
103
109
|
}: {
|
|
104
110
|
numberOfNonRevertiblePublicCallRequests?: number;
|
|
105
111
|
numberOfRevertiblePublicCallRequests?: number;
|
|
@@ -108,12 +114,14 @@ export const mockTx = async (
|
|
|
108
114
|
publicCalldataSize?: number;
|
|
109
115
|
feePayer?: AztecAddress;
|
|
110
116
|
chonkProof?: ChonkProof;
|
|
117
|
+
maxFeesPerGas?: GasFees;
|
|
111
118
|
maxPriorityFeesPerGas?: GasFees;
|
|
112
119
|
gasUsed?: Gas;
|
|
113
120
|
chainId?: Fr;
|
|
114
121
|
version?: Fr;
|
|
115
122
|
vkTreeRoot?: Fr;
|
|
116
123
|
protocolContractsHash?: Fr;
|
|
124
|
+
anchorBlockHeader?: BlockHeader;
|
|
117
125
|
} = {},
|
|
118
126
|
) => {
|
|
119
127
|
const totalPublicCallRequests =
|
|
@@ -123,10 +131,8 @@ export const mockTx = async (
|
|
|
123
131
|
const isForPublic = totalPublicCallRequests > 0;
|
|
124
132
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
125
133
|
const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
|
|
126
|
-
data.constants.
|
|
127
|
-
|
|
128
|
-
maxPriorityFeesPerGas,
|
|
129
|
-
});
|
|
134
|
+
data.constants.anchorBlockHeader = anchorBlockHeader;
|
|
135
|
+
data.constants.txContext.gasSettings = GasSettings.default({ maxFeesPerGas, maxPriorityFeesPerGas });
|
|
130
136
|
data.feePayer = feePayer ?? (await AztecAddress.random());
|
|
131
137
|
data.gasUsed = gasUsed;
|
|
132
138
|
data.constants.txContext.chainId = chainId;
|
|
@@ -134,8 +140,8 @@ export const mockTx = async (
|
|
|
134
140
|
data.constants.vkTreeRoot = vkTreeRoot;
|
|
135
141
|
data.constants.protocolContractsHash = protocolContractsHash;
|
|
136
142
|
|
|
137
|
-
// Set
|
|
138
|
-
data.
|
|
143
|
+
// Set expirationTimestamp to the maximum allowed duration from the current time.
|
|
144
|
+
data.expirationTimestamp = BigInt(Math.floor(Date.now() / 1000) + MAX_TX_LIFETIME);
|
|
139
145
|
|
|
140
146
|
const publicFunctionCalldata: HashedValues[] = [];
|
|
141
147
|
if (!isForPublic) {
|
|
@@ -200,8 +206,12 @@ export async function mockProcessedTx({
|
|
|
200
206
|
feePayer,
|
|
201
207
|
feePaymentPublicDataWrite,
|
|
202
208
|
// The default gasUsed is the tx overhead.
|
|
203
|
-
gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS }),
|
|
204
209
|
privateOnly = false,
|
|
210
|
+
gasUsed = Gas.from({
|
|
211
|
+
daGas: TX_DA_GAS_OVERHEAD,
|
|
212
|
+
l2Gas: privateOnly ? PRIVATE_TX_L2_GAS_OVERHEAD : PUBLIC_TX_L2_GAS_OVERHEAD,
|
|
213
|
+
}),
|
|
214
|
+
avmAccumulatedData,
|
|
205
215
|
...mockTxOpts
|
|
206
216
|
}: {
|
|
207
217
|
seed?: number;
|
|
@@ -213,6 +223,7 @@ export async function mockProcessedTx({
|
|
|
213
223
|
protocolContracts?: ProtocolContracts;
|
|
214
224
|
feePaymentPublicDataWrite?: PublicDataWrite;
|
|
215
225
|
privateOnly?: boolean;
|
|
226
|
+
avmAccumulatedData?: Partial<FieldsOf<AvmAccumulatedData>>;
|
|
216
227
|
} & Parameters<typeof mockTx>[1] = {}) {
|
|
217
228
|
seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
|
|
218
229
|
anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
|
|
@@ -292,19 +303,22 @@ export async function mockProcessedTx({
|
|
|
292
303
|
avmOutput.previousRevertibleAccumulatedDataArrayLengths =
|
|
293
304
|
avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
|
|
294
305
|
// Assign final data emitted from avm.
|
|
295
|
-
avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
|
|
296
|
-
avmOutput.accumulatedData.nullifiers =
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
306
|
+
avmOutput.accumulatedData.noteHashes = avmAccumulatedData?.noteHashes ?? revertibleData.noteHashes;
|
|
307
|
+
avmOutput.accumulatedData.nullifiers =
|
|
308
|
+
avmAccumulatedData?.nullifiers ??
|
|
309
|
+
padArrayEnd(
|
|
310
|
+
nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
|
|
311
|
+
Fr.ZERO,
|
|
312
|
+
MAX_NULLIFIERS_PER_TX,
|
|
313
|
+
);
|
|
314
|
+
avmOutput.accumulatedData.l2ToL1Msgs = avmAccumulatedData?.l2ToL1Msgs ?? revertibleData.l2ToL1Msgs;
|
|
315
|
+
avmOutput.accumulatedData.publicDataWrites =
|
|
316
|
+
avmAccumulatedData?.publicDataWrites ??
|
|
317
|
+
makeTuple(
|
|
318
|
+
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
319
|
+
i => (i === 0 ? feePaymentPublicDataWrite : new PublicDataWrite(new Fr(i), new Fr(i + 10))),
|
|
320
|
+
seed + 0x2000,
|
|
321
|
+
);
|
|
308
322
|
avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
|
|
309
323
|
avmOutput.gasSettings = gasSettings;
|
|
310
324
|
// Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
|
|
@@ -353,7 +367,6 @@ const emptyPrivateCallExecutionResult = () =>
|
|
|
353
367
|
Buffer.from(''),
|
|
354
368
|
new Map(),
|
|
355
369
|
PrivateCircuitPublicInputs.empty(),
|
|
356
|
-
new Map(),
|
|
357
370
|
[],
|
|
358
371
|
new Map(),
|
|
359
372
|
[],
|
|
@@ -392,38 +405,47 @@ export async function mockCheckpointAndMessages(
|
|
|
392
405
|
{
|
|
393
406
|
startBlockNumber = BlockNumber(1),
|
|
394
407
|
numBlocks = 1,
|
|
408
|
+
blocks,
|
|
395
409
|
numTxsPerBlock = 1,
|
|
396
410
|
numL1ToL2Messages = 1,
|
|
397
411
|
makeBlockOptions = () => ({}),
|
|
398
412
|
previousArchive,
|
|
413
|
+
maxEffects,
|
|
399
414
|
...options
|
|
400
415
|
}: {
|
|
401
416
|
startBlockNumber?: BlockNumber;
|
|
402
417
|
numBlocks?: number;
|
|
403
418
|
numTxsPerBlock?: number;
|
|
404
419
|
numL1ToL2Messages?: number;
|
|
405
|
-
makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof
|
|
420
|
+
makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof L2Block.random>[1]>;
|
|
406
421
|
previousArchive?: AppendOnlyTreeSnapshot;
|
|
422
|
+
blocks?: L2Block[];
|
|
423
|
+
maxEffects?: number;
|
|
407
424
|
} & Partial<Parameters<typeof Checkpoint.random>[1]> &
|
|
408
|
-
Partial<Parameters<typeof
|
|
425
|
+
Partial<Parameters<typeof L2Block.random>[1]> = {},
|
|
409
426
|
) {
|
|
410
|
-
const slotNumber = options.slotNumber ?? SlotNumber(checkpointNumber * 10);
|
|
427
|
+
const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
|
|
411
428
|
const blocksAndMessages = [];
|
|
412
429
|
// Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
|
|
413
430
|
// The current block's header.lastArchive must equal the previous block's archive.
|
|
414
431
|
let lastArchive: AppendOnlyTreeSnapshot | undefined = previousArchive;
|
|
415
|
-
|
|
432
|
+
// Pass maxEffects via txOptions so it reaches TxEffect.random
|
|
433
|
+
const txOptions = maxEffects !== undefined ? { maxEffects } : {};
|
|
434
|
+
for (let i = 0; i < (blocks?.length ?? numBlocks); i++) {
|
|
416
435
|
const blockNumber = BlockNumber(startBlockNumber + i);
|
|
417
436
|
const { block, messages } = {
|
|
418
|
-
block:
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
437
|
+
block:
|
|
438
|
+
blocks?.[i] ??
|
|
439
|
+
(await L2Block.random(blockNumber, {
|
|
440
|
+
checkpointNumber,
|
|
441
|
+
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
442
|
+
txsPerBlock: numTxsPerBlock,
|
|
443
|
+
txOptions,
|
|
444
|
+
slotNumber,
|
|
445
|
+
...options,
|
|
446
|
+
...makeBlockOptions(blockNumber),
|
|
447
|
+
...(lastArchive ? { lastArchive } : {}),
|
|
448
|
+
})),
|
|
427
449
|
messages: mockL1ToL2Messages(numL1ToL2Messages),
|
|
428
450
|
};
|
|
429
451
|
// Update lastArchive for the next block
|
|
@@ -481,28 +503,55 @@ export interface MakeConsensusPayloadOptions {
|
|
|
481
503
|
signer?: Secp256k1Signer;
|
|
482
504
|
attesterSigner?: Secp256k1Signer;
|
|
483
505
|
proposerSigner?: Secp256k1Signer;
|
|
484
|
-
header?:
|
|
506
|
+
header?: CheckpointHeader;
|
|
485
507
|
archive?: Fr;
|
|
486
508
|
txHashes?: TxHash[];
|
|
487
509
|
txs?: Tx[];
|
|
510
|
+
feeAssetPriceModifier?: bigint;
|
|
488
511
|
}
|
|
489
512
|
|
|
513
|
+
export interface MakeBlockProposalOptions {
|
|
514
|
+
signer?: Secp256k1Signer;
|
|
515
|
+
blockHeader?: BlockHeader;
|
|
516
|
+
indexWithinCheckpoint?: IndexWithinCheckpoint;
|
|
517
|
+
inHash?: Fr;
|
|
518
|
+
archiveRoot?: Fr;
|
|
519
|
+
txHashes?: TxHash[];
|
|
520
|
+
txs?: Tx[];
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
export interface MakeCheckpointProposalOptions {
|
|
524
|
+
signer?: Secp256k1Signer;
|
|
525
|
+
checkpointHeader?: CheckpointHeader;
|
|
526
|
+
archiveRoot?: Fr;
|
|
527
|
+
feeAssetPriceModifier?: bigint;
|
|
528
|
+
/** Options for the lastBlock - if undefined, no lastBlock is included */
|
|
529
|
+
lastBlock?: {
|
|
530
|
+
blockHeader?: BlockHeader;
|
|
531
|
+
indexWithinCheckpoint?: IndexWithinCheckpoint;
|
|
532
|
+
txHashes?: TxHash[];
|
|
533
|
+
txs?: Tx[];
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
490
538
|
const makeAndSignConsensusPayload = (
|
|
491
539
|
domainSeparator: SignatureDomainSeparator,
|
|
492
540
|
options?: MakeConsensusPayloadOptions,
|
|
493
541
|
) => {
|
|
494
|
-
const header = options?.header ??
|
|
495
|
-
const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
|
|
542
|
+
const header = options?.header ?? makeCheckpointHeader(1);
|
|
543
|
+
const { signer = Secp256k1Signer.random(), archive = Fr.random(), feeAssetPriceModifier = 0n } = options ?? {};
|
|
496
544
|
|
|
497
545
|
const payload = ConsensusPayload.fromFields({
|
|
498
|
-
header
|
|
546
|
+
header,
|
|
499
547
|
archive,
|
|
548
|
+
feeAssetPriceModifier,
|
|
500
549
|
});
|
|
501
550
|
|
|
502
551
|
const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
|
|
503
552
|
const signature = signer.sign(hash);
|
|
504
553
|
|
|
505
|
-
return { blockNumber: header.
|
|
554
|
+
return { blockNumber: header.slotNumber, payload, signature };
|
|
506
555
|
};
|
|
507
556
|
|
|
508
557
|
export const makeAndSignCommitteeAttestationsAndSigners = (
|
|
@@ -516,79 +565,157 @@ export const makeAndSignCommitteeAttestationsAndSigners = (
|
|
|
516
565
|
return signer.sign(hash);
|
|
517
566
|
};
|
|
518
567
|
|
|
519
|
-
export const makeBlockProposal = (options?:
|
|
520
|
-
const
|
|
568
|
+
export const makeBlockProposal = (options?: MakeBlockProposalOptions): Promise<BlockProposal> => {
|
|
569
|
+
const blockHeader = options?.blockHeader ?? makeBlockHeader(1);
|
|
570
|
+
const indexWithinCheckpoint = options?.indexWithinCheckpoint ?? IndexWithinCheckpoint(0);
|
|
571
|
+
const inHash = options?.inHash ?? Fr.random();
|
|
572
|
+
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
521
573
|
const txHashes = options?.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random());
|
|
522
|
-
|
|
574
|
+
const txs = options?.txs;
|
|
575
|
+
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
576
|
+
|
|
577
|
+
return BlockProposal.createProposalFromSigner(
|
|
578
|
+
blockHeader,
|
|
579
|
+
indexWithinCheckpoint,
|
|
580
|
+
inHash,
|
|
581
|
+
archiveRoot,
|
|
582
|
+
txHashes,
|
|
583
|
+
txs,
|
|
584
|
+
(_payload, _context) => Promise.resolve(signer.signMessage(_payload)),
|
|
585
|
+
);
|
|
586
|
+
};
|
|
587
|
+
|
|
588
|
+
export const makeCheckpointProposal = (options?: MakeCheckpointProposalOptions): Promise<CheckpointProposal> => {
|
|
589
|
+
const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
|
|
590
|
+
const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
|
|
591
|
+
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
592
|
+
const feeAssetPriceModifier = options?.feeAssetPriceModifier ?? 0n;
|
|
593
|
+
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
594
|
+
|
|
595
|
+
// Build lastBlock info if provided
|
|
596
|
+
const lastBlockInfo = options?.lastBlock
|
|
597
|
+
? {
|
|
598
|
+
blockHeader,
|
|
599
|
+
indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4), // Last block in a 5-block checkpoint
|
|
600
|
+
txHashes: options.lastBlock.txHashes ?? [0, 1, 2, 3, 4, 5].map(() => TxHash.random()),
|
|
601
|
+
txs: options.lastBlock.txs,
|
|
602
|
+
}
|
|
603
|
+
: undefined;
|
|
604
|
+
|
|
605
|
+
return CheckpointProposal.createProposalFromSigner(
|
|
606
|
+
checkpointHeader,
|
|
607
|
+
archiveRoot,
|
|
608
|
+
feeAssetPriceModifier,
|
|
609
|
+
lastBlockInfo,
|
|
610
|
+
payload => Promise.resolve(signer.signMessage(payload)),
|
|
611
|
+
);
|
|
523
612
|
};
|
|
524
613
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
614
|
+
/**
|
|
615
|
+
* Options for creating a checkpoint attestation
|
|
616
|
+
*/
|
|
617
|
+
export type MakeCheckpointAttestationOptions = {
|
|
618
|
+
header?: CheckpointHeader;
|
|
619
|
+
archive?: Fr;
|
|
620
|
+
feeAssetPriceModifier?: bigint;
|
|
621
|
+
attesterSigner?: Secp256k1Signer;
|
|
622
|
+
proposerSigner?: Secp256k1Signer;
|
|
623
|
+
signer?: Secp256k1Signer;
|
|
624
|
+
};
|
|
529
625
|
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
626
|
+
/**
|
|
627
|
+
* Create a checkpoint attestation for testing
|
|
628
|
+
*/
|
|
629
|
+
export const makeCheckpointAttestation = (options: MakeCheckpointAttestationOptions = {}): CheckpointAttestation => {
|
|
630
|
+
const header = options.header ?? makeCheckpointHeader(1);
|
|
631
|
+
const archive = options.archive ?? Fr.random();
|
|
632
|
+
const feeAssetPriceModifier = options.feeAssetPriceModifier ?? 0n;
|
|
633
|
+
const { signer, attesterSigner = signer, proposerSigner = signer } = options;
|
|
634
|
+
|
|
635
|
+
const payload = new ConsensusPayload(header, archive, feeAssetPriceModifier);
|
|
636
|
+
|
|
637
|
+
// Sign as attester
|
|
638
|
+
const attestationHash = getHashedSignaturePayloadEthSignedMessage(
|
|
639
|
+
payload,
|
|
640
|
+
SignatureDomainSeparator.checkpointAttestation,
|
|
641
|
+
);
|
|
642
|
+
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
643
|
+
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
644
|
+
|
|
645
|
+
// Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
|
|
646
|
+
// This is different from ConsensusPayload's format (ABI encoding)
|
|
647
|
+
const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
|
|
648
|
+
const tempProposal = new CheckpointProposal(header, archive, feeAssetPriceModifier, Signature.empty());
|
|
649
|
+
const proposalHash = getHashedSignaturePayloadEthSignedMessage(
|
|
650
|
+
tempProposal,
|
|
651
|
+
SignatureDomainSeparator.checkpointProposal,
|
|
652
|
+
);
|
|
653
|
+
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
534
654
|
|
|
535
|
-
return
|
|
655
|
+
return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
|
|
536
656
|
};
|
|
537
657
|
|
|
538
|
-
|
|
539
|
-
|
|
658
|
+
/**
|
|
659
|
+
* Create a checkpoint attestation from a checkpoint proposal
|
|
660
|
+
*/
|
|
661
|
+
export const makeCheckpointAttestationFromProposal = (
|
|
662
|
+
proposal: CheckpointProposal,
|
|
540
663
|
attesterSigner?: Secp256k1Signer,
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
const header = checkpoint.header;
|
|
544
|
-
const archive = checkpoint.archive.root;
|
|
664
|
+
): CheckpointAttestation => {
|
|
665
|
+
const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive, proposal.feeAssetPriceModifier);
|
|
545
666
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
667
|
+
// Sign as attester
|
|
668
|
+
const attestationHash = getHashedSignaturePayloadEthSignedMessage(
|
|
669
|
+
payload,
|
|
670
|
+
SignatureDomainSeparator.checkpointAttestation,
|
|
671
|
+
);
|
|
672
|
+
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
673
|
+
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
550
674
|
|
|
551
|
-
|
|
675
|
+
// Use the proposal's signature as the proposer signature
|
|
676
|
+
return new CheckpointAttestation(payload, attestationSignature, proposal.signature);
|
|
552
677
|
};
|
|
553
678
|
|
|
554
|
-
|
|
555
|
-
|
|
679
|
+
/**
|
|
680
|
+
* Create a checkpoint attestation from a checkpoint
|
|
681
|
+
*/
|
|
682
|
+
export const makeCheckpointAttestationFromCheckpoint = (
|
|
683
|
+
checkpoint: Checkpoint,
|
|
556
684
|
attesterSigner?: Secp256k1Signer,
|
|
557
685
|
proposerSigner?: Secp256k1Signer,
|
|
558
|
-
):
|
|
559
|
-
const header =
|
|
560
|
-
const archive =
|
|
561
|
-
|
|
562
|
-
const payload = ConsensusPayload.fromFields({
|
|
563
|
-
header: header.toCheckpointHeader(),
|
|
564
|
-
archive,
|
|
565
|
-
});
|
|
686
|
+
): CheckpointAttestation => {
|
|
687
|
+
const header = checkpoint.header;
|
|
688
|
+
const archive = checkpoint.archive.root;
|
|
689
|
+
const feeAssetPriceModifier = checkpoint.feeAssetPriceModifier;
|
|
566
690
|
|
|
567
|
-
return
|
|
691
|
+
return makeCheckpointAttestation({ header, archive, feeAssetPriceModifier, attesterSigner, proposerSigner });
|
|
568
692
|
};
|
|
569
693
|
|
|
570
|
-
|
|
571
|
-
|
|
694
|
+
/**
|
|
695
|
+
* Create a checkpoint attestation from an L2Block
|
|
696
|
+
* Note: This is a compatibility function for tests. L2Block doesn't have a checkpoint header directly.
|
|
697
|
+
*/
|
|
698
|
+
export const makeCheckpointAttestationFromBlock = (
|
|
699
|
+
block: L2Block,
|
|
572
700
|
attesterSigner?: Secp256k1Signer,
|
|
573
701
|
proposerSigner?: Secp256k1Signer,
|
|
574
|
-
):
|
|
575
|
-
//
|
|
576
|
-
const
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
const
|
|
583
|
-
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
702
|
+
): CheckpointAttestation => {
|
|
703
|
+
// For L2Block, we create a minimal checkpoint header for testing purposes
|
|
704
|
+
const header = CheckpointHeader.empty({
|
|
705
|
+
lastArchiveRoot: block.header.lastArchive.root,
|
|
706
|
+
slotNumber: block.slot,
|
|
707
|
+
timestamp: block.timestamp,
|
|
708
|
+
blockHeadersHash: Fr.ZERO, // Would need to compute from block header hash
|
|
709
|
+
});
|
|
710
|
+
const archive = block.archive.root;
|
|
584
711
|
|
|
585
|
-
return
|
|
712
|
+
return makeCheckpointAttestation({ header, archive, attesterSigner, proposerSigner });
|
|
586
713
|
};
|
|
587
714
|
|
|
588
715
|
export async function randomPublishedL2Block(
|
|
589
716
|
l2BlockNumber: number,
|
|
590
717
|
opts: { signers?: Secp256k1Signer[] } = {},
|
|
591
|
-
): Promise<
|
|
718
|
+
): Promise<CheckpointedL2Block> {
|
|
592
719
|
const block = await L2Block.random(BlockNumber(l2BlockNumber));
|
|
593
720
|
const l1 = L1PublishedData.fromFields({
|
|
594
721
|
blockNumber: BigInt(block.number),
|
|
@@ -597,9 +724,19 @@ export async function randomPublishedL2Block(
|
|
|
597
724
|
});
|
|
598
725
|
|
|
599
726
|
const signers = opts.signers ?? times(3, () => Secp256k1Signer.random());
|
|
600
|
-
const
|
|
727
|
+
const checkpoint = await Checkpoint.random(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), {
|
|
728
|
+
numBlocks: 0,
|
|
729
|
+
});
|
|
730
|
+
checkpoint.blocks = [block];
|
|
731
|
+
const atts = signers.map(signer =>
|
|
732
|
+
makeCheckpointAttestation({
|
|
733
|
+
signer,
|
|
734
|
+
archive: block.archive.root,
|
|
735
|
+
header: checkpoint.header,
|
|
736
|
+
}),
|
|
737
|
+
);
|
|
601
738
|
const attestations = atts.map(
|
|
602
739
|
(attestation, i) => new CommitteeAttestation(signers[i].address, attestation.signature),
|
|
603
740
|
);
|
|
604
|
-
return new
|
|
741
|
+
return new CheckpointedL2Block(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), block, l1, attestations);
|
|
605
742
|
}
|
|
@@ -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,5 @@
|
|
|
1
1
|
import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
2
|
+
import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
|
|
2
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
5
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -81,11 +82,15 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
81
82
|
toHashInputs(): Buffer[] {
|
|
82
83
|
return [
|
|
83
84
|
...this.leaf.toHashInputs(),
|
|
84
|
-
Buffer.from(toBufferBE(this.nextIndex, 32)),
|
|
85
85
|
Buffer.from(this.nextKey.toBuffer()),
|
|
86
|
+
Buffer.from(toBufferBE(this.nextIndex, 32)),
|
|
86
87
|
];
|
|
87
88
|
}
|
|
88
89
|
|
|
90
|
+
hash(): Promise<Fr> {
|
|
91
|
+
return poseidon2Hash(this.toHashInputs());
|
|
92
|
+
}
|
|
93
|
+
|
|
89
94
|
clone(): PublicDataTreeLeafPreimage {
|
|
90
95
|
return new PublicDataTreeLeafPreimage(this.leaf.clone(), this.nextKey, this.nextIndex);
|
|
91
96
|
}
|
|
@@ -104,10 +109,11 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
104
109
|
|
|
105
110
|
static fromBuffer(buffer: Buffer | BufferReader): PublicDataTreeLeafPreimage {
|
|
106
111
|
const reader = BufferReader.asReader(buffer);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
return new PublicDataTreeLeafPreimage(
|
|
113
|
+
PublicDataTreeLeaf.fromBuffer(reader),
|
|
114
|
+
Fr.fromBuffer(reader),
|
|
115
|
+
toBigIntBE(reader.readBytes(32)),
|
|
116
|
+
);
|
|
111
117
|
}
|
|
112
118
|
|
|
113
119
|
static fromLeaf(leaf: PublicDataTreeLeaf, nextKey: bigint, nextIndex: bigint): PublicDataTreeLeafPreimage {
|