@aztec/stdlib 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108
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 +76 -45
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +38 -31
- 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 +11 -19
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +30 -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 +7 -4
- 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 +39 -29
- 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 +7 -3
- 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 +137 -81
- 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 +27 -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 +11 -3
- 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 +39 -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 +3 -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/dest/avm/avm.js
CHANGED
|
@@ -1,29 +1,43 @@
|
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
3
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { z } from 'zod';
|
|
5
|
+
import { FunctionSelector } from '../abi/index.js';
|
|
4
6
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
7
|
+
import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
|
|
8
|
+
import { SimulationError } from '../errors/simulation_error.js';
|
|
5
9
|
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
6
10
|
import { Gas } from '../gas/gas.js';
|
|
7
11
|
import { GasFees } from '../gas/gas_fees.js';
|
|
8
12
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
13
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
9
14
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
15
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
16
|
+
import { PublicLog } from '../logs/public_log.js';
|
|
10
17
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
18
|
+
import { NullishToUndefined, schemas } from '../schemas/schemas.js';
|
|
11
19
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
12
20
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
13
|
-
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
14
|
-
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
15
|
-
import { GlobalVariables, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
21
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
22
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
23
|
+
import { GlobalVariables, NestedProcessReturnValues, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
24
|
+
import { TxExecutionPhase } from '../tx/processed_tx.js';
|
|
25
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
16
26
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
17
27
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
28
|
+
import { PublicDataWrite } from './public_data_write.js';
|
|
29
|
+
import { RevertCode } from './revert_code.js';
|
|
18
30
|
////////////////////////////////////////////////////////////////////////////
|
|
19
31
|
// Hints (contracts)
|
|
20
32
|
////////////////////////////////////////////////////////////////////////////
|
|
21
33
|
export class AvmContractClassHint {
|
|
34
|
+
hintKey;
|
|
22
35
|
classId;
|
|
23
36
|
artifactHash;
|
|
24
37
|
privateFunctionsRoot;
|
|
25
38
|
packedBytecode;
|
|
26
|
-
constructor(classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
39
|
+
constructor(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
40
|
+
this.hintKey = hintKey;
|
|
27
41
|
this.classId = classId;
|
|
28
42
|
this.artifactHash = artifactHash;
|
|
29
43
|
this.privateFunctionsRoot = privateFunctionsRoot;
|
|
@@ -31,28 +45,57 @@ export class AvmContractClassHint {
|
|
|
31
45
|
}
|
|
32
46
|
static get schema() {
|
|
33
47
|
return z.object({
|
|
48
|
+
hintKey: z.number().int().nonnegative(),
|
|
34
49
|
classId: schemas.Fr,
|
|
35
50
|
artifactHash: schemas.Fr,
|
|
36
51
|
privateFunctionsRoot: schemas.Fr,
|
|
37
52
|
packedBytecode: schemas.Buffer
|
|
38
|
-
}).transform(({ classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
53
|
+
}).transform(({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates an AvmContractClassHint from a plain object without Zod validation.
|
|
57
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
58
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
59
|
+
* @param obj - Plain object containing AvmContractClassHint fields
|
|
60
|
+
* @returns An AvmContractClassHint instance
|
|
61
|
+
*/ static fromPlainObject(obj) {
|
|
62
|
+
if (obj instanceof AvmContractClassHint) {
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
return new AvmContractClassHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.artifactHash), Fr.fromPlainObject(obj.privateFunctionsRoot), obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode));
|
|
39
66
|
}
|
|
40
67
|
}
|
|
41
68
|
export class AvmBytecodeCommitmentHint {
|
|
69
|
+
hintKey;
|
|
42
70
|
classId;
|
|
43
71
|
commitment;
|
|
44
|
-
constructor(classId, commitment){
|
|
72
|
+
constructor(hintKey, classId, commitment){
|
|
73
|
+
this.hintKey = hintKey;
|
|
45
74
|
this.classId = classId;
|
|
46
75
|
this.commitment = commitment;
|
|
47
76
|
}
|
|
48
77
|
static get schema() {
|
|
49
78
|
return z.object({
|
|
79
|
+
hintKey: z.number().int().nonnegative(),
|
|
50
80
|
classId: schemas.Fr,
|
|
51
81
|
commitment: schemas.Fr
|
|
52
|
-
}).transform(({ classId, commitment })=>new AvmBytecodeCommitmentHint(classId, commitment));
|
|
82
|
+
}).transform(({ hintKey, classId, commitment })=>new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
|
|
86
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
87
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
88
|
+
* @param obj - Plain object containing AvmBytecodeCommitmentHint fields
|
|
89
|
+
* @returns An AvmBytecodeCommitmentHint instance
|
|
90
|
+
*/ static fromPlainObject(obj) {
|
|
91
|
+
if (obj instanceof AvmBytecodeCommitmentHint) {
|
|
92
|
+
return obj;
|
|
93
|
+
}
|
|
94
|
+
return new AvmBytecodeCommitmentHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.commitment));
|
|
53
95
|
}
|
|
54
96
|
}
|
|
55
97
|
export class AvmContractInstanceHint {
|
|
98
|
+
hintKey;
|
|
56
99
|
address;
|
|
57
100
|
salt;
|
|
58
101
|
deployer;
|
|
@@ -60,7 +103,8 @@ export class AvmContractInstanceHint {
|
|
|
60
103
|
originalContractClassId;
|
|
61
104
|
initializationHash;
|
|
62
105
|
publicKeys;
|
|
63
|
-
constructor(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
|
|
106
|
+
constructor(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
|
|
107
|
+
this.hintKey = hintKey;
|
|
64
108
|
this.address = address;
|
|
65
109
|
this.salt = salt;
|
|
66
110
|
this.deployer = deployer;
|
|
@@ -71,6 +115,7 @@ export class AvmContractInstanceHint {
|
|
|
71
115
|
}
|
|
72
116
|
static get schema() {
|
|
73
117
|
return z.object({
|
|
118
|
+
hintKey: z.number().int().nonnegative(),
|
|
74
119
|
address: AztecAddress.schema,
|
|
75
120
|
salt: schemas.Fr,
|
|
76
121
|
deployer: AztecAddress.schema,
|
|
@@ -78,7 +123,48 @@ export class AvmContractInstanceHint {
|
|
|
78
123
|
originalContractClassId: schemas.Fr,
|
|
79
124
|
initializationHash: schemas.Fr,
|
|
80
125
|
publicKeys: PublicKeys.schema
|
|
81
|
-
}).transform(({ address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
|
|
126
|
+
}).transform(({ hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Creates an AvmContractInstanceHint from a plain object without Zod validation.
|
|
130
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
131
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
132
|
+
* @param obj - Plain object containing AvmContractInstanceHint fields
|
|
133
|
+
* @returns An AvmContractInstanceHint instance
|
|
134
|
+
*/ static fromPlainObject(obj) {
|
|
135
|
+
if (obj instanceof AvmContractInstanceHint) {
|
|
136
|
+
return obj;
|
|
137
|
+
}
|
|
138
|
+
return new AvmContractInstanceHint(obj.hintKey, AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.salt), AztecAddress.fromPlainObject(obj.deployer), Fr.fromPlainObject(obj.currentContractClassId), Fr.fromPlainObject(obj.originalContractClassId), Fr.fromPlainObject(obj.initializationHash), PublicKeys.fromPlainObject(obj.publicKeys));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
export class AvmDebugFunctionNameHint {
|
|
142
|
+
address;
|
|
143
|
+
selector;
|
|
144
|
+
name;
|
|
145
|
+
constructor(address, selector, name){
|
|
146
|
+
this.address = address;
|
|
147
|
+
this.selector = selector;
|
|
148
|
+
this.name = name;
|
|
149
|
+
}
|
|
150
|
+
static get schema() {
|
|
151
|
+
return z.object({
|
|
152
|
+
address: AztecAddress.schema,
|
|
153
|
+
selector: schemas.Fr,
|
|
154
|
+
name: z.string()
|
|
155
|
+
}).transform(({ address, selector, name })=>new AvmDebugFunctionNameHint(address, selector, name));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
|
|
159
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
160
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
161
|
+
* @param obj - Plain object containing AvmDebugFunctionNameHint fields
|
|
162
|
+
* @returns An AvmDebugFunctionNameHint instance
|
|
163
|
+
*/ static fromPlainObject(obj) {
|
|
164
|
+
if (obj instanceof AvmDebugFunctionNameHint) {
|
|
165
|
+
return obj;
|
|
166
|
+
}
|
|
167
|
+
return new AvmDebugFunctionNameHint(AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.selector), obj.name);
|
|
82
168
|
}
|
|
83
169
|
}
|
|
84
170
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -106,6 +192,18 @@ export class AvmGetSiblingPathHint {
|
|
|
106
192
|
path: schemas.Fr.array()
|
|
107
193
|
}).transform(({ hintKey, treeId, index, path })=>new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
108
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
|
|
197
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
198
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
199
|
+
* @param obj - Plain object containing AvmGetSiblingPathHint fields
|
|
200
|
+
* @returns An AvmGetSiblingPathHint instance
|
|
201
|
+
*/ static fromPlainObject(obj) {
|
|
202
|
+
if (obj instanceof AvmGetSiblingPathHint) {
|
|
203
|
+
return obj;
|
|
204
|
+
}
|
|
205
|
+
return new AvmGetSiblingPathHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.path.map((p)=>Fr.fromPlainObject(p)));
|
|
206
|
+
}
|
|
109
207
|
}
|
|
110
208
|
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
111
209
|
export class AvmGetPreviousValueIndexHint {
|
|
@@ -132,6 +230,18 @@ export class AvmGetPreviousValueIndexHint {
|
|
|
132
230
|
alreadyPresent: z.boolean()
|
|
133
231
|
}).transform(({ hintKey, treeId, value, index, alreadyPresent })=>new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent));
|
|
134
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
|
|
235
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
236
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
237
|
+
* @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
|
|
238
|
+
* @returns An AvmGetPreviousValueIndexHint instance
|
|
239
|
+
*/ static fromPlainObject(obj) {
|
|
240
|
+
if (obj instanceof AvmGetPreviousValueIndexHint) {
|
|
241
|
+
return obj;
|
|
242
|
+
}
|
|
243
|
+
return new AvmGetPreviousValueIndexHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, Fr.fromPlainObject(obj.value), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.alreadyPresent);
|
|
244
|
+
}
|
|
135
245
|
}
|
|
136
246
|
// Hint for MerkleTreeDB.getLeafPreimage.
|
|
137
247
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -155,6 +265,18 @@ function AvmGetLeafPreimageHintFactory(klass) {
|
|
|
155
265
|
leafPreimage: klass.schema
|
|
156
266
|
}).transform(({ hintKey, index, leafPreimage })=>new this(hintKey, index, leafPreimage));
|
|
157
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Creates an instance from a plain object without Zod validation.
|
|
270
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
271
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
272
|
+
* @param obj - Plain object containing hint fields
|
|
273
|
+
* @returns An instance
|
|
274
|
+
*/ static fromPlainObject(obj) {
|
|
275
|
+
if (obj instanceof this) {
|
|
276
|
+
return obj;
|
|
277
|
+
}
|
|
278
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), klass.fromPlainObject(obj.leafPreimage));
|
|
279
|
+
}
|
|
158
280
|
};
|
|
159
281
|
}
|
|
160
282
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -185,6 +307,18 @@ export class AvmGetLeafValueHint {
|
|
|
185
307
|
value: schemas.Fr
|
|
186
308
|
}).transform(({ hintKey, treeId, index, value })=>new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
187
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* Creates an AvmGetLeafValueHint from a plain object without Zod validation.
|
|
312
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
313
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
314
|
+
* @param obj - Plain object containing AvmGetLeafValueHint fields
|
|
315
|
+
* @returns An AvmGetLeafValueHint instance
|
|
316
|
+
*/ static fromPlainObject(obj) {
|
|
317
|
+
if (obj instanceof AvmGetLeafValueHint) {
|
|
318
|
+
return obj;
|
|
319
|
+
}
|
|
320
|
+
return new AvmGetLeafValueHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), Fr.fromPlainObject(obj.value));
|
|
321
|
+
}
|
|
188
322
|
}
|
|
189
323
|
// Hint for MerkleTreeDB.sequentialInsert.
|
|
190
324
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -225,6 +359,28 @@ function AvmSequentialInsertHintFactory(klass) {
|
|
|
225
359
|
})
|
|
226
360
|
}).transform(({ hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData })=>new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData));
|
|
227
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Creates an instance from a plain object without Zod validation.
|
|
364
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
365
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
366
|
+
* @param obj - Plain object containing hint fields
|
|
367
|
+
* @returns An instance
|
|
368
|
+
*/ static fromPlainObject(obj) {
|
|
369
|
+
if (obj instanceof this) {
|
|
370
|
+
return obj;
|
|
371
|
+
}
|
|
372
|
+
// Determine the leaf class based on the klass parameter
|
|
373
|
+
const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
|
|
374
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, LeafClass.fromPlainObject(obj.leaf), {
|
|
375
|
+
leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
|
|
376
|
+
index: typeof obj.lowLeavesWitnessData.index === 'bigint' ? obj.lowLeavesWitnessData.index : BigInt(obj.lowLeavesWitnessData.index),
|
|
377
|
+
path: obj.lowLeavesWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
378
|
+
}, {
|
|
379
|
+
leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
|
|
380
|
+
index: typeof obj.insertionWitnessData.index === 'bigint' ? obj.insertionWitnessData.index : BigInt(obj.insertionWitnessData.index),
|
|
381
|
+
path: obj.insertionWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
382
|
+
});
|
|
383
|
+
}
|
|
228
384
|
};
|
|
229
385
|
}
|
|
230
386
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -254,6 +410,18 @@ export class AvmAppendLeavesHint {
|
|
|
254
410
|
leaves: schemas.Fr.array()
|
|
255
411
|
}).transform(({ hintKey, stateAfter, treeId, leaves })=>new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves));
|
|
256
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Creates an AvmAppendLeavesHint from a plain object without Zod validation.
|
|
415
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
416
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
417
|
+
* @param obj - Plain object containing AvmAppendLeavesHint fields
|
|
418
|
+
* @returns An AvmAppendLeavesHint instance
|
|
419
|
+
*/ static fromPlainObject(obj) {
|
|
420
|
+
if (obj instanceof AvmAppendLeavesHint) {
|
|
421
|
+
return obj;
|
|
422
|
+
}
|
|
423
|
+
return new AvmAppendLeavesHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, obj.leaves.map((l)=>Fr.fromPlainObject(l)));
|
|
424
|
+
}
|
|
257
425
|
}
|
|
258
426
|
// Hint for checkpoint actions that don't change the state.
|
|
259
427
|
class AvmCheckpointActionNoStateChangeHint {
|
|
@@ -274,6 +442,18 @@ class AvmCheckpointActionNoStateChangeHint {
|
|
|
274
442
|
newCheckpointId: z.number().int().nonnegative()
|
|
275
443
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId })=>new this(actionCounter, oldCheckpointId, newCheckpointId));
|
|
276
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Creates an instance from a plain object without Zod validation.
|
|
447
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
448
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
449
|
+
* @param obj - Plain object containing hint fields
|
|
450
|
+
* @returns An instance
|
|
451
|
+
*/ static fromPlainObject(obj) {
|
|
452
|
+
if (obj instanceof this) {
|
|
453
|
+
return obj;
|
|
454
|
+
}
|
|
455
|
+
return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
|
|
456
|
+
}
|
|
277
457
|
}
|
|
278
458
|
// Hint for MerkleTreeDB.createCheckpoint.
|
|
279
459
|
export class AvmCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
@@ -311,6 +491,24 @@ export class AvmRevertCheckpointHint {
|
|
|
311
491
|
stateAfter: TreeSnapshots.schema
|
|
312
492
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter })=>new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter));
|
|
313
493
|
}
|
|
494
|
+
/**
|
|
495
|
+
* Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
|
|
496
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
497
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
498
|
+
* @param obj - Plain object containing AvmRevertCheckpointHint fields
|
|
499
|
+
* @returns An AvmRevertCheckpointHint instance
|
|
500
|
+
*/ static fromPlainObject(obj) {
|
|
501
|
+
if (obj instanceof AvmRevertCheckpointHint) {
|
|
502
|
+
return obj;
|
|
503
|
+
}
|
|
504
|
+
return new AvmRevertCheckpointHint(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId, TreeSnapshots.fromPlainObject(obj.stateBefore), TreeSnapshots.fromPlainObject(obj.stateAfter));
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
508
|
+
}
|
|
509
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
510
|
+
}
|
|
511
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
314
512
|
}
|
|
315
513
|
////////////////////////////////////////////////////////////////////////////
|
|
316
514
|
// Hints (other)
|
|
@@ -319,6 +517,8 @@ export class AvmTxHint {
|
|
|
319
517
|
hash;
|
|
320
518
|
gasSettings;
|
|
321
519
|
effectiveGasFees;
|
|
520
|
+
nonRevertibleContractDeploymentData;
|
|
521
|
+
revertibleContractDeploymentData;
|
|
322
522
|
nonRevertibleAccumulatedData;
|
|
323
523
|
revertibleAccumulatedData;
|
|
324
524
|
setupEnqueuedCalls;
|
|
@@ -326,12 +526,14 @@ export class AvmTxHint {
|
|
|
326
526
|
teardownEnqueuedCall;
|
|
327
527
|
gasUsedByPrivate;
|
|
328
528
|
feePayer;
|
|
329
|
-
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
529
|
+
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
330
530
|
// MessagePack expects for an std::optional.
|
|
331
531
|
teardownEnqueuedCall, gasUsedByPrivate, feePayer){
|
|
332
532
|
this.hash = hash;
|
|
333
533
|
this.gasSettings = gasSettings;
|
|
334
534
|
this.effectiveGasFees = effectiveGasFees;
|
|
535
|
+
this.nonRevertibleContractDeploymentData = nonRevertibleContractDeploymentData;
|
|
536
|
+
this.revertibleContractDeploymentData = revertibleContractDeploymentData;
|
|
335
537
|
this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
|
|
336
538
|
this.revertibleAccumulatedData = revertibleAccumulatedData;
|
|
337
539
|
this.setupEnqueuedCalls = setupEnqueuedCalls;
|
|
@@ -346,9 +548,10 @@ export class AvmTxHint {
|
|
|
346
548
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
347
549
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
348
550
|
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
551
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
349
552
|
// For informational purposes. Assumed quick because it should be cached.
|
|
350
553
|
const txHash = tx.getTxHash();
|
|
351
|
-
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, {
|
|
554
|
+
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, allContractDeploymentData.getNonRevertibleContractDeploymentData(), allContractDeploymentData.getRevertibleContractDeploymentData(), {
|
|
352
555
|
noteHashes: tx.data.forPublic.nonRevertibleAccumulatedData.noteHashes.filter((x)=>!x.isZero()),
|
|
353
556
|
nullifiers: tx.data.forPublic.nonRevertibleAccumulatedData.nullifiers.filter((x)=>!x.isZero()),
|
|
354
557
|
l2ToL1Messages: tx.data.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.filter((x)=>!x.isEmpty())
|
|
@@ -359,7 +562,7 @@ export class AvmTxHint {
|
|
|
359
562
|
}, setupCallRequests, appLogicCallRequests, teardownCallRequest ?? null, tx.data.gasUsed, tx.data.feePayer);
|
|
360
563
|
}
|
|
361
564
|
static empty() {
|
|
362
|
-
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), {
|
|
565
|
+
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), ContractDeploymentData.empty(), ContractDeploymentData.empty(), {
|
|
363
566
|
noteHashes: [],
|
|
364
567
|
nullifiers: [],
|
|
365
568
|
l2ToL1Messages: []
|
|
@@ -369,11 +572,33 @@ export class AvmTxHint {
|
|
|
369
572
|
l2ToL1Messages: []
|
|
370
573
|
}, [], [], null, Gas.empty(), AztecAddress.zero());
|
|
371
574
|
}
|
|
575
|
+
/**
|
|
576
|
+
* Creates an AvmTxHint from a plain object without Zod validation.
|
|
577
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
578
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
579
|
+
* @param obj - Plain object containing AvmTxHint fields
|
|
580
|
+
* @returns An AvmTxHint instance
|
|
581
|
+
*/ static fromPlainObject(obj) {
|
|
582
|
+
if (obj instanceof AvmTxHint) {
|
|
583
|
+
return obj;
|
|
584
|
+
}
|
|
585
|
+
return new AvmTxHint(obj.hash, GasSettings.fromPlainObject(obj.gasSettings), GasFees.fromPlainObject(obj.effectiveGasFees), ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData), ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData), {
|
|
586
|
+
noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
587
|
+
nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
588
|
+
l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
589
|
+
}, {
|
|
590
|
+
noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
591
|
+
nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
592
|
+
l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
593
|
+
}, obj.setupEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.appLogicEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null, Gas.fromPlainObject(obj.gasUsedByPrivate), AztecAddress.fromPlainObject(obj.feePayer));
|
|
594
|
+
}
|
|
372
595
|
static get schema() {
|
|
373
596
|
return z.object({
|
|
374
597
|
hash: z.string(),
|
|
375
598
|
gasSettings: GasSettings.schema,
|
|
376
599
|
effectiveGasFees: GasFees.schema,
|
|
600
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
601
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
377
602
|
nonRevertibleAccumulatedData: z.object({
|
|
378
603
|
noteHashes: schemas.Fr.array(),
|
|
379
604
|
nullifiers: schemas.Fr.array(),
|
|
@@ -389,15 +614,20 @@ export class AvmTxHint {
|
|
|
389
614
|
teardownEnqueuedCall: PublicCallRequestWithCalldata.schema.nullable(),
|
|
390
615
|
gasUsedByPrivate: Gas.schema,
|
|
391
616
|
feePayer: AztecAddress.schema
|
|
392
|
-
}).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
|
|
617
|
+
}).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
|
|
393
618
|
}
|
|
394
619
|
}
|
|
395
620
|
export class AvmExecutionHints {
|
|
396
621
|
globalVariables;
|
|
397
622
|
tx;
|
|
623
|
+
protocolContracts;
|
|
398
624
|
contractInstances;
|
|
399
625
|
contractClasses;
|
|
400
626
|
bytecodeCommitments;
|
|
627
|
+
debugFunctionNames;
|
|
628
|
+
contractDbCreateCheckpointHints;
|
|
629
|
+
contractDbCommitCheckpointHints;
|
|
630
|
+
contractDbRevertCheckpointHints;
|
|
401
631
|
startingTreeRoots;
|
|
402
632
|
getSiblingPathHints;
|
|
403
633
|
getPreviousValueIndexHints;
|
|
@@ -410,14 +640,20 @@ export class AvmExecutionHints {
|
|
|
410
640
|
createCheckpointHints;
|
|
411
641
|
commitCheckpointHints;
|
|
412
642
|
revertCheckpointHints;
|
|
413
|
-
constructor(globalVariables, tx, //
|
|
414
|
-
|
|
643
|
+
constructor(globalVariables, tx, // Protocol contracts.
|
|
644
|
+
protocolContracts, // Contract hints.
|
|
645
|
+
contractInstances = [], contractClasses = [], bytecodeCommitments = [], debugFunctionNames = [], contractDbCreateCheckpointHints = [], contractDbCommitCheckpointHints = [], contractDbRevertCheckpointHints = [], // Merkle DB hints.
|
|
415
646
|
startingTreeRoots = TreeSnapshots.empty(), getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = [], appendLeavesHints = [], createCheckpointHints = [], commitCheckpointHints = [], revertCheckpointHints = []){
|
|
416
647
|
this.globalVariables = globalVariables;
|
|
417
648
|
this.tx = tx;
|
|
649
|
+
this.protocolContracts = protocolContracts;
|
|
418
650
|
this.contractInstances = contractInstances;
|
|
419
651
|
this.contractClasses = contractClasses;
|
|
420
652
|
this.bytecodeCommitments = bytecodeCommitments;
|
|
653
|
+
this.debugFunctionNames = debugFunctionNames;
|
|
654
|
+
this.contractDbCreateCheckpointHints = contractDbCreateCheckpointHints;
|
|
655
|
+
this.contractDbCommitCheckpointHints = contractDbCommitCheckpointHints;
|
|
656
|
+
this.contractDbRevertCheckpointHints = contractDbRevertCheckpointHints;
|
|
421
657
|
this.startingTreeRoots = startingTreeRoots;
|
|
422
658
|
this.getSiblingPathHints = getSiblingPathHints;
|
|
423
659
|
this.getPreviousValueIndexHints = getPreviousValueIndexHints;
|
|
@@ -431,16 +667,33 @@ export class AvmExecutionHints {
|
|
|
431
667
|
this.commitCheckpointHints = commitCheckpointHints;
|
|
432
668
|
this.revertCheckpointHints = revertCheckpointHints;
|
|
433
669
|
}
|
|
670
|
+
/**
|
|
671
|
+
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
672
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
673
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
674
|
+
* @param obj - Plain object containing AvmExecutionHints fields
|
|
675
|
+
* @returns An AvmExecutionHints instance
|
|
676
|
+
*/ static fromPlainObject(obj) {
|
|
677
|
+
if (obj instanceof AvmExecutionHints) {
|
|
678
|
+
return obj;
|
|
679
|
+
}
|
|
680
|
+
return new AvmExecutionHints(GlobalVariables.fromPlainObject(obj.globalVariables), AvmTxHint.fromPlainObject(obj.tx), ProtocolContracts.fromPlainObject(obj.protocolContracts), obj.contractInstances?.map((i)=>AvmContractInstanceHint.fromPlainObject(i)) || [], obj.contractClasses?.map((c)=>AvmContractClassHint.fromPlainObject(c)) || [], obj.bytecodeCommitments?.map((b)=>AvmBytecodeCommitmentHint.fromPlainObject(b)) || [], obj.debugFunctionNames?.map((d)=>AvmDebugFunctionNameHint.fromPlainObject(d)) || [], obj.contractDbCreateCheckpointHints?.map((h)=>AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [], obj.contractDbCommitCheckpointHints?.map((h)=>AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [], obj.contractDbRevertCheckpointHints?.map((h)=>AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [], obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(), obj.getSiblingPathHints?.map((h)=>AvmGetSiblingPathHint.fromPlainObject(h)) || [], obj.getPreviousValueIndexHints?.map((h)=>AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [], obj.getLeafPreimageHintsPublicDataTree?.map((h)=>AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h)) || [], obj.getLeafPreimageHintsNullifierTree?.map((h)=>AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) || [], obj.getLeafValueHints?.map((h)=>AvmGetLeafValueHint.fromPlainObject(h)) || [], obj.sequentialInsertHintsPublicDataTree?.map((h)=>AvmSequentialInsertHintPublicDataTree.fromPlainObject(h)) || [], obj.sequentialInsertHintsNullifierTree?.map((h)=>AvmSequentialInsertHintNullifierTree.fromPlainObject(h)) || [], obj.appendLeavesHints?.map((h)=>AvmAppendLeavesHint.fromPlainObject(h)) || [], obj.createCheckpointHints?.map((h)=>AvmCreateCheckpointHint.fromPlainObject(h)) || [], obj.commitCheckpointHints?.map((h)=>AvmCommitCheckpointHint.fromPlainObject(h)) || [], obj.revertCheckpointHints?.map((h)=>AvmRevertCheckpointHint.fromPlainObject(h)) || []);
|
|
681
|
+
}
|
|
434
682
|
static empty() {
|
|
435
|
-
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty());
|
|
683
|
+
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
436
684
|
}
|
|
437
685
|
static get schema() {
|
|
438
686
|
return z.object({
|
|
439
687
|
globalVariables: GlobalVariables.schema,
|
|
440
688
|
tx: AvmTxHint.schema,
|
|
689
|
+
protocolContracts: ProtocolContracts.schema,
|
|
441
690
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
442
691
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
443
692
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
693
|
+
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
694
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
695
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
696
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
444
697
|
startingTreeRoots: TreeSnapshots.schema,
|
|
445
698
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
446
699
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -453,7 +706,7 @@ export class AvmExecutionHints {
|
|
|
453
706
|
createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
|
|
454
707
|
commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
|
|
455
708
|
revertCheckpointHints: AvmRevertCheckpointHint.schema.array()
|
|
456
|
-
}).transform(({ globalVariables, tx, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
709
|
+
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
457
710
|
}
|
|
458
711
|
}
|
|
459
712
|
export class AvmCircuitInputs {
|
|
@@ -466,6 +719,9 @@ export class AvmCircuitInputs {
|
|
|
466
719
|
static empty() {
|
|
467
720
|
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
468
721
|
}
|
|
722
|
+
static fromPlainObject(obj) {
|
|
723
|
+
return new AvmCircuitInputs(AvmExecutionHints.fromPlainObject(obj.hints), AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
|
|
724
|
+
}
|
|
469
725
|
static get schema() {
|
|
470
726
|
return z.object({
|
|
471
727
|
hints: AvmExecutionHints.schema,
|
|
@@ -483,3 +739,326 @@ export class AvmCircuitInputs {
|
|
|
483
739
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
484
740
|
}
|
|
485
741
|
}
|
|
742
|
+
// Metadata about a given (enqueued or external) call.
|
|
743
|
+
export class CallStackMetadata {
|
|
744
|
+
phase;
|
|
745
|
+
contractAddress;
|
|
746
|
+
callerPc;
|
|
747
|
+
calldata;
|
|
748
|
+
isStaticCall;
|
|
749
|
+
gasLimit;
|
|
750
|
+
output;
|
|
751
|
+
internalCallStackAtExit;
|
|
752
|
+
haltingMessage;
|
|
753
|
+
reverted;
|
|
754
|
+
nested;
|
|
755
|
+
numNestedCalls;
|
|
756
|
+
constructor(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls){
|
|
757
|
+
this.phase = phase;
|
|
758
|
+
this.contractAddress = contractAddress;
|
|
759
|
+
this.callerPc = callerPc;
|
|
760
|
+
this.calldata = calldata;
|
|
761
|
+
this.isStaticCall = isStaticCall;
|
|
762
|
+
this.gasLimit = gasLimit;
|
|
763
|
+
this.output = output;
|
|
764
|
+
this.internalCallStackAtExit = internalCallStackAtExit;
|
|
765
|
+
this.haltingMessage = haltingMessage;
|
|
766
|
+
this.reverted = reverted;
|
|
767
|
+
this.nested = nested;
|
|
768
|
+
this.numNestedCalls = numNestedCalls;
|
|
769
|
+
}
|
|
770
|
+
static get schema() {
|
|
771
|
+
return z.object({
|
|
772
|
+
phase: z.nativeEnum(TxExecutionPhase),
|
|
773
|
+
contractAddress: Fr.schema,
|
|
774
|
+
callerPc: z.number(),
|
|
775
|
+
calldata: Fr.schema.array(),
|
|
776
|
+
isStaticCall: z.boolean(),
|
|
777
|
+
gasLimit: Gas.schema,
|
|
778
|
+
output: Fr.schema.array(),
|
|
779
|
+
internalCallStackAtExit: z.number().array(),
|
|
780
|
+
haltingMessage: NullishToUndefined(z.string()),
|
|
781
|
+
reverted: z.boolean(),
|
|
782
|
+
nested: CallStackMetadata.schema.array(),
|
|
783
|
+
numNestedCalls: z.number()
|
|
784
|
+
}).transform(({ phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls })=>new CallStackMetadata(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls));
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* Creates a CallStackMetadata from a plain object without Zod validation.
|
|
788
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
789
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
790
|
+
* @param obj - Plain object containing CallStackMetadata fields
|
|
791
|
+
* @returns A CallStackMetadata instance
|
|
792
|
+
*/ static fromPlainObject(obj) {
|
|
793
|
+
if (obj instanceof CallStackMetadata) {
|
|
794
|
+
return obj;
|
|
795
|
+
}
|
|
796
|
+
return new CallStackMetadata(obj.phase, Fr.fromPlainObject(obj.contractAddress), obj.callerPc, obj.calldata.map((f)=>Fr.fromPlainObject(f)), obj.isStaticCall, Gas.fromPlainObject(obj.gasLimit), obj.output.map((f)=>Fr.fromPlainObject(f)), obj.internalCallStackAtExit.map((p)=>Number(p)), obj.haltingMessage, obj.reverted, obj.nested.map((n)=>CallStackMetadata.fromPlainObject(n)), obj.numNestedCalls);
|
|
797
|
+
}
|
|
798
|
+
getRevertReason() {
|
|
799
|
+
const failingCall = this.findDeepestRevert([
|
|
800
|
+
this
|
|
801
|
+
]);
|
|
802
|
+
if (!failingCall) {
|
|
803
|
+
return undefined;
|
|
804
|
+
}
|
|
805
|
+
const { stack, leaf } = failingCall;
|
|
806
|
+
const aztecCallStack = stack.map((call)=>({
|
|
807
|
+
contractAddress: AztecAddress.fromField(call.contractAddress),
|
|
808
|
+
functionSelector: call.calldata.length > 0 ? FunctionSelector.fromFieldOrUndefined(call.calldata[0]) : undefined
|
|
809
|
+
}));
|
|
810
|
+
// The Noir call stack is the internal call stack at exit of the failing call
|
|
811
|
+
const noirCallStack = leaf.internalCallStackAtExit.map((pc)=>`0.${pc}`);
|
|
812
|
+
return new SimulationError(leaf.haltingMessage ?? 'Transaction reverted', aztecCallStack, leaf.output, noirCallStack);
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Finds the "rightmost deepest" revert in the call tree.
|
|
816
|
+
*
|
|
817
|
+
* At each level, we select the LAST (rightmost) reverted call, then recurse into its
|
|
818
|
+
* nested calls to find the deepest reverted leaf along that path. The chain stops
|
|
819
|
+
* when we encounter a non-reverted call (since you can choose not to rethrow).
|
|
820
|
+
*
|
|
821
|
+
* Examples (X = reverted, O = passed):
|
|
822
|
+
*
|
|
823
|
+
* 1. [X, X, X] at depth 1 -> returns the last X (rightmost)
|
|
824
|
+
*
|
|
825
|
+
* 2. [X(depth2), X, X] where first X has a nested revert -> returns the last X at depth 1,
|
|
826
|
+
* NOT the deeper revert in the first X (rightmost takes priority over depth)
|
|
827
|
+
*
|
|
828
|
+
* 3. X -> X -> X -> O -> O -> X (nested chain)
|
|
829
|
+
* Returns the 3rd X, because the O's break the reverted chain (they didn't rethrow)
|
|
830
|
+
*
|
|
831
|
+
* @param calls - Array of call metadata at the current level
|
|
832
|
+
* @param parentStack - Accumulated stack of parent calls (for building the result)
|
|
833
|
+
* @returns The deepest reverted call along the rightmost reverted path, or undefined if none
|
|
834
|
+
*/ findDeepestRevert(calls, parentStack = []) {
|
|
835
|
+
const lastReverted = calls.findLast((call)=>call.reverted);
|
|
836
|
+
if (!lastReverted) {
|
|
837
|
+
return undefined;
|
|
838
|
+
}
|
|
839
|
+
const currentStack = [
|
|
840
|
+
...parentStack,
|
|
841
|
+
lastReverted
|
|
842
|
+
];
|
|
843
|
+
return this.findDeepestRevert(lastReverted.nested, currentStack) || {
|
|
844
|
+
stack: currentStack,
|
|
845
|
+
leaf: lastReverted
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
export class PublicTxEffect {
|
|
850
|
+
transactionFee;
|
|
851
|
+
noteHashes;
|
|
852
|
+
nullifiers;
|
|
853
|
+
l2ToL1Msgs;
|
|
854
|
+
publicLogs;
|
|
855
|
+
publicDataWrites;
|
|
856
|
+
constructor(transactionFee, noteHashes, nullifiers, l2ToL1Msgs, publicLogs, publicDataWrites){
|
|
857
|
+
this.transactionFee = transactionFee;
|
|
858
|
+
this.noteHashes = noteHashes;
|
|
859
|
+
this.nullifiers = nullifiers;
|
|
860
|
+
this.l2ToL1Msgs = l2ToL1Msgs;
|
|
861
|
+
this.publicLogs = publicLogs;
|
|
862
|
+
this.publicDataWrites = publicDataWrites;
|
|
863
|
+
}
|
|
864
|
+
static empty() {
|
|
865
|
+
return new PublicTxEffect(Fr.ZERO, [], [], [], [], []);
|
|
866
|
+
}
|
|
867
|
+
static get schema() {
|
|
868
|
+
return z.object({
|
|
869
|
+
transactionFee: Fr.schema,
|
|
870
|
+
noteHashes: Fr.schema.array(),
|
|
871
|
+
nullifiers: Fr.schema.array(),
|
|
872
|
+
l2ToL1Msgs: ScopedL2ToL1Message.schema.array(),
|
|
873
|
+
publicLogs: PublicLog.schema.array(),
|
|
874
|
+
publicDataWrites: PublicDataWrite.schema.array()
|
|
875
|
+
}).transform(PublicTxEffect.from);
|
|
876
|
+
}
|
|
877
|
+
static from(obj) {
|
|
878
|
+
return new PublicTxEffect(obj.transactionFee, obj.noteHashes, obj.nullifiers, obj.l2ToL1Msgs, obj.publicLogs, obj.publicDataWrites);
|
|
879
|
+
}
|
|
880
|
+
static fromPlainObject(obj) {
|
|
881
|
+
return new PublicTxEffect(Fr.fromPlainObject(obj.transactionFee), obj.noteHashes.map((h)=>Fr.fromPlainObject(h)), obj.nullifiers.map((n)=>Fr.fromPlainObject(n)), obj.l2ToL1Msgs.map((m)=>ScopedL2ToL1Message.fromPlainObject(m)), obj.publicLogs.map((l)=>PublicLog.fromPlainObject(l)), obj.publicDataWrites.map((w)=>PublicDataWrite.fromPlainObject(w)));
|
|
882
|
+
}
|
|
883
|
+
equals(other) {
|
|
884
|
+
return this.transactionFee.equals(other.transactionFee) && this.noteHashes.length === other.noteHashes.length && this.noteHashes.every((h, i)=>h.equals(other.noteHashes[i])) && this.nullifiers.length === other.nullifiers.length && this.nullifiers.every((h, i)=>h.equals(other.nullifiers[i])) && this.l2ToL1Msgs.length === other.l2ToL1Msgs.length && this.l2ToL1Msgs.every((m, i)=>m.equals(other.l2ToL1Msgs[i])) && this.publicLogs.length === other.publicLogs.length && this.publicLogs.every((l, i)=>l.equals(other.publicLogs[i])) && this.publicDataWrites.length === other.publicDataWrites.length && this.publicDataWrites.every((w, i)=>w.equals(other.publicDataWrites[i]));
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
export class PublicTxResult {
|
|
888
|
+
gasUsed;
|
|
889
|
+
revertCode;
|
|
890
|
+
publicTxEffect;
|
|
891
|
+
callStackMetadata;
|
|
892
|
+
logs;
|
|
893
|
+
hints;
|
|
894
|
+
publicInputs;
|
|
895
|
+
constructor(// Simulation result.
|
|
896
|
+
gasUsed, revertCode, publicTxEffect, // These are only guaranteed to be present if the simulator is configured to collect them.
|
|
897
|
+
// TODO(fcarreiro): Remove NestedProcessReturnValues[] once we migrate to the C++ simulator.
|
|
898
|
+
callStackMetadata, logs, // For the proving request.
|
|
899
|
+
hints, publicInputs){
|
|
900
|
+
this.gasUsed = gasUsed;
|
|
901
|
+
this.revertCode = revertCode;
|
|
902
|
+
this.publicTxEffect = publicTxEffect;
|
|
903
|
+
this.callStackMetadata = callStackMetadata;
|
|
904
|
+
this.logs = logs;
|
|
905
|
+
this.hints = hints;
|
|
906
|
+
this.publicInputs = publicInputs;
|
|
907
|
+
}
|
|
908
|
+
static empty() {
|
|
909
|
+
return new PublicTxResult({
|
|
910
|
+
totalGas: Gas.empty(),
|
|
911
|
+
teardownGas: Gas.empty(),
|
|
912
|
+
publicGas: Gas.empty(),
|
|
913
|
+
billedGas: Gas.empty()
|
|
914
|
+
}, RevertCode.OK, PublicTxEffect.empty(), /*callStackMetadata=*/ [], /*logs=*/ [], /*hints=*/ AvmExecutionHints.empty(), /*publicInputs=*/ AvmCircuitPublicInputs.empty());
|
|
915
|
+
}
|
|
916
|
+
static get schema() {
|
|
917
|
+
return z.object({
|
|
918
|
+
gasUsed: schemas.GasUsed,
|
|
919
|
+
revertCode: RevertCode.schema,
|
|
920
|
+
revertReason: NullishToUndefined(SimulationError.schema),
|
|
921
|
+
publicTxEffect: PublicTxEffect.schema,
|
|
922
|
+
callStackMetadata: z.union([
|
|
923
|
+
CallStackMetadata.schema.array(),
|
|
924
|
+
NestedProcessReturnValues.schema.array()
|
|
925
|
+
]),
|
|
926
|
+
logs: NullishToUndefined(DebugLog.schema.array()),
|
|
927
|
+
// For the proving request.
|
|
928
|
+
publicInputs: NullishToUndefined(AvmCircuitPublicInputs.schema),
|
|
929
|
+
hints: NullishToUndefined(AvmExecutionHints.schema)
|
|
930
|
+
}).transform(({ gasUsed, revertCode, publicTxEffect, callStackMetadata, logs, hints, publicInputs })=>new PublicTxResult(gasUsed, revertCode, publicTxEffect, callStackMetadata, logs, hints, publicInputs));
|
|
931
|
+
}
|
|
932
|
+
/**
|
|
933
|
+
* Creates a PublicTxResult from a plain object without Zod validation.
|
|
934
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
935
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
936
|
+
* @param obj - Plain object containing PublicTxResult fields
|
|
937
|
+
* @returns A PublicTxResult instance
|
|
938
|
+
*/ static fromPlainObject(obj) {
|
|
939
|
+
return new PublicTxResult(GasUsed.fromPlainObject(obj.gasUsed), RevertCode.fromPlainObject(obj.revertCode), PublicTxEffect.fromPlainObject(obj.publicTxEffect), obj.callStackMetadata.map(CallStackMetadata.fromPlainObject), obj.logs?.map(DebugLog.fromPlainObject), obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined, obj.publicInputs ? AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs) : undefined);
|
|
940
|
+
}
|
|
941
|
+
/** Returns one level of return values for the app logic phase, one per enqueued call. */ getAppLogicReturnValues() {
|
|
942
|
+
if (this.callStackMetadata.every((metadata)=>metadata instanceof CallStackMetadata)) {
|
|
943
|
+
return this.callStackMetadata.filter((metadata)=>metadata.phase === TxExecutionPhase.APP_LOGIC).map((metadata)=>new NestedProcessReturnValues(metadata.output));
|
|
944
|
+
} else {
|
|
945
|
+
return this.callStackMetadata.map((metadata)=>new NestedProcessReturnValues(metadata.values, metadata.nested));
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
findRevertReason() {
|
|
949
|
+
if (this.revertCode.isOK()) {
|
|
950
|
+
return undefined;
|
|
951
|
+
}
|
|
952
|
+
const callStackMetadata = this.callStackMetadata;
|
|
953
|
+
// TODO(fcarreiro): Remove this after migration to the C++ simulator.
|
|
954
|
+
// If the "stack" comes from TS, it will have this field.
|
|
955
|
+
if (callStackMetadata.revertReason !== undefined) {
|
|
956
|
+
return callStackMetadata.revertReason;
|
|
957
|
+
}
|
|
958
|
+
// Handle CallStackMetadata[].
|
|
959
|
+
let revertReason = undefined;
|
|
960
|
+
for (const call of callStackMetadata){
|
|
961
|
+
revertReason = call.getRevertReason();
|
|
962
|
+
if (revertReason) {
|
|
963
|
+
break;
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
return revertReason;
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
export class CollectionLimitsConfig {
|
|
970
|
+
maxDebugLogMemoryReads;
|
|
971
|
+
maxCalldataSizeInFields;
|
|
972
|
+
maxReturndataSizeInFields;
|
|
973
|
+
maxCallStackDepth;
|
|
974
|
+
maxCallStackItems;
|
|
975
|
+
constructor(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems){
|
|
976
|
+
this.maxDebugLogMemoryReads = maxDebugLogMemoryReads;
|
|
977
|
+
this.maxCalldataSizeInFields = maxCalldataSizeInFields;
|
|
978
|
+
this.maxReturndataSizeInFields = maxReturndataSizeInFields;
|
|
979
|
+
this.maxCallStackDepth = maxCallStackDepth;
|
|
980
|
+
this.maxCallStackItems = maxCallStackItems;
|
|
981
|
+
}
|
|
982
|
+
static from(obj) {
|
|
983
|
+
return new CollectionLimitsConfig(obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS, obj.maxCalldataSizeInFields ?? 300, obj.maxReturndataSizeInFields ?? 300, obj.maxCallStackDepth ?? 5, obj.maxCallStackItems ?? 100);
|
|
984
|
+
}
|
|
985
|
+
static empty() {
|
|
986
|
+
return CollectionLimitsConfig.from({});
|
|
987
|
+
}
|
|
988
|
+
static get schema() {
|
|
989
|
+
return z.object({
|
|
990
|
+
maxDebugLogMemoryReads: z.number(),
|
|
991
|
+
maxCalldataSizeInFields: z.number(),
|
|
992
|
+
maxReturndataSizeInFields: z.number(),
|
|
993
|
+
maxCallStackDepth: z.number(),
|
|
994
|
+
maxCallStackItems: z.number()
|
|
995
|
+
}).transform(({ maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems })=>new CollectionLimitsConfig(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems));
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
export class PublicSimulatorConfig {
|
|
999
|
+
proverId;
|
|
1000
|
+
skipFeeEnforcement;
|
|
1001
|
+
collectCallMetadata;
|
|
1002
|
+
collectHints;
|
|
1003
|
+
collectPublicInputs;
|
|
1004
|
+
collectDebugLogs;
|
|
1005
|
+
collectStatistics;
|
|
1006
|
+
collectionLimits;
|
|
1007
|
+
constructor(proverId, skipFeeEnforcement, collectCallMetadata, collectHints, collectPublicInputs, collectDebugLogs, collectStatistics, collectionLimits){
|
|
1008
|
+
this.proverId = proverId;
|
|
1009
|
+
this.skipFeeEnforcement = skipFeeEnforcement;
|
|
1010
|
+
this.collectCallMetadata = collectCallMetadata;
|
|
1011
|
+
this.collectHints = collectHints;
|
|
1012
|
+
this.collectPublicInputs = collectPublicInputs;
|
|
1013
|
+
this.collectDebugLogs = collectDebugLogs;
|
|
1014
|
+
this.collectStatistics = collectStatistics;
|
|
1015
|
+
this.collectionLimits = collectionLimits;
|
|
1016
|
+
}
|
|
1017
|
+
static from(obj) {
|
|
1018
|
+
return new PublicSimulatorConfig(obj.proverId ?? Fr.ZERO, obj.skipFeeEnforcement ?? false, obj.collectCallMetadata ?? false, obj.collectHints ?? false, obj.collectPublicInputs ?? false, obj.collectDebugLogs ?? false, obj.collectStatistics ?? false, obj.collectionLimits ?? CollectionLimitsConfig.empty());
|
|
1019
|
+
}
|
|
1020
|
+
static empty() {
|
|
1021
|
+
return PublicSimulatorConfig.from({});
|
|
1022
|
+
}
|
|
1023
|
+
static get schema() {
|
|
1024
|
+
return z.object({
|
|
1025
|
+
proverId: Fr.schema,
|
|
1026
|
+
skipFeeEnforcement: z.boolean(),
|
|
1027
|
+
collectCallMetadata: z.boolean(),
|
|
1028
|
+
collectHints: z.boolean(),
|
|
1029
|
+
collectPublicInputs: z.boolean(),
|
|
1030
|
+
collectDebugLogs: z.boolean(),
|
|
1031
|
+
collectStatistics: z.boolean(),
|
|
1032
|
+
collectionLimits: CollectionLimitsConfig.schema
|
|
1033
|
+
}).transform(PublicSimulatorConfig.from);
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
export class AvmFastSimulationInputs {
|
|
1037
|
+
wsRevision;
|
|
1038
|
+
config;
|
|
1039
|
+
tx;
|
|
1040
|
+
globalVariables;
|
|
1041
|
+
protocolContracts;
|
|
1042
|
+
constructor(wsRevision, config, tx, globalVariables, protocolContracts){
|
|
1043
|
+
this.wsRevision = wsRevision;
|
|
1044
|
+
this.config = config;
|
|
1045
|
+
this.tx = tx;
|
|
1046
|
+
this.globalVariables = globalVariables;
|
|
1047
|
+
this.protocolContracts = protocolContracts;
|
|
1048
|
+
}
|
|
1049
|
+
static empty() {
|
|
1050
|
+
return new AvmFastSimulationInputs(WorldStateRevision.empty(), PublicSimulatorConfig.empty(), AvmTxHint.empty(), GlobalVariables.empty(), ProtocolContracts.empty());
|
|
1051
|
+
}
|
|
1052
|
+
static get schema() {
|
|
1053
|
+
return z.object({
|
|
1054
|
+
wsRevision: WorldStateRevision.schema,
|
|
1055
|
+
config: PublicSimulatorConfig.schema,
|
|
1056
|
+
tx: AvmTxHint.schema,
|
|
1057
|
+
globalVariables: GlobalVariables.schema,
|
|
1058
|
+
protocolContracts: ProtocolContracts.schema
|
|
1059
|
+
}).transform(({ wsRevision, config, tx, globalVariables, protocolContracts })=>new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts));
|
|
1060
|
+
}
|
|
1061
|
+
serializeWithMessagePack() {
|
|
1062
|
+
return serializeWithMessagePack(this);
|
|
1063
|
+
}
|
|
1064
|
+
}
|