@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +92 -107
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +2 -2
- package/dest/abi/authorization_selector.d.ts +1 -1
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/buffer.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.js +3 -3
- package/dest/abi/decoder.d.ts +1 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/event_metadata_definition.d.ts +1 -1
- package/dest/abi/event_selector.d.ts +1 -1
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +1 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_selector.d.ts +1 -1
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/index.d.ts +1 -1
- package/dest/abi/mocked_keys.d.ts +1 -1
- package/dest/abi/note_selector.d.ts +1 -1
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/selector.d.ts +1 -1
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +1 -1
- package/dest/auth_witness/auth_witness.d.ts +1 -2
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +4189 -2057
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +375 -16
- package/dest/avm/avm_accumulated_data.d.ts +25 -36
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +18 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts +156 -146
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +9 -0
- package/dest/avm/avm_proving_request.d.ts +2023 -1503
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +1 -13
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +1 -13
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/message_pack.d.ts +2 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +3 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +1 -10
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +1 -10
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +13 -11
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +9 -0
- package/dest/avm/public_inner_call_request.d.ts +1 -4
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/revert_code.d.ts +16 -7
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +24 -8
- package/dest/aztec-address/index.d.ts +10 -1
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +24 -2
- package/dest/block/attestation_info.d.ts +3 -1
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +4 -1
- package/dest/block/block_hash.d.ts +1 -1
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/body.d.ts +8 -8
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +11 -27
- package/dest/block/in_block.d.ts +3 -11
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +2 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +15 -7
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +54 -4
- package/dest/block/l2_block_code_to_purge.d.ts +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +4 -3
- package/dest/block/l2_block_header.d.ts +10 -12
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +18 -11
- package/dest/block/l2_block_info.d.ts +9 -9
- package/dest/block/l2_block_new.d.ts +108 -0
- package/dest/block/l2_block_new.d.ts.map +1 -0
- package/dest/block/l2_block_new.js +135 -0
- package/dest/block/l2_block_number.d.ts +1 -1
- package/dest/block/l2_block_source.d.ts +10 -9
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.d.ts +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -6
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.d.ts +16 -5
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +14 -0
- package/dest/block/proposal/committee_attestation.d.ts +1 -1
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +1 -1
- package/dest/block/published_l2_block.d.ts +15 -28
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +12 -27
- package/dest/block/test/index.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/validate_block_result.d.ts +6 -178
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +4 -3
- package/dest/checkpoint/checkpoint.d.ts +121 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +62 -0
- package/dest/checkpoint/index.d.ts +3 -2
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -1
- package/dest/checkpoint/published_checkpoint.d.ts +212 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/published_checkpoint.js +71 -0
- package/dest/config/chain-config.d.ts +1 -1
- package/dest/config/index.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts +1 -1
- package/dest/contract/artifact_hash.d.ts +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/complete_address.d.ts +1 -4
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class_id.d.ts +1 -1
- package/dest/contract/contract_class_metadata.d.ts +1 -1
- package/dest/contract/contract_deployment_data.d.ts +119 -0
- package/dest/contract/contract_deployment_data.d.ts.map +1 -0
- package/dest/contract/contract_deployment_data.js +99 -0
- package/dest/contract/contract_function_dao.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.d.ts +1 -1
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_metadata.d.ts +1 -1
- package/dest/contract/deployment_info.d.ts +1 -1
- package/dest/contract/index.d.ts +2 -1
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +1 -0
- package/dest/contract/interfaces/contract_class.d.ts +41 -122
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_data_source.d.ts +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +11 -11
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.d.ts +3 -3
- package/dest/contract/interfaces/index.d.ts +1 -1
- package/dest/contract/interfaces/node-info.d.ts +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +1 -1
- package/dest/contract/partial_address.d.ts +1 -1
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.d.ts +2 -2
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/contract/utility_function_membership_proof.d.ts +1 -1
- package/dest/database-version/index.d.ts +1 -1
- package/dest/database-version/version_manager.d.ts +6 -8
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
- package/dest/delayed_public_mutable/index.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/epoch-helpers/index.d.ts +12 -11
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +10 -9
- package/dest/errors/index.d.ts +1 -1
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts +1 -1
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/fees/index.d.ts +1 -1
- package/dest/fees/transaction_fee.d.ts +1 -1
- package/dest/file-store/factory.d.ts +1 -1
- package/dest/file-store/gcs.d.ts +1 -1
- package/dest/file-store/gcs.d.ts.map +1 -1
- package/dest/file-store/http.d.ts +1 -1
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +8 -3
- package/dest/file-store/index.d.ts +1 -1
- package/dest/file-store/interface.d.ts +1 -1
- package/dest/file-store/local.d.ts +1 -1
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +3 -7
- package/dest/gas/gas.d.ts +9 -1
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +12 -0
- package/dest/gas/gas_fees.d.ts +9 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +12 -0
- package/dest/gas/gas_settings.d.ts +9 -1
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +12 -0
- package/dest/gas/gas_used.d.ts +13 -2
- package/dest/gas/gas_used.d.ts.map +1 -1
- package/dest/gas/gas_used.js +19 -1
- package/dest/gas/index.d.ts +1 -1
- package/dest/hash/hash.d.ts +11 -3
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +11 -1
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/interfaces/allowed_element.d.ts +5 -5
- package/dest/interfaces/api_limit.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts +6 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +8 -6
- package/dest/interfaces/aztec-node-admin.d.ts +92 -85
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.d.ts +3 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +1 -1
- package/dest/interfaces/block-builder.d.ts +1 -1
- package/dest/interfaces/client.d.ts +1 -1
- package/dest/interfaces/configs.d.ts +31 -21
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -1
- package/dest/interfaces/epoch-prover.d.ts +5 -5
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +2 -2
- package/dest/interfaces/l2_logs_source.d.ts +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +3 -3
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
- package/dest/interfaces/p2p.d.ts +3 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +1 -1
- package/dest/interfaces/private_kernel_prover.d.ts +1 -1
- package/dest/interfaces/processed-tx-handler.d.ts +1 -1
- package/dest/interfaces/prover-agent.d.ts +1 -1
- package/dest/interfaces/prover-broker.d.ts +1 -1
- package/dest/interfaces/prover-client.d.ts +5 -5
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-coordination.d.ts +1 -1
- package/dest/interfaces/prover-node.d.ts +1 -1
- package/dest/interfaces/proving-job-source.d.ts +1 -1
- package/dest/interfaces/proving-job.d.ts +1672 -1159
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +3 -2
- package/dest/interfaces/public_state_source.d.ts +1 -1
- package/dest/interfaces/server.d.ts +1 -1
- package/dest/interfaces/server_circuit_prover.d.ts +2 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +1 -1
- package/dest/interfaces/slasher.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts +1 -1
- package/dest/interfaces/validator.d.ts +27 -19
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +2 -1
- package/dest/interfaces/world_state.d.ts +1 -1
- package/dest/kernel/claimed_length_array.d.ts +1 -1
- package/dest/kernel/claimed_length_array.d.ts.map +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/build_transient_data_hints.d.ts +2 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +2 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/hints/index.d.ts +1 -1
- package/dest/kernel/hints/key_validation_hint.d.ts +1 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +1 -2
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -6
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -24
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
- package/dest/kernel/hints/read_request.d.ts +1 -7
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +1 -7
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts +1 -1
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.d.ts +1 -1
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +1 -1
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.d.ts +1 -1
- package/dest/kernel/padded_side_effects.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +1 -23
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +1 -25
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +1 -16
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +17 -74
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +17 -5
- package/dest/kernel/private_context_inputs.d.ts +1 -1
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -29
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
- package/dest/kernel/private_kernel_data.d.ts +1 -7
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +0 -2
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +7 -20
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -3
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -7
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +10 -10
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -4
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -10
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -23
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +18 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -17
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +1 -16
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.d.ts +2 -24
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +5 -13
- package/dest/kernel/public_call_request.d.ts +22 -27
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +18 -0
- package/dest/kernel/utils/index.d.ts +1 -1
- package/dest/kernel/utils/interfaces.d.ts +1 -1
- package/dest/kernel/utils/optional_number.d.ts +1 -7
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
- package/dest/keys/derivation.d.ts +1 -1
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +1 -1
- package/dest/keys/public_key.d.ts +1 -1
- package/dest/keys/public_keys.d.ts +9 -5
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +12 -0
- package/dest/keys/utils.d.ts +1 -1
- package/dest/l1-contracts/index.d.ts +1 -1
- package/dest/l1-contracts/slash_factory.d.ts +3 -3
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/logs/contract_class_log.d.ts +20 -4
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +24 -0
- package/dest/logs/debug_log.d.ts +10 -2
- package/dest/logs/debug_log.d.ts.map +1 -1
- package/dest/logs/debug_log.js +13 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +1 -1
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/extended_contract_class_log.d.ts +1 -3
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +3 -5
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +1 -1
- package/dest/logs/log_filter.d.ts +1 -1
- package/dest/logs/log_id.d.ts +1 -4
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.d.ts +1 -1
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/message_context.d.ts +1 -1
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.d.ts +1 -1
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pre_tag.d.ts +1 -1
- package/dest/logs/private_log.d.ts +10 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +14 -5
- package/dest/logs/public_log.d.ts +9 -1
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +9 -0
- package/dest/logs/shared_secret_derivation.d.ts +1 -1
- package/dest/logs/tx_scoped_l2_log.d.ts +8 -8
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/messaging/in_hash.d.ts +4 -0
- package/dest/messaging/in_hash.d.ts.map +1 -0
- package/dest/messaging/in_hash.js +8 -0
- package/dest/messaging/inbox_leaf.d.ts +1 -3
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/index.d.ts +3 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +2 -0
- package/dest/messaging/l1_actor.d.ts +1 -7
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +1 -6
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message_source.d.ts +1 -1
- package/dest/messaging/l2_actor.d.ts +1 -7
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +2 -2
- package/dest/messaging/l2_to_l1_message.d.ts +17 -1
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +18 -0
- package/dest/messaging/out_hash.d.ts +5 -0
- package/dest/messaging/out_hash.d.ts.map +1 -0
- package/dest/messaging/out_hash.js +28 -0
- package/dest/noir/index.d.ts +7 -7
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +6 -6
- package/dest/note/comparator.d.ts +1 -1
- package/dest/note/index.d.ts +2 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -1
- package/dest/note/note.d.ts +2 -17
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note_dao.d.ts +71 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +101 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/note/notes_filter.d.ts +1 -1
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/block_attestation.d.ts +5 -12
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +3 -6
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -1
- package/dest/p2p/client_type.d.ts +1 -1
- package/dest/p2p/consensus_payload.d.ts +10 -188
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +16 -23
- package/dest/p2p/gossipable.d.ts +6 -5
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +16 -10
- package/dest/p2p/index.d.ts +1 -1
- package/dest/p2p/interface.d.ts +1 -1
- package/dest/p2p/message_validator.d.ts +1 -1
- package/dest/p2p/peer_error.d.ts +1 -1
- package/dest/p2p/signature_utils.d.ts +1 -1
- package/dest/p2p/topic_type.d.ts +1 -1
- package/dest/parity/index.d.ts +1 -1
- package/dest/parity/parity_base_private_inputs.d.ts +1 -3
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +1 -4
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +1 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/index.d.ts +1 -1
- package/dest/proofs/proof.d.ts +1 -4
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof_data.d.ts +1 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.d.ts +1 -1
- package/dest/proofs/recursive_proof.d.ts +2 -26
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +1 -34
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +1 -12
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.d.ts +4 -0
- package/dest/rollup/block_headers_hash.d.ts.map +1 -0
- package/dest/rollup/block_headers_hash.js +9 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +8 -40
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +8 -2
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +2 -76
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +1 -9
- package/dest/rollup/checkpoint_constant_data.d.ts +26 -13
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +27 -3
- package/dest/rollup/checkpoint_header.d.ts +16 -14
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +40 -13
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -25
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -29
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +4 -4
- package/dest/rollup/epoch_constant_data.d.ts +1 -16
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/index.d.ts +2 -1
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +1 -6
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +1 -3
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +1 -24
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +1 -4
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +1 -29
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +86 -15
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +12 -1
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +5 -4
- package/dest/slashing/helpers.d.ts +7 -6
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +8 -6
- package/dest/slashing/index.d.ts +1 -1
- package/dest/slashing/interfaces.d.ts +3 -2
- package/dest/slashing/interfaces.d.ts.map +1 -1
- package/dest/slashing/serialization.d.ts +1 -1
- package/dest/slashing/tally.d.ts +1 -1
- package/dest/slashing/types.d.ts +10 -10
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/types.d.ts +18 -18
- package/dest/snapshots/upload.d.ts +1 -1
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +1 -1
- package/dest/tests/factories.d.ts +34 -29
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +72 -147
- package/dest/tests/fixtures.d.ts +1 -1
- package/dest/tests/index.d.ts +1 -1
- package/dest/tests/jest.d.ts +1 -1
- package/dest/tests/mocks.d.ts +54 -23
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +133 -33
- package/dest/trees/append_only_tree_snapshot.d.ts +9 -16
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +9 -9
- package/dest/trees/database_public_state_source.d.ts +1 -1
- package/dest/trees/database_public_state_source.d.ts.map +1 -1
- package/dest/trees/index.d.ts +1 -1
- package/dest/trees/merkle_tree_id.d.ts +5 -5
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +17 -13
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +24 -0
- package/dest/trees/nullifier_membership_witness.d.ts +4 -37
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +28 -27
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +24 -0
- package/dest/trees/public_data_witness.d.ts +11 -45
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +5 -12
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +13 -2
- package/dest/tx/call_context.d.ts +6 -18
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +1 -4
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/content_commitment.d.ts +1 -1
- package/dest/tx/content_commitment.d.ts.map +1 -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 +4 -6
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +3 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +43 -24
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +48 -8
- package/dest/tx/hashed_values.d.ts +1 -7
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/indexed_tx_effect.d.ts +2 -2
- package/dest/tx/indexed_tx_effect.js +3 -1
- package/dest/tx/offchain_effect.d.ts +1 -1
- package/dest/tx/partial_state_reference.d.ts +4 -7
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +10 -10
- package/dest/tx/private_execution_result.d.ts +14 -49
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -3
- package/dest/tx/private_tx_constant_data.d.ts +1 -16
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/processed_tx.d.ts +1 -1
- package/dest/tx/profiling.d.ts +38 -38
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +5 -4
- package/dest/tx/protocol_contracts.d.ts +10 -2
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +9 -0
- package/dest/tx/proven_tx.d.ts +18 -18
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.d.ts +9 -7
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +12 -0
- package/dest/tx/public_simulation_output.d.ts +3 -1
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +8 -1
- package/dest/tx/simulated_tx.d.ts +21 -21
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/state_reference.d.ts +10 -12
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +9 -9
- package/dest/tx/tree_snapshots.d.ts +15 -7
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +9 -0
- package/dest/tx/tx.d.ts +3 -17
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +5 -4
- package/dest/tx/tx_constant_data.d.ts +1 -1
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_context.d.ts +1 -2
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +20 -42
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +54 -59
- package/dest/tx/tx_execution_request.d.ts +1 -30
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_hash.d.ts +1 -2
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +1 -7
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_request.d.ts +1 -6
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/validator/empty_validator.d.ts +1 -1
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +1 -1
- package/dest/tx/validator/tx_validator.d.ts +5 -5
- package/dest/types/index.d.ts +1 -1
- package/dest/types/shared.d.ts +1 -4
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +1 -1
- package/dest/update-checker/update-checker.d.ts +2 -3
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/validators/errors.d.ts +6 -7
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +2 -4
- package/dest/validators/index.d.ts +1 -1
- package/dest/validators/schemas.d.ts +266 -208
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +7 -7
- package/dest/validators/types.d.ts +10 -9
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/index.d.ts +1 -1
- package/dest/versioning/versioning.d.ts +1 -1
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +10 -22
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +20 -0
- package/dest/vks/vk_data.d.ts +1 -7
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/world-state/index.d.ts +1 -1
- package/dest/world-state/world_state_revision.d.ts +34 -2
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +24 -1
- package/dest/zkpassport/index.d.ts +1 -1
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/abi/abi.ts +4 -4
- package/src/abi/contract_artifact.ts +3 -3
- package/src/avm/avm.ts +562 -6
- package/src/avm/avm_accumulated_data.ts +40 -0
- package/src/avm/avm_circuit_public_inputs.ts +40 -0
- package/src/avm/message_pack.ts +4 -1
- package/src/avm/public_data_write.ts +12 -1
- package/src/avm/revert_code.ts +29 -9
- package/src/aztec-address/index.ts +26 -2
- package/src/block/attestation_info.ts +8 -1
- package/src/block/body.ts +16 -39
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +62 -4
- package/src/block/l2_block_code_to_purge.ts +4 -2
- package/src/block/l2_block_header.ts +19 -5
- package/src/block/l2_block_new.ts +171 -0
- package/src/block/l2_block_source.ts +9 -8
- package/src/block/proposal/attestations_and_signers.ts +20 -1
- package/src/block/published_l2_block.ts +14 -31
- package/src/block/validate_block_result.ts +9 -7
- package/src/checkpoint/checkpoint.ts +88 -0
- package/src/checkpoint/index.ts +2 -1
- package/src/checkpoint/published_checkpoint.ts +91 -0
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/index.ts +1 -0
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/epoch-helpers/index.ts +28 -21
- package/src/file-store/http.ts +6 -3
- package/src/file-store/s3.ts +3 -7
- package/src/gas/gas.ts +14 -0
- package/src/gas/gas_fees.ts +14 -0
- package/src/gas/gas_settings.ts +19 -0
- package/src/gas/gas_used.ts +22 -1
- package/src/hash/hash.ts +13 -2
- package/src/interfaces/archiver.ts +10 -5
- package/src/interfaces/aztec-node.ts +4 -3
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/epoch-prover.ts +3 -4
- package/src/interfaces/merkle_tree_operations.ts +2 -2
- package/src/interfaces/p2p.ts +4 -2
- package/src/interfaces/proving-job.ts +14 -5
- package/src/interfaces/validator.ts +5 -2
- package/src/kernel/hints/build_transient_data_hints.ts +2 -2
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/private_circuit_public_inputs.ts +29 -9
- package/src/kernel/private_kernel_circuit_public_inputs.ts +7 -0
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +6 -0
- package/src/kernel/private_to_avm_accumulated_data.ts +35 -0
- package/src/kernel/private_validation_requests.ts +1 -13
- package/src/kernel/public_call_request.ts +27 -0
- package/src/keys/public_keys.ts +19 -0
- package/src/logs/contract_class_log.ts +32 -0
- package/src/logs/debug_log.ts +20 -1
- package/src/logs/private_log.ts +19 -3
- package/src/logs/public_log.ts +14 -0
- package/src/messaging/in_hash.ts +10 -0
- package/src/messaging/index.ts +2 -0
- package/src/messaging/l2_to_l1_membership.ts +2 -2
- package/src/messaging/l2_to_l1_message.ts +25 -0
- package/src/messaging/out_hash.ts +36 -0
- package/src/noir/index.ts +6 -6
- package/src/note/index.ts +1 -1
- package/src/note/note_dao.ts +151 -0
- package/src/p2p/block_attestation.ts +2 -1
- package/src/p2p/block_proposal.ts +3 -2
- package/src/p2p/consensus_payload.ts +16 -26
- package/src/p2p/gossipable.ts +17 -8
- package/src/rollup/block_headers_hash.ts +12 -0
- package/src/rollup/block_rollup_public_inputs.ts +8 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +0 -9
- package/src/rollup/checkpoint_constant_data.ts +43 -4
- package/src/rollup/checkpoint_header.ts +46 -22
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +5 -5
- package/src/rollup/index.ts +1 -0
- package/src/schemas/schemas.ts +18 -0
- package/src/slashing/empire.ts +6 -4
- package/src/slashing/helpers.ts +17 -12
- package/src/slashing/interfaces.ts +3 -1
- package/src/tests/factories.ts +211 -227
- package/src/tests/mocks.ts +228 -50
- package/src/trees/append_only_tree_snapshot.ts +11 -12
- package/src/trees/nullifier_leaf.ts +32 -0
- package/src/trees/public_data_leaf.ts +32 -0
- package/src/tx/block_header.ts +16 -3
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/global_variable_builder.ts +2 -1
- package/src/tx/global_variables.ts +63 -9
- package/src/tx/index.ts +1 -0
- package/src/tx/indexed_tx_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +9 -17
- package/src/tx/private_execution_result.ts +5 -2
- package/src/tx/profiling.ts +4 -6
- package/src/tx/protocol_contracts.ts +16 -0
- package/src/tx/public_call_request_with_calldata.ts +17 -0
- package/src/tx/public_simulation_output.ts +18 -1
- package/src/tx/state_reference.ts +9 -15
- package/src/tx/tree_snapshots.ts +16 -0
- package/src/tx/tx.ts +5 -5
- package/src/tx/tx_effect.ts +84 -90
- package/src/validators/errors.ts +3 -4
- package/src/validators/schemas.ts +7 -7
- package/src/validators/types.ts +9 -8
- package/src/vks/verification_key.ts +25 -0
- package/src/world-state/world_state_revision.ts +47 -5
- package/dest/checkpoint/checkpoint_body.d.ts +0 -4
- package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
- package/dest/checkpoint/checkpoint_body.js +0 -9
- package/dest/note/unique_note.d.ts +0 -43
- package/dest/note/unique_note.d.ts.map +0 -1
- package/dest/note/unique_note.js +0 -67
- package/src/checkpoint/checkpoint_body.ts +0 -10
- package/src/note/unique_note.ts +0 -88
package/src/avm/avm.ts
CHANGED
|
@@ -1,35 +1,44 @@
|
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
4
4
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
7
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
8
|
+
import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
|
|
9
|
+
import { SimulationError } from '../errors/simulation_error.js';
|
|
8
10
|
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
9
11
|
import { Gas } from '../gas/gas.js';
|
|
10
12
|
import { GasFees } from '../gas/gas_fees.js';
|
|
11
13
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
14
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
12
15
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
16
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
13
17
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
18
|
+
import { NullishToUndefined, type ZodFor, schemas } from '../schemas/schemas.js';
|
|
14
19
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
15
20
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
16
|
-
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
17
|
-
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
21
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
22
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
18
23
|
import {
|
|
19
24
|
GlobalVariables,
|
|
25
|
+
NestedProcessReturnValues,
|
|
20
26
|
ProtocolContracts,
|
|
21
27
|
PublicCallRequestWithCalldata,
|
|
22
28
|
TreeSnapshots,
|
|
23
29
|
type Tx,
|
|
24
30
|
} from '../tx/index.js';
|
|
31
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
25
32
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
26
33
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
34
|
+
import { RevertCode } from './revert_code.js';
|
|
27
35
|
|
|
28
36
|
////////////////////////////////////////////////////////////////////////////
|
|
29
37
|
// Hints (contracts)
|
|
30
38
|
////////////////////////////////////////////////////////////////////////////
|
|
31
39
|
export class AvmContractClassHint {
|
|
32
40
|
constructor(
|
|
41
|
+
public readonly hintKey: number,
|
|
33
42
|
public readonly classId: Fr,
|
|
34
43
|
public readonly artifactHash: Fr,
|
|
35
44
|
public readonly privateFunctionsRoot: Fr,
|
|
@@ -39,20 +48,42 @@ export class AvmContractClassHint {
|
|
|
39
48
|
static get schema() {
|
|
40
49
|
return z
|
|
41
50
|
.object({
|
|
51
|
+
hintKey: z.number().int().nonnegative(),
|
|
42
52
|
classId: schemas.Fr,
|
|
43
53
|
artifactHash: schemas.Fr,
|
|
44
54
|
privateFunctionsRoot: schemas.Fr,
|
|
45
55
|
packedBytecode: schemas.Buffer,
|
|
46
56
|
})
|
|
47
57
|
.transform(
|
|
48
|
-
({ classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
|
|
49
|
-
new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode),
|
|
58
|
+
({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
|
|
59
|
+
new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode),
|
|
50
60
|
);
|
|
51
61
|
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Creates an AvmContractClassHint from a plain object without Zod validation.
|
|
65
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
66
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
67
|
+
* @param obj - Plain object containing AvmContractClassHint fields
|
|
68
|
+
* @returns An AvmContractClassHint instance
|
|
69
|
+
*/
|
|
70
|
+
static fromPlainObject(obj: any): AvmContractClassHint {
|
|
71
|
+
if (obj instanceof AvmContractClassHint) {
|
|
72
|
+
return obj;
|
|
73
|
+
}
|
|
74
|
+
return new AvmContractClassHint(
|
|
75
|
+
obj.hintKey,
|
|
76
|
+
Fr.fromPlainObject(obj.classId),
|
|
77
|
+
Fr.fromPlainObject(obj.artifactHash),
|
|
78
|
+
Fr.fromPlainObject(obj.privateFunctionsRoot),
|
|
79
|
+
obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode),
|
|
80
|
+
);
|
|
81
|
+
}
|
|
52
82
|
}
|
|
53
83
|
|
|
54
84
|
export class AvmBytecodeCommitmentHint {
|
|
55
85
|
constructor(
|
|
86
|
+
public readonly hintKey: number,
|
|
56
87
|
public readonly classId: Fr,
|
|
57
88
|
public readonly commitment: Fr,
|
|
58
89
|
) {}
|
|
@@ -60,15 +91,35 @@ export class AvmBytecodeCommitmentHint {
|
|
|
60
91
|
static get schema() {
|
|
61
92
|
return z
|
|
62
93
|
.object({
|
|
94
|
+
hintKey: z.number().int().nonnegative(),
|
|
63
95
|
classId: schemas.Fr,
|
|
64
96
|
commitment: schemas.Fr,
|
|
65
97
|
})
|
|
66
|
-
.transform(({ classId, commitment }) => new AvmBytecodeCommitmentHint(classId, commitment));
|
|
98
|
+
.transform(({ hintKey, classId, commitment }) => new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
|
|
103
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
104
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
105
|
+
* @param obj - Plain object containing AvmBytecodeCommitmentHint fields
|
|
106
|
+
* @returns An AvmBytecodeCommitmentHint instance
|
|
107
|
+
*/
|
|
108
|
+
static fromPlainObject(obj: any): AvmBytecodeCommitmentHint {
|
|
109
|
+
if (obj instanceof AvmBytecodeCommitmentHint) {
|
|
110
|
+
return obj;
|
|
111
|
+
}
|
|
112
|
+
return new AvmBytecodeCommitmentHint(
|
|
113
|
+
obj.hintKey,
|
|
114
|
+
Fr.fromPlainObject(obj.classId),
|
|
115
|
+
Fr.fromPlainObject(obj.commitment),
|
|
116
|
+
);
|
|
67
117
|
}
|
|
68
118
|
}
|
|
69
119
|
|
|
70
120
|
export class AvmContractInstanceHint {
|
|
71
121
|
constructor(
|
|
122
|
+
public readonly hintKey: number,
|
|
72
123
|
public readonly address: AztecAddress,
|
|
73
124
|
public readonly salt: Fr,
|
|
74
125
|
public readonly deployer: AztecAddress,
|
|
@@ -81,6 +132,7 @@ export class AvmContractInstanceHint {
|
|
|
81
132
|
static get schema() {
|
|
82
133
|
return z
|
|
83
134
|
.object({
|
|
135
|
+
hintKey: z.number().int().nonnegative(),
|
|
84
136
|
address: AztecAddress.schema,
|
|
85
137
|
salt: schemas.Fr,
|
|
86
138
|
deployer: AztecAddress.schema,
|
|
@@ -91,6 +143,7 @@ export class AvmContractInstanceHint {
|
|
|
91
143
|
})
|
|
92
144
|
.transform(
|
|
93
145
|
({
|
|
146
|
+
hintKey,
|
|
94
147
|
address,
|
|
95
148
|
salt,
|
|
96
149
|
deployer,
|
|
@@ -100,6 +153,7 @@ export class AvmContractInstanceHint {
|
|
|
100
153
|
publicKeys,
|
|
101
154
|
}) =>
|
|
102
155
|
new AvmContractInstanceHint(
|
|
156
|
+
hintKey,
|
|
103
157
|
address,
|
|
104
158
|
salt,
|
|
105
159
|
deployer,
|
|
@@ -110,6 +164,65 @@ export class AvmContractInstanceHint {
|
|
|
110
164
|
),
|
|
111
165
|
);
|
|
112
166
|
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Creates an AvmContractInstanceHint from a plain object without Zod validation.
|
|
170
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
171
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
172
|
+
* @param obj - Plain object containing AvmContractInstanceHint fields
|
|
173
|
+
* @returns An AvmContractInstanceHint instance
|
|
174
|
+
*/
|
|
175
|
+
static fromPlainObject(obj: any): AvmContractInstanceHint {
|
|
176
|
+
if (obj instanceof AvmContractInstanceHint) {
|
|
177
|
+
return obj;
|
|
178
|
+
}
|
|
179
|
+
return new AvmContractInstanceHint(
|
|
180
|
+
obj.hintKey,
|
|
181
|
+
AztecAddress.fromPlainObject(obj.address),
|
|
182
|
+
Fr.fromPlainObject(obj.salt),
|
|
183
|
+
AztecAddress.fromPlainObject(obj.deployer),
|
|
184
|
+
Fr.fromPlainObject(obj.currentContractClassId),
|
|
185
|
+
Fr.fromPlainObject(obj.originalContractClassId),
|
|
186
|
+
Fr.fromPlainObject(obj.initializationHash),
|
|
187
|
+
PublicKeys.fromPlainObject(obj.publicKeys),
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export class AvmDebugFunctionNameHint {
|
|
193
|
+
constructor(
|
|
194
|
+
public readonly address: AztecAddress,
|
|
195
|
+
public readonly selector: Fr,
|
|
196
|
+
public readonly name: string,
|
|
197
|
+
) {}
|
|
198
|
+
|
|
199
|
+
static get schema() {
|
|
200
|
+
return z
|
|
201
|
+
.object({
|
|
202
|
+
address: AztecAddress.schema,
|
|
203
|
+
selector: schemas.Fr,
|
|
204
|
+
name: z.string(),
|
|
205
|
+
})
|
|
206
|
+
.transform(({ address, selector, name }) => new AvmDebugFunctionNameHint(address, selector, name));
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
|
|
211
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
212
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
213
|
+
* @param obj - Plain object containing AvmDebugFunctionNameHint fields
|
|
214
|
+
* @returns An AvmDebugFunctionNameHint instance
|
|
215
|
+
*/
|
|
216
|
+
static fromPlainObject(obj: any): AvmDebugFunctionNameHint {
|
|
217
|
+
if (obj instanceof AvmDebugFunctionNameHint) {
|
|
218
|
+
return obj;
|
|
219
|
+
}
|
|
220
|
+
return new AvmDebugFunctionNameHint(
|
|
221
|
+
AztecAddress.fromPlainObject(obj.address),
|
|
222
|
+
Fr.fromPlainObject(obj.selector),
|
|
223
|
+
obj.name,
|
|
224
|
+
);
|
|
225
|
+
}
|
|
113
226
|
}
|
|
114
227
|
|
|
115
228
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -136,6 +249,25 @@ export class AvmGetSiblingPathHint {
|
|
|
136
249
|
})
|
|
137
250
|
.transform(({ hintKey, treeId, index, path }) => new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
138
251
|
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
|
|
255
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
256
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
257
|
+
* @param obj - Plain object containing AvmGetSiblingPathHint fields
|
|
258
|
+
* @returns An AvmGetSiblingPathHint instance
|
|
259
|
+
*/
|
|
260
|
+
static fromPlainObject(obj: any): AvmGetSiblingPathHint {
|
|
261
|
+
if (obj instanceof AvmGetSiblingPathHint) {
|
|
262
|
+
return obj;
|
|
263
|
+
}
|
|
264
|
+
return new AvmGetSiblingPathHint(
|
|
265
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
266
|
+
obj.treeId,
|
|
267
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
268
|
+
obj.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
269
|
+
);
|
|
270
|
+
}
|
|
139
271
|
}
|
|
140
272
|
|
|
141
273
|
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
@@ -164,6 +296,26 @@ export class AvmGetPreviousValueIndexHint {
|
|
|
164
296
|
new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent),
|
|
165
297
|
);
|
|
166
298
|
}
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
|
|
302
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
303
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
304
|
+
* @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
|
|
305
|
+
* @returns An AvmGetPreviousValueIndexHint instance
|
|
306
|
+
*/
|
|
307
|
+
static fromPlainObject(obj: any): AvmGetPreviousValueIndexHint {
|
|
308
|
+
if (obj instanceof AvmGetPreviousValueIndexHint) {
|
|
309
|
+
return obj;
|
|
310
|
+
}
|
|
311
|
+
return new AvmGetPreviousValueIndexHint(
|
|
312
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
313
|
+
obj.treeId,
|
|
314
|
+
Fr.fromPlainObject(obj.value),
|
|
315
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
316
|
+
obj.alreadyPresent,
|
|
317
|
+
);
|
|
318
|
+
}
|
|
167
319
|
}
|
|
168
320
|
|
|
169
321
|
type IndexedTreeLeafPreimages = NullifierLeafPreimage | PublicDataTreeLeafPreimage;
|
|
@@ -191,6 +343,24 @@ function AvmGetLeafPreimageHintFactory(klass: IndexedTreeLeafPreimagesClasses) {
|
|
|
191
343
|
})
|
|
192
344
|
.transform(({ hintKey, index, leafPreimage }) => new this(hintKey, index, leafPreimage));
|
|
193
345
|
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Creates an instance from a plain object without Zod validation.
|
|
349
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
350
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
351
|
+
* @param obj - Plain object containing hint fields
|
|
352
|
+
* @returns An instance
|
|
353
|
+
*/
|
|
354
|
+
static fromPlainObject(obj: any): any {
|
|
355
|
+
if (obj instanceof this) {
|
|
356
|
+
return obj;
|
|
357
|
+
}
|
|
358
|
+
return new this(
|
|
359
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
360
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
361
|
+
klass.fromPlainObject(obj.leafPreimage),
|
|
362
|
+
);
|
|
363
|
+
}
|
|
194
364
|
};
|
|
195
365
|
}
|
|
196
366
|
|
|
@@ -220,6 +390,25 @@ export class AvmGetLeafValueHint {
|
|
|
220
390
|
})
|
|
221
391
|
.transform(({ hintKey, treeId, index, value }) => new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
222
392
|
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Creates an AvmGetLeafValueHint from a plain object without Zod validation.
|
|
396
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
397
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
398
|
+
* @param obj - Plain object containing AvmGetLeafValueHint fields
|
|
399
|
+
* @returns An AvmGetLeafValueHint instance
|
|
400
|
+
*/
|
|
401
|
+
static fromPlainObject(obj: any): AvmGetLeafValueHint {
|
|
402
|
+
if (obj instanceof AvmGetLeafValueHint) {
|
|
403
|
+
return obj;
|
|
404
|
+
}
|
|
405
|
+
return new AvmGetLeafValueHint(
|
|
406
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
407
|
+
obj.treeId,
|
|
408
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
409
|
+
Fr.fromPlainObject(obj.value),
|
|
410
|
+
);
|
|
411
|
+
}
|
|
223
412
|
}
|
|
224
413
|
|
|
225
414
|
// Hint for MerkleTreeDB.sequentialInsert.
|
|
@@ -269,6 +458,43 @@ function AvmSequentialInsertHintFactory(klass: IndexedTreeLeafPreimagesClasses)
|
|
|
269
458
|
new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData),
|
|
270
459
|
);
|
|
271
460
|
}
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Creates an instance from a plain object without Zod validation.
|
|
464
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
465
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
466
|
+
* @param obj - Plain object containing hint fields
|
|
467
|
+
* @returns An instance
|
|
468
|
+
*/
|
|
469
|
+
static fromPlainObject(obj: any): any {
|
|
470
|
+
if (obj instanceof this) {
|
|
471
|
+
return obj;
|
|
472
|
+
}
|
|
473
|
+
// Determine the leaf class based on the klass parameter
|
|
474
|
+
const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
|
|
475
|
+
return new this(
|
|
476
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
477
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
|
|
478
|
+
obj.treeId,
|
|
479
|
+
LeafClass.fromPlainObject(obj.leaf),
|
|
480
|
+
{
|
|
481
|
+
leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
|
|
482
|
+
index:
|
|
483
|
+
typeof obj.lowLeavesWitnessData.index === 'bigint'
|
|
484
|
+
? obj.lowLeavesWitnessData.index
|
|
485
|
+
: BigInt(obj.lowLeavesWitnessData.index),
|
|
486
|
+
path: obj.lowLeavesWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
|
|
490
|
+
index:
|
|
491
|
+
typeof obj.insertionWitnessData.index === 'bigint'
|
|
492
|
+
? obj.insertionWitnessData.index
|
|
493
|
+
: BigInt(obj.insertionWitnessData.index),
|
|
494
|
+
path: obj.insertionWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
495
|
+
},
|
|
496
|
+
);
|
|
497
|
+
}
|
|
272
498
|
};
|
|
273
499
|
}
|
|
274
500
|
|
|
@@ -299,6 +525,25 @@ export class AvmAppendLeavesHint {
|
|
|
299
525
|
({ hintKey, stateAfter, treeId, leaves }) => new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves),
|
|
300
526
|
);
|
|
301
527
|
}
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* Creates an AvmAppendLeavesHint from a plain object without Zod validation.
|
|
531
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
532
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
533
|
+
* @param obj - Plain object containing AvmAppendLeavesHint fields
|
|
534
|
+
* @returns An AvmAppendLeavesHint instance
|
|
535
|
+
*/
|
|
536
|
+
static fromPlainObject(obj: any): AvmAppendLeavesHint {
|
|
537
|
+
if (obj instanceof AvmAppendLeavesHint) {
|
|
538
|
+
return obj;
|
|
539
|
+
}
|
|
540
|
+
return new AvmAppendLeavesHint(
|
|
541
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
542
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
|
|
543
|
+
obj.treeId,
|
|
544
|
+
obj.leaves.map((l: any) => Fr.fromPlainObject(l)),
|
|
545
|
+
);
|
|
546
|
+
}
|
|
302
547
|
}
|
|
303
548
|
|
|
304
549
|
// Hint for checkpoint actions that don't change the state.
|
|
@@ -323,6 +568,20 @@ class AvmCheckpointActionNoStateChangeHint {
|
|
|
323
568
|
new this(actionCounter, oldCheckpointId, newCheckpointId),
|
|
324
569
|
);
|
|
325
570
|
}
|
|
571
|
+
|
|
572
|
+
/**
|
|
573
|
+
* Creates an instance from a plain object without Zod validation.
|
|
574
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
575
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
576
|
+
* @param obj - Plain object containing hint fields
|
|
577
|
+
* @returns An instance
|
|
578
|
+
*/
|
|
579
|
+
static fromPlainObject(obj: any): any {
|
|
580
|
+
if (obj instanceof this) {
|
|
581
|
+
return obj;
|
|
582
|
+
}
|
|
583
|
+
return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
|
|
584
|
+
}
|
|
326
585
|
}
|
|
327
586
|
|
|
328
587
|
// Hint for MerkleTreeDB.createCheckpoint.
|
|
@@ -385,8 +644,32 @@ export class AvmRevertCheckpointHint {
|
|
|
385
644
|
new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter),
|
|
386
645
|
);
|
|
387
646
|
}
|
|
647
|
+
|
|
648
|
+
/**
|
|
649
|
+
* Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
|
|
650
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
651
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
652
|
+
* @param obj - Plain object containing AvmRevertCheckpointHint fields
|
|
653
|
+
* @returns An AvmRevertCheckpointHint instance
|
|
654
|
+
*/
|
|
655
|
+
static fromPlainObject(obj: any): AvmRevertCheckpointHint {
|
|
656
|
+
if (obj instanceof AvmRevertCheckpointHint) {
|
|
657
|
+
return obj;
|
|
658
|
+
}
|
|
659
|
+
return new AvmRevertCheckpointHint(
|
|
660
|
+
obj.actionCounter,
|
|
661
|
+
obj.oldCheckpointId,
|
|
662
|
+
obj.newCheckpointId,
|
|
663
|
+
TreeSnapshots.fromPlainObject(obj.stateBefore),
|
|
664
|
+
TreeSnapshots.fromPlainObject(obj.stateAfter),
|
|
665
|
+
);
|
|
666
|
+
}
|
|
388
667
|
}
|
|
389
668
|
|
|
669
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
670
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
671
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
672
|
+
|
|
390
673
|
////////////////////////////////////////////////////////////////////////////
|
|
391
674
|
// Hints (other)
|
|
392
675
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -395,6 +678,8 @@ export class AvmTxHint {
|
|
|
395
678
|
public readonly hash: string,
|
|
396
679
|
public readonly gasSettings: GasSettings,
|
|
397
680
|
public readonly effectiveGasFees: GasFees,
|
|
681
|
+
public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
|
|
682
|
+
public readonly revertibleContractDeploymentData: ContractDeploymentData,
|
|
398
683
|
public readonly nonRevertibleAccumulatedData: {
|
|
399
684
|
noteHashes: Fr[];
|
|
400
685
|
nullifiers: Fr[];
|
|
@@ -420,6 +705,7 @@ export class AvmTxHint {
|
|
|
420
705
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
421
706
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
422
707
|
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
708
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
423
709
|
|
|
424
710
|
// For informational purposes. Assumed quick because it should be cached.
|
|
425
711
|
const txHash = tx.getTxHash();
|
|
@@ -428,6 +714,8 @@ export class AvmTxHint {
|
|
|
428
714
|
txHash.hash.toString(),
|
|
429
715
|
gasSettings,
|
|
430
716
|
effectiveGasFees,
|
|
717
|
+
allContractDeploymentData.getNonRevertibleContractDeploymentData(),
|
|
718
|
+
allContractDeploymentData.getRevertibleContractDeploymentData(),
|
|
431
719
|
{
|
|
432
720
|
noteHashes: tx.data.forPublic!.nonRevertibleAccumulatedData.noteHashes.filter(x => !x.isZero()),
|
|
433
721
|
nullifiers: tx.data.forPublic!.nonRevertibleAccumulatedData.nullifiers.filter(x => !x.isZero()),
|
|
@@ -451,6 +739,8 @@ export class AvmTxHint {
|
|
|
451
739
|
'',
|
|
452
740
|
GasSettings.empty(),
|
|
453
741
|
GasFees.empty(),
|
|
742
|
+
ContractDeploymentData.empty(),
|
|
743
|
+
ContractDeploymentData.empty(),
|
|
454
744
|
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
455
745
|
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
456
746
|
[],
|
|
@@ -461,12 +751,53 @@ export class AvmTxHint {
|
|
|
461
751
|
);
|
|
462
752
|
}
|
|
463
753
|
|
|
754
|
+
/**
|
|
755
|
+
* Creates an AvmTxHint from a plain object without Zod validation.
|
|
756
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
757
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
758
|
+
* @param obj - Plain object containing AvmTxHint fields
|
|
759
|
+
* @returns An AvmTxHint instance
|
|
760
|
+
*/
|
|
761
|
+
static fromPlainObject(obj: any): AvmTxHint {
|
|
762
|
+
if (obj instanceof AvmTxHint) {
|
|
763
|
+
return obj;
|
|
764
|
+
}
|
|
765
|
+
return new AvmTxHint(
|
|
766
|
+
obj.hash,
|
|
767
|
+
GasSettings.fromPlainObject(obj.gasSettings),
|
|
768
|
+
GasFees.fromPlainObject(obj.effectiveGasFees),
|
|
769
|
+
ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData),
|
|
770
|
+
ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData),
|
|
771
|
+
{
|
|
772
|
+
noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
773
|
+
nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
774
|
+
l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
|
|
775
|
+
ScopedL2ToL1Message.fromPlainObject(m),
|
|
776
|
+
),
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
780
|
+
nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
781
|
+
l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
|
|
782
|
+
ScopedL2ToL1Message.fromPlainObject(m),
|
|
783
|
+
),
|
|
784
|
+
},
|
|
785
|
+
obj.setupEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
|
|
786
|
+
obj.appLogicEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
|
|
787
|
+
obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null,
|
|
788
|
+
Gas.fromPlainObject(obj.gasUsedByPrivate),
|
|
789
|
+
AztecAddress.fromPlainObject(obj.feePayer),
|
|
790
|
+
);
|
|
791
|
+
}
|
|
792
|
+
|
|
464
793
|
static get schema() {
|
|
465
794
|
return z
|
|
466
795
|
.object({
|
|
467
796
|
hash: z.string(),
|
|
468
797
|
gasSettings: GasSettings.schema,
|
|
469
798
|
effectiveGasFees: GasFees.schema,
|
|
799
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
800
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
470
801
|
nonRevertibleAccumulatedData: z.object({
|
|
471
802
|
noteHashes: schemas.Fr.array(),
|
|
472
803
|
nullifiers: schemas.Fr.array(),
|
|
@@ -488,6 +819,8 @@ export class AvmTxHint {
|
|
|
488
819
|
hash,
|
|
489
820
|
gasSettings,
|
|
490
821
|
effectiveGasFees,
|
|
822
|
+
nonRevertibleContractDeploymentData,
|
|
823
|
+
revertibleContractDeploymentData,
|
|
491
824
|
nonRevertibleAccumulatedData,
|
|
492
825
|
revertibleAccumulatedData,
|
|
493
826
|
setupEnqueuedCalls,
|
|
@@ -500,6 +833,8 @@ export class AvmTxHint {
|
|
|
500
833
|
hash,
|
|
501
834
|
gasSettings,
|
|
502
835
|
effectiveGasFees,
|
|
836
|
+
nonRevertibleContractDeploymentData,
|
|
837
|
+
revertibleContractDeploymentData,
|
|
503
838
|
nonRevertibleAccumulatedData,
|
|
504
839
|
revertibleAccumulatedData,
|
|
505
840
|
setupEnqueuedCalls,
|
|
@@ -522,6 +857,10 @@ export class AvmExecutionHints {
|
|
|
522
857
|
public readonly contractInstances: AvmContractInstanceHint[] = [],
|
|
523
858
|
public readonly contractClasses: AvmContractClassHint[] = [],
|
|
524
859
|
public readonly bytecodeCommitments: AvmBytecodeCommitmentHint[] = [],
|
|
860
|
+
public readonly debugFunctionNames: AvmDebugFunctionNameHint[] = [],
|
|
861
|
+
public readonly contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint[] = [],
|
|
862
|
+
public readonly contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint[] = [],
|
|
863
|
+
public readonly contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint[] = [],
|
|
525
864
|
// Merkle DB hints.
|
|
526
865
|
public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
|
|
527
866
|
public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
|
|
@@ -537,6 +876,50 @@ export class AvmExecutionHints {
|
|
|
537
876
|
public readonly revertCheckpointHints: AvmRevertCheckpointHint[] = [],
|
|
538
877
|
) {}
|
|
539
878
|
|
|
879
|
+
/**
|
|
880
|
+
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
881
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
882
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
883
|
+
* @param obj - Plain object containing AvmExecutionHints fields
|
|
884
|
+
* @returns An AvmExecutionHints instance
|
|
885
|
+
*/
|
|
886
|
+
static fromPlainObject(obj: any): AvmExecutionHints {
|
|
887
|
+
if (obj instanceof AvmExecutionHints) {
|
|
888
|
+
return obj;
|
|
889
|
+
}
|
|
890
|
+
return new AvmExecutionHints(
|
|
891
|
+
GlobalVariables.fromPlainObject(obj.globalVariables),
|
|
892
|
+
AvmTxHint.fromPlainObject(obj.tx),
|
|
893
|
+
ProtocolContracts.fromPlainObject(obj.protocolContracts),
|
|
894
|
+
obj.contractInstances?.map((i: any) => AvmContractInstanceHint.fromPlainObject(i)) || [],
|
|
895
|
+
obj.contractClasses?.map((c: any) => AvmContractClassHint.fromPlainObject(c)) || [],
|
|
896
|
+
obj.bytecodeCommitments?.map((b: any) => AvmBytecodeCommitmentHint.fromPlainObject(b)) || [],
|
|
897
|
+
obj.debugFunctionNames?.map((d: any) => AvmDebugFunctionNameHint.fromPlainObject(d)) || [],
|
|
898
|
+
obj.contractDbCreateCheckpointHints?.map((h: any) => AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [],
|
|
899
|
+
obj.contractDbCommitCheckpointHints?.map((h: any) => AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [],
|
|
900
|
+
obj.contractDbRevertCheckpointHints?.map((h: any) => AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [],
|
|
901
|
+
obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(),
|
|
902
|
+
obj.getSiblingPathHints?.map((h: any) => AvmGetSiblingPathHint.fromPlainObject(h)) || [],
|
|
903
|
+
obj.getPreviousValueIndexHints?.map((h: any) => AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [],
|
|
904
|
+
obj.getLeafPreimageHintsPublicDataTree?.map((h: any) =>
|
|
905
|
+
AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h),
|
|
906
|
+
) || [],
|
|
907
|
+
obj.getLeafPreimageHintsNullifierTree?.map((h: any) => AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) ||
|
|
908
|
+
[],
|
|
909
|
+
obj.getLeafValueHints?.map((h: any) => AvmGetLeafValueHint.fromPlainObject(h)) || [],
|
|
910
|
+
obj.sequentialInsertHintsPublicDataTree?.map((h: any) =>
|
|
911
|
+
AvmSequentialInsertHintPublicDataTree.fromPlainObject(h),
|
|
912
|
+
) || [],
|
|
913
|
+
obj.sequentialInsertHintsNullifierTree?.map((h: any) =>
|
|
914
|
+
AvmSequentialInsertHintNullifierTree.fromPlainObject(h),
|
|
915
|
+
) || [],
|
|
916
|
+
obj.appendLeavesHints?.map((h: any) => AvmAppendLeavesHint.fromPlainObject(h)) || [],
|
|
917
|
+
obj.createCheckpointHints?.map((h: any) => AvmCreateCheckpointHint.fromPlainObject(h)) || [],
|
|
918
|
+
obj.commitCheckpointHints?.map((h: any) => AvmCommitCheckpointHint.fromPlainObject(h)) || [],
|
|
919
|
+
obj.revertCheckpointHints?.map((h: any) => AvmRevertCheckpointHint.fromPlainObject(h)) || [],
|
|
920
|
+
);
|
|
921
|
+
}
|
|
922
|
+
|
|
540
923
|
static empty() {
|
|
541
924
|
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
542
925
|
}
|
|
@@ -550,6 +933,10 @@ export class AvmExecutionHints {
|
|
|
550
933
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
551
934
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
552
935
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
936
|
+
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
937
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
938
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
939
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
553
940
|
startingTreeRoots: TreeSnapshots.schema,
|
|
554
941
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
555
942
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -571,6 +958,10 @@ export class AvmExecutionHints {
|
|
|
571
958
|
contractInstances,
|
|
572
959
|
contractClasses,
|
|
573
960
|
bytecodeCommitments,
|
|
961
|
+
debugFunctionNames,
|
|
962
|
+
contractDbCreateCheckpointHints,
|
|
963
|
+
contractDbCommitCheckpointHints,
|
|
964
|
+
contractDbRevertCheckpointHints,
|
|
574
965
|
startingTreeRoots,
|
|
575
966
|
getSiblingPathHints,
|
|
576
967
|
getPreviousValueIndexHints,
|
|
@@ -591,6 +982,10 @@ export class AvmExecutionHints {
|
|
|
591
982
|
contractInstances,
|
|
592
983
|
contractClasses,
|
|
593
984
|
bytecodeCommitments,
|
|
985
|
+
debugFunctionNames,
|
|
986
|
+
contractDbCreateCheckpointHints,
|
|
987
|
+
contractDbCommitCheckpointHints,
|
|
988
|
+
contractDbRevertCheckpointHints,
|
|
594
989
|
startingTreeRoots,
|
|
595
990
|
getSiblingPathHints,
|
|
596
991
|
getPreviousValueIndexHints,
|
|
@@ -618,6 +1013,13 @@ export class AvmCircuitInputs {
|
|
|
618
1013
|
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
619
1014
|
}
|
|
620
1015
|
|
|
1016
|
+
static fromPlainObject(obj: any): AvmCircuitInputs {
|
|
1017
|
+
return new AvmCircuitInputs(
|
|
1018
|
+
AvmExecutionHints.fromPlainObject(obj.hints),
|
|
1019
|
+
AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
|
|
1020
|
+
);
|
|
1021
|
+
}
|
|
1022
|
+
|
|
621
1023
|
static get schema() {
|
|
622
1024
|
return z
|
|
623
1025
|
.object({
|
|
@@ -639,3 +1041,157 @@ export class AvmCircuitInputs {
|
|
|
639
1041
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
640
1042
|
}
|
|
641
1043
|
}
|
|
1044
|
+
|
|
1045
|
+
export class PublicTxResult {
|
|
1046
|
+
constructor(
|
|
1047
|
+
// Simulation result.
|
|
1048
|
+
public gasUsed: GasUsed,
|
|
1049
|
+
public revertCode: RevertCode,
|
|
1050
|
+
public revertReason: SimulationError | undefined, // Revert reason, if any
|
|
1051
|
+
// These are only guaranteed to be present if the simulator is configured to collect them.
|
|
1052
|
+
// NOTE: This list will be populated with one NestedProcessReturnValues per app logic enqueued call.
|
|
1053
|
+
// IMPORTANT: The nesting will only be 1 level deep! You will get one result per enqueued call
|
|
1054
|
+
// but no information about nested calls. This can be added later.
|
|
1055
|
+
public appLogicReturnValues: NestedProcessReturnValues[], // One per enqueued call.
|
|
1056
|
+
public logs: DebugLog[] | undefined,
|
|
1057
|
+
// For the proving request.
|
|
1058
|
+
public hints: AvmExecutionHints | undefined,
|
|
1059
|
+
public publicInputs: AvmCircuitPublicInputs,
|
|
1060
|
+
) {}
|
|
1061
|
+
|
|
1062
|
+
static empty() {
|
|
1063
|
+
return new PublicTxResult(
|
|
1064
|
+
{
|
|
1065
|
+
totalGas: Gas.empty(),
|
|
1066
|
+
teardownGas: Gas.empty(),
|
|
1067
|
+
publicGas: Gas.empty(),
|
|
1068
|
+
billedGas: Gas.empty(),
|
|
1069
|
+
},
|
|
1070
|
+
RevertCode.OK,
|
|
1071
|
+
/*revertReason=*/ undefined,
|
|
1072
|
+
/*appLogicReturnValues=*/ [],
|
|
1073
|
+
/*logs=*/ [],
|
|
1074
|
+
/*hints=*/ AvmExecutionHints.empty(),
|
|
1075
|
+
/*publicInputs=*/ AvmCircuitPublicInputs.empty(),
|
|
1076
|
+
);
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
static get schema(): ZodFor<PublicTxResult> {
|
|
1080
|
+
return z
|
|
1081
|
+
.object({
|
|
1082
|
+
gasUsed: schemas.GasUsed,
|
|
1083
|
+
revertCode: RevertCode.schema,
|
|
1084
|
+
revertReason: NullishToUndefined(SimulationError.schema),
|
|
1085
|
+
appLogicReturnValues: NestedProcessReturnValues.schema.array(),
|
|
1086
|
+
logs: NullishToUndefined(DebugLog.schema.array()),
|
|
1087
|
+
// For the proving request.
|
|
1088
|
+
publicInputs: AvmCircuitPublicInputs.schema,
|
|
1089
|
+
hints: NullishToUndefined(AvmExecutionHints.schema),
|
|
1090
|
+
})
|
|
1091
|
+
.transform(
|
|
1092
|
+
({ gasUsed, revertCode, revertReason, appLogicReturnValues, logs, hints, publicInputs }) =>
|
|
1093
|
+
new PublicTxResult(
|
|
1094
|
+
gasUsed,
|
|
1095
|
+
revertCode as RevertCode,
|
|
1096
|
+
revertReason,
|
|
1097
|
+
appLogicReturnValues,
|
|
1098
|
+
logs,
|
|
1099
|
+
hints,
|
|
1100
|
+
publicInputs,
|
|
1101
|
+
),
|
|
1102
|
+
);
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
static fromPlainObject(obj: any): PublicTxResult {
|
|
1106
|
+
return new PublicTxResult(
|
|
1107
|
+
GasUsed.fromPlainObject(obj.gasUsed),
|
|
1108
|
+
RevertCode.fromPlainObject(obj.revertCode),
|
|
1109
|
+
/*revertReason=*/ undefined, // TODO(fcarreiro/mwood): add.
|
|
1110
|
+
/*appLogicReturnValues=*/ obj.appLogicReturnValues.map(NestedProcessReturnValues.fromPlainObject),
|
|
1111
|
+
obj.logs?.map(DebugLog.fromPlainObject),
|
|
1112
|
+
obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined,
|
|
1113
|
+
AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
|
|
1114
|
+
);
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
export class PublicSimulatorConfig {
|
|
1119
|
+
constructor(
|
|
1120
|
+
public readonly proverId: Fr,
|
|
1121
|
+
public readonly skipFeeEnforcement: boolean,
|
|
1122
|
+
public readonly collectCallMetadata: boolean, // appLogicReturnValues.
|
|
1123
|
+
public readonly collectHints: boolean, // hints.
|
|
1124
|
+
public readonly collectDebugLogs: boolean, // logs.
|
|
1125
|
+
public readonly maxDebugLogMemoryReads: number,
|
|
1126
|
+
public readonly collectStatistics: boolean, // timings etc.
|
|
1127
|
+
) {}
|
|
1128
|
+
|
|
1129
|
+
static from(obj: Partial<PublicSimulatorConfig>): PublicSimulatorConfig {
|
|
1130
|
+
return new PublicSimulatorConfig(
|
|
1131
|
+
obj.proverId ?? Fr.ZERO,
|
|
1132
|
+
obj.skipFeeEnforcement ?? false,
|
|
1133
|
+
obj.collectCallMetadata ?? false,
|
|
1134
|
+
obj.collectHints ?? false,
|
|
1135
|
+
obj.collectDebugLogs ?? false,
|
|
1136
|
+
obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
|
|
1137
|
+
obj.collectStatistics ?? false,
|
|
1138
|
+
);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
static empty() {
|
|
1142
|
+
return PublicSimulatorConfig.from({});
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
static get schema() {
|
|
1146
|
+
return z
|
|
1147
|
+
.object({
|
|
1148
|
+
proverId: Fr.schema,
|
|
1149
|
+
skipFeeEnforcement: z.boolean(),
|
|
1150
|
+
collectCallMetadata: z.boolean(),
|
|
1151
|
+
collectHints: z.boolean(),
|
|
1152
|
+
collectDebugLogs: z.boolean(),
|
|
1153
|
+
maxDebugLogMemoryReads: z.number(),
|
|
1154
|
+
collectStatistics: z.boolean(),
|
|
1155
|
+
})
|
|
1156
|
+
.transform(PublicSimulatorConfig.from);
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
export class AvmFastSimulationInputs {
|
|
1161
|
+
constructor(
|
|
1162
|
+
public readonly wsRevision: WorldStateRevision,
|
|
1163
|
+
public readonly config: PublicSimulatorConfig,
|
|
1164
|
+
public tx: AvmTxHint,
|
|
1165
|
+
public globalVariables: GlobalVariables,
|
|
1166
|
+
public protocolContracts: ProtocolContracts,
|
|
1167
|
+
) {}
|
|
1168
|
+
|
|
1169
|
+
static empty() {
|
|
1170
|
+
return new AvmFastSimulationInputs(
|
|
1171
|
+
WorldStateRevision.empty(),
|
|
1172
|
+
PublicSimulatorConfig.empty(),
|
|
1173
|
+
AvmTxHint.empty(),
|
|
1174
|
+
GlobalVariables.empty(),
|
|
1175
|
+
ProtocolContracts.empty(),
|
|
1176
|
+
);
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
static get schema() {
|
|
1180
|
+
return z
|
|
1181
|
+
.object({
|
|
1182
|
+
wsRevision: WorldStateRevision.schema,
|
|
1183
|
+
config: PublicSimulatorConfig.schema,
|
|
1184
|
+
tx: AvmTxHint.schema,
|
|
1185
|
+
globalVariables: GlobalVariables.schema,
|
|
1186
|
+
protocolContracts: ProtocolContracts.schema,
|
|
1187
|
+
})
|
|
1188
|
+
.transform(
|
|
1189
|
+
({ wsRevision, config, tx, globalVariables, protocolContracts }) =>
|
|
1190
|
+
new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts),
|
|
1191
|
+
);
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
public serializeWithMessagePack(): Buffer {
|
|
1195
|
+
return serializeWithMessagePack(this);
|
|
1196
|
+
}
|
|
1197
|
+
}
|