@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/dest/avm/avm.js
CHANGED
|
@@ -1,29 +1,39 @@
|
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
1
3
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { z } from 'zod';
|
|
4
5
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
6
|
+
import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
|
|
7
|
+
import { SimulationError } from '../errors/simulation_error.js';
|
|
5
8
|
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
6
9
|
import { Gas } from '../gas/gas.js';
|
|
7
10
|
import { GasFees } from '../gas/gas_fees.js';
|
|
8
11
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
12
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
9
13
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
14
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
10
15
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
16
|
+
import { NullishToUndefined, schemas } from '../schemas/schemas.js';
|
|
11
17
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
12
18
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
13
|
-
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
14
|
-
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
15
|
-
import { GlobalVariables, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
19
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
20
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
21
|
+
import { GlobalVariables, NestedProcessReturnValues, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
22
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
16
23
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
17
24
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
25
|
+
import { RevertCode } from './revert_code.js';
|
|
18
26
|
////////////////////////////////////////////////////////////////////////////
|
|
19
27
|
// Hints (contracts)
|
|
20
28
|
////////////////////////////////////////////////////////////////////////////
|
|
21
29
|
export class AvmContractClassHint {
|
|
30
|
+
hintKey;
|
|
22
31
|
classId;
|
|
23
32
|
artifactHash;
|
|
24
33
|
privateFunctionsRoot;
|
|
25
34
|
packedBytecode;
|
|
26
|
-
constructor(classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
35
|
+
constructor(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
36
|
+
this.hintKey = hintKey;
|
|
27
37
|
this.classId = classId;
|
|
28
38
|
this.artifactHash = artifactHash;
|
|
29
39
|
this.privateFunctionsRoot = privateFunctionsRoot;
|
|
@@ -31,28 +41,57 @@ export class AvmContractClassHint {
|
|
|
31
41
|
}
|
|
32
42
|
static get schema() {
|
|
33
43
|
return z.object({
|
|
44
|
+
hintKey: z.number().int().nonnegative(),
|
|
34
45
|
classId: schemas.Fr,
|
|
35
46
|
artifactHash: schemas.Fr,
|
|
36
47
|
privateFunctionsRoot: schemas.Fr,
|
|
37
48
|
packedBytecode: schemas.Buffer
|
|
38
|
-
}).transform(({ classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
49
|
+
}).transform(({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Creates an AvmContractClassHint from a plain object without Zod validation.
|
|
53
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
54
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
55
|
+
* @param obj - Plain object containing AvmContractClassHint fields
|
|
56
|
+
* @returns An AvmContractClassHint instance
|
|
57
|
+
*/ static fromPlainObject(obj) {
|
|
58
|
+
if (obj instanceof AvmContractClassHint) {
|
|
59
|
+
return obj;
|
|
60
|
+
}
|
|
61
|
+
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
62
|
}
|
|
40
63
|
}
|
|
41
64
|
export class AvmBytecodeCommitmentHint {
|
|
65
|
+
hintKey;
|
|
42
66
|
classId;
|
|
43
67
|
commitment;
|
|
44
|
-
constructor(classId, commitment){
|
|
68
|
+
constructor(hintKey, classId, commitment){
|
|
69
|
+
this.hintKey = hintKey;
|
|
45
70
|
this.classId = classId;
|
|
46
71
|
this.commitment = commitment;
|
|
47
72
|
}
|
|
48
73
|
static get schema() {
|
|
49
74
|
return z.object({
|
|
75
|
+
hintKey: z.number().int().nonnegative(),
|
|
50
76
|
classId: schemas.Fr,
|
|
51
77
|
commitment: schemas.Fr
|
|
52
|
-
}).transform(({ classId, commitment })=>new AvmBytecodeCommitmentHint(classId, commitment));
|
|
78
|
+
}).transform(({ hintKey, classId, commitment })=>new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
|
|
82
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
83
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
84
|
+
* @param obj - Plain object containing AvmBytecodeCommitmentHint fields
|
|
85
|
+
* @returns An AvmBytecodeCommitmentHint instance
|
|
86
|
+
*/ static fromPlainObject(obj) {
|
|
87
|
+
if (obj instanceof AvmBytecodeCommitmentHint) {
|
|
88
|
+
return obj;
|
|
89
|
+
}
|
|
90
|
+
return new AvmBytecodeCommitmentHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.commitment));
|
|
53
91
|
}
|
|
54
92
|
}
|
|
55
93
|
export class AvmContractInstanceHint {
|
|
94
|
+
hintKey;
|
|
56
95
|
address;
|
|
57
96
|
salt;
|
|
58
97
|
deployer;
|
|
@@ -60,7 +99,8 @@ export class AvmContractInstanceHint {
|
|
|
60
99
|
originalContractClassId;
|
|
61
100
|
initializationHash;
|
|
62
101
|
publicKeys;
|
|
63
|
-
constructor(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
|
|
102
|
+
constructor(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
|
|
103
|
+
this.hintKey = hintKey;
|
|
64
104
|
this.address = address;
|
|
65
105
|
this.salt = salt;
|
|
66
106
|
this.deployer = deployer;
|
|
@@ -71,6 +111,7 @@ export class AvmContractInstanceHint {
|
|
|
71
111
|
}
|
|
72
112
|
static get schema() {
|
|
73
113
|
return z.object({
|
|
114
|
+
hintKey: z.number().int().nonnegative(),
|
|
74
115
|
address: AztecAddress.schema,
|
|
75
116
|
salt: schemas.Fr,
|
|
76
117
|
deployer: AztecAddress.schema,
|
|
@@ -78,7 +119,48 @@ export class AvmContractInstanceHint {
|
|
|
78
119
|
originalContractClassId: schemas.Fr,
|
|
79
120
|
initializationHash: schemas.Fr,
|
|
80
121
|
publicKeys: PublicKeys.schema
|
|
81
|
-
}).transform(({ address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
|
|
122
|
+
}).transform(({ hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Creates an AvmContractInstanceHint from a plain object without Zod validation.
|
|
126
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
127
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
128
|
+
* @param obj - Plain object containing AvmContractInstanceHint fields
|
|
129
|
+
* @returns An AvmContractInstanceHint instance
|
|
130
|
+
*/ static fromPlainObject(obj) {
|
|
131
|
+
if (obj instanceof AvmContractInstanceHint) {
|
|
132
|
+
return obj;
|
|
133
|
+
}
|
|
134
|
+
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));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export class AvmDebugFunctionNameHint {
|
|
138
|
+
address;
|
|
139
|
+
selector;
|
|
140
|
+
name;
|
|
141
|
+
constructor(address, selector, name){
|
|
142
|
+
this.address = address;
|
|
143
|
+
this.selector = selector;
|
|
144
|
+
this.name = name;
|
|
145
|
+
}
|
|
146
|
+
static get schema() {
|
|
147
|
+
return z.object({
|
|
148
|
+
address: AztecAddress.schema,
|
|
149
|
+
selector: schemas.Fr,
|
|
150
|
+
name: z.string()
|
|
151
|
+
}).transform(({ address, selector, name })=>new AvmDebugFunctionNameHint(address, selector, name));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
|
|
155
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
156
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
157
|
+
* @param obj - Plain object containing AvmDebugFunctionNameHint fields
|
|
158
|
+
* @returns An AvmDebugFunctionNameHint instance
|
|
159
|
+
*/ static fromPlainObject(obj) {
|
|
160
|
+
if (obj instanceof AvmDebugFunctionNameHint) {
|
|
161
|
+
return obj;
|
|
162
|
+
}
|
|
163
|
+
return new AvmDebugFunctionNameHint(AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.selector), obj.name);
|
|
82
164
|
}
|
|
83
165
|
}
|
|
84
166
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -106,6 +188,18 @@ export class AvmGetSiblingPathHint {
|
|
|
106
188
|
path: schemas.Fr.array()
|
|
107
189
|
}).transform(({ hintKey, treeId, index, path })=>new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
108
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
|
|
193
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
194
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
195
|
+
* @param obj - Plain object containing AvmGetSiblingPathHint fields
|
|
196
|
+
* @returns An AvmGetSiblingPathHint instance
|
|
197
|
+
*/ static fromPlainObject(obj) {
|
|
198
|
+
if (obj instanceof AvmGetSiblingPathHint) {
|
|
199
|
+
return obj;
|
|
200
|
+
}
|
|
201
|
+
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)));
|
|
202
|
+
}
|
|
109
203
|
}
|
|
110
204
|
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
111
205
|
export class AvmGetPreviousValueIndexHint {
|
|
@@ -132,6 +226,18 @@ export class AvmGetPreviousValueIndexHint {
|
|
|
132
226
|
alreadyPresent: z.boolean()
|
|
133
227
|
}).transform(({ hintKey, treeId, value, index, alreadyPresent })=>new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent));
|
|
134
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
|
|
231
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
232
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
233
|
+
* @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
|
|
234
|
+
* @returns An AvmGetPreviousValueIndexHint instance
|
|
235
|
+
*/ static fromPlainObject(obj) {
|
|
236
|
+
if (obj instanceof AvmGetPreviousValueIndexHint) {
|
|
237
|
+
return obj;
|
|
238
|
+
}
|
|
239
|
+
return new AvmGetPreviousValueIndexHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, Fr.fromPlainObject(obj.value), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.alreadyPresent);
|
|
240
|
+
}
|
|
135
241
|
}
|
|
136
242
|
// Hint for MerkleTreeDB.getLeafPreimage.
|
|
137
243
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -155,6 +261,18 @@ function AvmGetLeafPreimageHintFactory(klass) {
|
|
|
155
261
|
leafPreimage: klass.schema
|
|
156
262
|
}).transform(({ hintKey, index, leafPreimage })=>new this(hintKey, index, leafPreimage));
|
|
157
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Creates an instance from a plain object without Zod validation.
|
|
266
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
267
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
268
|
+
* @param obj - Plain object containing hint fields
|
|
269
|
+
* @returns An instance
|
|
270
|
+
*/ static fromPlainObject(obj) {
|
|
271
|
+
if (obj instanceof this) {
|
|
272
|
+
return obj;
|
|
273
|
+
}
|
|
274
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), klass.fromPlainObject(obj.leafPreimage));
|
|
275
|
+
}
|
|
158
276
|
};
|
|
159
277
|
}
|
|
160
278
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -185,6 +303,18 @@ export class AvmGetLeafValueHint {
|
|
|
185
303
|
value: schemas.Fr
|
|
186
304
|
}).transform(({ hintKey, treeId, index, value })=>new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
187
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Creates an AvmGetLeafValueHint from a plain object without Zod validation.
|
|
308
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
309
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
310
|
+
* @param obj - Plain object containing AvmGetLeafValueHint fields
|
|
311
|
+
* @returns An AvmGetLeafValueHint instance
|
|
312
|
+
*/ static fromPlainObject(obj) {
|
|
313
|
+
if (obj instanceof AvmGetLeafValueHint) {
|
|
314
|
+
return obj;
|
|
315
|
+
}
|
|
316
|
+
return new AvmGetLeafValueHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), Fr.fromPlainObject(obj.value));
|
|
317
|
+
}
|
|
188
318
|
}
|
|
189
319
|
// Hint for MerkleTreeDB.sequentialInsert.
|
|
190
320
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -225,6 +355,28 @@ function AvmSequentialInsertHintFactory(klass) {
|
|
|
225
355
|
})
|
|
226
356
|
}).transform(({ hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData })=>new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData));
|
|
227
357
|
}
|
|
358
|
+
/**
|
|
359
|
+
* Creates an instance from a plain object without Zod validation.
|
|
360
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
361
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
362
|
+
* @param obj - Plain object containing hint fields
|
|
363
|
+
* @returns An instance
|
|
364
|
+
*/ static fromPlainObject(obj) {
|
|
365
|
+
if (obj instanceof this) {
|
|
366
|
+
return obj;
|
|
367
|
+
}
|
|
368
|
+
// Determine the leaf class based on the klass parameter
|
|
369
|
+
const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
|
|
370
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, LeafClass.fromPlainObject(obj.leaf), {
|
|
371
|
+
leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
|
|
372
|
+
index: typeof obj.lowLeavesWitnessData.index === 'bigint' ? obj.lowLeavesWitnessData.index : BigInt(obj.lowLeavesWitnessData.index),
|
|
373
|
+
path: obj.lowLeavesWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
374
|
+
}, {
|
|
375
|
+
leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
|
|
376
|
+
index: typeof obj.insertionWitnessData.index === 'bigint' ? obj.insertionWitnessData.index : BigInt(obj.insertionWitnessData.index),
|
|
377
|
+
path: obj.insertionWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
378
|
+
});
|
|
379
|
+
}
|
|
228
380
|
};
|
|
229
381
|
}
|
|
230
382
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -254,6 +406,18 @@ export class AvmAppendLeavesHint {
|
|
|
254
406
|
leaves: schemas.Fr.array()
|
|
255
407
|
}).transform(({ hintKey, stateAfter, treeId, leaves })=>new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves));
|
|
256
408
|
}
|
|
409
|
+
/**
|
|
410
|
+
* Creates an AvmAppendLeavesHint from a plain object without Zod validation.
|
|
411
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
412
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
413
|
+
* @param obj - Plain object containing AvmAppendLeavesHint fields
|
|
414
|
+
* @returns An AvmAppendLeavesHint instance
|
|
415
|
+
*/ static fromPlainObject(obj) {
|
|
416
|
+
if (obj instanceof AvmAppendLeavesHint) {
|
|
417
|
+
return obj;
|
|
418
|
+
}
|
|
419
|
+
return new AvmAppendLeavesHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, obj.leaves.map((l)=>Fr.fromPlainObject(l)));
|
|
420
|
+
}
|
|
257
421
|
}
|
|
258
422
|
// Hint for checkpoint actions that don't change the state.
|
|
259
423
|
class AvmCheckpointActionNoStateChangeHint {
|
|
@@ -274,6 +438,18 @@ class AvmCheckpointActionNoStateChangeHint {
|
|
|
274
438
|
newCheckpointId: z.number().int().nonnegative()
|
|
275
439
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId })=>new this(actionCounter, oldCheckpointId, newCheckpointId));
|
|
276
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Creates an instance from a plain object without Zod validation.
|
|
443
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
444
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
445
|
+
* @param obj - Plain object containing hint fields
|
|
446
|
+
* @returns An instance
|
|
447
|
+
*/ static fromPlainObject(obj) {
|
|
448
|
+
if (obj instanceof this) {
|
|
449
|
+
return obj;
|
|
450
|
+
}
|
|
451
|
+
return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
|
|
452
|
+
}
|
|
277
453
|
}
|
|
278
454
|
// Hint for MerkleTreeDB.createCheckpoint.
|
|
279
455
|
export class AvmCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
@@ -311,6 +487,24 @@ export class AvmRevertCheckpointHint {
|
|
|
311
487
|
stateAfter: TreeSnapshots.schema
|
|
312
488
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter })=>new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter));
|
|
313
489
|
}
|
|
490
|
+
/**
|
|
491
|
+
* Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
|
|
492
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
493
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
494
|
+
* @param obj - Plain object containing AvmRevertCheckpointHint fields
|
|
495
|
+
* @returns An AvmRevertCheckpointHint instance
|
|
496
|
+
*/ static fromPlainObject(obj) {
|
|
497
|
+
if (obj instanceof AvmRevertCheckpointHint) {
|
|
498
|
+
return obj;
|
|
499
|
+
}
|
|
500
|
+
return new AvmRevertCheckpointHint(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId, TreeSnapshots.fromPlainObject(obj.stateBefore), TreeSnapshots.fromPlainObject(obj.stateAfter));
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
504
|
+
}
|
|
505
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
506
|
+
}
|
|
507
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
314
508
|
}
|
|
315
509
|
////////////////////////////////////////////////////////////////////////////
|
|
316
510
|
// Hints (other)
|
|
@@ -319,6 +513,8 @@ export class AvmTxHint {
|
|
|
319
513
|
hash;
|
|
320
514
|
gasSettings;
|
|
321
515
|
effectiveGasFees;
|
|
516
|
+
nonRevertibleContractDeploymentData;
|
|
517
|
+
revertibleContractDeploymentData;
|
|
322
518
|
nonRevertibleAccumulatedData;
|
|
323
519
|
revertibleAccumulatedData;
|
|
324
520
|
setupEnqueuedCalls;
|
|
@@ -326,12 +522,14 @@ export class AvmTxHint {
|
|
|
326
522
|
teardownEnqueuedCall;
|
|
327
523
|
gasUsedByPrivate;
|
|
328
524
|
feePayer;
|
|
329
|
-
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
525
|
+
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
330
526
|
// MessagePack expects for an std::optional.
|
|
331
527
|
teardownEnqueuedCall, gasUsedByPrivate, feePayer){
|
|
332
528
|
this.hash = hash;
|
|
333
529
|
this.gasSettings = gasSettings;
|
|
334
530
|
this.effectiveGasFees = effectiveGasFees;
|
|
531
|
+
this.nonRevertibleContractDeploymentData = nonRevertibleContractDeploymentData;
|
|
532
|
+
this.revertibleContractDeploymentData = revertibleContractDeploymentData;
|
|
335
533
|
this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
|
|
336
534
|
this.revertibleAccumulatedData = revertibleAccumulatedData;
|
|
337
535
|
this.setupEnqueuedCalls = setupEnqueuedCalls;
|
|
@@ -346,9 +544,10 @@ export class AvmTxHint {
|
|
|
346
544
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
347
545
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
348
546
|
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
547
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
349
548
|
// For informational purposes. Assumed quick because it should be cached.
|
|
350
549
|
const txHash = tx.getTxHash();
|
|
351
|
-
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, {
|
|
550
|
+
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, allContractDeploymentData.getNonRevertibleContractDeploymentData(), allContractDeploymentData.getRevertibleContractDeploymentData(), {
|
|
352
551
|
noteHashes: tx.data.forPublic.nonRevertibleAccumulatedData.noteHashes.filter((x)=>!x.isZero()),
|
|
353
552
|
nullifiers: tx.data.forPublic.nonRevertibleAccumulatedData.nullifiers.filter((x)=>!x.isZero()),
|
|
354
553
|
l2ToL1Messages: tx.data.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.filter((x)=>!x.isEmpty())
|
|
@@ -359,7 +558,7 @@ export class AvmTxHint {
|
|
|
359
558
|
}, setupCallRequests, appLogicCallRequests, teardownCallRequest ?? null, tx.data.gasUsed, tx.data.feePayer);
|
|
360
559
|
}
|
|
361
560
|
static empty() {
|
|
362
|
-
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), {
|
|
561
|
+
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), ContractDeploymentData.empty(), ContractDeploymentData.empty(), {
|
|
363
562
|
noteHashes: [],
|
|
364
563
|
nullifiers: [],
|
|
365
564
|
l2ToL1Messages: []
|
|
@@ -369,11 +568,33 @@ export class AvmTxHint {
|
|
|
369
568
|
l2ToL1Messages: []
|
|
370
569
|
}, [], [], null, Gas.empty(), AztecAddress.zero());
|
|
371
570
|
}
|
|
571
|
+
/**
|
|
572
|
+
* Creates an AvmTxHint from a plain object without Zod validation.
|
|
573
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
574
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
575
|
+
* @param obj - Plain object containing AvmTxHint fields
|
|
576
|
+
* @returns An AvmTxHint instance
|
|
577
|
+
*/ static fromPlainObject(obj) {
|
|
578
|
+
if (obj instanceof AvmTxHint) {
|
|
579
|
+
return obj;
|
|
580
|
+
}
|
|
581
|
+
return new AvmTxHint(obj.hash, GasSettings.fromPlainObject(obj.gasSettings), GasFees.fromPlainObject(obj.effectiveGasFees), ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData), ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData), {
|
|
582
|
+
noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
583
|
+
nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
584
|
+
l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
585
|
+
}, {
|
|
586
|
+
noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
587
|
+
nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
588
|
+
l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
589
|
+
}, 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));
|
|
590
|
+
}
|
|
372
591
|
static get schema() {
|
|
373
592
|
return z.object({
|
|
374
593
|
hash: z.string(),
|
|
375
594
|
gasSettings: GasSettings.schema,
|
|
376
595
|
effectiveGasFees: GasFees.schema,
|
|
596
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
597
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
377
598
|
nonRevertibleAccumulatedData: z.object({
|
|
378
599
|
noteHashes: schemas.Fr.array(),
|
|
379
600
|
nullifiers: schemas.Fr.array(),
|
|
@@ -389,7 +610,7 @@ export class AvmTxHint {
|
|
|
389
610
|
teardownEnqueuedCall: PublicCallRequestWithCalldata.schema.nullable(),
|
|
390
611
|
gasUsedByPrivate: Gas.schema,
|
|
391
612
|
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));
|
|
613
|
+
}).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
614
|
}
|
|
394
615
|
}
|
|
395
616
|
export class AvmExecutionHints {
|
|
@@ -399,6 +620,10 @@ export class AvmExecutionHints {
|
|
|
399
620
|
contractInstances;
|
|
400
621
|
contractClasses;
|
|
401
622
|
bytecodeCommitments;
|
|
623
|
+
debugFunctionNames;
|
|
624
|
+
contractDbCreateCheckpointHints;
|
|
625
|
+
contractDbCommitCheckpointHints;
|
|
626
|
+
contractDbRevertCheckpointHints;
|
|
402
627
|
startingTreeRoots;
|
|
403
628
|
getSiblingPathHints;
|
|
404
629
|
getPreviousValueIndexHints;
|
|
@@ -413,7 +638,7 @@ export class AvmExecutionHints {
|
|
|
413
638
|
revertCheckpointHints;
|
|
414
639
|
constructor(globalVariables, tx, // Protocol contracts.
|
|
415
640
|
protocolContracts, // Contract hints.
|
|
416
|
-
contractInstances = [], contractClasses = [], bytecodeCommitments = [], // Merkle DB hints.
|
|
641
|
+
contractInstances = [], contractClasses = [], bytecodeCommitments = [], debugFunctionNames = [], contractDbCreateCheckpointHints = [], contractDbCommitCheckpointHints = [], contractDbRevertCheckpointHints = [], // Merkle DB hints.
|
|
417
642
|
startingTreeRoots = TreeSnapshots.empty(), getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = [], appendLeavesHints = [], createCheckpointHints = [], commitCheckpointHints = [], revertCheckpointHints = []){
|
|
418
643
|
this.globalVariables = globalVariables;
|
|
419
644
|
this.tx = tx;
|
|
@@ -421,6 +646,10 @@ export class AvmExecutionHints {
|
|
|
421
646
|
this.contractInstances = contractInstances;
|
|
422
647
|
this.contractClasses = contractClasses;
|
|
423
648
|
this.bytecodeCommitments = bytecodeCommitments;
|
|
649
|
+
this.debugFunctionNames = debugFunctionNames;
|
|
650
|
+
this.contractDbCreateCheckpointHints = contractDbCreateCheckpointHints;
|
|
651
|
+
this.contractDbCommitCheckpointHints = contractDbCommitCheckpointHints;
|
|
652
|
+
this.contractDbRevertCheckpointHints = contractDbRevertCheckpointHints;
|
|
424
653
|
this.startingTreeRoots = startingTreeRoots;
|
|
425
654
|
this.getSiblingPathHints = getSiblingPathHints;
|
|
426
655
|
this.getPreviousValueIndexHints = getPreviousValueIndexHints;
|
|
@@ -434,6 +663,18 @@ export class AvmExecutionHints {
|
|
|
434
663
|
this.commitCheckpointHints = commitCheckpointHints;
|
|
435
664
|
this.revertCheckpointHints = revertCheckpointHints;
|
|
436
665
|
}
|
|
666
|
+
/**
|
|
667
|
+
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
668
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
669
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
670
|
+
* @param obj - Plain object containing AvmExecutionHints fields
|
|
671
|
+
* @returns An AvmExecutionHints instance
|
|
672
|
+
*/ static fromPlainObject(obj) {
|
|
673
|
+
if (obj instanceof AvmExecutionHints) {
|
|
674
|
+
return obj;
|
|
675
|
+
}
|
|
676
|
+
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)) || []);
|
|
677
|
+
}
|
|
437
678
|
static empty() {
|
|
438
679
|
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
439
680
|
}
|
|
@@ -445,6 +686,10 @@ export class AvmExecutionHints {
|
|
|
445
686
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
446
687
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
447
688
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
689
|
+
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
690
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
691
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
692
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
448
693
|
startingTreeRoots: TreeSnapshots.schema,
|
|
449
694
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
450
695
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -457,7 +702,7 @@ export class AvmExecutionHints {
|
|
|
457
702
|
createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
|
|
458
703
|
commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
|
|
459
704
|
revertCheckpointHints: AvmRevertCheckpointHint.schema.array()
|
|
460
|
-
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
705
|
+
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
461
706
|
}
|
|
462
707
|
}
|
|
463
708
|
export class AvmCircuitInputs {
|
|
@@ -470,6 +715,9 @@ export class AvmCircuitInputs {
|
|
|
470
715
|
static empty() {
|
|
471
716
|
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
472
717
|
}
|
|
718
|
+
static fromPlainObject(obj) {
|
|
719
|
+
return new AvmCircuitInputs(AvmExecutionHints.fromPlainObject(obj.hints), AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
|
|
720
|
+
}
|
|
473
721
|
static get schema() {
|
|
474
722
|
return z.object({
|
|
475
723
|
hints: AvmExecutionHints.schema,
|
|
@@ -487,3 +735,114 @@ export class AvmCircuitInputs {
|
|
|
487
735
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
488
736
|
}
|
|
489
737
|
}
|
|
738
|
+
export class PublicTxResult {
|
|
739
|
+
gasUsed;
|
|
740
|
+
revertCode;
|
|
741
|
+
revertReason;
|
|
742
|
+
appLogicReturnValues;
|
|
743
|
+
logs;
|
|
744
|
+
hints;
|
|
745
|
+
publicInputs;
|
|
746
|
+
constructor(// Simulation result.
|
|
747
|
+
gasUsed, revertCode, revertReason, // These are only guaranteed to be present if the simulator is configured to collect them.
|
|
748
|
+
// NOTE: This list will be populated with one NestedProcessReturnValues per app logic enqueued call.
|
|
749
|
+
// IMPORTANT: The nesting will only be 1 level deep! You will get one result per enqueued call
|
|
750
|
+
// but no information about nested calls. This can be added later.
|
|
751
|
+
appLogicReturnValues, logs, // For the proving request.
|
|
752
|
+
hints, publicInputs){
|
|
753
|
+
this.gasUsed = gasUsed;
|
|
754
|
+
this.revertCode = revertCode;
|
|
755
|
+
this.revertReason = revertReason;
|
|
756
|
+
this.appLogicReturnValues = appLogicReturnValues;
|
|
757
|
+
this.logs = logs;
|
|
758
|
+
this.hints = hints;
|
|
759
|
+
this.publicInputs = publicInputs;
|
|
760
|
+
}
|
|
761
|
+
static empty() {
|
|
762
|
+
return new PublicTxResult({
|
|
763
|
+
totalGas: Gas.empty(),
|
|
764
|
+
teardownGas: Gas.empty(),
|
|
765
|
+
publicGas: Gas.empty(),
|
|
766
|
+
billedGas: Gas.empty()
|
|
767
|
+
}, RevertCode.OK, /*revertReason=*/ undefined, /*appLogicReturnValues=*/ [], /*logs=*/ [], /*hints=*/ AvmExecutionHints.empty(), /*publicInputs=*/ AvmCircuitPublicInputs.empty());
|
|
768
|
+
}
|
|
769
|
+
static get schema() {
|
|
770
|
+
return z.object({
|
|
771
|
+
gasUsed: schemas.GasUsed,
|
|
772
|
+
revertCode: RevertCode.schema,
|
|
773
|
+
revertReason: NullishToUndefined(SimulationError.schema),
|
|
774
|
+
appLogicReturnValues: NestedProcessReturnValues.schema.array(),
|
|
775
|
+
logs: NullishToUndefined(DebugLog.schema.array()),
|
|
776
|
+
// For the proving request.
|
|
777
|
+
publicInputs: AvmCircuitPublicInputs.schema,
|
|
778
|
+
hints: NullishToUndefined(AvmExecutionHints.schema)
|
|
779
|
+
}).transform(({ gasUsed, revertCode, revertReason, appLogicReturnValues, logs, hints, publicInputs })=>new PublicTxResult(gasUsed, revertCode, revertReason, appLogicReturnValues, logs, hints, publicInputs));
|
|
780
|
+
}
|
|
781
|
+
static fromPlainObject(obj) {
|
|
782
|
+
return new PublicTxResult(GasUsed.fromPlainObject(obj.gasUsed), RevertCode.fromPlainObject(obj.revertCode), /*revertReason=*/ undefined, /*appLogicReturnValues=*/ obj.appLogicReturnValues.map(NestedProcessReturnValues.fromPlainObject), obj.logs?.map(DebugLog.fromPlainObject), obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined, AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
export class PublicSimulatorConfig {
|
|
786
|
+
proverId;
|
|
787
|
+
skipFeeEnforcement;
|
|
788
|
+
collectCallMetadata;
|
|
789
|
+
collectHints;
|
|
790
|
+
collectDebugLogs;
|
|
791
|
+
maxDebugLogMemoryReads;
|
|
792
|
+
collectStatistics;
|
|
793
|
+
constructor(proverId, skipFeeEnforcement, collectCallMetadata, collectHints, collectDebugLogs, maxDebugLogMemoryReads, collectStatistics){
|
|
794
|
+
this.proverId = proverId;
|
|
795
|
+
this.skipFeeEnforcement = skipFeeEnforcement;
|
|
796
|
+
this.collectCallMetadata = collectCallMetadata;
|
|
797
|
+
this.collectHints = collectHints;
|
|
798
|
+
this.collectDebugLogs = collectDebugLogs;
|
|
799
|
+
this.maxDebugLogMemoryReads = maxDebugLogMemoryReads;
|
|
800
|
+
this.collectStatistics = collectStatistics;
|
|
801
|
+
}
|
|
802
|
+
static from(obj) {
|
|
803
|
+
return new PublicSimulatorConfig(obj.proverId ?? Fr.ZERO, obj.skipFeeEnforcement ?? false, obj.collectCallMetadata ?? false, obj.collectHints ?? false, obj.collectDebugLogs ?? false, obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS, obj.collectStatistics ?? false);
|
|
804
|
+
}
|
|
805
|
+
static empty() {
|
|
806
|
+
return PublicSimulatorConfig.from({});
|
|
807
|
+
}
|
|
808
|
+
static get schema() {
|
|
809
|
+
return z.object({
|
|
810
|
+
proverId: Fr.schema,
|
|
811
|
+
skipFeeEnforcement: z.boolean(),
|
|
812
|
+
collectCallMetadata: z.boolean(),
|
|
813
|
+
collectHints: z.boolean(),
|
|
814
|
+
collectDebugLogs: z.boolean(),
|
|
815
|
+
maxDebugLogMemoryReads: z.number(),
|
|
816
|
+
collectStatistics: z.boolean()
|
|
817
|
+
}).transform(PublicSimulatorConfig.from);
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
export class AvmFastSimulationInputs {
|
|
821
|
+
wsRevision;
|
|
822
|
+
config;
|
|
823
|
+
tx;
|
|
824
|
+
globalVariables;
|
|
825
|
+
protocolContracts;
|
|
826
|
+
constructor(wsRevision, config, tx, globalVariables, protocolContracts){
|
|
827
|
+
this.wsRevision = wsRevision;
|
|
828
|
+
this.config = config;
|
|
829
|
+
this.tx = tx;
|
|
830
|
+
this.globalVariables = globalVariables;
|
|
831
|
+
this.protocolContracts = protocolContracts;
|
|
832
|
+
}
|
|
833
|
+
static empty() {
|
|
834
|
+
return new AvmFastSimulationInputs(WorldStateRevision.empty(), PublicSimulatorConfig.empty(), AvmTxHint.empty(), GlobalVariables.empty(), ProtocolContracts.empty());
|
|
835
|
+
}
|
|
836
|
+
static get schema() {
|
|
837
|
+
return z.object({
|
|
838
|
+
wsRevision: WorldStateRevision.schema,
|
|
839
|
+
config: PublicSimulatorConfig.schema,
|
|
840
|
+
tx: AvmTxHint.schema,
|
|
841
|
+
globalVariables: GlobalVariables.schema,
|
|
842
|
+
protocolContracts: ProtocolContracts.schema
|
|
843
|
+
}).transform(({ wsRevision, config, tx, globalVariables, protocolContracts })=>new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts));
|
|
844
|
+
}
|
|
845
|
+
serializeWithMessagePack() {
|
|
846
|
+
return serializeWithMessagePack(this);
|
|
847
|
+
}
|
|
848
|
+
}
|