@aztec/stdlib 0.86.0 → 0.87.0
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 +291 -241
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +14 -14
- package/dest/abi/buffer.d.ts +0 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/contract_artifact.d.ts +0 -2
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +3 -16
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +1 -1
- package/dest/abi/event_selector.d.ts +0 -2
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +0 -2
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.d.ts +0 -2
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/selector.d.ts +0 -3
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +0 -2
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.d.ts +1 -3
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +39 -40
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +5 -5
- package/dest/avm/avm_accumulated_data.d.ts +4 -4
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +18 -2
- package/dest/avm/avm_circuit_public_inputs.d.ts +2 -4
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +26 -1
- package/dest/avm/avm_proving_request.d.ts +15 -17
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +1 -3
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +1 -3
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/message_pack.d.ts +0 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +7 -1
- 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_hint.d.ts +1 -3
- package/dest/avm/public_data_hint.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +1 -3
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +1 -4
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +4 -3
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +19 -1
- 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/public_inner_call_request.js +1 -1
- package/dest/avm/revert_code.d.ts +0 -3
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/aztec-address/index.d.ts +1 -4
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/block/block_hash.d.ts +1 -3
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/body.d.ts +1 -4
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +5 -11
- package/dest/block/l2_block.d.ts +1 -20
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +1 -41
- package/dest/block/l2_block_code_to_purge.d.ts +0 -2
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_source.d.ts +0 -1
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/published_l2_block.d.ts +2 -1
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +5 -18
- package/dest/config/{config.d.ts → chain-config.d.ts} +1 -1
- package/dest/config/chain-config.d.ts.map +1 -0
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -1
- package/dest/config/node-rpc-config.d.ts +7 -0
- package/dest/config/node-rpc-config.d.ts.map +1 -0
- package/dest/config/node-rpc-config.js +8 -0
- package/dest/contract/artifact_hash.d.ts +1 -3
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +3 -2
- package/dest/contract/complete_address.d.ts +0 -2
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +0 -2
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +1 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.d.ts +1 -3
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.d.ts +17 -19
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +2 -2
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +0 -2
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/database-version/version_manager.d.ts +0 -4
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.js +2 -2
- package/dest/file-store/factory.js +1 -1
- package/dest/file-store/gcs.d.ts +0 -2
- package/dest/file-store/gcs.d.ts.map +1 -1
- package/dest/file-store/http.d.ts +1 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +32 -16
- package/dest/file-store/interface.d.ts +0 -2
- package/dest/file-store/interface.d.ts.map +1 -1
- package/dest/file-store/local.d.ts +0 -2
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/gas/gas.d.ts +1 -4
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas_fees.d.ts +1 -4
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_settings.d.ts +1 -3
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.d.ts +10 -0
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +4 -1
- package/dest/interfaces/aztec-node.d.ts +1 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +7 -2
- package/dest/interfaces/configs.d.ts +5 -0
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +1 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +0 -2
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +2 -0
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +1 -0
- package/dest/interfaces/private_kernel_prover.d.ts +0 -2
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +15 -17
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/pxe.d.ts +6 -6
- package/dest/interfaces/pxe.d.ts.map +1 -1
- package/dest/interfaces/pxe.js +4 -4
- package/dest/interfaces/service.d.ts +2 -3
- package/dest/interfaces/service.d.ts.map +1 -1
- package/dest/interfaces/world_state.d.ts +4 -1
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/combined_constant_data.d.ts +1 -3
- package/dest/kernel/combined_constant_data.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +1 -3
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +1 -3
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -3
- 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 +0 -2
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +0 -2
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -3
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.d.ts +0 -2
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +4 -6
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/rollup_validation_requests.d.ts +1 -3
- package/dest/kernel/hints/rollup_validation_requests.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -3
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_index_hint.d.ts +0 -3
- package/dest/kernel/hints/transient_data_index_hint.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/log_hash.d.ts +27 -9
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +72 -13
- package/dest/kernel/note_hash.d.ts +0 -2
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +0 -2
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +4 -6
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.js +3 -3
- package/dest/kernel/private_call_data.d.ts +0 -2
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +1 -3
- 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 +5 -7
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.d.ts +1 -3
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -3
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -3
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +31 -7
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.js +5 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +2 -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 -3
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +0 -2
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -3
- 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 +8 -8
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -2
- package/dest/kernel/private_log_data.d.ts +1 -4
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +4 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +3 -5
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +7 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -4
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -3
- 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 +2 -5
- 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 +2 -4
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.d.ts +1 -4
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +1 -1
- package/dest/kernel/public_call_request.d.ts +2 -5
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/utils/optional_number.d.ts +1 -3
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/keys/public_keys.d.ts +0 -2
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +0 -1
- package/dest/logs/contract_class_log.d.ts +53 -12
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +129 -66
- package/dest/logs/extended_contract_class_log.d.ts +0 -2
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +0 -2
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/indexed_tagging_secret.d.ts.map +1 -1
- package/dest/logs/log_id.d.ts +0 -2
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +8 -3
- package/dest/logs/private_log.d.ts +13 -7
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +44 -30
- package/dest/logs/public_log.d.ts +9 -9
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +45 -32
- package/dest/logs/tx_scoped_l2_log.d.ts +8 -6
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +1 -2
- package/dest/messaging/inbox_leaf.d.ts +5 -2
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +11 -0
- package/dest/messaging/l1_actor.d.ts +0 -2
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +0 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +0 -2
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.d.ts +0 -2
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/note/extended_note.d.ts +3 -5
- package/dest/note/extended_note.d.ts.map +1 -1
- package/dest/note/note.d.ts +5 -13
- package/dest/note/note.d.ts.map +1 -1
- package/dest/p2p/block_attestation.d.ts +6 -5
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +12 -11
- package/dest/p2p/block_proposal.d.ts +17 -8
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +29 -13
- package/dest/p2p/consensus_payload.d.ts +185 -12
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +24 -14
- package/dest/p2p/gossipable.d.ts +14 -4
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +43 -0
- package/dest/p2p/signature_utils.d.ts +0 -2
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +5 -0
- package/dest/parity/base_parity_inputs.d.ts +2 -4
- package/dest/parity/base_parity_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +2 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/root_parity_input.d.ts +4 -6
- package/dest/parity/root_parity_input.d.ts.map +1 -1
- package/dest/parity/root_parity_inputs.d.ts +2 -4
- package/dest/parity/root_parity_inputs.d.ts.map +1 -1
- package/dest/proofs/client_ivc_proof.d.ts +2 -4
- package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
- package/dest/proofs/proof.d.ts +1 -3
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof.js +5 -5
- package/dest/proofs/recursive_proof.d.ts +4 -6
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +1 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +2 -4
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +9 -11
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +5 -5
- package/dest/rollup/block_merge_rollup.d.ts +2 -4
- package/dest/rollup/block_merge_rollup.d.ts.map +1 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +11 -5
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +6 -2
- package/dest/rollup/block_root_rollup.d.ts +8 -10
- package/dest/rollup/block_root_rollup.d.ts.map +1 -1
- package/dest/rollup/constant_rollup_data.d.ts +1 -3
- package/dest/rollup/constant_rollup_data.d.ts.map +1 -1
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +2 -4
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +1 -1
- package/dest/rollup/merge_rollup.d.ts +2 -4
- package/dest/rollup/merge_rollup.d.ts.map +1 -1
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -2
- package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -1
- package/dest/rollup/previous_rollup_data.d.ts +0 -2
- package/dest/rollup/previous_rollup_data.d.ts.map +1 -1
- package/dest/rollup/private_base_rollup_inputs.d.ts +2 -4
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +1 -1
- package/dest/rollup/private_tube_data.d.ts +1 -3
- package/dest/rollup/private_tube_data.d.ts.map +1 -1
- package/dest/rollup/public_base_rollup_inputs.d.ts +2 -4
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tube_data.d.ts +1 -3
- package/dest/rollup/public_tube_data.d.ts.map +1 -1
- package/dest/rollup/root_rollup.d.ts +9 -8
- package/dest/rollup/root_rollup.d.ts.map +1 -1
- package/dest/rollup/root_rollup.js +12 -3
- package/dest/rollup/state_diff_hints.d.ts +0 -2
- package/dest/rollup/state_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tube_inputs.d.ts +2 -4
- package/dest/rollup/tube_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +4 -6
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/shared_mutable/scheduled_delay_change.d.ts.map +1 -1
- package/dest/shared_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/shared_mutable/shared_mutable_values.d.ts +0 -2
- package/dest/shared_mutable/shared_mutable_values.d.ts.map +1 -1
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/download.d.ts.map +1 -1
- package/dest/snapshots/download.js +3 -3
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/index.d.ts.map +1 -1
- package/dest/snapshots/index.js +1 -1
- package/dest/snapshots/types.d.ts +27 -4
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/snapshots/types.js +8 -0
- package/dest/snapshots/upload.d.ts +6 -3
- package/dest/snapshots/upload.d.ts.map +1 -1
- package/dest/snapshots/upload.js +10 -6
- package/dest/tests/factories.d.ts +0 -2
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +19 -16
- package/dest/tests/mocks.d.ts +13 -3
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +40 -8
- package/dest/trees/append_only_tree_snapshot.d.ts +1 -4
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +0 -2
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.d.ts +4 -6
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/protocol_contract_leaf.d.ts +0 -2
- package/dest/trees/protocol_contract_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +1 -3
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +4 -6
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +3 -4
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +5 -1
- package/dest/tx/call_context.d.ts +1 -4
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +1 -3
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/content_commitment.d.ts +10 -12
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/function_data.d.ts +0 -2
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +1 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/hashed_values.d.ts +1 -3
- 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 +2 -1
- package/dest/tx/max_block_number.d.ts +1 -3
- package/dest/tx/max_block_number.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.d.ts +1 -3
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +18 -9
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +12 -3
- package/dest/tx/profiling.d.ts +110 -0
- package/dest/tx/profiling.d.ts.map +1 -0
- package/dest/tx/profiling.js +97 -0
- package/dest/tx/proposed_block_header.d.ts +80 -0
- package/dest/tx/proposed_block_header.d.ts.map +1 -0
- package/dest/tx/proposed_block_header.js +130 -0
- package/dest/tx/proven_tx.d.ts +73 -1
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +7 -2
- package/dest/tx/public_call_request_with_calldata.d.ts +1 -4
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/simulated_tx.d.ts +5 -3
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +10 -5
- package/dest/tx/state_reference.d.ts +1 -4
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.d.ts +1 -4
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tx.d.ts +6 -11
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -15
- package/dest/tx/tx_constant_data.d.ts +1 -3
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_context.d.ts +1 -3
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +1 -4
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +33 -63
- package/dest/tx/tx_execution_request.d.ts +13 -6
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +14 -7
- package/dest/tx/tx_hash.d.ts +2 -4
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +1 -1
- package/dest/tx/tx_request.d.ts +7 -5
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +8 -5
- package/dest/tx/validator/error_texts.d.ts +4 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +4 -2
- package/dest/types/shared.d.ts +5 -3
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +2 -0
- package/dest/update-checker/index.d.ts.map +1 -0
- package/dest/update-checker/index.js +1 -0
- package/dest/update-checker/update-checker.d.ts +48 -0
- package/dest/update-checker/update-checker.d.ts.map +1 -0
- package/dest/update-checker/update-checker.js +121 -0
- package/dest/validators/schemas.d.ts +24 -24
- package/dest/validators/schemas.js +1 -1
- package/dest/validators/types.d.ts +2 -2
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +1 -1
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/verification_key.d.ts +7 -9
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/vk_witness_data.d.ts +1 -3
- package/dest/vks/vk_witness_data.d.ts.map +1 -1
- package/package.json +16 -13
- package/src/abi/abi.ts +29 -12
- package/src/abi/contract_artifact.ts +3 -17
- package/src/abi/decoder.ts +10 -3
- package/src/abi/encoder.ts +5 -2
- package/src/avm/avm.ts +13 -7
- package/src/avm/avm_accumulated_data.ts +30 -2
- package/src/avm/avm_circuit_public_inputs.ts +26 -0
- package/src/avm/message_pack.ts +7 -1
- package/src/avm/public_data_write.ts +21 -1
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +5 -5
- package/src/block/body.ts +5 -11
- package/src/block/l2_block.ts +1 -61
- package/src/block/published_l2_block.ts +8 -16
- package/src/config/index.ts +2 -1
- package/src/config/node-rpc-config.ts +14 -0
- package/src/contract/artifact_hash.ts +5 -3
- package/src/contract/private_function.ts +4 -2
- package/src/errors/proving_error.ts +5 -1
- package/src/errors/simulation_error.ts +2 -2
- package/src/file-store/factory.ts +1 -1
- package/src/file-store/http.ts +27 -18
- package/src/gas/gas.ts +4 -1
- package/src/interfaces/aztec-node-admin.ts +16 -0
- package/src/interfaces/aztec-node.ts +4 -2
- package/src/interfaces/configs.ts +3 -0
- package/src/interfaces/p2p.ts +4 -0
- package/src/interfaces/prover-client.ts +4 -1
- package/src/interfaces/pxe.ts +12 -7
- package/src/interfaces/service.ts +2 -3
- package/src/interfaces/world_state.ts +6 -1
- package/src/kernel/hints/note_hash_read_request_hints.ts +4 -1
- package/src/kernel/hints/nullifier_read_request_hints.ts +4 -1
- package/src/kernel/hints/read_request.ts +4 -1
- package/src/kernel/hints/read_request_hints.ts +12 -3
- package/src/kernel/hints/transient_data_index_hint.ts +4 -1
- package/src/kernel/hints/tree_leaf_read_request.ts +4 -1
- package/src/kernel/log_hash.ts +86 -14
- package/src/kernel/note_hash.ts +8 -2
- package/src/kernel/nullifier.ts +9 -2
- package/src/kernel/private_accumulated_data.ts +4 -4
- package/src/kernel/private_call_request.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_kernel_prover_output.ts +10 -0
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +13 -2
- package/src/kernel/private_log_data.ts +13 -4
- package/src/kernel/private_to_avm_accumulated_data.ts +9 -1
- package/src/kernel/private_validation_requests.ts +1 -1
- package/src/kernel/public_call_request.ts +4 -1
- package/src/keys/public_keys.ts +1 -1
- package/src/logs/contract_class_log.ts +156 -57
- package/src/logs/indexed_tagging_secret.ts +4 -1
- package/src/logs/log_with_tx_data.ts +7 -2
- package/src/logs/private_log.ts +52 -30
- package/src/logs/public_log.ts +62 -38
- package/src/logs/tx_scoped_l2_log.ts +1 -2
- package/src/messaging/inbox_leaf.ts +10 -0
- package/src/messaging/l2_to_l1_message.ts +9 -2
- package/src/p2p/block_attestation.ts +16 -12
- package/src/p2p/block_proposal.ts +42 -11
- package/src/p2p/consensus_payload.ts +33 -16
- package/src/p2p/gossipable.ts +44 -2
- package/src/p2p/topic_type.ts +2 -0
- package/src/proofs/proof.ts +5 -5
- package/src/rollup/base_rollup_hints.ts +7 -7
- package/src/rollup/block_root_or_block_merge_public_inputs.ts +10 -1
- package/src/rollup/private_base_rollup_inputs.ts +4 -1
- package/src/rollup/root_rollup.ts +12 -0
- package/src/rollup/tube_inputs.ts +4 -1
- package/src/shared_mutable/scheduled_delay_change.ts +5 -1
- package/src/shared_mutable/scheduled_value_change.ts +5 -1
- package/src/shared_mutable/shared_mutable_values.ts +4 -1
- package/src/snapshots/download.ts +3 -4
- package/src/snapshots/index.ts +1 -1
- package/src/snapshots/types.ts +12 -0
- package/src/snapshots/upload.ts +19 -11
- package/src/tests/factories.ts +35 -18
- package/src/tests/mocks.ts +69 -10
- package/src/tx/block_header.ts +16 -2
- package/src/tx/content_commitment.ts +6 -1
- package/src/tx/index.ts +2 -1
- package/src/tx/private_execution_result.ts +14 -5
- package/src/tx/profiling.ts +126 -0
- package/src/tx/proposed_block_header.ts +169 -0
- package/src/tx/proven_tx.ts +4 -0
- package/src/tx/simulated_tx.ts +12 -2
- package/src/tx/tx.ts +18 -17
- package/src/tx/tx_effect.ts +36 -76
- package/src/tx/tx_execution_request.ts +11 -0
- package/src/tx/tx_receipt.ts +1 -1
- package/src/tx/tx_request.ts +12 -3
- package/src/tx/validator/error_texts.ts +4 -2
- package/src/types/shared.ts +5 -0
- package/src/update-checker/index.ts +1 -0
- package/src/update-checker/update-checker.ts +152 -0
- package/src/validators/schemas.ts +1 -1
- package/src/validators/types.ts +2 -2
- package/src/versioning/versioning.ts +1 -1
- package/src/vks/verification_key.ts +8 -2
- package/dest/config/config.d.ts.map +0 -1
- package/dest/tx/profiled_tx.d.ts +0 -9
- package/dest/tx/profiled_tx.d.ts.map +0 -1
- package/dest/tx/profiled_tx.js +0 -28
- package/src/tx/profiled_tx.ts +0 -28
- /package/dest/config/{config.js → chain-config.js} +0 -0
- /package/src/config/{config.ts → chain-config.ts} +0 -0
|
@@ -9,7 +9,12 @@ import { z } from 'zod';
|
|
|
9
9
|
export const NUM_BYTES_PER_SHA256 = 32;
|
|
10
10
|
|
|
11
11
|
export class ContentCommitment {
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(
|
|
13
|
+
public numTxs: Fr,
|
|
14
|
+
public blobsHash: Buffer,
|
|
15
|
+
public inHash: Buffer,
|
|
16
|
+
public outHash: Buffer,
|
|
17
|
+
) {
|
|
13
18
|
// NB: we do not calculate blobHash in the circuit, but we still truncate it so it fits in a field
|
|
14
19
|
if (blobsHash.length !== NUM_BYTES_PER_SHA256) {
|
|
15
20
|
throw new Error(`blobsHash buffer must be ${NUM_BYTES_PER_SHA256} bytes`);
|
package/src/tx/index.ts
CHANGED
|
@@ -11,13 +11,13 @@ export * from './tx_constant_data.js';
|
|
|
11
11
|
export * from './tx_context.js';
|
|
12
12
|
export * from './tx_request.js';
|
|
13
13
|
export * from './private_execution_result.js';
|
|
14
|
+
export * from './proposed_block_header.js';
|
|
14
15
|
export * from './public_call_request_with_calldata.js';
|
|
15
16
|
export * from './tx_hash.js';
|
|
16
17
|
export * from './tx_receipt.js';
|
|
17
18
|
export * from './tx.js';
|
|
18
19
|
export * from './processed_tx.js';
|
|
19
20
|
export * from './proven_tx.js';
|
|
20
|
-
export * from './profiled_tx.js';
|
|
21
21
|
export * from './simulated_tx.js';
|
|
22
22
|
export * from './tx_effect.js';
|
|
23
23
|
export * from './public_simulation_output.js';
|
|
@@ -29,3 +29,4 @@ export * from './capsule.js';
|
|
|
29
29
|
export * from './global_variable_builder.js';
|
|
30
30
|
export * from './hashed_values.js';
|
|
31
31
|
export * from './indexed_tx_effect.js';
|
|
32
|
+
export * from './profiling.js';
|
|
@@ -9,7 +9,7 @@ import { NoteSelector } from '../abi/note_selector.js';
|
|
|
9
9
|
import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inputs.js';
|
|
10
10
|
import type { IsEmpty } from '../kernel/utils/interfaces.js';
|
|
11
11
|
import { sortByCounter } from '../kernel/utils/order_and_comparison.js';
|
|
12
|
-
import { ContractClassLog } from '../logs/contract_class_log.js';
|
|
12
|
+
import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
|
|
13
13
|
import { Note } from '../note/note.js';
|
|
14
14
|
import { type ZodFor, mapSchema, schemas } from '../schemas/index.js';
|
|
15
15
|
import { HashedValues } from './hashed_values.js';
|
|
@@ -47,7 +47,10 @@ export class NoteAndSlot {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
export class CountedContractClassLog implements IsEmpty {
|
|
50
|
-
constructor(
|
|
50
|
+
constructor(
|
|
51
|
+
public log: ContractClassLog,
|
|
52
|
+
public counter: number,
|
|
53
|
+
) {}
|
|
51
54
|
|
|
52
55
|
static get schema(): ZodFor<CountedContractClassLog> {
|
|
53
56
|
return z
|
|
@@ -132,9 +135,11 @@ export class PrivateCallExecutionResult {
|
|
|
132
135
|
public nestedExecutions: PrivateCallExecutionResult[],
|
|
133
136
|
/**
|
|
134
137
|
* Contract class logs emitted during execution of this function call.
|
|
135
|
-
* Note:
|
|
138
|
+
* Note: We only need to collect the ContractClassLogFields as preimages for the tx.
|
|
139
|
+
* But keep them as ContractClassLog so that we can verify the log hashes before submitting the tx (TODO).
|
|
136
140
|
*/
|
|
137
141
|
public contractClassLogs: CountedContractClassLog[],
|
|
142
|
+
public profileResult?: PrivateExecutionProfileResult,
|
|
138
143
|
) {}
|
|
139
144
|
|
|
140
145
|
static get schema(): ZodFor<PrivateCallExecutionResult> {
|
|
@@ -222,10 +227,10 @@ function collectContractClassLogs(execResult: PrivateCallExecutionResult): Count
|
|
|
222
227
|
* @param execResult - The topmost execution result.
|
|
223
228
|
* @returns All contract class logs.
|
|
224
229
|
*/
|
|
225
|
-
export function collectSortedContractClassLogs(execResult: PrivateExecutionResult):
|
|
230
|
+
export function collectSortedContractClassLogs(execResult: PrivateExecutionResult): ContractClassLogFields[] {
|
|
226
231
|
const allLogs = collectContractClassLogs(execResult.entrypoint);
|
|
227
232
|
const sortedLogs = sortByCounter(allLogs);
|
|
228
|
-
return sortedLogs.map(l => l.log);
|
|
233
|
+
return sortedLogs.map(l => l.log.fields);
|
|
229
234
|
}
|
|
230
235
|
|
|
231
236
|
export function getFinalMinRevertibleSideEffectCounter(execResult: PrivateExecutionResult): number {
|
|
@@ -248,3 +253,7 @@ export function collectNested<T>(
|
|
|
248
253
|
executionStack.flatMap(({ nestedExecutions }) => collectNested(nestedExecutions, extractExecutionItems)),
|
|
249
254
|
);
|
|
250
255
|
}
|
|
256
|
+
|
|
257
|
+
export class PrivateExecutionProfileResult {
|
|
258
|
+
constructor(public timings: { witgen: number }) {}
|
|
259
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import { type ZodFor, optional } from '@aztec/foundation/schemas';
|
|
3
|
+
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
|
|
6
|
+
import type { AbiDecoded } from '../abi/decoder.js';
|
|
7
|
+
import { type PrivateExecutionStep, PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
|
|
8
|
+
import { AbiDecodedSchema } from '../schemas/schemas.js';
|
|
9
|
+
|
|
10
|
+
type FunctionTiming = {
|
|
11
|
+
functionName: string;
|
|
12
|
+
time: number;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const FunctionTimingSchema = z.object({ functionName: z.string(), time: z.number() });
|
|
16
|
+
|
|
17
|
+
export type ProvingTimings = {
|
|
18
|
+
sync?: number;
|
|
19
|
+
proving?: number;
|
|
20
|
+
perFunction: FunctionTiming[];
|
|
21
|
+
unaccounted: number;
|
|
22
|
+
total: number;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const ProvingTimingsSchema = z.object({
|
|
26
|
+
sync: optional(z.number()),
|
|
27
|
+
proving: optional(z.number()),
|
|
28
|
+
perFunction: z.array(FunctionTimingSchema),
|
|
29
|
+
unaccounted: z.number(),
|
|
30
|
+
total: z.number(),
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
export interface SimulationTimings {
|
|
34
|
+
sync: number;
|
|
35
|
+
publicSimulation?: number;
|
|
36
|
+
validation?: number;
|
|
37
|
+
perFunction: FunctionTiming[];
|
|
38
|
+
unaccounted: number;
|
|
39
|
+
total: number;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const SimulationTimingsSchema = z.object({
|
|
43
|
+
sync: z.number(),
|
|
44
|
+
publicSimulation: optional(z.number()),
|
|
45
|
+
validation: optional(z.number()),
|
|
46
|
+
perFunction: z.array(FunctionTimingSchema),
|
|
47
|
+
unaccounted: z.number(),
|
|
48
|
+
total: z.number(),
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export class TxProfileResult {
|
|
52
|
+
constructor(
|
|
53
|
+
public executionSteps: PrivateExecutionStep[],
|
|
54
|
+
public timings: ProvingTimings,
|
|
55
|
+
) {}
|
|
56
|
+
|
|
57
|
+
static get schema(): ZodFor<TxProfileResult> {
|
|
58
|
+
return z
|
|
59
|
+
.object({
|
|
60
|
+
executionSteps: z.array(PrivateExecutionStepSchema),
|
|
61
|
+
timings: ProvingTimingsSchema,
|
|
62
|
+
})
|
|
63
|
+
.transform(({ executionSteps, timings }) => new TxProfileResult(executionSteps, timings));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static random(): TxProfileResult {
|
|
67
|
+
return new TxProfileResult(
|
|
68
|
+
[
|
|
69
|
+
{
|
|
70
|
+
functionName: 'random',
|
|
71
|
+
bytecode: Buffer.from('random'),
|
|
72
|
+
witness: new Map([[1, 'random']]),
|
|
73
|
+
vk: Buffer.from('random'),
|
|
74
|
+
timings: {
|
|
75
|
+
witgen: 1,
|
|
76
|
+
gateCount: 1,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
{
|
|
81
|
+
sync: 1,
|
|
82
|
+
proving: 1,
|
|
83
|
+
perFunction: [
|
|
84
|
+
{
|
|
85
|
+
functionName: 'random',
|
|
86
|
+
time: 1,
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
unaccounted: 1,
|
|
90
|
+
total: 4,
|
|
91
|
+
},
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export class UtilitySimulationResult {
|
|
97
|
+
constructor(
|
|
98
|
+
public result: AbiDecoded,
|
|
99
|
+
public timings?: SimulationTimings,
|
|
100
|
+
) {}
|
|
101
|
+
|
|
102
|
+
static get schema(): ZodFor<UtilitySimulationResult> {
|
|
103
|
+
return z
|
|
104
|
+
.object({
|
|
105
|
+
result: AbiDecodedSchema,
|
|
106
|
+
timings: optional(SimulationTimingsSchema),
|
|
107
|
+
})
|
|
108
|
+
.transform(({ result, timings }) => new UtilitySimulationResult(result, timings));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
static random(): UtilitySimulationResult {
|
|
112
|
+
return new UtilitySimulationResult(Fr.random().toBigInt(), {
|
|
113
|
+
sync: 1,
|
|
114
|
+
publicSimulation: 1,
|
|
115
|
+
validation: 1,
|
|
116
|
+
perFunction: [
|
|
117
|
+
{
|
|
118
|
+
functionName: 'random',
|
|
119
|
+
time: 1,
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
unaccounted: 1,
|
|
123
|
+
total: 5,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { sha256ToField } from '@aztec/foundation/crypto';
|
|
2
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
5
|
+
import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
|
+
|
|
9
|
+
import { inspect } from 'util';
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
|
|
12
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
13
|
+
import { GasFees } from '../gas/index.js';
|
|
14
|
+
import { schemas } from '../schemas/index.js';
|
|
15
|
+
import type { UInt64 } from '../types/shared.js';
|
|
16
|
+
import { ContentCommitment } from './content_commitment.js';
|
|
17
|
+
|
|
18
|
+
/** The proposed values of an L2 block. */
|
|
19
|
+
export class ProposedBlockHeader {
|
|
20
|
+
constructor(
|
|
21
|
+
/** Root of the archive tree before this block is added. */
|
|
22
|
+
public lastArchiveRoot: Fr,
|
|
23
|
+
/** Content commitment of the L2 block. */
|
|
24
|
+
public contentCommitment: ContentCommitment,
|
|
25
|
+
/** Slot number of the L2 block */
|
|
26
|
+
public slotNumber: Fr,
|
|
27
|
+
/** Timestamp of the L2 block. */
|
|
28
|
+
public timestamp: UInt64,
|
|
29
|
+
/** Recipient of block reward. */
|
|
30
|
+
public coinbase: EthAddress,
|
|
31
|
+
/** Address to receive fees. */
|
|
32
|
+
public feeRecipient: AztecAddress,
|
|
33
|
+
/** Global gas prices for this block. */
|
|
34
|
+
public gasFees: GasFees,
|
|
35
|
+
/** Total mana used in the block, computed by the root rollup circuit */
|
|
36
|
+
public totalManaUsed: Fr,
|
|
37
|
+
) {}
|
|
38
|
+
|
|
39
|
+
static get schema(): ZodFor<ProposedBlockHeader> {
|
|
40
|
+
return z
|
|
41
|
+
.object({
|
|
42
|
+
lastArchiveRoot: schemas.Fr,
|
|
43
|
+
contentCommitment: ContentCommitment.schema,
|
|
44
|
+
slotNumber: schemas.Fr,
|
|
45
|
+
timestamp: schemas.BigInt,
|
|
46
|
+
coinbase: schemas.EthAddress,
|
|
47
|
+
feeRecipient: schemas.AztecAddress,
|
|
48
|
+
gasFees: GasFees.schema,
|
|
49
|
+
totalManaUsed: schemas.Fr,
|
|
50
|
+
})
|
|
51
|
+
.transform(ProposedBlockHeader.from);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static getFields(fields: FieldsOf<ProposedBlockHeader>) {
|
|
55
|
+
return [
|
|
56
|
+
fields.lastArchiveRoot,
|
|
57
|
+
fields.contentCommitment,
|
|
58
|
+
fields.slotNumber,
|
|
59
|
+
fields.timestamp,
|
|
60
|
+
fields.coinbase,
|
|
61
|
+
fields.feeRecipient,
|
|
62
|
+
fields.gasFees,
|
|
63
|
+
fields.totalManaUsed,
|
|
64
|
+
] as const;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static from(fields: FieldsOf<ProposedBlockHeader>) {
|
|
68
|
+
return new ProposedBlockHeader(...ProposedBlockHeader.getFields(fields));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
static fromBuffer(buffer: Buffer | BufferReader): ProposedBlockHeader {
|
|
72
|
+
const reader = BufferReader.asReader(buffer);
|
|
73
|
+
|
|
74
|
+
return new ProposedBlockHeader(
|
|
75
|
+
reader.readObject(Fr),
|
|
76
|
+
reader.readObject(ContentCommitment),
|
|
77
|
+
Fr.fromBuffer(reader),
|
|
78
|
+
reader.readUInt64(),
|
|
79
|
+
reader.readObject(EthAddress),
|
|
80
|
+
reader.readObject(AztecAddress),
|
|
81
|
+
reader.readObject(GasFees),
|
|
82
|
+
reader.readObject(Fr),
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
toBuffer() {
|
|
87
|
+
// Note: The order here must match the order in the HeaderLib solidity library.
|
|
88
|
+
return serializeToBuffer([
|
|
89
|
+
this.lastArchiveRoot,
|
|
90
|
+
this.contentCommitment,
|
|
91
|
+
this.slotNumber,
|
|
92
|
+
bigintToUInt64BE(this.timestamp),
|
|
93
|
+
this.coinbase,
|
|
94
|
+
this.feeRecipient,
|
|
95
|
+
this.gasFees,
|
|
96
|
+
this.totalManaUsed,
|
|
97
|
+
]);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
hash(): Fr {
|
|
101
|
+
return sha256ToField([this.toBuffer()]);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
static empty(fields: Partial<FieldsOf<ProposedBlockHeader>> = {}): ProposedBlockHeader {
|
|
105
|
+
return ProposedBlockHeader.from({
|
|
106
|
+
lastArchiveRoot: Fr.ZERO,
|
|
107
|
+
contentCommitment: ContentCommitment.empty(),
|
|
108
|
+
slotNumber: Fr.ZERO,
|
|
109
|
+
timestamp: 0n,
|
|
110
|
+
coinbase: EthAddress.ZERO,
|
|
111
|
+
feeRecipient: AztecAddress.ZERO,
|
|
112
|
+
gasFees: GasFees.empty(),
|
|
113
|
+
totalManaUsed: Fr.ZERO,
|
|
114
|
+
...fields,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
isEmpty(): boolean {
|
|
119
|
+
return (
|
|
120
|
+
this.lastArchiveRoot.isZero() &&
|
|
121
|
+
this.contentCommitment.isEmpty() &&
|
|
122
|
+
this.slotNumber.isZero() &&
|
|
123
|
+
this.timestamp === 0n &&
|
|
124
|
+
this.coinbase.isZero() &&
|
|
125
|
+
this.feeRecipient.isZero() &&
|
|
126
|
+
this.gasFees.isEmpty() &&
|
|
127
|
+
this.totalManaUsed.isZero()
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Serializes this instance into a string.
|
|
133
|
+
* @returns Encoded string.
|
|
134
|
+
*/
|
|
135
|
+
public toString() {
|
|
136
|
+
return bufferToHex(this.toBuffer());
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
static fromString(str: string): ProposedBlockHeader {
|
|
140
|
+
return ProposedBlockHeader.fromBuffer(hexToBuffer(str));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
toInspect() {
|
|
144
|
+
return {
|
|
145
|
+
lastArchive: this.lastArchiveRoot.toString(),
|
|
146
|
+
contentCommitment: this.contentCommitment.toInspect(),
|
|
147
|
+
slotNumber: this.slotNumber.toBigInt(),
|
|
148
|
+
timestamp: this.timestamp,
|
|
149
|
+
coinbase: this.coinbase.toString(),
|
|
150
|
+
feeRecipient: this.feeRecipient.toString(),
|
|
151
|
+
gasFees: this.gasFees.toInspect(),
|
|
152
|
+
totalManaUsed: this.totalManaUsed.toBigInt(),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
[inspect.custom]() {
|
|
157
|
+
const gasfees = `da:${this.gasFees.feePerDaGas.toBigInt()}, l2:${this.gasFees.feePerL2Gas.toBigInt()}`;
|
|
158
|
+
return `Header {
|
|
159
|
+
lastArchiveRoot: ${this.lastArchiveRoot.toString()},
|
|
160
|
+
contentCommitment: ${inspect(this.contentCommitment)},
|
|
161
|
+
slotNumber: ${this.slotNumber.toBigInt()},
|
|
162
|
+
timestamp: ${this.timestamp},
|
|
163
|
+
coinbase: ${this.coinbase.toString()},
|
|
164
|
+
feeRecipient: ${this.feeRecipient.toString()},
|
|
165
|
+
gasFees: ${gasfees},
|
|
166
|
+
totalManaUsed: ${this.totalManaUsed.toBigInt()},
|
|
167
|
+
}`;
|
|
168
|
+
}
|
|
169
|
+
}
|
package/src/tx/proven_tx.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { optional } from '@aztec/foundation/schemas';
|
|
1
2
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
3
|
|
|
3
4
|
import { z } from 'zod';
|
|
@@ -5,6 +6,7 @@ import { z } from 'zod';
|
|
|
5
6
|
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
6
7
|
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
7
8
|
import { PrivateExecutionResult, collectSortedContractClassLogs } from './private_execution_result.js';
|
|
9
|
+
import { type ProvingTimings, SimulationTimingsSchema } from './profiling.js';
|
|
8
10
|
import { Tx } from './tx.js';
|
|
9
11
|
|
|
10
12
|
export class TxProvingResult {
|
|
@@ -12,6 +14,7 @@ export class TxProvingResult {
|
|
|
12
14
|
public privateExecutionResult: PrivateExecutionResult,
|
|
13
15
|
public publicInputs: PrivateKernelTailCircuitPublicInputs,
|
|
14
16
|
public clientIvcProof: ClientIvcProof,
|
|
17
|
+
public timings?: ProvingTimings,
|
|
15
18
|
) {}
|
|
16
19
|
|
|
17
20
|
toTx(): Tx {
|
|
@@ -32,6 +35,7 @@ export class TxProvingResult {
|
|
|
32
35
|
privateExecutionResult: PrivateExecutionResult.schema,
|
|
33
36
|
publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
|
|
34
37
|
clientIvcProof: ClientIvcProof.schema,
|
|
38
|
+
timings: optional(SimulationTimingsSchema),
|
|
35
39
|
})
|
|
36
40
|
.transform(TxProvingResult.from);
|
|
37
41
|
}
|
package/src/tx/simulated_tx.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ZodFor, optional } from '@aztec/foundation/schemas';
|
|
2
2
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
3
3
|
|
|
4
4
|
import { z } from 'zod';
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
PrivateExecutionResult,
|
|
13
13
|
collectSortedContractClassLogs,
|
|
14
14
|
} from './private_execution_result.js';
|
|
15
|
+
import { type SimulationTimings, SimulationTimingsSchema } from './profiling.js';
|
|
15
16
|
import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js';
|
|
16
17
|
import { Tx } from './tx.js';
|
|
17
18
|
|
|
@@ -43,6 +44,7 @@ export class TxSimulationResult {
|
|
|
43
44
|
public privateExecutionResult: PrivateExecutionResult,
|
|
44
45
|
public publicInputs: PrivateKernelTailCircuitPublicInputs,
|
|
45
46
|
public publicOutput?: PublicSimulationOutput,
|
|
47
|
+
public timings?: SimulationTimings,
|
|
46
48
|
) {}
|
|
47
49
|
|
|
48
50
|
get gasUsed(): GasUsed {
|
|
@@ -62,22 +64,30 @@ export class TxSimulationResult {
|
|
|
62
64
|
privateExecutionResult: PrivateExecutionResult.schema,
|
|
63
65
|
publicInputs: PrivateKernelTailCircuitPublicInputs.schema,
|
|
64
66
|
publicOutput: PublicSimulationOutput.schema.optional(),
|
|
67
|
+
timings: optional(SimulationTimingsSchema),
|
|
65
68
|
})
|
|
66
69
|
.transform(TxSimulationResult.from);
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed'>) {
|
|
70
|
-
return new TxSimulationResult(
|
|
73
|
+
return new TxSimulationResult(
|
|
74
|
+
fields.privateExecutionResult,
|
|
75
|
+
fields.publicInputs,
|
|
76
|
+
fields.publicOutput,
|
|
77
|
+
fields.timings,
|
|
78
|
+
);
|
|
71
79
|
}
|
|
72
80
|
|
|
73
81
|
static fromPrivateSimulationResultAndPublicOutput(
|
|
74
82
|
privateSimulationResult: PrivateSimulationResult,
|
|
75
83
|
publicOutput?: PublicSimulationOutput,
|
|
84
|
+
timings?: SimulationTimings,
|
|
76
85
|
) {
|
|
77
86
|
return new TxSimulationResult(
|
|
78
87
|
privateSimulationResult.privateExecutionResult,
|
|
79
88
|
privateSimulationResult.publicInputs,
|
|
80
89
|
publicOutput,
|
|
90
|
+
timings,
|
|
81
91
|
);
|
|
82
92
|
}
|
|
83
93
|
|
package/src/tx/tx.ts
CHANGED
|
@@ -13,7 +13,7 @@ import type { L2LogsSource } from '../interfaces/l2_logs_source.js';
|
|
|
13
13
|
import type { PublicCallRequest } from '../kernel/index.js';
|
|
14
14
|
import type { ScopedLogHash } from '../kernel/log_hash.js';
|
|
15
15
|
import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
|
|
16
|
-
import { ContractClassLog } from '../logs/contract_class_log.js';
|
|
16
|
+
import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
|
|
17
17
|
import { Gossipable } from '../p2p/gossipable.js';
|
|
18
18
|
import { TopicType } from '../p2p/topic_type.js';
|
|
19
19
|
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
@@ -44,7 +44,7 @@ export class Tx extends Gossipable {
|
|
|
44
44
|
/**
|
|
45
45
|
* Contract class logs generated by the tx.
|
|
46
46
|
*/
|
|
47
|
-
public contractClassLogs:
|
|
47
|
+
public contractClassLogs: ContractClassLogFields[],
|
|
48
48
|
/**
|
|
49
49
|
* An array of calldata for the enqueued public function calls and the teardown function call.
|
|
50
50
|
*/
|
|
@@ -54,7 +54,7 @@ export class Tx extends Gossipable {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
// Gossipable method
|
|
57
|
-
override async
|
|
57
|
+
override async generateP2PMessageIdentifier(): Promise<Buffer32> {
|
|
58
58
|
return new Buffer32((await this.getTxHash()).toBuffer());
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -107,7 +107,7 @@ export class Tx extends Gossipable {
|
|
|
107
107
|
return new Tx(
|
|
108
108
|
reader.readObject(PrivateKernelTailCircuitPublicInputs),
|
|
109
109
|
reader.readObject(ClientIvcProof),
|
|
110
|
-
reader.readVectorUint8Prefix(
|
|
110
|
+
reader.readVectorUint8Prefix(ContractClassLogFields),
|
|
111
111
|
reader.readVectorUint8Prefix(HashedValues),
|
|
112
112
|
);
|
|
113
113
|
}
|
|
@@ -130,7 +130,7 @@ export class Tx extends Gossipable {
|
|
|
130
130
|
.object({
|
|
131
131
|
data: PrivateKernelTailCircuitPublicInputs.schema,
|
|
132
132
|
clientIvcProof: ClientIvcProof.schema,
|
|
133
|
-
contractClassLogs: z.array(
|
|
133
|
+
contractClassLogs: z.array(ContractClassLogFields.schema),
|
|
134
134
|
publicFunctionCalldata: z.array(HashedValues.schema),
|
|
135
135
|
})
|
|
136
136
|
.transform(Tx.from);
|
|
@@ -173,12 +173,15 @@ export class Tx extends Gossipable {
|
|
|
173
173
|
*/
|
|
174
174
|
async filterContractClassLogs(logHashes: ScopedLogHash[], silo: boolean = false): Promise<ContractClassLog[]> {
|
|
175
175
|
const contractClassLogs = [];
|
|
176
|
-
for (const
|
|
177
|
-
const hashedLog = await
|
|
178
|
-
const logHash = logHashes.find(
|
|
179
|
-
hash => hash.value.equals(hashedLog) && hash.contractAddress.equals(log.contractAddress),
|
|
180
|
-
);
|
|
176
|
+
for (const fields of this.contractClassLogs) {
|
|
177
|
+
const hashedLog = await fields.hash();
|
|
178
|
+
const logHash = logHashes.find(hash => hash.value.equals(hashedLog));
|
|
181
179
|
if (logHash) {
|
|
180
|
+
const log = ContractClassLog.from({
|
|
181
|
+
contractAddress: logHash.contractAddress,
|
|
182
|
+
fields,
|
|
183
|
+
emittedLength: logHash.logHash.length,
|
|
184
|
+
});
|
|
182
185
|
contractClassLogs.push(silo ? await log.silo() : log);
|
|
183
186
|
}
|
|
184
187
|
}
|
|
@@ -287,7 +290,7 @@ export class Tx extends Gossipable {
|
|
|
287
290
|
static clone(tx: Tx): Tx {
|
|
288
291
|
const publicInputs = PrivateKernelTailCircuitPublicInputs.fromBuffer(tx.data.toBuffer());
|
|
289
292
|
const clientIvcProof = ClientIvcProof.fromBuffer(tx.clientIvcProof.toBuffer());
|
|
290
|
-
const contractClassLogs = tx.contractClassLogs.map(
|
|
293
|
+
const contractClassLogs = tx.contractClassLogs.map(p => p.clone());
|
|
291
294
|
const publicFunctionCalldata = tx.publicFunctionCalldata.map(cd => HashedValues.fromBuffer(cd.toBuffer()));
|
|
292
295
|
const clonedTx = new Tx(publicInputs, clientIvcProof, contractClassLogs, publicFunctionCalldata);
|
|
293
296
|
if (tx.txHash) {
|
|
@@ -302,11 +305,11 @@ export class Tx extends Gossipable {
|
|
|
302
305
|
* @param randomProof - Whether to create a random proof - this will be random bytes of the full size.
|
|
303
306
|
* @returns A random tx.
|
|
304
307
|
*/
|
|
305
|
-
static
|
|
308
|
+
static random(randomProof = false) {
|
|
306
309
|
return new Tx(
|
|
307
310
|
PrivateKernelTailCircuitPublicInputs.emptyWithNullifier(),
|
|
308
311
|
randomProof ? ClientIvcProof.random() : ClientIvcProof.empty(),
|
|
309
|
-
[
|
|
312
|
+
[ContractClassLogFields.random()],
|
|
310
313
|
[HashedValues.random()],
|
|
311
314
|
);
|
|
312
315
|
}
|
|
@@ -321,12 +324,10 @@ export class Tx extends Gossipable {
|
|
|
321
324
|
* The logic therefore is to drop all FunctionLogs if any constituent hash
|
|
322
325
|
* does not appear in the provided hashes: it is impossible for part of a
|
|
323
326
|
* function to revert.
|
|
324
|
-
*
|
|
325
|
-
* @param logHashes the individual log hashes we want to keep
|
|
326
|
-
* @param out the output to put passing logs in, to keep this function abstract
|
|
327
327
|
*/
|
|
328
|
+
// TODO: don't modify the tx object directly. The preimages should match the log hashes. When did the log hashes change?
|
|
328
329
|
public async filterRevertedLogs() {
|
|
329
|
-
this.contractClassLogs = await this.getSplitContractClassLogs(false);
|
|
330
|
+
this.contractClassLogs = (await this.getSplitContractClassLogs(false)).map(log => log.fields);
|
|
330
331
|
}
|
|
331
332
|
|
|
332
333
|
#combinePublicCallRequestWithCallData(request: PublicCallRequest) {
|