@aztec/stdlib 3.0.3 → 3.9.9-nightly.20260312
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 +602 -4
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +7 -7
- 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/decoder.js +7 -5
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- 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/function_selector.d.ts +2 -1
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +7 -0
- package/dest/abi/selector.js +3 -1
- package/dest/abi/utils.d.ts +20 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +22 -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.js +1 -1
- 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 +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 +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 +3 -4
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -3
- package/dest/block/l2_block.d.ts +65 -57
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +73 -107
- package/dest/block/l2_block_source.d.ts +372 -92
- 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 +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 +125 -32
- 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 -41
- 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 +58 -18
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +83 -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 +4 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +3 -0
- package/dest/checkpoint/published_checkpoint.d.ts +46 -23
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +15 -5
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- 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 +23 -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_class.d.ts +11 -13
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +18 -18
- package/dest/contract/interfaces/contract_instance.d.ts +28 -29
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +5 -5
- package/dest/contract/interfaces/contract_instance_update.d.ts +6 -7
- 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/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 +11 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +14 -6
- 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/hash/hash.d.ts +2 -9
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +14 -20
- 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/allowed_element.d.ts +30 -25
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +11 -11
- 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 +33 -17
- package/dest/interfaces/aztec-node-admin.d.ts +202 -65
- 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 +86 -83
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +18 -18
- package/dest/interfaces/block-builder.d.ts +27 -15
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +24 -1
- package/dest/interfaces/configs.d.ts +132 -53
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +22 -8
- package/dest/interfaces/get_logs_response.d.ts +27 -5
- 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 -8
- 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 +24 -3
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +22 -4
- package/dest/interfaces/proving-job.d.ts +218 -218
- 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 +5 -3
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +224 -47
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +17 -8
- package/dest/interfaces/world_state.d.ts +17 -8
- package/dest/interfaces/world_state.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 +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/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 +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 +126 -53
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +71 -71
- 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 +26 -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 +11 -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 -3
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +5 -3
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +4 -2
- package/dest/logs/log_id.d.ts +22 -7
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +23 -13
- 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 +5 -2
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +5 -2
- package/dest/logs/siloed_tag.d.ts +25 -0
- package/dest/logs/siloed_tag.d.ts.map +1 -0
- package/dest/logs/siloed_tag.js +32 -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 +24 -33
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +37 -43
- 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 +174 -0
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
- package/dest/p2p/checkpoint_proposal.js +231 -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/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- 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/avm_proof_data.d.ts +1 -3
- 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 +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 +11 -1
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +4 -1
- package/dest/rollup/checkpoint_header.d.ts +46 -12
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +53 -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 +5 -3
- 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 +8 -2
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +35 -3
- 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 +41 -10
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +99 -36
- package/dest/tests/jest.js +1 -1
- package/dest/tests/mocks.d.ts +81 -20
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +160 -71
- 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 +23 -8
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +17 -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 +5 -3
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +14 -1
- 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 +24 -7
- 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/simulated_tx.d.ts +1035 -8
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +4 -1
- 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 +38 -7
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +36 -12
- 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 +6 -9
- 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 +7 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +7 -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/index.d.ts +3 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +2 -1
- package/dest/update-checker/package_version.d.ts +3 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +24 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- 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/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/abi.ts +39 -33
- package/src/abi/contract_artifact.ts +10 -10
- package/src/abi/decoder.ts +15 -6
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/function_call.ts +25 -3
- package/src/abi/function_selector.ts +8 -0
- package/src/abi/utils.ts +42 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/avm.ts +1 -1
- 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 +70 -0
- package/src/block/in_block.ts +6 -6
- package/src/block/index.ts +2 -3
- package/src/block/l2_block.ts +112 -147
- package/src/block/l2_block_source.ts +207 -70
- 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 +160 -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 -35
- package/src/block/validate_block_result.ts +40 -35
- package/src/checkpoint/checkpoint.ts +120 -23
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/checkpoint_info.ts +52 -0
- package/src/checkpoint/index.ts +3 -0
- package/src/checkpoint/published_checkpoint.ts +25 -8
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/index.ts +1 -0
- package/src/config/node-rpc-config.ts +1 -1
- package/src/config/sequencer-config.ts +34 -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/contract_class.ts +59 -46
- package/src/contract/interfaces/contract_instance.ts +15 -13
- package/src/contract/interfaces/contract_instance_update.ts +11 -9
- 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 +27 -10
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/hash/hash.ts +12 -19
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/allowed_element.ts +34 -12
- package/src/interfaces/api_limit.ts +2 -0
- package/src/interfaces/archiver.ts +41 -25
- package/src/interfaces/aztec-node-admin.ts +33 -6
- package/src/interfaces/aztec-node.ts +133 -139
- package/src/interfaces/block-builder.ts +76 -25
- package/src/interfaces/configs.ts +104 -37
- package/src/interfaces/get_logs_response.ts +13 -9
- package/src/interfaces/l2_logs_source.ts +25 -7
- package/src/interfaces/merkle_tree_operations.ts +4 -1
- package/src/interfaces/p2p.ts +10 -25
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +43 -10
- package/src/interfaces/proving-job.ts +2 -11
- package/src/interfaces/server_circuit_prover.ts +3 -3
- package/src/interfaces/slasher.ts +28 -22
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +110 -32
- package/src/interfaces/world_state.ts +16 -9
- 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/find_private_kernel_reset_dimensions.ts +2 -4
- 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 +99 -99
- 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 +14 -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 +4 -2
- package/src/logs/log_id.ts +26 -12
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/private_log.ts +2 -1
- package/src/logs/public_log.ts +4 -2
- package/src/logs/siloed_tag.ts +50 -0
- package/src/logs/tag.ts +42 -0
- package/src/logs/tx_scoped_l2_log.ts +45 -43
- package/src/messaging/in_hash.ts +3 -1
- package/src/messaging/l1_to_l2_message.ts +1 -0
- 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 +370 -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/peer_error.ts +7 -0
- 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/avm_proof_data.ts +0 -7
- package/src/rollup/block_headers_hash.ts +1 -1
- package/src/rollup/block_rollup_public_inputs.ts +5 -11
- package/src/rollup/checkpoint_constant_data.ts +1 -0
- package/src/rollup/checkpoint_header.ts +67 -20
- 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/schemas/schemas.ts +4 -0
- package/src/slashing/empire.ts +3 -1
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/tally.ts +41 -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 +124 -54
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +260 -100
- package/src/timetable/index.ts +66 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +28 -9
- package/src/tx/global_variable_builder.ts +9 -2
- package/src/tx/global_variables.ts +6 -0
- package/src/tx/index.ts +0 -1
- package/src/tx/indexed_tx_effect.ts +3 -2
- package/src/tx/private_execution_result.ts +2 -17
- 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/simulated_tx.ts +8 -1
- package/src/tx/tx.ts +39 -22
- package/src/tx/tx_effect.ts +3 -10
- 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 +8 -1
- package/src/tx/validator/tx_validator.ts +9 -7
- package/src/update-checker/index.ts +2 -1
- package/src/update-checker/package_version.ts +30 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/validators/schemas.ts +61 -48
- 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 -130
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/block/l2_block_new.js +0 -151
- 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/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.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 -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/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- 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 -197
- 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/logs/log_with_tx_data.ts +0 -46
- package/src/note/notes_filter.ts +0 -38
- package/src/tx/content_commitment.ts +0 -113
- package/src/update-checker/update-checker.ts +0 -166
package/src/tx/block_header.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BLOCK_HEADER_LENGTH,
|
|
1
|
+
import { BLOCK_HEADER_LENGTH, DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
4
4
|
import { randomInt } from '@aztec/foundation/crypto/random';
|
|
@@ -11,28 +11,31 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
11
11
|
import { inspect } from 'util';
|
|
12
12
|
import { z } from 'zod';
|
|
13
13
|
|
|
14
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
14
15
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
15
16
|
import { GlobalVariables } from './global_variables.js';
|
|
16
17
|
import { StateReference } from './state_reference.js';
|
|
17
18
|
|
|
18
19
|
/** A header of an L2 block. */
|
|
19
20
|
export class BlockHeader {
|
|
21
|
+
private _cachedHash?: Promise<BlockHash>;
|
|
22
|
+
|
|
20
23
|
constructor(
|
|
21
24
|
/** Snapshot of archive before the block is applied. */
|
|
22
|
-
public lastArchive: AppendOnlyTreeSnapshot,
|
|
25
|
+
public readonly lastArchive: AppendOnlyTreeSnapshot,
|
|
23
26
|
/** State reference. */
|
|
24
|
-
public state: StateReference,
|
|
27
|
+
public readonly state: StateReference,
|
|
25
28
|
/**
|
|
26
29
|
* Hash of the sponge blob after the tx effects of this block has been applied.
|
|
27
30
|
* May contain tx effects from the previous blocks in the same checkpoint.
|
|
28
31
|
*/
|
|
29
|
-
public spongeBlobHash: Fr,
|
|
32
|
+
public readonly spongeBlobHash: Fr,
|
|
30
33
|
/** Global variables of an L2 block. */
|
|
31
|
-
public globalVariables: GlobalVariables,
|
|
34
|
+
public readonly globalVariables: GlobalVariables,
|
|
32
35
|
/** Total fees in the block, computed by the root rollup circuit */
|
|
33
|
-
public totalFees: Fr,
|
|
36
|
+
public readonly totalFees: Fr,
|
|
34
37
|
/** Total mana used in the block, computed by the root rollup circuit */
|
|
35
|
-
public totalManaUsed: Fr,
|
|
38
|
+
public readonly totalManaUsed: Fr,
|
|
36
39
|
) {}
|
|
37
40
|
|
|
38
41
|
static get schema(): ZodFor<BlockHeader> {
|
|
@@ -159,8 +162,24 @@ export class BlockHeader {
|
|
|
159
162
|
return BlockHeader.fromBuffer(hexToBuffer(str));
|
|
160
163
|
}
|
|
161
164
|
|
|
162
|
-
hash(): Promise<
|
|
163
|
-
|
|
165
|
+
hash(): Promise<BlockHash> {
|
|
166
|
+
if (!this._cachedHash) {
|
|
167
|
+
this._cachedHash = poseidon2HashWithSeparator(this.toFields(), DomainSeparator.BLOCK_HEADER_HASH).then(
|
|
168
|
+
fr => new BlockHash(fr),
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
return this._cachedHash;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/** Manually set the hash for this block header if already computed */
|
|
175
|
+
setHash(hashed: Fr) {
|
|
176
|
+
this._cachedHash = Promise.resolve(new BlockHash(hashed));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
|
|
180
|
+
recomputeHash(): Promise<BlockHash> {
|
|
181
|
+
this._cachedHash = undefined;
|
|
182
|
+
return this.hash();
|
|
164
183
|
}
|
|
165
184
|
|
|
166
185
|
static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
|
|
@@ -4,13 +4,13 @@ import type { SlotNumber } from '@aztec/foundation/schemas';
|
|
|
4
4
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
5
5
|
import type { GasFees } from '../gas/gas_fees.js';
|
|
6
6
|
import type { UInt32 } from '../types/index.js';
|
|
7
|
-
import type { GlobalVariables } from './global_variables.js';
|
|
7
|
+
import type { CheckpointGlobalVariables, GlobalVariables } from './global_variables.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Interface for building global variables for Aztec blocks.
|
|
11
11
|
*/
|
|
12
12
|
export interface GlobalVariableBuilder {
|
|
13
|
-
|
|
13
|
+
getCurrentMinFees(): Promise<GasFees>;
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Builds global variables for a given block.
|
|
@@ -26,4 +26,11 @@ export interface GlobalVariableBuilder {
|
|
|
26
26
|
feeRecipient: AztecAddress,
|
|
27
27
|
slotNumber?: SlotNumber,
|
|
28
28
|
): Promise<GlobalVariables>;
|
|
29
|
+
|
|
30
|
+
/** Builds global variables that are constant throughout a checkpoint. */
|
|
31
|
+
buildCheckpointGlobalVariables(
|
|
32
|
+
coinbase: EthAddress,
|
|
33
|
+
feeRecipient: AztecAddress,
|
|
34
|
+
slotNumber: SlotNumber,
|
|
35
|
+
): Promise<CheckpointGlobalVariables>;
|
|
29
36
|
}
|
|
@@ -21,6 +21,12 @@ import { GasFees } from '../gas/gas_fees.js';
|
|
|
21
21
|
import { schemas } from '../schemas/index.js';
|
|
22
22
|
import type { UInt64 } from '../types/index.js';
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Global variables that are constant across the entire checkpoint (slot).
|
|
26
|
+
* Excludes blockNumber since that varies per block within a checkpoint.
|
|
27
|
+
*/
|
|
28
|
+
export type CheckpointGlobalVariables = Omit<FieldsOf<GlobalVariables>, 'blockNumber'>;
|
|
29
|
+
|
|
24
30
|
/**
|
|
25
31
|
* Global variables of the L2 block.
|
|
26
32
|
*/
|
package/src/tx/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './block_header.js';
|
|
2
2
|
export * from './call_context.js';
|
|
3
3
|
export * from './global_variables.js';
|
|
4
|
-
export * from './content_commitment.js';
|
|
5
4
|
export * from './state_reference.js';
|
|
6
5
|
export * from './partial_state_reference.js';
|
|
7
6
|
export * from './function_data.js';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
6
7
|
import { type DataInBlock, dataInBlockSchemaFor, randomDataInBlock } from '../block/in_block.js';
|
|
7
8
|
import { TxEffect } from './tx_effect.js';
|
|
8
9
|
|
|
@@ -26,7 +27,7 @@ export function serializeIndexedTxEffect(effect: IndexedTxEffect): Buffer {
|
|
|
26
27
|
export function deserializeIndexedTxEffect(buffer: Buffer): IndexedTxEffect {
|
|
27
28
|
const reader = BufferReader.asReader(buffer);
|
|
28
29
|
|
|
29
|
-
const l2BlockHash = reader.readObject(
|
|
30
|
+
const l2BlockHash = new BlockHash(reader.readObject(Fr));
|
|
30
31
|
const l2BlockNumber = BlockNumber(reader.readNumber());
|
|
31
32
|
const txIndexInBlock = reader.readNumber();
|
|
32
33
|
const data = reader.readObject(TxEffect);
|
|
@@ -79,7 +79,7 @@ export class CountedContractClassLog implements IsEmpty {
|
|
|
79
79
|
export class PrivateExecutionResult {
|
|
80
80
|
constructor(
|
|
81
81
|
public entrypoint: PrivateCallExecutionResult,
|
|
82
|
-
/** The first non
|
|
82
|
+
/** The first non-revertible nullifier emitted by any private call, or the protocol nullifier if there was none. */
|
|
83
83
|
public firstNullifier: Fr,
|
|
84
84
|
/** An array of calldata for the enqueued public function calls and the teardown function call. */
|
|
85
85
|
public publicFunctionCalldata: HashedValues[],
|
|
@@ -129,8 +129,6 @@ export class PrivateCallExecutionResult {
|
|
|
129
129
|
// Needed for the verifier (kernel)
|
|
130
130
|
/** The call stack item. */
|
|
131
131
|
public publicInputs: PrivateCircuitPublicInputs,
|
|
132
|
-
/** Mapping of note hash to its index in the note hash tree. Used for building hints for note hash read requests. */
|
|
133
|
-
public noteHashLeafIndexMap: Map<bigint, bigint>,
|
|
134
132
|
/** The notes created in the executed function. */
|
|
135
133
|
public newNotes: NoteAndSlot[],
|
|
136
134
|
/** Mapping of note hash counter to the counter of its nullifier. */
|
|
@@ -139,7 +137,7 @@ export class PrivateCallExecutionResult {
|
|
|
139
137
|
public returnValues: Fr[],
|
|
140
138
|
/** The offchain effects emitted during execution of this function call via the `emit_offchain_effect` oracle. */
|
|
141
139
|
public offchainEffects: { data: Fr[] }[],
|
|
142
|
-
/** The pre
|
|
140
|
+
/** The pre-tags used in this tx to compute tags for private logs */
|
|
143
141
|
public preTags: PreTag[],
|
|
144
142
|
/** The nested executions. */
|
|
145
143
|
public nestedExecutionResults: PrivateCallExecutionResult[],
|
|
@@ -159,7 +157,6 @@ export class PrivateCallExecutionResult {
|
|
|
159
157
|
vk: schemas.Buffer,
|
|
160
158
|
partialWitness: mapSchema(z.coerce.number(), z.string()),
|
|
161
159
|
publicInputs: PrivateCircuitPublicInputs.schema,
|
|
162
|
-
noteHashLeafIndexMap: mapSchema(schemas.BigInt, schemas.BigInt),
|
|
163
160
|
newNotes: z.array(NoteAndSlot.schema),
|
|
164
161
|
noteHashNullifierCounterMap: mapSchema(z.coerce.number(), z.number()),
|
|
165
162
|
returnValues: z.array(schemas.Fr),
|
|
@@ -177,7 +174,6 @@ export class PrivateCallExecutionResult {
|
|
|
177
174
|
fields.vk,
|
|
178
175
|
fields.partialWitness,
|
|
179
176
|
fields.publicInputs,
|
|
180
|
-
fields.noteHashLeafIndexMap,
|
|
181
177
|
fields.newNotes,
|
|
182
178
|
fields.noteHashNullifierCounterMap,
|
|
183
179
|
fields.returnValues,
|
|
@@ -194,7 +190,6 @@ export class PrivateCallExecutionResult {
|
|
|
194
190
|
randomBytes(4),
|
|
195
191
|
new Map([[1, 'one']]),
|
|
196
192
|
PrivateCircuitPublicInputs.empty(),
|
|
197
|
-
new Map([[1n, 1n]]),
|
|
198
193
|
[NoteAndSlot.random()],
|
|
199
194
|
new Map([[0, 0]]),
|
|
200
195
|
[Fr.random()],
|
|
@@ -210,16 +205,6 @@ export class PrivateCallExecutionResult {
|
|
|
210
205
|
}
|
|
211
206
|
}
|
|
212
207
|
|
|
213
|
-
export function collectNoteHashLeafIndexMap(execResult: PrivateExecutionResult) {
|
|
214
|
-
const accum: Map<bigint, bigint> = new Map();
|
|
215
|
-
const collectNoteHashLeafIndexMapRecursive = (callResult: PrivateCallExecutionResult, accum: Map<bigint, bigint>) => {
|
|
216
|
-
callResult.noteHashLeafIndexMap.forEach((value, key) => accum.set(key, value));
|
|
217
|
-
callResult.nestedExecutionResults.forEach(nested => collectNoteHashLeafIndexMapRecursive(nested, accum));
|
|
218
|
-
};
|
|
219
|
-
collectNoteHashLeafIndexMapRecursive(execResult.entrypoint, accum);
|
|
220
|
-
return accum;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
208
|
export function collectNoteHashNullifierCounterMap(execResult: PrivateExecutionResult) {
|
|
224
209
|
const accum: Map<number, number> = new Map();
|
|
225
210
|
const collectNoteHashNullifierCounterMapRecursive = (
|
package/src/tx/profiling.ts
CHANGED
|
@@ -6,9 +6,35 @@ import { z } from 'zod';
|
|
|
6
6
|
import type { AztecNode } from '../interfaces/aztec-node.js';
|
|
7
7
|
import { type PrivateExecutionStep, PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
|
|
8
8
|
|
|
9
|
-
export type
|
|
9
|
+
export type RoundTripStats = {
|
|
10
|
+
/** Number of round trips (times we blocked waiting for node responses) */
|
|
11
|
+
roundTrips: number;
|
|
12
|
+
/** Total wall-clock time spent waiting on node (excludes parallel overlap) */
|
|
13
|
+
totalBlockingTime: number;
|
|
14
|
+
/** Individual round trip durations */
|
|
15
|
+
roundTripDurations: number[];
|
|
16
|
+
/** Methods called in each round trip (parallel calls grouped together) */
|
|
17
|
+
roundTripMethods: string[][];
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const RoundTripStatsSchema = z.object({
|
|
21
|
+
roundTrips: z.number(),
|
|
22
|
+
totalBlockingTime: z.number(),
|
|
23
|
+
roundTripDurations: z.array(z.number()),
|
|
24
|
+
roundTripMethods: z.array(z.array(z.string())),
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export type NodeStats = {
|
|
28
|
+
/** Per-method call stats */
|
|
29
|
+
perMethod: Partial<Record<keyof AztecNode, { times: number[] }>>;
|
|
30
|
+
/** Round trip stats tracking actual blocking waits */
|
|
31
|
+
roundTrips: RoundTripStats;
|
|
32
|
+
};
|
|
10
33
|
|
|
11
|
-
const NodeStatsSchema = z.
|
|
34
|
+
const NodeStatsSchema = z.object({
|
|
35
|
+
perMethod: z.record(z.string(), z.object({ times: z.array(z.number()) })),
|
|
36
|
+
roundTrips: RoundTripStatsSchema,
|
|
37
|
+
});
|
|
12
38
|
|
|
13
39
|
type FunctionTiming = {
|
|
14
40
|
functionName: string;
|
|
@@ -105,7 +131,15 @@ export class TxProfileResult {
|
|
|
105
131
|
},
|
|
106
132
|
],
|
|
107
133
|
{
|
|
108
|
-
nodeRPCCalls: {
|
|
134
|
+
nodeRPCCalls: {
|
|
135
|
+
perMethod: { getBlockHeader: { times: [1] } },
|
|
136
|
+
roundTrips: {
|
|
137
|
+
roundTrips: 1,
|
|
138
|
+
totalBlockingTime: 1,
|
|
139
|
+
roundTripDurations: [1],
|
|
140
|
+
roundTripMethods: [['getBlockHeader']],
|
|
141
|
+
},
|
|
142
|
+
},
|
|
109
143
|
timings: {
|
|
110
144
|
sync: 1,
|
|
111
145
|
proving: 1,
|
|
@@ -123,24 +157,32 @@ export class TxProfileResult {
|
|
|
123
157
|
}
|
|
124
158
|
}
|
|
125
159
|
|
|
126
|
-
export class
|
|
160
|
+
export class UtilityExecutionResult {
|
|
127
161
|
constructor(
|
|
128
162
|
public result: Fr[],
|
|
129
163
|
public stats?: SimulationStats,
|
|
130
164
|
) {}
|
|
131
165
|
|
|
132
|
-
static get schema(): ZodFor<
|
|
166
|
+
static get schema(): ZodFor<UtilityExecutionResult> {
|
|
133
167
|
return z
|
|
134
168
|
.object({
|
|
135
169
|
result: z.array(schemas.Fr),
|
|
136
170
|
stats: optional(SimulationStatsSchema),
|
|
137
171
|
})
|
|
138
|
-
.transform(({ result, stats }) => new
|
|
172
|
+
.transform(({ result, stats }) => new UtilityExecutionResult(result, stats));
|
|
139
173
|
}
|
|
140
174
|
|
|
141
|
-
static random():
|
|
142
|
-
return new
|
|
143
|
-
nodeRPCCalls: {
|
|
175
|
+
static random(): UtilityExecutionResult {
|
|
176
|
+
return new UtilityExecutionResult([Fr.random()], {
|
|
177
|
+
nodeRPCCalls: {
|
|
178
|
+
perMethod: { getBlockHeader: { times: [1] } },
|
|
179
|
+
roundTrips: {
|
|
180
|
+
roundTrips: 1,
|
|
181
|
+
totalBlockingTime: 1,
|
|
182
|
+
roundTripDurations: [1],
|
|
183
|
+
roundTripMethods: [['getBlockHeader']],
|
|
184
|
+
},
|
|
185
|
+
},
|
|
144
186
|
timings: {
|
|
145
187
|
sync: 1,
|
|
146
188
|
publicSimulation: 1,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator, MAX_PROTOCOL_CONTRACTS } from '@aztec/constants';
|
|
2
2
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
3
|
import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
|
|
4
4
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
@@ -71,7 +71,7 @@ export class ProtocolContracts {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
hash() {
|
|
74
|
-
return poseidon2HashWithSeparator(this.derivedAddresses,
|
|
74
|
+
return poseidon2HashWithSeparator(this.derivedAddresses, DomainSeparator.PROTOCOL_CONTRACTS);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
static get schema() {
|
|
@@ -7,6 +7,7 @@ import { z } from 'zod';
|
|
|
7
7
|
import { SimulationError } from '../errors/simulation_error.js';
|
|
8
8
|
import { Gas } from '../gas/gas.js';
|
|
9
9
|
import type { GasUsed } from '../gas/gas_used.js';
|
|
10
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
10
11
|
import { NullishToUndefined } from '../schemas/schemas.js';
|
|
11
12
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
12
13
|
import { GlobalVariables } from './global_variables.js';
|
|
@@ -71,6 +72,7 @@ export class PublicSimulationOutput {
|
|
|
71
72
|
public txEffect: TxEffect,
|
|
72
73
|
public publicReturnValues: NestedProcessReturnValues[],
|
|
73
74
|
public gasUsed: GasUsed,
|
|
75
|
+
public debugLogs: DebugLog[] = [],
|
|
74
76
|
) {}
|
|
75
77
|
|
|
76
78
|
static get schema(): ZodFor<PublicSimulationOutput> {
|
|
@@ -86,6 +88,7 @@ export class PublicSimulationOutput {
|
|
|
86
88
|
publicGas: Gas.schema,
|
|
87
89
|
billedGas: Gas.schema,
|
|
88
90
|
}),
|
|
91
|
+
debugLogs: z.array(DebugLog.schema).default([]),
|
|
89
92
|
})
|
|
90
93
|
.transform(
|
|
91
94
|
fields =>
|
|
@@ -95,6 +98,7 @@ export class PublicSimulationOutput {
|
|
|
95
98
|
fields.txEffect,
|
|
96
99
|
fields.publicReturnValues,
|
|
97
100
|
fields.gasUsed,
|
|
101
|
+
fields.debugLogs,
|
|
98
102
|
),
|
|
99
103
|
);
|
|
100
104
|
}
|
package/src/tx/simulated_tx.ts
CHANGED
|
@@ -12,9 +12,11 @@ import { Gas } from '../gas/gas.js';
|
|
|
12
12
|
import type { GasUsed } from '../gas/gas_used.js';
|
|
13
13
|
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
14
14
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
15
|
+
import type { OffchainEffect } from './offchain_effect.js';
|
|
15
16
|
import {
|
|
16
17
|
PrivateCallExecutionResult,
|
|
17
18
|
PrivateExecutionResult,
|
|
19
|
+
collectOffchainEffects,
|
|
18
20
|
collectSortedContractClassLogs,
|
|
19
21
|
} from './private_execution_result.js';
|
|
20
22
|
import { type SimulationStats, SimulationStatsSchema } from './profiling.js';
|
|
@@ -84,6 +86,11 @@ export class TxSimulationResult {
|
|
|
84
86
|
public stats?: SimulationStats,
|
|
85
87
|
) {}
|
|
86
88
|
|
|
89
|
+
/** Returns offchain effects collected from private execution. */
|
|
90
|
+
get offchainEffects(): OffchainEffect[] {
|
|
91
|
+
return collectOffchainEffects(this.privateExecutionResult);
|
|
92
|
+
}
|
|
93
|
+
|
|
87
94
|
get gasUsed(): GasUsed {
|
|
88
95
|
return (
|
|
89
96
|
this.publicOutput?.gasUsed ?? {
|
|
@@ -106,7 +113,7 @@ export class TxSimulationResult {
|
|
|
106
113
|
.transform(TxSimulationResult.from);
|
|
107
114
|
}
|
|
108
115
|
|
|
109
|
-
static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed'>) {
|
|
116
|
+
static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed' | 'offchainEffects'>) {
|
|
110
117
|
return new TxSimulationResult(
|
|
111
118
|
fields.privateExecutionResult,
|
|
112
119
|
fields.publicInputs,
|
package/src/tx/tx.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { DA_GAS_PER_FIELD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
|
|
1
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
5
5
|
import { BufferReader, serializeArrayOfBufferableToVector, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
-
import type
|
|
6
|
+
import { type FieldsOf, unfreeze } from '@aztec/foundation/types';
|
|
7
7
|
|
|
8
8
|
import { z } from 'zod';
|
|
9
9
|
|
|
@@ -24,13 +24,18 @@ import { TxHash } from './tx_hash.js';
|
|
|
24
24
|
/**
|
|
25
25
|
* The interface of an L2 transaction.
|
|
26
26
|
*/
|
|
27
|
+
// docs:start:tx_class
|
|
27
28
|
export class Tx extends Gossipable {
|
|
28
29
|
static override p2pTopic = TopicType.tx;
|
|
29
30
|
|
|
30
31
|
private calldataMap: Map<string, Fr[]> | undefined;
|
|
31
32
|
|
|
32
33
|
constructor(
|
|
33
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* Identifier of the tx.
|
|
36
|
+
* It's a hash of the public inputs of the tx's proof.
|
|
37
|
+
* This claimed hash is reconciled against the tx's public inputs (`this.data`) in data_validator.ts.
|
|
38
|
+
*/
|
|
34
39
|
public readonly txHash: TxHash,
|
|
35
40
|
/**
|
|
36
41
|
* Output of the private kernel circuit for this tx.
|
|
@@ -43,16 +48,20 @@ export class Tx extends Gossipable {
|
|
|
43
48
|
/**
|
|
44
49
|
* Contract class log fields emitted from the tx.
|
|
45
50
|
* Their order should match the order of the log hashes returned from `this.data.getNonEmptyContractClassLogsHashes`.
|
|
46
|
-
*
|
|
51
|
+
* This claimed data is reconciled against a hash of this data (that is contained within
|
|
52
|
+
* the tx's public inputs (`this.data`)), in data_validator.ts.
|
|
47
53
|
*/
|
|
48
54
|
public readonly contractClassLogFields: ContractClassLogFields[],
|
|
49
55
|
/**
|
|
50
56
|
* An array of calldata for the enqueued public function calls and the teardown function call.
|
|
57
|
+
* This claimed data is reconciled against hashes of this data (that are contained within
|
|
58
|
+
* the tx's public inputs (`this.data`)), in data_validator.ts.
|
|
51
59
|
*/
|
|
52
60
|
public readonly publicFunctionCalldata: HashedValues[],
|
|
53
61
|
) {
|
|
54
62
|
super();
|
|
55
63
|
}
|
|
64
|
+
// docs:end:tx_class
|
|
56
65
|
|
|
57
66
|
// Gossipable method
|
|
58
67
|
override generateP2PMessageIdentifier(): Promise<Buffer32> {
|
|
@@ -238,7 +247,7 @@ export class Tx extends Gossipable {
|
|
|
238
247
|
contractClassLogSize: this.data.getEmittedContractClassLogsLength(),
|
|
239
248
|
|
|
240
249
|
proofSize: this.chonkProof.fields.length,
|
|
241
|
-
size: this.
|
|
250
|
+
size: this.getSize(),
|
|
242
251
|
|
|
243
252
|
feePaymentMethod:
|
|
244
253
|
// needsSetup? then we pay through a fee payment contract
|
|
@@ -246,26 +255,34 @@ export class Tx extends Gossipable {
|
|
|
246
255
|
};
|
|
247
256
|
}
|
|
248
257
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
258
|
+
private sizeCache: number | undefined;
|
|
259
|
+
|
|
260
|
+
getSize(): number {
|
|
261
|
+
if (this.sizeCache == undefined) {
|
|
262
|
+
this.sizeCache = this.toBuffer().length;
|
|
263
|
+
}
|
|
264
|
+
return this.sizeCache;
|
|
256
265
|
}
|
|
257
266
|
|
|
258
267
|
/**
|
|
259
|
-
*
|
|
260
|
-
*
|
|
268
|
+
* Returns the number of fields this tx's effects will occupy in the blob,
|
|
269
|
+
* based on its private side effects only. Accurate for txs without public calls.
|
|
270
|
+
* For txs with public calls, the actual size will be larger due to public execution outputs.
|
|
261
271
|
*/
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
);
|
|
272
|
+
getPrivateTxEffectsSizeInFields(): number {
|
|
273
|
+
// 3 fields overhead: tx_start_marker, tx_hash, tx_fee.
|
|
274
|
+
// TX_DA_GAS_OVERHEAD is defined as N * DA_GAS_PER_FIELD, so this division is always exact.
|
|
275
|
+
const overheadFields = TX_DA_GAS_OVERHEAD / DA_GAS_PER_FIELD;
|
|
276
|
+
const noteHashes = this.data.getNonEmptyNoteHashes().length;
|
|
277
|
+
const nullifiers = this.data.getNonEmptyNullifiers().length;
|
|
278
|
+
const l2ToL1Msgs = this.data.getNonEmptyL2ToL1Msgs().length;
|
|
279
|
+
// Each private log occupies (emittedLength + 1) fields: content + length field
|
|
280
|
+
const privateLogFields = this.data.getNonEmptyPrivateLogs().reduce((acc, log) => acc + log.emittedLength + 1, 0);
|
|
281
|
+
// Each contract class log occupies (length + 1) fields: content + contract address
|
|
282
|
+
const contractClassLogFields = this.data
|
|
283
|
+
.getNonEmptyContractClassLogsHashes()
|
|
284
|
+
.reduce((acc, log) => acc + log.logHash.length + 1, 0);
|
|
285
|
+
return overheadFields + noteHashes + nullifiers + l2ToL1Msgs + privateLogFields + contractClassLogFields;
|
|
269
286
|
}
|
|
270
287
|
|
|
271
288
|
/**
|
|
@@ -301,7 +318,7 @@ export class Tx extends Gossipable {
|
|
|
301
318
|
|
|
302
319
|
/** Recomputes the tx hash. Used for testing purposes only when a property of the tx was mutated. */
|
|
303
320
|
public async recomputeHash(): Promise<TxHash> {
|
|
304
|
-
(this
|
|
321
|
+
unfreeze(this).txHash = await Tx.computeTxHash(this);
|
|
305
322
|
return this.txHash;
|
|
306
323
|
}
|
|
307
324
|
|
package/src/tx/tx_effect.ts
CHANGED
|
@@ -28,7 +28,6 @@ import { RevertCode } from '../avm/revert_code.js';
|
|
|
28
28
|
import { ContractClassLog } from '../logs/contract_class_log.js';
|
|
29
29
|
import { PrivateLog } from '../logs/private_log.js';
|
|
30
30
|
import { FlatPublicLogs, PublicLog } from '../logs/public_log.js';
|
|
31
|
-
import { computeTxOutHash } from '../messaging/out_hash.js';
|
|
32
31
|
import { TxHash } from './tx_hash.js';
|
|
33
32
|
|
|
34
33
|
export class TxEffect {
|
|
@@ -184,14 +183,6 @@ export class TxEffect {
|
|
|
184
183
|
);
|
|
185
184
|
}
|
|
186
185
|
|
|
187
|
-
/**
|
|
188
|
-
* Computes txOutHash of this tx effect.
|
|
189
|
-
* @dev Follows new_sha in unbalanced_merkle_tree.nr
|
|
190
|
-
*/
|
|
191
|
-
txOutHash(): Fr {
|
|
192
|
-
return computeTxOutHash(this.l2ToL1Msgs);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
186
|
static async random({
|
|
196
187
|
numNoteHashes,
|
|
197
188
|
numNullifiers,
|
|
@@ -214,12 +205,14 @@ export class TxEffect {
|
|
|
214
205
|
maxEffects?: number;
|
|
215
206
|
} = {}): Promise<TxEffect> {
|
|
216
207
|
const count = (max: number, num?: number) => num ?? Math.min(maxEffects ?? randomInt(max), max);
|
|
208
|
+
// Every tx effect must have at least 1 nullifier (the first nullifier is used for log indexing)
|
|
209
|
+
const countNullifiers = (max: number, num?: number) => Math.max(1, count(max, num));
|
|
217
210
|
return new TxEffect(
|
|
218
211
|
RevertCode.random(),
|
|
219
212
|
TxHash.random(),
|
|
220
213
|
new Fr(Math.floor(Math.random() * 100_000)),
|
|
221
214
|
makeTuple(count(MAX_NOTE_HASHES_PER_TX, numNoteHashes), Fr.random),
|
|
222
|
-
makeTuple(
|
|
215
|
+
makeTuple(countNullifiers(MAX_NULLIFIERS_PER_TX, numNullifiers), Fr.random),
|
|
223
216
|
makeTuple(count(MAX_L2_TO_L1_MSGS_PER_TX, numL2ToL1Msgs), Fr.random),
|
|
224
217
|
makeTuple(count(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, numPublicDataWrites), PublicDataWrite.random),
|
|
225
218
|
makeTuple(count(MAX_PRIVATE_LOGS_PER_TX, numPrivateLogs), () => PrivateLog.random()),
|
|
@@ -20,6 +20,7 @@ import { TxRequest } from './tx_request.js';
|
|
|
20
20
|
/**
|
|
21
21
|
* Request to execute a transaction. Similar to TxRequest, but has the full args.
|
|
22
22
|
*/
|
|
23
|
+
// docs:start:tx_execution_request_class
|
|
23
24
|
export class TxExecutionRequest {
|
|
24
25
|
constructor(
|
|
25
26
|
/**
|
|
@@ -60,6 +61,7 @@ export class TxExecutionRequest {
|
|
|
60
61
|
*/
|
|
61
62
|
public salt = Fr.random(),
|
|
62
63
|
) {}
|
|
64
|
+
// docs:end:tx_execution_request_class
|
|
63
65
|
|
|
64
66
|
static get schema(): ZodFor<TxExecutionRequest> {
|
|
65
67
|
return z
|