@aztec/stdlib 0.0.0-test.1 → 0.0.1-commit.5476d83
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 +387 -409
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +72 -38
- package/dest/abi/authorization_selector.d.ts +52 -0
- package/dest/abi/authorization_selector.d.ts.map +1 -0
- package/dest/abi/authorization_selector.js +70 -0
- package/dest/abi/buffer.d.ts +1 -3
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/contract_artifact.d.ts +18 -5
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +78 -55
- package/dest/abi/decoder.d.ts +2 -2
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +8 -10
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +68 -2
- package/dest/abi/event_metadata_definition.d.ts +8 -0
- package/dest/abi/event_metadata_definition.d.ts.map +1 -0
- package/dest/abi/event_selector.d.ts +1 -3
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/function_call.d.ts +7 -10
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +6 -2
- package/dest/abi/function_selector.d.ts +1 -3
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/index.d.ts +3 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +2 -0
- package/dest/abi/mocked_keys.d.ts +1 -1
- package/dest/abi/note_selector.d.ts +1 -3
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/selector.d.ts +1 -4
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/utils.d.ts +7 -3
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/auth_witness/auth_witness.d.ts +23 -5
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +29 -0
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +11424 -2937
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +730 -131
- package/dest/avm/avm_accumulated_data.d.ts +88 -41
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +109 -11
- package/dest/avm/avm_circuit_public_inputs.d.ts +262 -192
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +69 -9
- package/dest/avm/avm_proving_request.d.ts +4669 -1191
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +2 -16
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +2 -16
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +2 -2
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +1 -1
- package/dest/avm/message_pack.d.ts +2 -3
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +39 -6
- package/dest/avm/public_call_stack_item_compressed.d.ts +2 -6
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +2 -13
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +2 -14
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_write.d.ts +17 -13
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +31 -1
- package/dest/avm/public_inner_call_request.d.ts +2 -8
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +1 -1
- package/dest/avm/revert_code.d.ts +16 -10
- 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 +11 -5
- 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 +32 -0
- package/dest/block/attestation_info.d.ts.map +1 -0
- package/dest/block/attestation_info.js +42 -0
- package/dest/block/block_hash.d.ts +6 -4
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +11 -0
- package/dest/block/body.d.ts +10 -9
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +13 -30
- package/dest/block/in_block.d.ts +9 -16
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +4 -4
- package/dest/block/index.d.ts +9 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +8 -2
- package/dest/block/l2_block.d.ts +37 -28
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +105 -49
- package/dest/block/l2_block_code_to_purge.d.ts +5 -17
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +27 -17
- package/dest/block/l2_block_header.d.ts +98 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +153 -0
- package/dest/block/l2_block_info.d.ts +41 -0
- package/dest/block/l2_block_info.d.ts.map +1 -0
- package/dest/block/l2_block_info.js +40 -0
- 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 +90 -20
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +11 -0
- package/dest/block/l2_block_stream/index.d.ts +4 -0
- package/dest/block/l2_block_stream/index.d.ts.map +1 -0
- package/dest/block/l2_block_stream/index.js +3 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +26 -0
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -0
- package/dest/block/l2_block_stream/interfaces.js +1 -0
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +30 -0
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -0
- package/dest/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.js +70 -19
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +18 -0
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -0
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +70 -0
- package/dest/block/proposal/attestations_and_signers.d.ts +59 -0
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
- package/dest/block/proposal/attestations_and_signers.js +113 -0
- package/dest/block/proposal/committee_attestation.d.ts +36 -0
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -0
- package/dest/block/proposal/committee_attestation.js +101 -0
- package/dest/block/proposal/index.d.ts +3 -0
- package/dest/block/proposal/index.d.ts.map +1 -0
- package/dest/block/proposal/index.js +2 -0
- package/dest/block/published_l2_block.d.ts +130 -0
- package/dest/block/published_l2_block.d.ts.map +1 -0
- package/dest/block/published_l2_block.js +48 -0
- package/dest/block/test/index.d.ts +2 -0
- package/dest/block/test/index.d.ts.map +1 -0
- package/dest/block/test/index.js +1 -0
- package/dest/block/test/l2_tips_store_test_suite.d.ts +3 -0
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -0
- package/dest/block/test/l2_tips_store_test_suite.js +106 -0
- package/dest/block/validate_block_result.d.ts +50 -0
- package/dest/block/validate_block_result.d.ts.map +1 -0
- package/dest/block/validate_block_result.js +84 -0
- package/dest/checkpoint/checkpoint.d.ts +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 -0
- package/dest/checkpoint/index.d.ts.map +1 -0
- package/dest/checkpoint/index.js +2 -0
- 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 +19 -0
- package/dest/config/chain-config.d.ts.map +1 -0
- package/dest/config/{config.js → chain-config.js} +4 -5
- package/dest/config/index.d.ts +3 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +2 -1
- package/dest/config/node-rpc-config.d.ts +13 -0
- package/dest/config/node-rpc-config.d.ts.map +1 -0
- package/dest/config/node-rpc-config.js +24 -0
- package/dest/contract/artifact_hash.d.ts +7 -9
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +11 -10
- package/dest/contract/complete_address.d.ts +1 -6
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_address.d.ts +2 -2
- package/dest/contract/contract_address.js +1 -1
- package/dest/contract/contract_class.d.ts +1 -1
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +3 -19
- package/dest/contract/contract_class_id.d.ts +1 -3
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +6 -4
- package/dest/contract/contract_class_metadata.d.ts +8 -0
- package/dest/contract/contract_class_metadata.d.ts.map +1 -0
- package/dest/contract/contract_class_metadata.js +1 -0
- package/dest/contract/contract_deployment_data.d.ts +119 -0
- package/dest/contract/contract_deployment_data.d.ts.map +1 -0
- package/dest/contract/contract_deployment_data.js +99 -0
- package/dest/contract/contract_function_dao.d.ts +1 -1
- package/dest/contract/contract_instance.d.ts +14 -15
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +7 -7
- package/dest/contract/contract_instance_update.d.ts +4 -5
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.js +6 -6
- package/dest/contract/contract_metadata.d.ts +7 -0
- package/dest/contract/contract_metadata.d.ts.map +1 -0
- package/dest/contract/contract_metadata.js +1 -0
- package/dest/contract/deployment_info.d.ts +1 -1
- package/dest/contract/index.d.ts +5 -2
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +4 -1
- package/dest/contract/interfaces/contract_class.d.ts +68 -289
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +4 -9
- package/dest/contract/interfaces/contract_data_source.d.ts +11 -19
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +11 -11
- package/dest/contract/interfaces/contract_instance_update.d.ts +10 -9
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.js +1 -1
- package/dest/contract/interfaces/index.d.ts +1 -1
- package/dest/contract/interfaces/node-info.d.ts +3 -3
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +10 -10
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/interfaces/protocol_contract_addresses.js +4 -4
- package/dest/contract/partial_address.d.ts +1 -1
- package/dest/contract/private_function.d.ts +1 -3
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function_membership_proof.d.ts +4 -4
- package/dest/contract/private_function_membership_proof.js +8 -8
- package/dest/contract/utility_function_membership_proof.d.ts +27 -0
- package/dest/contract/utility_function_membership_proof.d.ts.map +1 -0
- package/dest/contract/{unconstrained_function_membership_proof.js → utility_function_membership_proof.js} +13 -13
- package/dest/database-version/index.d.ts +1 -1
- package/dest/database-version/version_manager.d.ts +31 -14
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +42 -21
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +20 -0
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -0
- package/dest/{shared_mutable/shared_mutable_values.js → delayed_public_mutable/delayed_public_mutable_values.js} +16 -16
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +15 -0
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -0
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +30 -0
- package/dest/delayed_public_mutable/index.d.ts +5 -0
- package/dest/delayed_public_mutable/index.d.ts.map +1 -0
- package/dest/delayed_public_mutable/index.js +4 -0
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +10 -0
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -0
- package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.js +5 -5
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +12 -0
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -0
- package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.js +7 -7
- package/dest/epoch-helpers/index.d.ts +29 -6
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +39 -8
- 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/errors/simulation_error.js +2 -2
- package/dest/fees/index.d.ts +1 -1
- package/dest/fees/transaction_fee.d.ts +6 -1
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/fees/transaction_fee.js +15 -5
- package/dest/file-store/factory.d.ts +7 -0
- package/dest/file-store/factory.d.ts.map +1 -0
- package/dest/file-store/factory.js +64 -0
- package/dest/file-store/gcs.d.ts +20 -0
- package/dest/file-store/gcs.d.ts.map +1 -0
- package/dest/file-store/gcs.js +115 -0
- package/dest/file-store/http.d.ts +14 -0
- package/dest/file-store/http.d.ts.map +1 -0
- package/dest/file-store/http.js +74 -0
- package/dest/file-store/index.d.ts +3 -0
- package/dest/file-store/index.d.ts.map +1 -0
- package/dest/file-store/index.js +2 -0
- package/dest/file-store/interface.d.ts +28 -0
- package/dest/file-store/interface.d.ts.map +1 -0
- package/dest/file-store/interface.js +1 -0
- package/dest/file-store/local.d.ts +14 -0
- package/dest/file-store/local.d.ts.map +1 -0
- package/dest/file-store/local.js +40 -0
- package/dest/file-store/s3.d.ts +26 -0
- package/dest/file-store/s3.d.ts.map +1 -0
- package/dest/file-store/s3.js +248 -0
- package/dest/gas/gas.d.ts +11 -5
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +16 -1
- package/dest/gas/gas_fees.d.ts +25 -19
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +29 -18
- package/dest/gas/gas_settings.d.ts +34 -28
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +18 -6
- 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 +37 -9
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +47 -25
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/interfaces/allowed_element.d.ts +53 -0
- package/dest/interfaces/allowed_element.d.ts.map +1 -0
- package/dest/interfaces/allowed_element.js +18 -0
- package/dest/interfaces/api_limit.d.ts +4 -0
- package/dest/interfaces/api_limit.d.ts.map +1 -0
- package/dest/interfaces/api_limit.js +3 -0
- package/dest/interfaces/archiver.d.ts +50 -3
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +37 -17
- package/dest/interfaces/aztec-node-admin.d.ts +296 -0
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-admin.js +37 -0
- package/dest/interfaces/aztec-node.d.ts +100 -80
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +44 -32
- package/dest/interfaces/block-builder.d.ts +41 -5
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +1 -1
- package/dest/interfaces/client.d.ts +3 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +2 -1
- package/dest/interfaces/configs.d.ts +78 -43
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +13 -18
- package/dest/interfaces/epoch-prover.d.ts +35 -16
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/get_logs_response.d.ts +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +3 -2
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +27 -11
- 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 +18 -5
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +7 -3
- package/dest/interfaces/private_kernel_prover.d.ts +6 -7
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/processed-tx-handler.d.ts +1 -1
- package/dest/interfaces/prover-agent.d.ts +32 -7
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +15 -6
- package/dest/interfaces/prover-broker.d.ts +1 -1
- package/dest/interfaces/prover-client.d.ts +9 -9
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +8 -6
- package/dest/interfaces/prover-coordination.d.ts +5 -10
- package/dest/interfaces/prover-coordination.d.ts.map +1 -1
- package/dest/interfaces/prover-coordination.js +1 -7
- package/dest/interfaces/prover-node.d.ts +6 -3
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +8 -3
- package/dest/interfaces/proving-job-source.d.ts +1 -1
- package/dest/interfaces/proving-job.d.ts +4866 -1273
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +139 -107
- package/dest/interfaces/public_state_source.d.ts +8 -0
- package/dest/interfaces/public_state_source.d.ts.map +1 -0
- package/dest/interfaces/public_state_source.js +1 -0
- package/dest/interfaces/server.d.ts +12 -6
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +11 -5
- package/dest/interfaces/server_circuit_prover.d.ts +46 -35
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +4 -3
- package/dest/interfaces/service.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +86 -0
- package/dest/interfaces/slasher.d.ts.map +1 -0
- package/dest/interfaces/slasher.js +23 -0
- package/dest/interfaces/tx_provider.d.ts +24 -0
- package/dest/interfaces/tx_provider.d.ts.map +1 -0
- package/dest/interfaces/tx_provider.js +1 -0
- package/dest/interfaces/validator.d.ts +171 -0
- package/dest/interfaces/validator.d.ts.map +1 -0
- package/dest/interfaces/validator.js +19 -0
- package/dest/interfaces/world_state.d.ts +24 -22
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/interfaces/world_state.js +1 -1
- package/dest/kernel/claimed_length_array.d.ts +34 -0
- package/dest/kernel/claimed_length_array.d.ts.map +1 -0
- package/dest/kernel/claimed_length_array.js +58 -0
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +19 -0
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -0
- package/dest/kernel/hiding_kernel_private_inputs.js +34 -0
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +7 -7
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +18 -20
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +11 -13
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +17 -32
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -4
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +10 -11
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
- package/dest/kernel/hints/index.d.ts +2 -3
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +1 -2
- package/dest/kernel/hints/key_validation_hint.d.ts +4 -11
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +5 -7
- package/dest/kernel/hints/key_validation_request.d.ts +2 -5
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +2 -9
- 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 -3
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.js +4 -4
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +5 -6
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.js +4 -4
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +10 -34
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +13 -14
- package/dest/kernel/hints/read_request.d.ts +1 -9
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +30 -38
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.js +28 -28
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +2 -4
- 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 +17 -0
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -0
- package/dest/kernel/hints/{transient_data_index_hint.js → transient_data_squashing_hint.js} +5 -5
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +1 -3
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/index.d.ts +5 -3
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -2
- package/dest/kernel/log_hash.d.ts +28 -10
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +72 -13
- package/dest/kernel/note_hash.d.ts +1 -3
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +3 -5
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +11 -11
- package/dest/kernel/padded_side_effects.d.ts +26 -0
- package/dest/kernel/padded_side_effects.d.ts.map +1 -0
- package/dest/kernel/padded_side_effects.js +51 -0
- package/dest/kernel/private_accumulated_data.d.ts +20 -43
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_accumulated_data.js +5 -5
- package/dest/kernel/private_call_data.d.ts +69 -58
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +110 -21
- package/dest/kernel/private_call_request.d.ts +2 -19
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_call_request.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +45 -103
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +58 -28
- package/dest/kernel/private_context_inputs.d.ts +3 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +18 -33
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +14 -6
- package/dest/kernel/private_kernel_data.d.ts +7 -34
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +8 -21
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +12 -26
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +12 -7
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +2 -10
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +79 -0
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -0
- package/dest/kernel/private_kernel_prover_output.js +28 -0
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +10 -12
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +10 -6
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +12 -14
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
- package/dest/kernel/private_kernel_simulated_output.d.ts +7 -13
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +15 -8
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +14 -6
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +18 -32
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +28 -21
- package/dest/kernel/private_log_data.d.ts +2 -5
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +4 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +21 -14
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +29 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +3 -6
- 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 +8 -8
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +16 -10
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +4 -23
- 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 +11 -28
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +11 -12
- package/dest/kernel/private_validation_requests.d.ts +10 -47
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +10 -30
- package/dest/kernel/public_call_request.d.ts +80 -39
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +95 -20
- package/dest/kernel/utils/index.d.ts +1 -1
- package/dest/kernel/utils/interfaces.d.ts +1 -1
- package/dest/kernel/utils/optional_number.d.ts +2 -10
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +1 -4
- package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.js +0 -19
- package/dest/keys/derivation.d.ts +1 -3
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +2 -15
- 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 -7
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +12 -1
- package/dest/keys/utils.d.ts +1 -1
- package/dest/l1-contracts/index.d.ts +2 -0
- package/dest/l1-contracts/index.d.ts.map +1 -0
- package/dest/l1-contracts/index.js +1 -0
- package/dest/l1-contracts/slash_factory.d.ts +44 -0
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -0
- package/dest/l1-contracts/slash_factory.js +157 -0
- package/dest/logs/contract_class_log.d.ts +71 -17
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +134 -79
- package/dest/logs/debug_log.d.ts +21 -0
- package/dest/logs/debug_log.d.ts.map +1 -0
- package/dest/logs/debug_log.js +39 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/directional_app_tagging_secret.js +63 -0
- package/dest/logs/extended_contract_class_log.d.ts +1 -5
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +2 -6
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +7 -3
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +6 -2
- package/dest/logs/log_filter.d.ts +1 -1
- package/dest/logs/log_id.d.ts +1 -6
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.d.ts +13 -5
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +23 -10
- package/dest/logs/message_context.d.ts +29 -0
- package/dest/logs/message_context.d.ts.map +1 -0
- package/dest/logs/message_context.js +56 -0
- package/dest/logs/pending_tagged_log.d.ts +14 -0
- package/dest/logs/pending_tagged_log.d.ts.map +1 -0
- package/dest/logs/pending_tagged_log.js +34 -0
- package/dest/logs/pre_tag.d.ts +34 -0
- package/dest/logs/pre_tag.d.ts.map +1 -0
- package/dest/logs/pre_tag.js +7 -0
- package/dest/logs/private_log.d.ts +25 -9
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +59 -22
- package/dest/logs/public_log.d.ts +35 -13
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +137 -34
- package/dest/logs/shared_secret_derivation.d.ts +17 -0
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -0
- package/dest/logs/{l1_payload/shared_secret_derivation.js → shared_secret_derivation.js} +5 -9
- package/dest/logs/tx_scoped_l2_log.d.ts +32 -37
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +36 -19
- 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 +9 -6
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +16 -2
- package/dest/messaging/index.d.ts +4 -1
- package/dest/messaging/index.d.ts.map +1 -1
- package/dest/messaging/index.js +3 -0
- package/dest/messaging/l1_actor.d.ts +1 -9
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +1 -8
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message_source.d.ts +7 -2
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +1 -9
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +14 -0
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -0
- package/dest/messaging/l2_to_l1_membership.js +63 -0
- package/dest/messaging/l2_to_l1_message.d.ts +127 -19
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +100 -36
- 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 +25 -8
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +6 -5
- 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 +39 -21
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note.js +51 -4
- 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 +6 -8
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +10 -0
- package/dest/p2p/attestation_utils.d.ts.map +1 -0
- package/dest/p2p/attestation_utils.js +21 -0
- package/dest/p2p/block_attestation.d.ts +48 -17
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +45 -23
- package/dest/p2p/block_proposal.d.ts +27 -14
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +47 -20
- package/dest/p2p/client_type.d.ts +1 -1
- package/dest/p2p/consensus_payload.d.ts +41 -23
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +43 -28
- package/dest/p2p/gossipable.d.ts +20 -18
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +41 -4
- package/dest/p2p/index.d.ts +2 -1
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/interface.d.ts +1 -14
- package/dest/p2p/interface.d.ts.map +1 -1
- package/dest/p2p/interface.js +1 -19
- 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 +6 -7
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +5 -4
- package/dest/p2p/topic_type.d.ts +7 -10
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +35 -15
- package/dest/parity/index.d.ts +3 -4
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/parity_base_private_inputs.d.ts +33 -0
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
- package/dest/parity/parity_public_inputs.d.ts +3 -8
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +38 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/chonk_proof.d.ts +28 -0
- package/dest/proofs/chonk_proof.d.ts.map +1 -0
- package/dest/proofs/chonk_proof.js +101 -0
- package/dest/proofs/index.d.ts +3 -2
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +2 -1
- package/dest/proofs/proof.d.ts +6 -10
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof.js +28 -20
- package/dest/proofs/proof_data.d.ts +21 -0
- package/dest/proofs/proof_data.d.ts.map +1 -0
- package/dest/proofs/proof_data.js +22 -0
- package/dest/proofs/proving_request_type.d.ts +18 -13
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +17 -11
- package/dest/proofs/recursive_proof.d.ts +4 -30
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.d.ts +6 -16
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +8 -24
- package/dest/rollup/base_rollup_hints.d.ts +32 -66
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +41 -40
- package/dest/rollup/block_constant_data.d.ts +40 -0
- package/dest/rollup/block_constant_data.d.ts.map +1 -0
- package/dest/rollup/block_constant_data.js +50 -0
- package/dest/rollup/block_headers_hash.d.ts +4 -0
- package/dest/rollup/block_headers_hash.d.ts.map +1 -0
- package/dest/rollup/block_headers_hash.js +9 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +47 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +92 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +91 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +162 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +249 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +67 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +79 -0
- package/dest/rollup/checkpoint_header.d.ts +85 -0
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/rollup/checkpoint_header.js +181 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +27 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +82 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +99 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
- package/dest/rollup/epoch_constant_data.d.ts +41 -0
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -0
- package/dest/rollup/epoch_constant_data.js +53 -0
- package/dest/rollup/index.d.ts +21 -17
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +20 -16
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts +62 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +44 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +64 -0
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
- package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +41 -0
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/tx_rollup_public_inputs.d.ts +87 -0
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +16 -21
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +88 -17
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +13 -1
- package/dest/slashing/empire.d.ts +31 -0
- package/dest/slashing/empire.d.ts.map +1 -0
- package/dest/slashing/empire.js +85 -0
- package/dest/slashing/helpers.d.ts +36 -0
- package/dest/slashing/helpers.d.ts.map +1 -0
- package/dest/slashing/helpers.js +91 -0
- package/dest/slashing/index.d.ts +7 -0
- package/dest/slashing/index.d.ts.map +1 -0
- package/dest/slashing/index.js +6 -0
- package/dest/slashing/interfaces.d.ts +12 -0
- package/dest/slashing/interfaces.d.ts.map +1 -0
- package/dest/slashing/interfaces.js +1 -0
- package/dest/slashing/serialization.d.ts +8 -0
- package/dest/slashing/serialization.d.ts.map +1 -0
- package/dest/slashing/serialization.js +78 -0
- package/dest/slashing/tally.d.ts +23 -0
- package/dest/slashing/tally.d.ts.map +1 -0
- package/dest/slashing/tally.js +60 -0
- package/dest/slashing/types.d.ts +162 -0
- package/dest/slashing/types.d.ts.map +1 -0
- package/dest/slashing/types.js +88 -0
- package/dest/snapshots/download.d.ts +9 -0
- package/dest/snapshots/download.d.ts.map +1 -0
- package/dest/snapshots/download.js +93 -0
- package/dest/snapshots/index.d.ts +4 -0
- package/dest/snapshots/index.d.ts.map +1 -0
- package/dest/snapshots/index.js +3 -0
- package/dest/snapshots/types.d.ts +120 -0
- package/dest/snapshots/types.d.ts.map +1 -0
- package/dest/snapshots/types.js +35 -0
- package/dest/snapshots/upload.d.ts +8 -0
- package/dest/snapshots/upload.d.ts.map +1 -0
- package/dest/snapshots/upload.js +42 -0
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +10 -10
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +107 -125
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +375 -367
- 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 +71 -20
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +223 -89
- package/dest/trees/append_only_tree_snapshot.d.ts +13 -19
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +17 -2
- package/dest/trees/database_public_state_source.d.ts +11 -0
- package/dest/trees/database_public_state_source.d.ts.map +1 -0
- package/dest/trees/database_public_state_source.js +18 -0
- package/dest/trees/index.d.ts +2 -2
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +1 -1
- package/dest/trees/merkle_tree_id.d.ts +17 -9
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/merkle_tree_id.js +10 -0
- package/dest/trees/nullifier_leaf.d.ts +65 -29
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +69 -22
- package/dest/trees/nullifier_membership_witness.d.ts +39 -53
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +14 -1
- package/dest/trees/public_data_leaf.d.ts +77 -44
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +65 -30
- package/dest/trees/public_data_witness.d.ts +46 -63
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +20 -4
- package/dest/tx/block_header.d.ts +16 -25
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +33 -21
- package/dest/tx/call_context.d.ts +7 -22
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/capsule.d.ts +4 -7
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +2 -0
- package/dest/tx/content_commitment.d.ts +25 -82
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +39 -53
- 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 -8
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +4 -3
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +66 -49
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +68 -20
- package/dest/tx/hashed_values.d.ts +14 -10
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +26 -9
- package/dest/tx/index.d.ts +10 -3
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +9 -2
- package/dest/tx/indexed_tx_effect.d.ts +27 -0
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -0
- package/dest/tx/indexed_tx_effect.js +34 -0
- package/dest/tx/offchain_effect.d.ts +14 -0
- package/dest/tx/offchain_effect.d.ts.map +1 -0
- package/dest/tx/offchain_effect.js +4 -0
- package/dest/tx/partial_state_reference.d.ts +11 -7
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +22 -2
- package/dest/tx/private_execution_result.d.ts +62 -77
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +72 -81
- package/dest/tx/private_tx_constant_data.d.ts +45 -0
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
- package/dest/tx/private_tx_constant_data.js +69 -0
- package/dest/tx/processed_tx.d.ts +7 -9
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +24 -22
- package/dest/tx/profiling.d.ts +360 -0
- package/dest/tx/profiling.d.ts.map +1 -0
- package/dest/tx/profiling.js +130 -0
- package/dest/tx/protocol_contracts.d.ts +37 -0
- package/dest/tx/protocol_contracts.d.ts.map +1 -0
- package/dest/tx/protocol_contracts.js +58 -0
- package/dest/tx/proven_tx.d.ts +129 -0
- package/dest/tx/proven_tx.d.ts.map +1 -0
- package/dest/tx/proven_tx.js +45 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +40 -0
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -0
- package/dest/tx/public_call_request_with_calldata.js +69 -0
- package/dest/tx/public_simulation_output.d.ts +6 -4
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +15 -8
- package/dest/tx/simulated_tx.d.ts +170 -46
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +52 -47
- package/dest/tx/state_reference.d.ts +17 -13
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +38 -5
- package/dest/tx/tree_snapshots.d.ts +14 -9
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +12 -3
- package/dest/tx/tx.d.ts +61 -101
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +150 -149
- package/dest/tx/tx_constant_data.d.ts +8 -42
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +11 -20
- package/dest/tx/tx_context.d.ts +34 -37
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +24 -82
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +82 -269
- package/dest/tx/tx_execution_request.d.ts +10 -32
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +16 -9
- package/dest/tx/tx_hash.d.ts +12 -6
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +24 -5
- package/dest/tx/tx_receipt.d.ts +2 -37
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +4 -14
- package/dest/tx/tx_request.d.ts +10 -13
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +11 -8
- 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 +24 -0
- package/dest/tx/validator/error_texts.d.ts.map +1 -0
- package/dest/tx/validator/error_texts.js +31 -0
- package/dest/tx/validator/tx_validator.d.ts +3 -1
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +3 -0
- package/dest/types/index.d.ts +1 -1
- package/dest/types/shared.d.ts +10 -15
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +0 -8
- package/dest/update-checker/index.d.ts +2 -0
- package/dest/update-checker/index.d.ts.map +1 -0
- package/dest/update-checker/index.js +1 -0
- package/dest/update-checker/update-checker.d.ts +49 -0
- package/dest/update-checker/update-checker.d.ts.map +1 -0
- package/dest/update-checker/update-checker.js +130 -0
- package/dest/validators/errors.d.ts +33 -0
- package/dest/validators/errors.d.ts.map +1 -0
- package/dest/validators/errors.js +45 -0
- package/dest/validators/index.d.ts +4 -0
- package/dest/validators/index.d.ts.map +1 -0
- package/dest/validators/index.js +2 -0
- package/dest/validators/schemas.d.ts +650 -0
- package/dest/validators/schemas.d.ts.map +1 -0
- package/dest/validators/schemas.js +52 -0
- package/dest/validators/types.d.ts +53 -0
- package/dest/validators/types.d.ts.map +1 -0
- package/dest/validators/types.js +1 -0
- package/dest/versioning/index.d.ts +1 -1
- package/dest/versioning/versioning.d.ts +5 -5
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +23 -18
- package/dest/vks/index.d.ts +2 -2
- package/dest/vks/index.d.ts.map +1 -1
- package/dest/vks/index.js +1 -1
- package/dest/vks/verification_key.d.ts +18 -34
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +29 -11
- package/dest/vks/vk_data.d.ts +24 -0
- package/dest/vks/vk_data.d.ts.map +1 -0
- package/dest/vks/{vk_witness_data.js → vk_data.js} +10 -10
- package/dest/world-state/index.d.ts +2 -0
- package/dest/world-state/index.d.ts.map +1 -0
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +54 -0
- package/dest/world-state/world_state_revision.d.ts.map +1 -0
- package/dest/world-state/world_state_revision.js +44 -0
- package/dest/zkpassport/index.d.ts +35 -0
- package/dest/zkpassport/index.d.ts.map +1 -0
- package/dest/zkpassport/index.js +82 -0
- package/package.json +43 -25
- package/src/abi/abi.ts +99 -69
- package/src/abi/authorization_selector.ts +95 -0
- package/src/abi/contract_artifact.ts +93 -62
- package/src/abi/decoder.ts +18 -13
- package/src/abi/encoder.ts +88 -3
- package/src/abi/event_metadata_definition.ts +8 -0
- package/src/abi/function_call.ts +5 -1
- package/src/abi/index.ts +2 -0
- package/src/abi/utils.ts +15 -0
- package/src/auth_witness/auth_witness.ts +29 -0
- package/src/avm/avm.ts +1011 -126
- package/src/avm/avm_accumulated_data.ts +169 -12
- package/src/avm/avm_circuit_public_inputs.ts +120 -3
- package/src/avm/index.ts +1 -1
- package/src/avm/message_pack.ts +36 -2
- package/src/avm/public_data_write.ts +36 -1
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +34 -14
- package/src/aztec-address/index.ts +26 -2
- package/src/block/attestation_info.ts +69 -0
- package/src/block/block_hash.ts +14 -0
- package/src/block/body.ts +22 -38
- package/src/block/in_block.ts +6 -6
- package/src/block/index.ts +8 -2
- package/src/block/l2_block.ts +116 -63
- package/src/block/l2_block_code_to_purge.ts +34 -49
- package/src/block/l2_block_header.ts +246 -0
- package/src/block/l2_block_info.ts +63 -0
- package/src/block/l2_block_new.ts +171 -0
- package/src/block/l2_block_source.ts +105 -17
- package/src/block/l2_block_stream/index.ts +3 -0
- package/src/block/l2_block_stream/interfaces.ts +33 -0
- package/src/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.ts +81 -58
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +75 -0
- package/src/block/proposal/attestations_and_signers.ts +140 -0
- package/src/block/proposal/committee_attestation.ts +120 -0
- package/src/block/proposal/index.ts +2 -0
- package/src/block/published_l2_block.ts +65 -0
- package/src/block/test/index.ts +1 -0
- package/src/block/test/l2_tips_store_test_suite.ts +87 -0
- package/src/block/validate_block_result.ts +124 -0
- package/src/checkpoint/checkpoint.ts +88 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +91 -0
- package/src/config/{config.ts → chain-config.ts} +8 -7
- package/src/config/index.ts +2 -1
- package/src/config/node-rpc-config.ts +37 -0
- package/src/contract/artifact_hash.ts +14 -12
- package/src/contract/contract_address.ts +1 -1
- package/src/contract/contract_class.ts +7 -24
- package/src/contract/contract_class_id.ts +10 -4
- package/src/contract/contract_class_metadata.ts +8 -0
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/contract_instance.ts +26 -17
- package/src/contract/contract_instance_update.ts +7 -6
- package/src/contract/contract_metadata.ts +7 -0
- package/src/contract/index.ts +4 -1
- package/src/contract/interfaces/contract_class.ts +23 -35
- package/src/contract/interfaces/contract_data_source.ts +11 -20
- package/src/contract/interfaces/contract_instance_update.ts +4 -3
- package/src/contract/interfaces/node-info.ts +3 -3
- package/src/contract/interfaces/protocol_contract_addresses.ts +5 -10
- package/src/contract/private_function.ts +4 -2
- package/src/contract/private_function_membership_proof.ts +8 -8
- package/src/contract/{unconstrained_function_membership_proof.ts → utility_function_membership_proof.ts} +18 -18
- package/src/database-version/version_manager.ts +78 -25
- package/src/{shared_mutable/shared_mutable_values.ts → delayed_public_mutable/delayed_public_mutable_values.ts} +23 -20
- package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +38 -0
- package/src/delayed_public_mutable/index.ts +4 -0
- package/src/delayed_public_mutable/scheduled_delay_change.ts +17 -0
- package/src/{shared_mutable → delayed_public_mutable}/scheduled_value_change.ts +11 -5
- package/src/epoch-helpers/index.ts +78 -12
- package/src/errors/proving_error.ts +5 -1
- package/src/errors/simulation_error.ts +2 -2
- package/src/fees/transaction_fee.ts +28 -8
- package/src/file-store/factory.ts +76 -0
- package/src/file-store/gcs.ts +121 -0
- package/src/file-store/http.ts +70 -0
- package/src/file-store/index.ts +2 -0
- package/src/file-store/interface.ts +25 -0
- package/src/file-store/local.ts +46 -0
- package/src/file-store/s3.ts +250 -0
- package/src/gas/gas.ts +23 -2
- package/src/gas/gas_fees.ts +41 -23
- package/src/gas/gas_settings.ts +30 -9
- package/src/gas/gas_used.ts +22 -1
- package/src/hash/hash.ts +58 -29
- package/src/interfaces/allowed_element.ts +21 -0
- package/src/interfaces/api_limit.ts +3 -0
- package/src/interfaces/archiver.ts +74 -27
- package/src/interfaces/aztec-node-admin.ts +99 -0
- package/src/interfaces/aztec-node.ts +205 -137
- package/src/interfaces/block-builder.ts +53 -8
- package/src/interfaces/client.ts +2 -1
- package/src/interfaces/configs.ts +35 -18
- package/src/interfaces/epoch-prover.ts +45 -16
- package/src/interfaces/l2_logs_source.ts +2 -1
- package/src/interfaces/merkle_tree_operations.ts +30 -8
- package/src/interfaces/p2p.ts +33 -6
- package/src/interfaces/private_kernel_prover.ts +13 -4
- package/src/interfaces/prover-agent.ts +9 -10
- package/src/interfaces/prover-client.ts +16 -11
- package/src/interfaces/prover-coordination.ts +6 -16
- package/src/interfaces/prover-node.ts +10 -2
- package/src/interfaces/proving-job.ts +244 -130
- package/src/interfaces/public_state_source.ts +9 -0
- package/src/interfaces/server.ts +11 -5
- package/src/interfaces/server_circuit_prover.ts +110 -58
- package/src/interfaces/service.ts +4 -2
- package/src/interfaces/slasher.ts +50 -0
- package/src/interfaces/tx_provider.ts +17 -0
- package/src/interfaces/validator.ts +98 -0
- package/src/interfaces/world_state.ts +27 -19
- package/src/kernel/claimed_length_array.ts +104 -0
- package/src/kernel/hiding_kernel_private_inputs.ts +37 -0
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +28 -30
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +31 -61
- package/src/kernel/hints/build_transient_data_hints.ts +14 -16
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
- package/src/kernel/hints/index.ts +1 -2
- package/src/kernel/hints/key_validation_hint.ts +4 -6
- package/src/kernel/hints/note_hash_read_request_hints.ts +8 -17
- package/src/kernel/hints/nullifier_read_request_hints.ts +11 -20
- package/src/kernel/hints/private_kernel_reset_hints.ts +37 -54
- package/src/kernel/hints/read_request.ts +4 -1
- package/src/kernel/hints/read_request_hints.ts +59 -38
- package/src/kernel/hints/{transient_data_index_hint.ts → transient_data_squashing_hint.ts} +9 -6
- package/src/kernel/hints/tree_leaf_read_request.ts +4 -1
- package/src/kernel/index.ts +4 -2
- package/src/kernel/log_hash.ts +86 -14
- package/src/kernel/note_hash.ts +8 -2
- package/src/kernel/nullifier.ts +16 -9
- package/src/kernel/padded_side_effects.ts +73 -0
- package/src/kernel/private_accumulated_data.ts +25 -25
- package/src/kernel/private_call_data.ts +129 -21
- package/src/kernel/private_call_request.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +121 -77
- package/src/kernel/private_context_inputs.ts +2 -2
- package/src/kernel/private_kernel_circuit_public_inputs.ts +20 -5
- package/src/kernel/private_kernel_data.ts +7 -31
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +11 -4
- package/src/kernel/private_kernel_prover_output.ts +70 -0
- package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +16 -13
- package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
- package/src/kernel/private_kernel_simulated_output.ts +7 -16
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +22 -5
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +41 -24
- package/src/kernel/private_log_data.ts +13 -4
- package/src/kernel/private_to_avm_accumulated_data.ts +53 -1
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +16 -7
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +16 -10
- package/src/kernel/private_validation_requests.ts +19 -62
- package/src/kernel/public_call_request.ts +119 -28
- package/src/kernel/utils/order_and_comparison.ts +0 -25
- package/src/keys/derivation.ts +2 -22
- package/src/keys/public_keys.ts +20 -1
- package/src/l1-contracts/index.ts +1 -0
- package/src/l1-contracts/slash_factory.ts +177 -0
- package/src/logs/contract_class_log.ts +166 -64
- package/src/logs/debug_log.ts +51 -0
- package/src/logs/directional_app_tagging_secret.ts +77 -0
- package/src/logs/index.ts +6 -2
- package/src/logs/log_with_tx_data.ts +19 -9
- package/src/logs/message_context.ts +62 -0
- package/src/logs/pending_tagged_log.ts +41 -0
- package/src/logs/pre_tag.ts +25 -0
- package/src/logs/private_log.ts +76 -24
- package/src/logs/public_log.ts +151 -37
- package/src/logs/{l1_payload/shared_secret_derivation.ts → shared_secret_derivation.ts} +6 -15
- package/src/logs/tx_scoped_l2_log.ts +37 -25
- package/src/messaging/in_hash.ts +10 -0
- package/src/messaging/inbox_leaf.ts +17 -2
- package/src/messaging/index.ts +3 -0
- package/src/messaging/l1_to_l2_message_source.ts +8 -1
- package/src/messaging/l2_to_l1_membership.ts +98 -0
- package/src/messaging/l2_to_l1_message.ts +128 -38
- package/src/messaging/out_hash.ts +36 -0
- package/src/noir/index.ts +24 -7
- package/src/note/index.ts +1 -1
- package/src/note/note.ts +61 -5
- package/src/note/note_dao.ts +151 -0
- package/src/note/notes_filter.ts +6 -10
- package/src/p2p/attestation_utils.ts +35 -0
- package/src/p2p/block_attestation.ts +56 -27
- package/src/p2p/block_proposal.ts +65 -20
- package/src/p2p/consensus_payload.ts +54 -31
- package/src/p2p/gossipable.ts +50 -15
- package/src/p2p/index.ts +1 -0
- package/src/p2p/interface.ts +0 -24
- package/src/p2p/signature_utils.ts +7 -9
- package/src/p2p/topic_type.ts +32 -13
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/chonk_proof.ts +118 -0
- package/src/proofs/index.ts +2 -1
- package/src/proofs/proof.ts +29 -21
- package/src/proofs/proof_data.ts +36 -0
- package/src/proofs/proving_request_type.ts +14 -9
- package/src/rollup/avm_proof_data.ts +8 -30
- package/src/rollup/base_rollup_hints.ts +42 -41
- package/src/rollup/block_constant_data.ts +73 -0
- package/src/rollup/block_headers_hash.ts +12 -0
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +131 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +303 -0
- package/src/rollup/checkpoint_constant_data.ts +123 -0
- package/src/rollup/checkpoint_header.ts +248 -0
- package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +139 -0
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
- package/src/rollup/epoch_constant_data.ts +62 -0
- package/src/rollup/index.ts +20 -16
- package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
- package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/root_rollup_public_inputs.ts +99 -0
- package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +17 -25
- package/src/schemas/schemas.ts +21 -0
- package/src/slashing/empire.ts +102 -0
- package/src/slashing/helpers.ts +141 -0
- package/src/slashing/index.ts +6 -0
- package/src/slashing/interfaces.ts +13 -0
- package/src/slashing/serialization.ts +103 -0
- package/src/slashing/tally.ts +87 -0
- package/src/slashing/types.ts +152 -0
- package/src/snapshots/download.ts +123 -0
- package/src/snapshots/index.ts +3 -0
- package/src/snapshots/types.ts +70 -0
- package/src/snapshots/upload.ts +64 -0
- package/src/stats/stats.ts +28 -19
- package/src/tests/factories.ts +761 -648
- package/src/tests/mocks.ts +377 -148
- package/src/trees/append_only_tree_snapshot.ts +17 -2
- package/src/trees/database_public_state_source.ts +30 -0
- package/src/trees/index.ts +1 -1
- package/src/trees/merkle_tree_id.ts +12 -0
- package/src/trees/nullifier_leaf.ts +80 -21
- package/src/trees/nullifier_membership_witness.ts +17 -1
- package/src/trees/public_data_leaf.ts +72 -29
- package/src/trees/public_data_witness.ts +23 -4
- package/src/tx/block_header.ts +39 -24
- package/src/tx/capsule.ts +2 -0
- package/src/tx/content_commitment.ts +48 -77
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/global_variable_builder.ts +4 -3
- package/src/tx/global_variables.ts +100 -31
- package/src/tx/hashed_values.ts +29 -9
- package/src/tx/index.ts +9 -2
- package/src/tx/indexed_tx_effect.ts +39 -0
- package/src/tx/offchain_effect.ts +20 -0
- package/src/tx/partial_state_reference.ts +29 -4
- package/src/tx/private_execution_result.ts +74 -90
- package/src/tx/private_tx_constant_data.ts +94 -0
- package/src/tx/processed_tx.ts +41 -35
- package/src/tx/profiling.ts +159 -0
- package/src/tx/protocol_contracts.ts +86 -0
- package/src/tx/proven_tx.ts +62 -0
- package/src/tx/public_call_request_with_calldata.ts +89 -0
- package/src/tx/public_simulation_output.ts +23 -6
- package/src/tx/simulated_tx.ts +66 -76
- package/src/tx/state_reference.ts +48 -5
- package/src/tx/tree_snapshots.ts +29 -13
- package/src/tx/tx.ts +163 -193
- package/src/tx/tx_constant_data.ts +8 -21
- package/src/tx/tx_effect.ts +139 -310
- package/src/tx/tx_execution_request.ts +14 -3
- package/src/tx/tx_hash.ts +26 -5
- package/src/tx/tx_receipt.ts +1 -37
- package/src/tx/tx_request.ts +16 -6
- package/src/tx/validator/error_texts.ts +38 -0
- package/src/tx/validator/tx_validator.ts +5 -0
- package/src/types/shared.ts +10 -9
- package/src/update-checker/index.ts +1 -0
- package/src/update-checker/update-checker.ts +165 -0
- package/src/validators/errors.ts +58 -0
- package/src/validators/index.ts +3 -0
- package/src/validators/schemas.ts +75 -0
- package/src/validators/types.ts +47 -0
- package/src/versioning/versioning.ts +28 -32
- package/src/vks/index.ts +1 -1
- package/src/vks/verification_key.ts +43 -18
- package/src/vks/{vk_witness_data.ts → vk_data.ts} +6 -6
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +63 -0
- package/src/zkpassport/index.ts +119 -0
- package/dest/avm/public_data_hint.d.ts +0 -18
- package/dest/avm/public_data_hint.d.ts.map +0 -1
- package/dest/avm/public_data_hint.js +0 -27
- package/dest/block/l2_block_downloader/index.d.ts +0 -3
- package/dest/block/l2_block_downloader/index.d.ts.map +0 -1
- package/dest/block/l2_block_downloader/index.js +0 -2
- package/dest/block/l2_block_downloader/l2_block_downloader.d.ts +0 -58
- package/dest/block/l2_block_downloader/l2_block_downloader.d.ts.map +0 -1
- package/dest/block/l2_block_downloader/l2_block_downloader.js +0 -124
- package/dest/block/l2_block_downloader/l2_block_stream.d.ts +0 -57
- package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +0 -1
- package/dest/block/nullifier_with_block_source.d.ts +0 -6
- package/dest/block/nullifier_with_block_source.d.ts.map +0 -1
- package/dest/config/config.d.ts +0 -18
- package/dest/config/config.d.ts.map +0 -1
- package/dest/contract/unconstrained_function_membership_proof.d.ts +0 -27
- package/dest/contract/unconstrained_function_membership_proof.d.ts.map +0 -1
- package/dest/event/event.d.ts +0 -24
- package/dest/event/event.d.ts.map +0 -1
- package/dest/event/event.js +0 -13
- package/dest/event/event_metadata.d.ts +0 -38
- package/dest/event/event_metadata.d.ts.map +0 -1
- package/dest/event/event_metadata.js +0 -45
- package/dest/event/index.d.ts +0 -4
- package/dest/event/index.d.ts.map +0 -1
- package/dest/event/index.js +0 -3
- package/dest/event/l1_event_payload.d.ts +0 -52
- package/dest/event/l1_event_payload.d.ts.map +0 -1
- package/dest/event/l1_event_payload.js +0 -64
- package/dest/interfaces/pxe.d.ts +0 -347
- package/dest/interfaces/pxe.d.ts.map +0 -1
- package/dest/interfaces/pxe.js +0 -104
- package/dest/kernel/combined_constant_data.d.ts +0 -73
- package/dest/kernel/combined_constant_data.d.ts.map +0 -1
- package/dest/kernel/combined_constant_data.js +0 -73
- package/dest/kernel/hints/rollup_validation_requests.d.ts +0 -40
- package/dest/kernel/hints/rollup_validation_requests.d.ts.map +0 -1
- package/dest/kernel/hints/rollup_validation_requests.js +0 -57
- package/dest/kernel/hints/transient_data_index_hint.d.ts +0 -20
- package/dest/kernel/hints/transient_data_index_hint.d.ts.map +0 -1
- package/dest/kernel/private_kernel_prover_profile_result.d.ts +0 -25
- package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +0 -1
- package/dest/kernel/private_kernel_prover_profile_result.js +0 -7
- package/dest/logs/indexed_tagging_secret.d.ts +0 -28
- package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
- package/dest/logs/indexed_tagging_secret.js +0 -50
- package/dest/logs/l1_payload/encrypted_log_payload.d.ts +0 -50
- package/dest/logs/l1_payload/encrypted_log_payload.d.ts.map +0 -1
- package/dest/logs/l1_payload/encrypted_log_payload.js +0 -140
- package/dest/logs/l1_payload/encryption_util.d.ts +0 -24
- package/dest/logs/l1_payload/encryption_util.d.ts.map +0 -1
- package/dest/logs/l1_payload/encryption_util.js +0 -46
- package/dest/logs/l1_payload/index.d.ts +0 -3
- package/dest/logs/l1_payload/index.d.ts.map +0 -1
- package/dest/logs/l1_payload/index.js +0 -2
- package/dest/logs/l1_payload/l1_note_payload.d.ts +0 -82
- package/dest/logs/l1_payload/l1_note_payload.d.ts.map +0 -1
- package/dest/logs/l1_payload/l1_note_payload.js +0 -129
- package/dest/logs/l1_payload/payload.d.ts +0 -60
- package/dest/logs/l1_payload/payload.d.ts.map +0 -1
- package/dest/logs/l1_payload/payload.js +0 -61
- package/dest/logs/l1_payload/shared_secret_derivation.d.ts +0 -16
- package/dest/logs/l1_payload/shared_secret_derivation.d.ts.map +0 -1
- package/dest/network/index.d.ts +0 -32
- package/dest/network/index.d.ts.map +0 -1
- package/dest/network/index.js +0 -30
- package/dest/note/extended_note.d.ts +0 -124
- package/dest/note/extended_note.d.ts.map +0 -1
- package/dest/note/extended_note.js +0 -115
- package/dest/parity/base_parity_inputs.d.ts +0 -37
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -54
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -39
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.d.ts +0 -21
- package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.js +0 -44
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +0 -126
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts +0 -45
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -159
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -136
- package/dest/rollup/block_root_rollup.d.ts +0 -262
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.js +0 -293
- package/dest/rollup/constant_rollup_data.d.ts +0 -47
- package/dest/rollup/constant_rollup_data.d.ts.map +0 -1
- package/dest/rollup/constant_rollup_data.js +0 -45
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -54
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -68
- package/dest/rollup/merge_rollup.d.ts +0 -45
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -58
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -42
- package/dest/rollup/previous_rollup_data.d.ts +0 -58
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -42
- package/dest/rollup/private_base_rollup_inputs.d.ts +0 -23
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/private_base_rollup_inputs.js +0 -44
- package/dest/rollup/private_tube_data.d.ts +0 -17
- package/dest/rollup/private_tube_data.d.ts.map +0 -1
- package/dest/rollup/private_tube_data.js +0 -25
- package/dest/rollup/public_base_rollup_inputs.d.ts +0 -25
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.js +0 -48
- package/dest/rollup/public_tube_data.d.ts +0 -17
- package/dest/rollup/public_tube_data.d.ts.map +0 -1
- package/dest/rollup/public_tube_data.js +0 -25
- package/dest/rollup/root_rollup.d.ts +0 -112
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/dest/rollup/root_rollup.js +0 -158
- package/dest/rollup/state_diff_hints.d.ts +0 -105
- package/dest/rollup/state_diff_hints.d.ts.map +0 -1
- package/dest/rollup/state_diff_hints.js +0 -85
- package/dest/rollup/tube_inputs.d.ts +0 -40
- package/dest/rollup/tube_inputs.d.ts.map +0 -1
- package/dest/rollup/tube_inputs.js +0 -57
- package/dest/shared_mutable/index.d.ts +0 -5
- package/dest/shared_mutable/index.d.ts.map +0 -1
- package/dest/shared_mutable/index.js +0 -4
- package/dest/shared_mutable/scheduled_delay_change.d.ts +0 -10
- package/dest/shared_mutable/scheduled_delay_change.d.ts.map +0 -1
- package/dest/shared_mutable/scheduled_value_change.d.ts +0 -11
- package/dest/shared_mutable/scheduled_value_change.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values.d.ts +0 -22
- package/dest/shared_mutable/shared_mutable_values.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts +0 -15
- package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +0 -1
- package/dest/shared_mutable/shared_mutable_values_with_hash.js +0 -30
- package/dest/trees/protocol_contract_leaf.d.ts +0 -87
- package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
- package/dest/trees/protocol_contract_leaf.js +0 -103
- package/dest/tx/max_block_number.d.ts +0 -55
- package/dest/tx/max_block_number.d.ts.map +0 -1
- package/dest/tx/max_block_number.js +0 -65
- package/dest/tx/public_execution_request.d.ts +0 -45
- package/dest/tx/public_execution_request.d.ts.map +0 -1
- package/dest/tx/public_execution_request.js +0 -72
- package/dest/vks/vk_witness_data.d.ts +0 -32
- package/dest/vks/vk_witness_data.d.ts.map +0 -1
- package/src/avm/public_data_hint.ts +0 -38
- package/src/block/l2_block_downloader/index.ts +0 -2
- package/src/block/l2_block_downloader/l2_block_downloader.ts +0 -149
- package/src/block/nullifier_with_block_source.ts +0 -7
- package/src/event/event.ts +0 -16
- package/src/event/event_metadata.ts +0 -56
- package/src/event/index.ts +0 -3
- package/src/event/l1_event_payload.ts +0 -87
- package/src/interfaces/pxe.ts +0 -536
- package/src/kernel/combined_constant_data.ts +0 -128
- package/src/kernel/hints/rollup_validation_requests.ts +0 -73
- package/src/kernel/private_kernel_prover_profile_result.ts +0 -7
- package/src/logs/indexed_tagging_secret.ts +0 -45
- package/src/logs/l1_payload/encrypted_log_payload.ts +0 -202
- package/src/logs/l1_payload/encryption_util.ts +0 -54
- package/src/logs/l1_payload/index.ts +0 -2
- package/src/logs/l1_payload/l1_note_payload.ts +0 -182
- package/src/logs/l1_payload/payload.ts +0 -73
- package/src/network/index.ts +0 -32
- package/src/note/extended_note.ts +0 -168
- package/src/parity/root_parity_input.ts +0 -71
- package/src/proofs/client_ivc_proof.ts +0 -61
- package/src/rollup/block_root_or_block_merge_public_inputs.ts +0 -175
- package/src/rollup/block_root_rollup.ts +0 -362
- package/src/rollup/constant_rollup_data.ts +0 -54
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -85
- package/src/rollup/previous_rollup_block_data.ts +0 -54
- package/src/rollup/previous_rollup_data.ts +0 -54
- package/src/rollup/private_base_rollup_inputs.ts +0 -50
- package/src/rollup/private_tube_data.ts +0 -35
- package/src/rollup/public_base_rollup_inputs.ts +0 -59
- package/src/rollup/public_tube_data.ts +0 -35
- package/src/rollup/root_rollup.ts +0 -206
- package/src/rollup/tube_inputs.ts +0 -70
- package/src/shared_mutable/index.ts +0 -4
- package/src/shared_mutable/scheduled_delay_change.ts +0 -13
- package/src/shared_mutable/shared_mutable_values_with_hash.ts +0 -38
- package/src/trees/protocol_contract_leaf.ts +0 -132
- package/src/tx/max_block_number.ts +0 -79
- package/src/tx/public_execution_request.ts +0 -97
- /package/dest/{block/nullifier_with_block_source.js → abi/event_metadata_definition.js} +0 -0
package/src/avm/avm.ts
CHANGED
|
@@ -1,272 +1,1003 @@
|
|
|
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';
|
|
10
|
+
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
11
|
+
import { Gas } from '../gas/gas.js';
|
|
12
|
+
import { GasFees } from '../gas/gas_fees.js';
|
|
13
|
+
import { GasSettings } from '../gas/gas_settings.js';
|
|
14
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
8
15
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
16
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
17
|
+
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
18
|
+
import { NullishToUndefined, type ZodFor, schemas } from '../schemas/schemas.js';
|
|
19
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
20
|
+
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
21
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
22
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
23
|
+
import {
|
|
24
|
+
GlobalVariables,
|
|
25
|
+
NestedProcessReturnValues,
|
|
26
|
+
ProtocolContracts,
|
|
27
|
+
PublicCallRequestWithCalldata,
|
|
28
|
+
TreeSnapshots,
|
|
29
|
+
type Tx,
|
|
30
|
+
} from '../tx/index.js';
|
|
31
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
11
32
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
12
33
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
34
|
+
import { RevertCode } from './revert_code.js';
|
|
13
35
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
static get schema() {
|
|
18
|
-
return z
|
|
19
|
-
.object({
|
|
20
|
-
contractAddress: AztecAddress.schema,
|
|
21
|
-
calldata: schemas.Fr.array(),
|
|
22
|
-
})
|
|
23
|
-
.transform(({ contractAddress, calldata }) => new AvmEnqueuedCallHint(contractAddress, calldata));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
36
|
+
////////////////////////////////////////////////////////////////////////////
|
|
37
|
+
// Hints (contracts)
|
|
38
|
+
////////////////////////////////////////////////////////////////////////////
|
|
27
39
|
export class AvmContractClassHint {
|
|
28
40
|
constructor(
|
|
41
|
+
public readonly hintKey: number,
|
|
29
42
|
public readonly classId: Fr,
|
|
30
|
-
public readonly exists: boolean,
|
|
31
43
|
public readonly artifactHash: Fr,
|
|
32
44
|
public readonly privateFunctionsRoot: Fr,
|
|
33
|
-
public readonly publicBytecodeCommitment: Fr,
|
|
34
45
|
public readonly packedBytecode: Buffer,
|
|
35
46
|
) {}
|
|
36
47
|
|
|
37
48
|
static get schema() {
|
|
38
49
|
return z
|
|
39
50
|
.object({
|
|
51
|
+
hintKey: z.number().int().nonnegative(),
|
|
40
52
|
classId: schemas.Fr,
|
|
41
|
-
exists: z.boolean(),
|
|
42
53
|
artifactHash: schemas.Fr,
|
|
43
54
|
privateFunctionsRoot: schemas.Fr,
|
|
44
|
-
publicBytecodeCommitment: schemas.Fr,
|
|
45
55
|
packedBytecode: schemas.Buffer,
|
|
46
56
|
})
|
|
47
57
|
.transform(
|
|
48
|
-
({
|
|
49
|
-
new AvmContractClassHint(
|
|
50
|
-
classId,
|
|
51
|
-
exists,
|
|
52
|
-
artifactHash,
|
|
53
|
-
privateFunctionsRoot,
|
|
54
|
-
publicBytecodeCommitment,
|
|
55
|
-
packedBytecode,
|
|
56
|
-
),
|
|
58
|
+
({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
|
|
59
|
+
new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode),
|
|
57
60
|
);
|
|
58
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
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export class AvmBytecodeCommitmentHint {
|
|
85
|
+
constructor(
|
|
86
|
+
public readonly hintKey: number,
|
|
87
|
+
public readonly classId: Fr,
|
|
88
|
+
public readonly commitment: Fr,
|
|
89
|
+
) {}
|
|
90
|
+
|
|
91
|
+
static get schema() {
|
|
92
|
+
return z
|
|
93
|
+
.object({
|
|
94
|
+
hintKey: z.number().int().nonnegative(),
|
|
95
|
+
classId: schemas.Fr,
|
|
96
|
+
commitment: schemas.Fr,
|
|
97
|
+
})
|
|
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
|
+
);
|
|
117
|
+
}
|
|
59
118
|
}
|
|
60
119
|
|
|
61
120
|
export class AvmContractInstanceHint {
|
|
62
121
|
constructor(
|
|
122
|
+
public readonly hintKey: number,
|
|
63
123
|
public readonly address: AztecAddress,
|
|
64
|
-
public readonly exists: boolean,
|
|
65
124
|
public readonly salt: Fr,
|
|
66
125
|
public readonly deployer: AztecAddress,
|
|
67
126
|
public readonly currentContractClassId: Fr,
|
|
68
127
|
public readonly originalContractClassId: Fr,
|
|
69
128
|
public readonly initializationHash: Fr,
|
|
70
129
|
public readonly publicKeys: PublicKeys,
|
|
71
|
-
// public readonly updateMembershipHint: AvmPublicDataReadTreeHint = AvmPublicDataReadTreeHint.empty(),
|
|
72
|
-
public readonly updateMembershipHint: AvmPublicDataReadTreeHint,
|
|
73
|
-
public readonly updatePreimage: Fr[] = [],
|
|
74
130
|
) {}
|
|
75
131
|
|
|
76
132
|
static get schema() {
|
|
77
133
|
return z
|
|
78
134
|
.object({
|
|
135
|
+
hintKey: z.number().int().nonnegative(),
|
|
79
136
|
address: AztecAddress.schema,
|
|
80
|
-
exists: z.boolean(),
|
|
81
137
|
salt: schemas.Fr,
|
|
82
138
|
deployer: AztecAddress.schema,
|
|
83
139
|
currentContractClassId: schemas.Fr,
|
|
84
140
|
originalContractClassId: schemas.Fr,
|
|
85
141
|
initializationHash: schemas.Fr,
|
|
86
142
|
publicKeys: PublicKeys.schema,
|
|
87
|
-
updateMembershipHint: AvmPublicDataReadTreeHint.schema,
|
|
88
|
-
updatePreimage: schemas.Fr.array(),
|
|
89
143
|
})
|
|
90
144
|
.transform(
|
|
91
145
|
({
|
|
146
|
+
hintKey,
|
|
92
147
|
address,
|
|
93
|
-
exists,
|
|
94
148
|
salt,
|
|
95
149
|
deployer,
|
|
96
150
|
currentContractClassId,
|
|
97
151
|
originalContractClassId,
|
|
98
152
|
initializationHash,
|
|
99
153
|
publicKeys,
|
|
100
|
-
updateMembershipHint,
|
|
101
|
-
updatePreimage,
|
|
102
154
|
}) =>
|
|
103
155
|
new AvmContractInstanceHint(
|
|
156
|
+
hintKey,
|
|
104
157
|
address,
|
|
105
|
-
exists,
|
|
106
158
|
salt,
|
|
107
159
|
deployer,
|
|
108
160
|
currentContractClassId,
|
|
109
161
|
originalContractClassId,
|
|
110
162
|
initializationHash,
|
|
111
163
|
publicKeys,
|
|
112
|
-
updateMembershipHint,
|
|
113
|
-
updatePreimage,
|
|
114
164
|
),
|
|
115
165
|
);
|
|
116
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
|
+
}
|
|
117
190
|
}
|
|
118
191
|
|
|
119
|
-
export class
|
|
120
|
-
constructor(
|
|
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
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
////////////////////////////////////////////////////////////////////////////
|
|
229
|
+
// Hints (merkle db)
|
|
230
|
+
////////////////////////////////////////////////////////////////////////////
|
|
231
|
+
// Hint for MerkleTreeDB.getSiblingPath.
|
|
232
|
+
export class AvmGetSiblingPathHint {
|
|
233
|
+
constructor(
|
|
234
|
+
public readonly hintKey: AppendOnlyTreeSnapshot,
|
|
235
|
+
// params
|
|
236
|
+
public readonly treeId: MerkleTreeId,
|
|
237
|
+
public readonly index: bigint,
|
|
238
|
+
// return
|
|
239
|
+
public readonly path: Fr[],
|
|
240
|
+
) {}
|
|
121
241
|
|
|
122
242
|
static get schema() {
|
|
123
243
|
return z
|
|
124
244
|
.object({
|
|
125
|
-
|
|
245
|
+
hintKey: AppendOnlyTreeSnapshot.schema,
|
|
246
|
+
treeId: z.number().int().nonnegative(),
|
|
247
|
+
index: schemas.BigInt,
|
|
248
|
+
path: schemas.Fr.array(),
|
|
249
|
+
})
|
|
250
|
+
.transform(({ hintKey, treeId, index, path }) => new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
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
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
274
|
+
export class AvmGetPreviousValueIndexHint {
|
|
275
|
+
constructor(
|
|
276
|
+
public readonly hintKey: AppendOnlyTreeSnapshot,
|
|
277
|
+
// params
|
|
278
|
+
public readonly treeId: MerkleTreeId,
|
|
279
|
+
public readonly value: Fr,
|
|
280
|
+
// return
|
|
281
|
+
public readonly index: bigint,
|
|
282
|
+
public readonly alreadyPresent: boolean,
|
|
283
|
+
) {}
|
|
284
|
+
|
|
285
|
+
static get schema() {
|
|
286
|
+
return z
|
|
287
|
+
.object({
|
|
288
|
+
hintKey: AppendOnlyTreeSnapshot.schema,
|
|
289
|
+
treeId: z.number().int().nonnegative(),
|
|
126
290
|
value: schemas.Fr,
|
|
127
|
-
|
|
291
|
+
index: schemas.BigInt,
|
|
292
|
+
alreadyPresent: z.boolean(),
|
|
128
293
|
})
|
|
129
|
-
.transform(
|
|
294
|
+
.transform(
|
|
295
|
+
({ hintKey, treeId, value, index, alreadyPresent }) =>
|
|
296
|
+
new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent),
|
|
297
|
+
);
|
|
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
|
+
);
|
|
130
318
|
}
|
|
131
319
|
}
|
|
132
320
|
|
|
133
|
-
|
|
134
|
-
|
|
321
|
+
type IndexedTreeLeafPreimages = NullifierLeafPreimage | PublicDataTreeLeafPreimage;
|
|
322
|
+
type IndexedTreeLeafPreimagesClasses = typeof NullifierLeafPreimage | typeof PublicDataTreeLeafPreimage;
|
|
323
|
+
|
|
324
|
+
// Hint for MerkleTreeDB.getLeafPreimage.
|
|
325
|
+
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
326
|
+
// having the type doesn't suffice since TS does type erasure in the end.
|
|
327
|
+
function AvmGetLeafPreimageHintFactory(klass: IndexedTreeLeafPreimagesClasses) {
|
|
328
|
+
return class {
|
|
329
|
+
constructor(
|
|
330
|
+
public readonly hintKey: AppendOnlyTreeSnapshot,
|
|
331
|
+
// params (tree id will be implicit)
|
|
332
|
+
public readonly index: bigint,
|
|
333
|
+
// return
|
|
334
|
+
public readonly leafPreimage: IndexedTreeLeafPreimages,
|
|
335
|
+
) {}
|
|
336
|
+
|
|
337
|
+
static get schema() {
|
|
338
|
+
return z
|
|
339
|
+
.object({
|
|
340
|
+
hintKey: AppendOnlyTreeSnapshot.schema,
|
|
341
|
+
index: schemas.BigInt,
|
|
342
|
+
leafPreimage: klass.schema,
|
|
343
|
+
})
|
|
344
|
+
.transform(({ hintKey, index, leafPreimage }) => new this(hintKey, index, leafPreimage));
|
|
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
|
+
}
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
368
|
+
export class AvmGetLeafPreimageHintPublicDataTree extends AvmGetLeafPreimageHintFactory(PublicDataTreeLeafPreimage) {}
|
|
369
|
+
export class AvmGetLeafPreimageHintNullifierTree extends AvmGetLeafPreimageHintFactory(NullifierLeafPreimage) {}
|
|
370
|
+
|
|
371
|
+
// Hint for MerkleTreeDB.getLeafValue.
|
|
372
|
+
// Note: only supported for NOTE_HASH_TREE and L1_TO_L2_MESSAGE_TREE.
|
|
373
|
+
export class AvmGetLeafValueHint {
|
|
374
|
+
constructor(
|
|
375
|
+
public readonly hintKey: AppendOnlyTreeSnapshot,
|
|
376
|
+
// params
|
|
377
|
+
public readonly treeId: MerkleTreeId,
|
|
378
|
+
public readonly index: bigint,
|
|
379
|
+
// return
|
|
380
|
+
public readonly value: Fr,
|
|
381
|
+
) {}
|
|
135
382
|
|
|
136
383
|
static get schema() {
|
|
137
384
|
return z
|
|
138
385
|
.object({
|
|
139
|
-
|
|
140
|
-
|
|
386
|
+
hintKey: AppendOnlyTreeSnapshot.schema,
|
|
387
|
+
treeId: z.number().int().nonnegative(),
|
|
388
|
+
index: schemas.BigInt,
|
|
389
|
+
value: schemas.Fr,
|
|
141
390
|
})
|
|
142
|
-
.transform(({
|
|
391
|
+
.transform(({ hintKey, treeId, index, value }) => new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
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
|
+
);
|
|
143
411
|
}
|
|
144
412
|
}
|
|
145
413
|
|
|
146
|
-
|
|
414
|
+
// Hint for MerkleTreeDB.sequentialInsert.
|
|
415
|
+
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
416
|
+
// having the type doesn't suffice since TS does type erasure in the end.
|
|
417
|
+
function AvmSequentialInsertHintFactory(klass: IndexedTreeLeafPreimagesClasses) {
|
|
418
|
+
return class {
|
|
419
|
+
constructor(
|
|
420
|
+
public readonly hintKey: AppendOnlyTreeSnapshot,
|
|
421
|
+
public readonly stateAfter: AppendOnlyTreeSnapshot,
|
|
422
|
+
// params
|
|
423
|
+
public readonly treeId: MerkleTreeId,
|
|
424
|
+
public readonly leaf: InstanceType<IndexedTreeLeafPreimagesClasses>['leaf'],
|
|
425
|
+
// return
|
|
426
|
+
public readonly lowLeavesWitnessData: {
|
|
427
|
+
leaf: IndexedTreeLeafPreimages;
|
|
428
|
+
index: bigint;
|
|
429
|
+
path: Fr[];
|
|
430
|
+
},
|
|
431
|
+
public readonly insertionWitnessData: {
|
|
432
|
+
leaf: IndexedTreeLeafPreimages;
|
|
433
|
+
index: bigint;
|
|
434
|
+
path: Fr[];
|
|
435
|
+
},
|
|
436
|
+
) {}
|
|
437
|
+
|
|
438
|
+
static get schema() {
|
|
439
|
+
return z
|
|
440
|
+
.object({
|
|
441
|
+
hintKey: AppendOnlyTreeSnapshot.schema,
|
|
442
|
+
stateAfter: AppendOnlyTreeSnapshot.schema,
|
|
443
|
+
treeId: z.number().int().nonnegative(),
|
|
444
|
+
leaf: klass.leafSchema,
|
|
445
|
+
lowLeavesWitnessData: z.object({
|
|
446
|
+
leaf: klass.schema,
|
|
447
|
+
index: schemas.BigInt,
|
|
448
|
+
path: schemas.Fr.array(),
|
|
449
|
+
}),
|
|
450
|
+
insertionWitnessData: z.object({
|
|
451
|
+
leaf: klass.schema,
|
|
452
|
+
index: schemas.BigInt,
|
|
453
|
+
path: schemas.Fr.array(),
|
|
454
|
+
}),
|
|
455
|
+
})
|
|
456
|
+
.transform(
|
|
457
|
+
({ hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData }) =>
|
|
458
|
+
new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData),
|
|
459
|
+
);
|
|
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
|
+
}
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
502
|
+
export class AvmSequentialInsertHintPublicDataTree extends AvmSequentialInsertHintFactory(PublicDataTreeLeafPreimage) {}
|
|
503
|
+
export class AvmSequentialInsertHintNullifierTree extends AvmSequentialInsertHintFactory(NullifierLeafPreimage) {}
|
|
504
|
+
|
|
505
|
+
// Hint for MerkleTreeDB.appendLeaves.
|
|
506
|
+
// Note: only supported for NOTE_HASH_TREE and L1_TO_L2_MESSAGE_TREE.
|
|
507
|
+
export class AvmAppendLeavesHint {
|
|
147
508
|
constructor(
|
|
148
|
-
public readonly
|
|
149
|
-
public readonly
|
|
150
|
-
|
|
509
|
+
public readonly hintKey: AppendOnlyTreeSnapshot,
|
|
510
|
+
public readonly stateAfter: AppendOnlyTreeSnapshot,
|
|
511
|
+
// params
|
|
512
|
+
public readonly treeId: MerkleTreeId,
|
|
513
|
+
public readonly leaves: Fr[],
|
|
151
514
|
) {}
|
|
152
515
|
|
|
153
516
|
static get schema() {
|
|
154
517
|
return z
|
|
155
518
|
.object({
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
519
|
+
hintKey: AppendOnlyTreeSnapshot.schema,
|
|
520
|
+
stateAfter: AppendOnlyTreeSnapshot.schema,
|
|
521
|
+
treeId: z.number().int().nonnegative(),
|
|
522
|
+
leaves: schemas.Fr.array(),
|
|
159
523
|
})
|
|
160
524
|
.transform(
|
|
161
|
-
({
|
|
162
|
-
new AvmNullifierReadTreeHint(lowLeafPreimage, lowLeafIndex, lowLeafSiblingPath),
|
|
525
|
+
({ hintKey, stateAfter, treeId, leaves }) => new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves),
|
|
163
526
|
);
|
|
164
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
|
+
}
|
|
165
547
|
}
|
|
166
548
|
|
|
167
|
-
|
|
549
|
+
// Hint for checkpoint actions that don't change the state.
|
|
550
|
+
class AvmCheckpointActionNoStateChangeHint {
|
|
168
551
|
constructor(
|
|
169
|
-
|
|
170
|
-
public readonly
|
|
171
|
-
|
|
552
|
+
// key
|
|
553
|
+
public readonly actionCounter: number,
|
|
554
|
+
// current checkpoint evolution
|
|
555
|
+
public readonly oldCheckpointId: number,
|
|
556
|
+
public readonly newCheckpointId: number,
|
|
172
557
|
) {}
|
|
173
558
|
|
|
174
|
-
static
|
|
175
|
-
return
|
|
559
|
+
static get schema() {
|
|
560
|
+
return z
|
|
561
|
+
.object({
|
|
562
|
+
actionCounter: z.number().int().nonnegative(),
|
|
563
|
+
oldCheckpointId: z.number().int().nonnegative(),
|
|
564
|
+
newCheckpointId: z.number().int().nonnegative(),
|
|
565
|
+
})
|
|
566
|
+
.transform(
|
|
567
|
+
({ actionCounter, oldCheckpointId, newCheckpointId }) =>
|
|
568
|
+
new this(actionCounter, oldCheckpointId, newCheckpointId),
|
|
569
|
+
);
|
|
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
|
+
}
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
// Hint for MerkleTreeDB.createCheckpoint.
|
|
588
|
+
export class AvmCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
589
|
+
|
|
590
|
+
// Hint for MerkleTreeDB.commitCheckpoint.
|
|
591
|
+
export class AvmCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
592
|
+
|
|
593
|
+
// Hint for MerkleTreeDB.revertCheckpoint.
|
|
594
|
+
export class AvmRevertCheckpointHint {
|
|
595
|
+
// We use explicit fields for MessagePack.
|
|
596
|
+
constructor(
|
|
597
|
+
// key
|
|
598
|
+
public readonly actionCounter: number,
|
|
599
|
+
// current checkpoint evolution
|
|
600
|
+
public readonly oldCheckpointId: number,
|
|
601
|
+
public readonly newCheckpointId: number,
|
|
602
|
+
// state evolution
|
|
603
|
+
public readonly stateBefore: TreeSnapshots,
|
|
604
|
+
public readonly stateAfter: TreeSnapshots,
|
|
605
|
+
) {}
|
|
606
|
+
|
|
607
|
+
static create(
|
|
608
|
+
actionCounter: number,
|
|
609
|
+
oldCheckpointId: number,
|
|
610
|
+
newCheckpointId: number,
|
|
611
|
+
stateBefore: Record<MerkleTreeId, AppendOnlyTreeSnapshot>,
|
|
612
|
+
stateAfter: Record<MerkleTreeId, AppendOnlyTreeSnapshot>,
|
|
613
|
+
): AvmRevertCheckpointHint {
|
|
614
|
+
return new AvmRevertCheckpointHint(
|
|
615
|
+
actionCounter,
|
|
616
|
+
oldCheckpointId,
|
|
617
|
+
newCheckpointId,
|
|
618
|
+
new TreeSnapshots(
|
|
619
|
+
stateBefore[MerkleTreeId.L1_TO_L2_MESSAGE_TREE],
|
|
620
|
+
stateBefore[MerkleTreeId.NOTE_HASH_TREE],
|
|
621
|
+
stateBefore[MerkleTreeId.NULLIFIER_TREE],
|
|
622
|
+
stateBefore[MerkleTreeId.PUBLIC_DATA_TREE],
|
|
623
|
+
),
|
|
624
|
+
new TreeSnapshots(
|
|
625
|
+
stateAfter[MerkleTreeId.L1_TO_L2_MESSAGE_TREE],
|
|
626
|
+
stateAfter[MerkleTreeId.NOTE_HASH_TREE],
|
|
627
|
+
stateAfter[MerkleTreeId.NULLIFIER_TREE],
|
|
628
|
+
stateAfter[MerkleTreeId.PUBLIC_DATA_TREE],
|
|
629
|
+
),
|
|
630
|
+
);
|
|
176
631
|
}
|
|
177
632
|
|
|
178
633
|
static get schema() {
|
|
179
634
|
return z
|
|
180
635
|
.object({
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
636
|
+
actionCounter: z.number().int().nonnegative(),
|
|
637
|
+
oldCheckpointId: z.number().int().nonnegative(),
|
|
638
|
+
newCheckpointId: z.number().int().nonnegative(),
|
|
639
|
+
stateBefore: TreeSnapshots.schema,
|
|
640
|
+
stateAfter: TreeSnapshots.schema,
|
|
184
641
|
})
|
|
185
642
|
.transform(
|
|
186
|
-
({
|
|
187
|
-
new
|
|
643
|
+
({ actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter }) =>
|
|
644
|
+
new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter),
|
|
188
645
|
);
|
|
189
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
|
+
}
|
|
190
667
|
}
|
|
191
668
|
|
|
192
|
-
export class
|
|
669
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
670
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
671
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
672
|
+
|
|
673
|
+
////////////////////////////////////////////////////////////////////////////
|
|
674
|
+
// Hints (other)
|
|
675
|
+
////////////////////////////////////////////////////////////////////////////
|
|
676
|
+
export class AvmTxHint {
|
|
193
677
|
constructor(
|
|
194
|
-
|
|
195
|
-
public readonly
|
|
196
|
-
public readonly
|
|
197
|
-
public readonly
|
|
678
|
+
public readonly hash: string,
|
|
679
|
+
public readonly gasSettings: GasSettings,
|
|
680
|
+
public readonly effectiveGasFees: GasFees,
|
|
681
|
+
public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
|
|
682
|
+
public readonly revertibleContractDeploymentData: ContractDeploymentData,
|
|
683
|
+
public readonly nonRevertibleAccumulatedData: {
|
|
684
|
+
noteHashes: Fr[];
|
|
685
|
+
nullifiers: Fr[];
|
|
686
|
+
l2ToL1Messages: ScopedL2ToL1Message[];
|
|
687
|
+
},
|
|
688
|
+
public readonly revertibleAccumulatedData: {
|
|
689
|
+
noteHashes: Fr[];
|
|
690
|
+
nullifiers: Fr[];
|
|
691
|
+
l2ToL1Messages: ScopedL2ToL1Message[];
|
|
692
|
+
},
|
|
693
|
+
public readonly setupEnqueuedCalls: PublicCallRequestWithCalldata[],
|
|
694
|
+
public readonly appLogicEnqueuedCalls: PublicCallRequestWithCalldata[],
|
|
695
|
+
// We need this to be null and not undefined because that's what
|
|
696
|
+
// MessagePack expects for an std::optional.
|
|
697
|
+
public readonly teardownEnqueuedCall: PublicCallRequestWithCalldata | null,
|
|
698
|
+
public readonly gasUsedByPrivate: Gas,
|
|
699
|
+
public readonly feePayer: AztecAddress,
|
|
198
700
|
) {}
|
|
199
701
|
|
|
702
|
+
static fromTx(tx: Tx, gasFees: GasFees): AvmTxHint {
|
|
703
|
+
const setupCallRequests = tx.getNonRevertiblePublicCallRequestsWithCalldata();
|
|
704
|
+
const appLogicCallRequests = tx.getRevertiblePublicCallRequestsWithCalldata();
|
|
705
|
+
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
706
|
+
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
707
|
+
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
708
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
709
|
+
|
|
710
|
+
// For informational purposes. Assumed quick because it should be cached.
|
|
711
|
+
const txHash = tx.getTxHash();
|
|
712
|
+
|
|
713
|
+
return new AvmTxHint(
|
|
714
|
+
txHash.hash.toString(),
|
|
715
|
+
gasSettings,
|
|
716
|
+
effectiveGasFees,
|
|
717
|
+
allContractDeploymentData.getNonRevertibleContractDeploymentData(),
|
|
718
|
+
allContractDeploymentData.getRevertibleContractDeploymentData(),
|
|
719
|
+
{
|
|
720
|
+
noteHashes: tx.data.forPublic!.nonRevertibleAccumulatedData.noteHashes.filter(x => !x.isZero()),
|
|
721
|
+
nullifiers: tx.data.forPublic!.nonRevertibleAccumulatedData.nullifiers.filter(x => !x.isZero()),
|
|
722
|
+
l2ToL1Messages: tx.data.forPublic!.nonRevertibleAccumulatedData.l2ToL1Msgs.filter(x => !x.isEmpty()),
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
noteHashes: tx.data.forPublic!.revertibleAccumulatedData.noteHashes.filter(x => !x.isZero()),
|
|
726
|
+
nullifiers: tx.data.forPublic!.revertibleAccumulatedData.nullifiers.filter(x => !x.isZero()),
|
|
727
|
+
l2ToL1Messages: tx.data.forPublic!.revertibleAccumulatedData.l2ToL1Msgs.filter(x => !x.isEmpty()),
|
|
728
|
+
},
|
|
729
|
+
setupCallRequests,
|
|
730
|
+
appLogicCallRequests,
|
|
731
|
+
teardownCallRequest ?? null,
|
|
732
|
+
tx.data.gasUsed,
|
|
733
|
+
tx.data.feePayer,
|
|
734
|
+
);
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
static empty() {
|
|
738
|
+
return new AvmTxHint(
|
|
739
|
+
'',
|
|
740
|
+
GasSettings.empty(),
|
|
741
|
+
GasFees.empty(),
|
|
742
|
+
ContractDeploymentData.empty(),
|
|
743
|
+
ContractDeploymentData.empty(),
|
|
744
|
+
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
745
|
+
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
746
|
+
[],
|
|
747
|
+
[],
|
|
748
|
+
null,
|
|
749
|
+
Gas.empty(),
|
|
750
|
+
AztecAddress.zero(),
|
|
751
|
+
);
|
|
752
|
+
}
|
|
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
|
+
|
|
200
793
|
static get schema() {
|
|
201
794
|
return z
|
|
202
795
|
.object({
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
796
|
+
hash: z.string(),
|
|
797
|
+
gasSettings: GasSettings.schema,
|
|
798
|
+
effectiveGasFees: GasFees.schema,
|
|
799
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
800
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
801
|
+
nonRevertibleAccumulatedData: z.object({
|
|
802
|
+
noteHashes: schemas.Fr.array(),
|
|
803
|
+
nullifiers: schemas.Fr.array(),
|
|
804
|
+
l2ToL1Messages: ScopedL2ToL1Message.schema.array(),
|
|
805
|
+
}),
|
|
806
|
+
revertibleAccumulatedData: z.object({
|
|
807
|
+
noteHashes: schemas.Fr.array(),
|
|
808
|
+
nullifiers: schemas.Fr.array(),
|
|
809
|
+
l2ToL1Messages: ScopedL2ToL1Message.schema.array(),
|
|
810
|
+
}),
|
|
811
|
+
setupEnqueuedCalls: PublicCallRequestWithCalldata.schema.array(),
|
|
812
|
+
appLogicEnqueuedCalls: PublicCallRequestWithCalldata.schema.array(),
|
|
813
|
+
teardownEnqueuedCall: PublicCallRequestWithCalldata.schema.nullable(),
|
|
814
|
+
gasUsedByPrivate: Gas.schema,
|
|
815
|
+
feePayer: AztecAddress.schema,
|
|
206
816
|
})
|
|
207
817
|
.transform(
|
|
208
|
-
({
|
|
209
|
-
|
|
818
|
+
({
|
|
819
|
+
hash,
|
|
820
|
+
gasSettings,
|
|
821
|
+
effectiveGasFees,
|
|
822
|
+
nonRevertibleContractDeploymentData,
|
|
823
|
+
revertibleContractDeploymentData,
|
|
824
|
+
nonRevertibleAccumulatedData,
|
|
825
|
+
revertibleAccumulatedData,
|
|
826
|
+
setupEnqueuedCalls,
|
|
827
|
+
appLogicEnqueuedCalls,
|
|
828
|
+
teardownEnqueuedCall,
|
|
829
|
+
gasUsedByPrivate,
|
|
830
|
+
feePayer,
|
|
831
|
+
}) =>
|
|
832
|
+
new AvmTxHint(
|
|
833
|
+
hash,
|
|
834
|
+
gasSettings,
|
|
835
|
+
effectiveGasFees,
|
|
836
|
+
nonRevertibleContractDeploymentData,
|
|
837
|
+
revertibleContractDeploymentData,
|
|
838
|
+
nonRevertibleAccumulatedData,
|
|
839
|
+
revertibleAccumulatedData,
|
|
840
|
+
setupEnqueuedCalls,
|
|
841
|
+
appLogicEnqueuedCalls,
|
|
842
|
+
teardownEnqueuedCall,
|
|
843
|
+
gasUsedByPrivate,
|
|
844
|
+
feePayer,
|
|
845
|
+
),
|
|
210
846
|
);
|
|
211
847
|
}
|
|
212
848
|
}
|
|
213
849
|
|
|
214
850
|
export class AvmExecutionHints {
|
|
215
851
|
constructor(
|
|
216
|
-
public readonly
|
|
217
|
-
public
|
|
218
|
-
|
|
219
|
-
public
|
|
220
|
-
|
|
221
|
-
public readonly
|
|
222
|
-
public readonly
|
|
223
|
-
public readonly
|
|
224
|
-
public readonly
|
|
225
|
-
public readonly
|
|
852
|
+
public readonly globalVariables: GlobalVariables,
|
|
853
|
+
public tx: AvmTxHint,
|
|
854
|
+
// Protocol contracts.
|
|
855
|
+
public protocolContracts: ProtocolContracts,
|
|
856
|
+
// Contract hints.
|
|
857
|
+
public readonly contractInstances: AvmContractInstanceHint[] = [],
|
|
858
|
+
public readonly contractClasses: AvmContractClassHint[] = [],
|
|
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[] = [],
|
|
864
|
+
// Merkle DB hints.
|
|
865
|
+
public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
|
|
866
|
+
public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
|
|
867
|
+
public readonly getPreviousValueIndexHints: AvmGetPreviousValueIndexHint[] = [],
|
|
868
|
+
public readonly getLeafPreimageHintsPublicDataTree: AvmGetLeafPreimageHintPublicDataTree[] = [],
|
|
869
|
+
public readonly getLeafPreimageHintsNullifierTree: AvmGetLeafPreimageHintNullifierTree[] = [],
|
|
870
|
+
public readonly getLeafValueHints: AvmGetLeafValueHint[] = [],
|
|
871
|
+
public readonly sequentialInsertHintsPublicDataTree: AvmSequentialInsertHintPublicDataTree[] = [],
|
|
872
|
+
public readonly sequentialInsertHintsNullifierTree: AvmSequentialInsertHintNullifierTree[] = [],
|
|
873
|
+
public readonly appendLeavesHints: AvmAppendLeavesHint[] = [],
|
|
874
|
+
public readonly createCheckpointHints: AvmCreateCheckpointHint[] = [],
|
|
875
|
+
public readonly commitCheckpointHints: AvmCommitCheckpointHint[] = [],
|
|
876
|
+
public readonly revertCheckpointHints: AvmRevertCheckpointHint[] = [],
|
|
226
877
|
) {}
|
|
227
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
|
+
|
|
228
923
|
static empty() {
|
|
229
|
-
return new AvmExecutionHints(
|
|
924
|
+
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
230
925
|
}
|
|
231
926
|
|
|
232
927
|
static get schema() {
|
|
233
928
|
return z
|
|
234
929
|
.object({
|
|
235
|
-
|
|
930
|
+
globalVariables: GlobalVariables.schema,
|
|
931
|
+
tx: AvmTxHint.schema,
|
|
932
|
+
protocolContracts: ProtocolContracts.schema,
|
|
236
933
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
237
934
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
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(),
|
|
940
|
+
startingTreeRoots: TreeSnapshots.schema,
|
|
941
|
+
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
942
|
+
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
943
|
+
getLeafPreimageHintsPublicDataTree: AvmGetLeafPreimageHintPublicDataTree.schema.array(),
|
|
944
|
+
getLeafPreimageHintsNullifierTree: AvmGetLeafPreimageHintNullifierTree.schema.array(),
|
|
945
|
+
getLeafValueHints: AvmGetLeafValueHint.schema.array(),
|
|
946
|
+
sequentialInsertHintsPublicDataTree: AvmSequentialInsertHintPublicDataTree.schema.array(),
|
|
947
|
+
sequentialInsertHintsNullifierTree: AvmSequentialInsertHintNullifierTree.schema.array(),
|
|
948
|
+
appendLeavesHints: AvmAppendLeavesHint.schema.array(),
|
|
949
|
+
createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
|
|
950
|
+
commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
|
|
951
|
+
revertCheckpointHints: AvmRevertCheckpointHint.schema.array(),
|
|
245
952
|
})
|
|
246
953
|
.transform(
|
|
247
954
|
({
|
|
248
|
-
|
|
955
|
+
globalVariables,
|
|
956
|
+
tx,
|
|
957
|
+
protocolContracts,
|
|
249
958
|
contractInstances,
|
|
250
959
|
contractClasses,
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
960
|
+
bytecodeCommitments,
|
|
961
|
+
debugFunctionNames,
|
|
962
|
+
contractDbCreateCheckpointHints,
|
|
963
|
+
contractDbCommitCheckpointHints,
|
|
964
|
+
contractDbRevertCheckpointHints,
|
|
965
|
+
startingTreeRoots,
|
|
966
|
+
getSiblingPathHints,
|
|
967
|
+
getPreviousValueIndexHints,
|
|
968
|
+
getLeafPreimageHintsPublicDataTree,
|
|
969
|
+
getLeafPreimageHintsNullifierTree,
|
|
970
|
+
getLeafValueHints,
|
|
971
|
+
sequentialInsertHintsPublicDataTree,
|
|
972
|
+
sequentialInsertHintsNullifierTree,
|
|
973
|
+
appendLeavesHints,
|
|
974
|
+
createCheckpointHints,
|
|
975
|
+
commitCheckpointHints,
|
|
976
|
+
revertCheckpointHints,
|
|
258
977
|
}) =>
|
|
259
978
|
new AvmExecutionHints(
|
|
260
|
-
|
|
979
|
+
globalVariables,
|
|
980
|
+
tx,
|
|
981
|
+
protocolContracts,
|
|
261
982
|
contractInstances,
|
|
262
983
|
contractClasses,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
984
|
+
bytecodeCommitments,
|
|
985
|
+
debugFunctionNames,
|
|
986
|
+
contractDbCreateCheckpointHints,
|
|
987
|
+
contractDbCommitCheckpointHints,
|
|
988
|
+
contractDbRevertCheckpointHints,
|
|
989
|
+
startingTreeRoots,
|
|
990
|
+
getSiblingPathHints,
|
|
991
|
+
getPreviousValueIndexHints,
|
|
992
|
+
getLeafPreimageHintsPublicDataTree,
|
|
993
|
+
getLeafPreimageHintsNullifierTree,
|
|
994
|
+
getLeafValueHints,
|
|
995
|
+
sequentialInsertHintsPublicDataTree,
|
|
996
|
+
sequentialInsertHintsNullifierTree,
|
|
997
|
+
appendLeavesHints,
|
|
998
|
+
createCheckpointHints,
|
|
999
|
+
commitCheckpointHints,
|
|
1000
|
+
revertCheckpointHints,
|
|
270
1001
|
),
|
|
271
1002
|
);
|
|
272
1003
|
}
|
|
@@ -274,28 +1005,28 @@ export class AvmExecutionHints {
|
|
|
274
1005
|
|
|
275
1006
|
export class AvmCircuitInputs {
|
|
276
1007
|
constructor(
|
|
277
|
-
public readonly functionName: string, // only informational
|
|
278
|
-
public readonly calldata: Fr[],
|
|
279
1008
|
public readonly hints: AvmExecutionHints,
|
|
280
1009
|
public publicInputs: AvmCircuitPublicInputs,
|
|
281
1010
|
) {}
|
|
282
1011
|
|
|
283
1012
|
static empty() {
|
|
284
|
-
return new AvmCircuitInputs(
|
|
1013
|
+
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
static fromPlainObject(obj: any): AvmCircuitInputs {
|
|
1017
|
+
return new AvmCircuitInputs(
|
|
1018
|
+
AvmExecutionHints.fromPlainObject(obj.hints),
|
|
1019
|
+
AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
|
|
1020
|
+
);
|
|
285
1021
|
}
|
|
286
1022
|
|
|
287
1023
|
static get schema() {
|
|
288
1024
|
return z
|
|
289
1025
|
.object({
|
|
290
|
-
functionName: z.string(),
|
|
291
|
-
calldata: schemas.Fr.array(),
|
|
292
1026
|
hints: AvmExecutionHints.schema,
|
|
293
1027
|
publicInputs: AvmCircuitPublicInputs.schema,
|
|
294
1028
|
})
|
|
295
|
-
.transform(
|
|
296
|
-
({ functionName, calldata, hints, publicInputs }) =>
|
|
297
|
-
new AvmCircuitInputs(functionName, calldata, hints, publicInputs),
|
|
298
|
-
);
|
|
1029
|
+
.transform(({ hints, publicInputs }) => new AvmCircuitInputs(hints, publicInputs));
|
|
299
1030
|
}
|
|
300
1031
|
|
|
301
1032
|
public serializeWithMessagePack(): Buffer {
|
|
@@ -310,3 +1041,157 @@ export class AvmCircuitInputs {
|
|
|
310
1041
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
311
1042
|
}
|
|
312
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
|
+
}
|