@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
|
@@ -4,8 +4,10 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
4
4
|
|
|
5
5
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
6
6
|
import { Gas } from '../gas/gas.js';
|
|
7
|
+
import type { PrivateLog } from '../logs/index.js';
|
|
7
8
|
import { TxConstantData } from '../tx/tx_constant_data.js';
|
|
8
9
|
import { RollupValidationRequests } from './hints/rollup_validation_requests.js';
|
|
10
|
+
import type { ScopedLogHash } from './log_hash.js';
|
|
9
11
|
import { PrivateToPublicAccumulatedData } from './private_to_public_accumulated_data.js';
|
|
10
12
|
import { PrivateToPublicKernelCircuitPublicInputs } from './private_to_public_kernel_circuit_public_inputs.js';
|
|
11
13
|
import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_data.js';
|
|
@@ -254,11 +256,20 @@ export class PrivateKernelTailCircuitPublicInputs {
|
|
|
254
256
|
}
|
|
255
257
|
|
|
256
258
|
getEmittedContractClassLogsLength() {
|
|
257
|
-
|
|
259
|
+
const accumulateLengths = (logHashes: ScopedLogHash[]) =>
|
|
260
|
+
logHashes.reduce((acc, log) => acc + log.logHash.length, 0);
|
|
261
|
+
return this.forPublic
|
|
262
|
+
? accumulateLengths(this.forPublic.nonRevertibleAccumulatedData.contractClassLogsHashes) +
|
|
263
|
+
accumulateLengths(this.forPublic.revertibleAccumulatedData.contractClassLogsHashes)
|
|
264
|
+
: accumulateLengths(this.forRollup!.end.contractClassLogsHashes);
|
|
258
265
|
}
|
|
259
266
|
|
|
260
267
|
getEmittedPrivateLogsLength() {
|
|
261
|
-
|
|
268
|
+
const accumulateLengths = (logs: PrivateLog[]) => logs.reduce((acc, log) => acc + log.emittedLength, 0);
|
|
269
|
+
return this.forPublic
|
|
270
|
+
? accumulateLengths(this.forPublic.nonRevertibleAccumulatedData.privateLogs) +
|
|
271
|
+
accumulateLengths(this.forPublic.revertibleAccumulatedData.privateLogs)
|
|
272
|
+
: accumulateLengths(this.forRollup!.end.privateLogs);
|
|
262
273
|
}
|
|
263
274
|
|
|
264
275
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelTailCircuitPublicInputs {
|
|
@@ -10,7 +10,11 @@ import { PrivateLog } from '../logs/private_log.js';
|
|
|
10
10
|
import type { UInt32 } from '../types/shared.js';
|
|
11
11
|
|
|
12
12
|
export class PrivateLogData {
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(
|
|
14
|
+
public log: PrivateLog,
|
|
15
|
+
public noteHashCounter: UInt32,
|
|
16
|
+
public counter: UInt32,
|
|
17
|
+
) {}
|
|
14
18
|
|
|
15
19
|
static from(fields: FieldsOf<PrivateLogData>): PrivateLogData {
|
|
16
20
|
return new PrivateLogData(...PrivateLogData.getFields(fields));
|
|
@@ -54,7 +58,7 @@ export class PrivateLogData {
|
|
|
54
58
|
|
|
55
59
|
[inspect.custom]() {
|
|
56
60
|
return `PrivateLogData {
|
|
57
|
-
log: ${this.log}
|
|
61
|
+
log: ${this.log.fields}
|
|
58
62
|
noteHashCounter: ${this.noteHashCounter}
|
|
59
63
|
counter: ${this.counter}
|
|
60
64
|
}`;
|
|
@@ -62,7 +66,10 @@ export class PrivateLogData {
|
|
|
62
66
|
}
|
|
63
67
|
|
|
64
68
|
export class ScopedPrivateLogData {
|
|
65
|
-
constructor(
|
|
69
|
+
constructor(
|
|
70
|
+
public inner: PrivateLogData,
|
|
71
|
+
public contractAddress: AztecAddress,
|
|
72
|
+
) {}
|
|
66
73
|
|
|
67
74
|
static from(fields: FieldsOf<ScopedPrivateLogData>): ScopedPrivateLogData {
|
|
68
75
|
return new ScopedPrivateLogData(...ScopedPrivateLogData.getFields(fields));
|
|
@@ -100,7 +107,9 @@ export class ScopedPrivateLogData {
|
|
|
100
107
|
|
|
101
108
|
[inspect.custom]() {
|
|
102
109
|
return `ScopedPrivateLogData {
|
|
103
|
-
inner: ${this.inner}
|
|
110
|
+
inner.counter: ${this.inner.counter}
|
|
111
|
+
inner.noteHashCounter: ${this.inner.noteHashCounter}
|
|
112
|
+
inner.log: ${this.inner.log.fields}
|
|
104
113
|
contractAddress: ${this.contractAddress}
|
|
105
114
|
}`;
|
|
106
115
|
}
|
|
@@ -122,7 +122,11 @@ export class PrivateToAvmAccumulatedData {
|
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
export class PrivateToAvmAccumulatedDataArrayLengths {
|
|
125
|
-
constructor(
|
|
125
|
+
constructor(
|
|
126
|
+
public noteHashes: UInt32,
|
|
127
|
+
public nullifiers: UInt32,
|
|
128
|
+
public l2ToL1Msgs: UInt32,
|
|
129
|
+
) {}
|
|
126
130
|
|
|
127
131
|
static get schema() {
|
|
128
132
|
return z
|
|
@@ -150,6 +154,10 @@ export class PrivateToAvmAccumulatedDataArrayLengths {
|
|
|
150
154
|
return new this(reader.readU32(), reader.readU32(), reader.readU32());
|
|
151
155
|
}
|
|
152
156
|
|
|
157
|
+
toFields() {
|
|
158
|
+
return [this.noteHashes, this.nullifiers, this.l2ToL1Msgs];
|
|
159
|
+
}
|
|
160
|
+
|
|
153
161
|
static from(fields: FieldsOf<PrivateToAvmAccumulatedDataArrayLengths>) {
|
|
154
162
|
return new PrivateToAvmAccumulatedDataArrayLengths(...PrivateToAvmAccumulatedDataArrayLengths.getFields(fields));
|
|
155
163
|
}
|
|
@@ -124,7 +124,10 @@ export class PublicCallRequest {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
export class CountedPublicCallRequest {
|
|
127
|
-
constructor(
|
|
127
|
+
constructor(
|
|
128
|
+
public inner: PublicCallRequest,
|
|
129
|
+
public counter: UInt32,
|
|
130
|
+
) {}
|
|
128
131
|
|
|
129
132
|
getSize() {
|
|
130
133
|
return this.isEmpty() ? 0 : this.toBuffer().length;
|
package/src/keys/public_keys.ts
CHANGED
|
@@ -143,7 +143,7 @@ export class PublicKeys {
|
|
|
143
143
|
|
|
144
144
|
toNoirStruct() {
|
|
145
145
|
// We need to use lowercase identifiers as those are what the noir interface expects
|
|
146
|
-
|
|
146
|
+
|
|
147
147
|
return {
|
|
148
148
|
// TODO(#6337): Directly dump account.publicKeys here
|
|
149
149
|
/* eslint-disable camelcase */
|
|
@@ -1,139 +1,238 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CONTRACT_CLASS_LOG_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
2
|
import { poseidon2Hash } from '@aztec/foundation/crypto';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { schemas } from '@aztec/foundation/schemas';
|
|
5
|
-
import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
+
import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
6
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
6
7
|
|
|
7
8
|
import { inspect } from 'util';
|
|
8
9
|
import { z } from 'zod';
|
|
9
10
|
|
|
10
11
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
11
12
|
|
|
12
|
-
export class
|
|
13
|
-
static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES * CONTRACT_CLASS_LOG_SIZE_IN_FIELDS;
|
|
14
|
-
// Keeps original first field pre-siloing. Only set by silo().
|
|
15
|
-
public unsiloedFirstField?: Fr | undefined;
|
|
16
|
-
|
|
13
|
+
export class ContractClassLogFields {
|
|
17
14
|
// Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
|
|
18
|
-
// public fields: Tuple<Fr, typeof
|
|
19
|
-
constructor(public
|
|
20
|
-
if (fields.length !==
|
|
15
|
+
// public fields: Tuple<Fr, typeof CONTRACT_CLASS_LOG_SIZE_IN_FIELDS>
|
|
16
|
+
constructor(public fields: Fr[]) {
|
|
17
|
+
if (fields.length !== CONTRACT_CLASS_LOG_SIZE_IN_FIELDS) {
|
|
21
18
|
throw new Error(
|
|
22
|
-
`Invalid number of fields for ContractClassLog. Expected ${
|
|
19
|
+
`Invalid number of fields for ContractClassLog. Expected ${CONTRACT_CLASS_LOG_SIZE_IN_FIELDS}, got ${fields.length}`,
|
|
23
20
|
);
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
23
|
|
|
24
|
+
static get schema() {
|
|
25
|
+
return z
|
|
26
|
+
.object({
|
|
27
|
+
fields: z.array(schemas.Fr).refine(arr => arr.length === CONTRACT_CLASS_LOG_SIZE_IN_FIELDS),
|
|
28
|
+
})
|
|
29
|
+
.transform(({ fields }) => new ContractClassLogFields(fields));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
toFields(): Fr[] {
|
|
33
|
+
return this.fields;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static fromFields(fields: Fr[] | FieldReader) {
|
|
37
|
+
const reader = FieldReader.asReader(fields);
|
|
38
|
+
// Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
|
|
39
|
+
// reader.readFieldArray(CONTRACT_CLASS_LOG_LENGTH);
|
|
40
|
+
return new ContractClassLogFields(
|
|
41
|
+
Array.from({ length: CONTRACT_CLASS_LOG_SIZE_IN_FIELDS }, () => reader.readField()),
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
toBuffer() {
|
|
46
|
+
return serializeToBuffer(this.fields);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
50
|
+
const reader = BufferReader.asReader(buffer);
|
|
51
|
+
// Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
|
|
52
|
+
// reader.readArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, Fr)
|
|
53
|
+
return new ContractClassLogFields(
|
|
54
|
+
Array.from({ length: CONTRACT_CLASS_LOG_SIZE_IN_FIELDS }, () => reader.readObject(Fr)),
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
equals(other: ContractClassLogFields) {
|
|
59
|
+
return this.fields.every((f, i) => f.equals(other.fields[i]));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
getEmittedFields(emittedLength: number) {
|
|
63
|
+
return this.fields.slice(0, emittedLength);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static fromEmittedFields(emittedFields: Fr[]) {
|
|
67
|
+
return new ContractClassLogFields(
|
|
68
|
+
emittedFields.concat(Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - emittedFields.length).fill(Fr.ZERO)),
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
isEmpty() {
|
|
73
|
+
return this.fields.every(f => f.isZero());
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
static empty() {
|
|
77
|
+
return new ContractClassLogFields(Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS).fill(Fr.ZERO));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
static random(emittedLength = CONTRACT_CLASS_LOG_SIZE_IN_FIELDS) {
|
|
81
|
+
return new ContractClassLogFields(
|
|
82
|
+
Array.from({ length: emittedLength }, () => Fr.random()).concat(
|
|
83
|
+
Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - emittedLength).fill(Fr.ZERO),
|
|
84
|
+
),
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
async hash() {
|
|
89
|
+
return await poseidon2Hash(this.fields);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
clone() {
|
|
93
|
+
return ContractClassLogFields.fromBuffer(this.toBuffer());
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export class ContractClassLog {
|
|
98
|
+
static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES * CONTRACT_CLASS_LOG_LENGTH;
|
|
99
|
+
// Keeps original first field pre-siloing. Only set by silo().
|
|
100
|
+
public unsiloedFirstField?: Fr | undefined;
|
|
101
|
+
|
|
102
|
+
constructor(
|
|
103
|
+
public contractAddress: AztecAddress,
|
|
104
|
+
public fields: ContractClassLogFields,
|
|
105
|
+
public emittedLength: number,
|
|
106
|
+
) {}
|
|
107
|
+
|
|
108
|
+
static from(fields: FieldsOf<ContractClassLog>) {
|
|
109
|
+
return new ContractClassLog(fields.contractAddress, fields.fields, fields.emittedLength);
|
|
110
|
+
}
|
|
111
|
+
|
|
27
112
|
toFields(): Fr[] {
|
|
28
|
-
return [this.contractAddress.
|
|
113
|
+
return serializeToFields([this.contractAddress, this.fields, this.emittedLength]);
|
|
29
114
|
}
|
|
30
115
|
|
|
31
116
|
equals(other: ContractClassLog) {
|
|
32
117
|
return (
|
|
33
118
|
this.contractAddress.equals(other.contractAddress) &&
|
|
34
|
-
this.fields.
|
|
35
|
-
this.
|
|
119
|
+
this.fields.equals(other.fields) &&
|
|
120
|
+
this.emittedLength === other.emittedLength
|
|
36
121
|
);
|
|
37
122
|
}
|
|
38
123
|
|
|
39
124
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
40
125
|
const reader = FieldReader.asReader(fields);
|
|
41
|
-
// Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
|
|
42
|
-
// return new ContractClassLog(reader.readFieldArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS));
|
|
43
126
|
return new ContractClassLog(
|
|
44
127
|
reader.readObject(AztecAddress),
|
|
45
|
-
|
|
128
|
+
reader.readObject(ContractClassLogFields),
|
|
129
|
+
reader.readU32(),
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
getEmittedFields() {
|
|
134
|
+
return this.fields.getEmittedFields(this.emittedLength);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
toBlobFields(): Fr[] {
|
|
138
|
+
return [new Fr(this.emittedLength), this.contractAddress.toField()].concat(this.getEmittedFields());
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
static fromBlobFields(fields: Fr[] | FieldReader) {
|
|
142
|
+
const reader = FieldReader.asReader(fields);
|
|
143
|
+
const emittedLength = reader.readU32();
|
|
144
|
+
const contractAddress = reader.readObject(AztecAddress);
|
|
145
|
+
const emittedFields = reader.readFieldArray(emittedLength);
|
|
146
|
+
return new ContractClassLog(
|
|
147
|
+
contractAddress,
|
|
148
|
+
ContractClassLogFields.fromEmittedFields(emittedFields),
|
|
149
|
+
emittedLength,
|
|
46
150
|
);
|
|
47
151
|
}
|
|
48
152
|
|
|
49
153
|
isEmpty() {
|
|
50
|
-
return this.
|
|
154
|
+
return this.contractAddress.isZero() && this.fields.isEmpty() && this.emittedLength === 0;
|
|
51
155
|
}
|
|
52
156
|
|
|
53
157
|
static empty() {
|
|
54
|
-
return new ContractClassLog(AztecAddress.ZERO,
|
|
158
|
+
return new ContractClassLog(AztecAddress.ZERO, ContractClassLogFields.empty(), 0);
|
|
55
159
|
}
|
|
56
160
|
|
|
57
161
|
toBuffer(): Buffer {
|
|
58
|
-
return serializeToBuffer([this.contractAddress, this.fields]);
|
|
162
|
+
return serializeToBuffer([this.contractAddress, this.fields, this.emittedLength]);
|
|
59
163
|
}
|
|
60
164
|
|
|
61
165
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
62
166
|
const reader = BufferReader.asReader(buffer);
|
|
63
|
-
// Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
|
|
64
|
-
// reader.readArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, Fr);
|
|
65
167
|
const address = reader.readObject(AztecAddress);
|
|
66
|
-
const fields =
|
|
67
|
-
|
|
68
|
-
);
|
|
69
|
-
return new ContractClassLog(address, fields);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
clone() {
|
|
73
|
-
return ContractClassLog.fromBuffer(this.toBuffer());
|
|
168
|
+
const fields = ContractClassLogFields.fromBuffer(reader);
|
|
169
|
+
const emittedLength = reader.readNumber();
|
|
170
|
+
return new ContractClassLog(address, fields, emittedLength);
|
|
74
171
|
}
|
|
75
172
|
|
|
76
173
|
static async random() {
|
|
77
174
|
// NB: Using half the maximum number of fields per log because max fields keeps overfilling blobs in tests.
|
|
78
|
-
|
|
79
|
-
// makeTuple(CONTRACT_CLASS_LOG_DATA_SIZE_IN_FIELDS, Fr.random);
|
|
80
|
-
const fields = Array.from({ length: Math.ceil(CONTRACT_CLASS_LOG_DATA_SIZE_IN_FIELDS / 2) }, () => Fr.random());
|
|
175
|
+
const emittedLength = Math.ceil(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS / 2);
|
|
81
176
|
return new ContractClassLog(
|
|
82
177
|
await AztecAddress.random(),
|
|
83
|
-
|
|
178
|
+
ContractClassLogFields.random(emittedLength),
|
|
179
|
+
emittedLength,
|
|
84
180
|
);
|
|
85
181
|
}
|
|
86
182
|
|
|
87
|
-
getEmittedLength() {
|
|
88
|
-
// This assumes that we cut trailing zeroes from the end of the log. In ts, these will always be added back.
|
|
89
|
-
// Does not include address or length prefix.
|
|
90
|
-
// Note: Unlike public logs, address is not included here because it is not included in the log itself.
|
|
91
|
-
return this.getEmittedFields().length;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
getEmittedFields() {
|
|
95
|
-
const lastNonZeroIndex = this.fields.findLastIndex(f => !f.isZero());
|
|
96
|
-
return this.fields.slice(0, lastNonZeroIndex + 1);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
183
|
setUnsiloedFirstField(field: Fr) {
|
|
100
184
|
this.unsiloedFirstField = field;
|
|
101
185
|
}
|
|
102
186
|
|
|
103
187
|
toUnsiloed() {
|
|
188
|
+
if (this.contractAddress.isZero()) {
|
|
189
|
+
return this;
|
|
190
|
+
}
|
|
104
191
|
if (this.unsiloedFirstField) {
|
|
105
|
-
return new ContractClassLog(
|
|
192
|
+
return new ContractClassLog(
|
|
193
|
+
this.contractAddress,
|
|
194
|
+
new ContractClassLogFields([this.unsiloedFirstField].concat(this.fields.fields.slice(1))),
|
|
195
|
+
this.emittedLength,
|
|
196
|
+
);
|
|
106
197
|
} else {
|
|
107
198
|
return this;
|
|
108
199
|
}
|
|
109
200
|
}
|
|
110
201
|
|
|
202
|
+
// TODO(#13914): Don't need to silo the contract class logs.
|
|
111
203
|
async silo() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return innerLog;
|
|
204
|
+
if (this.contractAddress.isZero()) {
|
|
205
|
+
return this;
|
|
115
206
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
207
|
+
|
|
208
|
+
const fields = this.fields.clone();
|
|
209
|
+
const unsiloedField = fields.fields[0];
|
|
210
|
+
const siloedField = await poseidon2Hash([this.contractAddress, unsiloedField]);
|
|
211
|
+
fields.fields[0] = siloedField;
|
|
212
|
+
const cloned = new ContractClassLog(this.contractAddress, fields, this.emittedLength);
|
|
213
|
+
cloned.setUnsiloedFirstField(unsiloedField);
|
|
214
|
+
return cloned;
|
|
119
215
|
}
|
|
120
216
|
|
|
121
217
|
async hash() {
|
|
122
|
-
return await
|
|
218
|
+
return await this.fields.hash();
|
|
123
219
|
}
|
|
124
220
|
|
|
125
221
|
static get schema() {
|
|
126
222
|
return z
|
|
127
223
|
.object({
|
|
128
224
|
contractAddress: AztecAddress.schema,
|
|
129
|
-
fields:
|
|
225
|
+
fields: ContractClassLogFields.schema,
|
|
226
|
+
emittedLength: z.number(),
|
|
130
227
|
})
|
|
131
|
-
.transform(
|
|
228
|
+
.transform(ContractClassLog.from);
|
|
132
229
|
}
|
|
133
230
|
|
|
134
231
|
[inspect.custom](): string {
|
|
135
232
|
return `ContractClassLog {
|
|
136
|
-
|
|
233
|
+
contractAddress: ${this.contractAddress.toString()},
|
|
234
|
+
emittedLength: ${this.emittedLength},
|
|
235
|
+
fields: [${this.fields.fields.map((x: Fr) => inspect(x)).join(', ')}],
|
|
137
236
|
}`;
|
|
138
237
|
}
|
|
139
238
|
}
|
|
@@ -4,7 +4,10 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
4
4
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
5
5
|
|
|
6
6
|
export class IndexedTaggingSecret {
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(
|
|
8
|
+
public appTaggingSecret: Fr,
|
|
9
|
+
public index: number,
|
|
10
|
+
) {
|
|
8
11
|
if (index < 0) {
|
|
9
12
|
throw new Error('IndexedTaggingSecret index out of bounds');
|
|
10
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MAX_NOTE_HASHES_PER_TX,
|
|
1
|
+
import { MAX_NOTE_HASHES_PER_TX, PUBLIC_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
4
4
|
|
|
@@ -6,6 +6,8 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
6
6
|
// response for PXE's custom getLogByTag oracle.
|
|
7
7
|
export class LogWithTxData {
|
|
8
8
|
constructor(
|
|
9
|
+
// The emitted fields of a log.
|
|
10
|
+
// For public logs, the contract address is prepended to the content.
|
|
9
11
|
public logContent: Fr[],
|
|
10
12
|
public txHash: TxHash,
|
|
11
13
|
public uniqueNoteHashesInTx: Fr[],
|
|
@@ -14,7 +16,10 @@ export class LogWithTxData {
|
|
|
14
16
|
|
|
15
17
|
toNoirSerialization(): (Fr | Fr[])[] {
|
|
16
18
|
return [
|
|
17
|
-
|
|
19
|
+
// The log fields length is PUBLIC_LOG_SIZE_IN_FIELDS. + 1 because the contract address is prepended to the content.
|
|
20
|
+
// This is only used for public logs currently, so the maxLength is PUBLIC_LOG_SIZE_IN_FIELDS + 1.
|
|
21
|
+
// TODO(#11639): this could also be used for private logs.
|
|
22
|
+
...toBoundedVecSerialization(this.logContent, PUBLIC_LOG_SIZE_IN_FIELDS + 1),
|
|
18
23
|
this.txHash.hash,
|
|
19
24
|
...toBoundedVecSerialization(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
|
|
20
25
|
this.firstNullifierInTx,
|
package/src/logs/private_log.ts
CHANGED
|
@@ -1,24 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { makeTuple } from '@aztec/foundation/array';
|
|
1
|
+
import { PRIVATE_LOG_LENGTH, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
|
+
import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
|
|
3
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
3
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
5
|
import { schemas } from '@aztec/foundation/schemas';
|
|
5
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
BufferReader,
|
|
8
|
+
FieldReader,
|
|
9
|
+
type Tuple,
|
|
10
|
+
serializeToBuffer,
|
|
11
|
+
serializeToFields,
|
|
12
|
+
} from '@aztec/foundation/serialize';
|
|
6
13
|
|
|
7
14
|
import { inspect } from 'util';
|
|
8
15
|
import { z } from 'zod';
|
|
9
16
|
|
|
10
17
|
export class PrivateLog {
|
|
11
|
-
static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES *
|
|
18
|
+
static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES * PRIVATE_LOG_LENGTH;
|
|
12
19
|
|
|
13
|
-
constructor(
|
|
20
|
+
constructor(
|
|
21
|
+
public fields: Tuple<Fr, typeof PRIVATE_LOG_SIZE_IN_FIELDS>,
|
|
22
|
+
// Named `emittedLength` instead of `length` to avoid being confused with fields.length.
|
|
23
|
+
public emittedLength: number,
|
|
24
|
+
) {}
|
|
25
|
+
|
|
26
|
+
static from(fields: FieldsOf<PrivateLog>) {
|
|
27
|
+
return new PrivateLog(...PrivateLog.getFields(fields));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static getFields(fields: FieldsOf<PrivateLog>) {
|
|
31
|
+
return [fields.fields, fields.emittedLength] as const;
|
|
32
|
+
}
|
|
14
33
|
|
|
15
34
|
toFields(): Fr[] {
|
|
16
|
-
return this
|
|
35
|
+
return serializeToFields(...PrivateLog.getFields(this));
|
|
17
36
|
}
|
|
18
37
|
|
|
19
38
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
20
39
|
const reader = FieldReader.asReader(fields);
|
|
21
|
-
return new PrivateLog(reader.readFieldArray(PRIVATE_LOG_SIZE_IN_FIELDS));
|
|
40
|
+
return new PrivateLog(reader.readFieldArray(PRIVATE_LOG_SIZE_IN_FIELDS), reader.readU32());
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
getEmittedFields() {
|
|
44
|
+
return this.fields.slice(0, this.emittedLength);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
toBlobFields(): Fr[] {
|
|
48
|
+
return [new Fr(this.emittedLength)].concat(this.getEmittedFields());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
static fromBlobFields(fields: Fr[] | FieldReader) {
|
|
52
|
+
const reader = FieldReader.asReader(fields);
|
|
53
|
+
const emittedLength = reader.readU32();
|
|
54
|
+
const emittedFields = reader.readFieldArray(emittedLength);
|
|
55
|
+
return new PrivateLog(padArrayEnd(emittedFields, Fr.ZERO, PRIVATE_LOG_SIZE_IN_FIELDS), emittedLength);
|
|
22
56
|
}
|
|
23
57
|
|
|
24
58
|
isEmpty() {
|
|
@@ -26,54 +60,42 @@ export class PrivateLog {
|
|
|
26
60
|
}
|
|
27
61
|
|
|
28
62
|
static empty() {
|
|
29
|
-
return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr.zero));
|
|
63
|
+
return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr.zero), 0);
|
|
30
64
|
}
|
|
31
65
|
|
|
32
66
|
toBuffer(): Buffer {
|
|
33
|
-
return serializeToBuffer(this.fields);
|
|
67
|
+
return serializeToBuffer(this.fields, this.emittedLength);
|
|
34
68
|
}
|
|
35
69
|
|
|
36
70
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
37
71
|
const reader = BufferReader.asReader(buffer);
|
|
38
|
-
return new PrivateLog(reader.readArray(PRIVATE_LOG_SIZE_IN_FIELDS, Fr));
|
|
72
|
+
return new PrivateLog(reader.readArray(PRIVATE_LOG_SIZE_IN_FIELDS, Fr), reader.readNumber());
|
|
39
73
|
}
|
|
40
74
|
|
|
41
75
|
static random(tag = Fr.random()) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
getEmittedLength() {
|
|
46
|
-
// This assumes that we cut trailing zeroes from the end of the log. In ts, these will always be added back.
|
|
47
|
-
// Does not include length prefix.
|
|
48
|
-
return this.getEmittedFields().length;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
getEmittedFields() {
|
|
52
|
-
const lastNonZeroIndex = this.fields.findLastIndex(f => !f.isZero());
|
|
53
|
-
return this.fields.slice(0, lastNonZeroIndex + 1);
|
|
76
|
+
const fields = makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr.random);
|
|
77
|
+
fields[0] = tag;
|
|
78
|
+
return new PrivateLog(fields, PRIVATE_LOG_SIZE_IN_FIELDS);
|
|
54
79
|
}
|
|
55
80
|
|
|
56
81
|
static get schema() {
|
|
57
|
-
if (PUBLIC_LOG_DATA_SIZE_IN_FIELDS + 1 == PRIVATE_LOG_SIZE_IN_FIELDS) {
|
|
58
|
-
throw new Error(
|
|
59
|
-
'Constants got updated and schema for PublicLog matches that of PrivateLog. This needs to be updated now as Zod is no longer able to differentiate the 2 in TxScopedL2Log.',
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
82
|
return z
|
|
64
83
|
.object({
|
|
65
84
|
fields: z.array(schemas.Fr),
|
|
85
|
+
emittedLength: z.number(),
|
|
66
86
|
})
|
|
67
|
-
.
|
|
87
|
+
.strict()
|
|
88
|
+
.transform(({ fields, emittedLength }) => PrivateLog.fromFields(fields.concat(new Fr(emittedLength))));
|
|
68
89
|
}
|
|
69
90
|
|
|
70
91
|
equals(other: PrivateLog) {
|
|
71
|
-
return this.fields.every((field, i) => field.equals(other.fields[i]));
|
|
92
|
+
return this.fields.every((field, i) => field.equals(other.fields[i])) && this.emittedLength === other.emittedLength;
|
|
72
93
|
}
|
|
73
94
|
|
|
74
95
|
[inspect.custom](): string {
|
|
75
96
|
return `PrivateLog {
|
|
76
97
|
fields: [${this.fields.map(x => inspect(x)).join(', ')}],
|
|
98
|
+
emittedLength: ${this.emittedLength},
|
|
77
99
|
}`;
|
|
78
100
|
}
|
|
79
101
|
}
|