@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.b9865e97
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 +196 -552
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +50 -27
- package/dest/abi/authorization_selector.d.ts +5 -8
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/authorization_selector.js +2 -1
- package/dest/abi/buffer.d.ts +15 -5
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +26 -5
- 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 +17 -10
- package/dest/abi/decoder.d.ts +7 -46
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +2 -2
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +65 -8
- 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/event_selector.d.ts +5 -8
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +2 -1
- package/dest/abi/function_call.d.ts +23 -11
- 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 +5 -7
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +11 -5
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +5 -8
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +3 -5
- package/dest/abi/selector.d.ts +3 -3
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +5 -3
- 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 +3 -3
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +5 -5
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +2484 -8847
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +594 -16
- package/dest/avm/avm_accumulated_data.d.ts +42 -90
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +24 -3
- package/dest/avm/avm_circuit_public_inputs.d.ts +208 -948
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +13 -2
- package/dest/avm/avm_proving_request.d.ts +801 -5070
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +2 -2
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.js +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +2 -2
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.js +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/message_pack.d.ts +2 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +17 -4
- package/dest/avm/public_call_stack_item_compressed.d.ts +2 -2
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.js +1 -1
- package/dest/avm/public_data_read.d.ts +2 -2
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_read.js +1 -1
- package/dest/avm/public_data_update_request.d.ts +2 -2
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.js +4 -2
- package/dest/avm/public_data_write.d.ts +17 -15
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +10 -1
- package/dest/avm/public_inner_call_request.d.ts +2 -2
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +3 -1
- package/dest/avm/revert_code.d.ts +19 -11
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +37 -27
- package/dest/aztec-address/index.d.ts +19 -9
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +37 -9
- package/dest/block/attestation_info.d.ts +9 -6
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +13 -8
- package/dest/block/block_data.d.ts +27 -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 +20 -15
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +23 -20
- package/dest/block/block_parameter.d.ts +39 -0
- package/dest/block/block_parameter.d.ts.map +1 -0
- package/dest/block/block_parameter.js +59 -0
- package/dest/block/body.d.ts +8 -8
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +16 -29
- package/dest/block/in_block.d.ts +19 -27
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +21 -12
- 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 -77
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +93 -74
- package/dest/block/l2_block_info.d.ts +15 -29
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +14 -12
- package/dest/block/l2_block_source.d.ts +311 -212
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +95 -16
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +20 -7
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +13 -8
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +158 -37
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +26 -15
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +58 -59
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +52 -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 +211 -0
- package/dest/block/proposal/attestations_and_signers.d.ts +33 -33
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +38 -16
- package/dest/block/proposal/committee_attestation.d.ts +7 -13
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +1 -1
- package/dest/block/test/index.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +484 -44
- package/dest/block/validate_block_result.d.ts +28 -200
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +22 -20
- package/dest/checkpoint/checkpoint.d.ts +112 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +137 -0
- package/dest/checkpoint/checkpoint_data.d.ts +97 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +38 -0
- package/dest/checkpoint/checkpoint_info.d.ts +22 -0
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_info.js +34 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +9 -2
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +8 -1
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +103 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/published_checkpoint.js +81 -0
- 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/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- 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.d.ts +1 -1
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/config/sequencer-config.d.ts +14 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +38 -0
- package/dest/contract/artifact_hash.d.ts +3 -3
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +2 -2
- package/dest/contract/complete_address.d.ts +4 -3
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +7 -3
- package/dest/contract/contract_address.d.ts +7 -7
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +11 -10
- package/dest/contract/contract_class.d.ts +3 -4
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +1 -1
- package/dest/contract/contract_class_id.d.ts +4 -4
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +9 -8
- package/dest/contract/contract_deployment_data.d.ts +73 -0
- package/dest/contract/contract_deployment_data.d.ts.map +1 -0
- package/dest/contract/contract_deployment_data.js +99 -0
- package/dest/contract/contract_function_dao.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts +5 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +11 -4
- package/dest/contract/contract_instance_update.d.ts +2 -2
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.js +1 -1
- package/dest/contract/deployment_info.d.ts +2 -2
- package/dest/contract/deployment_info.d.ts.map +1 -1
- package/dest/contract/index.d.ts +2 -5
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +1 -4
- package/dest/contract/interfaces/contract_class.d.ts +30 -330
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +24 -34
- package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +64 -109
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +33 -6
- package/dest/contract/interfaces/contract_instance_update.d.ts +12 -33
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.js +5 -5
- package/dest/contract/interfaces/index.d.ts +1 -1
- package/dest/contract/interfaces/node-info.d.ts +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/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +2 -2
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +2 -2
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +7 -9
- package/dest/database-version/database_version.d.ts +52 -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 +7 -51
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +13 -65
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +3 -3
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +9 -12
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +1 -1
- package/dest/delayed_public_mutable/index.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +2 -2
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
- package/dest/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 +27 -28
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +35 -14
- package/dest/errors/index.d.ts +1 -1
- package/dest/errors/proving_error.d.ts +1 -1
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts +2 -2
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/fees/index.d.ts +1 -1
- package/dest/fees/transaction_fee.d.ts +2 -2
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/gcs.d.ts +1 -1
- package/dest/file-store/gcs.d.ts.map +1 -1
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +28 -12
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/interface.d.ts +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 +14 -10
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +18 -15
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +22 -5
- package/dest/gas/gas_fees.d.ts +22 -15
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +35 -5
- package/dest/gas/gas_settings.d.ts +75 -87
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +69 -10
- package/dest/gas/gas_used.d.ts +13 -2
- package/dest/gas/gas_used.d.ts.map +1 -1
- package/dest/gas/gas_used.js +19 -1
- package/dest/gas/index.d.ts +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- package/dest/ha-signing/config.d.ts +72 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +88 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +32 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +43 -9
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +86 -20
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +2 -2
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -3
- package/dest/interfaces/allowed_element.d.ts +22 -41
- 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 +30 -30
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +220 -54
- package/dest/interfaces/aztec-node-admin.d.ts +129 -216
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +70 -19
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +21 -0
- package/dest/interfaces/aztec-node.d.ts +154 -149
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +316 -74
- package/dest/interfaces/block-builder.d.ts +57 -18
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +23 -1
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +50 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +11 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +8 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +111 -116
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +31 -8
- package/dest/interfaces/epoch-prover.d.ts +8 -8
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +16 -30
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +22 -24
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +21 -17
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +29 -7
- package/dest/interfaces/private_kernel_prover.d.ts +62 -2
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/processed-tx-handler.d.ts +1 -1
- package/dest/interfaces/prover-agent.d.ts +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- 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 +21 -21
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +22 -7
- package/dest/interfaces/prover-coordination.d.ts +1 -1
- package/dest/interfaces/prover-node.d.ts +1 -1
- package/dest/interfaces/prover-node.js +22 -8
- package/dest/interfaces/proving-job-source.d.ts +1 -1
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +900 -5434
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +5 -10
- package/dest/interfaces/public_state_source.d.ts +2 -2
- package/dest/interfaces/public_state_source.d.ts.map +1 -1
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -1
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -0
- package/dest/interfaces/server_circuit_prover.d.ts +4 -4
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +1 -1
- package/dest/interfaces/slasher.d.ts +27 -59
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +13 -7
- package/dest/interfaces/tx_provider.d.ts +6 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +126 -121
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +23 -9
- package/dest/interfaces/world_state.d.ts +26 -33
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/interfaces/world_state.js +4 -3
- package/dest/kernel/claimed_length_array.d.ts +2 -2
- package/dest/kernel/claimed_length_array.d.ts.map +1 -1
- package/dest/kernel/claimed_length_array.js +3 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +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 +5 -5
- 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 +10 -4
- 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 +3 -3
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_hint.d.ts +2 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +14 -9
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +21 -18
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +13 -16
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -12
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
- package/dest/kernel/hints/read_request.d.ts +2 -2
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_separator.d.ts +19 -0
- package/dest/kernel/hints/scoped_key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.js +4 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
- package/dest/kernel/index.d.ts +5 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -0
- package/dest/kernel/log_hash.d.ts +7 -3
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +25 -11
- package/dest/kernel/note_hash.d.ts +2 -2
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.d.ts +2 -2
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/padded_side_effects.d.ts +2 -2
- package/dest/kernel/padded_side_effects.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.js +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +2 -2
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +1 -1
- package/dest/kernel/private_call_request.d.ts +2 -2
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_call_request.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +84 -68
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +73 -61
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +14 -6
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +12 -8
- package/dest/kernel/private_kernel_data.d.ts +1 -1
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +0 -2
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +11 -3
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +8 -4
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +5 -31
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -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 +13 -9
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +33 -14
- package/dest/kernel/private_log_data.d.ts +2 -2
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +5 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +43 -71
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +35 -8
- package/dest/kernel/private_to_public_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +10 -5
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +8 -7
- 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 +14 -10
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +6 -5
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +10 -5
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +8 -7
- 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 +14 -10
- package/dest/kernel/private_validation_requests.d.ts +4 -17
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +12 -18
- package/dest/kernel/public_call_request.d.ts +33 -32
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +40 -10
- package/dest/kernel/utils/index.d.ts +1 -1
- package/dest/kernel/utils/interfaces.d.ts +1 -1
- package/dest/kernel/utils/optional_number.d.ts +2 -2
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
- package/dest/keys/derivation.d.ts +11 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +33 -20
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +60 -78
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +111 -70
- 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/kv-store/config.d.ts +14 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +21 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/app_tagging_secret.d.ts +46 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +109 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +17 -0
- package/dest/logs/contract_class_log.d.ts +34 -36
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +40 -12
- package/dest/logs/debug_log.d.ts +10 -2
- package/dest/logs/debug_log.d.ts.map +1 -1
- package/dest/logs/debug_log.js +13 -0
- package/dest/logs/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/index.d.ts +11 -8
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +10 -7
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/message_context.d.ts +7 -9
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +28 -10
- package/dest/logs/pending_tagged_log.d.ts +3 -4
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +3 -3
- package/dest/logs/pre_tag.d.ts +14 -22
- 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 +18 -15
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +26 -11
- package/dest/logs/public_log.d.ts +14 -4
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +18 -3
- package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +16 -10
- package/dest/logs/siloed_tag.d.ts +26 -0
- package/dest/logs/siloed_tag.d.ts.map +1 -0
- package/dest/logs/siloed_tag.js +42 -0
- package/dest/logs/tag.d.ts +20 -0
- package/dest/logs/tag.d.ts.map +1 -0
- package/dest/logs/tag.js +34 -0
- package/dest/logs/tagging_index_range.d.ts +22 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/in_hash.d.ts +6 -0
- package/dest/messaging/in_hash.d.ts.map +1 -0
- package/dest/messaging/in_hash.js +10 -0
- package/dest/messaging/inbox_leaf.d.ts +8 -7
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +10 -9
- package/dest/messaging/index.d.ts +4 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +3 -0
- package/dest/messaging/l1_actor.d.ts +2 -2
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_actor.js +2 -2
- package/dest/messaging/l1_to_l2_message.d.ts +4 -3
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +13 -15
- package/dest/messaging/l1_to_l2_message_source.d.ts +9 -11
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +2 -2
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_actor.js +2 -2
- package/dest/messaging/l2_to_l1_membership.d.ts +153 -7
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +270 -49
- package/dest/messaging/l2_to_l1_message.d.ts +56 -113
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +43 -13
- package/dest/messaging/out_hash.d.ts +43 -0
- package/dest/messaging/out_hash.d.ts.map +1 -0
- package/dest/messaging/out_hash.js +63 -0
- package/dest/noir/index.d.ts +11 -9
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +6 -6
- package/dest/note/comparator.d.ts +1 -1
- package/dest/note/index.d.ts +2 -3
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -2
- package/dest/note/note.d.ts +3 -18
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note.js +5 -2
- package/dest/note/note_dao.d.ts +110 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +112 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/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 +127 -34
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +170 -52
- package/dest/p2p/checkpoint_attestation.d.ts +88 -0
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
- package/dest/p2p/checkpoint_attestation.js +103 -0
- package/dest/p2p/checkpoint_proposal.d.ts +193 -0
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
- package/dest/p2p/checkpoint_proposal.js +241 -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 +42 -205
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +46 -29
- 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 +9 -7
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +27 -10
- 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/interface.d.ts +1 -1
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -1
- package/dest/p2p/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 +28 -17
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +119 -19
- package/dest/p2p/signed_txs.d.ts +44 -0
- package/dest/p2p/signed_txs.d.ts.map +1 -0
- package/dest/p2p/signed_txs.js +77 -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/index.d.ts +1 -1
- package/dest/parity/parity_base_private_inputs.d.ts +9 -5
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +8 -6
- package/dest/parity/parity_public_inputs.d.ts +9 -5
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +7 -4
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +58 -8
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +123 -21
- package/dest/proofs/index.d.ts +1 -1
- package/dest/proofs/proof.d.ts +2 -2
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof.js +1 -1
- package/dest/proofs/proof_data.d.ts +13 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proof_data.js +17 -0
- package/dest/proofs/proving_request_type.d.ts +1 -1
- package/dest/proofs/recursive_proof.d.ts +3 -18
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.js +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -5
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +1 -9
- package/dest/rollup/base_rollup_hints.d.ts +2 -2
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +1 -1
- package/dest/rollup/block_constant_data.d.ts +2 -2
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +1 -1
- package/dest/rollup/block_headers_hash.d.ts +4 -0
- package/dest/rollup/block_headers_hash.d.ts.map +1 -0
- package/dest/rollup/block_headers_hash.js +15 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +25 -11
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +25 -11
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +8 -19
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +2 -10
- package/dest/rollup/checkpoint_constant_data.d.ts +28 -5
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +31 -4
- package/dest/rollup/checkpoint_header.d.ts +54 -18
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +89 -29
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +31 -8
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +21 -4
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +30 -12
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +18 -6
- package/dest/rollup/epoch_constant_data.d.ts +2 -2
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +1 -1
- package/dest/rollup/index.d.ts +2 -1
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +3 -3
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.js +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +3 -3
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.js +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +21 -8
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +11 -5
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +2 -2
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.js +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +3 -3
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.js +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +51 -23
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +15 -3
- package/dest/slashing/helpers.d.ts +8 -7
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +24 -13
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/interfaces.d.ts +3 -2
- package/dest/slashing/interfaces.d.ts.map +1 -1
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +22 -113
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +31 -27
- package/dest/slashing/votes.d.ts +29 -0
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +35 -3
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/snapshots/types.js +5 -5
- package/dest/snapshots/upload.d.ts +1 -1
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +11 -9
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +83 -53
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +231 -231
- package/dest/tests/fixtures.d.ts +1 -1
- package/dest/tests/index.d.ts +1 -1
- package/dest/tests/jest.d.ts +1 -1
- package/dest/tests/jest.js +1 -1
- package/dest/tests/mocks.d.ts +143 -36
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +300 -77
- package/dest/timetable/index.d.ts +84 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +209 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +18 -18
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +19 -14
- package/dest/trees/database_public_state_source.d.ts +2 -2
- package/dest/trees/database_public_state_source.d.ts.map +1 -1
- package/dest/trees/database_public_state_source.js +1 -1
- package/dest/trees/index.d.ts +1 -1
- package/dest/trees/merkle_tree_id.d.ts +5 -5
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +36 -43
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +28 -1
- package/dest/trees/nullifier_membership_witness.d.ts +17 -84
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +3 -15
- package/dest/trees/public_data_leaf.d.ts +42 -57
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +32 -7
- package/dest/trees/public_data_witness.d.ts +18 -84
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +1 -1
- package/dest/tx/block_header.d.ts +24 -15
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +38 -9
- package/dest/tx/call_context.d.ts +6 -16
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/call_context.js +3 -1
- package/dest/tx/capsule.d.ts +8 -4
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +10 -4
- package/dest/tx/execution_payload.d.ts +45 -0
- package/dest/tx/execution_payload.d.ts.map +1 -0
- package/dest/tx/execution_payload.js +40 -0
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/function_data.d.ts +5 -11
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/function_data.js +1 -1
- package/dest/tx/global_variable_builder.d.ts +7 -5
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +58 -57
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +62 -24
- package/dest/tx/hashed_values.d.ts +5 -4
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +7 -4
- package/dest/tx/in_tx.d.ts +14 -0
- package/dest/tx/in_tx.d.ts.map +1 -0
- package/dest/tx/in_tx.js +14 -0
- package/dest/tx/index.d.ts +4 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +3 -1
- package/dest/tx/indexed_tx_effect.d.ts +12 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +16 -9
- package/dest/tx/offchain_effect.d.ts +2 -2
- package/dest/tx/offchain_effect.d.ts.map +1 -1
- package/dest/tx/offchain_effect.js +1 -1
- package/dest/tx/partial_state_reference.d.ts +26 -69
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +16 -13
- package/dest/tx/private_execution_result.d.ts +23 -51
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +16 -30
- package/dest/tx/private_tx_constant_data.d.ts +2 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +1 -1
- package/dest/tx/processed_tx.d.ts +5 -4
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +8 -7
- package/dest/tx/profiling.d.ts +117 -280
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +63 -15
- package/dest/tx/protocol_contracts.d.ts +14 -10
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +12 -3
- package/dest/tx/proven_tx.d.ts +32 -76
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +13 -4
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +22 -5
- package/dest/tx/public_simulation_output.d.ts +7 -3
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +16 -5
- package/dest/tx/simulated_tx.d.ts +68 -120
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +17 -12
- package/dest/tx/state_reference.d.ts +35 -122
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +18 -14
- package/dest/tx/tree_snapshots.d.ts +37 -86
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +18 -5
- package/dest/tx/tx.d.ts +42 -24
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +72 -39
- package/dest/tx/tx_constant_data.d.ts +5 -4
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +7 -4
- package/dest/tx/tx_context.d.ts +33 -132
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +7 -7
- package/dest/tx/tx_effect.d.ts +20 -16
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +58 -66
- package/dest/tx/tx_execution_request.d.ts +2 -2
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +7 -3
- package/dest/tx/tx_hash.d.ts +7 -5
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +14 -6
- package/dest/tx/tx_receipt.d.ts +168 -39
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +169 -43
- package/dest/tx/tx_request.d.ts +2 -2
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +4 -4
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +11 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +13 -1
- package/dest/tx/validator/tx_validator.d.ts +6 -31
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +4 -8
- package/dest/types/index.d.ts +1 -1
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +4 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +3 -1
- package/dest/update-checker/package_version.d.ts +6 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +13 -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 +12 -8
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +9 -4
- package/dest/validators/index.d.ts +1 -1
- package/dest/validators/schemas.d.ts +147 -556
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +29 -26
- package/dest/validators/types.d.ts +30 -12
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/index.d.ts +1 -1
- package/dest/versioning/versioning.d.ts +5 -3
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +5 -2
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +6 -132
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +14 -115
- package/dest/vks/vk_data.d.ts +2 -2
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/vks/vk_data.js +1 -1
- package/dest/world-state/genesis_data.d.ts +13 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +7 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +12 -8
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +11 -2
- package/dest/zkpassport/index.d.ts +4 -5
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +11 -11
- package/package.json +39 -17
- package/src/abi/abi.ts +118 -55
- package/src/abi/authorization_selector.ts +5 -10
- package/src/abi/buffer.ts +26 -5
- package/src/abi/contract_artifact.ts +23 -18
- package/src/abi/decoder.ts +37 -83
- package/src/abi/encoder.ts +86 -7
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +5 -10
- package/src/abi/function_call.ts +26 -4
- package/src/abi/function_selector.ts +15 -15
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +5 -14
- package/src/abi/selector.ts +2 -2
- package/src/abi/utils.ts +44 -0
- package/src/auth_witness/auth_witness.ts +5 -5
- package/src/avm/avm.ts +886 -7
- package/src/avm/avm_accumulated_data.ts +41 -1
- package/src/avm/avm_circuit_public_inputs.ts +41 -1
- package/src/avm/contract_storage_read.ts +1 -1
- package/src/avm/contract_storage_update_request.ts +1 -1
- package/src/avm/message_pack.ts +18 -5
- package/src/avm/public_call_stack_item_compressed.ts +1 -1
- package/src/avm/public_data_read.ts +1 -1
- package/src/avm/public_data_update_request.ts +1 -1
- package/src/avm/public_data_write.ts +13 -2
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +46 -31
- package/src/aztec-address/index.ts +43 -15
- package/src/block/attestation_info.ts +22 -12
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +32 -24
- package/src/block/block_parameter.ts +78 -0
- package/src/block/body.ts +18 -40
- package/src/block/in_block.ts +28 -15
- package/src/block/index.ts +2 -3
- package/src/block/l2_block.ts +132 -96
- package/src/block/l2_block_info.ts +19 -16
- package/src/block/l2_block_source.ts +328 -111
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +21 -6
- package/src/block/l2_block_stream/l2_block_stream.ts +180 -43
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +68 -54
- package/src/block/l2_block_stream/l2_tips_store_base.ts +260 -0
- package/src/block/proposal/attestations_and_signers.ts +52 -18
- package/src/block/proposal/committee_attestation.ts +1 -1
- package/src/block/test/l2_tips_store_test_suite.ts +494 -37
- package/src/block/validate_block_result.ts +47 -40
- package/src/checkpoint/checkpoint.ts +195 -0
- package/src/checkpoint/checkpoint_data.ts +91 -0
- package/src/checkpoint/checkpoint_info.ts +52 -0
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +8 -1
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/published_checkpoint.ts +108 -0
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/node-rpc-config.ts +1 -1
- package/src/config/sequencer-config.ts +65 -0
- package/src/contract/artifact_hash.ts +2 -2
- package/src/contract/complete_address.ts +8 -4
- package/src/contract/contract_address.ts +12 -12
- package/src/contract/contract_class.ts +5 -5
- package/src/contract/contract_class_id.ts +9 -8
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/contract_instance.ts +12 -3
- package/src/contract/contract_instance_update.ts +1 -1
- package/src/contract/deployment_info.ts +1 -1
- package/src/contract/index.ts +1 -4
- package/src/contract/interfaces/contract_class.ts +48 -97
- package/src/contract/interfaces/contract_data_source.ts +3 -2
- package/src/contract/interfaces/contract_instance.ts +53 -17
- package/src/contract/interfaces/contract_instance_update.ts +12 -10
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/partial_address.ts +1 -1
- package/src/contract/private_function.ts +8 -6
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +18 -77
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +11 -12
- package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
- package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
- package/src/deserialization/index.ts +21 -0
- package/src/epoch-helpers/index.ts +78 -30
- package/src/errors/simulation_error.ts +1 -1
- package/src/fees/transaction_fee.ts +1 -1
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +35 -13
- package/src/file-store/index.ts +1 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +15 -10
- package/src/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +23 -4
- package/src/gas/gas_fees.ts +44 -11
- package/src/gas/gas_settings.ts +93 -16
- package/src/gas/gas_used.ts +22 -1
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +152 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +85 -19
- package/src/hash/map_slot.ts +4 -3
- package/src/interfaces/allowed_element.ts +35 -13
- package/src/interfaces/api_limit.ts +2 -0
- package/src/interfaces/archiver.ts +104 -77
- package/src/interfaces/aztec-node-admin.ts +63 -21
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +368 -314
- package/src/interfaces/block-builder.ts +104 -27
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +24 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +7 -1
- package/src/interfaces/configs.ts +142 -35
- package/src/interfaces/epoch-prover.ts +6 -7
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +15 -31
- package/src/interfaces/merkle_tree_operations.ts +25 -23
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +42 -35
- package/src/interfaces/private_kernel_prover.ts +88 -0
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +45 -15
- package/src/interfaces/prover-node.ts +7 -7
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +18 -18
- package/src/interfaces/public_state_source.ts +1 -1
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -0
- package/src/interfaces/server_circuit_prover.ts +3 -3
- package/src/interfaces/slasher.ts +41 -28
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +152 -46
- package/src/interfaces/world_state.ts +29 -20
- package/src/kernel/claimed_length_array.ts +1 -1
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +34 -30
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +33 -33
- package/src/kernel/hints/build_transient_data_hints.ts +19 -4
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/key_validation_hint.ts +1 -1
- package/src/kernel/hints/key_validation_request.ts +19 -16
- package/src/kernel/hints/key_validation_request_and_separator.ts +49 -0
- package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +11 -11
- package/src/kernel/hints/scoped_value_cache.ts +1 -1
- package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
- package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
- package/src/kernel/index.ts +4 -0
- package/src/kernel/log_hash.ts +30 -10
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/padded_side_effects.ts +1 -1
- package/src/kernel/private_call_data.ts +1 -1
- package/src/kernel/private_call_request.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +109 -89
- package/src/kernel/private_context_inputs.ts +1 -1
- package/src/kernel/private_kernel_circuit_public_inputs.ts +10 -3
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +7 -1
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +43 -19
- package/src/kernel/private_log_data.ts +1 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +52 -6
- package/src/kernel/private_to_public_accumulated_data.ts +10 -4
- package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +16 -10
- package/src/kernel/private_to_rollup_accumulated_data.ts +9 -4
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +15 -15
- package/src/kernel/private_validation_requests.ts +8 -20
- package/src/kernel/public_call_request.ts +50 -8
- package/src/kernel/utils/optional_number.ts +1 -1
- package/src/keys/derivation.ts +38 -23
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +138 -104
- package/src/keys/utils.ts +8 -4
- package/src/kv-store/config.ts +29 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +137 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +49 -7
- package/src/logs/debug_log.ts +20 -1
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/index.ts +10 -7
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/message_context.ts +23 -9
- package/src/logs/pending_tagged_log.ts +2 -4
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +31 -8
- package/src/logs/public_log.ts +26 -3
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +22 -11
- package/src/logs/siloed_tag.ts +59 -0
- package/src/logs/tag.ts +42 -0
- package/src/logs/tagging_index_range.ts +18 -0
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/in_hash.ts +12 -0
- package/src/messaging/inbox_leaf.ts +11 -10
- package/src/messaging/index.ts +3 -0
- package/src/messaging/l1_actor.ts +2 -2
- package/src/messaging/l1_to_l2_message.ts +14 -10
- package/src/messaging/l1_to_l2_message_source.ts +8 -11
- package/src/messaging/l2_actor.ts +2 -2
- package/src/messaging/l2_to_l1_membership.ts +343 -62
- package/src/messaging/l2_to_l1_message.ts +59 -10
- package/src/messaging/out_hash.ts +77 -0
- package/src/noir/index.ts +10 -8
- package/src/note/index.ts +1 -2
- package/src/note/note.ts +5 -2
- package/src/note/note_dao.ts +184 -0
- package/src/p2p/attestation_utils.ts +59 -3
- package/src/p2p/block_proposal.ts +307 -65
- package/src/p2p/checkpoint_attestation.ts +144 -0
- package/src/p2p/checkpoint_proposal.ts +428 -0
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +72 -40
- package/src/p2p/constants.ts +6 -0
- package/src/p2p/gossipable.ts +30 -11
- 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 +111 -23
- package/src/p2p/signed_txs.ts +106 -0
- package/src/p2p/topic_type.ts +10 -16
- package/src/parity/parity_base_private_inputs.ts +11 -5
- package/src/parity/parity_public_inputs.ts +10 -3
- package/src/proofs/chonk_proof.ts +143 -19
- package/src/proofs/proof.ts +1 -1
- package/src/proofs/proof_data.ts +24 -0
- package/src/proofs/recursive_proof.ts +1 -1
- package/src/rollup/avm_proof_data.ts +2 -9
- package/src/rollup/base_rollup_hints.ts +1 -1
- package/src/rollup/block_constant_data.ts +1 -1
- package/src/rollup/block_headers_hash.ts +21 -0
- package/src/rollup/block_rollup_public_inputs.ts +23 -8
- package/src/rollup/block_root_rollup_private_inputs.ts +1 -10
- package/src/rollup/checkpoint_constant_data.ts +45 -5
- package/src/rollup/checkpoint_header.ts +114 -41
- package/src/rollup/checkpoint_rollup_public_inputs.ts +28 -6
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +20 -6
- package/src/rollup/epoch_constant_data.ts +1 -1
- package/src/rollup/index.ts +1 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +1 -1
- package/src/rollup/public_chonk_verifier_public_inputs.ts +1 -1
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +2 -2
- package/src/rollup/root_rollup_public_inputs.ts +17 -8
- package/src/rollup/tree_snapshot_diff_hints.ts +1 -1
- package/src/rollup/tx_rollup_public_inputs.ts +1 -1
- package/src/schemas/schemas.ts +30 -2
- package/src/slashing/helpers.ts +38 -21
- package/src/slashing/index.ts +1 -2
- package/src/slashing/interfaces.ts +3 -1
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +47 -54
- package/src/slashing/{tally.ts → votes.ts} +41 -2
- package/src/snapshots/types.ts +33 -29
- package/src/stats/stats.ts +14 -7
- package/src/tests/factories.ts +412 -345
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +514 -116
- package/src/timetable/index.ts +304 -0
- package/src/trees/append_only_tree_snapshot.ts +20 -16
- package/src/trees/database_public_state_source.ts +1 -1
- package/src/trees/nullifier_leaf.ts +37 -1
- package/src/trees/nullifier_membership_witness.ts +3 -13
- package/src/trees/public_data_leaf.ts +44 -6
- package/src/trees/public_data_witness.ts +1 -1
- package/src/tx/block_header.ts +55 -17
- package/src/tx/call_context.ts +1 -1
- package/src/tx/capsule.ts +11 -3
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/function_data.ts +1 -1
- package/src/tx/global_variable_builder.ts +12 -5
- package/src/tx/global_variables.ts +86 -34
- package/src/tx/hashed_values.ts +9 -4
- package/src/tx/in_tx.ts +24 -0
- package/src/tx/index.ts +3 -1
- package/src/tx/indexed_tx_effect.ts +22 -8
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +18 -21
- package/src/tx/private_execution_result.ts +15 -27
- package/src/tx/private_tx_constant_data.ts +1 -1
- package/src/tx/processed_tx.ts +19 -16
- package/src/tx/profiling.ts +64 -15
- package/src/tx/protocol_contracts.ts +20 -4
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +26 -4
- package/src/tx/public_simulation_output.ts +23 -2
- package/src/tx/simulated_tx.ts +30 -22
- package/src/tx/state_reference.ts +19 -20
- package/src/tx/tree_snapshots.ts +26 -5
- package/src/tx/tx.ts +90 -53
- package/src/tx/tx_constant_data.ts +9 -4
- package/src/tx/tx_context.ts +9 -4
- package/src/tx/tx_effect.ts +84 -97
- package/src/tx/tx_execution_request.ts +3 -1
- package/src/tx/tx_hash.ts +21 -6
- package/src/tx/tx_receipt.ts +301 -48
- package/src/tx/tx_request.ts +4 -4
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +16 -1
- package/src/tx/validator/tx_validator.ts +9 -11
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +3 -1
- package/src/update-checker/package_version.ts +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +13 -5
- package/src/validators/schemas.ts +65 -50
- package/src/validators/types.ts +33 -12
- package/src/versioning/versioning.ts +6 -3
- package/src/vks/verification_key.ts +16 -170
- package/src/vks/vk_data.ts +1 -1
- package/src/world-state/genesis_data.ts +27 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +23 -6
- package/src/zkpassport/index.ts +13 -14
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- 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 -60
- package/dest/block/l2_block_header.d.ts +0 -100
- package/dest/block/l2_block_header.d.ts.map +0 -1
- package/dest/block/l2_block_header.js +0 -146
- package/dest/block/l2_block_number.d.ts +0 -5
- package/dest/block/l2_block_number.d.ts.map +0 -1
- package/dest/block/l2_block_number.js +0 -6
- package/dest/block/published_l2_block.d.ts +0 -143
- package/dest/block/published_l2_block.d.ts.map +0 -1
- package/dest/block/published_l2_block.js +0 -63
- package/dest/checkpoint/checkpoint_body.d.ts +0 -4
- package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
- package/dest/checkpoint/checkpoint_body.js +0 -9
- package/dest/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/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- 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/interfaces/get_logs_response.d.ts +0 -73
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -11
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +0 -19
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.d.ts +0 -44
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -157
- 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/directional_app_tagging_secret.js +0 -63
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_public_log.d.ts +0 -92
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -22
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -11
- package/dest/logs/log_id.d.ts +0 -70
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -83
- 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/logs/tx_scoped_l2_log.d.ts +0 -55
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -75
- package/dest/note/notes_filter.d.ts +0 -25
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -10
- package/dest/note/unique_note.d.ts +0 -43
- package/dest/note/unique_note.d.ts.map +0 -1
- package/dest/note/unique_note.js +0 -67
- package/dest/p2p/block_attestation.d.ts +0 -87
- package/dest/p2p/block_attestation.d.ts.map +0 -1
- package/dest/p2p/block_attestation.js +0 -100
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -84
- package/dest/slashing/tally.d.ts +0 -23
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/tx/content_commitment.d.ts +0 -48
- package/dest/tx/content_commitment.d.ts.map +0 -1
- package/dest/tx/content_commitment.js +0 -82
- package/dest/update-checker/update-checker.d.ts +0 -50
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/abi/mocked_keys.ts +0 -2
- package/src/block/l2_block_code_to_purge.ts +0 -86
- package/src/block/l2_block_header.ts +0 -232
- package/src/block/l2_block_number.ts +0 -8
- package/src/block/published_l2_block.ts +0 -82
- package/src/checkpoint/checkpoint_body.ts +0 -10
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/database-version/index.ts +0 -1
- package/src/interfaces/get_logs_response.ts +0 -31
- package/src/kernel/hints/key_validation_request_and_generator.ts +0 -52
- package/src/l1-contracts/slash_factory.ts +0 -177
- package/src/logs/directional_app_tagging_secret.ts +0 -77
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -110
- package/src/logs/log_with_tx_data.ts +0 -46
- package/src/logs/tx_scoped_l2_log.ts +0 -95
- package/src/note/notes_filter.ts +0 -35
- package/src/note/unique_note.ts +0 -88
- package/src/p2p/block_attestation.ts +0 -135
- package/src/slashing/empire.ts +0 -100
- package/src/tx/content_commitment.ts +0 -104
- package/src/update-checker/update-checker.ts +0 -165
|
@@ -0,0 +1,304 @@
|
|
|
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
|
+
export type CheckpointTimingConfig = {
|
|
29
|
+
aztecSlotDuration: number;
|
|
30
|
+
ethereumSlotDuration?: number;
|
|
31
|
+
blockDuration?: number;
|
|
32
|
+
checkpointAssembleTime?: number;
|
|
33
|
+
checkpointInitializationTime?: number;
|
|
34
|
+
l1PublishingTime?: number;
|
|
35
|
+
minExecutionTime?: number;
|
|
36
|
+
p2pPropagationTime?: number;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export interface CheckpointTiming {
|
|
40
|
+
readonly aztecSlotDuration: number;
|
|
41
|
+
readonly blockDuration: number | undefined;
|
|
42
|
+
readonly checkpointAssembleTime: number;
|
|
43
|
+
readonly checkpointInitializationTime: number;
|
|
44
|
+
readonly l1PublishingTime: number;
|
|
45
|
+
readonly minExecutionTime: number;
|
|
46
|
+
readonly p2pPropagationTime: number;
|
|
47
|
+
readonly checkpointFinalizationTime: number;
|
|
48
|
+
readonly pipeliningAttestationGracePeriod: number;
|
|
49
|
+
readonly timeReservedAtEnd: number;
|
|
50
|
+
readonly minimumBuildSlotWork: number;
|
|
51
|
+
readonly initializeDeadline: number;
|
|
52
|
+
readonly checkpointAssemblyDeadline: number;
|
|
53
|
+
readonly checkpointAttestationStartDeadline: number;
|
|
54
|
+
readonly checkpointAttestationDeadline: number;
|
|
55
|
+
readonly checkpointPublishingDeadline: number;
|
|
56
|
+
|
|
57
|
+
calculateMaxBlocksPerSlot(): number;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export interface PipelinedCheckpointTiming extends CheckpointTiming {
|
|
61
|
+
readonly proposalWindowIntoTargetSlot: number;
|
|
62
|
+
readonly attestationWindowIntoTargetSlot: number;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Checkpoint timing model for proposer pipelining.
|
|
67
|
+
*
|
|
68
|
+
* The build work starts at the wall-clock slot boundary and the checkpoint
|
|
69
|
+
* proposal is broadcast early enough that attestations complete by the end of
|
|
70
|
+
* the build slot. L1 submission can then be sent at the boundary of the target
|
|
71
|
+
* slot. The target-slot window getters are intended for consumers such as P2P
|
|
72
|
+
* validators that need to validate pipelined messages against wallclock time.
|
|
73
|
+
*/
|
|
74
|
+
class CheckpointTimingModel implements PipelinedCheckpointTiming {
|
|
75
|
+
public readonly aztecSlotDuration: number;
|
|
76
|
+
public readonly blockDuration: number | undefined;
|
|
77
|
+
public readonly checkpointAssembleTime: number;
|
|
78
|
+
public readonly checkpointInitializationTime: number;
|
|
79
|
+
public readonly l1PublishingTime: number;
|
|
80
|
+
public readonly minExecutionTime: number;
|
|
81
|
+
public readonly p2pPropagationTime: number;
|
|
82
|
+
private readonly ethereumSlotDuration: number;
|
|
83
|
+
|
|
84
|
+
constructor(opts: CheckpointTimingConfig) {
|
|
85
|
+
this.aztecSlotDuration = opts.aztecSlotDuration;
|
|
86
|
+
this.blockDuration = opts.blockDuration;
|
|
87
|
+
|
|
88
|
+
this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
|
|
89
|
+
this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
|
|
90
|
+
this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
|
|
91
|
+
this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
|
|
92
|
+
this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
|
|
93
|
+
this.ethereumSlotDuration = opts.ethereumSlotDuration ?? this.l1PublishingTime;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
public get checkpointFinalizationTime(): number {
|
|
97
|
+
// Allow enough time to
|
|
98
|
+
// - build the checkpoint
|
|
99
|
+
// - Round-trip over p2p
|
|
100
|
+
// - Publish to L1
|
|
101
|
+
return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
public get proposalWindowIntoTargetSlot(): number {
|
|
105
|
+
// Proposals no longer spill into the target slot: they are broadcast early
|
|
106
|
+
// enough in the build slot that attestations complete before the boundary.
|
|
107
|
+
// Any residual tolerance into the target slot is covered by clock disparity.
|
|
108
|
+
return 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
public get attestationWindowIntoTargetSlot(): number {
|
|
112
|
+
// Span from the target-slot start to the L1 publish deadline (12s before the last L1 block of
|
|
113
|
+
// the target slot). The p2p layer accepts slot-N attestations until right before the publish
|
|
114
|
+
// deadline so the proposer can keep collecting useful attestations up to the latest moment the
|
|
115
|
+
// checkpoint can still land on L1 in the target slot.
|
|
116
|
+
return Math.max(0, this.aztecSlotDuration - 2 * this.ethereumSlotDuration);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
public get pipeliningAttestationGracePeriod(): number {
|
|
120
|
+
// Under the early-pipelining regime attestations complete inside the build slot itself. Local
|
|
121
|
+
// networks can publish much faster than the Ethereum slot geometry, so they may use the target
|
|
122
|
+
// slot attestation window without moving the L1 publish cutoff.
|
|
123
|
+
return this.l1PublishingTime < this.ethereumSlotDuration ? this.attestationWindowIntoTargetSlot : 0;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public get timeReservedAtEnd(): number {
|
|
127
|
+
// Reserve enough time at the end of the build slot for:
|
|
128
|
+
// - assembling and broadcasting the checkpoint proposal
|
|
129
|
+
// - round-trip p2p propagation (proposal out, attestations back)
|
|
130
|
+
// - validators re-executing the last block
|
|
131
|
+
return this.checkpointAssembleTime + 2 * this.p2pPropagationTime + (this.blockDuration ?? 0);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
public get minimumBuildSlotWork(): number {
|
|
135
|
+
return this.checkpointInitializationTime + this.minExecutionTime * 2;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
public get initializeDeadline(): number {
|
|
139
|
+
return this.aztecSlotDuration - this.minimumBuildSlotWork;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
public get checkpointAssemblyDeadline(): number {
|
|
143
|
+
// Allow enough time to build all blocks and receive attestations. With
|
|
144
|
+
// `pipeliningAttestationGracePeriod = 0` this equals `aztecSlotDuration`.
|
|
145
|
+
return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
public get checkpointAttestationStartDeadline(): number {
|
|
149
|
+
return this.checkpointAssemblyDeadline;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
public get checkpointAttestationDeadline(): number {
|
|
153
|
+
// L1 publish deadline — 12s (one Ethereum slot) before the last L1 block of the target L2 slot;
|
|
154
|
+
// the latest the checkpoint can be submitted and still land on L1 in the target slot. This is an
|
|
155
|
+
// L1-geometry bound (ethereumSlotDuration), matching the publisher's send lead in sendRequestsAt
|
|
156
|
+
// (which also targets one Ethereum slot before the target slot start).
|
|
157
|
+
return this.aztecSlotDuration * 2 - this.ethereumSlotDuration;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
public get checkpointPublishingDeadline(): number {
|
|
161
|
+
// L1 publish deadline — 12s (one Ethereum slot) before the last L1 block of the target L2 slot;
|
|
162
|
+
// the latest the checkpoint can be submitted and still land on L1 in the target slot.
|
|
163
|
+
return this.aztecSlotDuration * 2 - this.ethereumSlotDuration;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
public calculateMaxBlocksPerSlot(): number {
|
|
167
|
+
if (!this.blockDuration) {
|
|
168
|
+
return 1;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
|
|
172
|
+
return Math.floor(timeAvailableForBlocks / this.blockDuration);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Creates a checkpoint timing model.
|
|
178
|
+
*
|
|
179
|
+
* Most callers should use this factory and depend only on the shared
|
|
180
|
+
* `CheckpointTiming` interface.
|
|
181
|
+
*/
|
|
182
|
+
export function createCheckpointTimingModel(opts: CheckpointTimingConfig): CheckpointTiming {
|
|
183
|
+
return createPipelinedCheckpointTimingModel(opts);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Creates a checkpoint timing model exposing the target-slot window accessors.
|
|
188
|
+
*
|
|
189
|
+
* Use this when the caller specifically needs the pipelined timing surface, such
|
|
190
|
+
* as proposal or attestation acceptance windows into the target slot.
|
|
191
|
+
*/
|
|
192
|
+
export function createPipelinedCheckpointTimingModel(opts: CheckpointTimingConfig): PipelinedCheckpointTiming {
|
|
193
|
+
validateCheckpointTimingConfig(opts);
|
|
194
|
+
const normalizedOpts = normalizeCheckpointTimingConfig(opts);
|
|
195
|
+
|
|
196
|
+
const timing = new CheckpointTimingModel(normalizedOpts);
|
|
197
|
+
validateCheckpointTimingModel(timing);
|
|
198
|
+
return timing;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Calculates the maximum number of blocks that can be built in a slot.
|
|
203
|
+
* Used by both the sequencer timetable and p2p gossipsub scoring.
|
|
204
|
+
*
|
|
205
|
+
* @param aztecSlotDurationSec - Aztec slot duration in seconds
|
|
206
|
+
* @param blockDurationSec - Duration per block in seconds (undefined = single block mode)
|
|
207
|
+
* @param opts - Optional overrides for timing constants
|
|
208
|
+
* @returns Maximum number of blocks per slot
|
|
209
|
+
*/
|
|
210
|
+
export function calculateMaxBlocksPerSlot(
|
|
211
|
+
aztecSlotDurationSec: number,
|
|
212
|
+
blockDurationSec: number | undefined,
|
|
213
|
+
opts: {
|
|
214
|
+
checkpointInitializationTime?: number;
|
|
215
|
+
checkpointAssembleTime?: number;
|
|
216
|
+
p2pPropagationTime?: number;
|
|
217
|
+
l1PublishingTime?: number;
|
|
218
|
+
} = {},
|
|
219
|
+
): number {
|
|
220
|
+
return createCheckpointTimingModel({
|
|
221
|
+
aztecSlotDuration: aztecSlotDurationSec,
|
|
222
|
+
blockDuration: blockDurationSec,
|
|
223
|
+
checkpointAssembleTime: opts.checkpointAssembleTime,
|
|
224
|
+
checkpointInitializationTime: opts.checkpointInitializationTime,
|
|
225
|
+
l1PublishingTime: opts.l1PublishingTime,
|
|
226
|
+
p2pPropagationTime: opts.p2pPropagationTime,
|
|
227
|
+
}).calculateMaxBlocksPerSlot();
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function assertNonNegative(name: string, value: number): void {
|
|
231
|
+
if (value < 0) {
|
|
232
|
+
throw new Error(`${name} must be non-negative (got ${value})`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function validateCheckpointTimingConfig(opts: CheckpointTimingConfig): void {
|
|
237
|
+
if (opts.aztecSlotDuration <= 0) {
|
|
238
|
+
throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
|
|
242
|
+
throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
|
|
246
|
+
throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
|
|
250
|
+
throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (opts.checkpointAssembleTime !== undefined) {
|
|
254
|
+
assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
|
|
255
|
+
}
|
|
256
|
+
if (opts.checkpointInitializationTime !== undefined) {
|
|
257
|
+
assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
|
|
258
|
+
}
|
|
259
|
+
if (opts.l1PublishingTime !== undefined) {
|
|
260
|
+
assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
|
|
261
|
+
}
|
|
262
|
+
if (opts.p2pPropagationTime !== undefined) {
|
|
263
|
+
assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
function normalizeCheckpointTimingConfig(opts: CheckpointTimingConfig): CheckpointTimingConfig {
|
|
268
|
+
let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
|
|
269
|
+
let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
|
|
270
|
+
let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
|
|
271
|
+
let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
|
|
272
|
+
|
|
273
|
+
if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
|
|
274
|
+
p2pPropagationTime = 0;
|
|
275
|
+
checkpointAssembleTime = 0.5;
|
|
276
|
+
checkpointInitializationTime = 0.5;
|
|
277
|
+
minExecutionTime = 1;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
|
|
281
|
+
minExecutionTime = opts.blockDuration;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
return {
|
|
285
|
+
...opts,
|
|
286
|
+
checkpointAssembleTime,
|
|
287
|
+
checkpointInitializationTime,
|
|
288
|
+
minExecutionTime,
|
|
289
|
+
p2pPropagationTime,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
function validateCheckpointTimingModel(model: CheckpointTiming): void {
|
|
294
|
+
if (model.blockDuration === undefined) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
|
|
299
|
+
if (timeAvailableForBlocks < model.blockDuration) {
|
|
300
|
+
throw new Error(
|
|
301
|
+
`Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`,
|
|
302
|
+
);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
2
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
|
-
import { BufferReader, FieldReader,
|
|
3
|
+
import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
|
|
5
4
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
5
|
|
|
7
6
|
import { inspect } from 'util';
|
|
@@ -45,8 +44,13 @@ export class AppendOnlyTreeSnapshot {
|
|
|
45
44
|
return this.root.size + 4;
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
toBuffer()
|
|
49
|
-
|
|
47
|
+
toBuffer(): Buffer;
|
|
48
|
+
toBuffer(sink: BufferSink): void;
|
|
49
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
50
|
+
if (!sink) {
|
|
51
|
+
return BufferSink.serialize(this);
|
|
52
|
+
}
|
|
53
|
+
serializeToSink(sink, this.root, this.nextAvailableLeafIndex);
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
toFields(): Fr[] {
|
|
@@ -72,17 +76,6 @@ export class AppendOnlyTreeSnapshot {
|
|
|
72
76
|
return new AppendOnlyTreeSnapshot(reader.readField(), Number(reader.readField().toBigInt()));
|
|
73
77
|
}
|
|
74
78
|
|
|
75
|
-
static fromViem(snapshot: ViemAppendOnlyTreeSnapshot) {
|
|
76
|
-
return new AppendOnlyTreeSnapshot(Fr.fromString(snapshot.root), snapshot.nextAvailableLeafIndex);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
toViem(): ViemAppendOnlyTreeSnapshot {
|
|
80
|
-
return {
|
|
81
|
-
root: this.root.toString(),
|
|
82
|
-
nextAvailableLeafIndex: this.nextAvailableLeafIndex,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
79
|
toAbi(): [`0x${string}`, number] {
|
|
87
80
|
return [this.root.toString(), this.nextAvailableLeafIndex];
|
|
88
81
|
}
|
|
@@ -91,6 +84,17 @@ export class AppendOnlyTreeSnapshot {
|
|
|
91
84
|
return new AppendOnlyTreeSnapshot(Fr.ZERO, 0);
|
|
92
85
|
}
|
|
93
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Creates an AppendOnlyTreeSnapshot instance from a plain object without Zod validation.
|
|
89
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
90
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
91
|
+
* @param obj - Plain object containing AppendOnlyTreeSnapshot fields
|
|
92
|
+
* @returns An AppendOnlyTreeSnapshot instance
|
|
93
|
+
*/
|
|
94
|
+
static fromPlainObject(obj: any): AppendOnlyTreeSnapshot {
|
|
95
|
+
return new AppendOnlyTreeSnapshot(Fr.fromPlainObject(obj.root), obj.nextAvailableLeafIndex);
|
|
96
|
+
}
|
|
97
|
+
|
|
94
98
|
isEmpty(): boolean {
|
|
95
99
|
return this.root.isZero() && this.nextAvailableLeafIndex === 0;
|
|
96
100
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
5
5
|
import type { IndexedTreeLeaf, IndexedTreeLeafPreimage } from '@aztec/foundation/trees';
|
|
@@ -36,6 +36,24 @@ export class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
36
36
|
.transform(({ leaf, nextKey, nextIndex }) => new NullifierLeafPreimage(leaf, nextKey, nextIndex));
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Creates a NullifierLeafPreimage from a plain object without Zod validation.
|
|
41
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
42
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
43
|
+
* @param obj - Plain object containing NullifierLeafPreimage fields
|
|
44
|
+
* @returns A NullifierLeafPreimage instance
|
|
45
|
+
*/
|
|
46
|
+
static fromPlainObject(obj: any): NullifierLeafPreimage {
|
|
47
|
+
if (obj instanceof NullifierLeafPreimage) {
|
|
48
|
+
return obj;
|
|
49
|
+
}
|
|
50
|
+
return new NullifierLeafPreimage(
|
|
51
|
+
NullifierLeaf.fromPlainObject(obj.leaf),
|
|
52
|
+
Fr.fromPlainObject(obj.nextKey),
|
|
53
|
+
typeof obj.nextIndex === 'bigint' ? obj.nextIndex : BigInt(obj.nextIndex),
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
39
57
|
static get leafSchema() {
|
|
40
58
|
return NullifierLeaf.schema;
|
|
41
59
|
}
|
|
@@ -68,6 +86,10 @@ export class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
68
86
|
];
|
|
69
87
|
}
|
|
70
88
|
|
|
89
|
+
isEmpty(): boolean {
|
|
90
|
+
return this.leaf.isEmpty() && this.nextKey.isZero() && this.nextIndex === 0n;
|
|
91
|
+
}
|
|
92
|
+
|
|
71
93
|
toFields(): Fr[] {
|
|
72
94
|
return this.toHashInputs().map(buf => Fr.fromBuffer(buf));
|
|
73
95
|
}
|
|
@@ -157,4 +179,18 @@ export class NullifierLeaf implements IndexedTreeLeaf {
|
|
|
157
179
|
static get schema() {
|
|
158
180
|
return z.object({ nullifier: schemas.Fr }).transform(({ nullifier }) => new NullifierLeaf(nullifier));
|
|
159
181
|
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Creates a NullifierLeaf from a plain object without Zod validation.
|
|
185
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
186
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
187
|
+
* @param obj - Plain object containing NullifierLeaf fields
|
|
188
|
+
* @returns A NullifierLeaf instance
|
|
189
|
+
*/
|
|
190
|
+
static fromPlainObject(obj: any): NullifierLeaf {
|
|
191
|
+
if (obj instanceof NullifierLeaf) {
|
|
192
|
+
return obj;
|
|
193
|
+
}
|
|
194
|
+
return new NullifierLeaf(Fr.fromPlainObject(obj.nullifier));
|
|
195
|
+
}
|
|
160
196
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NULLIFIER_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
|
|
4
4
|
|
|
5
5
|
import { z } from 'zod';
|
|
@@ -53,22 +53,12 @@ export class NullifierMembershipWitness {
|
|
|
53
53
|
return new MembershipWitness(NULLIFIER_TREE_HEIGHT, this.index, this.siblingPath.toTuple());
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
/**
|
|
57
|
-
* Returns a field array representation of a nullifier witness.
|
|
58
|
-
* @returns A field array representation of a nullifier witness.
|
|
59
|
-
*/
|
|
60
|
-
public toFields(): Fr[] {
|
|
61
|
-
return [new Fr(this.index), ...this.leafPreimage.toFields(), ...this.siblingPath.toFields()];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Returns a representation of the nullifier membership witness as expected by intrinsic Noir deserialization.
|
|
66
|
-
*/
|
|
56
|
+
/** Serializes as `(NullifierLeafPreimage, MembershipWitness)` to match the Noir oracle return type. */
|
|
67
57
|
public toNoirRepresentation(): (string | string[])[] {
|
|
68
58
|
// TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
|
|
69
59
|
return [
|
|
70
|
-
new Fr(this.index).toString() as string,
|
|
71
60
|
...(this.leafPreimage.toFields().map(fr => fr.toString()) as string[]),
|
|
61
|
+
new Fr(this.index).toString() as string,
|
|
72
62
|
this.siblingPath.toFields().map(fr => fr.toString()) as string[],
|
|
73
63
|
];
|
|
74
64
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { toBigIntBE, toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
2
|
-
import {
|
|
2
|
+
import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
|
|
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';
|
|
5
6
|
import type { IndexedTreeLeaf, IndexedTreeLeafPreimage } from '@aztec/foundation/trees';
|
|
@@ -36,6 +37,24 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
36
37
|
.transform(({ leaf, nextKey, nextIndex }) => new PublicDataTreeLeafPreimage(leaf, nextKey, nextIndex));
|
|
37
38
|
}
|
|
38
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Creates a PublicDataTreeLeafPreimage from a plain object without Zod validation.
|
|
42
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
43
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
44
|
+
* @param obj - Plain object containing PublicDataTreeLeafPreimage fields
|
|
45
|
+
* @returns A PublicDataTreeLeafPreimage instance
|
|
46
|
+
*/
|
|
47
|
+
static fromPlainObject(obj: any): PublicDataTreeLeafPreimage {
|
|
48
|
+
if (obj instanceof PublicDataTreeLeafPreimage) {
|
|
49
|
+
return obj;
|
|
50
|
+
}
|
|
51
|
+
return new PublicDataTreeLeafPreimage(
|
|
52
|
+
PublicDataTreeLeaf.fromPlainObject(obj.leaf),
|
|
53
|
+
Fr.fromPlainObject(obj.nextKey),
|
|
54
|
+
typeof obj.nextIndex === 'bigint' ? obj.nextIndex : BigInt(obj.nextIndex),
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
39
58
|
static get leafSchema() {
|
|
40
59
|
return PublicDataTreeLeaf.schema;
|
|
41
60
|
}
|
|
@@ -63,11 +82,15 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
63
82
|
toHashInputs(): Buffer[] {
|
|
64
83
|
return [
|
|
65
84
|
...this.leaf.toHashInputs(),
|
|
66
|
-
Buffer.from(toBufferBE(this.nextIndex, 32)),
|
|
67
85
|
Buffer.from(this.nextKey.toBuffer()),
|
|
86
|
+
Buffer.from(toBufferBE(this.nextIndex, 32)),
|
|
68
87
|
];
|
|
69
88
|
}
|
|
70
89
|
|
|
90
|
+
hash(): Promise<Fr> {
|
|
91
|
+
return poseidon2Hash(this.toHashInputs());
|
|
92
|
+
}
|
|
93
|
+
|
|
71
94
|
clone(): PublicDataTreeLeafPreimage {
|
|
72
95
|
return new PublicDataTreeLeafPreimage(this.leaf.clone(), this.nextKey, this.nextIndex);
|
|
73
96
|
}
|
|
@@ -86,10 +109,11 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
86
109
|
|
|
87
110
|
static fromBuffer(buffer: Buffer | BufferReader): PublicDataTreeLeafPreimage {
|
|
88
111
|
const reader = BufferReader.asReader(buffer);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
112
|
+
return new PublicDataTreeLeafPreimage(
|
|
113
|
+
PublicDataTreeLeaf.fromBuffer(reader),
|
|
114
|
+
Fr.fromBuffer(reader),
|
|
115
|
+
toBigIntBE(reader.readBytes(32)),
|
|
116
|
+
);
|
|
93
117
|
}
|
|
94
118
|
|
|
95
119
|
static fromLeaf(leaf: PublicDataTreeLeaf, nextKey: bigint, nextIndex: bigint): PublicDataTreeLeafPreimage {
|
|
@@ -172,4 +196,18 @@ export class PublicDataTreeLeaf implements IndexedTreeLeaf {
|
|
|
172
196
|
})
|
|
173
197
|
.transform(({ slot, value }) => new PublicDataTreeLeaf(slot, value));
|
|
174
198
|
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Creates a PublicDataTreeLeaf from a plain object without Zod validation.
|
|
202
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
203
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
204
|
+
* @param obj - Plain object containing PublicDataTreeLeaf fields
|
|
205
|
+
* @returns A PublicDataTreeLeaf instance
|
|
206
|
+
*/
|
|
207
|
+
static fromPlainObject(obj: any): PublicDataTreeLeaf {
|
|
208
|
+
if (obj instanceof PublicDataTreeLeaf) {
|
|
209
|
+
return obj;
|
|
210
|
+
}
|
|
211
|
+
return new PublicDataTreeLeaf(Fr.fromPlainObject(obj.slot), Fr.fromPlainObject(obj.value));
|
|
212
|
+
}
|
|
175
213
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { toBigIntBE } from '@aztec/foundation/bigint-buffer';
|
|
3
|
-
import { Fr } from '@aztec/foundation/
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
6
|
import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
|
package/src/tx/block_header.ts
CHANGED
|
@@ -1,36 +1,41 @@
|
|
|
1
|
-
import { BLOCK_HEADER_LENGTH,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { BLOCK_HEADER_LENGTH, DomainSeparator } from '@aztec/constants';
|
|
2
|
+
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
4
|
+
import { randomInt } from '@aztec/foundation/crypto/random';
|
|
5
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
6
|
import { type ZodFor, schemas } from '@aztec/foundation/schemas';
|
|
5
|
-
import { BufferReader,
|
|
7
|
+
import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
|
|
6
8
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
9
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
10
|
|
|
9
11
|
import { inspect } from 'util';
|
|
10
12
|
import { z } from 'zod';
|
|
11
13
|
|
|
14
|
+
import { BlockHash } from '../block/block_hash.js';
|
|
12
15
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
13
16
|
import { GlobalVariables } from './global_variables.js';
|
|
14
17
|
import { StateReference } from './state_reference.js';
|
|
15
18
|
|
|
16
19
|
/** A header of an L2 block. */
|
|
17
20
|
export class BlockHeader {
|
|
21
|
+
private _cachedHash?: Promise<BlockHash>;
|
|
22
|
+
|
|
18
23
|
constructor(
|
|
19
24
|
/** Snapshot of archive before the block is applied. */
|
|
20
|
-
public lastArchive: AppendOnlyTreeSnapshot,
|
|
25
|
+
public readonly lastArchive: AppendOnlyTreeSnapshot,
|
|
21
26
|
/** State reference. */
|
|
22
|
-
public state: StateReference,
|
|
27
|
+
public readonly state: StateReference,
|
|
23
28
|
/**
|
|
24
29
|
* Hash of the sponge blob after the tx effects of this block has been applied.
|
|
25
30
|
* May contain tx effects from the previous blocks in the same checkpoint.
|
|
26
31
|
*/
|
|
27
|
-
public spongeBlobHash: Fr,
|
|
32
|
+
public readonly spongeBlobHash: Fr,
|
|
28
33
|
/** Global variables of an L2 block. */
|
|
29
|
-
public globalVariables: GlobalVariables,
|
|
34
|
+
public readonly globalVariables: GlobalVariables,
|
|
30
35
|
/** Total fees in the block, computed by the root rollup circuit */
|
|
31
|
-
public totalFees: Fr,
|
|
36
|
+
public readonly totalFees: Fr,
|
|
32
37
|
/** Total mana used in the block, computed by the root rollup circuit */
|
|
33
|
-
public totalManaUsed: Fr,
|
|
38
|
+
public readonly totalManaUsed: Fr,
|
|
34
39
|
) {}
|
|
35
40
|
|
|
36
41
|
static get schema(): ZodFor<BlockHeader> {
|
|
@@ -61,11 +66,11 @@ export class BlockHeader {
|
|
|
61
66
|
return new BlockHeader(...BlockHeader.getFields(fields));
|
|
62
67
|
}
|
|
63
68
|
|
|
64
|
-
getSlot() {
|
|
65
|
-
return this.globalVariables.slotNumber
|
|
69
|
+
getSlot(): SlotNumber {
|
|
70
|
+
return this.globalVariables.slotNumber;
|
|
66
71
|
}
|
|
67
72
|
|
|
68
|
-
getBlockNumber() {
|
|
73
|
+
getBlockNumber(): BlockNumber {
|
|
69
74
|
return this.globalVariables.blockNumber;
|
|
70
75
|
}
|
|
71
76
|
|
|
@@ -80,8 +85,13 @@ export class BlockHeader {
|
|
|
80
85
|
);
|
|
81
86
|
}
|
|
82
87
|
|
|
83
|
-
toBuffer()
|
|
84
|
-
|
|
88
|
+
toBuffer(): Buffer;
|
|
89
|
+
toBuffer(sink: BufferSink): void;
|
|
90
|
+
toBuffer(sink?: BufferSink): Buffer | void {
|
|
91
|
+
if (!sink) {
|
|
92
|
+
return BufferSink.serialize(this);
|
|
93
|
+
}
|
|
94
|
+
serializeToSink(sink, ...BlockHeader.getFields(this));
|
|
85
95
|
}
|
|
86
96
|
|
|
87
97
|
toFields(): Fr[] {
|
|
@@ -157,8 +167,36 @@ export class BlockHeader {
|
|
|
157
167
|
return BlockHeader.fromBuffer(hexToBuffer(str));
|
|
158
168
|
}
|
|
159
169
|
|
|
160
|
-
hash(): Promise<
|
|
161
|
-
|
|
170
|
+
hash(): Promise<BlockHash> {
|
|
171
|
+
if (!this._cachedHash) {
|
|
172
|
+
this._cachedHash = poseidon2HashWithSeparator(this.toFields(), DomainSeparator.BLOCK_HEADER_HASH).then(
|
|
173
|
+
fr => new BlockHash(fr),
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
return this._cachedHash;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** Manually set the hash for this block header if already computed */
|
|
180
|
+
setHash(hashed: BlockHash) {
|
|
181
|
+
this._cachedHash = Promise.resolve(hashed);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
|
|
185
|
+
recomputeHash(): Promise<BlockHash> {
|
|
186
|
+
this._cachedHash = undefined;
|
|
187
|
+
return this.hash();
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
|
|
191
|
+
return BlockHeader.from({
|
|
192
|
+
lastArchive: AppendOnlyTreeSnapshot.random(),
|
|
193
|
+
state: StateReference.random(),
|
|
194
|
+
spongeBlobHash: Fr.random(),
|
|
195
|
+
globalVariables: GlobalVariables.random(overrides),
|
|
196
|
+
totalFees: new Fr(randomInt(100_000)),
|
|
197
|
+
totalManaUsed: new Fr(randomInt(100_000_000)),
|
|
198
|
+
...overrides,
|
|
199
|
+
});
|
|
162
200
|
}
|
|
163
201
|
|
|
164
202
|
toInspect() {
|