@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.d3ec352c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +92 -107
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +2 -2
- package/dest/abi/authorization_selector.d.ts +1 -1
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.js +3 -3
- package/dest/abi/decoder.d.ts +1 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/event_metadata_definition.d.ts +1 -1
- package/dest/abi/event_selector.d.ts +1 -1
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +1 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +1 -1
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/index.d.ts +1 -1
- package/dest/abi/mocked_keys.d.ts +1 -1
- package/dest/abi/note_selector.d.ts +1 -1
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/selector.d.ts +1 -1
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/auth_witness/auth_witness.d.ts +1 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +4356 -2061
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +529 -16
- package/dest/avm/avm_accumulated_data.d.ts +25 -36
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +18 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts +160 -148
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +9 -0
- package/dest/avm/avm_proving_request.d.ts +2031 -1507
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +1 -13
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +1 -13
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/message_pack.d.ts +2 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +3 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +1 -10
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +1 -10
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +13 -11
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +9 -0
- package/dest/avm/public_inner_call_request.d.ts +1 -4
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +16 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +24 -8
- package/dest/aztec-address/index.d.ts +10 -1
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +24 -2
- package/dest/block/attestation_info.d.ts +3 -1
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +4 -1
- package/dest/block/block_hash.d.ts +1 -1
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_parameter.d.ts +5 -0
- package/dest/block/block_parameter.d.ts.map +1 -0
- package/dest/block/block_parameter.js +6 -0
- package/dest/block/body.d.ts +8 -8
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +11 -27
- package/dest/block/in_block.d.ts +14 -19
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +3 -3
- package/dest/block/index.d.ts +3 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -1
- package/dest/block/l2_block.d.ts +18 -10
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +56 -5
- package/dest/block/l2_block_code_to_purge.d.ts +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +6 -5
- package/dest/block/l2_block_header.d.ts +12 -14
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +18 -11
- package/dest/block/l2_block_info.d.ts +21 -16
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +7 -6
- package/dest/block/l2_block_new.d.ts +110 -0
- package/dest/block/l2_block_new.d.ts.map +1 -0
- package/dest/block/l2_block_new.js +138 -0
- package/dest/block/l2_block_source.d.ts +71 -104
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +5 -11
- package/dest/block/l2_block_stream/index.d.ts +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +4 -3
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -2
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +4 -2
- package/dest/block/proposal/attestations_and_signers.d.ts +16 -5
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +14 -0
- package/dest/block/proposal/committee_attestation.d.ts +1 -1
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +1 -1
- package/dest/block/published_l2_block.d.ts +15 -28
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +12 -27
- package/dest/block/test/index.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +6 -4
- package/dest/block/validate_block_result.d.ts +6 -178
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +4 -3
- package/dest/checkpoint/checkpoint.d.ts +124 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +62 -0
- package/dest/checkpoint/index.d.ts +3 -2
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -1
- package/dest/checkpoint/published_checkpoint.d.ts +214 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/published_checkpoint.js +71 -0
- package/dest/config/chain-config.d.ts +1 -1
- package/dest/config/index.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts +1 -1
- package/dest/contract/artifact_hash.d.ts +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/complete_address.d.ts +1 -4
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class_id.d.ts +1 -1
- package/dest/contract/contract_class_metadata.d.ts +1 -1
- package/dest/contract/contract_deployment_data.d.ts +119 -0
- package/dest/contract/contract_deployment_data.d.ts.map +1 -0
- package/dest/contract/contract_deployment_data.js +99 -0
- package/dest/contract/contract_function_dao.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.d.ts +1 -1
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_metadata.d.ts +1 -1
- package/dest/contract/deployment_info.d.ts +1 -1
- package/dest/contract/index.d.ts +2 -1
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +1 -0
- package/dest/contract/interfaces/contract_class.d.ts +41 -122
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -2
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +11 -11
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
- package/dest/contract/interfaces/index.d.ts +1 -1
- package/dest/contract/interfaces/node-info.d.ts +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
- package/dest/contract/partial_address.d.ts +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.d.ts +2 -2
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/contract/utility_function_membership_proof.d.ts +1 -1
- package/dest/database-version/index.d.ts +1 -1
- package/dest/database-version/version_manager.d.ts +6 -8
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
- package/dest/delayed_public_mutable/index.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/epoch-helpers/index.d.ts +12 -11
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +10 -9
- package/dest/errors/index.d.ts +1 -1
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts +1 -1
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/fees/index.d.ts +1 -1
- package/dest/fees/transaction_fee.d.ts +1 -1
- package/dest/file-store/factory.d.ts +1 -1
- package/dest/file-store/gcs.d.ts +1 -1
- package/dest/file-store/gcs.d.ts.map +1 -1
- package/dest/file-store/http.d.ts +1 -1
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +8 -3
- package/dest/file-store/index.d.ts +1 -1
- package/dest/file-store/interface.d.ts +1 -1
- package/dest/file-store/local.d.ts +1 -1
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +3 -7
- package/dest/gas/gas.d.ts +9 -1
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +12 -0
- package/dest/gas/gas_fees.d.ts +9 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +12 -0
- package/dest/gas/gas_settings.d.ts +9 -1
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +12 -0
- package/dest/gas/gas_used.d.ts +13 -2
- package/dest/gas/gas_used.d.ts.map +1 -1
- package/dest/gas/gas_used.js +19 -1
- package/dest/gas/index.d.ts +1 -1
- package/dest/hash/hash.d.ts +11 -3
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +11 -1
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/interfaces/allowed_element.d.ts +5 -5
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts +6 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +22 -14
- package/dest/interfaces/aztec-node-admin.d.ts +92 -85
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +30 -24
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +26 -24
- package/dest/interfaces/block-builder.d.ts +3 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/client.d.ts +1 -1
- package/dest/interfaces/configs.d.ts +31 -21
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -1
- package/dest/interfaces/epoch-prover.d.ts +7 -7
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +6 -4
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +4 -3
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +5 -4
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
- package/dest/interfaces/p2p.d.ts +3 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +1 -1
- package/dest/interfaces/private_kernel_prover.d.ts +1 -1
- package/dest/interfaces/processed-tx-handler.d.ts +1 -1
- package/dest/interfaces/prover-agent.d.ts +1 -1
- package/dest/interfaces/prover-broker.d.ts +1 -1
- package/dest/interfaces/prover-client.d.ts +5 -5
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-coordination.d.ts +1 -1
- package/dest/interfaces/prover-node.d.ts +1 -1
- package/dest/interfaces/proving-job-source.d.ts +1 -1
- package/dest/interfaces/proving-job.d.ts +1680 -1163
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +3 -2
- package/dest/interfaces/public_state_source.d.ts +1 -1
- package/dest/interfaces/server.d.ts +1 -1
- package/dest/interfaces/server_circuit_prover.d.ts +2 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +1 -1
- package/dest/interfaces/slasher.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +27 -19
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +2 -1
- package/dest/interfaces/world_state.d.ts +9 -26
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/interfaces/world_state.js +4 -3
- package/dest/kernel/claimed_length_array.d.ts +1 -1
- package/dest/kernel/claimed_length_array.d.ts.map +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +2 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/hints/index.d.ts +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +1 -2
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
- package/dest/kernel/hints/read_request.d.ts +1 -7
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +1 -7
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.d.ts +1 -1
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +1 -1
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.d.ts +1 -1
- package/dest/kernel/padded_side_effects.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +1 -23
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +1 -25
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +1 -16
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +17 -5
- package/dest/kernel/private_context_inputs.d.ts +1 -1
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
- package/dest/kernel/private_kernel_data.d.ts +1 -7
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +0 -2
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.d.ts +2 -24
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +5 -13
- package/dest/kernel/public_call_request.d.ts +22 -27
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +18 -0
- package/dest/kernel/utils/index.d.ts +1 -1
- package/dest/kernel/utils/interfaces.d.ts +1 -1
- package/dest/kernel/utils/optional_number.d.ts +1 -7
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
- package/dest/keys/derivation.d.ts +1 -1
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +1 -1
- package/dest/keys/public_key.d.ts +1 -1
- package/dest/keys/public_keys.d.ts +9 -5
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +12 -0
- package/dest/keys/utils.d.ts +1 -1
- package/dest/l1-contracts/index.d.ts +1 -1
- package/dest/l1-contracts/slash_factory.d.ts +3 -3
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/logs/contract_class_log.d.ts +20 -4
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +24 -0
- package/dest/logs/debug_log.d.ts +10 -2
- package/dest/logs/debug_log.d.ts.map +1 -1
- package/dest/logs/debug_log.js +13 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/extended_contract_class_log.d.ts +1 -3
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +7 -7
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +1 -1
- package/dest/logs/log_filter.d.ts +1 -1
- package/dest/logs/log_id.d.ts +8 -8
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +5 -4
- package/dest/logs/log_with_tx_data.d.ts +1 -1
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/message_context.d.ts +1 -1
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.d.ts +1 -1
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pre_tag.d.ts +1 -1
- package/dest/logs/private_log.d.ts +10 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +14 -5
- package/dest/logs/public_log.d.ts +9 -1
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +9 -0
- package/dest/logs/shared_secret_derivation.d.ts +1 -1
- package/dest/logs/tx_scoped_l2_log.d.ts +14 -11
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +4 -3
- package/dest/messaging/in_hash.d.ts +4 -0
- package/dest/messaging/in_hash.d.ts.map +1 -0
- package/dest/messaging/in_hash.js +8 -0
- package/dest/messaging/inbox_leaf.d.ts +1 -3
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/index.d.ts +3 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +2 -0
- package/dest/messaging/l1_actor.d.ts +1 -7
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +1 -6
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message_source.d.ts +10 -3
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +1 -7
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +4 -3
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +2 -2
- package/dest/messaging/l2_to_l1_message.d.ts +17 -1
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +18 -0
- package/dest/messaging/out_hash.d.ts +5 -0
- package/dest/messaging/out_hash.d.ts.map +1 -0
- package/dest/messaging/out_hash.js +28 -0
- package/dest/noir/index.d.ts +7 -7
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +6 -6
- package/dest/note/comparator.d.ts +1 -1
- package/dest/note/index.d.ts +2 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -1
- package/dest/note/note.d.ts +2 -17
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +75 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +106 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/note/notes_filter.d.ts +3 -1
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +1 -0
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/block_attestation.d.ts +5 -12
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +3 -6
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -1
- package/dest/p2p/client_type.d.ts +1 -1
- package/dest/p2p/consensus_payload.d.ts +10 -188
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +16 -23
- package/dest/p2p/gossipable.d.ts +6 -5
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +16 -10
- package/dest/p2p/index.d.ts +1 -1
- package/dest/p2p/interface.d.ts +1 -1
- package/dest/p2p/message_validator.d.ts +1 -1
- package/dest/p2p/peer_error.d.ts +1 -1
- package/dest/p2p/signature_utils.d.ts +1 -1
- package/dest/p2p/topic_type.d.ts +1 -1
- package/dest/parity/index.d.ts +1 -1
- package/dest/parity/parity_base_private_inputs.d.ts +1 -3
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +1 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +1 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/index.d.ts +1 -1
- package/dest/proofs/proof.d.ts +1 -4
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof_data.d.ts +1 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.d.ts +1 -1
- package/dest/proofs/recursive_proof.d.ts +2 -26
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +1 -34
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +1 -12
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +4 -0
- package/dest/rollup/block_headers_hash.d.ts.map +1 -0
- package/dest/rollup/block_headers_hash.js +9 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +8 -2
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
- package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +27 -3
- package/dest/rollup/checkpoint_header.d.ts +16 -14
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +40 -13
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
- package/dest/rollup/epoch_constant_data.d.ts +1 -16
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/index.d.ts +2 -1
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +86 -15
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +12 -1
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +5 -4
- package/dest/slashing/helpers.d.ts +7 -6
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +8 -6
- package/dest/slashing/index.d.ts +1 -1
- package/dest/slashing/interfaces.d.ts +3 -2
- package/dest/slashing/interfaces.d.ts.map +1 -1
- package/dest/slashing/serialization.d.ts +1 -1
- package/dest/slashing/tally.d.ts +1 -1
- package/dest/slashing/types.d.ts +10 -10
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/types.d.ts +18 -18
- package/dest/snapshots/upload.d.ts +1 -1
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +1 -1
- package/dest/tests/factories.d.ts +34 -29
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +76 -151
- package/dest/tests/fixtures.d.ts +1 -1
- package/dest/tests/index.d.ts +1 -1
- package/dest/tests/jest.d.ts +1 -1
- package/dest/tests/mocks.d.ts +54 -23
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +135 -34
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +9 -9
- package/dest/trees/database_public_state_source.d.ts +1 -1
- package/dest/trees/database_public_state_source.d.ts.map +1 -1
- package/dest/trees/index.d.ts +1 -1
- package/dest/trees/merkle_tree_id.d.ts +5 -5
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +17 -13
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +24 -0
- package/dest/trees/nullifier_membership_witness.d.ts +4 -37
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +28 -27
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +24 -0
- package/dest/trees/public_data_witness.d.ts +11 -45
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +7 -14
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +13 -2
- package/dest/tx/call_context.d.ts +6 -18
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +1 -4
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/content_commitment.d.ts +3 -2
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +10 -2
- package/dest/tx/execution_payload.d.ts +37 -0
- package/dest/tx/execution_payload.d.ts.map +1 -0
- package/dest/tx/execution_payload.js +40 -0
- package/dest/tx/function_data.d.ts +4 -6
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +3 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +52 -31
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +50 -10
- package/dest/tx/hashed_values.d.ts +1 -7
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +9 -6
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +5 -2
- package/dest/tx/offchain_effect.d.ts +1 -1
- package/dest/tx/partial_state_reference.d.ts +4 -7
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +10 -10
- package/dest/tx/private_execution_result.d.ts +16 -51
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -3
- package/dest/tx/private_tx_constant_data.d.ts +1 -16
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/processed_tx.d.ts +2 -2
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +4 -1
- package/dest/tx/profiling.d.ts +38 -38
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +5 -4
- package/dest/tx/protocol_contracts.d.ts +10 -2
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +9 -0
- package/dest/tx/proven_tx.d.ts +18 -18
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +12 -0
- package/dest/tx/public_simulation_output.d.ts +3 -1
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +8 -1
- package/dest/tx/simulated_tx.d.ts +21 -21
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +10 -12
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +9 -9
- package/dest/tx/tree_snapshots.d.ts +15 -7
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +9 -0
- package/dest/tx/tx.d.ts +4 -18
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +6 -4
- package/dest/tx/tx_constant_data.d.ts +1 -1
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_context.d.ts +1 -2
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +20 -42
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +54 -59
- package/dest/tx/tx_execution_request.d.ts +1 -30
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_hash.d.ts +1 -2
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +4 -9
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +2 -1
- package/dest/tx/tx_request.d.ts +1 -6
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/validator/empty_validator.d.ts +1 -1
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +1 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -5
- package/dest/types/index.d.ts +1 -1
- package/dest/types/shared.d.ts +1 -4
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +1 -1
- package/dest/update-checker/update-checker.d.ts +2 -3
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/validators/errors.d.ts +6 -7
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +2 -4
- package/dest/validators/index.d.ts +1 -1
- package/dest/validators/schemas.d.ts +266 -208
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +7 -7
- package/dest/validators/types.d.ts +10 -9
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/index.d.ts +1 -1
- package/dest/versioning/versioning.d.ts +1 -1
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +10 -22
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +20 -0
- package/dest/vks/vk_data.d.ts +1 -7
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/world-state/index.d.ts +1 -1
- package/dest/world-state/world_state_revision.d.ts +34 -2
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +24 -1
- package/dest/zkpassport/index.d.ts +1 -1
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/abi/abi.ts +4 -4
- package/src/abi/contract_artifact.ts +3 -3
- package/src/avm/avm.ts +777 -6
- package/src/avm/avm_accumulated_data.ts +40 -0
- package/src/avm/avm_circuit_public_inputs.ts +40 -0
- package/src/avm/message_pack.ts +4 -1
- package/src/avm/public_data_write.ts +12 -1
- package/src/avm/revert_code.ts +29 -9
- package/src/aztec-address/index.ts +26 -2
- package/src/block/attestation_info.ts +8 -1
- package/src/block/block_parameter.ts +8 -0
- package/src/block/body.ts +16 -39
- package/src/block/in_block.ts +13 -9
- package/src/block/index.ts +2 -1
- package/src/block/l2_block.ts +70 -7
- package/src/block/l2_block_code_to_purge.ts +6 -4
- package/src/block/l2_block_header.ts +19 -5
- package/src/block/l2_block_info.ts +10 -9
- package/src/block/l2_block_new.ts +176 -0
- package/src/block/l2_block_source.ts +48 -29
- package/src/block/l2_block_stream/l2_block_stream.ts +10 -5
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -2
- package/src/block/proposal/attestations_and_signers.ts +20 -1
- package/src/block/published_l2_block.ts +14 -31
- package/src/block/test/l2_tips_store_test_suite.ts +8 -3
- package/src/block/validate_block_result.ts +9 -7
- package/src/checkpoint/checkpoint.ts +88 -0
- package/src/checkpoint/index.ts +2 -1
- package/src/checkpoint/published_checkpoint.ts +91 -0
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/index.ts +1 -0
- package/src/contract/interfaces/contract_data_source.ts +2 -1
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/epoch-helpers/index.ts +28 -21
- package/src/file-store/http.ts +6 -3
- package/src/file-store/s3.ts +3 -7
- package/src/gas/gas.ts +14 -0
- package/src/gas/gas_fees.ts +14 -0
- package/src/gas/gas_settings.ts +19 -0
- package/src/gas/gas_used.ts +22 -1
- package/src/hash/hash.ts +13 -2
- package/src/interfaces/archiver.ts +27 -13
- package/src/interfaces/aztec-node.ts +64 -48
- package/src/interfaces/block-builder.ts +2 -1
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/epoch-prover.ts +5 -6
- package/src/interfaces/l2_logs_source.ts +3 -2
- package/src/interfaces/merkle_tree_operations.ts +4 -3
- package/src/interfaces/p2p.ts +4 -2
- package/src/interfaces/proving-job.ts +14 -5
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +5 -2
- package/src/interfaces/world_state.ts +12 -11
- package/src/kernel/hints/build_transient_data_hints.ts +2 -2
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/private_circuit_public_inputs.ts +29 -9
- package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
- package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
- package/src/kernel/private_validation_requests.ts +1 -13
- package/src/kernel/public_call_request.ts +27 -0
- package/src/keys/public_keys.ts +19 -0
- package/src/logs/contract_class_log.ts +32 -0
- package/src/logs/debug_log.ts +20 -1
- package/src/logs/log_id.ts +6 -5
- package/src/logs/private_log.ts +19 -3
- package/src/logs/public_log.ts +14 -0
- package/src/logs/tx_scoped_l2_log.ts +5 -4
- package/src/messaging/in_hash.ts +10 -0
- package/src/messaging/index.ts +2 -0
- package/src/messaging/l1_to_l2_message_source.ts +10 -2
- package/src/messaging/l2_to_l1_membership.ts +5 -4
- package/src/messaging/l2_to_l1_message.ts +25 -0
- package/src/messaging/out_hash.ts +36 -0
- package/src/noir/index.ts +6 -6
- package/src/note/index.ts +1 -1
- package/src/note/note_dao.ts +161 -0
- package/src/note/notes_filter.ts +3 -0
- package/src/p2p/block_attestation.ts +2 -1
- package/src/p2p/block_proposal.ts +3 -2
- package/src/p2p/consensus_payload.ts +16 -26
- package/src/p2p/gossipable.ts +17 -8
- package/src/rollup/block_headers_hash.ts +12 -0
- package/src/rollup/block_rollup_public_inputs.ts +8 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
- package/src/rollup/checkpoint_constant_data.ts +43 -4
- package/src/rollup/checkpoint_header.ts +48 -22
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
- package/src/rollup/index.ts +1 -0
- package/src/schemas/schemas.ts +18 -0
- package/src/slashing/empire.ts +6 -4
- package/src/slashing/helpers.ts +17 -12
- package/src/slashing/interfaces.ts +3 -1
- package/src/tests/factories.ts +213 -229
- package/src/tests/mocks.ts +230 -51
- package/src/trees/append_only_tree_snapshot.ts +11 -12
- package/src/trees/nullifier_leaf.ts +32 -0
- package/src/trees/public_data_leaf.ts +32 -0
- package/src/tx/block_header.ts +17 -4
- package/src/tx/content_commitment.ts +11 -2
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/global_variable_builder.ts +2 -1
- package/src/tx/global_variables.ts +69 -15
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +5 -4
- package/src/tx/partial_state_reference.ts +9 -17
- package/src/tx/private_execution_result.ts +7 -4
- package/src/tx/processed_tx.ts +8 -2
- package/src/tx/profiling.ts +4 -6
- package/src/tx/protocol_contracts.ts +16 -0
- package/src/tx/public_call_request_with_calldata.ts +17 -0
- package/src/tx/public_simulation_output.ts +18 -1
- package/src/tx/state_reference.ts +9 -15
- package/src/tx/tree_snapshots.ts +16 -0
- package/src/tx/tx.ts +7 -6
- package/src/tx/tx_effect.ts +84 -90
- package/src/tx/tx_receipt.ts +3 -2
- package/src/validators/errors.ts +3 -4
- package/src/validators/schemas.ts +7 -7
- package/src/validators/types.ts +9 -8
- package/src/vks/verification_key.ts +25 -0
- package/src/world-state/world_state_revision.ts +47 -5
- package/dest/block/l2_block_number.d.ts +0 -5
- package/dest/block/l2_block_number.d.ts.map +0 -1
- package/dest/block/l2_block_number.js +0 -6
- package/dest/checkpoint/checkpoint_body.d.ts +0 -4
- package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
- package/dest/checkpoint/checkpoint_body.js +0 -9
- package/dest/note/unique_note.d.ts +0 -43
- package/dest/note/unique_note.d.ts.map +0 -1
- package/dest/note/unique_note.js +0 -67
- package/src/block/l2_block_number.ts +0 -8
- package/src/checkpoint/checkpoint_body.ts +0 -10
- package/src/note/unique_note.ts +0 -88
package/dest/avm/avm.js
CHANGED
|
@@ -1,29 +1,41 @@
|
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
1
3
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { z } from 'zod';
|
|
5
|
+
import { FunctionSelector } from '../abi/index.js';
|
|
4
6
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
7
|
+
import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
|
|
8
|
+
import { SimulationError } from '../errors/simulation_error.js';
|
|
5
9
|
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
6
10
|
import { Gas } from '../gas/gas.js';
|
|
7
11
|
import { GasFees } from '../gas/gas_fees.js';
|
|
8
12
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
13
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
9
14
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
15
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
10
16
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
17
|
+
import { NullishToUndefined, schemas } from '../schemas/schemas.js';
|
|
11
18
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
12
19
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
13
|
-
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
14
|
-
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
15
|
-
import { GlobalVariables, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
20
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
21
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
22
|
+
import { GlobalVariables, NestedProcessReturnValues, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
23
|
+
import { TxExecutionPhase } from '../tx/processed_tx.js';
|
|
24
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
16
25
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
17
26
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
27
|
+
import { RevertCode } from './revert_code.js';
|
|
18
28
|
////////////////////////////////////////////////////////////////////////////
|
|
19
29
|
// Hints (contracts)
|
|
20
30
|
////////////////////////////////////////////////////////////////////////////
|
|
21
31
|
export class AvmContractClassHint {
|
|
32
|
+
hintKey;
|
|
22
33
|
classId;
|
|
23
34
|
artifactHash;
|
|
24
35
|
privateFunctionsRoot;
|
|
25
36
|
packedBytecode;
|
|
26
|
-
constructor(classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
37
|
+
constructor(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
38
|
+
this.hintKey = hintKey;
|
|
27
39
|
this.classId = classId;
|
|
28
40
|
this.artifactHash = artifactHash;
|
|
29
41
|
this.privateFunctionsRoot = privateFunctionsRoot;
|
|
@@ -31,28 +43,57 @@ export class AvmContractClassHint {
|
|
|
31
43
|
}
|
|
32
44
|
static get schema() {
|
|
33
45
|
return z.object({
|
|
46
|
+
hintKey: z.number().int().nonnegative(),
|
|
34
47
|
classId: schemas.Fr,
|
|
35
48
|
artifactHash: schemas.Fr,
|
|
36
49
|
privateFunctionsRoot: schemas.Fr,
|
|
37
50
|
packedBytecode: schemas.Buffer
|
|
38
|
-
}).transform(({ classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
51
|
+
}).transform(({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Creates an AvmContractClassHint from a plain object without Zod validation.
|
|
55
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
56
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
57
|
+
* @param obj - Plain object containing AvmContractClassHint fields
|
|
58
|
+
* @returns An AvmContractClassHint instance
|
|
59
|
+
*/ static fromPlainObject(obj) {
|
|
60
|
+
if (obj instanceof AvmContractClassHint) {
|
|
61
|
+
return obj;
|
|
62
|
+
}
|
|
63
|
+
return new AvmContractClassHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.artifactHash), Fr.fromPlainObject(obj.privateFunctionsRoot), obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode));
|
|
39
64
|
}
|
|
40
65
|
}
|
|
41
66
|
export class AvmBytecodeCommitmentHint {
|
|
67
|
+
hintKey;
|
|
42
68
|
classId;
|
|
43
69
|
commitment;
|
|
44
|
-
constructor(classId, commitment){
|
|
70
|
+
constructor(hintKey, classId, commitment){
|
|
71
|
+
this.hintKey = hintKey;
|
|
45
72
|
this.classId = classId;
|
|
46
73
|
this.commitment = commitment;
|
|
47
74
|
}
|
|
48
75
|
static get schema() {
|
|
49
76
|
return z.object({
|
|
77
|
+
hintKey: z.number().int().nonnegative(),
|
|
50
78
|
classId: schemas.Fr,
|
|
51
79
|
commitment: schemas.Fr
|
|
52
|
-
}).transform(({ classId, commitment })=>new AvmBytecodeCommitmentHint(classId, commitment));
|
|
80
|
+
}).transform(({ hintKey, classId, commitment })=>new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
|
|
84
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
85
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
86
|
+
* @param obj - Plain object containing AvmBytecodeCommitmentHint fields
|
|
87
|
+
* @returns An AvmBytecodeCommitmentHint instance
|
|
88
|
+
*/ static fromPlainObject(obj) {
|
|
89
|
+
if (obj instanceof AvmBytecodeCommitmentHint) {
|
|
90
|
+
return obj;
|
|
91
|
+
}
|
|
92
|
+
return new AvmBytecodeCommitmentHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.commitment));
|
|
53
93
|
}
|
|
54
94
|
}
|
|
55
95
|
export class AvmContractInstanceHint {
|
|
96
|
+
hintKey;
|
|
56
97
|
address;
|
|
57
98
|
salt;
|
|
58
99
|
deployer;
|
|
@@ -60,7 +101,8 @@ export class AvmContractInstanceHint {
|
|
|
60
101
|
originalContractClassId;
|
|
61
102
|
initializationHash;
|
|
62
103
|
publicKeys;
|
|
63
|
-
constructor(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
|
|
104
|
+
constructor(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
|
|
105
|
+
this.hintKey = hintKey;
|
|
64
106
|
this.address = address;
|
|
65
107
|
this.salt = salt;
|
|
66
108
|
this.deployer = deployer;
|
|
@@ -71,6 +113,7 @@ export class AvmContractInstanceHint {
|
|
|
71
113
|
}
|
|
72
114
|
static get schema() {
|
|
73
115
|
return z.object({
|
|
116
|
+
hintKey: z.number().int().nonnegative(),
|
|
74
117
|
address: AztecAddress.schema,
|
|
75
118
|
salt: schemas.Fr,
|
|
76
119
|
deployer: AztecAddress.schema,
|
|
@@ -78,7 +121,48 @@ export class AvmContractInstanceHint {
|
|
|
78
121
|
originalContractClassId: schemas.Fr,
|
|
79
122
|
initializationHash: schemas.Fr,
|
|
80
123
|
publicKeys: PublicKeys.schema
|
|
81
|
-
}).transform(({ address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
|
|
124
|
+
}).transform(({ hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Creates an AvmContractInstanceHint from a plain object without Zod validation.
|
|
128
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
129
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
130
|
+
* @param obj - Plain object containing AvmContractInstanceHint fields
|
|
131
|
+
* @returns An AvmContractInstanceHint instance
|
|
132
|
+
*/ static fromPlainObject(obj) {
|
|
133
|
+
if (obj instanceof AvmContractInstanceHint) {
|
|
134
|
+
return obj;
|
|
135
|
+
}
|
|
136
|
+
return new AvmContractInstanceHint(obj.hintKey, AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.salt), AztecAddress.fromPlainObject(obj.deployer), Fr.fromPlainObject(obj.currentContractClassId), Fr.fromPlainObject(obj.originalContractClassId), Fr.fromPlainObject(obj.initializationHash), PublicKeys.fromPlainObject(obj.publicKeys));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
export class AvmDebugFunctionNameHint {
|
|
140
|
+
address;
|
|
141
|
+
selector;
|
|
142
|
+
name;
|
|
143
|
+
constructor(address, selector, name){
|
|
144
|
+
this.address = address;
|
|
145
|
+
this.selector = selector;
|
|
146
|
+
this.name = name;
|
|
147
|
+
}
|
|
148
|
+
static get schema() {
|
|
149
|
+
return z.object({
|
|
150
|
+
address: AztecAddress.schema,
|
|
151
|
+
selector: schemas.Fr,
|
|
152
|
+
name: z.string()
|
|
153
|
+
}).transform(({ address, selector, name })=>new AvmDebugFunctionNameHint(address, selector, name));
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
|
|
157
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
158
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
159
|
+
* @param obj - Plain object containing AvmDebugFunctionNameHint fields
|
|
160
|
+
* @returns An AvmDebugFunctionNameHint instance
|
|
161
|
+
*/ static fromPlainObject(obj) {
|
|
162
|
+
if (obj instanceof AvmDebugFunctionNameHint) {
|
|
163
|
+
return obj;
|
|
164
|
+
}
|
|
165
|
+
return new AvmDebugFunctionNameHint(AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.selector), obj.name);
|
|
82
166
|
}
|
|
83
167
|
}
|
|
84
168
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -106,6 +190,18 @@ export class AvmGetSiblingPathHint {
|
|
|
106
190
|
path: schemas.Fr.array()
|
|
107
191
|
}).transform(({ hintKey, treeId, index, path })=>new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
108
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
|
|
195
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
196
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
197
|
+
* @param obj - Plain object containing AvmGetSiblingPathHint fields
|
|
198
|
+
* @returns An AvmGetSiblingPathHint instance
|
|
199
|
+
*/ static fromPlainObject(obj) {
|
|
200
|
+
if (obj instanceof AvmGetSiblingPathHint) {
|
|
201
|
+
return obj;
|
|
202
|
+
}
|
|
203
|
+
return new AvmGetSiblingPathHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.path.map((p)=>Fr.fromPlainObject(p)));
|
|
204
|
+
}
|
|
109
205
|
}
|
|
110
206
|
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
111
207
|
export class AvmGetPreviousValueIndexHint {
|
|
@@ -132,6 +228,18 @@ export class AvmGetPreviousValueIndexHint {
|
|
|
132
228
|
alreadyPresent: z.boolean()
|
|
133
229
|
}).transform(({ hintKey, treeId, value, index, alreadyPresent })=>new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent));
|
|
134
230
|
}
|
|
231
|
+
/**
|
|
232
|
+
* Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
|
|
233
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
234
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
235
|
+
* @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
|
|
236
|
+
* @returns An AvmGetPreviousValueIndexHint instance
|
|
237
|
+
*/ static fromPlainObject(obj) {
|
|
238
|
+
if (obj instanceof AvmGetPreviousValueIndexHint) {
|
|
239
|
+
return obj;
|
|
240
|
+
}
|
|
241
|
+
return new AvmGetPreviousValueIndexHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, Fr.fromPlainObject(obj.value), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.alreadyPresent);
|
|
242
|
+
}
|
|
135
243
|
}
|
|
136
244
|
// Hint for MerkleTreeDB.getLeafPreimage.
|
|
137
245
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -155,6 +263,18 @@ function AvmGetLeafPreimageHintFactory(klass) {
|
|
|
155
263
|
leafPreimage: klass.schema
|
|
156
264
|
}).transform(({ hintKey, index, leafPreimage })=>new this(hintKey, index, leafPreimage));
|
|
157
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* Creates an instance from a plain object without Zod validation.
|
|
268
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
269
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
270
|
+
* @param obj - Plain object containing hint fields
|
|
271
|
+
* @returns An instance
|
|
272
|
+
*/ static fromPlainObject(obj) {
|
|
273
|
+
if (obj instanceof this) {
|
|
274
|
+
return obj;
|
|
275
|
+
}
|
|
276
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), klass.fromPlainObject(obj.leafPreimage));
|
|
277
|
+
}
|
|
158
278
|
};
|
|
159
279
|
}
|
|
160
280
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -185,6 +305,18 @@ export class AvmGetLeafValueHint {
|
|
|
185
305
|
value: schemas.Fr
|
|
186
306
|
}).transform(({ hintKey, treeId, index, value })=>new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
187
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* Creates an AvmGetLeafValueHint from a plain object without Zod validation.
|
|
310
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
311
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
312
|
+
* @param obj - Plain object containing AvmGetLeafValueHint fields
|
|
313
|
+
* @returns An AvmGetLeafValueHint instance
|
|
314
|
+
*/ static fromPlainObject(obj) {
|
|
315
|
+
if (obj instanceof AvmGetLeafValueHint) {
|
|
316
|
+
return obj;
|
|
317
|
+
}
|
|
318
|
+
return new AvmGetLeafValueHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), Fr.fromPlainObject(obj.value));
|
|
319
|
+
}
|
|
188
320
|
}
|
|
189
321
|
// Hint for MerkleTreeDB.sequentialInsert.
|
|
190
322
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -225,6 +357,28 @@ function AvmSequentialInsertHintFactory(klass) {
|
|
|
225
357
|
})
|
|
226
358
|
}).transform(({ hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData })=>new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData));
|
|
227
359
|
}
|
|
360
|
+
/**
|
|
361
|
+
* Creates an instance from a plain object without Zod validation.
|
|
362
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
363
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
364
|
+
* @param obj - Plain object containing hint fields
|
|
365
|
+
* @returns An instance
|
|
366
|
+
*/ static fromPlainObject(obj) {
|
|
367
|
+
if (obj instanceof this) {
|
|
368
|
+
return obj;
|
|
369
|
+
}
|
|
370
|
+
// Determine the leaf class based on the klass parameter
|
|
371
|
+
const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
|
|
372
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, LeafClass.fromPlainObject(obj.leaf), {
|
|
373
|
+
leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
|
|
374
|
+
index: typeof obj.lowLeavesWitnessData.index === 'bigint' ? obj.lowLeavesWitnessData.index : BigInt(obj.lowLeavesWitnessData.index),
|
|
375
|
+
path: obj.lowLeavesWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
376
|
+
}, {
|
|
377
|
+
leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
|
|
378
|
+
index: typeof obj.insertionWitnessData.index === 'bigint' ? obj.insertionWitnessData.index : BigInt(obj.insertionWitnessData.index),
|
|
379
|
+
path: obj.insertionWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
380
|
+
});
|
|
381
|
+
}
|
|
228
382
|
};
|
|
229
383
|
}
|
|
230
384
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -254,6 +408,18 @@ export class AvmAppendLeavesHint {
|
|
|
254
408
|
leaves: schemas.Fr.array()
|
|
255
409
|
}).transform(({ hintKey, stateAfter, treeId, leaves })=>new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves));
|
|
256
410
|
}
|
|
411
|
+
/**
|
|
412
|
+
* Creates an AvmAppendLeavesHint from a plain object without Zod validation.
|
|
413
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
414
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
415
|
+
* @param obj - Plain object containing AvmAppendLeavesHint fields
|
|
416
|
+
* @returns An AvmAppendLeavesHint instance
|
|
417
|
+
*/ static fromPlainObject(obj) {
|
|
418
|
+
if (obj instanceof AvmAppendLeavesHint) {
|
|
419
|
+
return obj;
|
|
420
|
+
}
|
|
421
|
+
return new AvmAppendLeavesHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, obj.leaves.map((l)=>Fr.fromPlainObject(l)));
|
|
422
|
+
}
|
|
257
423
|
}
|
|
258
424
|
// Hint for checkpoint actions that don't change the state.
|
|
259
425
|
class AvmCheckpointActionNoStateChangeHint {
|
|
@@ -274,6 +440,18 @@ class AvmCheckpointActionNoStateChangeHint {
|
|
|
274
440
|
newCheckpointId: z.number().int().nonnegative()
|
|
275
441
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId })=>new this(actionCounter, oldCheckpointId, newCheckpointId));
|
|
276
442
|
}
|
|
443
|
+
/**
|
|
444
|
+
* Creates an instance from a plain object without Zod validation.
|
|
445
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
446
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
447
|
+
* @param obj - Plain object containing hint fields
|
|
448
|
+
* @returns An instance
|
|
449
|
+
*/ static fromPlainObject(obj) {
|
|
450
|
+
if (obj instanceof this) {
|
|
451
|
+
return obj;
|
|
452
|
+
}
|
|
453
|
+
return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
|
|
454
|
+
}
|
|
277
455
|
}
|
|
278
456
|
// Hint for MerkleTreeDB.createCheckpoint.
|
|
279
457
|
export class AvmCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
@@ -311,6 +489,24 @@ export class AvmRevertCheckpointHint {
|
|
|
311
489
|
stateAfter: TreeSnapshots.schema
|
|
312
490
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter })=>new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter));
|
|
313
491
|
}
|
|
492
|
+
/**
|
|
493
|
+
* Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
|
|
494
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
495
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
496
|
+
* @param obj - Plain object containing AvmRevertCheckpointHint fields
|
|
497
|
+
* @returns An AvmRevertCheckpointHint instance
|
|
498
|
+
*/ static fromPlainObject(obj) {
|
|
499
|
+
if (obj instanceof AvmRevertCheckpointHint) {
|
|
500
|
+
return obj;
|
|
501
|
+
}
|
|
502
|
+
return new AvmRevertCheckpointHint(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId, TreeSnapshots.fromPlainObject(obj.stateBefore), TreeSnapshots.fromPlainObject(obj.stateAfter));
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
506
|
+
}
|
|
507
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
508
|
+
}
|
|
509
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
314
510
|
}
|
|
315
511
|
////////////////////////////////////////////////////////////////////////////
|
|
316
512
|
// Hints (other)
|
|
@@ -319,6 +515,8 @@ export class AvmTxHint {
|
|
|
319
515
|
hash;
|
|
320
516
|
gasSettings;
|
|
321
517
|
effectiveGasFees;
|
|
518
|
+
nonRevertibleContractDeploymentData;
|
|
519
|
+
revertibleContractDeploymentData;
|
|
322
520
|
nonRevertibleAccumulatedData;
|
|
323
521
|
revertibleAccumulatedData;
|
|
324
522
|
setupEnqueuedCalls;
|
|
@@ -326,12 +524,14 @@ export class AvmTxHint {
|
|
|
326
524
|
teardownEnqueuedCall;
|
|
327
525
|
gasUsedByPrivate;
|
|
328
526
|
feePayer;
|
|
329
|
-
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
527
|
+
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
330
528
|
// MessagePack expects for an std::optional.
|
|
331
529
|
teardownEnqueuedCall, gasUsedByPrivate, feePayer){
|
|
332
530
|
this.hash = hash;
|
|
333
531
|
this.gasSettings = gasSettings;
|
|
334
532
|
this.effectiveGasFees = effectiveGasFees;
|
|
533
|
+
this.nonRevertibleContractDeploymentData = nonRevertibleContractDeploymentData;
|
|
534
|
+
this.revertibleContractDeploymentData = revertibleContractDeploymentData;
|
|
335
535
|
this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
|
|
336
536
|
this.revertibleAccumulatedData = revertibleAccumulatedData;
|
|
337
537
|
this.setupEnqueuedCalls = setupEnqueuedCalls;
|
|
@@ -346,9 +546,10 @@ export class AvmTxHint {
|
|
|
346
546
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
347
547
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
348
548
|
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
549
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
349
550
|
// For informational purposes. Assumed quick because it should be cached.
|
|
350
551
|
const txHash = tx.getTxHash();
|
|
351
|
-
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, {
|
|
552
|
+
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, allContractDeploymentData.getNonRevertibleContractDeploymentData(), allContractDeploymentData.getRevertibleContractDeploymentData(), {
|
|
352
553
|
noteHashes: tx.data.forPublic.nonRevertibleAccumulatedData.noteHashes.filter((x)=>!x.isZero()),
|
|
353
554
|
nullifiers: tx.data.forPublic.nonRevertibleAccumulatedData.nullifiers.filter((x)=>!x.isZero()),
|
|
354
555
|
l2ToL1Messages: tx.data.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.filter((x)=>!x.isEmpty())
|
|
@@ -359,7 +560,7 @@ export class AvmTxHint {
|
|
|
359
560
|
}, setupCallRequests, appLogicCallRequests, teardownCallRequest ?? null, tx.data.gasUsed, tx.data.feePayer);
|
|
360
561
|
}
|
|
361
562
|
static empty() {
|
|
362
|
-
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), {
|
|
563
|
+
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), ContractDeploymentData.empty(), ContractDeploymentData.empty(), {
|
|
363
564
|
noteHashes: [],
|
|
364
565
|
nullifiers: [],
|
|
365
566
|
l2ToL1Messages: []
|
|
@@ -369,11 +570,33 @@ export class AvmTxHint {
|
|
|
369
570
|
l2ToL1Messages: []
|
|
370
571
|
}, [], [], null, Gas.empty(), AztecAddress.zero());
|
|
371
572
|
}
|
|
573
|
+
/**
|
|
574
|
+
* Creates an AvmTxHint from a plain object without Zod validation.
|
|
575
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
576
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
577
|
+
* @param obj - Plain object containing AvmTxHint fields
|
|
578
|
+
* @returns An AvmTxHint instance
|
|
579
|
+
*/ static fromPlainObject(obj) {
|
|
580
|
+
if (obj instanceof AvmTxHint) {
|
|
581
|
+
return obj;
|
|
582
|
+
}
|
|
583
|
+
return new AvmTxHint(obj.hash, GasSettings.fromPlainObject(obj.gasSettings), GasFees.fromPlainObject(obj.effectiveGasFees), ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData), ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData), {
|
|
584
|
+
noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
585
|
+
nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
586
|
+
l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
587
|
+
}, {
|
|
588
|
+
noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
589
|
+
nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
590
|
+
l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
591
|
+
}, obj.setupEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.appLogicEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null, Gas.fromPlainObject(obj.gasUsedByPrivate), AztecAddress.fromPlainObject(obj.feePayer));
|
|
592
|
+
}
|
|
372
593
|
static get schema() {
|
|
373
594
|
return z.object({
|
|
374
595
|
hash: z.string(),
|
|
375
596
|
gasSettings: GasSettings.schema,
|
|
376
597
|
effectiveGasFees: GasFees.schema,
|
|
598
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
599
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
377
600
|
nonRevertibleAccumulatedData: z.object({
|
|
378
601
|
noteHashes: schemas.Fr.array(),
|
|
379
602
|
nullifiers: schemas.Fr.array(),
|
|
@@ -389,7 +612,7 @@ export class AvmTxHint {
|
|
|
389
612
|
teardownEnqueuedCall: PublicCallRequestWithCalldata.schema.nullable(),
|
|
390
613
|
gasUsedByPrivate: Gas.schema,
|
|
391
614
|
feePayer: AztecAddress.schema
|
|
392
|
-
}).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
|
|
615
|
+
}).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
|
|
393
616
|
}
|
|
394
617
|
}
|
|
395
618
|
export class AvmExecutionHints {
|
|
@@ -399,6 +622,10 @@ export class AvmExecutionHints {
|
|
|
399
622
|
contractInstances;
|
|
400
623
|
contractClasses;
|
|
401
624
|
bytecodeCommitments;
|
|
625
|
+
debugFunctionNames;
|
|
626
|
+
contractDbCreateCheckpointHints;
|
|
627
|
+
contractDbCommitCheckpointHints;
|
|
628
|
+
contractDbRevertCheckpointHints;
|
|
402
629
|
startingTreeRoots;
|
|
403
630
|
getSiblingPathHints;
|
|
404
631
|
getPreviousValueIndexHints;
|
|
@@ -413,7 +640,7 @@ export class AvmExecutionHints {
|
|
|
413
640
|
revertCheckpointHints;
|
|
414
641
|
constructor(globalVariables, tx, // Protocol contracts.
|
|
415
642
|
protocolContracts, // Contract hints.
|
|
416
|
-
contractInstances = [], contractClasses = [], bytecodeCommitments = [], // Merkle DB hints.
|
|
643
|
+
contractInstances = [], contractClasses = [], bytecodeCommitments = [], debugFunctionNames = [], contractDbCreateCheckpointHints = [], contractDbCommitCheckpointHints = [], contractDbRevertCheckpointHints = [], // Merkle DB hints.
|
|
417
644
|
startingTreeRoots = TreeSnapshots.empty(), getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = [], appendLeavesHints = [], createCheckpointHints = [], commitCheckpointHints = [], revertCheckpointHints = []){
|
|
418
645
|
this.globalVariables = globalVariables;
|
|
419
646
|
this.tx = tx;
|
|
@@ -421,6 +648,10 @@ export class AvmExecutionHints {
|
|
|
421
648
|
this.contractInstances = contractInstances;
|
|
422
649
|
this.contractClasses = contractClasses;
|
|
423
650
|
this.bytecodeCommitments = bytecodeCommitments;
|
|
651
|
+
this.debugFunctionNames = debugFunctionNames;
|
|
652
|
+
this.contractDbCreateCheckpointHints = contractDbCreateCheckpointHints;
|
|
653
|
+
this.contractDbCommitCheckpointHints = contractDbCommitCheckpointHints;
|
|
654
|
+
this.contractDbRevertCheckpointHints = contractDbRevertCheckpointHints;
|
|
424
655
|
this.startingTreeRoots = startingTreeRoots;
|
|
425
656
|
this.getSiblingPathHints = getSiblingPathHints;
|
|
426
657
|
this.getPreviousValueIndexHints = getPreviousValueIndexHints;
|
|
@@ -434,6 +665,18 @@ export class AvmExecutionHints {
|
|
|
434
665
|
this.commitCheckpointHints = commitCheckpointHints;
|
|
435
666
|
this.revertCheckpointHints = revertCheckpointHints;
|
|
436
667
|
}
|
|
668
|
+
/**
|
|
669
|
+
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
670
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
671
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
672
|
+
* @param obj - Plain object containing AvmExecutionHints fields
|
|
673
|
+
* @returns An AvmExecutionHints instance
|
|
674
|
+
*/ static fromPlainObject(obj) {
|
|
675
|
+
if (obj instanceof AvmExecutionHints) {
|
|
676
|
+
return obj;
|
|
677
|
+
}
|
|
678
|
+
return new AvmExecutionHints(GlobalVariables.fromPlainObject(obj.globalVariables), AvmTxHint.fromPlainObject(obj.tx), ProtocolContracts.fromPlainObject(obj.protocolContracts), obj.contractInstances?.map((i)=>AvmContractInstanceHint.fromPlainObject(i)) || [], obj.contractClasses?.map((c)=>AvmContractClassHint.fromPlainObject(c)) || [], obj.bytecodeCommitments?.map((b)=>AvmBytecodeCommitmentHint.fromPlainObject(b)) || [], obj.debugFunctionNames?.map((d)=>AvmDebugFunctionNameHint.fromPlainObject(d)) || [], obj.contractDbCreateCheckpointHints?.map((h)=>AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [], obj.contractDbCommitCheckpointHints?.map((h)=>AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [], obj.contractDbRevertCheckpointHints?.map((h)=>AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [], obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(), obj.getSiblingPathHints?.map((h)=>AvmGetSiblingPathHint.fromPlainObject(h)) || [], obj.getPreviousValueIndexHints?.map((h)=>AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [], obj.getLeafPreimageHintsPublicDataTree?.map((h)=>AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h)) || [], obj.getLeafPreimageHintsNullifierTree?.map((h)=>AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) || [], obj.getLeafValueHints?.map((h)=>AvmGetLeafValueHint.fromPlainObject(h)) || [], obj.sequentialInsertHintsPublicDataTree?.map((h)=>AvmSequentialInsertHintPublicDataTree.fromPlainObject(h)) || [], obj.sequentialInsertHintsNullifierTree?.map((h)=>AvmSequentialInsertHintNullifierTree.fromPlainObject(h)) || [], obj.appendLeavesHints?.map((h)=>AvmAppendLeavesHint.fromPlainObject(h)) || [], obj.createCheckpointHints?.map((h)=>AvmCreateCheckpointHint.fromPlainObject(h)) || [], obj.commitCheckpointHints?.map((h)=>AvmCommitCheckpointHint.fromPlainObject(h)) || [], obj.revertCheckpointHints?.map((h)=>AvmRevertCheckpointHint.fromPlainObject(h)) || []);
|
|
679
|
+
}
|
|
437
680
|
static empty() {
|
|
438
681
|
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
439
682
|
}
|
|
@@ -445,6 +688,10 @@ export class AvmExecutionHints {
|
|
|
445
688
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
446
689
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
447
690
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
691
|
+
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
692
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
693
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
694
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
448
695
|
startingTreeRoots: TreeSnapshots.schema,
|
|
449
696
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
450
697
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -457,7 +704,7 @@ export class AvmExecutionHints {
|
|
|
457
704
|
createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
|
|
458
705
|
commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
|
|
459
706
|
revertCheckpointHints: AvmRevertCheckpointHint.schema.array()
|
|
460
|
-
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
707
|
+
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
461
708
|
}
|
|
462
709
|
}
|
|
463
710
|
export class AvmCircuitInputs {
|
|
@@ -470,6 +717,9 @@ export class AvmCircuitInputs {
|
|
|
470
717
|
static empty() {
|
|
471
718
|
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
472
719
|
}
|
|
720
|
+
static fromPlainObject(obj) {
|
|
721
|
+
return new AvmCircuitInputs(AvmExecutionHints.fromPlainObject(obj.hints), AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
|
|
722
|
+
}
|
|
473
723
|
static get schema() {
|
|
474
724
|
return z.object({
|
|
475
725
|
hints: AvmExecutionHints.schema,
|
|
@@ -487,3 +737,266 @@ export class AvmCircuitInputs {
|
|
|
487
737
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
488
738
|
}
|
|
489
739
|
}
|
|
740
|
+
// Metadata about a given (enqueued or external) call.
|
|
741
|
+
export class CallStackMetadata {
|
|
742
|
+
phase;
|
|
743
|
+
contractAddress;
|
|
744
|
+
callerPc;
|
|
745
|
+
calldata;
|
|
746
|
+
isStaticCall;
|
|
747
|
+
gasLimit;
|
|
748
|
+
output;
|
|
749
|
+
internalCallStackAtExit;
|
|
750
|
+
haltingMessage;
|
|
751
|
+
reverted;
|
|
752
|
+
nested;
|
|
753
|
+
numNestedCalls;
|
|
754
|
+
constructor(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls){
|
|
755
|
+
this.phase = phase;
|
|
756
|
+
this.contractAddress = contractAddress;
|
|
757
|
+
this.callerPc = callerPc;
|
|
758
|
+
this.calldata = calldata;
|
|
759
|
+
this.isStaticCall = isStaticCall;
|
|
760
|
+
this.gasLimit = gasLimit;
|
|
761
|
+
this.output = output;
|
|
762
|
+
this.internalCallStackAtExit = internalCallStackAtExit;
|
|
763
|
+
this.haltingMessage = haltingMessage;
|
|
764
|
+
this.reverted = reverted;
|
|
765
|
+
this.nested = nested;
|
|
766
|
+
this.numNestedCalls = numNestedCalls;
|
|
767
|
+
}
|
|
768
|
+
static get schema() {
|
|
769
|
+
return z.object({
|
|
770
|
+
phase: z.nativeEnum(TxExecutionPhase),
|
|
771
|
+
contractAddress: Fr.schema,
|
|
772
|
+
callerPc: z.number(),
|
|
773
|
+
calldata: Fr.schema.array(),
|
|
774
|
+
isStaticCall: z.boolean(),
|
|
775
|
+
gasLimit: Gas.schema,
|
|
776
|
+
output: Fr.schema.array(),
|
|
777
|
+
internalCallStackAtExit: z.number().array(),
|
|
778
|
+
haltingMessage: NullishToUndefined(z.string()),
|
|
779
|
+
reverted: z.boolean(),
|
|
780
|
+
nested: CallStackMetadata.schema.array(),
|
|
781
|
+
numNestedCalls: z.number()
|
|
782
|
+
}).transform(({ phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls })=>new CallStackMetadata(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls));
|
|
783
|
+
}
|
|
784
|
+
/**
|
|
785
|
+
* Creates a CallStackMetadata from a plain object without Zod validation.
|
|
786
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
787
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
788
|
+
* @param obj - Plain object containing CallStackMetadata fields
|
|
789
|
+
* @returns A CallStackMetadata instance
|
|
790
|
+
*/ static fromPlainObject(obj) {
|
|
791
|
+
if (obj instanceof CallStackMetadata) {
|
|
792
|
+
return obj;
|
|
793
|
+
}
|
|
794
|
+
return new CallStackMetadata(obj.phase, Fr.fromPlainObject(obj.contractAddress), obj.callerPc, obj.calldata.map((f)=>Fr.fromPlainObject(f)), obj.isStaticCall, Gas.fromPlainObject(obj.gasLimit), obj.output.map((f)=>Fr.fromPlainObject(f)), obj.internalCallStackAtExit.map((p)=>Number(p)), obj.haltingMessage, obj.reverted, obj.nested.map((n)=>CallStackMetadata.fromPlainObject(n)), obj.numNestedCalls);
|
|
795
|
+
}
|
|
796
|
+
getRevertReason() {
|
|
797
|
+
const failingCall = this.findDeepestRevert([
|
|
798
|
+
this
|
|
799
|
+
]);
|
|
800
|
+
if (!failingCall) {
|
|
801
|
+
return undefined;
|
|
802
|
+
}
|
|
803
|
+
const { stack, leaf } = failingCall;
|
|
804
|
+
const aztecCallStack = stack.map((call)=>({
|
|
805
|
+
contractAddress: AztecAddress.fromField(call.contractAddress),
|
|
806
|
+
functionSelector: call.calldata.length > 0 ? FunctionSelector.fromField(call.calldata[0]) : undefined
|
|
807
|
+
}));
|
|
808
|
+
// The Noir call stack is the internal call stack at exit of the failing call
|
|
809
|
+
const noirCallStack = leaf.internalCallStackAtExit.map((pc)=>`0.${pc}`);
|
|
810
|
+
return new SimulationError(leaf.haltingMessage ?? 'Transaction reverted', aztecCallStack, leaf.output, noirCallStack);
|
|
811
|
+
}
|
|
812
|
+
findDeepestRevert(calls, parentStack = []) {
|
|
813
|
+
for (const call of calls){
|
|
814
|
+
if (call.reverted) {
|
|
815
|
+
const nested = this.findDeepestRevert(call.nested, [
|
|
816
|
+
...parentStack,
|
|
817
|
+
call
|
|
818
|
+
]);
|
|
819
|
+
return nested || {
|
|
820
|
+
stack: [
|
|
821
|
+
...parentStack,
|
|
822
|
+
call
|
|
823
|
+
],
|
|
824
|
+
leaf: call
|
|
825
|
+
};
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
return undefined;
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
export class PublicTxResult {
|
|
832
|
+
gasUsed;
|
|
833
|
+
revertCode;
|
|
834
|
+
callStackMetadata;
|
|
835
|
+
logs;
|
|
836
|
+
hints;
|
|
837
|
+
publicInputs;
|
|
838
|
+
constructor(// Simulation result.
|
|
839
|
+
gasUsed, revertCode, // These are only guaranteed to be present if the simulator is configured to collect them.
|
|
840
|
+
// TODO(fcarreiro): Remove NestedProcessReturnValues[] once we migrate to the C++ simulator.
|
|
841
|
+
callStackMetadata, logs, // For the proving request.
|
|
842
|
+
hints, publicInputs){
|
|
843
|
+
this.gasUsed = gasUsed;
|
|
844
|
+
this.revertCode = revertCode;
|
|
845
|
+
this.callStackMetadata = callStackMetadata;
|
|
846
|
+
this.logs = logs;
|
|
847
|
+
this.hints = hints;
|
|
848
|
+
this.publicInputs = publicInputs;
|
|
849
|
+
}
|
|
850
|
+
static empty() {
|
|
851
|
+
return new PublicTxResult({
|
|
852
|
+
totalGas: Gas.empty(),
|
|
853
|
+
teardownGas: Gas.empty(),
|
|
854
|
+
publicGas: Gas.empty(),
|
|
855
|
+
billedGas: Gas.empty()
|
|
856
|
+
}, RevertCode.OK, /*callStackMetadata=*/ [], /*logs=*/ [], /*hints=*/ AvmExecutionHints.empty(), /*publicInputs=*/ AvmCircuitPublicInputs.empty());
|
|
857
|
+
}
|
|
858
|
+
static get schema() {
|
|
859
|
+
return z.object({
|
|
860
|
+
gasUsed: schemas.GasUsed,
|
|
861
|
+
revertCode: RevertCode.schema,
|
|
862
|
+
revertReason: NullishToUndefined(SimulationError.schema),
|
|
863
|
+
callStackMetadata: z.union([
|
|
864
|
+
CallStackMetadata.schema.array(),
|
|
865
|
+
NestedProcessReturnValues.schema.array()
|
|
866
|
+
]),
|
|
867
|
+
logs: NullishToUndefined(DebugLog.schema.array()),
|
|
868
|
+
// For the proving request.
|
|
869
|
+
publicInputs: AvmCircuitPublicInputs.schema,
|
|
870
|
+
hints: NullishToUndefined(AvmExecutionHints.schema)
|
|
871
|
+
}).transform(({ gasUsed, revertCode, callStackMetadata, logs, hints, publicInputs })=>new PublicTxResult(gasUsed, revertCode, callStackMetadata, logs, hints, publicInputs));
|
|
872
|
+
}
|
|
873
|
+
/**
|
|
874
|
+
* Creates a PublicTxResult from a plain object without Zod validation.
|
|
875
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
876
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
877
|
+
* @param obj - Plain object containing PublicTxResult fields
|
|
878
|
+
* @returns A PublicTxResult instance
|
|
879
|
+
*/ static fromPlainObject(obj) {
|
|
880
|
+
return new PublicTxResult(GasUsed.fromPlainObject(obj.gasUsed), RevertCode.fromPlainObject(obj.revertCode), obj.callStackMetadata.map(CallStackMetadata.fromPlainObject), obj.logs?.map(DebugLog.fromPlainObject), obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined, AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
|
|
881
|
+
}
|
|
882
|
+
/** Returns one level of return values for the app logic phase, one per enqueued call. */ getAppLogicReturnValues() {
|
|
883
|
+
if (this.callStackMetadata.every((metadata)=>metadata instanceof CallStackMetadata)) {
|
|
884
|
+
return this.callStackMetadata.filter((metadata)=>metadata.phase === TxExecutionPhase.APP_LOGIC).map((metadata)=>new NestedProcessReturnValues(metadata.output));
|
|
885
|
+
} else {
|
|
886
|
+
return this.callStackMetadata.map((metadata)=>new NestedProcessReturnValues(metadata.values, metadata.nested));
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
findRevertReason() {
|
|
890
|
+
if (this.revertCode.isOK()) {
|
|
891
|
+
return undefined;
|
|
892
|
+
}
|
|
893
|
+
const callStackMetadata = this.callStackMetadata;
|
|
894
|
+
// TODO(fcarreiro): Remove this after migration to the C++ simulator.
|
|
895
|
+
// If the "stack" comes from TS, it will have this field.
|
|
896
|
+
if (callStackMetadata.revertReason !== undefined) {
|
|
897
|
+
return callStackMetadata.revertReason;
|
|
898
|
+
}
|
|
899
|
+
// Handle CallStackMetadata[].
|
|
900
|
+
let revertReason = undefined;
|
|
901
|
+
for (const call of callStackMetadata){
|
|
902
|
+
revertReason = call.getRevertReason();
|
|
903
|
+
if (revertReason) {
|
|
904
|
+
break;
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
return revertReason;
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
export class CollectionLimitsConfig {
|
|
911
|
+
maxDebugLogMemoryReads;
|
|
912
|
+
maxCalldataSizeInFields;
|
|
913
|
+
maxReturndataSizeInFields;
|
|
914
|
+
maxCallStackDepth;
|
|
915
|
+
maxCallStackItems;
|
|
916
|
+
constructor(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems){
|
|
917
|
+
this.maxDebugLogMemoryReads = maxDebugLogMemoryReads;
|
|
918
|
+
this.maxCalldataSizeInFields = maxCalldataSizeInFields;
|
|
919
|
+
this.maxReturndataSizeInFields = maxReturndataSizeInFields;
|
|
920
|
+
this.maxCallStackDepth = maxCallStackDepth;
|
|
921
|
+
this.maxCallStackItems = maxCallStackItems;
|
|
922
|
+
}
|
|
923
|
+
static from(obj) {
|
|
924
|
+
return new CollectionLimitsConfig(obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS, obj.maxCalldataSizeInFields ?? 300, obj.maxReturndataSizeInFields ?? 300, obj.maxCallStackDepth ?? 5, obj.maxCallStackItems ?? 100);
|
|
925
|
+
}
|
|
926
|
+
static empty() {
|
|
927
|
+
return CollectionLimitsConfig.from({});
|
|
928
|
+
}
|
|
929
|
+
static get schema() {
|
|
930
|
+
return z.object({
|
|
931
|
+
maxDebugLogMemoryReads: z.number(),
|
|
932
|
+
maxCalldataSizeInFields: z.number(),
|
|
933
|
+
maxReturndataSizeInFields: z.number(),
|
|
934
|
+
maxCallStackDepth: z.number(),
|
|
935
|
+
maxCallStackItems: z.number()
|
|
936
|
+
}).transform(({ maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems })=>new CollectionLimitsConfig(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems));
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
export class PublicSimulatorConfig {
|
|
940
|
+
proverId;
|
|
941
|
+
skipFeeEnforcement;
|
|
942
|
+
collectCallMetadata;
|
|
943
|
+
collectHints;
|
|
944
|
+
collectDebugLogs;
|
|
945
|
+
collectStatistics;
|
|
946
|
+
collectionLimits;
|
|
947
|
+
constructor(proverId, skipFeeEnforcement, collectCallMetadata, collectHints, collectDebugLogs, collectStatistics, collectionLimits){
|
|
948
|
+
this.proverId = proverId;
|
|
949
|
+
this.skipFeeEnforcement = skipFeeEnforcement;
|
|
950
|
+
this.collectCallMetadata = collectCallMetadata;
|
|
951
|
+
this.collectHints = collectHints;
|
|
952
|
+
this.collectDebugLogs = collectDebugLogs;
|
|
953
|
+
this.collectStatistics = collectStatistics;
|
|
954
|
+
this.collectionLimits = collectionLimits;
|
|
955
|
+
}
|
|
956
|
+
static from(obj) {
|
|
957
|
+
return new PublicSimulatorConfig(obj.proverId ?? Fr.ZERO, obj.skipFeeEnforcement ?? false, obj.collectCallMetadata ?? false, obj.collectHints ?? false, obj.collectDebugLogs ?? false, obj.collectStatistics ?? false, obj.collectionLimits ?? CollectionLimitsConfig.empty());
|
|
958
|
+
}
|
|
959
|
+
static empty() {
|
|
960
|
+
return PublicSimulatorConfig.from({});
|
|
961
|
+
}
|
|
962
|
+
static get schema() {
|
|
963
|
+
return z.object({
|
|
964
|
+
proverId: Fr.schema,
|
|
965
|
+
skipFeeEnforcement: z.boolean(),
|
|
966
|
+
collectCallMetadata: z.boolean(),
|
|
967
|
+
collectHints: z.boolean(),
|
|
968
|
+
collectDebugLogs: z.boolean(),
|
|
969
|
+
collectStatistics: z.boolean(),
|
|
970
|
+
collectionLimits: CollectionLimitsConfig.schema
|
|
971
|
+
}).transform(PublicSimulatorConfig.from);
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
export class AvmFastSimulationInputs {
|
|
975
|
+
wsRevision;
|
|
976
|
+
config;
|
|
977
|
+
tx;
|
|
978
|
+
globalVariables;
|
|
979
|
+
protocolContracts;
|
|
980
|
+
constructor(wsRevision, config, tx, globalVariables, protocolContracts){
|
|
981
|
+
this.wsRevision = wsRevision;
|
|
982
|
+
this.config = config;
|
|
983
|
+
this.tx = tx;
|
|
984
|
+
this.globalVariables = globalVariables;
|
|
985
|
+
this.protocolContracts = protocolContracts;
|
|
986
|
+
}
|
|
987
|
+
static empty() {
|
|
988
|
+
return new AvmFastSimulationInputs(WorldStateRevision.empty(), PublicSimulatorConfig.empty(), AvmTxHint.empty(), GlobalVariables.empty(), ProtocolContracts.empty());
|
|
989
|
+
}
|
|
990
|
+
static get schema() {
|
|
991
|
+
return z.object({
|
|
992
|
+
wsRevision: WorldStateRevision.schema,
|
|
993
|
+
config: PublicSimulatorConfig.schema,
|
|
994
|
+
tx: AvmTxHint.schema,
|
|
995
|
+
globalVariables: GlobalVariables.schema,
|
|
996
|
+
protocolContracts: ProtocolContracts.schema
|
|
997
|
+
}).transform(({ wsRevision, config, tx, globalVariables, protocolContracts })=>new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts));
|
|
998
|
+
}
|
|
999
|
+
serializeWithMessagePack() {
|
|
1000
|
+
return serializeWithMessagePack(this);
|
|
1001
|
+
}
|
|
1002
|
+
}
|