@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
|
@@ -7,7 +7,7 @@ import { MembershipWitness } from '@aztec/foundation/trees';
|
|
|
7
7
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
8
|
|
|
9
9
|
import { PublicDataHint } from '../avm/public_data_hint.js';
|
|
10
|
-
import {
|
|
10
|
+
import { ContractClassLogFields } from '../logs/index.js';
|
|
11
11
|
import { PartialStateReference } from '../tx/partial_state_reference.js';
|
|
12
12
|
import { ConstantRollupData } from './constant_rollup_data.js';
|
|
13
13
|
import { PrivateBaseStateDiffHints } from './state_diff_hints.js';
|
|
@@ -39,7 +39,7 @@ export class PrivateBaseRollupHints {
|
|
|
39
39
|
/**
|
|
40
40
|
* Preimages to the kernel's contractClassLogsHashes.
|
|
41
41
|
*/
|
|
42
|
-
public contractClassLogsPreimages: Tuple<
|
|
42
|
+
public contractClassLogsPreimages: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>,
|
|
43
43
|
/**
|
|
44
44
|
* Data which is not modified by the base rollup circuit.
|
|
45
45
|
*/
|
|
@@ -86,7 +86,7 @@ export class PrivateBaseRollupHints {
|
|
|
86
86
|
reader.readObject(PrivateBaseStateDiffHints),
|
|
87
87
|
reader.readObject(PublicDataHint),
|
|
88
88
|
MembershipWitness.fromBuffer(reader, ARCHIVE_HEIGHT),
|
|
89
|
-
|
|
89
|
+
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
|
|
90
90
|
reader.readObject(ConstantRollupData),
|
|
91
91
|
);
|
|
92
92
|
}
|
|
@@ -102,7 +102,7 @@ export class PrivateBaseRollupHints {
|
|
|
102
102
|
PrivateBaseStateDiffHints.empty(),
|
|
103
103
|
PublicDataHint.empty(),
|
|
104
104
|
MembershipWitness.empty(ARCHIVE_HEIGHT),
|
|
105
|
-
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX,
|
|
105
|
+
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
|
|
106
106
|
ConstantRollupData.empty(),
|
|
107
107
|
);
|
|
108
108
|
}
|
|
@@ -121,7 +121,7 @@ export class PublicBaseRollupHints {
|
|
|
121
121
|
/**
|
|
122
122
|
* Preimages to the kernel's contractClassLogsHashes.
|
|
123
123
|
*/
|
|
124
|
-
public contractClassLogsPreimages: Tuple<
|
|
124
|
+
public contractClassLogsPreimages: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>,
|
|
125
125
|
/**
|
|
126
126
|
* Data which is not modified by the base rollup circuit.
|
|
127
127
|
*/
|
|
@@ -162,7 +162,7 @@ export class PublicBaseRollupHints {
|
|
|
162
162
|
return new PublicBaseRollupHints(
|
|
163
163
|
reader.readObject(SpongeBlob),
|
|
164
164
|
MembershipWitness.fromBuffer(reader, ARCHIVE_HEIGHT),
|
|
165
|
-
|
|
165
|
+
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
|
|
166
166
|
reader.readObject(ConstantRollupData),
|
|
167
167
|
);
|
|
168
168
|
}
|
|
@@ -175,7 +175,7 @@ export class PublicBaseRollupHints {
|
|
|
175
175
|
return new PublicBaseRollupHints(
|
|
176
176
|
SpongeBlob.empty(),
|
|
177
177
|
MembershipWitness.empty(ARCHIVE_HEIGHT),
|
|
178
|
-
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX,
|
|
178
|
+
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
|
|
179
179
|
ConstantRollupData.empty(),
|
|
180
180
|
);
|
|
181
181
|
}
|
|
@@ -36,6 +36,10 @@ export class BlockRootOrBlockMergePublicInputs {
|
|
|
36
36
|
* Note: Truncated to 31 bytes to fit in Fr.
|
|
37
37
|
*/
|
|
38
38
|
public outHash: Fr,
|
|
39
|
+
/**
|
|
40
|
+
* The hashes of the proposed block headers of the constituent blocks.
|
|
41
|
+
*/
|
|
42
|
+
public proposedBlockHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>,
|
|
39
43
|
/**
|
|
40
44
|
* The summed `transaction_fee`s and recipients of the constituent blocks.
|
|
41
45
|
*/
|
|
@@ -71,6 +75,7 @@ export class BlockRootOrBlockMergePublicInputs {
|
|
|
71
75
|
reader.readObject(GlobalVariables),
|
|
72
76
|
reader.readObject(GlobalVariables),
|
|
73
77
|
Fr.fromBuffer(reader),
|
|
78
|
+
reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr),
|
|
74
79
|
reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient),
|
|
75
80
|
Fr.fromBuffer(reader),
|
|
76
81
|
Fr.fromBuffer(reader),
|
|
@@ -90,6 +95,7 @@ export class BlockRootOrBlockMergePublicInputs {
|
|
|
90
95
|
this.startGlobalVariables,
|
|
91
96
|
this.endGlobalVariables,
|
|
92
97
|
this.outHash,
|
|
98
|
+
this.proposedBlockHeaderHashes,
|
|
93
99
|
this.fees,
|
|
94
100
|
this.vkTreeRoot,
|
|
95
101
|
this.protocolContractTreeRoot,
|
|
@@ -127,7 +133,10 @@ export class BlockRootOrBlockMergePublicInputs {
|
|
|
127
133
|
}
|
|
128
134
|
|
|
129
135
|
export class FeeRecipient {
|
|
130
|
-
constructor(
|
|
136
|
+
constructor(
|
|
137
|
+
public recipient: EthAddress,
|
|
138
|
+
public value: Fr,
|
|
139
|
+
) {}
|
|
131
140
|
|
|
132
141
|
static fromBuffer(buffer: Buffer | BufferReader): FeeRecipient {
|
|
133
142
|
const reader = BufferReader.asReader(buffer);
|
|
@@ -7,7 +7,10 @@ import { PrivateBaseRollupHints } from './base_rollup_hints.js';
|
|
|
7
7
|
import { PrivateTubeData } from './private_tube_data.js';
|
|
8
8
|
|
|
9
9
|
export class PrivateBaseRollupInputs {
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(
|
|
11
|
+
public tubeData: PrivateTubeData,
|
|
12
|
+
public hints: PrivateBaseRollupHints,
|
|
13
|
+
) {}
|
|
11
14
|
|
|
12
15
|
static from(fields: FieldsOf<PrivateBaseRollupInputs>): PrivateBaseRollupInputs {
|
|
13
16
|
return new PrivateBaseRollupInputs(...PrivateBaseRollupInputs.getFields(fields));
|
|
@@ -107,7 +107,10 @@ export class RootRollupPublicInputs {
|
|
|
107
107
|
public endTimestamp: Fr,
|
|
108
108
|
public endBlockNumber: Fr,
|
|
109
109
|
public outHash: Fr,
|
|
110
|
+
public proposedBlockHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>,
|
|
110
111
|
public fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>,
|
|
112
|
+
public chainId: Fr,
|
|
113
|
+
public version: Fr,
|
|
111
114
|
public vkTreeRoot: Fr,
|
|
112
115
|
public protocolContractTreeRoot: Fr,
|
|
113
116
|
public proverId: Fr,
|
|
@@ -121,7 +124,10 @@ export class RootRollupPublicInputs {
|
|
|
121
124
|
fields.endTimestamp,
|
|
122
125
|
fields.endBlockNumber,
|
|
123
126
|
fields.outHash,
|
|
127
|
+
fields.proposedBlockHeaderHashes,
|
|
124
128
|
fields.fees,
|
|
129
|
+
fields.chainId,
|
|
130
|
+
fields.version,
|
|
125
131
|
fields.vkTreeRoot,
|
|
126
132
|
fields.protocolContractTreeRoot,
|
|
127
133
|
fields.proverId,
|
|
@@ -154,10 +160,13 @@ export class RootRollupPublicInputs {
|
|
|
154
160
|
Fr.fromBuffer(reader),
|
|
155
161
|
Fr.fromBuffer(reader),
|
|
156
162
|
Fr.fromBuffer(reader),
|
|
163
|
+
reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr),
|
|
157
164
|
reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient),
|
|
158
165
|
Fr.fromBuffer(reader),
|
|
159
166
|
Fr.fromBuffer(reader),
|
|
160
167
|
Fr.fromBuffer(reader),
|
|
168
|
+
Fr.fromBuffer(reader),
|
|
169
|
+
Fr.fromBuffer(reader),
|
|
161
170
|
reader.readArray(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs),
|
|
162
171
|
);
|
|
163
172
|
}
|
|
@@ -188,10 +197,13 @@ export class RootRollupPublicInputs {
|
|
|
188
197
|
Fr.random(),
|
|
189
198
|
Fr.random(),
|
|
190
199
|
Fr.random(),
|
|
200
|
+
makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random),
|
|
191
201
|
makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random),
|
|
192
202
|
Fr.random(),
|
|
193
203
|
Fr.random(),
|
|
194
204
|
Fr.random(),
|
|
205
|
+
Fr.random(),
|
|
206
|
+
Fr.random(),
|
|
195
207
|
makeTuple(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs.empty),
|
|
196
208
|
);
|
|
197
209
|
}
|
|
@@ -10,7 +10,10 @@ import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
|
10
10
|
* 'usePublicTailVk' signifies if we should prove this with the public or private kernel tail client IVC VKs.
|
|
11
11
|
*/
|
|
12
12
|
export class TubeInputs {
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(
|
|
14
|
+
public usePublicTailVk: boolean,
|
|
15
|
+
public clientIVCData: ClientIvcProof,
|
|
16
|
+
) {}
|
|
14
17
|
|
|
15
18
|
static from(fields: FieldsOf<TubeInputs>): TubeInputs {
|
|
16
19
|
return new TubeInputs(...TubeInputs.getFields(fields));
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { UInt32 } from '../types/shared.js';
|
|
2
2
|
|
|
3
3
|
export class ScheduledDelayChange {
|
|
4
|
-
constructor(
|
|
4
|
+
constructor(
|
|
5
|
+
public pre: UInt32 | undefined,
|
|
6
|
+
public post: UInt32 | undefined,
|
|
7
|
+
public blockOfChange: UInt32,
|
|
8
|
+
) {}
|
|
5
9
|
|
|
6
10
|
static empty() {
|
|
7
11
|
return new this(undefined, undefined, 0);
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
2
|
|
|
3
3
|
export class ScheduledValueChange {
|
|
4
|
-
constructor(
|
|
4
|
+
constructor(
|
|
5
|
+
public previous: Fr[],
|
|
6
|
+
public post: Fr[],
|
|
7
|
+
public blockOfChange: number,
|
|
8
|
+
) {
|
|
5
9
|
if (this.previous.length !== this.post.length) {
|
|
6
10
|
throw new Error('Previous and post must have the same length');
|
|
7
11
|
}
|
|
@@ -9,7 +9,10 @@ import { ScheduledValueChange } from './scheduled_value_change.js';
|
|
|
9
9
|
export const SHARED_MUTABLE_VALUES_LEN = 2 * UPDATES_VALUE_SIZE + 1;
|
|
10
10
|
|
|
11
11
|
export class SharedMutableValues {
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(
|
|
13
|
+
public svc: ScheduledValueChange,
|
|
14
|
+
public sdc: ScheduledDelayChange,
|
|
15
|
+
) {}
|
|
13
16
|
|
|
14
17
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
15
18
|
const reader = FieldReader.asReader(fields);
|
|
@@ -2,8 +2,6 @@ import { fromEntries, getEntries, maxBy } from '@aztec/foundation/collection';
|
|
|
2
2
|
import { jsonParseWithSchemaSync } from '@aztec/foundation/json-rpc';
|
|
3
3
|
import type { ReadOnlyFileStore } from '@aztec/stdlib/file-store';
|
|
4
4
|
|
|
5
|
-
import { join } from 'path';
|
|
6
|
-
|
|
7
5
|
import {
|
|
8
6
|
SnapshotDataKeys,
|
|
9
7
|
type SnapshotDataUrls,
|
|
@@ -47,8 +45,9 @@ export function getSnapshotIndexPath(metadata: SnapshotsIndexMetadata): string {
|
|
|
47
45
|
return `${getBasePath(metadata)}/index.json`;
|
|
48
46
|
}
|
|
49
47
|
|
|
50
|
-
export function
|
|
51
|
-
|
|
48
|
+
export function makeSnapshotPaths(baseDir: string): SnapshotDataUrls {
|
|
49
|
+
// We do not use path.join since that screws up protocol prefixes
|
|
50
|
+
return fromEntries(SnapshotDataKeys.map(key => [key, `${baseDir}/${key}.db`]));
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
export async function downloadSnapshot(
|
package/src/snapshots/index.ts
CHANGED
package/src/snapshots/types.ts
CHANGED
|
@@ -35,6 +35,9 @@ export type SnapshotsIndex = SnapshotsIndexMetadata & {
|
|
|
35
35
|
snapshots: SnapshotMetadata[];
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
+
export type UploadSnapshotMetadata = Pick<SnapshotMetadata, 'l2BlockNumber' | 'l2BlockHash' | 'l1BlockNumber'> &
|
|
39
|
+
Pick<SnapshotsIndex, 'l1ChainId' | 'rollupVersion' | 'rollupAddress'>;
|
|
40
|
+
|
|
38
41
|
export const SnapshotsIndexSchema = z.object({
|
|
39
42
|
l1ChainId: z.number(),
|
|
40
43
|
rollupVersion: z.number(),
|
|
@@ -56,3 +59,12 @@ export const SnapshotsIndexSchema = z.object({
|
|
|
56
59
|
}),
|
|
57
60
|
),
|
|
58
61
|
}) satisfies ZodFor<SnapshotsIndex>;
|
|
62
|
+
|
|
63
|
+
export const UploadSnapshotMetadataSchema = z.object({
|
|
64
|
+
l2BlockNumber: z.number(),
|
|
65
|
+
l2BlockHash: z.string(),
|
|
66
|
+
l1BlockNumber: z.number(),
|
|
67
|
+
l1ChainId: z.number(),
|
|
68
|
+
rollupVersion: z.number(),
|
|
69
|
+
rollupAddress: schemas.EthAddress,
|
|
70
|
+
}) satisfies ZodFor<UploadSnapshotMetadata>;
|
package/src/snapshots/upload.ts
CHANGED
|
@@ -1,41 +1,49 @@
|
|
|
1
1
|
import { fromEntries, getEntries, pick } from '@aztec/foundation/collection';
|
|
2
2
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
|
+
import { isoDate } from '@aztec/foundation/string';
|
|
3
4
|
import type { FileStore } from '@aztec/stdlib/file-store';
|
|
4
5
|
|
|
5
6
|
import { getBasePath, getSnapshotIndex, getSnapshotIndexPath } from './download.js';
|
|
6
|
-
import type { SnapshotDataKeys, SnapshotMetadata, SnapshotsIndex } from './types.js';
|
|
7
|
+
import type { SnapshotDataKeys, SnapshotMetadata, SnapshotsIndex, UploadSnapshotMetadata } from './types.js';
|
|
7
8
|
|
|
8
|
-
export
|
|
9
|
-
Pick<SnapshotsIndex, 'l1ChainId' | 'rollupVersion' | 'rollupAddress'>;
|
|
10
|
-
|
|
11
|
-
export async function uploadSnapshot(
|
|
9
|
+
export async function uploadSnapshotData(
|
|
12
10
|
localPaths: Record<SnapshotDataKeys, string>,
|
|
13
11
|
schemaVersions: SnapshotMetadata['schemaVersions'],
|
|
14
12
|
metadata: UploadSnapshotMetadata,
|
|
15
13
|
store: FileStore,
|
|
14
|
+
opts: { pathFor?: (key: SnapshotDataKeys) => string; private?: boolean } = {},
|
|
16
15
|
): Promise<SnapshotMetadata> {
|
|
17
16
|
const timestamp = Date.now();
|
|
18
|
-
const date =
|
|
17
|
+
const date = isoDate();
|
|
19
18
|
const basePath = getBasePath(metadata);
|
|
20
|
-
const targetPathFor =
|
|
19
|
+
const targetPathFor =
|
|
20
|
+
opts.pathFor ?? ((key: SnapshotDataKeys) => `${basePath}/${key}-${date}-${metadata.l2BlockHash}.db`);
|
|
21
21
|
|
|
22
22
|
const dataUrls = fromEntries(
|
|
23
23
|
await Promise.all(
|
|
24
24
|
getEntries(localPaths).map(
|
|
25
25
|
async ([key, path]) =>
|
|
26
|
-
[key, await store.upload(targetPathFor(key), path, { compress: true, public:
|
|
26
|
+
[key, await store.upload(targetPathFor(key), path, { compress: true, public: !opts.private })] as const,
|
|
27
27
|
),
|
|
28
28
|
),
|
|
29
29
|
);
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const newSnapshotMetadata: SnapshotMetadata = {
|
|
31
|
+
return {
|
|
34
32
|
...pick(metadata, 'l1BlockNumber', 'l2BlockHash', 'l2BlockNumber'),
|
|
35
33
|
schemaVersions,
|
|
36
34
|
timestamp,
|
|
37
35
|
dataUrls,
|
|
38
36
|
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export async function uploadSnapshotToIndex(
|
|
40
|
+
localPaths: Record<SnapshotDataKeys, string>,
|
|
41
|
+
schemaVersions: SnapshotMetadata['schemaVersions'],
|
|
42
|
+
metadata: UploadSnapshotMetadata,
|
|
43
|
+
store: FileStore,
|
|
44
|
+
): Promise<SnapshotMetadata> {
|
|
45
|
+
const newSnapshotMetadata = await uploadSnapshotData(localPaths, schemaVersions, metadata, store);
|
|
46
|
+
const snapshotsIndex = (await getSnapshotIndex(metadata, store)) ?? createEmptyIndex(metadata);
|
|
39
47
|
snapshotsIndex.snapshots.unshift(newSnapshotMetadata);
|
|
40
48
|
|
|
41
49
|
await store.save(getSnapshotIndexPath(metadata), Buffer.from(jsonStringify(snapshotsIndex, true)), {
|
package/src/tests/factories.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
AVM_PROOF_LENGTH_IN_FIELDS,
|
|
5
5
|
AZTEC_MAX_EPOCH_DURATION,
|
|
6
6
|
BLOBS_PER_BLOCK,
|
|
7
|
-
|
|
7
|
+
CONTRACT_CLASS_LOG_SIZE_IN_FIELDS,
|
|
8
8
|
FIELDS_PER_BLOB,
|
|
9
9
|
FIXED_DA_GAS,
|
|
10
10
|
FIXED_L2_GAS,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
NUM_MSGS_PER_BASE_PARITY,
|
|
37
37
|
PRIVATE_LOG_SIZE_IN_FIELDS,
|
|
38
38
|
PUBLIC_DATA_TREE_HEIGHT,
|
|
39
|
-
|
|
39
|
+
PUBLIC_LOG_SIZE_IN_FIELDS,
|
|
40
40
|
RECURSIVE_PROOF_LENGTH,
|
|
41
41
|
TUBE_PROOF_LENGTH,
|
|
42
42
|
VK_TREE_HEIGHT,
|
|
@@ -108,7 +108,7 @@ import {
|
|
|
108
108
|
PrivateToRollupAccumulatedData,
|
|
109
109
|
mergeAccumulatedData,
|
|
110
110
|
} from '../kernel/index.js';
|
|
111
|
-
import { LogHash, ScopedLogHash } from '../kernel/log_hash.js';
|
|
111
|
+
import { CountedLogHash, LogHash, ScopedLogHash } from '../kernel/log_hash.js';
|
|
112
112
|
import { NoteHash } from '../kernel/note_hash.js';
|
|
113
113
|
import { Nullifier } from '../kernel/nullifier.js';
|
|
114
114
|
import { PrivateCallRequest } from '../kernel/private_call_request.js';
|
|
@@ -117,7 +117,7 @@ import { PrivateLogData } from '../kernel/private_log_data.js';
|
|
|
117
117
|
import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
|
|
118
118
|
import { CountedPublicCallRequest, PublicCallRequest } from '../kernel/public_call_request.js';
|
|
119
119
|
import { PublicKeys, computeAddress } from '../keys/index.js';
|
|
120
|
-
import {
|
|
120
|
+
import { ContractClassLogFields } from '../logs/index.js';
|
|
121
121
|
import { PrivateLog } from '../logs/private_log.js';
|
|
122
122
|
import { PublicLog } from '../logs/public_log.js';
|
|
123
123
|
import { L2ToL1Message, ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
@@ -178,7 +178,11 @@ import { mockTx } from './mocks.js';
|
|
|
178
178
|
* @returns A side effect object.
|
|
179
179
|
*/
|
|
180
180
|
function makeLogHash(seed: number) {
|
|
181
|
-
return new LogHash(fr(seed), seed + 1
|
|
181
|
+
return new LogHash(fr(seed), seed + 1);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
function makeCountedLogHash(seed: number) {
|
|
185
|
+
return new CountedLogHash(makeLogHash(seed), seed + 0x10);
|
|
182
186
|
}
|
|
183
187
|
|
|
184
188
|
function makeScopedLogHash(seed: number) {
|
|
@@ -193,16 +197,8 @@ function makeNullifier(seed: number) {
|
|
|
193
197
|
return new Nullifier(fr(seed), seed + 1, fr(seed + 2));
|
|
194
198
|
}
|
|
195
199
|
|
|
196
|
-
function makeContractClassLog(seed: number) {
|
|
197
|
-
// The '* 1' removes the 'Type instantiation is excessively deep and possibly infinite. ts(2589)' err
|
|
198
|
-
return new ContractClassLog(
|
|
199
|
-
makeAztecAddress(seed),
|
|
200
|
-
makeTuple(CONTRACT_CLASS_LOG_DATA_SIZE_IN_FIELDS * 1, fr, seed + 1),
|
|
201
|
-
);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
200
|
function makePrivateLog(seed: number) {
|
|
205
|
-
return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, fr, seed));
|
|
201
|
+
return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, fr, seed), PRIVATE_LOG_SIZE_IN_FIELDS);
|
|
206
202
|
}
|
|
207
203
|
|
|
208
204
|
function makePrivateLogData(seed: number) {
|
|
@@ -210,7 +206,11 @@ function makePrivateLogData(seed: number) {
|
|
|
210
206
|
}
|
|
211
207
|
|
|
212
208
|
function makePublicLog(seed: number) {
|
|
213
|
-
return new PublicLog(
|
|
209
|
+
return new PublicLog(
|
|
210
|
+
makeAztecAddress(seed),
|
|
211
|
+
makeTuple(PUBLIC_LOG_SIZE_IN_FIELDS, fr, seed + 1),
|
|
212
|
+
PUBLIC_LOG_SIZE_IN_FIELDS,
|
|
213
|
+
);
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
/**
|
|
@@ -548,6 +548,7 @@ export function makeTxRequest(seed = 1): TxRequest {
|
|
|
548
548
|
functionData: new FunctionData(makeSelector(seed + 0x100), /*isPrivate=*/ true),
|
|
549
549
|
argsHash: fr(seed + 0x200),
|
|
550
550
|
txContext: makeTxContext(seed + 0x400),
|
|
551
|
+
salt: fr(seed + 0x500),
|
|
551
552
|
});
|
|
552
553
|
}
|
|
553
554
|
|
|
@@ -577,7 +578,7 @@ export function makePrivateCircuitPublicInputs(seed = 0): PrivateCircuitPublicIn
|
|
|
577
578
|
publicTeardownCallRequest: makePublicCallRequest(seed + 0x800),
|
|
578
579
|
l2ToL1Msgs: makeTuple(MAX_L2_TO_L1_MSGS_PER_CALL, makeL2ToL1Message, seed + 0x800),
|
|
579
580
|
privateLogs: makeTuple(MAX_PRIVATE_LOGS_PER_CALL, makePrivateLogData, seed + 0x875),
|
|
580
|
-
contractClassLogsHashes: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX,
|
|
581
|
+
contractClassLogsHashes: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeCountedLogHash, seed + 0xa00),
|
|
581
582
|
startSideEffectCounter: fr(seed + 0x849),
|
|
582
583
|
endSideEffectCounter: fr(seed + 0x850),
|
|
583
584
|
historicalHeader: makeHeader(seed + 0xd00, undefined),
|
|
@@ -716,6 +717,7 @@ export function makeBlockRootOrBlockMergeRollupPublicInputs(
|
|
|
716
717
|
globalVariables ?? makeGlobalVariables(seed + 0x400),
|
|
717
718
|
globalVariables ?? makeGlobalVariables(seed + 0x500),
|
|
718
719
|
fr(seed + 0x600),
|
|
720
|
+
makeTuple(AZTEC_MAX_EPOCH_DURATION, () => fr(seed), 0x650),
|
|
719
721
|
makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x700),
|
|
720
722
|
fr(seed + 0x800),
|
|
721
723
|
fr(seed + 0x801),
|
|
@@ -884,10 +886,13 @@ export function makeRootRollupPublicInputs(seed = 0): RootRollupPublicInputs {
|
|
|
884
886
|
fr(seed + 0x300),
|
|
885
887
|
fr(seed + 0x400),
|
|
886
888
|
fr(seed + 0x500),
|
|
889
|
+
makeTuple(AZTEC_MAX_EPOCH_DURATION, () => fr(seed), 0x650),
|
|
887
890
|
makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x600),
|
|
888
891
|
fr(seed + 0x700),
|
|
889
892
|
fr(seed + 0x701),
|
|
890
893
|
fr(seed + 0x702),
|
|
894
|
+
fr(seed + 0x703),
|
|
895
|
+
fr(seed + 0x704),
|
|
891
896
|
makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeBlockBlobPublicInputs(seed), 0x800),
|
|
892
897
|
);
|
|
893
898
|
}
|
|
@@ -1077,6 +1082,10 @@ function makePrivateTubeData(seed = 1, kernelPublicInputs?: PrivateToRollupKerne
|
|
|
1077
1082
|
);
|
|
1078
1083
|
}
|
|
1079
1084
|
|
|
1085
|
+
function makeContractClassLogFields(seed = 1) {
|
|
1086
|
+
return new ContractClassLogFields(makeArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, fr, seed));
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1080
1089
|
function makePrivateBaseRollupHints(seed = 1) {
|
|
1081
1090
|
const start = makePartialStateReference(seed + 0x100);
|
|
1082
1091
|
|
|
@@ -1086,7 +1095,11 @@ function makePrivateBaseRollupHints(seed = 1) {
|
|
|
1086
1095
|
|
|
1087
1096
|
const archiveRootMembershipWitness = makeMembershipWitness(ARCHIVE_HEIGHT, seed + 0x9000);
|
|
1088
1097
|
|
|
1089
|
-
const contractClassLogsPreimages = makeTuple(
|
|
1098
|
+
const contractClassLogsPreimages = makeTuple(
|
|
1099
|
+
MAX_CONTRACT_CLASS_LOGS_PER_TX,
|
|
1100
|
+
makeContractClassLogFields,
|
|
1101
|
+
seed + 0x800,
|
|
1102
|
+
);
|
|
1090
1103
|
|
|
1091
1104
|
const constants = makeConstantRollupData(0x100);
|
|
1092
1105
|
|
|
@@ -1108,7 +1121,11 @@ function makePublicBaseRollupHints(seed = 1) {
|
|
|
1108
1121
|
|
|
1109
1122
|
const archiveRootMembershipWitness = makeMembershipWitness(ARCHIVE_HEIGHT, seed + 0x9000);
|
|
1110
1123
|
|
|
1111
|
-
const contractClassLogsPreimages = makeTuple(
|
|
1124
|
+
const contractClassLogsPreimages = makeTuple(
|
|
1125
|
+
MAX_CONTRACT_CLASS_LOGS_PER_TX,
|
|
1126
|
+
makeContractClassLogFields,
|
|
1127
|
+
seed + 0x800,
|
|
1128
|
+
);
|
|
1112
1129
|
|
|
1113
1130
|
const constants = makeConstantRollupData(0x100);
|
|
1114
1131
|
|
package/src/tests/mocks.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { MAX_ENQUEUED_CALLS_PER_TX } from '@aztec/constants';
|
|
2
|
+
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
3
|
import { times } from '@aztec/foundation/collection';
|
|
3
4
|
import { Secp256k1Signer, randomBytes } from '@aztec/foundation/crypto';
|
|
4
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
6
|
|
|
6
7
|
import type { ContractArtifact } from '../abi/abi.js';
|
|
7
8
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
9
|
+
import { L2Block } from '../block/l2_block.js';
|
|
10
|
+
import type { PublishedL2Block } from '../block/published_l2_block.js';
|
|
8
11
|
import { computeContractAddressFromInstance } from '../contract/contract_address.js';
|
|
9
12
|
import { getContractClassFromArtifact } from '../contract/contract_class.js';
|
|
10
13
|
import { SerializableContractInstance } from '../contract/contract_instance.js';
|
|
@@ -25,7 +28,14 @@ import { BlockProposal } from '../p2p/block_proposal.js';
|
|
|
25
28
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
26
29
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
|
|
27
30
|
import { ClientIvcProof } from '../proofs/client_ivc_proof.js';
|
|
28
|
-
import {
|
|
31
|
+
import {
|
|
32
|
+
BlockHeader,
|
|
33
|
+
HashedValues,
|
|
34
|
+
PrivateCallExecutionResult,
|
|
35
|
+
PrivateExecutionResult,
|
|
36
|
+
StateReference,
|
|
37
|
+
Tx,
|
|
38
|
+
} from '../tx/index.js';
|
|
29
39
|
import { PublicSimulationOutput } from '../tx/public_simulation_output.js';
|
|
30
40
|
import { TxSimulationResult, accumulatePrivateReturnValues } from '../tx/simulated_tx.js';
|
|
31
41
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
@@ -79,6 +89,10 @@ export const mockTx = async (
|
|
|
79
89
|
feePayer,
|
|
80
90
|
clientIvcProof = ClientIvcProof.empty(),
|
|
81
91
|
maxPriorityFeesPerGas,
|
|
92
|
+
chainId = Fr.ZERO,
|
|
93
|
+
version = Fr.ZERO,
|
|
94
|
+
vkTreeRoot = Fr.ZERO,
|
|
95
|
+
protocolContractTreeRoot = Fr.ZERO,
|
|
82
96
|
}: {
|
|
83
97
|
numberOfNonRevertiblePublicCallRequests?: number;
|
|
84
98
|
numberOfRevertiblePublicCallRequests?: number;
|
|
@@ -88,6 +102,10 @@ export const mockTx = async (
|
|
|
88
102
|
feePayer?: AztecAddress;
|
|
89
103
|
clientIvcProof?: ClientIvcProof;
|
|
90
104
|
maxPriorityFeesPerGas?: GasFees;
|
|
105
|
+
chainId?: Fr;
|
|
106
|
+
version?: Fr;
|
|
107
|
+
vkTreeRoot?: Fr;
|
|
108
|
+
protocolContractTreeRoot?: Fr;
|
|
91
109
|
} = {},
|
|
92
110
|
) => {
|
|
93
111
|
const totalPublicCallRequests =
|
|
@@ -102,6 +120,10 @@ export const mockTx = async (
|
|
|
102
120
|
maxPriorityFeesPerGas,
|
|
103
121
|
});
|
|
104
122
|
data.feePayer = feePayer ?? (await AztecAddress.random());
|
|
123
|
+
data.constants.txContext.chainId = chainId;
|
|
124
|
+
data.constants.txContext.version = version;
|
|
125
|
+
data.constants.vkTreeRoot = vkTreeRoot;
|
|
126
|
+
data.constants.protocolContractTreeRoot = protocolContractTreeRoot;
|
|
105
127
|
|
|
106
128
|
const publicFunctionCalldata: HashedValues[] = [];
|
|
107
129
|
if (!isForPublic) {
|
|
@@ -143,8 +165,8 @@ export const mockTx = async (
|
|
|
143
165
|
return new Tx(data, clientIvcProof, [], publicFunctionCalldata);
|
|
144
166
|
};
|
|
145
167
|
|
|
146
|
-
export const mockTxForRollup = (seed = 1) =>
|
|
147
|
-
mockTx(seed, { numberOfNonRevertiblePublicCallRequests: 0, numberOfRevertiblePublicCallRequests: 0 });
|
|
168
|
+
export const mockTxForRollup = (seed = 1, opts: Parameters<typeof mockTx>[1] = {}) =>
|
|
169
|
+
mockTx(seed, { ...opts, numberOfNonRevertiblePublicCallRequests: 0, numberOfRevertiblePublicCallRequests: 0 });
|
|
148
170
|
|
|
149
171
|
const emptyPrivateCallExecutionResult = () =>
|
|
150
172
|
new PrivateCallExecutionResult(
|
|
@@ -218,39 +240,76 @@ export interface MakeConsensusPayloadOptions {
|
|
|
218
240
|
signer?: Secp256k1Signer;
|
|
219
241
|
header?: BlockHeader;
|
|
220
242
|
archive?: Fr;
|
|
243
|
+
stateReference?: StateReference;
|
|
221
244
|
txHashes?: TxHash[];
|
|
245
|
+
txs?: Tx[];
|
|
222
246
|
}
|
|
223
247
|
|
|
224
248
|
const makeAndSignConsensusPayload = (
|
|
225
249
|
domainSeparator: SignatureDomainSeparator,
|
|
226
250
|
options?: MakeConsensusPayloadOptions,
|
|
227
251
|
) => {
|
|
252
|
+
const header = options?.header ?? makeHeader(1);
|
|
228
253
|
const {
|
|
229
254
|
signer = Secp256k1Signer.random(),
|
|
230
|
-
header = makeHeader(1),
|
|
231
255
|
archive = Fr.random(),
|
|
256
|
+
stateReference = header.state,
|
|
232
257
|
txHashes = [0, 1, 2, 3, 4, 5].map(() => TxHash.random()),
|
|
233
258
|
} = options ?? {};
|
|
234
259
|
|
|
235
260
|
const payload = ConsensusPayload.fromFields({
|
|
236
|
-
header,
|
|
261
|
+
header: header.toPropose(),
|
|
237
262
|
archive,
|
|
263
|
+
stateReference,
|
|
238
264
|
txHashes,
|
|
239
265
|
});
|
|
240
266
|
|
|
241
267
|
const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
|
|
242
268
|
const signature = signer.sign(hash);
|
|
243
269
|
|
|
244
|
-
return { payload, signature };
|
|
270
|
+
return { blockNumber: header.globalVariables.blockNumber, payload, signature };
|
|
245
271
|
};
|
|
246
272
|
|
|
247
273
|
export const makeBlockProposal = (options?: MakeConsensusPayloadOptions): BlockProposal => {
|
|
248
|
-
const { payload, signature } = makeAndSignConsensusPayload(
|
|
249
|
-
|
|
274
|
+
const { blockNumber, payload, signature } = makeAndSignConsensusPayload(
|
|
275
|
+
SignatureDomainSeparator.blockProposal,
|
|
276
|
+
options,
|
|
277
|
+
);
|
|
278
|
+
return new BlockProposal(blockNumber, payload, signature, options?.txs ?? []);
|
|
250
279
|
};
|
|
251
280
|
|
|
252
281
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/8028)
|
|
253
282
|
export const makeBlockAttestation = (options?: MakeConsensusPayloadOptions): BlockAttestation => {
|
|
254
|
-
const { payload, signature } = makeAndSignConsensusPayload(
|
|
255
|
-
|
|
283
|
+
const { blockNumber, payload, signature } = makeAndSignConsensusPayload(
|
|
284
|
+
SignatureDomainSeparator.blockAttestation,
|
|
285
|
+
options,
|
|
286
|
+
);
|
|
287
|
+
return new BlockAttestation(blockNumber, payload, signature);
|
|
256
288
|
};
|
|
289
|
+
|
|
290
|
+
export async function randomPublishedL2Block(
|
|
291
|
+
l2BlockNumber: number,
|
|
292
|
+
opts: { signers?: Secp256k1Signer[] } = {},
|
|
293
|
+
): Promise<PublishedL2Block> {
|
|
294
|
+
const block = await L2Block.random(l2BlockNumber);
|
|
295
|
+
const l1 = {
|
|
296
|
+
blockNumber: BigInt(block.number),
|
|
297
|
+
timestamp: block.header.globalVariables.timestamp.toBigInt(),
|
|
298
|
+
blockHash: Buffer32.random().toString(),
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
const signers = opts.signers ?? times(3, () => Secp256k1Signer.random());
|
|
302
|
+
const attestations = await Promise.all(
|
|
303
|
+
signers.map(signer =>
|
|
304
|
+
makeBlockAttestation({
|
|
305
|
+
signer,
|
|
306
|
+
header: block.header,
|
|
307
|
+
archive: block.archive.root,
|
|
308
|
+
stateReference: block.header.state,
|
|
309
|
+
txHashes: block.body.txEffects.map(tx => tx.txHash),
|
|
310
|
+
}),
|
|
311
|
+
),
|
|
312
|
+
);
|
|
313
|
+
const signatures = attestations.map(attestation => attestation.signature);
|
|
314
|
+
return { block, l1, signatures };
|
|
315
|
+
}
|
package/src/tx/block_header.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { z } from 'zod';
|
|
|
12
12
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
13
13
|
import { ContentCommitment } from './content_commitment.js';
|
|
14
14
|
import { GlobalVariables } from './global_variables.js';
|
|
15
|
+
import { ProposedBlockHeader } from './proposed_block_header.js';
|
|
15
16
|
import { StateReference } from './state_reference.js';
|
|
16
17
|
|
|
17
18
|
/** A header of an L2 block. */
|
|
@@ -64,8 +65,8 @@ export class BlockHeader {
|
|
|
64
65
|
return this.globalVariables.slotNumber.toBigInt();
|
|
65
66
|
}
|
|
66
67
|
|
|
67
|
-
getBlockNumber()
|
|
68
|
-
return
|
|
68
|
+
getBlockNumber() {
|
|
69
|
+
return this.globalVariables.blockNumber.toNumber();
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
getSize() {
|
|
@@ -160,6 +161,19 @@ export class BlockHeader {
|
|
|
160
161
|
return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HASH);
|
|
161
162
|
}
|
|
162
163
|
|
|
164
|
+
toPropose(): ProposedBlockHeader {
|
|
165
|
+
return new ProposedBlockHeader(
|
|
166
|
+
this.lastArchive.root,
|
|
167
|
+
this.contentCommitment,
|
|
168
|
+
this.globalVariables.slotNumber,
|
|
169
|
+
this.globalVariables.timestamp.toBigInt(),
|
|
170
|
+
this.globalVariables.coinbase,
|
|
171
|
+
this.globalVariables.feeRecipient,
|
|
172
|
+
this.globalVariables.gasFees,
|
|
173
|
+
this.totalManaUsed,
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
|
|
163
177
|
toInspect() {
|
|
164
178
|
return {
|
|
165
179
|
lastArchive: this.lastArchive.root.toString(),
|