@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +92 -107
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +2 -2
- package/dest/abi/authorization_selector.d.ts +1 -1
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.js +3 -3
- package/dest/abi/decoder.d.ts +1 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/event_metadata_definition.d.ts +1 -1
- package/dest/abi/event_selector.d.ts +1 -1
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +1 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +1 -1
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/index.d.ts +1 -1
- package/dest/abi/mocked_keys.d.ts +1 -1
- package/dest/abi/note_selector.d.ts +1 -1
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/selector.d.ts +1 -1
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/auth_witness/auth_witness.d.ts +1 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +4189 -2057
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +375 -16
- package/dest/avm/avm_accumulated_data.d.ts +25 -36
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +18 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts +156 -146
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +9 -0
- package/dest/avm/avm_proving_request.d.ts +2023 -1503
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +1 -13
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +1 -13
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/message_pack.d.ts +2 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +3 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +1 -10
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +1 -10
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +13 -11
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +9 -0
- package/dest/avm/public_inner_call_request.d.ts +1 -4
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +16 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +24 -8
- package/dest/aztec-address/index.d.ts +10 -1
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +24 -2
- package/dest/block/attestation_info.d.ts +3 -1
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +4 -1
- package/dest/block/block_hash.d.ts +1 -1
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/body.d.ts +8 -8
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +11 -27
- package/dest/block/in_block.d.ts +3 -11
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +2 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +15 -7
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +54 -4
- package/dest/block/l2_block_code_to_purge.d.ts +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +4 -3
- package/dest/block/l2_block_header.d.ts +10 -12
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +18 -11
- package/dest/block/l2_block_info.d.ts +9 -9
- package/dest/block/l2_block_new.d.ts +108 -0
- package/dest/block/l2_block_new.d.ts.map +1 -0
- package/dest/block/l2_block_new.js +135 -0
- package/dest/block/l2_block_number.d.ts +1 -1
- package/dest/block/l2_block_source.d.ts +10 -9
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.d.ts +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.d.ts +16 -5
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +14 -0
- package/dest/block/proposal/committee_attestation.d.ts +1 -1
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +1 -1
- package/dest/block/published_l2_block.d.ts +15 -28
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +12 -27
- package/dest/block/test/index.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/validate_block_result.d.ts +6 -178
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +4 -3
- package/dest/checkpoint/checkpoint.d.ts +121 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +62 -0
- package/dest/checkpoint/index.d.ts +3 -2
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -1
- package/dest/checkpoint/published_checkpoint.d.ts +212 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/published_checkpoint.js +71 -0
- package/dest/config/chain-config.d.ts +1 -1
- package/dest/config/index.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts +1 -1
- package/dest/contract/artifact_hash.d.ts +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/complete_address.d.ts +1 -4
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class_id.d.ts +1 -1
- package/dest/contract/contract_class_metadata.d.ts +1 -1
- package/dest/contract/contract_deployment_data.d.ts +119 -0
- package/dest/contract/contract_deployment_data.d.ts.map +1 -0
- package/dest/contract/contract_deployment_data.js +99 -0
- package/dest/contract/contract_function_dao.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.d.ts +1 -1
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_metadata.d.ts +1 -1
- package/dest/contract/deployment_info.d.ts +1 -1
- package/dest/contract/index.d.ts +2 -1
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +1 -0
- package/dest/contract/interfaces/contract_class.d.ts +41 -122
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_data_source.d.ts +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +11 -11
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
- package/dest/contract/interfaces/index.d.ts +1 -1
- package/dest/contract/interfaces/node-info.d.ts +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
- package/dest/contract/partial_address.d.ts +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.d.ts +2 -2
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/contract/utility_function_membership_proof.d.ts +1 -1
- package/dest/database-version/index.d.ts +1 -1
- package/dest/database-version/version_manager.d.ts +6 -8
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
- package/dest/delayed_public_mutable/index.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/epoch-helpers/index.d.ts +12 -11
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +10 -9
- package/dest/errors/index.d.ts +1 -1
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts +1 -1
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/fees/index.d.ts +1 -1
- package/dest/fees/transaction_fee.d.ts +1 -1
- package/dest/file-store/factory.d.ts +1 -1
- package/dest/file-store/gcs.d.ts +1 -1
- package/dest/file-store/gcs.d.ts.map +1 -1
- package/dest/file-store/http.d.ts +1 -1
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +8 -3
- package/dest/file-store/index.d.ts +1 -1
- package/dest/file-store/interface.d.ts +1 -1
- package/dest/file-store/local.d.ts +1 -1
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +3 -7
- package/dest/gas/gas.d.ts +9 -1
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +12 -0
- package/dest/gas/gas_fees.d.ts +9 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +12 -0
- package/dest/gas/gas_settings.d.ts +9 -1
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +12 -0
- package/dest/gas/gas_used.d.ts +13 -2
- package/dest/gas/gas_used.d.ts.map +1 -1
- package/dest/gas/gas_used.js +19 -1
- package/dest/gas/index.d.ts +1 -1
- package/dest/hash/hash.d.ts +11 -3
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +11 -1
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/interfaces/allowed_element.d.ts +5 -5
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts +6 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +8 -6
- package/dest/interfaces/aztec-node-admin.d.ts +92 -85
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +3 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +1 -1
- package/dest/interfaces/block-builder.d.ts +1 -1
- package/dest/interfaces/client.d.ts +1 -1
- package/dest/interfaces/configs.d.ts +31 -21
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -1
- package/dest/interfaces/epoch-prover.d.ts +5 -5
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +2 -2
- package/dest/interfaces/l2_logs_source.d.ts +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +3 -3
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
- package/dest/interfaces/p2p.d.ts +3 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +1 -1
- package/dest/interfaces/private_kernel_prover.d.ts +1 -1
- package/dest/interfaces/processed-tx-handler.d.ts +1 -1
- package/dest/interfaces/prover-agent.d.ts +1 -1
- package/dest/interfaces/prover-broker.d.ts +1 -1
- package/dest/interfaces/prover-client.d.ts +5 -5
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-coordination.d.ts +1 -1
- package/dest/interfaces/prover-node.d.ts +1 -1
- package/dest/interfaces/proving-job-source.d.ts +1 -1
- package/dest/interfaces/proving-job.d.ts +1672 -1159
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +3 -2
- package/dest/interfaces/public_state_source.d.ts +1 -1
- package/dest/interfaces/server.d.ts +1 -1
- package/dest/interfaces/server_circuit_prover.d.ts +2 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +1 -1
- package/dest/interfaces/slasher.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts +1 -1
- package/dest/interfaces/validator.d.ts +27 -19
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +2 -1
- package/dest/interfaces/world_state.d.ts +1 -1
- package/dest/kernel/claimed_length_array.d.ts +1 -1
- package/dest/kernel/claimed_length_array.d.ts.map +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +2 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/hints/index.d.ts +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +1 -2
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
- package/dest/kernel/hints/read_request.d.ts +1 -7
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +1 -7
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.d.ts +1 -1
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +1 -1
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.d.ts +1 -1
- package/dest/kernel/padded_side_effects.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +1 -23
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +1 -25
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +1 -16
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +17 -5
- package/dest/kernel/private_context_inputs.d.ts +1 -1
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
- package/dest/kernel/private_kernel_data.d.ts +1 -7
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +0 -2
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.d.ts +2 -24
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +5 -13
- package/dest/kernel/public_call_request.d.ts +22 -27
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +18 -0
- package/dest/kernel/utils/index.d.ts +1 -1
- package/dest/kernel/utils/interfaces.d.ts +1 -1
- package/dest/kernel/utils/optional_number.d.ts +1 -7
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
- package/dest/keys/derivation.d.ts +1 -1
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +1 -1
- package/dest/keys/public_key.d.ts +1 -1
- package/dest/keys/public_keys.d.ts +9 -5
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +12 -0
- package/dest/keys/utils.d.ts +1 -1
- package/dest/l1-contracts/index.d.ts +1 -1
- package/dest/l1-contracts/slash_factory.d.ts +3 -3
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/logs/contract_class_log.d.ts +20 -4
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +24 -0
- package/dest/logs/debug_log.d.ts +10 -2
- package/dest/logs/debug_log.d.ts.map +1 -1
- package/dest/logs/debug_log.js +13 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/extended_contract_class_log.d.ts +1 -3
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +3 -5
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +1 -1
- package/dest/logs/log_filter.d.ts +1 -1
- package/dest/logs/log_id.d.ts +1 -4
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.d.ts +1 -1
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/message_context.d.ts +1 -1
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.d.ts +1 -1
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pre_tag.d.ts +1 -1
- package/dest/logs/private_log.d.ts +10 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +14 -5
- package/dest/logs/public_log.d.ts +9 -1
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +9 -0
- package/dest/logs/shared_secret_derivation.d.ts +1 -1
- package/dest/logs/tx_scoped_l2_log.d.ts +8 -8
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/messaging/in_hash.d.ts +4 -0
- package/dest/messaging/in_hash.d.ts.map +1 -0
- package/dest/messaging/in_hash.js +8 -0
- package/dest/messaging/inbox_leaf.d.ts +1 -3
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/index.d.ts +3 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +2 -0
- package/dest/messaging/l1_actor.d.ts +1 -7
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +1 -6
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message_source.d.ts +1 -1
- package/dest/messaging/l2_actor.d.ts +1 -7
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +2 -2
- package/dest/messaging/l2_to_l1_message.d.ts +17 -1
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +18 -0
- package/dest/messaging/out_hash.d.ts +5 -0
- package/dest/messaging/out_hash.d.ts.map +1 -0
- package/dest/messaging/out_hash.js +28 -0
- package/dest/noir/index.d.ts +7 -7
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +6 -6
- package/dest/note/comparator.d.ts +1 -1
- package/dest/note/index.d.ts +2 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -1
- package/dest/note/note.d.ts +2 -17
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +71 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +101 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/note/notes_filter.d.ts +1 -1
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/block_attestation.d.ts +5 -12
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +3 -6
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -1
- package/dest/p2p/client_type.d.ts +1 -1
- package/dest/p2p/consensus_payload.d.ts +10 -188
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +16 -23
- package/dest/p2p/gossipable.d.ts +6 -5
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +16 -10
- package/dest/p2p/index.d.ts +1 -1
- package/dest/p2p/interface.d.ts +1 -1
- package/dest/p2p/message_validator.d.ts +1 -1
- package/dest/p2p/peer_error.d.ts +1 -1
- package/dest/p2p/signature_utils.d.ts +1 -1
- package/dest/p2p/topic_type.d.ts +1 -1
- package/dest/parity/index.d.ts +1 -1
- package/dest/parity/parity_base_private_inputs.d.ts +1 -3
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +1 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +1 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/index.d.ts +1 -1
- package/dest/proofs/proof.d.ts +1 -4
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof_data.d.ts +1 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.d.ts +1 -1
- package/dest/proofs/recursive_proof.d.ts +2 -26
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +1 -34
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +1 -12
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +4 -0
- package/dest/rollup/block_headers_hash.d.ts.map +1 -0
- package/dest/rollup/block_headers_hash.js +9 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +8 -2
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
- package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +27 -3
- package/dest/rollup/checkpoint_header.d.ts +16 -14
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +40 -13
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
- package/dest/rollup/epoch_constant_data.d.ts +1 -16
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/index.d.ts +2 -1
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +86 -15
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +12 -1
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +5 -4
- package/dest/slashing/helpers.d.ts +7 -6
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +8 -6
- package/dest/slashing/index.d.ts +1 -1
- package/dest/slashing/interfaces.d.ts +3 -2
- package/dest/slashing/interfaces.d.ts.map +1 -1
- package/dest/slashing/serialization.d.ts +1 -1
- package/dest/slashing/tally.d.ts +1 -1
- package/dest/slashing/types.d.ts +10 -10
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/types.d.ts +18 -18
- package/dest/snapshots/upload.d.ts +1 -1
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +1 -1
- package/dest/tests/factories.d.ts +34 -29
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +72 -147
- package/dest/tests/fixtures.d.ts +1 -1
- package/dest/tests/index.d.ts +1 -1
- package/dest/tests/jest.d.ts +1 -1
- package/dest/tests/mocks.d.ts +54 -23
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +133 -33
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +9 -9
- package/dest/trees/database_public_state_source.d.ts +1 -1
- package/dest/trees/database_public_state_source.d.ts.map +1 -1
- package/dest/trees/index.d.ts +1 -1
- package/dest/trees/merkle_tree_id.d.ts +5 -5
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +17 -13
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +24 -0
- package/dest/trees/nullifier_membership_witness.d.ts +4 -37
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +28 -27
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +24 -0
- package/dest/trees/public_data_witness.d.ts +11 -45
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +5 -12
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +13 -2
- package/dest/tx/call_context.d.ts +6 -18
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +1 -4
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/content_commitment.d.ts +1 -1
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/execution_payload.d.ts +37 -0
- package/dest/tx/execution_payload.d.ts.map +1 -0
- package/dest/tx/execution_payload.js +40 -0
- package/dest/tx/function_data.d.ts +4 -6
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +3 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +43 -24
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +48 -8
- package/dest/tx/hashed_values.d.ts +1 -7
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +2 -2
- package/dest/tx/indexed_tx_effect.js +3 -1
- package/dest/tx/offchain_effect.d.ts +1 -1
- package/dest/tx/partial_state_reference.d.ts +4 -7
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +10 -10
- package/dest/tx/private_execution_result.d.ts +14 -49
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -3
- package/dest/tx/private_tx_constant_data.d.ts +1 -16
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/processed_tx.d.ts +1 -1
- package/dest/tx/profiling.d.ts +38 -38
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +5 -4
- package/dest/tx/protocol_contracts.d.ts +10 -2
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +9 -0
- package/dest/tx/proven_tx.d.ts +18 -18
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +12 -0
- package/dest/tx/public_simulation_output.d.ts +3 -1
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +8 -1
- package/dest/tx/simulated_tx.d.ts +21 -21
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +10 -12
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +9 -9
- package/dest/tx/tree_snapshots.d.ts +15 -7
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +9 -0
- package/dest/tx/tx.d.ts +3 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +5 -4
- package/dest/tx/tx_constant_data.d.ts +1 -1
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_context.d.ts +1 -2
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +20 -42
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +54 -59
- package/dest/tx/tx_execution_request.d.ts +1 -30
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_hash.d.ts +1 -2
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +1 -7
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_request.d.ts +1 -6
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/validator/empty_validator.d.ts +1 -1
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +1 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -5
- package/dest/types/index.d.ts +1 -1
- package/dest/types/shared.d.ts +1 -4
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +1 -1
- package/dest/update-checker/update-checker.d.ts +2 -3
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/validators/errors.d.ts +6 -7
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +2 -4
- package/dest/validators/index.d.ts +1 -1
- package/dest/validators/schemas.d.ts +266 -208
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +7 -7
- package/dest/validators/types.d.ts +10 -9
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/index.d.ts +1 -1
- package/dest/versioning/versioning.d.ts +1 -1
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +10 -22
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +20 -0
- package/dest/vks/vk_data.d.ts +1 -7
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/world-state/index.d.ts +1 -1
- package/dest/world-state/world_state_revision.d.ts +34 -2
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +24 -1
- package/dest/zkpassport/index.d.ts +1 -1
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/abi/abi.ts +4 -4
- package/src/abi/contract_artifact.ts +3 -3
- package/src/avm/avm.ts +562 -6
- package/src/avm/avm_accumulated_data.ts +40 -0
- package/src/avm/avm_circuit_public_inputs.ts +40 -0
- package/src/avm/message_pack.ts +4 -1
- package/src/avm/public_data_write.ts +12 -1
- package/src/avm/revert_code.ts +29 -9
- package/src/aztec-address/index.ts +26 -2
- package/src/block/attestation_info.ts +8 -1
- package/src/block/body.ts +16 -39
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +62 -4
- package/src/block/l2_block_code_to_purge.ts +4 -2
- package/src/block/l2_block_header.ts +19 -5
- package/src/block/l2_block_new.ts +171 -0
- package/src/block/l2_block_source.ts +9 -8
- package/src/block/proposal/attestations_and_signers.ts +20 -1
- package/src/block/published_l2_block.ts +14 -31
- package/src/block/validate_block_result.ts +9 -7
- package/src/checkpoint/checkpoint.ts +88 -0
- package/src/checkpoint/index.ts +2 -1
- package/src/checkpoint/published_checkpoint.ts +91 -0
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/index.ts +1 -0
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/epoch-helpers/index.ts +28 -21
- package/src/file-store/http.ts +6 -3
- package/src/file-store/s3.ts +3 -7
- package/src/gas/gas.ts +14 -0
- package/src/gas/gas_fees.ts +14 -0
- package/src/gas/gas_settings.ts +19 -0
- package/src/gas/gas_used.ts +22 -1
- package/src/hash/hash.ts +13 -2
- package/src/interfaces/archiver.ts +10 -5
- package/src/interfaces/aztec-node.ts +4 -3
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/epoch-prover.ts +3 -4
- package/src/interfaces/merkle_tree_operations.ts +2 -2
- package/src/interfaces/p2p.ts +4 -2
- package/src/interfaces/proving-job.ts +14 -5
- package/src/interfaces/validator.ts +5 -2
- package/src/kernel/hints/build_transient_data_hints.ts +2 -2
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/private_circuit_public_inputs.ts +29 -9
- package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
- package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
- package/src/kernel/private_validation_requests.ts +1 -13
- package/src/kernel/public_call_request.ts +27 -0
- package/src/keys/public_keys.ts +19 -0
- package/src/logs/contract_class_log.ts +32 -0
- package/src/logs/debug_log.ts +20 -1
- package/src/logs/private_log.ts +19 -3
- package/src/logs/public_log.ts +14 -0
- package/src/messaging/in_hash.ts +10 -0
- package/src/messaging/index.ts +2 -0
- package/src/messaging/l2_to_l1_membership.ts +2 -2
- package/src/messaging/l2_to_l1_message.ts +25 -0
- package/src/messaging/out_hash.ts +36 -0
- package/src/noir/index.ts +6 -6
- package/src/note/index.ts +1 -1
- package/src/note/note_dao.ts +151 -0
- package/src/p2p/block_attestation.ts +2 -1
- package/src/p2p/block_proposal.ts +3 -2
- package/src/p2p/consensus_payload.ts +16 -26
- package/src/p2p/gossipable.ts +17 -8
- package/src/rollup/block_headers_hash.ts +12 -0
- package/src/rollup/block_rollup_public_inputs.ts +8 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
- package/src/rollup/checkpoint_constant_data.ts +43 -4
- package/src/rollup/checkpoint_header.ts +46 -22
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
- package/src/rollup/index.ts +1 -0
- package/src/schemas/schemas.ts +18 -0
- package/src/slashing/empire.ts +6 -4
- package/src/slashing/helpers.ts +17 -12
- package/src/slashing/interfaces.ts +3 -1
- package/src/tests/factories.ts +211 -227
- package/src/tests/mocks.ts +228 -50
- package/src/trees/append_only_tree_snapshot.ts +11 -12
- package/src/trees/nullifier_leaf.ts +32 -0
- package/src/trees/public_data_leaf.ts +32 -0
- package/src/tx/block_header.ts +16 -3
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/global_variable_builder.ts +2 -1
- package/src/tx/global_variables.ts +63 -9
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +9 -17
- package/src/tx/private_execution_result.ts +5 -2
- package/src/tx/profiling.ts +4 -6
- package/src/tx/protocol_contracts.ts +16 -0
- package/src/tx/public_call_request_with_calldata.ts +17 -0
- package/src/tx/public_simulation_output.ts +18 -1
- package/src/tx/state_reference.ts +9 -15
- package/src/tx/tree_snapshots.ts +16 -0
- package/src/tx/tx.ts +5 -5
- package/src/tx/tx_effect.ts +84 -90
- package/src/validators/errors.ts +3 -4
- package/src/validators/schemas.ts +7 -7
- package/src/validators/types.ts +9 -8
- package/src/vks/verification_key.ts +25 -0
- package/src/world-state/world_state_revision.ts +47 -5
- package/dest/checkpoint/checkpoint_body.d.ts +0 -4
- package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
- package/dest/checkpoint/checkpoint_body.js +0 -9
- package/dest/note/unique_note.d.ts +0 -43
- package/dest/note/unique_note.d.ts.map +0 -1
- package/dest/note/unique_note.js +0 -67
- package/src/checkpoint/checkpoint_body.ts +0 -10
- package/src/note/unique_note.ts +0 -88
package/src/tests/mocks.ts
CHANGED
|
@@ -1,63 +1,86 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
FIXED_DA_GAS,
|
|
3
|
+
FIXED_L2_GAS,
|
|
4
|
+
MAX_ENQUEUED_CALLS_PER_TX,
|
|
5
|
+
MAX_INCLUDE_BY_TIMESTAMP_DURATION,
|
|
6
|
+
MAX_NULLIFIERS_PER_TX,
|
|
7
|
+
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
8
|
+
} from '@aztec/constants';
|
|
9
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
2
10
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
|
-
import { times } from '@aztec/foundation/collection';
|
|
11
|
+
import { padArrayEnd, times } from '@aztec/foundation/collection';
|
|
4
12
|
import { Secp256k1Signer, randomBytes } from '@aztec/foundation/crypto';
|
|
5
13
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
14
|
|
|
7
15
|
import type { ContractArtifact } from '../abi/abi.js';
|
|
16
|
+
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
17
|
+
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
18
|
+
import { RevertCode } from '../avm/revert_code.js';
|
|
8
19
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
9
|
-
import { CommitteeAttestation,
|
|
20
|
+
import { CommitteeAttestation, L2BlockHeader } from '../block/index.js';
|
|
10
21
|
import { L2Block } from '../block/l2_block.js';
|
|
11
22
|
import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
|
|
12
23
|
import { PublishedL2Block } from '../block/published_l2_block.js';
|
|
24
|
+
import type { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
25
|
+
import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
|
|
13
26
|
import { computeContractAddressFromInstance } from '../contract/contract_address.js';
|
|
14
27
|
import { getContractClassFromArtifact } from '../contract/contract_class.js';
|
|
15
28
|
import { SerializableContractInstance } from '../contract/contract_instance.js';
|
|
16
29
|
import type { ContractInstanceWithAddress } from '../contract/index.js';
|
|
30
|
+
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
17
31
|
import { Gas } from '../gas/gas.js';
|
|
18
32
|
import { GasFees } from '../gas/gas_fees.js';
|
|
19
33
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
34
|
+
import type { GasUsed } from '../gas/gas_used.js';
|
|
35
|
+
import type { MerkleTreeReadOperations } from '../interfaces/merkle_tree_operations.js';
|
|
20
36
|
import { Nullifier } from '../kernel/nullifier.js';
|
|
21
37
|
import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inputs.js';
|
|
22
38
|
import {
|
|
23
39
|
PartialPrivateTailPublicInputsForPublic,
|
|
24
40
|
PrivateKernelTailCircuitPublicInputs,
|
|
25
41
|
} from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
42
|
+
import { PrivateToAvmAccumulatedData } from '../kernel/private_to_avm_accumulated_data.js';
|
|
26
43
|
import { PrivateToPublicAccumulatedDataBuilder } from '../kernel/private_to_public_accumulated_data_builder.js';
|
|
27
|
-
import {
|
|
28
|
-
import { UniqueNote } from '../note/unique_note.js';
|
|
44
|
+
import { PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
|
|
29
45
|
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
30
46
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
31
47
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
32
48
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
|
|
33
49
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
50
|
+
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
51
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
52
|
+
import {
|
|
53
|
+
BlockHeader,
|
|
54
|
+
GlobalVariables,
|
|
55
|
+
HashedValues,
|
|
56
|
+
PrivateCallExecutionResult,
|
|
57
|
+
PrivateExecutionResult,
|
|
58
|
+
ProtocolContracts,
|
|
59
|
+
Tx,
|
|
60
|
+
TxConstantData,
|
|
61
|
+
makeProcessedTxFromPrivateOnlyTx,
|
|
62
|
+
makeProcessedTxFromTxWithPublicCalls,
|
|
63
|
+
} from '../tx/index.js';
|
|
64
|
+
import { NestedProcessReturnValues, PublicSimulationOutput } from '../tx/public_simulation_output.js';
|
|
65
|
+
import { TxSimulationResult } from '../tx/simulated_tx.js';
|
|
37
66
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
38
67
|
import { TxHash } from '../tx/tx_hash.js';
|
|
39
|
-
import {
|
|
68
|
+
import {
|
|
69
|
+
makeAvmCircuitInputs,
|
|
70
|
+
makeAztecAddress,
|
|
71
|
+
makeBlockHeader,
|
|
72
|
+
makeGas,
|
|
73
|
+
makeGlobalVariables,
|
|
74
|
+
makeL2BlockHeader,
|
|
75
|
+
makePrivateToPublicAccumulatedData,
|
|
76
|
+
makePrivateToRollupAccumulatedData,
|
|
77
|
+
makeProtocolContracts,
|
|
78
|
+
makePublicCallRequest,
|
|
79
|
+
makePublicDataWrite,
|
|
80
|
+
} from './factories.js';
|
|
40
81
|
|
|
41
82
|
export const randomTxHash = (): TxHash => TxHash.random();
|
|
42
83
|
|
|
43
|
-
export const randomUniqueNote = async ({
|
|
44
|
-
note = Note.random(),
|
|
45
|
-
recipient = undefined,
|
|
46
|
-
contractAddress = undefined,
|
|
47
|
-
txHash = randomTxHash(),
|
|
48
|
-
storageSlot = Fr.random(),
|
|
49
|
-
noteNonce = Fr.random(),
|
|
50
|
-
}: Partial<UniqueNote> = {}) => {
|
|
51
|
-
return new UniqueNote(
|
|
52
|
-
note,
|
|
53
|
-
recipient ?? (await AztecAddress.random()),
|
|
54
|
-
contractAddress ?? (await AztecAddress.random()),
|
|
55
|
-
storageSlot,
|
|
56
|
-
txHash,
|
|
57
|
-
noteNonce,
|
|
58
|
-
);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
84
|
export const mockTx = async (
|
|
62
85
|
seed = 1,
|
|
63
86
|
{
|
|
@@ -159,6 +182,156 @@ export const mockTx = async (
|
|
|
159
182
|
export const mockTxForRollup = (seed = 1, opts: Parameters<typeof mockTx>[1] = {}) =>
|
|
160
183
|
mockTx(seed, { ...opts, numberOfNonRevertiblePublicCallRequests: 0, numberOfRevertiblePublicCallRequests: 0 });
|
|
161
184
|
|
|
185
|
+
/** Mock a processed tx for testing purposes. */
|
|
186
|
+
export async function mockProcessedTx({
|
|
187
|
+
seed = 1,
|
|
188
|
+
anchorBlockHeader,
|
|
189
|
+
db,
|
|
190
|
+
chainId = Fr.ZERO,
|
|
191
|
+
version = Fr.ZERO,
|
|
192
|
+
gasSettings = GasSettings.default({ maxFeesPerGas: new GasFees(10, 10) }),
|
|
193
|
+
vkTreeRoot = Fr.ZERO,
|
|
194
|
+
protocolContracts = makeProtocolContracts(seed + 0x100),
|
|
195
|
+
globalVariables = GlobalVariables.empty(),
|
|
196
|
+
newL1ToL2Snapshot = AppendOnlyTreeSnapshot.empty(),
|
|
197
|
+
feePayer,
|
|
198
|
+
feePaymentPublicDataWrite,
|
|
199
|
+
// The default gasUsed is the tx overhead.
|
|
200
|
+
gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS }),
|
|
201
|
+
privateOnly = false,
|
|
202
|
+
...mockTxOpts
|
|
203
|
+
}: {
|
|
204
|
+
seed?: number;
|
|
205
|
+
anchorBlockHeader?: BlockHeader;
|
|
206
|
+
db?: MerkleTreeReadOperations;
|
|
207
|
+
gasSettings?: GasSettings;
|
|
208
|
+
globalVariables?: GlobalVariables;
|
|
209
|
+
newL1ToL2Snapshot?: AppendOnlyTreeSnapshot;
|
|
210
|
+
protocolContracts?: ProtocolContracts;
|
|
211
|
+
feePaymentPublicDataWrite?: PublicDataWrite;
|
|
212
|
+
privateOnly?: boolean;
|
|
213
|
+
} & Parameters<typeof mockTx>[1] = {}) {
|
|
214
|
+
seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
|
|
215
|
+
anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
|
|
216
|
+
feePayer ??= makeAztecAddress(seed + 0x100);
|
|
217
|
+
feePaymentPublicDataWrite ??= makePublicDataWrite(seed + 0x200);
|
|
218
|
+
|
|
219
|
+
const txConstantData = TxConstantData.empty();
|
|
220
|
+
txConstantData.anchorBlockHeader = anchorBlockHeader;
|
|
221
|
+
txConstantData.txContext.chainId = chainId;
|
|
222
|
+
txConstantData.txContext.version = version;
|
|
223
|
+
txConstantData.txContext.gasSettings = gasSettings;
|
|
224
|
+
txConstantData.vkTreeRoot = vkTreeRoot;
|
|
225
|
+
txConstantData.protocolContractsHash = await protocolContracts.hash();
|
|
226
|
+
|
|
227
|
+
const tx = !privateOnly
|
|
228
|
+
? await mockTx(seed, { feePayer, gasUsed, ...mockTxOpts })
|
|
229
|
+
: await mockTx(seed, {
|
|
230
|
+
numberOfNonRevertiblePublicCallRequests: 0,
|
|
231
|
+
numberOfRevertiblePublicCallRequests: 0,
|
|
232
|
+
feePayer,
|
|
233
|
+
gasUsed,
|
|
234
|
+
...mockTxOpts,
|
|
235
|
+
});
|
|
236
|
+
tx.data.constants = txConstantData;
|
|
237
|
+
|
|
238
|
+
const transactionFee = tx.data.gasUsed.computeFee(globalVariables.gasFees);
|
|
239
|
+
|
|
240
|
+
if (privateOnly) {
|
|
241
|
+
const data = makePrivateToRollupAccumulatedData(seed + 0x1000, { numContractClassLogs: 0 });
|
|
242
|
+
|
|
243
|
+
tx.data.forRollup!.end = data;
|
|
244
|
+
|
|
245
|
+
await tx.recomputeHash();
|
|
246
|
+
return makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePaymentPublicDataWrite, globalVariables);
|
|
247
|
+
} else {
|
|
248
|
+
const dataFromPrivate = tx.data.forPublic!;
|
|
249
|
+
|
|
250
|
+
const nonRevertibleData = dataFromPrivate.nonRevertibleAccumulatedData;
|
|
251
|
+
|
|
252
|
+
// Create revertible data.
|
|
253
|
+
const revertibleData = makePrivateToPublicAccumulatedData(seed + 0x1000, { numContractClassLogs: 0 });
|
|
254
|
+
revertibleData.nullifiers[MAX_NULLIFIERS_PER_TX - 1] = Fr.ZERO; // Leave one space for the tx hash nullifier in nonRevertibleAccumulatedData.
|
|
255
|
+
dataFromPrivate.revertibleAccumulatedData = revertibleData;
|
|
256
|
+
|
|
257
|
+
// Create avm output.
|
|
258
|
+
const avmOutput = AvmCircuitPublicInputs.empty();
|
|
259
|
+
// Assign data from hints.
|
|
260
|
+
avmOutput.protocolContracts = protocolContracts;
|
|
261
|
+
avmOutput.startTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
|
|
262
|
+
avmOutput.endTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
|
|
263
|
+
avmOutput.effectiveGasFees = computeEffectiveGasFees(globalVariables.gasFees, gasSettings);
|
|
264
|
+
// Assign data from private.
|
|
265
|
+
avmOutput.globalVariables = globalVariables;
|
|
266
|
+
avmOutput.startGasUsed = tx.data.gasUsed;
|
|
267
|
+
avmOutput.gasSettings = gasSettings;
|
|
268
|
+
avmOutput.feePayer = feePayer;
|
|
269
|
+
avmOutput.publicCallRequestArrayLengths = new PublicCallRequestArrayLengths(
|
|
270
|
+
tx.data.numberOfNonRevertiblePublicCallRequests(),
|
|
271
|
+
tx.data.numberOfRevertiblePublicCallRequests(),
|
|
272
|
+
tx.data.hasTeardownPublicCallRequest(),
|
|
273
|
+
);
|
|
274
|
+
avmOutput.publicSetupCallRequests = dataFromPrivate.nonRevertibleAccumulatedData.publicCallRequests;
|
|
275
|
+
avmOutput.publicAppLogicCallRequests = dataFromPrivate.revertibleAccumulatedData.publicCallRequests;
|
|
276
|
+
avmOutput.publicTeardownCallRequest = dataFromPrivate.publicTeardownCallRequest;
|
|
277
|
+
avmOutput.previousNonRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(
|
|
278
|
+
dataFromPrivate.nonRevertibleAccumulatedData.noteHashes,
|
|
279
|
+
dataFromPrivate.nonRevertibleAccumulatedData.nullifiers,
|
|
280
|
+
dataFromPrivate.nonRevertibleAccumulatedData.l2ToL1Msgs,
|
|
281
|
+
);
|
|
282
|
+
avmOutput.previousNonRevertibleAccumulatedDataArrayLengths =
|
|
283
|
+
avmOutput.previousNonRevertibleAccumulatedData.getArrayLengths();
|
|
284
|
+
avmOutput.previousRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(
|
|
285
|
+
dataFromPrivate.revertibleAccumulatedData.noteHashes,
|
|
286
|
+
dataFromPrivate.revertibleAccumulatedData.nullifiers,
|
|
287
|
+
dataFromPrivate.revertibleAccumulatedData.l2ToL1Msgs,
|
|
288
|
+
);
|
|
289
|
+
avmOutput.previousRevertibleAccumulatedDataArrayLengths =
|
|
290
|
+
avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
|
|
291
|
+
// Assign final data emitted from avm.
|
|
292
|
+
avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
|
|
293
|
+
avmOutput.accumulatedData.nullifiers = padArrayEnd(
|
|
294
|
+
nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
|
|
295
|
+
Fr.ZERO,
|
|
296
|
+
MAX_NULLIFIERS_PER_TX,
|
|
297
|
+
);
|
|
298
|
+
avmOutput.accumulatedData.l2ToL1Msgs = revertibleData.l2ToL1Msgs;
|
|
299
|
+
avmOutput.accumulatedData.publicDataWrites = makeTuple(
|
|
300
|
+
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
301
|
+
i => new PublicDataWrite(new Fr(i), new Fr(i + 10)),
|
|
302
|
+
seed + 0x2000,
|
|
303
|
+
);
|
|
304
|
+
avmOutput.accumulatedData.publicDataWrites[0] = feePaymentPublicDataWrite;
|
|
305
|
+
avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
|
|
306
|
+
avmOutput.gasSettings = gasSettings;
|
|
307
|
+
// Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
|
|
308
|
+
// be a problem for the tests.
|
|
309
|
+
avmOutput.transactionFee = transactionFee;
|
|
310
|
+
|
|
311
|
+
const avmCircuitInputs = await makeAvmCircuitInputs(seed + 0x3000, { publicInputs: avmOutput });
|
|
312
|
+
avmCircuitInputs.hints.startingTreeRoots.l1ToL2MessageTree = newL1ToL2Snapshot;
|
|
313
|
+
|
|
314
|
+
const gasUsed = {
|
|
315
|
+
totalGas: Gas.empty(),
|
|
316
|
+
teardownGas: Gas.empty(),
|
|
317
|
+
publicGas: Gas.empty(),
|
|
318
|
+
billedGas: Gas.empty(),
|
|
319
|
+
} satisfies GasUsed;
|
|
320
|
+
|
|
321
|
+
await tx.recomputeHash();
|
|
322
|
+
return makeProcessedTxFromTxWithPublicCalls(
|
|
323
|
+
tx,
|
|
324
|
+
{
|
|
325
|
+
type: ProvingRequestType.PUBLIC_VM,
|
|
326
|
+
inputs: avmCircuitInputs,
|
|
327
|
+
},
|
|
328
|
+
gasUsed,
|
|
329
|
+
RevertCode.OK,
|
|
330
|
+
undefined /* revertReason */,
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
162
335
|
const emptyPrivateCallExecutionResult = () =>
|
|
163
336
|
new PrivateCallExecutionResult(
|
|
164
337
|
Buffer.from(''),
|
|
@@ -184,7 +357,7 @@ export const mockSimulatedTx = async (seed = 1) => {
|
|
|
184
357
|
undefined,
|
|
185
358
|
makeGlobalVariables(),
|
|
186
359
|
await TxEffect.random(),
|
|
187
|
-
|
|
360
|
+
times(2, () => NestedProcessReturnValues.random(2)),
|
|
188
361
|
{
|
|
189
362
|
totalGas: makeGas(),
|
|
190
363
|
teardownGas: makeGas(),
|
|
@@ -234,7 +407,6 @@ export interface MakeConsensusPayloadOptions {
|
|
|
234
407
|
proposerSigner?: Secp256k1Signer;
|
|
235
408
|
header?: L2BlockHeader;
|
|
236
409
|
archive?: Fr;
|
|
237
|
-
stateReference?: StateReference;
|
|
238
410
|
txHashes?: TxHash[];
|
|
239
411
|
txs?: Tx[];
|
|
240
412
|
}
|
|
@@ -244,12 +416,11 @@ const makeAndSignConsensusPayload = (
|
|
|
244
416
|
options?: MakeConsensusPayloadOptions,
|
|
245
417
|
) => {
|
|
246
418
|
const header = options?.header ?? makeL2BlockHeader(1);
|
|
247
|
-
const { signer = Secp256k1Signer.random(), archive = Fr.random()
|
|
419
|
+
const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
|
|
248
420
|
|
|
249
421
|
const payload = ConsensusPayload.fromFields({
|
|
250
422
|
header: header.toCheckpointHeader(),
|
|
251
423
|
archive,
|
|
252
|
-
stateReference,
|
|
253
424
|
});
|
|
254
425
|
|
|
255
426
|
const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
|
|
@@ -276,31 +447,32 @@ export const makeBlockProposal = (options?: MakeConsensusPayloadOptions): BlockP
|
|
|
276
447
|
};
|
|
277
448
|
|
|
278
449
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
|
|
279
|
-
export const makeBlockAttestation = (options
|
|
280
|
-
const header = options
|
|
281
|
-
const {
|
|
282
|
-
signer,
|
|
283
|
-
attesterSigner = signer ?? Secp256k1Signer.random(),
|
|
284
|
-
proposerSigner = signer ?? Secp256k1Signer.random(),
|
|
285
|
-
archive = Fr.random(),
|
|
286
|
-
stateReference = header.state,
|
|
287
|
-
} = options ?? {};
|
|
450
|
+
export const makeBlockAttestation = (options: MakeConsensusPayloadOptions = {}): BlockAttestation => {
|
|
451
|
+
const header = options.header ?? makeL2BlockHeader(1);
|
|
452
|
+
const { signer, attesterSigner = signer, proposerSigner = signer, archive = Fr.random() } = options;
|
|
288
453
|
|
|
289
454
|
const payload = ConsensusPayload.fromFields({
|
|
290
455
|
header: header.toCheckpointHeader(),
|
|
291
456
|
archive,
|
|
292
|
-
stateReference,
|
|
293
457
|
});
|
|
294
458
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
const attestationSignature = attesterSigner.sign(attestationHash);
|
|
459
|
+
return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
|
|
460
|
+
};
|
|
298
461
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
462
|
+
export const makeAttestationFromCheckpoint = (
|
|
463
|
+
checkpoint: Checkpoint,
|
|
464
|
+
attesterSigner?: Secp256k1Signer,
|
|
465
|
+
proposerSigner?: Secp256k1Signer,
|
|
466
|
+
): BlockAttestation => {
|
|
467
|
+
const header = checkpoint.header;
|
|
468
|
+
const archive = checkpoint.archive.root;
|
|
302
469
|
|
|
303
|
-
|
|
470
|
+
const payload = ConsensusPayload.fromFields({
|
|
471
|
+
header,
|
|
472
|
+
archive,
|
|
473
|
+
});
|
|
474
|
+
|
|
475
|
+
return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
|
|
304
476
|
};
|
|
305
477
|
|
|
306
478
|
export const makeBlockAttestationFromBlock = (
|
|
@@ -310,14 +482,20 @@ export const makeBlockAttestationFromBlock = (
|
|
|
310
482
|
): BlockAttestation => {
|
|
311
483
|
const header = block.header;
|
|
312
484
|
const archive = block.archive.root;
|
|
313
|
-
const stateReference = block.header.state;
|
|
314
485
|
|
|
315
486
|
const payload = ConsensusPayload.fromFields({
|
|
316
487
|
header: header.toCheckpointHeader(),
|
|
317
488
|
archive,
|
|
318
|
-
stateReference,
|
|
319
489
|
});
|
|
320
490
|
|
|
491
|
+
return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
|
|
492
|
+
};
|
|
493
|
+
|
|
494
|
+
export const makeBlockAttestationFromPayload = (
|
|
495
|
+
payload: ConsensusPayload,
|
|
496
|
+
attesterSigner?: Secp256k1Signer,
|
|
497
|
+
proposerSigner?: Secp256k1Signer,
|
|
498
|
+
): BlockAttestation => {
|
|
321
499
|
// Sign as attester
|
|
322
500
|
const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
|
|
323
501
|
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { ViemAppendOnlyTreeSnapshot } from '@aztec/ethereum';
|
|
2
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
2
|
import { schemas } from '@aztec/foundation/schemas';
|
|
4
3
|
import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -72,17 +71,6 @@ export class AppendOnlyTreeSnapshot {
|
|
|
72
71
|
return new AppendOnlyTreeSnapshot(reader.readField(), Number(reader.readField().toBigInt()));
|
|
73
72
|
}
|
|
74
73
|
|
|
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
74
|
toAbi(): [`0x${string}`, number] {
|
|
87
75
|
return [this.root.toString(), this.nextAvailableLeafIndex];
|
|
88
76
|
}
|
|
@@ -91,6 +79,17 @@ export class AppendOnlyTreeSnapshot {
|
|
|
91
79
|
return new AppendOnlyTreeSnapshot(Fr.ZERO, 0);
|
|
92
80
|
}
|
|
93
81
|
|
|
82
|
+
/**
|
|
83
|
+
* Creates an AppendOnlyTreeSnapshot instance from a plain object without Zod validation.
|
|
84
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
85
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
86
|
+
* @param obj - Plain object containing AppendOnlyTreeSnapshot fields
|
|
87
|
+
* @returns An AppendOnlyTreeSnapshot instance
|
|
88
|
+
*/
|
|
89
|
+
static fromPlainObject(obj: any): AppendOnlyTreeSnapshot {
|
|
90
|
+
return new AppendOnlyTreeSnapshot(Fr.fromPlainObject(obj.root), obj.nextAvailableLeafIndex);
|
|
91
|
+
}
|
|
92
|
+
|
|
94
93
|
isEmpty(): boolean {
|
|
95
94
|
return this.root.isZero() && this.nextAvailableLeafIndex === 0;
|
|
96
95
|
}
|
|
@@ -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
|
}
|
|
@@ -157,4 +175,18 @@ export class NullifierLeaf implements IndexedTreeLeaf {
|
|
|
157
175
|
static get schema() {
|
|
158
176
|
return z.object({ nullifier: schemas.Fr }).transform(({ nullifier }) => new NullifierLeaf(nullifier));
|
|
159
177
|
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Creates a NullifierLeaf from a plain object without Zod validation.
|
|
181
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
182
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
183
|
+
* @param obj - Plain object containing NullifierLeaf fields
|
|
184
|
+
* @returns A NullifierLeaf instance
|
|
185
|
+
*/
|
|
186
|
+
static fromPlainObject(obj: any): NullifierLeaf {
|
|
187
|
+
if (obj instanceof NullifierLeaf) {
|
|
188
|
+
return obj;
|
|
189
|
+
}
|
|
190
|
+
return new NullifierLeaf(Fr.fromPlainObject(obj.nullifier));
|
|
191
|
+
}
|
|
160
192
|
}
|
|
@@ -36,6 +36,24 @@ export class PublicDataTreeLeafPreimage implements IndexedTreeLeafPreimage {
|
|
|
36
36
|
.transform(({ leaf, nextKey, nextIndex }) => new PublicDataTreeLeafPreimage(leaf, nextKey, nextIndex));
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Creates a PublicDataTreeLeafPreimage 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 PublicDataTreeLeafPreimage fields
|
|
44
|
+
* @returns A PublicDataTreeLeafPreimage instance
|
|
45
|
+
*/
|
|
46
|
+
static fromPlainObject(obj: any): PublicDataTreeLeafPreimage {
|
|
47
|
+
if (obj instanceof PublicDataTreeLeafPreimage) {
|
|
48
|
+
return obj;
|
|
49
|
+
}
|
|
50
|
+
return new PublicDataTreeLeafPreimage(
|
|
51
|
+
PublicDataTreeLeaf.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 PublicDataTreeLeaf.schema;
|
|
41
59
|
}
|
|
@@ -172,4 +190,18 @@ export class PublicDataTreeLeaf implements IndexedTreeLeaf {
|
|
|
172
190
|
})
|
|
173
191
|
.transform(({ slot, value }) => new PublicDataTreeLeaf(slot, value));
|
|
174
192
|
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Creates a PublicDataTreeLeaf from a plain object without Zod validation.
|
|
196
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
197
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
198
|
+
* @param obj - Plain object containing PublicDataTreeLeaf fields
|
|
199
|
+
* @returns A PublicDataTreeLeaf instance
|
|
200
|
+
*/
|
|
201
|
+
static fromPlainObject(obj: any): PublicDataTreeLeaf {
|
|
202
|
+
if (obj instanceof PublicDataTreeLeaf) {
|
|
203
|
+
return obj;
|
|
204
|
+
}
|
|
205
|
+
return new PublicDataTreeLeaf(Fr.fromPlainObject(obj.slot), Fr.fromPlainObject(obj.value));
|
|
206
|
+
}
|
|
175
207
|
}
|
package/src/tx/block_header.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BLOCK_HEADER_LENGTH, GeneratorIndex } from '@aztec/constants';
|
|
2
|
-
import {
|
|
2
|
+
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { poseidon2HashWithSeparator, randomInt } from '@aztec/foundation/crypto';
|
|
3
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
5
|
import { type ZodFor, schemas } from '@aztec/foundation/schemas';
|
|
5
6
|
import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
@@ -61,8 +62,8 @@ export class BlockHeader {
|
|
|
61
62
|
return new BlockHeader(...BlockHeader.getFields(fields));
|
|
62
63
|
}
|
|
63
64
|
|
|
64
|
-
getSlot() {
|
|
65
|
-
return this.globalVariables.slotNumber
|
|
65
|
+
getSlot(): SlotNumber {
|
|
66
|
+
return this.globalVariables.slotNumber;
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
getBlockNumber() {
|
|
@@ -161,6 +162,18 @@ export class BlockHeader {
|
|
|
161
162
|
return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HASH);
|
|
162
163
|
}
|
|
163
164
|
|
|
165
|
+
static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
|
|
166
|
+
return BlockHeader.from({
|
|
167
|
+
lastArchive: AppendOnlyTreeSnapshot.random(),
|
|
168
|
+
state: StateReference.random(),
|
|
169
|
+
spongeBlobHash: Fr.random(),
|
|
170
|
+
globalVariables: GlobalVariables.random(overrides),
|
|
171
|
+
totalFees: new Fr(randomInt(100_000)),
|
|
172
|
+
totalManaUsed: new Fr(randomInt(100_000_000)),
|
|
173
|
+
...overrides,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
|
|
164
177
|
toInspect() {
|
|
165
178
|
return {
|
|
166
179
|
lastArchive: this.lastArchive.root.toString(),
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { FunctionCall } from '../abi/function_call.js';
|
|
2
|
+
import type { AuthWitness } from '../auth_witness/auth_witness.js';
|
|
3
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
4
|
+
import type { Capsule } from './capsule.js';
|
|
5
|
+
import type { HashedValues } from './hashed_values.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Represents data necessary to perform an action in the network successfully.
|
|
9
|
+
* This class can be considered Aztec's "minimal execution unit".
|
|
10
|
+
* */
|
|
11
|
+
export class ExecutionPayload {
|
|
12
|
+
public constructor(
|
|
13
|
+
/** The function calls to be executed. */
|
|
14
|
+
public calls: FunctionCall[],
|
|
15
|
+
/** Any transient auth witnesses needed for this execution */
|
|
16
|
+
public authWitnesses: AuthWitness[],
|
|
17
|
+
/** Data passed through an oracle for this execution. */
|
|
18
|
+
public capsules: Capsule[],
|
|
19
|
+
/** Extra hashed values to be injected in the execution cache */
|
|
20
|
+
public extraHashedArgs: HashedValues[] = [],
|
|
21
|
+
/**
|
|
22
|
+
* The address that is paying for the fee in this execution payload (if any).
|
|
23
|
+
* If undefined, the wallet software executing the payload will have to add a fee payment method
|
|
24
|
+
*/
|
|
25
|
+
public feePayer?: AztecAddress,
|
|
26
|
+
) {}
|
|
27
|
+
|
|
28
|
+
static empty() {
|
|
29
|
+
return new ExecutionPayload([], [], [], [], undefined);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Merges an array ExecutionPayloads combining their calls, authWitnesses, capsules and extraArgHashes.
|
|
35
|
+
* @throws Error if multiple payloads have different fee payers set
|
|
36
|
+
*/
|
|
37
|
+
export function mergeExecutionPayloads(requests: ExecutionPayload[]): ExecutionPayload {
|
|
38
|
+
const calls = requests.map(r => r.calls).flat();
|
|
39
|
+
const combinedAuthWitnesses = requests.map(r => r.authWitnesses ?? []).flat();
|
|
40
|
+
const combinedCapsules = requests.map(r => r.capsules ?? []).flat();
|
|
41
|
+
const combinedExtraHashedArgs = requests.map(r => r.extraHashedArgs ?? []).flat();
|
|
42
|
+
|
|
43
|
+
// Collect unique fee payers
|
|
44
|
+
const uniqueFeePayers = new Set(
|
|
45
|
+
requests
|
|
46
|
+
.map(r => r.feePayer)
|
|
47
|
+
.filter((fp): fp is AztecAddress => fp !== undefined)
|
|
48
|
+
.map(fp => fp.toString()),
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
if (uniqueFeePayers.size > 1) {
|
|
52
|
+
throw new Error(
|
|
53
|
+
`Cannot merge execution payloads with different fee payers. Found: ${Array.from(uniqueFeePayers).join(', ')}`,
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const feePayer = uniqueFeePayers.size === 1 ? AztecAddress.fromString(Array.from(uniqueFeePayers)[0]) : undefined;
|
|
58
|
+
|
|
59
|
+
return new ExecutionPayload(calls, combinedAuthWitnesses, combinedCapsules, combinedExtraHashedArgs, feePayer);
|
|
60
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
+
import type { SlotNumber } from '@aztec/foundation/schemas';
|
|
2
3
|
|
|
3
4
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
4
5
|
import type { GasFees } from '../gas/gas_fees.js';
|
|
@@ -23,6 +24,6 @@ export interface GlobalVariableBuilder {
|
|
|
23
24
|
blockNumber: UInt32,
|
|
24
25
|
coinbase: EthAddress,
|
|
25
26
|
feeRecipient: AztecAddress,
|
|
26
|
-
slotNumber?:
|
|
27
|
+
slotNumber?: SlotNumber,
|
|
27
28
|
): Promise<GlobalVariables>;
|
|
28
29
|
}
|