@aztec/stdlib 4.0.0-nightly.20250907 → 4.0.0-nightly.20260107
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 +701 -118
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +10 -10
- package/dest/abi/authorization_selector.d.ts +2 -2
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/authorization_selector.js +2 -1
- package/dest/abi/buffer.d.ts +2 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +1 -1
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.js +6 -3
- package/dest/abi/decoder.d.ts +2 -2
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/encoder.d.ts +2 -2
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +1 -1
- package/dest/abi/event_metadata_definition.d.ts +8 -0
- package/dest/abi/event_metadata_definition.d.ts.map +1 -0
- package/dest/abi/event_metadata_definition.js +1 -0
- package/dest/abi/event_selector.d.ts +2 -2
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +2 -1
- package/dest/abi/function_call.d.ts +8 -11
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +6 -2
- package/dest/abi/function_selector.d.ts +3 -2
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +9 -1
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/mocked_keys.d.ts +1 -1
- package/dest/abi/note_selector.d.ts +2 -2
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +2 -2
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +4 -2
- package/dest/abi/utils.d.ts +1 -1
- package/dest/auth_witness/auth_witness.d.ts +2 -3
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +2 -2
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +4275 -1872
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +597 -18
- package/dest/avm/avm_accumulated_data.d.ts +33 -55
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +44 -26
- package/dest/avm/avm_circuit_public_inputs.d.ts +182 -153
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +30 -8
- package/dest/avm/avm_proving_request.d.ts +2053 -1481
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +2 -14
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.js +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +2 -14
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.js +1 -1
- package/dest/avm/index.d.ts +2 -2
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +1 -1
- package/dest/avm/message_pack.d.ts +2 -1
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +33 -6
- package/dest/avm/public_call_stack_item_compressed.d.ts +2 -4
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.js +1 -1
- package/dest/avm/public_data_read.d.ts +2 -11
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_read.js +1 -1
- package/dest/avm/public_data_update_request.d.ts +2 -11
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.js +4 -2
- package/dest/avm/public_data_write.d.ts +14 -12
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +10 -1
- package/dest/avm/public_inner_call_request.d.ts +2 -5
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +3 -1
- package/dest/avm/revert_code.d.ts +17 -8
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +28 -10
- package/dest/aztec-address/index.d.ts +12 -2
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +29 -4
- package/dest/block/attestation_info.d.ts +32 -0
- package/dest/block/attestation_info.d.ts.map +1 -0
- package/dest/block/attestation_info.js +42 -0
- package/dest/block/block_hash.d.ts +2 -2
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +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 -5
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +14 -26
- package/dest/block/checkpointed_l2_block.d.ts +267 -0
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
- package/dest/block/checkpointed_l2_block.js +84 -0
- package/dest/block/in_block.d.ts +30 -19
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +17 -8
- package/dest/block/index.d.ts +8 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +7 -2
- package/dest/block/l2_block.d.ts +39 -23
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +88 -12
- package/dest/block/l2_block_code_to_purge.d.ts +5 -16
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +25 -14
- package/dest/block/l2_block_header.d.ts +98 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +155 -0
- package/dest/block/l2_block_info.d.ts +46 -0
- package/dest/block/l2_block_info.d.ts.map +1 -0
- package/dest/block/l2_block_info.js +41 -0
- package/dest/block/l2_block_new.d.ts +135 -0
- package/dest/block/l2_block_new.d.ts.map +1 -0
- package/dest/block/l2_block_new.js +152 -0
- package/dest/block/l2_block_source.d.ts +145 -552
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +5 -39
- package/dest/block/l2_block_stream/index.d.ts +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +2 -2
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -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 +13 -4
- 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 +5 -3
- package/dest/block/proposal/attestations_and_signers.d.ts +59 -0
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
- package/dest/block/proposal/attestations_and_signers.js +113 -0
- package/dest/block/proposal/committee_attestation.d.ts +2 -2
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +2 -1
- package/dest/block/proposal/index.d.ts.map +1 -1
- package/dest/block/proposal/index.js +1 -0
- 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 +12 -14
- package/dest/block/validate_block_result.d.ts +50 -0
- package/dest/block/validate_block_result.d.ts.map +1 -0
- package/dest/block/validate_block_result.js +84 -0
- package/dest/checkpoint/checkpoint.d.ts +153 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +100 -0
- package/dest/checkpoint/checkpoint_info.d.ts +9 -0
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_info.js +1 -0
- package/dest/checkpoint/index.d.ts +3 -0
- package/dest/checkpoint/index.d.ts.map +1 -0
- package/dest/checkpoint/index.js +2 -0
- package/dest/checkpoint/published_checkpoint.d.ts +238 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/published_checkpoint.js +81 -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 +3 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +6 -0
- package/dest/contract/artifact_hash.d.ts +3 -3
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +2 -2
- package/dest/contract/complete_address.d.ts +2 -5
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +1 -1
- package/dest/contract/contract_address.d.ts +3 -3
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +3 -3
- package/dest/contract/contract_class.d.ts +2 -2
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +1 -1
- package/dest/contract/contract_class_id.d.ts +2 -2
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +3 -3
- package/dest/contract/contract_class_metadata.d.ts +8 -0
- package/dest/contract/contract_class_metadata.d.ts.map +1 -0
- package/dest/contract/contract_class_metadata.js +1 -0
- 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 +11 -10
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +2 -3
- package/dest/contract/contract_instance_update.d.ts +2 -2
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.js +1 -1
- package/dest/contract/contract_metadata.d.ts +7 -0
- package/dest/contract/contract_metadata.d.ts.map +1 -0
- package/dest/contract/contract_metadata.js +1 -0
- package/dest/contract/deployment_info.d.ts +2 -2
- package/dest/contract/deployment_info.d.ts.map +1 -1
- package/dest/contract/index.d.ts +4 -1
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +3 -0
- package/dest/contract/interfaces/contract_class.d.ts +58 -134
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +35 -18
- package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +52 -43
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +30 -5
- package/dest/contract/interfaces/contract_instance_update.d.ts +9 -10
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.js +5 -5
- 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 +2 -2
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +2 -2
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +3 -2
- package/dest/contract/private_function_membership_proof.d.ts +2 -2
- package/dest/contract/private_function_membership_proof.js +3 -3
- package/dest/contract/utility_function_membership_proof.d.ts +1 -1
- package/dest/contract/utility_function_membership_proof.js +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/database-version/version_manager.js +3 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +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 +2 -2
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
- package/dest/epoch-helpers/index.d.ts +13 -10
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +15 -11
- 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 +2 -2
- 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 +2 -2
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/file-store/factory.d.ts +1 -1
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +18 -0
- 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 +9 -3
- package/dest/file-store/interface.d.ts.map +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 +26 -0
- package/dest/file-store/s3.d.ts.map +1 -0
- package/dest/file-store/s3.js +248 -0
- package/dest/gas/gas.d.ts +10 -2
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +16 -2
- package/dest/gas/gas_fees.d.ts +10 -2
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +15 -1
- package/dest/gas/gas_settings.d.ts +10 -2
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +13 -1
- 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 +10 -10
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +12 -16
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +2 -2
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +1 -1
- package/dest/interfaces/allowed_element.d.ts +12 -13
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +3 -3
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts +54 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +45 -18
- package/dest/interfaces/aztec-node-admin.d.ts +163 -110
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +8 -3
- package/dest/interfaces/aztec-node.d.ts +73 -42
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +37 -30
- package/dest/interfaces/block-builder.d.ts +12 -11
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +9 -1
- package/dest/interfaces/client.d.ts +1 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +0 -1
- package/dest/interfaces/configs.d.ts +84 -40
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +15 -6
- package/dest/interfaces/epoch-prover.d.ts +31 -14
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +24 -7
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.js +5 -4
- package/dest/interfaces/l2_logs_source.d.ts +12 -15
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +10 -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 +5 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +3 -2
- package/dest/interfaces/private_kernel_prover.d.ts +3 -3
- package/dest/interfaces/private_kernel_prover.d.ts.map +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 +9 -7
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +5 -4
- 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 +1929 -1263
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +134 -115
- package/dest/interfaces/public_state_source.d.ts +2 -2
- package/dest/interfaces/public_state_source.d.ts.map +1 -1
- package/dest/interfaces/server.d.ts +1 -1
- package/dest/interfaces/server_circuit_prover.d.ts +36 -37
- 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 +7 -3
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +4 -3
- package/dest/interfaces/tx_provider.d.ts +4 -4
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +118 -8
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +13 -4
- package/dest/interfaces/world_state.d.ts +23 -31
- 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 +2 -2
- package/dest/kernel/claimed_length_array.d.ts.map +1 -1
- package/dest/kernel/claimed_length_array.js +3 -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 +5 -4
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +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/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
- package/dest/kernel/hints/index.d.ts +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +2 -3
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +4 -4
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +2 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +2 -7
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.js +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +5 -4
- 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 +2 -8
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.js +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 +2 -2
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.js +4 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
- package/dest/kernel/index.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts +2 -2
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +4 -2
- package/dest/kernel/note_hash.d.ts +2 -2
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.d.ts +4 -4
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +12 -12
- package/dest/kernel/padded_side_effects.d.ts +2 -2
- package/dest/kernel/padded_side_effects.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.js +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 +6 -50
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +5 -17
- package/dest/kernel/private_call_request.d.ts +2 -17
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_call_request.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +52 -109
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +61 -49
- package/dest/kernel/private_context_inputs.d.ts +4 -4
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +11 -33
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -6
- 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 +12 -24
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +13 -8
- 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 +14 -14
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- 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 +3 -24
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +5 -2
- package/dest/kernel/private_log_data.d.ts +2 -2
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +5 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +18 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +24 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts +3 -3
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +4 -2
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +4 -2
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +8 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +3 -19
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +4 -2
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +2 -17
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +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 +8 -14
- package/dest/kernel/public_call_request.d.ts +23 -28
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +24 -3
- 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 +2 -8
- 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 +4 -5
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +7 -25
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +1 -1
- package/dest/keys/public_key.d.ts +2 -2
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_keys.d.ts +11 -6
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +15 -2
- 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 +5 -4
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/l1-contracts/slash_factory.js +1 -1
- package/dest/logs/contract_class_log.d.ts +22 -6
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +30 -6
- package/dest/logs/debug_log.d.ts +21 -0
- package/dest/logs/debug_log.d.ts.map +1 -0
- package/dest/logs/debug_log.js +39 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/directional_app_tagging_secret.js +64 -0
- 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 +13 -7
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +6 -3
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +5 -2
- package/dest/logs/log_filter.d.ts +1 -1
- package/dest/logs/log_id.d.ts +16 -8
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +19 -11
- package/dest/logs/message_context.d.ts +2 -2
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +1 -1
- package/dest/logs/pending_tagged_log.d.ts +2 -2
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +1 -1
- package/dest/logs/pre_tag.d.ts +34 -0
- package/dest/logs/pre_tag.d.ts.map +1 -0
- package/dest/logs/pre_tag.js +7 -0
- package/dest/logs/private_log.d.ts +11 -3
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +20 -8
- package/dest/logs/public_log.d.ts +34 -12
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +134 -45
- package/dest/logs/shared_secret_derivation.d.ts +2 -2
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +3 -5
- package/dest/logs/siloed_tag.d.ts +23 -0
- package/dest/logs/siloed_tag.d.ts.map +1 -0
- package/dest/logs/siloed_tag.js +30 -0
- package/dest/logs/tag.d.ts +21 -0
- package/dest/logs/tag.d.ts.map +1 -0
- package/dest/logs/tag.js +30 -0
- package/dest/logs/tx_scoped_l2_log.d.ts +32 -38
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +40 -45
- 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 +8 -7
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +11 -7
- 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 +2 -8
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_actor.js +2 -2
- package/dest/messaging/l1_to_l2_message.d.ts +2 -7
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +2 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts +6 -10
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +2 -8
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_actor.js +2 -2
- package/dest/messaging/l2_to_l1_membership.d.ts +6 -5
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +18 -20
- package/dest/messaging/l2_to_l1_message.d.ts +19 -2
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +22 -1
- 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 +18 -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 +3 -18
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note.js +5 -2
- package/dest/note/note_dao.d.ts +79 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +112 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/note/notes_filter.d.ts +4 -7
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +1 -3
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/block_attestation.d.ts +43 -14
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +38 -15
- package/dest/p2p/block_proposal.d.ts +11 -16
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +15 -15
- package/dest/p2p/client_type.d.ts +1 -1
- package/dest/p2p/consensus_payload.d.ts +36 -185
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +30 -24
- package/dest/p2p/gossipable.d.ts +10 -19
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +19 -25
- 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 +3 -2
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +3 -1
- package/dest/p2p/topic_type.d.ts +5 -9
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +14 -8
- package/dest/parity/index.d.ts +3 -4
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/parity_base_private_inputs.d.ts +33 -0
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +11 -7
- package/dest/parity/parity_public_inputs.d.ts +2 -5
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +38 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/chonk_proof.d.ts +28 -0
- package/dest/proofs/chonk_proof.d.ts.map +1 -0
- package/dest/proofs/chonk_proof.js +101 -0
- package/dest/proofs/index.d.ts +3 -2
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +2 -1
- package/dest/proofs/proof.d.ts +2 -5
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof.js +1 -1
- package/dest/proofs/proof_data.d.ts +33 -0
- package/dest/proofs/proof_data.d.ts.map +1 -0
- package/dest/proofs/proof_data.js +39 -0
- package/dest/proofs/proving_request_type.d.ts +18 -14
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +17 -12
- package/dest/proofs/recursive_proof.d.ts +3 -27
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.js +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -15
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +1 -33
- package/dest/rollup/base_rollup_hints.d.ts +17 -50
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +26 -26
- package/dest/rollup/block_constant_data.d.ts +18 -15
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +19 -11
- 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 +47 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +87 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +87 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +162 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +249 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +68 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +82 -0
- package/dest/rollup/checkpoint_header.d.ts +89 -0
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +57 -19
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +27 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +82 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +100 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +179 -0
- package/dest/rollup/epoch_constant_data.d.ts +16 -14
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +26 -13
- package/dest/rollup/index.d.ts +19 -17
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +18 -16
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts +62 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +44 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +64 -0
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
- package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +41 -0
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/tx_rollup_public_inputs.d.ts +87 -0
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +16 -16
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +91 -17
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +14 -2
- 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 +13 -13
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +27 -5
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/download.d.ts.map +1 -1
- package/dest/snapshots/download.js +58 -2
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/types.d.ts +18 -18
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/snapshots/types.js +5 -5
- package/dest/snapshots/upload.d.ts +1 -1
- package/dest/snapshots/upload.d.ts.map +1 -1
- package/dest/snapshots/upload.js +1 -0
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +13 -9
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +99 -102
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +223 -288
- 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 +79 -29
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +233 -52
- package/dest/trees/append_only_tree_snapshot.d.ts +10 -17
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +13 -11
- package/dest/trees/database_public_state_source.d.ts +2 -2
- package/dest/trees/database_public_state_source.d.ts.map +1 -1
- package/dest/trees/database_public_state_source.js +1 -1
- package/dest/trees/index.d.ts +1 -2
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +0 -1
- package/dest/trees/merkle_tree_id.d.ts +9 -9
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +18 -14
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +25 -1
- package/dest/trees/nullifier_membership_witness.d.ts +6 -39
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +1 -1
- package/dest/trees/public_data_leaf.d.ts +29 -28
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +25 -1
- package/dest/trees/public_data_witness.d.ts +12 -46
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +1 -1
- package/dest/tx/block_header.d.ts +22 -29
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +38 -25
- package/dest/tx/call_context.d.ts +7 -19
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/call_context.js +3 -1
- package/dest/tx/capsule.d.ts +2 -5
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +1 -1
- package/dest/tx/content_commitment.d.ts +5 -3
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +12 -1
- package/dest/tx/execution_payload.d.ts +37 -0
- package/dest/tx/execution_payload.d.ts.map +1 -0
- package/dest/tx/execution_payload.js +40 -0
- package/dest/tx/function_data.d.ts +5 -7
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/function_data.js +1 -1
- package/dest/tx/global_variable_builder.d.ts +6 -3
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +58 -32
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +54 -13
- package/dest/tx/hashed_values.d.ts +2 -8
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +1 -1
- package/dest/tx/in_tx.d.ts +26 -0
- package/dest/tx/in_tx.d.ts.map +1 -0
- package/dest/tx/in_tx.js +14 -0
- package/dest/tx/index.d.ts +5 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +4 -1
- package/dest/tx/indexed_tx_effect.d.ts +15 -11
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +7 -4
- package/dest/tx/offchain_effect.d.ts +2 -2
- package/dest/tx/offchain_effect.d.ts.map +1 -1
- package/dest/tx/offchain_effect.js +1 -1
- package/dest/tx/partial_state_reference.d.ts +6 -8
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +12 -9
- package/dest/tx/private_execution_result.d.ts +22 -52
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +18 -11
- package/dest/tx/private_tx_constant_data.d.ts +45 -0
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
- package/dest/tx/private_tx_constant_data.js +69 -0
- package/dest/tx/processed_tx.d.ts +7 -7
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +10 -14
- package/dest/tx/profiling.d.ts +38 -38
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +6 -7
- package/dest/tx/protocol_contracts.d.ts +37 -0
- package/dest/tx/protocol_contracts.d.ts.map +1 -0
- package/dest/tx/protocol_contracts.js +58 -0
- package/dest/tx/proven_tx.d.ts +25 -25
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +8 -8
- package/dest/tx/public_call_request_with_calldata.d.ts +10 -8
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +16 -2
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +9 -2
- package/dest/tx/simulated_tx.d.ts +1054 -30
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +2 -2
- package/dest/tx/state_reference.d.ts +12 -13
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +15 -10
- package/dest/tx/tree_snapshots.d.ts +16 -8
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +12 -1
- package/dest/tx/tx.d.ts +23 -33
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +36 -28
- package/dest/tx/tx_constant_data.d.ts +8 -40
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +12 -21
- package/dest/tx/tx_context.d.ts +2 -3
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +1 -1
- package/dest/tx/tx_effect.d.ts +22 -77
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +81 -221
- package/dest/tx/tx_execution_request.d.ts +2 -31
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +4 -2
- package/dest/tx/tx_hash.d.ts +2 -3
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +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 +2 -7
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +2 -2
- 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 +2 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -8
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +4 -4
- 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 +3 -4
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/update-checker/update-checker.js +2 -2
- package/dest/validators/errors.d.ts +7 -8
- 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 +20 -20
- 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 +4 -4
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +18 -13
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +11 -23
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +21 -1
- package/dest/vks/vk_data.d.ts +2 -8
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/vks/vk_data.js +1 -1
- package/dest/world-state/index.d.ts +2 -0
- package/dest/world-state/index.d.ts.map +1 -0
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +54 -0
- package/dest/world-state/world_state_revision.d.ts.map +1 -0
- package/dest/world-state/world_state_revision.js +44 -0
- package/dest/zkpassport/index.d.ts +18 -14
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +23 -22
- package/package.json +22 -13
- package/src/abi/abi.ts +45 -39
- package/src/abi/authorization_selector.ts +3 -2
- package/src/abi/buffer.ts +1 -1
- package/src/abi/contract_artifact.ts +6 -3
- package/src/abi/decoder.ts +1 -1
- package/src/abi/encoder.ts +1 -1
- package/src/abi/event_metadata_definition.ts +8 -0
- package/src/abi/event_selector.ts +3 -2
- package/src/abi/function_call.ts +6 -2
- package/src/abi/function_selector.ts +11 -2
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +2 -2
- package/src/abi/selector.ts +1 -1
- package/src/auth_witness/auth_witness.ts +2 -2
- package/src/avm/avm.ts +894 -9
- package/src/avm/avm_accumulated_data.ts +66 -30
- package/src/avm/avm_circuit_public_inputs.ts +62 -1
- package/src/avm/contract_storage_read.ts +1 -1
- package/src/avm/contract_storage_update_request.ts +1 -1
- package/src/avm/index.ts +1 -1
- package/src/avm/message_pack.ts +30 -2
- package/src/avm/public_call_stack_item_compressed.ts +1 -1
- package/src/avm/public_data_read.ts +1 -1
- package/src/avm/public_data_update_request.ts +1 -1
- package/src/avm/public_data_write.ts +13 -2
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +30 -10
- package/src/aztec-address/index.ts +28 -3
- package/src/block/attestation_info.ts +69 -0
- package/src/block/block_hash.ts +1 -1
- package/src/block/block_parameter.ts +8 -0
- package/src/block/body.ts +17 -38
- package/src/block/checkpointed_l2_block.ts +120 -0
- package/src/block/in_block.ts +25 -12
- package/src/block/index.ts +7 -2
- package/src/block/l2_block.ts +116 -25
- package/src/block/l2_block_code_to_purge.ts +33 -32
- package/src/block/l2_block_header.ts +246 -0
- package/src/block/l2_block_info.ts +64 -0
- package/src/block/l2_block_new.ts +207 -0
- package/src/block/l2_block_source.ts +130 -101
- package/src/block/l2_block_stream/interfaces.ts +1 -1
- package/src/block/l2_block_stream/l2_block_stream.ts +19 -5
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +6 -3
- package/src/block/proposal/attestations_and_signers.ts +140 -0
- package/src/block/proposal/committee_attestation.ts +1 -1
- package/src/block/proposal/index.ts +1 -0
- package/src/block/test/l2_tips_store_test_suite.ts +16 -10
- package/src/block/validate_block_result.ts +124 -0
- package/src/checkpoint/checkpoint.ts +135 -0
- package/src/checkpoint/checkpoint_info.ts +9 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +105 -0
- package/src/config/node-rpc-config.ts +9 -0
- package/src/contract/artifact_hash.ts +2 -2
- package/src/contract/complete_address.ts +1 -1
- package/src/contract/contract_address.ts +3 -3
- package/src/contract/contract_class.ts +2 -2
- package/src/contract/contract_class_id.ts +3 -3
- package/src/contract/contract_class_metadata.ts +8 -0
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/contract_instance.ts +12 -11
- package/src/contract/contract_instance_update.ts +1 -1
- package/src/contract/contract_metadata.ts +7 -0
- package/src/contract/deployment_info.ts +1 -1
- package/src/contract/index.ts +3 -0
- package/src/contract/interfaces/contract_class.ts +79 -48
- package/src/contract/interfaces/contract_data_source.ts +3 -2
- package/src/contract/interfaces/contract_instance.ts +48 -16
- package/src/contract/interfaces/contract_instance_update.ts +12 -10
- package/src/contract/partial_address.ts +1 -1
- package/src/contract/private_function.ts +3 -2
- package/src/contract/private_function_membership_proof.ts +3 -3
- package/src/contract/utility_function_membership_proof.ts +1 -1
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +2 -2
- package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
- package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
- package/src/epoch-helpers/index.ts +45 -28
- package/src/errors/simulation_error.ts +1 -1
- package/src/fees/transaction_fee.ts +1 -1
- package/src/file-store/factory.ts +15 -0
- package/src/file-store/http.ts +6 -3
- package/src/file-store/interface.ts +8 -2
- package/src/file-store/s3.ts +250 -0
- package/src/gas/gas.ts +15 -1
- package/src/gas/gas_fees.ts +15 -1
- package/src/gas/gas_settings.ts +20 -1
- package/src/gas/gas_used.ts +22 -1
- package/src/hash/hash.ts +12 -15
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +10 -8
- package/src/interfaces/archiver.ts +87 -19
- package/src/interfaces/aztec-node-admin.ts +15 -4
- package/src/interfaces/aztec-node.ts +133 -77
- package/src/interfaces/block-builder.ts +24 -14
- package/src/interfaces/client.ts +0 -1
- package/src/interfaces/configs.ts +72 -29
- package/src/interfaces/epoch-prover.ts +39 -16
- package/src/interfaces/get_logs_response.ts +13 -9
- package/src/interfaces/l2_logs_source.ts +11 -14
- package/src/interfaces/merkle_tree_operations.ts +13 -3
- package/src/interfaces/p2p.ts +8 -2
- package/src/interfaces/private_kernel_prover.ts +2 -2
- package/src/interfaces/prover-client.ts +13 -10
- package/src/interfaces/proving-job.ts +232 -139
- package/src/interfaces/public_state_source.ts +1 -1
- package/src/interfaces/server_circuit_prover.ts +89 -62
- package/src/interfaces/slasher.ts +25 -21
- package/src/interfaces/tx_provider.ts +3 -2
- package/src/interfaces/validator.ts +50 -18
- package/src/interfaces/world_state.ts +26 -18
- package/src/kernel/claimed_length_array.ts +1 -1
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +4 -3
- package/src/kernel/hints/build_transient_data_hints.ts +2 -2
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
- package/src/kernel/hints/key_validation_hint.ts +1 -1
- package/src/kernel/hints/key_validation_request.ts +2 -1
- package/src/kernel/hints/key_validation_request_and_generator.ts +1 -1
- package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
- package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/scoped_key_validation_request_and_generator.ts +1 -1
- package/src/kernel/hints/scoped_value_cache.ts +1 -1
- package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
- package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
- package/src/kernel/log_hash.ts +1 -1
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +9 -9
- package/src/kernel/padded_side_effects.ts +1 -1
- package/src/kernel/private_call_data.ts +3 -22
- package/src/kernel/private_call_request.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +95 -75
- package/src/kernel/private_context_inputs.ts +3 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +12 -5
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +12 -5
- package/src/kernel/private_kernel_prover_output.ts +4 -4
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +9 -3
- package/src/kernel/private_log_data.ts +1 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +36 -1
- package/src/kernel/private_to_public_accumulated_data.ts +1 -1
- package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +11 -2
- package/src/kernel/private_to_rollup_accumulated_data.ts +1 -1
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_validation_requests.ts +1 -13
- package/src/kernel/public_call_request.ts +28 -1
- package/src/kernel/utils/optional_number.ts +1 -1
- package/src/keys/derivation.ts +7 -30
- package/src/keys/public_key.ts +1 -1
- package/src/keys/public_keys.ts +22 -2
- package/src/l1-contracts/slash_factory.ts +3 -1
- package/src/logs/contract_class_log.ts +36 -5
- package/src/logs/debug_log.ts +51 -0
- package/src/logs/directional_app_tagging_secret.ts +79 -0
- package/src/logs/index.ts +5 -2
- package/src/logs/log_id.ts +22 -11
- package/src/logs/message_context.ts +1 -1
- package/src/logs/pending_tagged_log.ts +1 -1
- package/src/logs/pre_tag.ts +25 -0
- package/src/logs/private_log.ts +22 -5
- package/src/logs/public_log.ts +140 -57
- package/src/logs/shared_secret_derivation.ts +4 -6
- package/src/logs/siloed_tag.ts +44 -0
- package/src/logs/tag.ts +42 -0
- package/src/logs/tx_scoped_l2_log.ts +48 -45
- package/src/messaging/in_hash.ts +10 -0
- package/src/messaging/inbox_leaf.ts +13 -7
- package/src/messaging/index.ts +2 -0
- package/src/messaging/l1_actor.ts +2 -2
- package/src/messaging/l1_to_l2_message.ts +3 -2
- package/src/messaging/l1_to_l2_message_source.ts +5 -10
- package/src/messaging/l2_actor.ts +2 -2
- package/src/messaging/l2_to_l1_membership.ts +25 -30
- package/src/messaging/l2_to_l1_message.ts +30 -1
- package/src/messaging/out_hash.ts +36 -0
- package/src/noir/index.ts +17 -6
- package/src/note/index.ts +1 -1
- package/src/note/note.ts +5 -2
- package/src/note/note_dao.ts +182 -0
- package/src/note/notes_filter.ts +4 -8
- package/src/p2p/block_attestation.ts +50 -17
- package/src/p2p/block_proposal.ts +20 -21
- package/src/p2p/consensus_payload.ts +34 -24
- package/src/p2p/gossipable.ts +17 -26
- package/src/p2p/signature_utils.ts +3 -1
- package/src/p2p/topic_type.ts +15 -8
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +14 -12
- package/src/parity/parity_public_inputs.ts +1 -1
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/chonk_proof.ts +118 -0
- package/src/proofs/index.ts +2 -1
- package/src/proofs/proof.ts +1 -1
- package/src/proofs/proof_data.ts +60 -0
- package/src/proofs/proving_request_type.ts +14 -10
- package/src/proofs/recursive_proof.ts +1 -1
- package/src/rollup/avm_proof_data.ts +2 -38
- package/src/rollup/base_rollup_hints.ts +22 -22
- package/src/rollup/block_constant_data.ts +17 -7
- package/src/rollup/block_headers_hash.ts +12 -0
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +125 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +303 -0
- package/src/rollup/checkpoint_constant_data.ts +124 -0
- package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +83 -28
- package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
- package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +31 -53
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +219 -0
- package/src/rollup/epoch_constant_data.ts +29 -11
- package/src/rollup/index.ts +18 -16
- package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
- package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/root_rollup_public_inputs.ts +99 -0
- package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +27 -42
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +14 -14
- package/src/schemas/schemas.ts +24 -1
- package/src/slashing/empire.ts +6 -4
- package/src/slashing/helpers.ts +17 -12
- package/src/slashing/interfaces.ts +3 -1
- package/src/slashing/types.ts +47 -20
- package/src/snapshots/download.ts +66 -2
- package/src/snapshots/types.ts +33 -29
- package/src/snapshots/upload.ts +1 -0
- package/src/stats/stats.ts +31 -20
- package/src/tests/factories.ts +472 -480
- package/src/tests/mocks.ts +368 -84
- package/src/trees/append_only_tree_snapshot.ts +12 -13
- package/src/trees/database_public_state_source.ts +1 -1
- package/src/trees/index.ts +0 -1
- package/src/trees/nullifier_leaf.ts +33 -1
- package/src/trees/nullifier_membership_witness.ts +1 -1
- package/src/trees/public_data_leaf.ts +33 -1
- package/src/trees/public_data_witness.ts +1 -1
- package/src/tx/block_header.ts +47 -43
- package/src/tx/call_context.ts +1 -1
- package/src/tx/capsule.ts +1 -1
- package/src/tx/content_commitment.ts +15 -2
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/function_data.ts +1 -1
- package/src/tx/global_variable_builder.ts +10 -2
- package/src/tx/global_variables.ts +76 -17
- package/src/tx/hashed_values.ts +1 -1
- package/src/tx/in_tx.ts +24 -0
- package/src/tx/index.ts +4 -1
- package/src/tx/indexed_tx_effect.ts +6 -5
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +14 -14
- package/src/tx/private_execution_result.ts +17 -8
- package/src/tx/private_tx_constant_data.ts +94 -0
- package/src/tx/processed_tx.ts +23 -26
- package/src/tx/profiling.ts +5 -9
- package/src/tx/protocol_contracts.ts +86 -0
- package/src/tx/proven_tx.ts +6 -6
- package/src/tx/public_call_request_with_calldata.ts +18 -1
- package/src/tx/public_simulation_output.ts +19 -2
- package/src/tx/simulated_tx.ts +2 -2
- package/src/tx/state_reference.ts +13 -15
- package/src/tx/tree_snapshots.ts +17 -1
- package/src/tx/tx.ts +37 -30
- package/src/tx/tx_constant_data.ts +9 -22
- package/src/tx/tx_context.ts +1 -1
- package/src/tx/tx_effect.ts +110 -263
- package/src/tx/tx_execution_request.ts +1 -1
- package/src/tx/tx_hash.ts +1 -1
- package/src/tx/tx_receipt.ts +3 -2
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/error_texts.ts +1 -1
- package/src/tx/validator/tx_validator.ts +8 -6
- package/src/update-checker/update-checker.ts +3 -2
- package/src/validators/errors.ts +4 -5
- package/src/validators/schemas.ts +55 -49
- package/src/validators/types.ts +9 -8
- package/src/versioning/versioning.ts +21 -16
- package/src/vks/verification_key.ts +26 -1
- package/src/vks/vk_data.ts +1 -1
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +63 -0
- package/src/zkpassport/index.ts +41 -37
- package/dest/avm/public_data_hint.d.ts +0 -16
- package/dest/avm/public_data_hint.d.ts.map +0 -1
- package/dest/avm/public_data_hint.js +0 -27
- 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/block/published_l2_block.d.ts +0 -121
- package/dest/block/published_l2_block.d.ts.map +0 -1
- package/dest/block/published_l2_block.js +0 -50
- package/dest/interfaces/pxe.d.ts +0 -329
- package/dest/interfaces/pxe.d.ts.map +0 -1
- package/dest/interfaces/pxe.js +0 -100
- package/dest/logs/indexed_tagging_secret.d.ts +0 -28
- package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
- package/dest/logs/indexed_tagging_secret.js +0 -50
- package/dest/logs/log_with_tx_data.d.ts +0 -22
- package/dest/logs/log_with_tx_data.d.ts.map +0 -1
- package/dest/logs/log_with_tx_data.js +0 -54
- package/dest/note/extended_note.d.ts +0 -111
- package/dest/note/extended_note.d.ts.map +0 -1
- package/dest/note/extended_note.js +0 -106
- package/dest/parity/base_parity_inputs.d.ts +0 -35
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -52
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -37
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.d.ts +0 -18
- package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.js +0 -41
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +0 -115
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts +0 -43
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
- package/dest/rollup/block_root_rollup.d.ts +0 -283
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.js +0 -306
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
- package/dest/rollup/merge_rollup.d.ts +0 -43
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -37
- package/dest/rollup/previous_rollup_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -37
- package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/private_base_rollup_inputs.js +0 -44
- package/dest/rollup/private_tube_data.d.ts +0 -15
- package/dest/rollup/private_tube_data.d.ts.map +0 -1
- package/dest/rollup/private_tube_data.js +0 -25
- package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.js +0 -48
- package/dest/rollup/public_tube_data.d.ts +0 -15
- package/dest/rollup/public_tube_data.d.ts.map +0 -1
- package/dest/rollup/public_tube_data.js +0 -25
- package/dest/rollup/root_rollup.d.ts +0 -106
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/dest/rollup/root_rollup.js +0 -147
- package/dest/rollup/state_diff_hints.d.ts +0 -103
- package/dest/rollup/state_diff_hints.d.ts.map +0 -1
- package/dest/rollup/state_diff_hints.js +0 -85
- package/dest/rollup/tube_inputs.d.ts +0 -43
- package/dest/rollup/tube_inputs.d.ts.map +0 -1
- package/dest/rollup/tube_inputs.js +0 -63
- package/dest/trees/protocol_contract_leaf.d.ts +0 -84
- package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
- package/dest/trees/protocol_contract_leaf.js +0 -100
- package/dest/tx/proposed_block_header.d.ts +0 -82
- package/dest/tx/proposed_block_header.d.ts.map +0 -1
- package/src/avm/public_data_hint.ts +0 -38
- package/src/block/l2_block_number.ts +0 -8
- package/src/block/published_l2_block.ts +0 -60
- package/src/interfaces/pxe.ts +0 -532
- package/src/logs/indexed_tagging_secret.ts +0 -48
- package/src/logs/log_with_tx_data.ts +0 -56
- package/src/note/extended_note.ts +0 -149
- package/src/parity/root_parity_input.ts +0 -71
- package/src/proofs/client_ivc_proof.ts +0 -51
- package/src/rollup/block_root_rollup.ts +0 -380
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
- package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
- package/src/rollup/previous_rollup_block_data.ts +0 -48
- package/src/rollup/previous_rollup_data.ts +0 -48
- package/src/rollup/private_base_rollup_inputs.ts +0 -53
- package/src/rollup/private_tube_data.ts +0 -35
- package/src/rollup/public_base_rollup_inputs.ts +0 -59
- package/src/rollup/public_tube_data.ts +0 -35
- package/src/rollup/root_rollup.ts +0 -195
- package/src/rollup/tube_inputs.ts +0 -77
- package/src/trees/protocol_contract_leaf.ts +0 -128
package/src/avm/avm.ts
CHANGED
|
@@ -1,29 +1,48 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
4
4
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
|
+
import { FunctionSelector } from '../abi/index.js';
|
|
7
8
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
9
|
+
import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
|
|
10
|
+
import { SimulationError } from '../errors/simulation_error.js';
|
|
8
11
|
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
9
12
|
import { Gas } from '../gas/gas.js';
|
|
10
13
|
import { GasFees } from '../gas/gas_fees.js';
|
|
11
14
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
15
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
12
16
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
17
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
18
|
+
import { PublicLog } from '../logs/public_log.js';
|
|
13
19
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
20
|
+
import { NullishToUndefined, type ZodFor, schemas } from '../schemas/schemas.js';
|
|
14
21
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
15
22
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
16
|
-
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
17
|
-
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
18
|
-
import {
|
|
23
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
24
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
25
|
+
import {
|
|
26
|
+
GlobalVariables,
|
|
27
|
+
NestedProcessReturnValues,
|
|
28
|
+
ProtocolContracts,
|
|
29
|
+
PublicCallRequestWithCalldata,
|
|
30
|
+
TreeSnapshots,
|
|
31
|
+
type Tx,
|
|
32
|
+
} from '../tx/index.js';
|
|
33
|
+
import { TxExecutionPhase } from '../tx/processed_tx.js';
|
|
34
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
19
35
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
20
36
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
37
|
+
import { PublicDataWrite } from './public_data_write.js';
|
|
38
|
+
import { RevertCode } from './revert_code.js';
|
|
21
39
|
|
|
22
40
|
////////////////////////////////////////////////////////////////////////////
|
|
23
41
|
// Hints (contracts)
|
|
24
42
|
////////////////////////////////////////////////////////////////////////////
|
|
25
43
|
export class AvmContractClassHint {
|
|
26
44
|
constructor(
|
|
45
|
+
public readonly hintKey: number,
|
|
27
46
|
public readonly classId: Fr,
|
|
28
47
|
public readonly artifactHash: Fr,
|
|
29
48
|
public readonly privateFunctionsRoot: Fr,
|
|
@@ -33,20 +52,42 @@ export class AvmContractClassHint {
|
|
|
33
52
|
static get schema() {
|
|
34
53
|
return z
|
|
35
54
|
.object({
|
|
55
|
+
hintKey: z.number().int().nonnegative(),
|
|
36
56
|
classId: schemas.Fr,
|
|
37
57
|
artifactHash: schemas.Fr,
|
|
38
58
|
privateFunctionsRoot: schemas.Fr,
|
|
39
59
|
packedBytecode: schemas.Buffer,
|
|
40
60
|
})
|
|
41
61
|
.transform(
|
|
42
|
-
({ classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
|
|
43
|
-
new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode),
|
|
62
|
+
({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
|
|
63
|
+
new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode),
|
|
44
64
|
);
|
|
45
65
|
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Creates an AvmContractClassHint from a plain object without Zod validation.
|
|
69
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
70
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
71
|
+
* @param obj - Plain object containing AvmContractClassHint fields
|
|
72
|
+
* @returns An AvmContractClassHint instance
|
|
73
|
+
*/
|
|
74
|
+
static fromPlainObject(obj: any): AvmContractClassHint {
|
|
75
|
+
if (obj instanceof AvmContractClassHint) {
|
|
76
|
+
return obj;
|
|
77
|
+
}
|
|
78
|
+
return new AvmContractClassHint(
|
|
79
|
+
obj.hintKey,
|
|
80
|
+
Fr.fromPlainObject(obj.classId),
|
|
81
|
+
Fr.fromPlainObject(obj.artifactHash),
|
|
82
|
+
Fr.fromPlainObject(obj.privateFunctionsRoot),
|
|
83
|
+
obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode),
|
|
84
|
+
);
|
|
85
|
+
}
|
|
46
86
|
}
|
|
47
87
|
|
|
48
88
|
export class AvmBytecodeCommitmentHint {
|
|
49
89
|
constructor(
|
|
90
|
+
public readonly hintKey: number,
|
|
50
91
|
public readonly classId: Fr,
|
|
51
92
|
public readonly commitment: Fr,
|
|
52
93
|
) {}
|
|
@@ -54,15 +95,35 @@ export class AvmBytecodeCommitmentHint {
|
|
|
54
95
|
static get schema() {
|
|
55
96
|
return z
|
|
56
97
|
.object({
|
|
98
|
+
hintKey: z.number().int().nonnegative(),
|
|
57
99
|
classId: schemas.Fr,
|
|
58
100
|
commitment: schemas.Fr,
|
|
59
101
|
})
|
|
60
|
-
.transform(({ classId, commitment }) => new AvmBytecodeCommitmentHint(classId, commitment));
|
|
102
|
+
.transform(({ hintKey, classId, commitment }) => new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
|
|
107
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
108
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
109
|
+
* @param obj - Plain object containing AvmBytecodeCommitmentHint fields
|
|
110
|
+
* @returns An AvmBytecodeCommitmentHint instance
|
|
111
|
+
*/
|
|
112
|
+
static fromPlainObject(obj: any): AvmBytecodeCommitmentHint {
|
|
113
|
+
if (obj instanceof AvmBytecodeCommitmentHint) {
|
|
114
|
+
return obj;
|
|
115
|
+
}
|
|
116
|
+
return new AvmBytecodeCommitmentHint(
|
|
117
|
+
obj.hintKey,
|
|
118
|
+
Fr.fromPlainObject(obj.classId),
|
|
119
|
+
Fr.fromPlainObject(obj.commitment),
|
|
120
|
+
);
|
|
61
121
|
}
|
|
62
122
|
}
|
|
63
123
|
|
|
64
124
|
export class AvmContractInstanceHint {
|
|
65
125
|
constructor(
|
|
126
|
+
public readonly hintKey: number,
|
|
66
127
|
public readonly address: AztecAddress,
|
|
67
128
|
public readonly salt: Fr,
|
|
68
129
|
public readonly deployer: AztecAddress,
|
|
@@ -75,6 +136,7 @@ export class AvmContractInstanceHint {
|
|
|
75
136
|
static get schema() {
|
|
76
137
|
return z
|
|
77
138
|
.object({
|
|
139
|
+
hintKey: z.number().int().nonnegative(),
|
|
78
140
|
address: AztecAddress.schema,
|
|
79
141
|
salt: schemas.Fr,
|
|
80
142
|
deployer: AztecAddress.schema,
|
|
@@ -85,6 +147,7 @@ export class AvmContractInstanceHint {
|
|
|
85
147
|
})
|
|
86
148
|
.transform(
|
|
87
149
|
({
|
|
150
|
+
hintKey,
|
|
88
151
|
address,
|
|
89
152
|
salt,
|
|
90
153
|
deployer,
|
|
@@ -94,6 +157,7 @@ export class AvmContractInstanceHint {
|
|
|
94
157
|
publicKeys,
|
|
95
158
|
}) =>
|
|
96
159
|
new AvmContractInstanceHint(
|
|
160
|
+
hintKey,
|
|
97
161
|
address,
|
|
98
162
|
salt,
|
|
99
163
|
deployer,
|
|
@@ -104,6 +168,65 @@ export class AvmContractInstanceHint {
|
|
|
104
168
|
),
|
|
105
169
|
);
|
|
106
170
|
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Creates an AvmContractInstanceHint from a plain object without Zod validation.
|
|
174
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
175
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
176
|
+
* @param obj - Plain object containing AvmContractInstanceHint fields
|
|
177
|
+
* @returns An AvmContractInstanceHint instance
|
|
178
|
+
*/
|
|
179
|
+
static fromPlainObject(obj: any): AvmContractInstanceHint {
|
|
180
|
+
if (obj instanceof AvmContractInstanceHint) {
|
|
181
|
+
return obj;
|
|
182
|
+
}
|
|
183
|
+
return new AvmContractInstanceHint(
|
|
184
|
+
obj.hintKey,
|
|
185
|
+
AztecAddress.fromPlainObject(obj.address),
|
|
186
|
+
Fr.fromPlainObject(obj.salt),
|
|
187
|
+
AztecAddress.fromPlainObject(obj.deployer),
|
|
188
|
+
Fr.fromPlainObject(obj.currentContractClassId),
|
|
189
|
+
Fr.fromPlainObject(obj.originalContractClassId),
|
|
190
|
+
Fr.fromPlainObject(obj.initializationHash),
|
|
191
|
+
PublicKeys.fromPlainObject(obj.publicKeys),
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export class AvmDebugFunctionNameHint {
|
|
197
|
+
constructor(
|
|
198
|
+
public readonly address: AztecAddress,
|
|
199
|
+
public readonly selector: Fr,
|
|
200
|
+
public readonly name: string,
|
|
201
|
+
) {}
|
|
202
|
+
|
|
203
|
+
static get schema() {
|
|
204
|
+
return z
|
|
205
|
+
.object({
|
|
206
|
+
address: AztecAddress.schema,
|
|
207
|
+
selector: schemas.Fr,
|
|
208
|
+
name: z.string(),
|
|
209
|
+
})
|
|
210
|
+
.transform(({ address, selector, name }) => new AvmDebugFunctionNameHint(address, selector, name));
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
|
|
215
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
216
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
217
|
+
* @param obj - Plain object containing AvmDebugFunctionNameHint fields
|
|
218
|
+
* @returns An AvmDebugFunctionNameHint instance
|
|
219
|
+
*/
|
|
220
|
+
static fromPlainObject(obj: any): AvmDebugFunctionNameHint {
|
|
221
|
+
if (obj instanceof AvmDebugFunctionNameHint) {
|
|
222
|
+
return obj;
|
|
223
|
+
}
|
|
224
|
+
return new AvmDebugFunctionNameHint(
|
|
225
|
+
AztecAddress.fromPlainObject(obj.address),
|
|
226
|
+
Fr.fromPlainObject(obj.selector),
|
|
227
|
+
obj.name,
|
|
228
|
+
);
|
|
229
|
+
}
|
|
107
230
|
}
|
|
108
231
|
|
|
109
232
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -130,6 +253,25 @@ export class AvmGetSiblingPathHint {
|
|
|
130
253
|
})
|
|
131
254
|
.transform(({ hintKey, treeId, index, path }) => new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
132
255
|
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
|
|
259
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
260
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
261
|
+
* @param obj - Plain object containing AvmGetSiblingPathHint fields
|
|
262
|
+
* @returns An AvmGetSiblingPathHint instance
|
|
263
|
+
*/
|
|
264
|
+
static fromPlainObject(obj: any): AvmGetSiblingPathHint {
|
|
265
|
+
if (obj instanceof AvmGetSiblingPathHint) {
|
|
266
|
+
return obj;
|
|
267
|
+
}
|
|
268
|
+
return new AvmGetSiblingPathHint(
|
|
269
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
270
|
+
obj.treeId,
|
|
271
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
272
|
+
obj.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
273
|
+
);
|
|
274
|
+
}
|
|
133
275
|
}
|
|
134
276
|
|
|
135
277
|
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
@@ -158,6 +300,26 @@ export class AvmGetPreviousValueIndexHint {
|
|
|
158
300
|
new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent),
|
|
159
301
|
);
|
|
160
302
|
}
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
|
|
306
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
307
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
308
|
+
* @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
|
|
309
|
+
* @returns An AvmGetPreviousValueIndexHint instance
|
|
310
|
+
*/
|
|
311
|
+
static fromPlainObject(obj: any): AvmGetPreviousValueIndexHint {
|
|
312
|
+
if (obj instanceof AvmGetPreviousValueIndexHint) {
|
|
313
|
+
return obj;
|
|
314
|
+
}
|
|
315
|
+
return new AvmGetPreviousValueIndexHint(
|
|
316
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
317
|
+
obj.treeId,
|
|
318
|
+
Fr.fromPlainObject(obj.value),
|
|
319
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
320
|
+
obj.alreadyPresent,
|
|
321
|
+
);
|
|
322
|
+
}
|
|
161
323
|
}
|
|
162
324
|
|
|
163
325
|
type IndexedTreeLeafPreimages = NullifierLeafPreimage | PublicDataTreeLeafPreimage;
|
|
@@ -185,6 +347,24 @@ function AvmGetLeafPreimageHintFactory(klass: IndexedTreeLeafPreimagesClasses) {
|
|
|
185
347
|
})
|
|
186
348
|
.transform(({ hintKey, index, leafPreimage }) => new this(hintKey, index, leafPreimage));
|
|
187
349
|
}
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Creates an instance from a plain object without Zod validation.
|
|
353
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
354
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
355
|
+
* @param obj - Plain object containing hint fields
|
|
356
|
+
* @returns An instance
|
|
357
|
+
*/
|
|
358
|
+
static fromPlainObject(obj: any): any {
|
|
359
|
+
if (obj instanceof this) {
|
|
360
|
+
return obj;
|
|
361
|
+
}
|
|
362
|
+
return new this(
|
|
363
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
364
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
365
|
+
klass.fromPlainObject(obj.leafPreimage),
|
|
366
|
+
);
|
|
367
|
+
}
|
|
188
368
|
};
|
|
189
369
|
}
|
|
190
370
|
|
|
@@ -214,6 +394,25 @@ export class AvmGetLeafValueHint {
|
|
|
214
394
|
})
|
|
215
395
|
.transform(({ hintKey, treeId, index, value }) => new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
216
396
|
}
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Creates an AvmGetLeafValueHint from a plain object without Zod validation.
|
|
400
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
401
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
402
|
+
* @param obj - Plain object containing AvmGetLeafValueHint fields
|
|
403
|
+
* @returns An AvmGetLeafValueHint instance
|
|
404
|
+
*/
|
|
405
|
+
static fromPlainObject(obj: any): AvmGetLeafValueHint {
|
|
406
|
+
if (obj instanceof AvmGetLeafValueHint) {
|
|
407
|
+
return obj;
|
|
408
|
+
}
|
|
409
|
+
return new AvmGetLeafValueHint(
|
|
410
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
411
|
+
obj.treeId,
|
|
412
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
413
|
+
Fr.fromPlainObject(obj.value),
|
|
414
|
+
);
|
|
415
|
+
}
|
|
217
416
|
}
|
|
218
417
|
|
|
219
418
|
// Hint for MerkleTreeDB.sequentialInsert.
|
|
@@ -263,6 +462,43 @@ function AvmSequentialInsertHintFactory(klass: IndexedTreeLeafPreimagesClasses)
|
|
|
263
462
|
new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData),
|
|
264
463
|
);
|
|
265
464
|
}
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* Creates an instance from a plain object without Zod validation.
|
|
468
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
469
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
470
|
+
* @param obj - Plain object containing hint fields
|
|
471
|
+
* @returns An instance
|
|
472
|
+
*/
|
|
473
|
+
static fromPlainObject(obj: any): any {
|
|
474
|
+
if (obj instanceof this) {
|
|
475
|
+
return obj;
|
|
476
|
+
}
|
|
477
|
+
// Determine the leaf class based on the klass parameter
|
|
478
|
+
const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
|
|
479
|
+
return new this(
|
|
480
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
481
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
|
|
482
|
+
obj.treeId,
|
|
483
|
+
LeafClass.fromPlainObject(obj.leaf),
|
|
484
|
+
{
|
|
485
|
+
leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
|
|
486
|
+
index:
|
|
487
|
+
typeof obj.lowLeavesWitnessData.index === 'bigint'
|
|
488
|
+
? obj.lowLeavesWitnessData.index
|
|
489
|
+
: BigInt(obj.lowLeavesWitnessData.index),
|
|
490
|
+
path: obj.lowLeavesWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
|
|
494
|
+
index:
|
|
495
|
+
typeof obj.insertionWitnessData.index === 'bigint'
|
|
496
|
+
? obj.insertionWitnessData.index
|
|
497
|
+
: BigInt(obj.insertionWitnessData.index),
|
|
498
|
+
path: obj.insertionWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
499
|
+
},
|
|
500
|
+
);
|
|
501
|
+
}
|
|
266
502
|
};
|
|
267
503
|
}
|
|
268
504
|
|
|
@@ -293,6 +529,25 @@ export class AvmAppendLeavesHint {
|
|
|
293
529
|
({ hintKey, stateAfter, treeId, leaves }) => new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves),
|
|
294
530
|
);
|
|
295
531
|
}
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Creates an AvmAppendLeavesHint from a plain object without Zod validation.
|
|
535
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
536
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
537
|
+
* @param obj - Plain object containing AvmAppendLeavesHint fields
|
|
538
|
+
* @returns An AvmAppendLeavesHint instance
|
|
539
|
+
*/
|
|
540
|
+
static fromPlainObject(obj: any): AvmAppendLeavesHint {
|
|
541
|
+
if (obj instanceof AvmAppendLeavesHint) {
|
|
542
|
+
return obj;
|
|
543
|
+
}
|
|
544
|
+
return new AvmAppendLeavesHint(
|
|
545
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
546
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
|
|
547
|
+
obj.treeId,
|
|
548
|
+
obj.leaves.map((l: any) => Fr.fromPlainObject(l)),
|
|
549
|
+
);
|
|
550
|
+
}
|
|
296
551
|
}
|
|
297
552
|
|
|
298
553
|
// Hint for checkpoint actions that don't change the state.
|
|
@@ -317,6 +572,20 @@ class AvmCheckpointActionNoStateChangeHint {
|
|
|
317
572
|
new this(actionCounter, oldCheckpointId, newCheckpointId),
|
|
318
573
|
);
|
|
319
574
|
}
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Creates an instance from a plain object without Zod validation.
|
|
578
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
579
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
580
|
+
* @param obj - Plain object containing hint fields
|
|
581
|
+
* @returns An instance
|
|
582
|
+
*/
|
|
583
|
+
static fromPlainObject(obj: any): any {
|
|
584
|
+
if (obj instanceof this) {
|
|
585
|
+
return obj;
|
|
586
|
+
}
|
|
587
|
+
return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
|
|
588
|
+
}
|
|
320
589
|
}
|
|
321
590
|
|
|
322
591
|
// Hint for MerkleTreeDB.createCheckpoint.
|
|
@@ -379,8 +648,32 @@ export class AvmRevertCheckpointHint {
|
|
|
379
648
|
new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter),
|
|
380
649
|
);
|
|
381
650
|
}
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
* Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
|
|
654
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
655
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
656
|
+
* @param obj - Plain object containing AvmRevertCheckpointHint fields
|
|
657
|
+
* @returns An AvmRevertCheckpointHint instance
|
|
658
|
+
*/
|
|
659
|
+
static fromPlainObject(obj: any): AvmRevertCheckpointHint {
|
|
660
|
+
if (obj instanceof AvmRevertCheckpointHint) {
|
|
661
|
+
return obj;
|
|
662
|
+
}
|
|
663
|
+
return new AvmRevertCheckpointHint(
|
|
664
|
+
obj.actionCounter,
|
|
665
|
+
obj.oldCheckpointId,
|
|
666
|
+
obj.newCheckpointId,
|
|
667
|
+
TreeSnapshots.fromPlainObject(obj.stateBefore),
|
|
668
|
+
TreeSnapshots.fromPlainObject(obj.stateAfter),
|
|
669
|
+
);
|
|
670
|
+
}
|
|
382
671
|
}
|
|
383
672
|
|
|
673
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
674
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
675
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
676
|
+
|
|
384
677
|
////////////////////////////////////////////////////////////////////////////
|
|
385
678
|
// Hints (other)
|
|
386
679
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -389,6 +682,8 @@ export class AvmTxHint {
|
|
|
389
682
|
public readonly hash: string,
|
|
390
683
|
public readonly gasSettings: GasSettings,
|
|
391
684
|
public readonly effectiveGasFees: GasFees,
|
|
685
|
+
public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
|
|
686
|
+
public readonly revertibleContractDeploymentData: ContractDeploymentData,
|
|
392
687
|
public readonly nonRevertibleAccumulatedData: {
|
|
393
688
|
noteHashes: Fr[];
|
|
394
689
|
nullifiers: Fr[];
|
|
@@ -414,6 +709,7 @@ export class AvmTxHint {
|
|
|
414
709
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
415
710
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
416
711
|
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
712
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
417
713
|
|
|
418
714
|
// For informational purposes. Assumed quick because it should be cached.
|
|
419
715
|
const txHash = tx.getTxHash();
|
|
@@ -422,6 +718,8 @@ export class AvmTxHint {
|
|
|
422
718
|
txHash.hash.toString(),
|
|
423
719
|
gasSettings,
|
|
424
720
|
effectiveGasFees,
|
|
721
|
+
allContractDeploymentData.getNonRevertibleContractDeploymentData(),
|
|
722
|
+
allContractDeploymentData.getRevertibleContractDeploymentData(),
|
|
425
723
|
{
|
|
426
724
|
noteHashes: tx.data.forPublic!.nonRevertibleAccumulatedData.noteHashes.filter(x => !x.isZero()),
|
|
427
725
|
nullifiers: tx.data.forPublic!.nonRevertibleAccumulatedData.nullifiers.filter(x => !x.isZero()),
|
|
@@ -445,6 +743,8 @@ export class AvmTxHint {
|
|
|
445
743
|
'',
|
|
446
744
|
GasSettings.empty(),
|
|
447
745
|
GasFees.empty(),
|
|
746
|
+
ContractDeploymentData.empty(),
|
|
747
|
+
ContractDeploymentData.empty(),
|
|
448
748
|
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
449
749
|
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
450
750
|
[],
|
|
@@ -455,12 +755,53 @@ export class AvmTxHint {
|
|
|
455
755
|
);
|
|
456
756
|
}
|
|
457
757
|
|
|
758
|
+
/**
|
|
759
|
+
* Creates an AvmTxHint from a plain object without Zod validation.
|
|
760
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
761
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
762
|
+
* @param obj - Plain object containing AvmTxHint fields
|
|
763
|
+
* @returns An AvmTxHint instance
|
|
764
|
+
*/
|
|
765
|
+
static fromPlainObject(obj: any): AvmTxHint {
|
|
766
|
+
if (obj instanceof AvmTxHint) {
|
|
767
|
+
return obj;
|
|
768
|
+
}
|
|
769
|
+
return new AvmTxHint(
|
|
770
|
+
obj.hash,
|
|
771
|
+
GasSettings.fromPlainObject(obj.gasSettings),
|
|
772
|
+
GasFees.fromPlainObject(obj.effectiveGasFees),
|
|
773
|
+
ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData),
|
|
774
|
+
ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData),
|
|
775
|
+
{
|
|
776
|
+
noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
777
|
+
nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
778
|
+
l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
|
|
779
|
+
ScopedL2ToL1Message.fromPlainObject(m),
|
|
780
|
+
),
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
784
|
+
nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
785
|
+
l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
|
|
786
|
+
ScopedL2ToL1Message.fromPlainObject(m),
|
|
787
|
+
),
|
|
788
|
+
},
|
|
789
|
+
obj.setupEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
|
|
790
|
+
obj.appLogicEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
|
|
791
|
+
obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null,
|
|
792
|
+
Gas.fromPlainObject(obj.gasUsedByPrivate),
|
|
793
|
+
AztecAddress.fromPlainObject(obj.feePayer),
|
|
794
|
+
);
|
|
795
|
+
}
|
|
796
|
+
|
|
458
797
|
static get schema() {
|
|
459
798
|
return z
|
|
460
799
|
.object({
|
|
461
800
|
hash: z.string(),
|
|
462
801
|
gasSettings: GasSettings.schema,
|
|
463
802
|
effectiveGasFees: GasFees.schema,
|
|
803
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
804
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
464
805
|
nonRevertibleAccumulatedData: z.object({
|
|
465
806
|
noteHashes: schemas.Fr.array(),
|
|
466
807
|
nullifiers: schemas.Fr.array(),
|
|
@@ -482,6 +823,8 @@ export class AvmTxHint {
|
|
|
482
823
|
hash,
|
|
483
824
|
gasSettings,
|
|
484
825
|
effectiveGasFees,
|
|
826
|
+
nonRevertibleContractDeploymentData,
|
|
827
|
+
revertibleContractDeploymentData,
|
|
485
828
|
nonRevertibleAccumulatedData,
|
|
486
829
|
revertibleAccumulatedData,
|
|
487
830
|
setupEnqueuedCalls,
|
|
@@ -494,6 +837,8 @@ export class AvmTxHint {
|
|
|
494
837
|
hash,
|
|
495
838
|
gasSettings,
|
|
496
839
|
effectiveGasFees,
|
|
840
|
+
nonRevertibleContractDeploymentData,
|
|
841
|
+
revertibleContractDeploymentData,
|
|
497
842
|
nonRevertibleAccumulatedData,
|
|
498
843
|
revertibleAccumulatedData,
|
|
499
844
|
setupEnqueuedCalls,
|
|
@@ -510,10 +855,16 @@ export class AvmExecutionHints {
|
|
|
510
855
|
constructor(
|
|
511
856
|
public readonly globalVariables: GlobalVariables,
|
|
512
857
|
public tx: AvmTxHint,
|
|
858
|
+
// Protocol contracts.
|
|
859
|
+
public protocolContracts: ProtocolContracts,
|
|
513
860
|
// Contract hints.
|
|
514
861
|
public readonly contractInstances: AvmContractInstanceHint[] = [],
|
|
515
862
|
public readonly contractClasses: AvmContractClassHint[] = [],
|
|
516
863
|
public readonly bytecodeCommitments: AvmBytecodeCommitmentHint[] = [],
|
|
864
|
+
public readonly debugFunctionNames: AvmDebugFunctionNameHint[] = [],
|
|
865
|
+
public readonly contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint[] = [],
|
|
866
|
+
public readonly contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint[] = [],
|
|
867
|
+
public readonly contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint[] = [],
|
|
517
868
|
// Merkle DB hints.
|
|
518
869
|
public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
|
|
519
870
|
public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
|
|
@@ -529,8 +880,52 @@ export class AvmExecutionHints {
|
|
|
529
880
|
public readonly revertCheckpointHints: AvmRevertCheckpointHint[] = [],
|
|
530
881
|
) {}
|
|
531
882
|
|
|
883
|
+
/**
|
|
884
|
+
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
885
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
886
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
887
|
+
* @param obj - Plain object containing AvmExecutionHints fields
|
|
888
|
+
* @returns An AvmExecutionHints instance
|
|
889
|
+
*/
|
|
890
|
+
static fromPlainObject(obj: any): AvmExecutionHints {
|
|
891
|
+
if (obj instanceof AvmExecutionHints) {
|
|
892
|
+
return obj;
|
|
893
|
+
}
|
|
894
|
+
return new AvmExecutionHints(
|
|
895
|
+
GlobalVariables.fromPlainObject(obj.globalVariables),
|
|
896
|
+
AvmTxHint.fromPlainObject(obj.tx),
|
|
897
|
+
ProtocolContracts.fromPlainObject(obj.protocolContracts),
|
|
898
|
+
obj.contractInstances?.map((i: any) => AvmContractInstanceHint.fromPlainObject(i)) || [],
|
|
899
|
+
obj.contractClasses?.map((c: any) => AvmContractClassHint.fromPlainObject(c)) || [],
|
|
900
|
+
obj.bytecodeCommitments?.map((b: any) => AvmBytecodeCommitmentHint.fromPlainObject(b)) || [],
|
|
901
|
+
obj.debugFunctionNames?.map((d: any) => AvmDebugFunctionNameHint.fromPlainObject(d)) || [],
|
|
902
|
+
obj.contractDbCreateCheckpointHints?.map((h: any) => AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [],
|
|
903
|
+
obj.contractDbCommitCheckpointHints?.map((h: any) => AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [],
|
|
904
|
+
obj.contractDbRevertCheckpointHints?.map((h: any) => AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [],
|
|
905
|
+
obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(),
|
|
906
|
+
obj.getSiblingPathHints?.map((h: any) => AvmGetSiblingPathHint.fromPlainObject(h)) || [],
|
|
907
|
+
obj.getPreviousValueIndexHints?.map((h: any) => AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [],
|
|
908
|
+
obj.getLeafPreimageHintsPublicDataTree?.map((h: any) =>
|
|
909
|
+
AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h),
|
|
910
|
+
) || [],
|
|
911
|
+
obj.getLeafPreimageHintsNullifierTree?.map((h: any) => AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) ||
|
|
912
|
+
[],
|
|
913
|
+
obj.getLeafValueHints?.map((h: any) => AvmGetLeafValueHint.fromPlainObject(h)) || [],
|
|
914
|
+
obj.sequentialInsertHintsPublicDataTree?.map((h: any) =>
|
|
915
|
+
AvmSequentialInsertHintPublicDataTree.fromPlainObject(h),
|
|
916
|
+
) || [],
|
|
917
|
+
obj.sequentialInsertHintsNullifierTree?.map((h: any) =>
|
|
918
|
+
AvmSequentialInsertHintNullifierTree.fromPlainObject(h),
|
|
919
|
+
) || [],
|
|
920
|
+
obj.appendLeavesHints?.map((h: any) => AvmAppendLeavesHint.fromPlainObject(h)) || [],
|
|
921
|
+
obj.createCheckpointHints?.map((h: any) => AvmCreateCheckpointHint.fromPlainObject(h)) || [],
|
|
922
|
+
obj.commitCheckpointHints?.map((h: any) => AvmCommitCheckpointHint.fromPlainObject(h)) || [],
|
|
923
|
+
obj.revertCheckpointHints?.map((h: any) => AvmRevertCheckpointHint.fromPlainObject(h)) || [],
|
|
924
|
+
);
|
|
925
|
+
}
|
|
926
|
+
|
|
532
927
|
static empty() {
|
|
533
|
-
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty());
|
|
928
|
+
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
534
929
|
}
|
|
535
930
|
|
|
536
931
|
static get schema() {
|
|
@@ -538,9 +933,14 @@ export class AvmExecutionHints {
|
|
|
538
933
|
.object({
|
|
539
934
|
globalVariables: GlobalVariables.schema,
|
|
540
935
|
tx: AvmTxHint.schema,
|
|
936
|
+
protocolContracts: ProtocolContracts.schema,
|
|
541
937
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
542
938
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
543
939
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
940
|
+
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
941
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
942
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
943
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
544
944
|
startingTreeRoots: TreeSnapshots.schema,
|
|
545
945
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
546
946
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -558,9 +958,14 @@ export class AvmExecutionHints {
|
|
|
558
958
|
({
|
|
559
959
|
globalVariables,
|
|
560
960
|
tx,
|
|
961
|
+
protocolContracts,
|
|
561
962
|
contractInstances,
|
|
562
963
|
contractClasses,
|
|
563
964
|
bytecodeCommitments,
|
|
965
|
+
debugFunctionNames,
|
|
966
|
+
contractDbCreateCheckpointHints,
|
|
967
|
+
contractDbCommitCheckpointHints,
|
|
968
|
+
contractDbRevertCheckpointHints,
|
|
564
969
|
startingTreeRoots,
|
|
565
970
|
getSiblingPathHints,
|
|
566
971
|
getPreviousValueIndexHints,
|
|
@@ -577,9 +982,14 @@ export class AvmExecutionHints {
|
|
|
577
982
|
new AvmExecutionHints(
|
|
578
983
|
globalVariables,
|
|
579
984
|
tx,
|
|
985
|
+
protocolContracts,
|
|
580
986
|
contractInstances,
|
|
581
987
|
contractClasses,
|
|
582
988
|
bytecodeCommitments,
|
|
989
|
+
debugFunctionNames,
|
|
990
|
+
contractDbCreateCheckpointHints,
|
|
991
|
+
contractDbCommitCheckpointHints,
|
|
992
|
+
contractDbRevertCheckpointHints,
|
|
583
993
|
startingTreeRoots,
|
|
584
994
|
getSiblingPathHints,
|
|
585
995
|
getPreviousValueIndexHints,
|
|
@@ -607,6 +1017,13 @@ export class AvmCircuitInputs {
|
|
|
607
1017
|
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
608
1018
|
}
|
|
609
1019
|
|
|
1020
|
+
static fromPlainObject(obj: any): AvmCircuitInputs {
|
|
1021
|
+
return new AvmCircuitInputs(
|
|
1022
|
+
AvmExecutionHints.fromPlainObject(obj.hints),
|
|
1023
|
+
AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
|
|
1024
|
+
);
|
|
1025
|
+
}
|
|
1026
|
+
|
|
610
1027
|
static get schema() {
|
|
611
1028
|
return z
|
|
612
1029
|
.object({
|
|
@@ -628,3 +1045,471 @@ export class AvmCircuitInputs {
|
|
|
628
1045
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
629
1046
|
}
|
|
630
1047
|
}
|
|
1048
|
+
|
|
1049
|
+
// Metadata about a given (enqueued or external) call.
|
|
1050
|
+
export class CallStackMetadata {
|
|
1051
|
+
constructor(
|
|
1052
|
+
public phase: TxExecutionPhase,
|
|
1053
|
+
public contractAddress: Fr,
|
|
1054
|
+
public callerPc: number,
|
|
1055
|
+
public calldata: Fr[],
|
|
1056
|
+
public isStaticCall: boolean,
|
|
1057
|
+
public gasLimit: Gas,
|
|
1058
|
+
public output: Fr[], // returndata or revertdata.
|
|
1059
|
+
public internalCallStackAtExit: number[], // At return/revert time. Last one is exit PC.
|
|
1060
|
+
public haltingMessage: string | undefined,
|
|
1061
|
+
public reverted: boolean,
|
|
1062
|
+
public nested: CallStackMetadata[],
|
|
1063
|
+
public numNestedCalls: number, // This will be different from the size of the nested vector if we went past some limit.
|
|
1064
|
+
) {}
|
|
1065
|
+
|
|
1066
|
+
static get schema(): ZodFor<CallStackMetadata> {
|
|
1067
|
+
return z
|
|
1068
|
+
.object({
|
|
1069
|
+
phase: z.nativeEnum(TxExecutionPhase),
|
|
1070
|
+
contractAddress: Fr.schema,
|
|
1071
|
+
callerPc: z.number(),
|
|
1072
|
+
calldata: Fr.schema.array(),
|
|
1073
|
+
isStaticCall: z.boolean(),
|
|
1074
|
+
gasLimit: Gas.schema,
|
|
1075
|
+
output: Fr.schema.array(),
|
|
1076
|
+
internalCallStackAtExit: z.number().array(),
|
|
1077
|
+
haltingMessage: NullishToUndefined(z.string()),
|
|
1078
|
+
reverted: z.boolean(),
|
|
1079
|
+
nested: CallStackMetadata.schema.array(),
|
|
1080
|
+
numNestedCalls: z.number(),
|
|
1081
|
+
})
|
|
1082
|
+
.transform(
|
|
1083
|
+
({
|
|
1084
|
+
phase,
|
|
1085
|
+
contractAddress,
|
|
1086
|
+
callerPc,
|
|
1087
|
+
calldata,
|
|
1088
|
+
isStaticCall,
|
|
1089
|
+
gasLimit,
|
|
1090
|
+
output,
|
|
1091
|
+
internalCallStackAtExit,
|
|
1092
|
+
haltingMessage,
|
|
1093
|
+
reverted,
|
|
1094
|
+
nested,
|
|
1095
|
+
numNestedCalls,
|
|
1096
|
+
}) =>
|
|
1097
|
+
new CallStackMetadata(
|
|
1098
|
+
phase,
|
|
1099
|
+
contractAddress,
|
|
1100
|
+
callerPc,
|
|
1101
|
+
calldata,
|
|
1102
|
+
isStaticCall,
|
|
1103
|
+
gasLimit,
|
|
1104
|
+
output,
|
|
1105
|
+
internalCallStackAtExit,
|
|
1106
|
+
haltingMessage,
|
|
1107
|
+
reverted,
|
|
1108
|
+
nested,
|
|
1109
|
+
numNestedCalls,
|
|
1110
|
+
),
|
|
1111
|
+
);
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
/**
|
|
1115
|
+
* Creates a CallStackMetadata from a plain object without Zod validation.
|
|
1116
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
1117
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
1118
|
+
* @param obj - Plain object containing CallStackMetadata fields
|
|
1119
|
+
* @returns A CallStackMetadata instance
|
|
1120
|
+
*/
|
|
1121
|
+
static fromPlainObject(obj: any): CallStackMetadata {
|
|
1122
|
+
if (obj instanceof CallStackMetadata) {
|
|
1123
|
+
return obj;
|
|
1124
|
+
}
|
|
1125
|
+
return new CallStackMetadata(
|
|
1126
|
+
obj.phase,
|
|
1127
|
+
Fr.fromPlainObject(obj.contractAddress),
|
|
1128
|
+
obj.callerPc,
|
|
1129
|
+
obj.calldata.map((f: any) => Fr.fromPlainObject(f)),
|
|
1130
|
+
obj.isStaticCall,
|
|
1131
|
+
Gas.fromPlainObject(obj.gasLimit),
|
|
1132
|
+
obj.output.map((f: any) => Fr.fromPlainObject(f)),
|
|
1133
|
+
obj.internalCallStackAtExit.map((p: any) => Number(p)),
|
|
1134
|
+
obj.haltingMessage,
|
|
1135
|
+
obj.reverted,
|
|
1136
|
+
obj.nested.map((n: any) => CallStackMetadata.fromPlainObject(n)),
|
|
1137
|
+
obj.numNestedCalls,
|
|
1138
|
+
);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
public getRevertReason(): SimulationError | undefined {
|
|
1142
|
+
const failingCall = this.findDeepestRevert([this]);
|
|
1143
|
+
|
|
1144
|
+
if (!failingCall) {
|
|
1145
|
+
return undefined;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
const { stack, leaf } = failingCall;
|
|
1149
|
+
const aztecCallStack = stack.map(call => ({
|
|
1150
|
+
contractAddress: AztecAddress.fromField(call.contractAddress),
|
|
1151
|
+
functionSelector: call.calldata.length > 0 ? FunctionSelector.fromFieldOrUndefined(call.calldata[0]) : undefined,
|
|
1152
|
+
}));
|
|
1153
|
+
|
|
1154
|
+
// The Noir call stack is the internal call stack at exit of the failing call
|
|
1155
|
+
const noirCallStack = leaf.internalCallStackAtExit.map(pc => `0.${pc}`);
|
|
1156
|
+
|
|
1157
|
+
return new SimulationError(
|
|
1158
|
+
leaf.haltingMessage ?? 'Transaction reverted',
|
|
1159
|
+
aztecCallStack,
|
|
1160
|
+
leaf.output,
|
|
1161
|
+
noirCallStack,
|
|
1162
|
+
);
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
/**
|
|
1166
|
+
* Finds the "rightmost deepest" revert in the call tree.
|
|
1167
|
+
*
|
|
1168
|
+
* At each level, we select the LAST (rightmost) reverted call, then recurse into its
|
|
1169
|
+
* nested calls to find the deepest reverted leaf along that path. The chain stops
|
|
1170
|
+
* when we encounter a non-reverted call (since you can choose not to rethrow).
|
|
1171
|
+
*
|
|
1172
|
+
* Examples (X = reverted, O = passed):
|
|
1173
|
+
*
|
|
1174
|
+
* 1. [X, X, X] at depth 1 -> returns the last X (rightmost)
|
|
1175
|
+
*
|
|
1176
|
+
* 2. [X(depth2), X, X] where first X has a nested revert -> returns the last X at depth 1,
|
|
1177
|
+
* NOT the deeper revert in the first X (rightmost takes priority over depth)
|
|
1178
|
+
*
|
|
1179
|
+
* 3. X -> X -> X -> O -> O -> X (nested chain)
|
|
1180
|
+
* Returns the 3rd X, because the O's break the reverted chain (they didn't rethrow)
|
|
1181
|
+
*
|
|
1182
|
+
* @param calls - Array of call metadata at the current level
|
|
1183
|
+
* @param parentStack - Accumulated stack of parent calls (for building the result)
|
|
1184
|
+
* @returns The deepest reverted call along the rightmost reverted path, or undefined if none
|
|
1185
|
+
*/
|
|
1186
|
+
private findDeepestRevert(
|
|
1187
|
+
calls: CallStackMetadata[],
|
|
1188
|
+
parentStack: CallStackMetadata[] = [],
|
|
1189
|
+
): { stack: CallStackMetadata[]; leaf: CallStackMetadata } | undefined {
|
|
1190
|
+
const lastReverted = calls.findLast(call => call.reverted);
|
|
1191
|
+
if (!lastReverted) {
|
|
1192
|
+
return undefined;
|
|
1193
|
+
}
|
|
1194
|
+
const currentStack = [...parentStack, lastReverted];
|
|
1195
|
+
return this.findDeepestRevert(lastReverted.nested, currentStack) || { stack: currentStack, leaf: lastReverted };
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
export class PublicTxEffect {
|
|
1200
|
+
constructor(
|
|
1201
|
+
public transactionFee: Fr,
|
|
1202
|
+
public noteHashes: Fr[],
|
|
1203
|
+
public nullifiers: Fr[],
|
|
1204
|
+
public l2ToL1Msgs: ScopedL2ToL1Message[],
|
|
1205
|
+
public publicLogs: PublicLog[],
|
|
1206
|
+
public publicDataWrites: PublicDataWrite[],
|
|
1207
|
+
) {}
|
|
1208
|
+
|
|
1209
|
+
static empty() {
|
|
1210
|
+
return new PublicTxEffect(Fr.ZERO, [], [], [], [], []);
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
static get schema(): ZodFor<PublicTxEffect> {
|
|
1214
|
+
return z
|
|
1215
|
+
.object({
|
|
1216
|
+
transactionFee: Fr.schema,
|
|
1217
|
+
noteHashes: Fr.schema.array(),
|
|
1218
|
+
nullifiers: Fr.schema.array(),
|
|
1219
|
+
l2ToL1Msgs: ScopedL2ToL1Message.schema.array(),
|
|
1220
|
+
publicLogs: PublicLog.schema.array(),
|
|
1221
|
+
publicDataWrites: PublicDataWrite.schema.array(),
|
|
1222
|
+
})
|
|
1223
|
+
.transform(PublicTxEffect.from);
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
static from(obj: any): PublicTxEffect {
|
|
1227
|
+
return new PublicTxEffect(
|
|
1228
|
+
obj.transactionFee,
|
|
1229
|
+
obj.noteHashes,
|
|
1230
|
+
obj.nullifiers,
|
|
1231
|
+
obj.l2ToL1Msgs,
|
|
1232
|
+
obj.publicLogs,
|
|
1233
|
+
obj.publicDataWrites,
|
|
1234
|
+
);
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
static fromPlainObject(obj: any): PublicTxEffect {
|
|
1238
|
+
return new PublicTxEffect(
|
|
1239
|
+
Fr.fromPlainObject(obj.transactionFee),
|
|
1240
|
+
obj.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
1241
|
+
obj.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
1242
|
+
obj.l2ToL1Msgs.map((m: any) => ScopedL2ToL1Message.fromPlainObject(m)),
|
|
1243
|
+
obj.publicLogs.map((l: any) => PublicLog.fromPlainObject(l)),
|
|
1244
|
+
obj.publicDataWrites.map((w: any) => PublicDataWrite.fromPlainObject(w)),
|
|
1245
|
+
);
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
equals(other: PublicTxEffect): boolean {
|
|
1249
|
+
return (
|
|
1250
|
+
this.transactionFee.equals(other.transactionFee) &&
|
|
1251
|
+
this.noteHashes.length === other.noteHashes.length &&
|
|
1252
|
+
this.noteHashes.every((h, i) => h.equals(other.noteHashes[i])) &&
|
|
1253
|
+
this.nullifiers.length === other.nullifiers.length &&
|
|
1254
|
+
this.nullifiers.every((h, i) => h.equals(other.nullifiers[i])) &&
|
|
1255
|
+
this.l2ToL1Msgs.length === other.l2ToL1Msgs.length &&
|
|
1256
|
+
this.l2ToL1Msgs.every((m, i) => m.equals(other.l2ToL1Msgs[i])) &&
|
|
1257
|
+
this.publicLogs.length === other.publicLogs.length &&
|
|
1258
|
+
this.publicLogs.every((l, i) => l.equals(other.publicLogs[i])) &&
|
|
1259
|
+
this.publicDataWrites.length === other.publicDataWrites.length &&
|
|
1260
|
+
this.publicDataWrites.every((w, i) => w.equals(other.publicDataWrites[i]))
|
|
1261
|
+
);
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
export class PublicTxResult {
|
|
1266
|
+
constructor(
|
|
1267
|
+
// Simulation result.
|
|
1268
|
+
public gasUsed: GasUsed,
|
|
1269
|
+
public revertCode: RevertCode,
|
|
1270
|
+
public publicTxEffect: PublicTxEffect,
|
|
1271
|
+
// These are only guaranteed to be present if the simulator is configured to collect them.
|
|
1272
|
+
// TODO(fcarreiro): Remove NestedProcessReturnValues[] once we migrate to the C++ simulator.
|
|
1273
|
+
public callStackMetadata:
|
|
1274
|
+
| CallStackMetadata[] // One per enqueued call. All phases.
|
|
1275
|
+
| NestedProcessReturnValues[], // One per enqueued call. App logic only.
|
|
1276
|
+
public logs: DebugLog[] | undefined,
|
|
1277
|
+
// For the proving request.
|
|
1278
|
+
public hints: AvmExecutionHints | undefined,
|
|
1279
|
+
public publicInputs: AvmCircuitPublicInputs | undefined,
|
|
1280
|
+
) {}
|
|
1281
|
+
|
|
1282
|
+
static empty() {
|
|
1283
|
+
return new PublicTxResult(
|
|
1284
|
+
{
|
|
1285
|
+
totalGas: Gas.empty(),
|
|
1286
|
+
teardownGas: Gas.empty(),
|
|
1287
|
+
publicGas: Gas.empty(),
|
|
1288
|
+
billedGas: Gas.empty(),
|
|
1289
|
+
},
|
|
1290
|
+
RevertCode.OK,
|
|
1291
|
+
PublicTxEffect.empty(),
|
|
1292
|
+
/*callStackMetadata=*/ [] as CallStackMetadata[],
|
|
1293
|
+
/*logs=*/ [],
|
|
1294
|
+
/*hints=*/ AvmExecutionHints.empty(),
|
|
1295
|
+
/*publicInputs=*/ AvmCircuitPublicInputs.empty(),
|
|
1296
|
+
);
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
static get schema(): ZodFor<PublicTxResult> {
|
|
1300
|
+
return z
|
|
1301
|
+
.object({
|
|
1302
|
+
gasUsed: schemas.GasUsed,
|
|
1303
|
+
revertCode: RevertCode.schema,
|
|
1304
|
+
revertReason: NullishToUndefined(SimulationError.schema),
|
|
1305
|
+
publicTxEffect: PublicTxEffect.schema,
|
|
1306
|
+
callStackMetadata: z.union([CallStackMetadata.schema.array(), NestedProcessReturnValues.schema.array()]),
|
|
1307
|
+
logs: NullishToUndefined(DebugLog.schema.array()),
|
|
1308
|
+
// For the proving request.
|
|
1309
|
+
publicInputs: NullishToUndefined(AvmCircuitPublicInputs.schema),
|
|
1310
|
+
hints: NullishToUndefined(AvmExecutionHints.schema),
|
|
1311
|
+
})
|
|
1312
|
+
.transform(
|
|
1313
|
+
({ gasUsed, revertCode, publicTxEffect, callStackMetadata, logs, hints, publicInputs }) =>
|
|
1314
|
+
new PublicTxResult(
|
|
1315
|
+
gasUsed,
|
|
1316
|
+
revertCode as RevertCode,
|
|
1317
|
+
publicTxEffect,
|
|
1318
|
+
callStackMetadata,
|
|
1319
|
+
logs,
|
|
1320
|
+
hints,
|
|
1321
|
+
publicInputs,
|
|
1322
|
+
),
|
|
1323
|
+
);
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
/**
|
|
1327
|
+
* Creates a PublicTxResult from a plain object without Zod validation.
|
|
1328
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
1329
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
1330
|
+
* @param obj - Plain object containing PublicTxResult fields
|
|
1331
|
+
* @returns A PublicTxResult instance
|
|
1332
|
+
*/
|
|
1333
|
+
static fromPlainObject(obj: any): PublicTxResult {
|
|
1334
|
+
return new PublicTxResult(
|
|
1335
|
+
GasUsed.fromPlainObject(obj.gasUsed),
|
|
1336
|
+
RevertCode.fromPlainObject(obj.revertCode),
|
|
1337
|
+
PublicTxEffect.fromPlainObject(obj.publicTxEffect),
|
|
1338
|
+
obj.callStackMetadata.map(CallStackMetadata.fromPlainObject), // Always CallStackMetadata[] from MessagePack.
|
|
1339
|
+
obj.logs?.map(DebugLog.fromPlainObject),
|
|
1340
|
+
obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined,
|
|
1341
|
+
obj.publicInputs ? AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs) : undefined,
|
|
1342
|
+
);
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
/** Returns one level of return values for the app logic phase, one per enqueued call. */
|
|
1346
|
+
public getAppLogicReturnValues(): NestedProcessReturnValues[] {
|
|
1347
|
+
if (this.callStackMetadata.every(metadata => metadata instanceof CallStackMetadata)) {
|
|
1348
|
+
return this.callStackMetadata
|
|
1349
|
+
.filter(metadata => metadata.phase === TxExecutionPhase.APP_LOGIC)
|
|
1350
|
+
.map(metadata => new NestedProcessReturnValues(metadata.output));
|
|
1351
|
+
} else {
|
|
1352
|
+
return (this.callStackMetadata as NestedProcessReturnValues[]).map(
|
|
1353
|
+
metadata => new NestedProcessReturnValues(metadata.values, metadata.nested),
|
|
1354
|
+
);
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
public findRevertReason(): SimulationError | undefined {
|
|
1359
|
+
if (this.revertCode.isOK()) {
|
|
1360
|
+
return undefined;
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
const callStackMetadata = this.callStackMetadata;
|
|
1364
|
+
// TODO(fcarreiro): Remove this after migration to the C++ simulator.
|
|
1365
|
+
// If the "stack" comes from TS, it will have this field.
|
|
1366
|
+
if ((callStackMetadata as any).revertReason !== undefined) {
|
|
1367
|
+
return (callStackMetadata as any).revertReason;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
// Handle CallStackMetadata[].
|
|
1371
|
+
let revertReason: SimulationError | undefined = undefined;
|
|
1372
|
+
for (const call of callStackMetadata) {
|
|
1373
|
+
revertReason = (call as CallStackMetadata).getRevertReason();
|
|
1374
|
+
if (revertReason) {
|
|
1375
|
+
break;
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
return revertReason;
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1382
|
+
export class CollectionLimitsConfig {
|
|
1383
|
+
constructor(
|
|
1384
|
+
public readonly maxDebugLogMemoryReads: number,
|
|
1385
|
+
public readonly maxCalldataSizeInFields: number,
|
|
1386
|
+
public readonly maxReturndataSizeInFields: number,
|
|
1387
|
+
public readonly maxCallStackDepth: number,
|
|
1388
|
+
public readonly maxCallStackItems: number,
|
|
1389
|
+
) {}
|
|
1390
|
+
|
|
1391
|
+
static from(obj: Partial<CollectionLimitsConfig>): CollectionLimitsConfig {
|
|
1392
|
+
return new CollectionLimitsConfig(
|
|
1393
|
+
obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
|
|
1394
|
+
obj.maxCalldataSizeInFields ?? 300,
|
|
1395
|
+
obj.maxReturndataSizeInFields ?? 300,
|
|
1396
|
+
obj.maxCallStackDepth ?? 5,
|
|
1397
|
+
obj.maxCallStackItems ?? 100,
|
|
1398
|
+
);
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
static empty() {
|
|
1402
|
+
return CollectionLimitsConfig.from({});
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
static get schema() {
|
|
1406
|
+
return z
|
|
1407
|
+
.object({
|
|
1408
|
+
maxDebugLogMemoryReads: z.number(),
|
|
1409
|
+
maxCalldataSizeInFields: z.number(),
|
|
1410
|
+
maxReturndataSizeInFields: z.number(),
|
|
1411
|
+
maxCallStackDepth: z.number(),
|
|
1412
|
+
maxCallStackItems: z.number(),
|
|
1413
|
+
})
|
|
1414
|
+
.transform(
|
|
1415
|
+
({
|
|
1416
|
+
maxDebugLogMemoryReads,
|
|
1417
|
+
maxCalldataSizeInFields,
|
|
1418
|
+
maxReturndataSizeInFields,
|
|
1419
|
+
maxCallStackDepth,
|
|
1420
|
+
maxCallStackItems,
|
|
1421
|
+
}) =>
|
|
1422
|
+
new CollectionLimitsConfig(
|
|
1423
|
+
maxDebugLogMemoryReads,
|
|
1424
|
+
maxCalldataSizeInFields,
|
|
1425
|
+
maxReturndataSizeInFields,
|
|
1426
|
+
maxCallStackDepth,
|
|
1427
|
+
maxCallStackItems,
|
|
1428
|
+
),
|
|
1429
|
+
);
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
export class PublicSimulatorConfig {
|
|
1434
|
+
constructor(
|
|
1435
|
+
public readonly proverId: Fr,
|
|
1436
|
+
public readonly skipFeeEnforcement: boolean,
|
|
1437
|
+
public readonly collectCallMetadata: boolean, // appLogicReturnValues.
|
|
1438
|
+
public readonly collectHints: boolean, // hints.
|
|
1439
|
+
public readonly collectPublicInputs: boolean, // public inputs.
|
|
1440
|
+
public readonly collectDebugLogs: boolean, // logs.
|
|
1441
|
+
public readonly collectStatistics: boolean, // timings etc.
|
|
1442
|
+
public readonly collectionLimits: CollectionLimitsConfig,
|
|
1443
|
+
) {}
|
|
1444
|
+
|
|
1445
|
+
static from(obj: Partial<PublicSimulatorConfig>): PublicSimulatorConfig {
|
|
1446
|
+
return new PublicSimulatorConfig(
|
|
1447
|
+
obj.proverId ?? Fr.ZERO,
|
|
1448
|
+
obj.skipFeeEnforcement ?? false,
|
|
1449
|
+
obj.collectCallMetadata ?? false,
|
|
1450
|
+
obj.collectHints ?? false,
|
|
1451
|
+
obj.collectPublicInputs ?? false,
|
|
1452
|
+
obj.collectDebugLogs ?? false,
|
|
1453
|
+
obj.collectStatistics ?? false,
|
|
1454
|
+
obj.collectionLimits ?? CollectionLimitsConfig.empty(),
|
|
1455
|
+
);
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1458
|
+
static empty() {
|
|
1459
|
+
return PublicSimulatorConfig.from({});
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
static get schema() {
|
|
1463
|
+
return z
|
|
1464
|
+
.object({
|
|
1465
|
+
proverId: Fr.schema,
|
|
1466
|
+
skipFeeEnforcement: z.boolean(),
|
|
1467
|
+
collectCallMetadata: z.boolean(),
|
|
1468
|
+
collectHints: z.boolean(),
|
|
1469
|
+
collectPublicInputs: z.boolean(),
|
|
1470
|
+
collectDebugLogs: z.boolean(),
|
|
1471
|
+
collectStatistics: z.boolean(),
|
|
1472
|
+
collectionLimits: CollectionLimitsConfig.schema,
|
|
1473
|
+
})
|
|
1474
|
+
.transform(PublicSimulatorConfig.from);
|
|
1475
|
+
}
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1478
|
+
export class AvmFastSimulationInputs {
|
|
1479
|
+
constructor(
|
|
1480
|
+
public readonly wsRevision: WorldStateRevision,
|
|
1481
|
+
public readonly config: PublicSimulatorConfig,
|
|
1482
|
+
public tx: AvmTxHint,
|
|
1483
|
+
public globalVariables: GlobalVariables,
|
|
1484
|
+
public protocolContracts: ProtocolContracts,
|
|
1485
|
+
) {}
|
|
1486
|
+
|
|
1487
|
+
static empty() {
|
|
1488
|
+
return new AvmFastSimulationInputs(
|
|
1489
|
+
WorldStateRevision.empty(),
|
|
1490
|
+
PublicSimulatorConfig.empty(),
|
|
1491
|
+
AvmTxHint.empty(),
|
|
1492
|
+
GlobalVariables.empty(),
|
|
1493
|
+
ProtocolContracts.empty(),
|
|
1494
|
+
);
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1497
|
+
static get schema() {
|
|
1498
|
+
return z
|
|
1499
|
+
.object({
|
|
1500
|
+
wsRevision: WorldStateRevision.schema,
|
|
1501
|
+
config: PublicSimulatorConfig.schema,
|
|
1502
|
+
tx: AvmTxHint.schema,
|
|
1503
|
+
globalVariables: GlobalVariables.schema,
|
|
1504
|
+
protocolContracts: ProtocolContracts.schema,
|
|
1505
|
+
})
|
|
1506
|
+
.transform(
|
|
1507
|
+
({ wsRevision, config, tx, globalVariables, protocolContracts }) =>
|
|
1508
|
+
new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts),
|
|
1509
|
+
);
|
|
1510
|
+
}
|
|
1511
|
+
|
|
1512
|
+
public serializeWithMessagePack(): Buffer {
|
|
1513
|
+
return serializeWithMessagePack(this);
|
|
1514
|
+
}
|
|
1515
|
+
}
|