@aztec/stdlib 0.0.1-commit.b655e406 → 0.0.1-commit.b9865e97
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 +196 -552
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +50 -27
- package/dest/abi/authorization_selector.d.ts +5 -8
- package/dest/abi/authorization_selector.d.ts.map +1 -1
- package/dest/abi/authorization_selector.js +2 -1
- package/dest/abi/buffer.d.ts +15 -5
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +26 -5
- package/dest/abi/contract_artifact.d.ts +2 -2
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +17 -10
- package/dest/abi/decoder.d.ts +7 -46
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +2 -2
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +65 -8
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/event_selector.d.ts +5 -8
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +2 -1
- package/dest/abi/function_call.d.ts +23 -11
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/function_selector.d.ts +5 -7
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +11 -5
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/note_selector.d.ts +5 -8
- package/dest/abi/note_selector.d.ts.map +1 -1
- package/dest/abi/note_selector.js +3 -5
- package/dest/abi/selector.d.ts +3 -3
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +5 -3
- package/dest/abi/utils.d.ts +20 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +22 -0
- package/dest/auth_witness/auth_witness.d.ts +3 -3
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/auth_witness/auth_witness.js +5 -5
- package/dest/auth_witness/index.d.ts +1 -1
- package/dest/avm/avm.d.ts +2484 -8847
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +594 -16
- package/dest/avm/avm_accumulated_data.d.ts +42 -90
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +24 -3
- package/dest/avm/avm_circuit_public_inputs.d.ts +208 -948
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +13 -2
- package/dest/avm/avm_proving_request.d.ts +801 -5070
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.d.ts +2 -2
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_read.js +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +2 -2
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.js +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/message_pack.d.ts +2 -2
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +17 -4
- package/dest/avm/public_call_stack_item_compressed.d.ts +2 -2
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.js +1 -1
- package/dest/avm/public_data_read.d.ts +2 -2
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_read.js +1 -1
- package/dest/avm/public_data_update_request.d.ts +2 -2
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.js +4 -2
- package/dest/avm/public_data_write.d.ts +17 -15
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_data_write.js +10 -1
- package/dest/avm/public_inner_call_request.d.ts +2 -2
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +3 -1
- package/dest/avm/revert_code.d.ts +19 -11
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +37 -27
- package/dest/aztec-address/index.d.ts +19 -9
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +37 -9
- package/dest/block/attestation_info.d.ts +9 -6
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +13 -8
- package/dest/block/block_data.d.ts +27 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/block_hash.d.ts +20 -15
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +23 -20
- package/dest/block/block_parameter.d.ts +39 -0
- package/dest/block/block_parameter.d.ts.map +1 -0
- package/dest/block/block_parameter.js +59 -0
- package/dest/block/body.d.ts +8 -8
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +16 -29
- package/dest/block/in_block.d.ts +19 -27
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/in_block.js +21 -12
- package/dest/block/index.d.ts +3 -4
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -3
- package/dest/block/l2_block.d.ts +65 -77
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +93 -74
- package/dest/block/l2_block_info.d.ts +15 -29
- package/dest/block/l2_block_info.d.ts.map +1 -1
- package/dest/block/l2_block_info.js +14 -12
- package/dest/block/l2_block_source.d.ts +311 -212
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +95 -16
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +20 -7
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +13 -8
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +158 -37
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +26 -15
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +58 -59
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +52 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.js +211 -0
- package/dest/block/proposal/attestations_and_signers.d.ts +33 -33
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +38 -16
- package/dest/block/proposal/committee_attestation.d.ts +7 -13
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/index.d.ts +1 -1
- package/dest/block/test/index.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +484 -44
- package/dest/block/validate_block_result.d.ts +28 -200
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +22 -20
- package/dest/checkpoint/checkpoint.d.ts +112 -0
- package/dest/checkpoint/checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint.js +137 -0
- package/dest/checkpoint/checkpoint_data.d.ts +97 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +38 -0
- package/dest/checkpoint/checkpoint_info.d.ts +22 -0
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_info.js +34 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
- package/dest/checkpoint/digest.d.ts +18 -0
- package/dest/checkpoint/digest.d.ts.map +1 -0
- package/dest/checkpoint/digest.js +12 -0
- package/dest/checkpoint/index.d.ts +9 -2
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +8 -1
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
- package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
- package/dest/checkpoint/published_checkpoint.d.ts +103 -0
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -0
- package/dest/checkpoint/published_checkpoint.js +81 -0
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/chain-config.d.ts +4 -9
- package/dest/config/chain-config.d.ts.map +1 -1
- package/dest/config/chain-config.js +13 -12
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/node-rpc-config.d.ts +1 -1
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/config/sequencer-config.d.ts +14 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +38 -0
- package/dest/contract/artifact_hash.d.ts +3 -3
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +2 -2
- package/dest/contract/complete_address.d.ts +4 -3
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/complete_address.js +7 -3
- package/dest/contract/contract_address.d.ts +7 -7
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_address.js +11 -10
- package/dest/contract/contract_class.d.ts +3 -4
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +1 -1
- package/dest/contract/contract_class_id.d.ts +4 -4
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +9 -8
- package/dest/contract/contract_deployment_data.d.ts +73 -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 +5 -3
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +11 -4
- package/dest/contract/contract_instance_update.d.ts +2 -2
- package/dest/contract/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/contract_instance_update.js +1 -1
- package/dest/contract/deployment_info.d.ts +2 -2
- package/dest/contract/deployment_info.d.ts.map +1 -1
- package/dest/contract/index.d.ts +2 -5
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +1 -4
- package/dest/contract/interfaces/contract_class.d.ts +30 -330
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_class.js +24 -34
- package/dest/contract/interfaces/contract_data_source.d.ts +4 -3
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +64 -109
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +33 -6
- package/dest/contract/interfaces/contract_instance_update.d.ts +12 -33
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance_update.js +5 -5
- package/dest/contract/interfaces/index.d.ts +1 -1
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
- package/dest/contract/partial_address.d.ts +2 -2
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/private_function.d.ts +2 -2
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +7 -9
- package/dest/database-version/database_version.d.ts +52 -0
- package/dest/database-version/database_version.d.ts.map +1 -0
- package/dest/database-version/database_version.js +69 -0
- package/dest/database-version/version_manager.d.ts +7 -51
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +13 -65
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +3 -3
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +9 -12
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +1 -1
- package/dest/delayed_public_mutable/index.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +1 -1
- package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts +2 -2
- package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -1
- package/dest/delayed_public_mutable/scheduled_value_change.js +1 -1
- package/dest/deserialization/index.d.ts +11 -0
- package/dest/deserialization/index.d.ts.map +1 -0
- package/dest/deserialization/index.js +10 -0
- package/dest/epoch-helpers/index.d.ts +27 -28
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +35 -14
- package/dest/errors/index.d.ts +1 -1
- package/dest/errors/proving_error.d.ts +1 -1
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/errors/simulation_error.d.ts +2 -2
- package/dest/errors/simulation_error.d.ts.map +1 -1
- package/dest/fees/index.d.ts +1 -1
- package/dest/fees/transaction_fee.d.ts +2 -2
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/file-store/factory.d.ts +4 -3
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +2 -2
- package/dest/file-store/gcs.d.ts +1 -1
- package/dest/file-store/gcs.d.ts.map +1 -1
- package/dest/file-store/http.d.ts +9 -2
- package/dest/file-store/http.d.ts.map +1 -1
- package/dest/file-store/http.js +28 -12
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/interface.d.ts +1 -1
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +14 -10
- package/dest/gas/fee_math.d.ts +49 -0
- package/dest/gas/fee_math.d.ts.map +1 -0
- package/dest/gas/fee_math.js +80 -0
- package/dest/gas/gas.d.ts +18 -15
- package/dest/gas/gas.d.ts.map +1 -1
- package/dest/gas/gas.js +22 -5
- package/dest/gas/gas_fees.d.ts +22 -15
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +35 -5
- package/dest/gas/gas_settings.d.ts +75 -87
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +69 -10
- 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 +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- package/dest/ha-signing/config.d.ts +72 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +88 -0
- package/dest/ha-signing/index.d.ts +4 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +3 -0
- package/dest/ha-signing/local_config.d.ts +32 -0
- package/dest/ha-signing/local_config.d.ts.map +1 -0
- package/dest/ha-signing/local_config.js +24 -0
- package/dest/ha-signing/types.d.ts +90 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +39 -0
- package/dest/hash/hash.d.ts +43 -9
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +86 -20
- package/dest/hash/index.d.ts +1 -1
- package/dest/hash/map_slot.d.ts +2 -2
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -3
- package/dest/interfaces/allowed_element.d.ts +22 -41
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +11 -11
- package/dest/interfaces/api_limit.d.ts +3 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +2 -0
- package/dest/interfaces/archiver.d.ts +30 -30
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +220 -54
- package/dest/interfaces/aztec-node-admin.d.ts +129 -216
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +70 -19
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +21 -0
- package/dest/interfaces/aztec-node.d.ts +154 -149
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +316 -74
- package/dest/interfaces/block-builder.d.ts +57 -18
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +23 -1
- package/dest/interfaces/block_response.d.ts +90 -0
- package/dest/interfaces/block_response.d.ts.map +1 -0
- package/dest/interfaces/block_response.js +30 -0
- package/dest/interfaces/chain_tips.d.ts +50 -0
- package/dest/interfaces/chain_tips.d.ts.map +1 -0
- package/dest/interfaces/chain_tips.js +11 -0
- package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_parameter.js +18 -0
- package/dest/interfaces/checkpoint_response.d.ts +122 -0
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
- package/dest/interfaces/checkpoint_response.js +26 -0
- package/dest/interfaces/client.d.ts +8 -2
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +7 -1
- package/dest/interfaces/configs.d.ts +111 -116
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +31 -8
- package/dest/interfaces/epoch-prover.d.ts +8 -8
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/l1_publish_info.d.ts +29 -0
- package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
- package/dest/interfaces/l1_publish_info.js +26 -0
- package/dest/interfaces/l2_logs_source.d.ts +16 -30
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/l2_logs_source.js +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +22 -24
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p-bootstrap.d.ts +1 -1
- package/dest/interfaces/p2p-bootstrap.js +8 -2
- package/dest/interfaces/p2p.d.ts +21 -17
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +29 -7
- package/dest/interfaces/private_kernel_prover.d.ts +62 -2
- 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 +5 -23
- package/dest/interfaces/prover-agent.d.ts.map +1 -1
- package/dest/interfaces/prover-agent.js +4 -1
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +21 -21
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +22 -7
- package/dest/interfaces/prover-coordination.d.ts +1 -1
- package/dest/interfaces/prover-node.d.ts +1 -1
- package/dest/interfaces/prover-node.js +22 -8
- package/dest/interfaces/proving-job-source.d.ts +1 -1
- package/dest/interfaces/proving-job-source.js +24 -4
- package/dest/interfaces/proving-job.d.ts +900 -5434
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +5 -10
- package/dest/interfaces/public_state_source.d.ts +2 -2
- package/dest/interfaces/public_state_source.d.ts.map +1 -1
- package/dest/interfaces/public_storage_override.d.ts +22 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/interfaces/server.d.ts +6 -1
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +5 -0
- package/dest/interfaces/server_circuit_prover.d.ts +4 -4
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/service.d.ts +1 -1
- package/dest/interfaces/slasher.d.ts +27 -59
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +13 -7
- package/dest/interfaces/tx_provider.d.ts +6 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +126 -121
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +23 -9
- package/dest/interfaces/world_state.d.ts +26 -33
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/interfaces/world_state.js +4 -3
- package/dest/kernel/claimed_length_array.d.ts +2 -2
- package/dest/kernel/claimed_length_array.d.ts.map +1 -1
- package/dest/kernel/claimed_length_array.js +3 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts +1 -1
- package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +7 -6
- 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 +31 -19
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +5 -5
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +10 -4
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
- package/dest/kernel/hints/index.d.ts +3 -3
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_hint.d.ts +2 -2
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_hint.js +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +14 -9
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.js +21 -18
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +13 -16
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +2 -2
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/note_hash_read_request_hints.js +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +2 -12
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.js +4 -9
- package/dest/kernel/hints/read_request.d.ts +2 -2
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_separator.d.ts +19 -0
- package/dest/kernel/hints/scoped_key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/hints/scoped_value_cache.d.ts +2 -2
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts +2 -2
- package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.js +4 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +2 -2
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +1 -1
- package/dest/kernel/index.d.ts +5 -1
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +4 -0
- package/dest/kernel/log_hash.d.ts +7 -3
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +25 -11
- package/dest/kernel/note_hash.d.ts +2 -2
- package/dest/kernel/note_hash.d.ts.map +1 -1
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.d.ts +2 -2
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/padded_side_effects.d.ts +2 -2
- package/dest/kernel/padded_side_effects.d.ts.map +1 -1
- package/dest/kernel/padded_side_effects.js +1 -1
- package/dest/kernel/private_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +2 -2
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +1 -1
- package/dest/kernel/private_call_request.d.ts +2 -2
- 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 +84 -68
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +73 -61
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +14 -6
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +12 -8
- package/dest/kernel/private_kernel_data.d.ts +1 -1
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.js +0 -2
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +11 -3
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +8 -4
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.d.ts +5 -31
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -1
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +13 -9
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +33 -14
- package/dest/kernel/private_log_data.d.ts +2 -2
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +5 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +43 -71
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_avm_accumulated_data.js +35 -8
- package/dest/kernel/private_to_public_accumulated_data.d.ts +5 -4
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data.js +10 -5
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +2 -2
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -1
- package/dest/kernel/private_to_public_accumulated_data_builder.js +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +8 -7
- 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 +14 -10
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +6 -5
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +10 -5
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +8 -7
- 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 +14 -10
- package/dest/kernel/private_validation_requests.d.ts +4 -17
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +12 -18
- package/dest/kernel/public_call_request.d.ts +33 -32
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +40 -10
- 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 -2
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/kernel/utils/order_and_comparison.d.ts +1 -1
- package/dest/keys/derivation.d.ts +11 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +33 -20
- package/dest/keys/index.d.ts +1 -1
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_key.d.ts +22 -3
- package/dest/keys/public_key.d.ts.map +1 -1
- package/dest/keys/public_key.js +20 -1
- package/dest/keys/public_keys.d.ts +60 -78
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/keys/public_keys.js +111 -70
- package/dest/keys/utils.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +8 -4
- package/dest/kv-store/config.d.ts +14 -0
- package/dest/kv-store/config.d.ts.map +1 -0
- package/dest/kv-store/config.js +21 -0
- package/dest/kv-store/index.d.ts +2 -0
- package/dest/kv-store/index.d.ts.map +1 -0
- package/dest/kv-store/index.js +1 -0
- package/dest/l1-contracts/index.d.ts +2 -2
- package/dest/l1-contracts/index.d.ts.map +1 -1
- package/dest/l1-contracts/index.js +1 -1
- package/dest/logs/app_tagging_secret.d.ts +46 -0
- package/dest/logs/app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret.js +109 -0
- package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
- package/dest/logs/app_tagging_secret_kind.js +17 -0
- package/dest/logs/contract_class_log.d.ts +34 -36
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +40 -12
- package/dest/logs/debug_log.d.ts +10 -2
- package/dest/logs/debug_log.d.ts.map +1 -1
- package/dest/logs/debug_log.js +13 -0
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/index.d.ts +11 -8
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +10 -7
- package/dest/logs/log_cursor.d.ts +51 -0
- package/dest/logs/log_cursor.d.ts.map +1 -0
- package/dest/logs/log_cursor.js +82 -0
- package/dest/logs/log_result.d.ts +54 -0
- package/dest/logs/log_result.d.ts.map +1 -0
- package/dest/logs/log_result.js +56 -0
- package/dest/logs/logs_query.d.ts +82 -0
- package/dest/logs/logs_query.d.ts.map +1 -0
- package/dest/logs/logs_query.js +50 -0
- package/dest/logs/message_context.d.ts +7 -9
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +28 -10
- package/dest/logs/pending_tagged_log.d.ts +3 -4
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +3 -3
- package/dest/logs/pre_tag.d.ts +14 -22
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +18 -15
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +26 -11
- package/dest/logs/public_log.d.ts +14 -4
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +18 -3
- package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
- package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
- package/dest/logs/query_all_logs_by_tags.js +64 -0
- package/dest/logs/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +16 -10
- package/dest/logs/siloed_tag.d.ts +26 -0
- package/dest/logs/siloed_tag.d.ts.map +1 -0
- package/dest/logs/siloed_tag.js +42 -0
- package/dest/logs/tag.d.ts +20 -0
- package/dest/logs/tag.d.ts.map +1 -0
- package/dest/logs/tag.js +34 -0
- package/dest/logs/tagging_index_range.d.ts +22 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
- package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
- package/dest/messaging/append_l1_to_l2_messages.js +12 -0
- package/dest/messaging/in_hash.d.ts +6 -0
- package/dest/messaging/in_hash.d.ts.map +1 -0
- package/dest/messaging/in_hash.js +10 -0
- package/dest/messaging/inbox_leaf.d.ts +8 -7
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +10 -9
- 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 +2 -2
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_actor.js +2 -2
- package/dest/messaging/l1_to_l2_message.d.ts +4 -3
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +13 -15
- package/dest/messaging/l1_to_l2_message_source.d.ts +9 -11
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +2 -2
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_actor.js +2 -2
- package/dest/messaging/l2_to_l1_membership.d.ts +153 -7
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +270 -49
- package/dest/messaging/l2_to_l1_message.d.ts +56 -113
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_message.js +43 -13
- package/dest/messaging/out_hash.d.ts +43 -0
- package/dest/messaging/out_hash.d.ts.map +1 -0
- package/dest/messaging/out_hash.js +63 -0
- package/dest/noir/index.d.ts +11 -9
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/noir/index.js +6 -6
- package/dest/note/comparator.d.ts +1 -1
- package/dest/note/index.d.ts +2 -3
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -2
- package/dest/note/note.d.ts +3 -18
- package/dest/note/note.d.ts.map +1 -1
- package/dest/note/note.js +5 -2
- package/dest/note/note_dao.d.ts +110 -0
- package/dest/note/note_dao.d.ts.map +1 -0
- package/dest/note/note_dao.js +112 -0
- package/dest/note/note_status.d.ts +1 -1
- package/dest/p2p/attestation_utils.d.ts +13 -3
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +46 -1
- package/dest/p2p/block_proposal.d.ts +127 -34
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +170 -52
- package/dest/p2p/checkpoint_attestation.d.ts +88 -0
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
- package/dest/p2p/checkpoint_attestation.js +103 -0
- package/dest/p2p/checkpoint_proposal.d.ts +193 -0
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
- package/dest/p2p/checkpoint_proposal.js +241 -0
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +42 -205
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +46 -29
- package/dest/p2p/constants.d.ts +5 -0
- package/dest/p2p/constants.d.ts.map +1 -0
- package/dest/p2p/constants.js +3 -0
- package/dest/p2p/gossipable.d.ts +9 -7
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +27 -10
- package/dest/p2p/index.d.ts +5 -3
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +4 -2
- package/dest/p2p/interface.d.ts +1 -1
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/signature_utils.d.ts +28 -17
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +119 -19
- package/dest/p2p/signed_txs.d.ts +44 -0
- package/dest/p2p/signed_txs.d.ts.map +1 -0
- package/dest/p2p/signed_txs.js +77 -0
- package/dest/p2p/topic_type.d.ts +5 -5
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +9 -19
- package/dest/parity/index.d.ts +1 -1
- package/dest/parity/parity_base_private_inputs.d.ts +9 -5
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_base_private_inputs.js +8 -6
- package/dest/parity/parity_public_inputs.d.ts +9 -5
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.js +7 -4
- package/dest/parity/parity_root_private_inputs.d.ts +2 -2
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +58 -8
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +123 -21
- package/dest/proofs/index.d.ts +1 -1
- package/dest/proofs/proof.d.ts +2 -2
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/proof.js +1 -1
- package/dest/proofs/proof_data.d.ts +13 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proof_data.js +17 -0
- package/dest/proofs/proving_request_type.d.ts +1 -1
- package/dest/proofs/recursive_proof.d.ts +3 -18
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.js +1 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -5
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +1 -9
- package/dest/rollup/base_rollup_hints.d.ts +2 -2
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +1 -1
- package/dest/rollup/block_constant_data.d.ts +2 -2
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +1 -1
- package/dest/rollup/block_headers_hash.d.ts +4 -0
- package/dest/rollup/block_headers_hash.d.ts.map +1 -0
- package/dest/rollup/block_headers_hash.js +15 -0
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +25 -11
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +25 -11
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +8 -19
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +2 -10
- package/dest/rollup/checkpoint_constant_data.d.ts +28 -5
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +31 -4
- package/dest/rollup/checkpoint_header.d.ts +54 -18
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +89 -29
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +31 -8
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +21 -4
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +30 -12
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +18 -6
- package/dest/rollup/epoch_constant_data.d.ts +2 -2
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +1 -1
- package/dest/rollup/index.d.ts +2 -1
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +3 -3
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_private_inputs.js +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +3 -3
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
- package/dest/rollup/public_chonk_verifier_public_inputs.js +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +21 -8
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +11 -5
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +2 -2
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tree_snapshot_diff_hints.js +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +3 -3
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.js +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/schemas.d.ts +51 -23
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +15 -3
- package/dest/slashing/helpers.d.ts +8 -7
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +24 -13
- package/dest/slashing/index.d.ts +2 -3
- package/dest/slashing/index.d.ts.map +1 -1
- package/dest/slashing/index.js +1 -2
- package/dest/slashing/interfaces.d.ts +3 -2
- package/dest/slashing/interfaces.d.ts.map +1 -1
- package/dest/slashing/serialization.d.ts +2 -6
- package/dest/slashing/serialization.d.ts.map +1 -1
- package/dest/slashing/serialization.js +0 -60
- package/dest/slashing/types.d.ts +22 -113
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +31 -27
- package/dest/slashing/votes.d.ts +29 -0
- package/dest/slashing/votes.d.ts.map +1 -0
- package/dest/slashing/{tally.js → votes.js} +35 -3
- package/dest/snapshots/download.d.ts +1 -1
- package/dest/snapshots/index.d.ts +1 -1
- package/dest/snapshots/types.d.ts +15 -78
- package/dest/snapshots/types.d.ts.map +1 -1
- package/dest/snapshots/types.js +5 -5
- package/dest/snapshots/upload.d.ts +1 -1
- package/dest/stats/index.d.ts +1 -1
- package/dest/stats/stats.d.ts +11 -9
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +83 -53
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +231 -231
- 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/jest.js +1 -1
- package/dest/tests/mocks.d.ts +143 -36
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +300 -77
- package/dest/timetable/index.d.ts +84 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +209 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +18 -18
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +19 -14
- package/dest/trees/database_public_state_source.d.ts +2 -2
- package/dest/trees/database_public_state_source.d.ts.map +1 -1
- package/dest/trees/database_public_state_source.js +1 -1
- package/dest/trees/index.d.ts +1 -1
- package/dest/trees/merkle_tree_id.d.ts +5 -5
- package/dest/trees/merkle_tree_id.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.d.ts +36 -43
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_leaf.js +28 -1
- package/dest/trees/nullifier_membership_witness.d.ts +17 -84
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +3 -15
- package/dest/trees/public_data_leaf.d.ts +42 -57
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +32 -7
- package/dest/trees/public_data_witness.d.ts +18 -84
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +1 -1
- package/dest/tx/block_header.d.ts +24 -15
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +38 -9
- package/dest/tx/call_context.d.ts +6 -16
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/call_context.js +3 -1
- package/dest/tx/capsule.d.ts +8 -4
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +10 -4
- package/dest/tx/execution_payload.d.ts +45 -0
- package/dest/tx/execution_payload.d.ts.map +1 -0
- package/dest/tx/execution_payload.js +40 -0
- package/dest/tx/fee_provider.d.ts +10 -0
- package/dest/tx/fee_provider.d.ts.map +1 -0
- package/dest/tx/fee_provider.js +1 -0
- package/dest/tx/function_data.d.ts +5 -11
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/function_data.js +1 -1
- package/dest/tx/global_variable_builder.d.ts +7 -5
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +58 -57
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +62 -24
- package/dest/tx/hashed_values.d.ts +5 -4
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +7 -4
- package/dest/tx/in_tx.d.ts +14 -0
- package/dest/tx/in_tx.d.ts.map +1 -0
- package/dest/tx/in_tx.js +14 -0
- package/dest/tx/index.d.ts +4 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +3 -1
- package/dest/tx/indexed_tx_effect.d.ts +12 -19
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +16 -9
- package/dest/tx/offchain_effect.d.ts +2 -2
- package/dest/tx/offchain_effect.d.ts.map +1 -1
- package/dest/tx/offchain_effect.js +1 -1
- package/dest/tx/partial_state_reference.d.ts +26 -69
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +16 -13
- package/dest/tx/private_execution_result.d.ts +23 -51
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +16 -30
- package/dest/tx/private_tx_constant_data.d.ts +2 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +1 -1
- package/dest/tx/processed_tx.d.ts +5 -4
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +8 -7
- package/dest/tx/profiling.d.ts +117 -280
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +63 -15
- package/dest/tx/protocol_contracts.d.ts +14 -10
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +12 -3
- package/dest/tx/proven_tx.d.ts +32 -76
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/public_call_request_with_calldata.d.ts +13 -4
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +22 -5
- package/dest/tx/public_simulation_output.d.ts +7 -3
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +16 -5
- package/dest/tx/simulated_tx.d.ts +68 -120
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +17 -12
- package/dest/tx/state_reference.d.ts +35 -122
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +18 -14
- package/dest/tx/tree_snapshots.d.ts +37 -86
- package/dest/tx/tree_snapshots.d.ts.map +1 -1
- package/dest/tx/tree_snapshots.js +18 -5
- package/dest/tx/tx.d.ts +42 -24
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +72 -39
- package/dest/tx/tx_constant_data.d.ts +5 -4
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +7 -4
- package/dest/tx/tx_context.d.ts +33 -132
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_context.js +7 -7
- package/dest/tx/tx_effect.d.ts +20 -16
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +58 -66
- package/dest/tx/tx_execution_request.d.ts +2 -2
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +7 -3
- package/dest/tx/tx_hash.d.ts +7 -5
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_hash.js +14 -6
- package/dest/tx/tx_receipt.d.ts +168 -39
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +169 -43
- package/dest/tx/tx_request.d.ts +2 -2
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/tx_request.js +4 -4
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +11 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +13 -1
- package/dest/tx/validator/tx_validator.d.ts +6 -31
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.js +4 -8
- package/dest/types/index.d.ts +1 -1
- package/dest/types/shared.d.ts +4 -12
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/types/shared.js +6 -12
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +4 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +3 -1
- package/dest/update-checker/package_version.d.ts +6 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +13 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +12 -8
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +9 -4
- package/dest/validators/index.d.ts +1 -1
- package/dest/validators/schemas.d.ts +147 -556
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +29 -26
- package/dest/validators/types.d.ts +30 -12
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/index.d.ts +1 -1
- package/dest/versioning/versioning.d.ts +5 -3
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +5 -2
- package/dest/vks/index.d.ts +1 -1
- package/dest/vks/verification_key.d.ts +6 -132
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/verification_key.js +14 -115
- package/dest/vks/vk_data.d.ts +2 -2
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/vks/vk_data.js +1 -1
- package/dest/world-state/genesis_data.d.ts +13 -0
- package/dest/world-state/genesis_data.d.ts.map +1 -0
- package/dest/world-state/genesis_data.js +7 -0
- package/dest/world-state/index.d.ts +2 -1
- package/dest/world-state/index.d.ts.map +1 -1
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +12 -8
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +11 -2
- package/dest/zkpassport/index.d.ts +4 -5
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +11 -11
- package/package.json +39 -17
- package/src/abi/abi.ts +118 -55
- package/src/abi/authorization_selector.ts +5 -10
- package/src/abi/buffer.ts +26 -5
- package/src/abi/contract_artifact.ts +23 -18
- package/src/abi/decoder.ts +37 -83
- package/src/abi/encoder.ts +86 -7
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/event_selector.ts +5 -10
- package/src/abi/function_call.ts +26 -4
- package/src/abi/function_selector.ts +15 -15
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/note_selector.ts +5 -14
- package/src/abi/selector.ts +2 -2
- package/src/abi/utils.ts +44 -0
- package/src/auth_witness/auth_witness.ts +5 -5
- package/src/avm/avm.ts +886 -7
- package/src/avm/avm_accumulated_data.ts +41 -1
- package/src/avm/avm_circuit_public_inputs.ts +41 -1
- package/src/avm/contract_storage_read.ts +1 -1
- package/src/avm/contract_storage_update_request.ts +1 -1
- package/src/avm/message_pack.ts +18 -5
- package/src/avm/public_call_stack_item_compressed.ts +1 -1
- package/src/avm/public_data_read.ts +1 -1
- package/src/avm/public_data_update_request.ts +1 -1
- package/src/avm/public_data_write.ts +13 -2
- package/src/avm/public_inner_call_request.ts +1 -1
- package/src/avm/revert_code.ts +46 -31
- package/src/aztec-address/index.ts +43 -15
- package/src/block/attestation_info.ts +22 -12
- package/src/block/block_data.ts +25 -0
- package/src/block/block_hash.ts +32 -24
- package/src/block/block_parameter.ts +78 -0
- package/src/block/body.ts +18 -40
- package/src/block/in_block.ts +28 -15
- package/src/block/index.ts +2 -3
- package/src/block/l2_block.ts +132 -96
- package/src/block/l2_block_info.ts +19 -16
- package/src/block/l2_block_source.ts +328 -111
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +21 -6
- package/src/block/l2_block_stream/l2_block_stream.ts +180 -43
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +68 -54
- package/src/block/l2_block_stream/l2_tips_store_base.ts +260 -0
- package/src/block/proposal/attestations_and_signers.ts +52 -18
- package/src/block/proposal/committee_attestation.ts +1 -1
- package/src/block/test/l2_tips_store_test_suite.ts +494 -37
- package/src/block/validate_block_result.ts +47 -40
- package/src/checkpoint/checkpoint.ts +195 -0
- package/src/checkpoint/checkpoint_data.ts +91 -0
- package/src/checkpoint/checkpoint_info.ts +52 -0
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
- package/src/checkpoint/digest.ts +28 -0
- package/src/checkpoint/index.ts +8 -1
- package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
- package/src/checkpoint/published_checkpoint.ts +108 -0
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/chain-config.ts +13 -16
- package/src/config/index.ts +1 -0
- package/src/config/node-rpc-config.ts +1 -1
- package/src/config/sequencer-config.ts +65 -0
- package/src/contract/artifact_hash.ts +2 -2
- package/src/contract/complete_address.ts +8 -4
- package/src/contract/contract_address.ts +12 -12
- package/src/contract/contract_class.ts +5 -5
- package/src/contract/contract_class_id.ts +9 -8
- package/src/contract/contract_deployment_data.ts +125 -0
- package/src/contract/contract_instance.ts +12 -3
- package/src/contract/contract_instance_update.ts +1 -1
- package/src/contract/deployment_info.ts +1 -1
- package/src/contract/index.ts +1 -4
- package/src/contract/interfaces/contract_class.ts +48 -97
- package/src/contract/interfaces/contract_data_source.ts +3 -2
- package/src/contract/interfaces/contract_instance.ts +53 -17
- package/src/contract/interfaces/contract_instance_update.ts +12 -10
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/partial_address.ts +1 -1
- package/src/contract/private_function.ts +8 -6
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +18 -77
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +11 -12
- package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +1 -1
- package/src/delayed_public_mutable/scheduled_value_change.ts +1 -1
- package/src/deserialization/index.ts +21 -0
- package/src/epoch-helpers/index.ts +78 -30
- package/src/errors/simulation_error.ts +1 -1
- package/src/fees/transaction_fee.ts +1 -1
- package/src/file-store/factory.ts +13 -4
- package/src/file-store/http.ts +35 -13
- package/src/file-store/index.ts +1 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +15 -10
- package/src/gas/README.md +154 -0
- package/src/gas/fee_math.ts +120 -0
- package/src/gas/gas.ts +23 -4
- package/src/gas/gas_fees.ts +44 -11
- package/src/gas/gas_settings.ts +93 -16
- package/src/gas/gas_used.ts +22 -1
- package/src/gas/index.ts +1 -0
- package/src/ha-signing/config.ts +152 -0
- package/src/ha-signing/index.ts +29 -0
- package/src/ha-signing/local_config.ts +46 -0
- package/src/ha-signing/types.ts +126 -0
- package/src/hash/hash.ts +85 -19
- package/src/hash/map_slot.ts +4 -3
- package/src/interfaces/allowed_element.ts +35 -13
- package/src/interfaces/api_limit.ts +2 -0
- package/src/interfaces/archiver.ts +104 -77
- package/src/interfaces/aztec-node-admin.ts +63 -21
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +368 -314
- package/src/interfaces/block-builder.ts +104 -27
- package/src/interfaces/block_response.ts +92 -0
- package/src/interfaces/chain_tips.ts +24 -0
- package/src/interfaces/checkpoint_parameter.ts +20 -0
- package/src/interfaces/checkpoint_response.ts +84 -0
- package/src/interfaces/client.ts +7 -1
- package/src/interfaces/configs.ts +142 -35
- package/src/interfaces/epoch-prover.ts +6 -7
- package/src/interfaces/l1_publish_info.ts +40 -0
- package/src/interfaces/l2_logs_source.ts +15 -31
- package/src/interfaces/merkle_tree_operations.ts +25 -23
- package/src/interfaces/p2p-bootstrap.ts +2 -2
- package/src/interfaces/p2p.ts +42 -35
- package/src/interfaces/private_kernel_prover.ts +88 -0
- package/src/interfaces/prover-agent.ts +1 -1
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +45 -15
- package/src/interfaces/prover-node.ts +7 -7
- package/src/interfaces/proving-job-source.ts +4 -4
- package/src/interfaces/proving-job.ts +18 -18
- package/src/interfaces/public_state_source.ts +1 -1
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/interfaces/server.ts +5 -0
- package/src/interfaces/server_circuit_prover.ts +3 -3
- package/src/interfaces/slasher.ts +41 -28
- package/src/interfaces/tx_provider.ts +6 -0
- package/src/interfaces/validator.ts +152 -46
- package/src/interfaces/world_state.ts +29 -20
- package/src/kernel/claimed_length_array.ts +1 -1
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +34 -30
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +33 -33
- package/src/kernel/hints/build_transient_data_hints.ts +19 -4
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/key_validation_hint.ts +1 -1
- package/src/kernel/hints/key_validation_request.ts +19 -16
- package/src/kernel/hints/key_validation_request_and_separator.ts +49 -0
- package/src/kernel/hints/note_hash_read_request_hints.ts +1 -1
- package/src/kernel/hints/private_kernel_reset_hints.ts +0 -8
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +11 -11
- package/src/kernel/hints/scoped_value_cache.ts +1 -1
- package/src/kernel/hints/transient_data_squashing_hint.ts +1 -1
- package/src/kernel/hints/tree_leaf_read_request.ts +1 -1
- package/src/kernel/index.ts +4 -0
- package/src/kernel/log_hash.ts +30 -10
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/padded_side_effects.ts +1 -1
- package/src/kernel/private_call_data.ts +1 -1
- package/src/kernel/private_call_request.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +109 -89
- package/src/kernel/private_context_inputs.ts +1 -1
- package/src/kernel/private_kernel_circuit_public_inputs.ts +10 -3
- package/src/kernel/private_kernel_data.ts +0 -2
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +7 -1
- package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
- package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +43 -19
- package/src/kernel/private_log_data.ts +1 -1
- package/src/kernel/private_to_avm_accumulated_data.ts +52 -6
- package/src/kernel/private_to_public_accumulated_data.ts +10 -4
- package/src/kernel/private_to_public_accumulated_data_builder.ts +1 -1
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +16 -10
- package/src/kernel/private_to_rollup_accumulated_data.ts +9 -4
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +15 -15
- package/src/kernel/private_validation_requests.ts +8 -20
- package/src/kernel/public_call_request.ts +50 -8
- package/src/kernel/utils/optional_number.ts +1 -1
- package/src/keys/derivation.ts +38 -23
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_key.ts +26 -2
- package/src/keys/public_keys.ts +138 -104
- package/src/keys/utils.ts +8 -4
- package/src/kv-store/config.ts +29 -0
- package/src/kv-store/index.ts +1 -0
- package/src/l1-contracts/index.ts +1 -1
- package/src/logs/app_tagging_secret.ts +137 -0
- package/src/logs/app_tagging_secret_kind.ts +21 -0
- package/src/logs/contract_class_log.ts +49 -7
- package/src/logs/debug_log.ts +20 -1
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/index.ts +10 -7
- package/src/logs/log_cursor.ts +110 -0
- package/src/logs/log_result.ts +104 -0
- package/src/logs/logs_query.ts +138 -0
- package/src/logs/message_context.ts +23 -9
- package/src/logs/pending_tagged_log.ts +2 -4
- package/src/logs/pre_tag.ts +3 -6
- package/src/logs/private_log.ts +31 -8
- package/src/logs/public_log.ts +26 -3
- package/src/logs/query_all_logs_by_tags.ts +98 -0
- package/src/logs/shared_secret_derivation.ts +22 -11
- package/src/logs/siloed_tag.ts +59 -0
- package/src/logs/tag.ts +42 -0
- package/src/logs/tagging_index_range.ts +18 -0
- package/src/messaging/append_l1_to_l2_messages.ts +21 -0
- package/src/messaging/in_hash.ts +12 -0
- package/src/messaging/inbox_leaf.ts +11 -10
- package/src/messaging/index.ts +3 -0
- package/src/messaging/l1_actor.ts +2 -2
- package/src/messaging/l1_to_l2_message.ts +14 -10
- package/src/messaging/l1_to_l2_message_source.ts +8 -11
- package/src/messaging/l2_actor.ts +2 -2
- package/src/messaging/l2_to_l1_membership.ts +343 -62
- package/src/messaging/l2_to_l1_message.ts +59 -10
- package/src/messaging/out_hash.ts +77 -0
- package/src/noir/index.ts +10 -8
- package/src/note/index.ts +1 -2
- package/src/note/note.ts +5 -2
- package/src/note/note_dao.ts +184 -0
- package/src/p2p/attestation_utils.ts +59 -3
- package/src/p2p/block_proposal.ts +307 -65
- package/src/p2p/checkpoint_attestation.ts +144 -0
- package/src/p2p/checkpoint_proposal.ts +428 -0
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +72 -40
- package/src/p2p/constants.ts +6 -0
- package/src/p2p/gossipable.ts +30 -11
- package/src/p2p/index.ts +4 -2
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/signature_utils.ts +111 -23
- package/src/p2p/signed_txs.ts +106 -0
- package/src/p2p/topic_type.ts +10 -16
- package/src/parity/parity_base_private_inputs.ts +11 -5
- package/src/parity/parity_public_inputs.ts +10 -3
- package/src/proofs/chonk_proof.ts +143 -19
- package/src/proofs/proof.ts +1 -1
- package/src/proofs/proof_data.ts +24 -0
- package/src/proofs/recursive_proof.ts +1 -1
- package/src/rollup/avm_proof_data.ts +2 -9
- package/src/rollup/base_rollup_hints.ts +1 -1
- package/src/rollup/block_constant_data.ts +1 -1
- package/src/rollup/block_headers_hash.ts +21 -0
- package/src/rollup/block_rollup_public_inputs.ts +23 -8
- package/src/rollup/block_root_rollup_private_inputs.ts +1 -10
- package/src/rollup/checkpoint_constant_data.ts +45 -5
- package/src/rollup/checkpoint_header.ts +114 -41
- package/src/rollup/checkpoint_rollup_public_inputs.ts +28 -6
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +20 -6
- package/src/rollup/epoch_constant_data.ts +1 -1
- package/src/rollup/index.ts +1 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +1 -1
- package/src/rollup/public_chonk_verifier_public_inputs.ts +1 -1
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +2 -2
- package/src/rollup/root_rollup_public_inputs.ts +17 -8
- package/src/rollup/tree_snapshot_diff_hints.ts +1 -1
- package/src/rollup/tx_rollup_public_inputs.ts +1 -1
- package/src/schemas/schemas.ts +30 -2
- package/src/slashing/helpers.ts +38 -21
- package/src/slashing/index.ts +1 -2
- package/src/slashing/interfaces.ts +3 -1
- package/src/slashing/serialization.ts +1 -81
- package/src/slashing/types.ts +47 -54
- package/src/slashing/{tally.ts → votes.ts} +41 -2
- package/src/snapshots/types.ts +33 -29
- package/src/stats/stats.ts +14 -7
- package/src/tests/factories.ts +412 -345
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +514 -116
- package/src/timetable/index.ts +304 -0
- package/src/trees/append_only_tree_snapshot.ts +20 -16
- package/src/trees/database_public_state_source.ts +1 -1
- package/src/trees/nullifier_leaf.ts +37 -1
- package/src/trees/nullifier_membership_witness.ts +3 -13
- package/src/trees/public_data_leaf.ts +44 -6
- package/src/trees/public_data_witness.ts +1 -1
- package/src/tx/block_header.ts +55 -17
- package/src/tx/call_context.ts +1 -1
- package/src/tx/capsule.ts +11 -3
- package/src/tx/execution_payload.ts +60 -0
- package/src/tx/fee_provider.ts +10 -0
- package/src/tx/function_data.ts +1 -1
- package/src/tx/global_variable_builder.ts +12 -5
- package/src/tx/global_variables.ts +86 -34
- package/src/tx/hashed_values.ts +9 -4
- package/src/tx/in_tx.ts +24 -0
- package/src/tx/index.ts +3 -1
- package/src/tx/indexed_tx_effect.ts +22 -8
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/partial_state_reference.ts +18 -21
- package/src/tx/private_execution_result.ts +15 -27
- package/src/tx/private_tx_constant_data.ts +1 -1
- package/src/tx/processed_tx.ts +19 -16
- package/src/tx/profiling.ts +64 -15
- package/src/tx/protocol_contracts.ts +20 -4
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/public_call_request_with_calldata.ts +26 -4
- package/src/tx/public_simulation_output.ts +23 -2
- package/src/tx/simulated_tx.ts +30 -22
- package/src/tx/state_reference.ts +19 -20
- package/src/tx/tree_snapshots.ts +26 -5
- package/src/tx/tx.ts +90 -53
- package/src/tx/tx_constant_data.ts +9 -4
- package/src/tx/tx_context.ts +9 -4
- package/src/tx/tx_effect.ts +84 -97
- package/src/tx/tx_execution_request.ts +3 -1
- package/src/tx/tx_hash.ts +21 -6
- package/src/tx/tx_receipt.ts +301 -48
- package/src/tx/tx_request.ts +4 -4
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +16 -1
- package/src/tx/validator/tx_validator.ts +9 -11
- package/src/types/shared.ts +8 -13
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +3 -1
- package/src/update-checker/package_version.ts +17 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +13 -5
- package/src/validators/schemas.ts +65 -50
- package/src/validators/types.ts +33 -12
- package/src/versioning/versioning.ts +6 -3
- package/src/vks/verification_key.ts +16 -170
- package/src/vks/vk_data.ts +1 -1
- package/src/world-state/genesis_data.ts +27 -0
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +23 -6
- package/src/zkpassport/index.ts +13 -14
- package/dest/abi/mocked_keys.d.ts +0 -2
- package/dest/abi/mocked_keys.d.ts.map +0 -1
- package/dest/abi/mocked_keys.js +0 -1
- package/dest/block/l2_block_code_to_purge.d.ts +0 -12
- package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
- package/dest/block/l2_block_code_to_purge.js +0 -60
- package/dest/block/l2_block_header.d.ts +0 -100
- package/dest/block/l2_block_header.d.ts.map +0 -1
- package/dest/block/l2_block_header.js +0 -146
- package/dest/block/l2_block_number.d.ts +0 -5
- package/dest/block/l2_block_number.d.ts.map +0 -1
- package/dest/block/l2_block_number.js +0 -6
- package/dest/block/published_l2_block.d.ts +0 -143
- package/dest/block/published_l2_block.d.ts.map +0 -1
- package/dest/block/published_l2_block.js +0 -63
- package/dest/checkpoint/checkpoint_body.d.ts +0 -4
- package/dest/checkpoint/checkpoint_body.d.ts.map +0 -1
- package/dest/checkpoint/checkpoint_body.js +0 -9
- package/dest/contract/contract_class_metadata.d.ts +0 -8
- package/dest/contract/contract_class_metadata.d.ts.map +0 -1
- package/dest/contract/contract_class_metadata.js +0 -1
- package/dest/contract/contract_metadata.d.ts +0 -7
- package/dest/contract/contract_metadata.d.ts.map +0 -1
- package/dest/contract/contract_metadata.js +0 -1
- package/dest/contract/private_function_membership_proof.d.ts +0 -32
- package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/private_function_membership_proof.js +0 -124
- package/dest/contract/utility_function_membership_proof.d.ts +0 -27
- package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
- package/dest/contract/utility_function_membership_proof.js +0 -87
- package/dest/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- package/dest/interfaces/get_logs_response.d.ts +0 -73
- package/dest/interfaces/get_logs_response.d.ts.map +0 -1
- package/dest/interfaces/get_logs_response.js +0 -11
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +0 -19
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.d.ts +0 -44
- package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
- package/dest/l1-contracts/slash_factory.js +0 -157
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.js +0 -63
- package/dest/logs/extended_contract_class_log.d.ts +0 -51
- package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
- package/dest/logs/extended_contract_class_log.js +0 -67
- package/dest/logs/extended_public_log.d.ts +0 -92
- package/dest/logs/extended_public_log.d.ts.map +0 -1
- package/dest/logs/extended_public_log.js +0 -73
- package/dest/logs/log_filter.d.ts +0 -22
- package/dest/logs/log_filter.d.ts.map +0 -1
- package/dest/logs/log_filter.js +0 -11
- package/dest/logs/log_id.d.ts +0 -70
- package/dest/logs/log_id.d.ts.map +0 -1
- package/dest/logs/log_id.js +0 -83
- package/dest/logs/log_with_tx_data.d.ts +0 -19
- package/dest/logs/log_with_tx_data.d.ts.map +0 -1
- package/dest/logs/log_with_tx_data.js +0 -49
- package/dest/logs/tx_scoped_l2_log.d.ts +0 -55
- package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
- package/dest/logs/tx_scoped_l2_log.js +0 -75
- package/dest/note/notes_filter.d.ts +0 -25
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -10
- package/dest/note/unique_note.d.ts +0 -43
- package/dest/note/unique_note.d.ts.map +0 -1
- package/dest/note/unique_note.js +0 -67
- package/dest/p2p/block_attestation.d.ts +0 -87
- package/dest/p2p/block_attestation.d.ts.map +0 -1
- package/dest/p2p/block_attestation.js +0 -100
- package/dest/slashing/empire.d.ts +0 -31
- package/dest/slashing/empire.d.ts.map +0 -1
- package/dest/slashing/empire.js +0 -84
- package/dest/slashing/tally.d.ts +0 -23
- package/dest/slashing/tally.d.ts.map +0 -1
- package/dest/tx/content_commitment.d.ts +0 -48
- package/dest/tx/content_commitment.d.ts.map +0 -1
- package/dest/tx/content_commitment.js +0 -82
- package/dest/update-checker/update-checker.d.ts +0 -50
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/abi/mocked_keys.ts +0 -2
- package/src/block/l2_block_code_to_purge.ts +0 -86
- package/src/block/l2_block_header.ts +0 -232
- package/src/block/l2_block_number.ts +0 -8
- package/src/block/published_l2_block.ts +0 -82
- package/src/checkpoint/checkpoint_body.ts +0 -10
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
- package/src/contract/private_function_membership_proof.ts +0 -167
- package/src/contract/utility_function_membership_proof.ts +0 -118
- package/src/database-version/index.ts +0 -1
- package/src/interfaces/get_logs_response.ts +0 -31
- package/src/kernel/hints/key_validation_request_and_generator.ts +0 -52
- package/src/l1-contracts/slash_factory.ts +0 -177
- package/src/logs/directional_app_tagging_secret.ts +0 -77
- package/src/logs/extended_contract_class_log.ts +0 -87
- package/src/logs/extended_public_log.ts +0 -94
- package/src/logs/log_filter.ts +0 -31
- package/src/logs/log_id.ts +0 -110
- package/src/logs/log_with_tx_data.ts +0 -46
- package/src/logs/tx_scoped_l2_log.ts +0 -95
- package/src/note/notes_filter.ts +0 -35
- package/src/note/unique_note.ts +0 -88
- package/src/p2p/block_attestation.ts +0 -135
- package/src/slashing/empire.ts +0 -100
- package/src/tx/content_commitment.ts +0 -104
- package/src/update-checker/update-checker.ts +0 -165
package/dest/avm/avm.js
CHANGED
|
@@ -1,29 +1,43 @@
|
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
3
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { z } from 'zod';
|
|
5
|
+
import { FunctionSelector } from '../abi/index.js';
|
|
4
6
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
7
|
+
import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
|
|
8
|
+
import { SimulationError } from '../errors/simulation_error.js';
|
|
5
9
|
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
6
10
|
import { Gas } from '../gas/gas.js';
|
|
7
11
|
import { GasFees } from '../gas/gas_fees.js';
|
|
8
12
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
13
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
9
14
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
15
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
16
|
+
import { PublicLog } from '../logs/public_log.js';
|
|
10
17
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
18
|
+
import { NullishToUndefined, schemas } from '../schemas/schemas.js';
|
|
11
19
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
12
20
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
13
|
-
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
14
|
-
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
15
|
-
import { GlobalVariables, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
21
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
22
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
23
|
+
import { GlobalVariables, NestedProcessReturnValues, ProtocolContracts, PublicCallRequestWithCalldata, TreeSnapshots } from '../tx/index.js';
|
|
24
|
+
import { TxExecutionPhase } from '../tx/processed_tx.js';
|
|
25
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
16
26
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
17
27
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
28
|
+
import { PublicDataWrite } from './public_data_write.js';
|
|
29
|
+
import { RevertCode } from './revert_code.js';
|
|
18
30
|
////////////////////////////////////////////////////////////////////////////
|
|
19
31
|
// Hints (contracts)
|
|
20
32
|
////////////////////////////////////////////////////////////////////////////
|
|
21
33
|
export class AvmContractClassHint {
|
|
34
|
+
hintKey;
|
|
22
35
|
classId;
|
|
23
36
|
artifactHash;
|
|
24
37
|
privateFunctionsRoot;
|
|
25
38
|
packedBytecode;
|
|
26
|
-
constructor(classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
39
|
+
constructor(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode){
|
|
40
|
+
this.hintKey = hintKey;
|
|
27
41
|
this.classId = classId;
|
|
28
42
|
this.artifactHash = artifactHash;
|
|
29
43
|
this.privateFunctionsRoot = privateFunctionsRoot;
|
|
@@ -31,54 +45,129 @@ export class AvmContractClassHint {
|
|
|
31
45
|
}
|
|
32
46
|
static get schema() {
|
|
33
47
|
return z.object({
|
|
48
|
+
hintKey: z.number().int().nonnegative(),
|
|
34
49
|
classId: schemas.Fr,
|
|
35
50
|
artifactHash: schemas.Fr,
|
|
36
51
|
privateFunctionsRoot: schemas.Fr,
|
|
37
52
|
packedBytecode: schemas.Buffer
|
|
38
|
-
}).transform(({ classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
53
|
+
}).transform(({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode })=>new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates an AvmContractClassHint from a plain object without Zod validation.
|
|
57
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
58
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
59
|
+
* @param obj - Plain object containing AvmContractClassHint fields
|
|
60
|
+
* @returns An AvmContractClassHint instance
|
|
61
|
+
*/ static fromPlainObject(obj) {
|
|
62
|
+
if (obj instanceof AvmContractClassHint) {
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
return new AvmContractClassHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.artifactHash), Fr.fromPlainObject(obj.privateFunctionsRoot), obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode));
|
|
39
66
|
}
|
|
40
67
|
}
|
|
41
68
|
export class AvmBytecodeCommitmentHint {
|
|
69
|
+
hintKey;
|
|
42
70
|
classId;
|
|
43
71
|
commitment;
|
|
44
|
-
constructor(classId, commitment){
|
|
72
|
+
constructor(hintKey, classId, commitment){
|
|
73
|
+
this.hintKey = hintKey;
|
|
45
74
|
this.classId = classId;
|
|
46
75
|
this.commitment = commitment;
|
|
47
76
|
}
|
|
48
77
|
static get schema() {
|
|
49
78
|
return z.object({
|
|
79
|
+
hintKey: z.number().int().nonnegative(),
|
|
50
80
|
classId: schemas.Fr,
|
|
51
81
|
commitment: schemas.Fr
|
|
52
|
-
}).transform(({ classId, commitment })=>new AvmBytecodeCommitmentHint(classId, commitment));
|
|
82
|
+
}).transform(({ hintKey, classId, commitment })=>new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
|
|
86
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
87
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
88
|
+
* @param obj - Plain object containing AvmBytecodeCommitmentHint fields
|
|
89
|
+
* @returns An AvmBytecodeCommitmentHint instance
|
|
90
|
+
*/ static fromPlainObject(obj) {
|
|
91
|
+
if (obj instanceof AvmBytecodeCommitmentHint) {
|
|
92
|
+
return obj;
|
|
93
|
+
}
|
|
94
|
+
return new AvmBytecodeCommitmentHint(obj.hintKey, Fr.fromPlainObject(obj.classId), Fr.fromPlainObject(obj.commitment));
|
|
53
95
|
}
|
|
54
96
|
}
|
|
55
97
|
export class AvmContractInstanceHint {
|
|
98
|
+
hintKey;
|
|
56
99
|
address;
|
|
57
100
|
salt;
|
|
58
101
|
deployer;
|
|
59
102
|
currentContractClassId;
|
|
60
103
|
originalContractClassId;
|
|
61
104
|
initializationHash;
|
|
105
|
+
immutablesHash;
|
|
62
106
|
publicKeys;
|
|
63
|
-
constructor(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys){
|
|
107
|
+
constructor(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, immutablesHash, publicKeys){
|
|
108
|
+
this.hintKey = hintKey;
|
|
64
109
|
this.address = address;
|
|
65
110
|
this.salt = salt;
|
|
66
111
|
this.deployer = deployer;
|
|
67
112
|
this.currentContractClassId = currentContractClassId;
|
|
68
113
|
this.originalContractClassId = originalContractClassId;
|
|
69
114
|
this.initializationHash = initializationHash;
|
|
115
|
+
this.immutablesHash = immutablesHash;
|
|
70
116
|
this.publicKeys = publicKeys;
|
|
71
117
|
}
|
|
72
118
|
static get schema() {
|
|
73
119
|
return z.object({
|
|
120
|
+
hintKey: z.number().int().nonnegative(),
|
|
74
121
|
address: AztecAddress.schema,
|
|
75
122
|
salt: schemas.Fr,
|
|
76
123
|
deployer: AztecAddress.schema,
|
|
77
124
|
currentContractClassId: schemas.Fr,
|
|
78
125
|
originalContractClassId: schemas.Fr,
|
|
79
126
|
initializationHash: schemas.Fr,
|
|
127
|
+
immutablesHash: schemas.Fr,
|
|
80
128
|
publicKeys: PublicKeys.schema
|
|
81
|
-
}).transform(({ address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys })=>new AvmContractInstanceHint(address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, publicKeys));
|
|
129
|
+
}).transform(({ hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, immutablesHash, publicKeys })=>new AvmContractInstanceHint(hintKey, address, salt, deployer, currentContractClassId, originalContractClassId, initializationHash, immutablesHash, publicKeys));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Creates an AvmContractInstanceHint from a plain object without Zod validation.
|
|
133
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
134
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
135
|
+
* @param obj - Plain object containing AvmContractInstanceHint fields
|
|
136
|
+
* @returns An AvmContractInstanceHint instance
|
|
137
|
+
*/ static fromPlainObject(obj) {
|
|
138
|
+
if (obj instanceof AvmContractInstanceHint) {
|
|
139
|
+
return obj;
|
|
140
|
+
}
|
|
141
|
+
return new AvmContractInstanceHint(obj.hintKey, AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.salt), AztecAddress.fromPlainObject(obj.deployer), Fr.fromPlainObject(obj.currentContractClassId), Fr.fromPlainObject(obj.originalContractClassId), Fr.fromPlainObject(obj.initializationHash), Fr.fromPlainObject(obj.immutablesHash), PublicKeys.fromPlainObject(obj.publicKeys));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
export class AvmDebugFunctionNameHint {
|
|
145
|
+
address;
|
|
146
|
+
selector;
|
|
147
|
+
name;
|
|
148
|
+
constructor(address, selector, name){
|
|
149
|
+
this.address = address;
|
|
150
|
+
this.selector = selector;
|
|
151
|
+
this.name = name;
|
|
152
|
+
}
|
|
153
|
+
static get schema() {
|
|
154
|
+
return z.object({
|
|
155
|
+
address: AztecAddress.schema,
|
|
156
|
+
selector: schemas.Fr,
|
|
157
|
+
name: z.string()
|
|
158
|
+
}).transform(({ address, selector, name })=>new AvmDebugFunctionNameHint(address, selector, name));
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
|
|
162
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
163
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
164
|
+
* @param obj - Plain object containing AvmDebugFunctionNameHint fields
|
|
165
|
+
* @returns An AvmDebugFunctionNameHint instance
|
|
166
|
+
*/ static fromPlainObject(obj) {
|
|
167
|
+
if (obj instanceof AvmDebugFunctionNameHint) {
|
|
168
|
+
return obj;
|
|
169
|
+
}
|
|
170
|
+
return new AvmDebugFunctionNameHint(AztecAddress.fromPlainObject(obj.address), Fr.fromPlainObject(obj.selector), obj.name);
|
|
82
171
|
}
|
|
83
172
|
}
|
|
84
173
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -106,6 +195,18 @@ export class AvmGetSiblingPathHint {
|
|
|
106
195
|
path: schemas.Fr.array()
|
|
107
196
|
}).transform(({ hintKey, treeId, index, path })=>new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
108
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
|
|
200
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
201
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
202
|
+
* @param obj - Plain object containing AvmGetSiblingPathHint fields
|
|
203
|
+
* @returns An AvmGetSiblingPathHint instance
|
|
204
|
+
*/ static fromPlainObject(obj) {
|
|
205
|
+
if (obj instanceof AvmGetSiblingPathHint) {
|
|
206
|
+
return obj;
|
|
207
|
+
}
|
|
208
|
+
return new AvmGetSiblingPathHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.path.map((p)=>Fr.fromPlainObject(p)));
|
|
209
|
+
}
|
|
109
210
|
}
|
|
110
211
|
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
111
212
|
export class AvmGetPreviousValueIndexHint {
|
|
@@ -132,6 +233,18 @@ export class AvmGetPreviousValueIndexHint {
|
|
|
132
233
|
alreadyPresent: z.boolean()
|
|
133
234
|
}).transform(({ hintKey, treeId, value, index, alreadyPresent })=>new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent));
|
|
134
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
|
|
238
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
239
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
240
|
+
* @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
|
|
241
|
+
* @returns An AvmGetPreviousValueIndexHint instance
|
|
242
|
+
*/ static fromPlainObject(obj) {
|
|
243
|
+
if (obj instanceof AvmGetPreviousValueIndexHint) {
|
|
244
|
+
return obj;
|
|
245
|
+
}
|
|
246
|
+
return new AvmGetPreviousValueIndexHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, Fr.fromPlainObject(obj.value), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), obj.alreadyPresent);
|
|
247
|
+
}
|
|
135
248
|
}
|
|
136
249
|
// Hint for MerkleTreeDB.getLeafPreimage.
|
|
137
250
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -155,6 +268,18 @@ function AvmGetLeafPreimageHintFactory(klass) {
|
|
|
155
268
|
leafPreimage: klass.schema
|
|
156
269
|
}).transform(({ hintKey, index, leafPreimage })=>new this(hintKey, index, leafPreimage));
|
|
157
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Creates an instance from a plain object without Zod validation.
|
|
273
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
274
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
275
|
+
* @param obj - Plain object containing hint fields
|
|
276
|
+
* @returns An instance
|
|
277
|
+
*/ static fromPlainObject(obj) {
|
|
278
|
+
if (obj instanceof this) {
|
|
279
|
+
return obj;
|
|
280
|
+
}
|
|
281
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), klass.fromPlainObject(obj.leafPreimage));
|
|
282
|
+
}
|
|
158
283
|
};
|
|
159
284
|
}
|
|
160
285
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -185,6 +310,18 @@ export class AvmGetLeafValueHint {
|
|
|
185
310
|
value: schemas.Fr
|
|
186
311
|
}).transform(({ hintKey, treeId, index, value })=>new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
187
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Creates an AvmGetLeafValueHint from a plain object without Zod validation.
|
|
315
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
316
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
317
|
+
* @param obj - Plain object containing AvmGetLeafValueHint fields
|
|
318
|
+
* @returns An AvmGetLeafValueHint instance
|
|
319
|
+
*/ static fromPlainObject(obj) {
|
|
320
|
+
if (obj instanceof AvmGetLeafValueHint) {
|
|
321
|
+
return obj;
|
|
322
|
+
}
|
|
323
|
+
return new AvmGetLeafValueHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), obj.treeId, typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index), Fr.fromPlainObject(obj.value));
|
|
324
|
+
}
|
|
188
325
|
}
|
|
189
326
|
// Hint for MerkleTreeDB.sequentialInsert.
|
|
190
327
|
// NOTE: I need this factory because in order to get hold of the schema, I need an actual instance of the class,
|
|
@@ -225,6 +362,28 @@ function AvmSequentialInsertHintFactory(klass) {
|
|
|
225
362
|
})
|
|
226
363
|
}).transform(({ hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData })=>new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData));
|
|
227
364
|
}
|
|
365
|
+
/**
|
|
366
|
+
* Creates an instance from a plain object without Zod validation.
|
|
367
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
368
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
369
|
+
* @param obj - Plain object containing hint fields
|
|
370
|
+
* @returns An instance
|
|
371
|
+
*/ static fromPlainObject(obj) {
|
|
372
|
+
if (obj instanceof this) {
|
|
373
|
+
return obj;
|
|
374
|
+
}
|
|
375
|
+
// Determine the leaf class based on the klass parameter
|
|
376
|
+
const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
|
|
377
|
+
return new this(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, LeafClass.fromPlainObject(obj.leaf), {
|
|
378
|
+
leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
|
|
379
|
+
index: typeof obj.lowLeavesWitnessData.index === 'bigint' ? obj.lowLeavesWitnessData.index : BigInt(obj.lowLeavesWitnessData.index),
|
|
380
|
+
path: obj.lowLeavesWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
381
|
+
}, {
|
|
382
|
+
leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
|
|
383
|
+
index: typeof obj.insertionWitnessData.index === 'bigint' ? obj.insertionWitnessData.index : BigInt(obj.insertionWitnessData.index),
|
|
384
|
+
path: obj.insertionWitnessData.path.map((p)=>Fr.fromPlainObject(p))
|
|
385
|
+
});
|
|
386
|
+
}
|
|
228
387
|
};
|
|
229
388
|
}
|
|
230
389
|
// Note: only supported for PUBLIC_DATA_TREE and NULLIFIER_TREE.
|
|
@@ -254,6 +413,18 @@ export class AvmAppendLeavesHint {
|
|
|
254
413
|
leaves: schemas.Fr.array()
|
|
255
414
|
}).transform(({ hintKey, stateAfter, treeId, leaves })=>new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves));
|
|
256
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* Creates an AvmAppendLeavesHint from a plain object without Zod validation.
|
|
418
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
419
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
420
|
+
* @param obj - Plain object containing AvmAppendLeavesHint fields
|
|
421
|
+
* @returns An AvmAppendLeavesHint instance
|
|
422
|
+
*/ static fromPlainObject(obj) {
|
|
423
|
+
if (obj instanceof AvmAppendLeavesHint) {
|
|
424
|
+
return obj;
|
|
425
|
+
}
|
|
426
|
+
return new AvmAppendLeavesHint(AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey), AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter), obj.treeId, obj.leaves.map((l)=>Fr.fromPlainObject(l)));
|
|
427
|
+
}
|
|
257
428
|
}
|
|
258
429
|
// Hint for checkpoint actions that don't change the state.
|
|
259
430
|
class AvmCheckpointActionNoStateChangeHint {
|
|
@@ -274,6 +445,18 @@ class AvmCheckpointActionNoStateChangeHint {
|
|
|
274
445
|
newCheckpointId: z.number().int().nonnegative()
|
|
275
446
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId })=>new this(actionCounter, oldCheckpointId, newCheckpointId));
|
|
276
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Creates an instance from a plain object without Zod validation.
|
|
450
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
451
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
452
|
+
* @param obj - Plain object containing hint fields
|
|
453
|
+
* @returns An instance
|
|
454
|
+
*/ static fromPlainObject(obj) {
|
|
455
|
+
if (obj instanceof this) {
|
|
456
|
+
return obj;
|
|
457
|
+
}
|
|
458
|
+
return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
|
|
459
|
+
}
|
|
277
460
|
}
|
|
278
461
|
// Hint for MerkleTreeDB.createCheckpoint.
|
|
279
462
|
export class AvmCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
@@ -311,6 +494,24 @@ export class AvmRevertCheckpointHint {
|
|
|
311
494
|
stateAfter: TreeSnapshots.schema
|
|
312
495
|
}).transform(({ actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter })=>new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter));
|
|
313
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
|
|
499
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
500
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
501
|
+
* @param obj - Plain object containing AvmRevertCheckpointHint fields
|
|
502
|
+
* @returns An AvmRevertCheckpointHint instance
|
|
503
|
+
*/ static fromPlainObject(obj) {
|
|
504
|
+
if (obj instanceof AvmRevertCheckpointHint) {
|
|
505
|
+
return obj;
|
|
506
|
+
}
|
|
507
|
+
return new AvmRevertCheckpointHint(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId, TreeSnapshots.fromPlainObject(obj.stateBefore), TreeSnapshots.fromPlainObject(obj.stateAfter));
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
511
|
+
}
|
|
512
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
513
|
+
}
|
|
514
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
|
|
314
515
|
}
|
|
315
516
|
////////////////////////////////////////////////////////////////////////////
|
|
316
517
|
// Hints (other)
|
|
@@ -319,6 +520,8 @@ export class AvmTxHint {
|
|
|
319
520
|
hash;
|
|
320
521
|
gasSettings;
|
|
321
522
|
effectiveGasFees;
|
|
523
|
+
nonRevertibleContractDeploymentData;
|
|
524
|
+
revertibleContractDeploymentData;
|
|
322
525
|
nonRevertibleAccumulatedData;
|
|
323
526
|
revertibleAccumulatedData;
|
|
324
527
|
setupEnqueuedCalls;
|
|
@@ -326,12 +529,14 @@ export class AvmTxHint {
|
|
|
326
529
|
teardownEnqueuedCall;
|
|
327
530
|
gasUsedByPrivate;
|
|
328
531
|
feePayer;
|
|
329
|
-
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
532
|
+
constructor(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
|
|
330
533
|
// MessagePack expects for an std::optional.
|
|
331
534
|
teardownEnqueuedCall, gasUsedByPrivate, feePayer){
|
|
332
535
|
this.hash = hash;
|
|
333
536
|
this.gasSettings = gasSettings;
|
|
334
537
|
this.effectiveGasFees = effectiveGasFees;
|
|
538
|
+
this.nonRevertibleContractDeploymentData = nonRevertibleContractDeploymentData;
|
|
539
|
+
this.revertibleContractDeploymentData = revertibleContractDeploymentData;
|
|
335
540
|
this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
|
|
336
541
|
this.revertibleAccumulatedData = revertibleAccumulatedData;
|
|
337
542
|
this.setupEnqueuedCalls = setupEnqueuedCalls;
|
|
@@ -346,9 +551,10 @@ export class AvmTxHint {
|
|
|
346
551
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
347
552
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
348
553
|
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
554
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
349
555
|
// For informational purposes. Assumed quick because it should be cached.
|
|
350
556
|
const txHash = tx.getTxHash();
|
|
351
|
-
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, {
|
|
557
|
+
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, allContractDeploymentData.getNonRevertibleContractDeploymentData(), allContractDeploymentData.getRevertibleContractDeploymentData(), {
|
|
352
558
|
noteHashes: tx.data.forPublic.nonRevertibleAccumulatedData.noteHashes.filter((x)=>!x.isZero()),
|
|
353
559
|
nullifiers: tx.data.forPublic.nonRevertibleAccumulatedData.nullifiers.filter((x)=>!x.isZero()),
|
|
354
560
|
l2ToL1Messages: tx.data.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.filter((x)=>!x.isEmpty())
|
|
@@ -359,7 +565,7 @@ export class AvmTxHint {
|
|
|
359
565
|
}, setupCallRequests, appLogicCallRequests, teardownCallRequest ?? null, tx.data.gasUsed, tx.data.feePayer);
|
|
360
566
|
}
|
|
361
567
|
static empty() {
|
|
362
|
-
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), {
|
|
568
|
+
return new AvmTxHint('', GasSettings.empty(), GasFees.empty(), ContractDeploymentData.empty(), ContractDeploymentData.empty(), {
|
|
363
569
|
noteHashes: [],
|
|
364
570
|
nullifiers: [],
|
|
365
571
|
l2ToL1Messages: []
|
|
@@ -369,11 +575,33 @@ export class AvmTxHint {
|
|
|
369
575
|
l2ToL1Messages: []
|
|
370
576
|
}, [], [], null, Gas.empty(), AztecAddress.zero());
|
|
371
577
|
}
|
|
578
|
+
/**
|
|
579
|
+
* Creates an AvmTxHint from a plain object without Zod validation.
|
|
580
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
581
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
582
|
+
* @param obj - Plain object containing AvmTxHint fields
|
|
583
|
+
* @returns An AvmTxHint instance
|
|
584
|
+
*/ static fromPlainObject(obj) {
|
|
585
|
+
if (obj instanceof AvmTxHint) {
|
|
586
|
+
return obj;
|
|
587
|
+
}
|
|
588
|
+
return new AvmTxHint(obj.hash, GasSettings.fromPlainObject(obj.gasSettings), GasFees.fromPlainObject(obj.effectiveGasFees), ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData), ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData), {
|
|
589
|
+
noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
590
|
+
nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
591
|
+
l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
592
|
+
}, {
|
|
593
|
+
noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h)=>Fr.fromPlainObject(h)),
|
|
594
|
+
nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n)=>Fr.fromPlainObject(n)),
|
|
595
|
+
l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m)=>ScopedL2ToL1Message.fromPlainObject(m))
|
|
596
|
+
}, obj.setupEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.appLogicEnqueuedCalls.map((c)=>PublicCallRequestWithCalldata.fromPlainObject(c)), obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null, Gas.fromPlainObject(obj.gasUsedByPrivate), AztecAddress.fromPlainObject(obj.feePayer));
|
|
597
|
+
}
|
|
372
598
|
static get schema() {
|
|
373
599
|
return z.object({
|
|
374
600
|
hash: z.string(),
|
|
375
601
|
gasSettings: GasSettings.schema,
|
|
376
602
|
effectiveGasFees: GasFees.schema,
|
|
603
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
604
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
377
605
|
nonRevertibleAccumulatedData: z.object({
|
|
378
606
|
noteHashes: schemas.Fr.array(),
|
|
379
607
|
nullifiers: schemas.Fr.array(),
|
|
@@ -389,7 +617,7 @@ export class AvmTxHint {
|
|
|
389
617
|
teardownEnqueuedCall: PublicCallRequestWithCalldata.schema.nullable(),
|
|
390
618
|
gasUsedByPrivate: Gas.schema,
|
|
391
619
|
feePayer: AztecAddress.schema
|
|
392
|
-
}).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
|
|
620
|
+
}).transform(({ hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer })=>new AvmTxHint(hash, gasSettings, effectiveGasFees, nonRevertibleContractDeploymentData, revertibleContractDeploymentData, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall, gasUsedByPrivate, feePayer));
|
|
393
621
|
}
|
|
394
622
|
}
|
|
395
623
|
export class AvmExecutionHints {
|
|
@@ -399,6 +627,10 @@ export class AvmExecutionHints {
|
|
|
399
627
|
contractInstances;
|
|
400
628
|
contractClasses;
|
|
401
629
|
bytecodeCommitments;
|
|
630
|
+
debugFunctionNames;
|
|
631
|
+
contractDbCreateCheckpointHints;
|
|
632
|
+
contractDbCommitCheckpointHints;
|
|
633
|
+
contractDbRevertCheckpointHints;
|
|
402
634
|
startingTreeRoots;
|
|
403
635
|
getSiblingPathHints;
|
|
404
636
|
getPreviousValueIndexHints;
|
|
@@ -413,7 +645,7 @@ export class AvmExecutionHints {
|
|
|
413
645
|
revertCheckpointHints;
|
|
414
646
|
constructor(globalVariables, tx, // Protocol contracts.
|
|
415
647
|
protocolContracts, // Contract hints.
|
|
416
|
-
contractInstances = [], contractClasses = [], bytecodeCommitments = [], // Merkle DB hints.
|
|
648
|
+
contractInstances = [], contractClasses = [], bytecodeCommitments = [], debugFunctionNames = [], contractDbCreateCheckpointHints = [], contractDbCommitCheckpointHints = [], contractDbRevertCheckpointHints = [], // Merkle DB hints.
|
|
417
649
|
startingTreeRoots = TreeSnapshots.empty(), getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = [], appendLeavesHints = [], createCheckpointHints = [], commitCheckpointHints = [], revertCheckpointHints = []){
|
|
418
650
|
this.globalVariables = globalVariables;
|
|
419
651
|
this.tx = tx;
|
|
@@ -421,6 +653,10 @@ export class AvmExecutionHints {
|
|
|
421
653
|
this.contractInstances = contractInstances;
|
|
422
654
|
this.contractClasses = contractClasses;
|
|
423
655
|
this.bytecodeCommitments = bytecodeCommitments;
|
|
656
|
+
this.debugFunctionNames = debugFunctionNames;
|
|
657
|
+
this.contractDbCreateCheckpointHints = contractDbCreateCheckpointHints;
|
|
658
|
+
this.contractDbCommitCheckpointHints = contractDbCommitCheckpointHints;
|
|
659
|
+
this.contractDbRevertCheckpointHints = contractDbRevertCheckpointHints;
|
|
424
660
|
this.startingTreeRoots = startingTreeRoots;
|
|
425
661
|
this.getSiblingPathHints = getSiblingPathHints;
|
|
426
662
|
this.getPreviousValueIndexHints = getPreviousValueIndexHints;
|
|
@@ -434,6 +670,18 @@ export class AvmExecutionHints {
|
|
|
434
670
|
this.commitCheckpointHints = commitCheckpointHints;
|
|
435
671
|
this.revertCheckpointHints = revertCheckpointHints;
|
|
436
672
|
}
|
|
673
|
+
/**
|
|
674
|
+
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
675
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
676
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
677
|
+
* @param obj - Plain object containing AvmExecutionHints fields
|
|
678
|
+
* @returns An AvmExecutionHints instance
|
|
679
|
+
*/ static fromPlainObject(obj) {
|
|
680
|
+
if (obj instanceof AvmExecutionHints) {
|
|
681
|
+
return obj;
|
|
682
|
+
}
|
|
683
|
+
return new AvmExecutionHints(GlobalVariables.fromPlainObject(obj.globalVariables), AvmTxHint.fromPlainObject(obj.tx), ProtocolContracts.fromPlainObject(obj.protocolContracts), obj.contractInstances?.map((i)=>AvmContractInstanceHint.fromPlainObject(i)) || [], obj.contractClasses?.map((c)=>AvmContractClassHint.fromPlainObject(c)) || [], obj.bytecodeCommitments?.map((b)=>AvmBytecodeCommitmentHint.fromPlainObject(b)) || [], obj.debugFunctionNames?.map((d)=>AvmDebugFunctionNameHint.fromPlainObject(d)) || [], obj.contractDbCreateCheckpointHints?.map((h)=>AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [], obj.contractDbCommitCheckpointHints?.map((h)=>AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [], obj.contractDbRevertCheckpointHints?.map((h)=>AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [], obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(), obj.getSiblingPathHints?.map((h)=>AvmGetSiblingPathHint.fromPlainObject(h)) || [], obj.getPreviousValueIndexHints?.map((h)=>AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [], obj.getLeafPreimageHintsPublicDataTree?.map((h)=>AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h)) || [], obj.getLeafPreimageHintsNullifierTree?.map((h)=>AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) || [], obj.getLeafValueHints?.map((h)=>AvmGetLeafValueHint.fromPlainObject(h)) || [], obj.sequentialInsertHintsPublicDataTree?.map((h)=>AvmSequentialInsertHintPublicDataTree.fromPlainObject(h)) || [], obj.sequentialInsertHintsNullifierTree?.map((h)=>AvmSequentialInsertHintNullifierTree.fromPlainObject(h)) || [], obj.appendLeavesHints?.map((h)=>AvmAppendLeavesHint.fromPlainObject(h)) || [], obj.createCheckpointHints?.map((h)=>AvmCreateCheckpointHint.fromPlainObject(h)) || [], obj.commitCheckpointHints?.map((h)=>AvmCommitCheckpointHint.fromPlainObject(h)) || [], obj.revertCheckpointHints?.map((h)=>AvmRevertCheckpointHint.fromPlainObject(h)) || []);
|
|
684
|
+
}
|
|
437
685
|
static empty() {
|
|
438
686
|
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
439
687
|
}
|
|
@@ -445,6 +693,10 @@ export class AvmExecutionHints {
|
|
|
445
693
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
446
694
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
447
695
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
696
|
+
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
697
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
698
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
699
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
448
700
|
startingTreeRoots: TreeSnapshots.schema,
|
|
449
701
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
450
702
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -457,7 +709,7 @@ export class AvmExecutionHints {
|
|
|
457
709
|
createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
|
|
458
710
|
commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
|
|
459
711
|
revertCheckpointHints: AvmRevertCheckpointHint.schema.array()
|
|
460
|
-
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
712
|
+
}).transform(({ globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(globalVariables, tx, protocolContracts, contractInstances, contractClasses, bytecodeCommitments, debugFunctionNames, contractDbCreateCheckpointHints, contractDbCommitCheckpointHints, contractDbRevertCheckpointHints, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
|
|
461
713
|
}
|
|
462
714
|
}
|
|
463
715
|
export class AvmCircuitInputs {
|
|
@@ -470,6 +722,9 @@ export class AvmCircuitInputs {
|
|
|
470
722
|
static empty() {
|
|
471
723
|
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
472
724
|
}
|
|
725
|
+
static fromPlainObject(obj) {
|
|
726
|
+
return new AvmCircuitInputs(AvmExecutionHints.fromPlainObject(obj.hints), AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs));
|
|
727
|
+
}
|
|
473
728
|
static get schema() {
|
|
474
729
|
return z.object({
|
|
475
730
|
hints: AvmExecutionHints.schema,
|
|
@@ -487,3 +742,326 @@ export class AvmCircuitInputs {
|
|
|
487
742
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
488
743
|
}
|
|
489
744
|
}
|
|
745
|
+
// Metadata about a given (enqueued or external) call.
|
|
746
|
+
export class CallStackMetadata {
|
|
747
|
+
phase;
|
|
748
|
+
contractAddress;
|
|
749
|
+
callerPc;
|
|
750
|
+
calldata;
|
|
751
|
+
isStaticCall;
|
|
752
|
+
gasLimit;
|
|
753
|
+
output;
|
|
754
|
+
internalCallStackAtExit;
|
|
755
|
+
haltingMessage;
|
|
756
|
+
reverted;
|
|
757
|
+
nested;
|
|
758
|
+
numNestedCalls;
|
|
759
|
+
constructor(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls){
|
|
760
|
+
this.phase = phase;
|
|
761
|
+
this.contractAddress = contractAddress;
|
|
762
|
+
this.callerPc = callerPc;
|
|
763
|
+
this.calldata = calldata;
|
|
764
|
+
this.isStaticCall = isStaticCall;
|
|
765
|
+
this.gasLimit = gasLimit;
|
|
766
|
+
this.output = output;
|
|
767
|
+
this.internalCallStackAtExit = internalCallStackAtExit;
|
|
768
|
+
this.haltingMessage = haltingMessage;
|
|
769
|
+
this.reverted = reverted;
|
|
770
|
+
this.nested = nested;
|
|
771
|
+
this.numNestedCalls = numNestedCalls;
|
|
772
|
+
}
|
|
773
|
+
static get schema() {
|
|
774
|
+
return z.object({
|
|
775
|
+
phase: z.nativeEnum(TxExecutionPhase),
|
|
776
|
+
contractAddress: Fr.schema,
|
|
777
|
+
callerPc: z.number(),
|
|
778
|
+
calldata: Fr.schema.array(),
|
|
779
|
+
isStaticCall: z.boolean(),
|
|
780
|
+
gasLimit: Gas.schema,
|
|
781
|
+
output: Fr.schema.array(),
|
|
782
|
+
internalCallStackAtExit: z.number().array(),
|
|
783
|
+
haltingMessage: NullishToUndefined(z.string()),
|
|
784
|
+
reverted: z.boolean(),
|
|
785
|
+
nested: CallStackMetadata.schema.array(),
|
|
786
|
+
numNestedCalls: z.number()
|
|
787
|
+
}).transform(({ phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls })=>new CallStackMetadata(phase, contractAddress, callerPc, calldata, isStaticCall, gasLimit, output, internalCallStackAtExit, haltingMessage, reverted, nested, numNestedCalls));
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Creates a CallStackMetadata from a plain object without Zod validation.
|
|
791
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
792
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
793
|
+
* @param obj - Plain object containing CallStackMetadata fields
|
|
794
|
+
* @returns A CallStackMetadata instance
|
|
795
|
+
*/ static fromPlainObject(obj) {
|
|
796
|
+
if (obj instanceof CallStackMetadata) {
|
|
797
|
+
return obj;
|
|
798
|
+
}
|
|
799
|
+
return new CallStackMetadata(obj.phase, Fr.fromPlainObject(obj.contractAddress), obj.callerPc, obj.calldata.map((f)=>Fr.fromPlainObject(f)), obj.isStaticCall, Gas.fromPlainObject(obj.gasLimit), obj.output.map((f)=>Fr.fromPlainObject(f)), obj.internalCallStackAtExit.map((p)=>Number(p)), obj.haltingMessage, obj.reverted, obj.nested.map((n)=>CallStackMetadata.fromPlainObject(n)), obj.numNestedCalls);
|
|
800
|
+
}
|
|
801
|
+
getRevertReason() {
|
|
802
|
+
const failingCall = this.findDeepestRevert([
|
|
803
|
+
this
|
|
804
|
+
]);
|
|
805
|
+
if (!failingCall) {
|
|
806
|
+
return undefined;
|
|
807
|
+
}
|
|
808
|
+
const { stack, leaf } = failingCall;
|
|
809
|
+
const aztecCallStack = stack.map((call)=>({
|
|
810
|
+
contractAddress: AztecAddress.fromField(call.contractAddress),
|
|
811
|
+
functionSelector: call.calldata.length > 0 ? FunctionSelector.fromFieldOrUndefined(call.calldata[0]) : undefined
|
|
812
|
+
}));
|
|
813
|
+
// The Noir call stack is the internal call stack at exit of the failing call
|
|
814
|
+
const noirCallStack = leaf.internalCallStackAtExit.map((pc)=>`0.${pc}`);
|
|
815
|
+
return new SimulationError(leaf.haltingMessage ?? 'Transaction reverted', aztecCallStack, leaf.output, noirCallStack);
|
|
816
|
+
}
|
|
817
|
+
/**
|
|
818
|
+
* Finds the "rightmost deepest" revert in the call tree.
|
|
819
|
+
*
|
|
820
|
+
* At each level, we select the LAST (rightmost) reverted call, then recurse into its
|
|
821
|
+
* nested calls to find the deepest reverted leaf along that path. The chain stops
|
|
822
|
+
* when we encounter a non-reverted call (since you can choose not to rethrow).
|
|
823
|
+
*
|
|
824
|
+
* Examples (X = reverted, O = passed):
|
|
825
|
+
*
|
|
826
|
+
* 1. [X, X, X] at depth 1 -> returns the last X (rightmost)
|
|
827
|
+
*
|
|
828
|
+
* 2. [X(depth2), X, X] where first X has a nested revert -> returns the last X at depth 1,
|
|
829
|
+
* NOT the deeper revert in the first X (rightmost takes priority over depth)
|
|
830
|
+
*
|
|
831
|
+
* 3. X -> X -> X -> O -> O -> X (nested chain)
|
|
832
|
+
* Returns the 3rd X, because the O's break the reverted chain (they didn't rethrow)
|
|
833
|
+
*
|
|
834
|
+
* @param calls - Array of call metadata at the current level
|
|
835
|
+
* @param parentStack - Accumulated stack of parent calls (for building the result)
|
|
836
|
+
* @returns The deepest reverted call along the rightmost reverted path, or undefined if none
|
|
837
|
+
*/ findDeepestRevert(calls, parentStack = []) {
|
|
838
|
+
const lastReverted = calls.findLast((call)=>call.reverted);
|
|
839
|
+
if (!lastReverted) {
|
|
840
|
+
return undefined;
|
|
841
|
+
}
|
|
842
|
+
const currentStack = [
|
|
843
|
+
...parentStack,
|
|
844
|
+
lastReverted
|
|
845
|
+
];
|
|
846
|
+
return this.findDeepestRevert(lastReverted.nested, currentStack) || {
|
|
847
|
+
stack: currentStack,
|
|
848
|
+
leaf: lastReverted
|
|
849
|
+
};
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
export class PublicTxEffect {
|
|
853
|
+
transactionFee;
|
|
854
|
+
noteHashes;
|
|
855
|
+
nullifiers;
|
|
856
|
+
l2ToL1Msgs;
|
|
857
|
+
publicLogs;
|
|
858
|
+
publicDataWrites;
|
|
859
|
+
constructor(transactionFee, noteHashes, nullifiers, l2ToL1Msgs, publicLogs, publicDataWrites){
|
|
860
|
+
this.transactionFee = transactionFee;
|
|
861
|
+
this.noteHashes = noteHashes;
|
|
862
|
+
this.nullifiers = nullifiers;
|
|
863
|
+
this.l2ToL1Msgs = l2ToL1Msgs;
|
|
864
|
+
this.publicLogs = publicLogs;
|
|
865
|
+
this.publicDataWrites = publicDataWrites;
|
|
866
|
+
}
|
|
867
|
+
static empty() {
|
|
868
|
+
return new PublicTxEffect(Fr.ZERO, [], [], [], [], []);
|
|
869
|
+
}
|
|
870
|
+
static get schema() {
|
|
871
|
+
return z.object({
|
|
872
|
+
transactionFee: Fr.schema,
|
|
873
|
+
noteHashes: Fr.schema.array(),
|
|
874
|
+
nullifiers: Fr.schema.array(),
|
|
875
|
+
l2ToL1Msgs: ScopedL2ToL1Message.schema.array(),
|
|
876
|
+
publicLogs: PublicLog.schema.array(),
|
|
877
|
+
publicDataWrites: PublicDataWrite.schema.array()
|
|
878
|
+
}).transform(PublicTxEffect.from);
|
|
879
|
+
}
|
|
880
|
+
static from(obj) {
|
|
881
|
+
return new PublicTxEffect(obj.transactionFee, obj.noteHashes, obj.nullifiers, obj.l2ToL1Msgs, obj.publicLogs, obj.publicDataWrites);
|
|
882
|
+
}
|
|
883
|
+
static fromPlainObject(obj) {
|
|
884
|
+
return new PublicTxEffect(Fr.fromPlainObject(obj.transactionFee), obj.noteHashes.map((h)=>Fr.fromPlainObject(h)), obj.nullifiers.map((n)=>Fr.fromPlainObject(n)), obj.l2ToL1Msgs.map((m)=>ScopedL2ToL1Message.fromPlainObject(m)), obj.publicLogs.map((l)=>PublicLog.fromPlainObject(l)), obj.publicDataWrites.map((w)=>PublicDataWrite.fromPlainObject(w)));
|
|
885
|
+
}
|
|
886
|
+
equals(other) {
|
|
887
|
+
return this.transactionFee.equals(other.transactionFee) && this.noteHashes.length === other.noteHashes.length && this.noteHashes.every((h, i)=>h.equals(other.noteHashes[i])) && this.nullifiers.length === other.nullifiers.length && this.nullifiers.every((h, i)=>h.equals(other.nullifiers[i])) && this.l2ToL1Msgs.length === other.l2ToL1Msgs.length && this.l2ToL1Msgs.every((m, i)=>m.equals(other.l2ToL1Msgs[i])) && this.publicLogs.length === other.publicLogs.length && this.publicLogs.every((l, i)=>l.equals(other.publicLogs[i])) && this.publicDataWrites.length === other.publicDataWrites.length && this.publicDataWrites.every((w, i)=>w.equals(other.publicDataWrites[i]));
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
export class PublicTxResult {
|
|
891
|
+
gasUsed;
|
|
892
|
+
revertCode;
|
|
893
|
+
publicTxEffect;
|
|
894
|
+
callStackMetadata;
|
|
895
|
+
logs;
|
|
896
|
+
hints;
|
|
897
|
+
publicInputs;
|
|
898
|
+
constructor(// Simulation result.
|
|
899
|
+
gasUsed, revertCode, publicTxEffect, // These are only guaranteed to be present if the simulator is configured to collect them.
|
|
900
|
+
// TODO(fcarreiro): Remove NestedProcessReturnValues[] once we migrate to the C++ simulator.
|
|
901
|
+
callStackMetadata, logs, // For the proving request.
|
|
902
|
+
hints, publicInputs){
|
|
903
|
+
this.gasUsed = gasUsed;
|
|
904
|
+
this.revertCode = revertCode;
|
|
905
|
+
this.publicTxEffect = publicTxEffect;
|
|
906
|
+
this.callStackMetadata = callStackMetadata;
|
|
907
|
+
this.logs = logs;
|
|
908
|
+
this.hints = hints;
|
|
909
|
+
this.publicInputs = publicInputs;
|
|
910
|
+
}
|
|
911
|
+
static empty() {
|
|
912
|
+
return new PublicTxResult({
|
|
913
|
+
totalGas: Gas.empty(),
|
|
914
|
+
teardownGas: Gas.empty(),
|
|
915
|
+
publicGas: Gas.empty(),
|
|
916
|
+
billedGas: Gas.empty()
|
|
917
|
+
}, RevertCode.OK, PublicTxEffect.empty(), /*callStackMetadata=*/ [], /*logs=*/ [], /*hints=*/ AvmExecutionHints.empty(), /*publicInputs=*/ AvmCircuitPublicInputs.empty());
|
|
918
|
+
}
|
|
919
|
+
static get schema() {
|
|
920
|
+
return z.object({
|
|
921
|
+
gasUsed: schemas.GasUsed,
|
|
922
|
+
revertCode: RevertCode.schema,
|
|
923
|
+
revertReason: NullishToUndefined(SimulationError.schema),
|
|
924
|
+
publicTxEffect: PublicTxEffect.schema,
|
|
925
|
+
callStackMetadata: z.union([
|
|
926
|
+
CallStackMetadata.schema.array(),
|
|
927
|
+
NestedProcessReturnValues.schema.array()
|
|
928
|
+
]),
|
|
929
|
+
logs: NullishToUndefined(DebugLog.schema.array()),
|
|
930
|
+
// For the proving request.
|
|
931
|
+
publicInputs: NullishToUndefined(AvmCircuitPublicInputs.schema),
|
|
932
|
+
hints: NullishToUndefined(AvmExecutionHints.schema)
|
|
933
|
+
}).transform(({ gasUsed, revertCode, publicTxEffect, callStackMetadata, logs, hints, publicInputs })=>new PublicTxResult(gasUsed, revertCode, publicTxEffect, callStackMetadata, logs, hints, publicInputs));
|
|
934
|
+
}
|
|
935
|
+
/**
|
|
936
|
+
* Creates a PublicTxResult from a plain object without Zod validation.
|
|
937
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
938
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
939
|
+
* @param obj - Plain object containing PublicTxResult fields
|
|
940
|
+
* @returns A PublicTxResult instance
|
|
941
|
+
*/ static fromPlainObject(obj) {
|
|
942
|
+
return new PublicTxResult(GasUsed.fromPlainObject(obj.gasUsed), RevertCode.fromPlainObject(obj.revertCode), PublicTxEffect.fromPlainObject(obj.publicTxEffect), obj.callStackMetadata.map(CallStackMetadata.fromPlainObject), obj.logs?.map(DebugLog.fromPlainObject), obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined, obj.publicInputs ? AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs) : undefined);
|
|
943
|
+
}
|
|
944
|
+
/** Returns one level of return values for the app logic phase, one per enqueued call. */ getAppLogicReturnValues() {
|
|
945
|
+
if (this.callStackMetadata.every((metadata)=>metadata instanceof CallStackMetadata)) {
|
|
946
|
+
return this.callStackMetadata.filter((metadata)=>metadata.phase === TxExecutionPhase.APP_LOGIC).map((metadata)=>new NestedProcessReturnValues(metadata.output));
|
|
947
|
+
} else {
|
|
948
|
+
return this.callStackMetadata.map((metadata)=>new NestedProcessReturnValues(metadata.values, metadata.nested));
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
findRevertReason() {
|
|
952
|
+
if (this.revertCode.isOK()) {
|
|
953
|
+
return undefined;
|
|
954
|
+
}
|
|
955
|
+
const callStackMetadata = this.callStackMetadata;
|
|
956
|
+
// TODO(fcarreiro): Remove this after migration to the C++ simulator.
|
|
957
|
+
// If the "stack" comes from TS, it will have this field.
|
|
958
|
+
if (callStackMetadata.revertReason !== undefined) {
|
|
959
|
+
return callStackMetadata.revertReason;
|
|
960
|
+
}
|
|
961
|
+
// Handle CallStackMetadata[].
|
|
962
|
+
let revertReason = undefined;
|
|
963
|
+
for (const call of callStackMetadata){
|
|
964
|
+
revertReason = call.getRevertReason();
|
|
965
|
+
if (revertReason) {
|
|
966
|
+
break;
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
return revertReason;
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
export class CollectionLimitsConfig {
|
|
973
|
+
maxDebugLogMemoryReads;
|
|
974
|
+
maxCalldataSizeInFields;
|
|
975
|
+
maxReturndataSizeInFields;
|
|
976
|
+
maxCallStackDepth;
|
|
977
|
+
maxCallStackItems;
|
|
978
|
+
constructor(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems){
|
|
979
|
+
this.maxDebugLogMemoryReads = maxDebugLogMemoryReads;
|
|
980
|
+
this.maxCalldataSizeInFields = maxCalldataSizeInFields;
|
|
981
|
+
this.maxReturndataSizeInFields = maxReturndataSizeInFields;
|
|
982
|
+
this.maxCallStackDepth = maxCallStackDepth;
|
|
983
|
+
this.maxCallStackItems = maxCallStackItems;
|
|
984
|
+
}
|
|
985
|
+
static from(obj) {
|
|
986
|
+
return new CollectionLimitsConfig(obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS, obj.maxCalldataSizeInFields ?? 300, obj.maxReturndataSizeInFields ?? 300, obj.maxCallStackDepth ?? 5, obj.maxCallStackItems ?? 100);
|
|
987
|
+
}
|
|
988
|
+
static empty() {
|
|
989
|
+
return CollectionLimitsConfig.from({});
|
|
990
|
+
}
|
|
991
|
+
static get schema() {
|
|
992
|
+
return z.object({
|
|
993
|
+
maxDebugLogMemoryReads: z.number(),
|
|
994
|
+
maxCalldataSizeInFields: z.number(),
|
|
995
|
+
maxReturndataSizeInFields: z.number(),
|
|
996
|
+
maxCallStackDepth: z.number(),
|
|
997
|
+
maxCallStackItems: z.number()
|
|
998
|
+
}).transform(({ maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems })=>new CollectionLimitsConfig(maxDebugLogMemoryReads, maxCalldataSizeInFields, maxReturndataSizeInFields, maxCallStackDepth, maxCallStackItems));
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
export class PublicSimulatorConfig {
|
|
1002
|
+
proverId;
|
|
1003
|
+
skipFeeEnforcement;
|
|
1004
|
+
collectCallMetadata;
|
|
1005
|
+
collectHints;
|
|
1006
|
+
collectPublicInputs;
|
|
1007
|
+
collectDebugLogs;
|
|
1008
|
+
collectStatistics;
|
|
1009
|
+
collectionLimits;
|
|
1010
|
+
constructor(proverId, skipFeeEnforcement, collectCallMetadata, collectHints, collectPublicInputs, collectDebugLogs, collectStatistics, collectionLimits){
|
|
1011
|
+
this.proverId = proverId;
|
|
1012
|
+
this.skipFeeEnforcement = skipFeeEnforcement;
|
|
1013
|
+
this.collectCallMetadata = collectCallMetadata;
|
|
1014
|
+
this.collectHints = collectHints;
|
|
1015
|
+
this.collectPublicInputs = collectPublicInputs;
|
|
1016
|
+
this.collectDebugLogs = collectDebugLogs;
|
|
1017
|
+
this.collectStatistics = collectStatistics;
|
|
1018
|
+
this.collectionLimits = collectionLimits;
|
|
1019
|
+
}
|
|
1020
|
+
static from(obj) {
|
|
1021
|
+
return new PublicSimulatorConfig(obj.proverId ?? Fr.ZERO, obj.skipFeeEnforcement ?? false, obj.collectCallMetadata ?? false, obj.collectHints ?? false, obj.collectPublicInputs ?? false, obj.collectDebugLogs ?? false, obj.collectStatistics ?? false, obj.collectionLimits ?? CollectionLimitsConfig.empty());
|
|
1022
|
+
}
|
|
1023
|
+
static empty() {
|
|
1024
|
+
return PublicSimulatorConfig.from({});
|
|
1025
|
+
}
|
|
1026
|
+
static get schema() {
|
|
1027
|
+
return z.object({
|
|
1028
|
+
proverId: Fr.schema,
|
|
1029
|
+
skipFeeEnforcement: z.boolean(),
|
|
1030
|
+
collectCallMetadata: z.boolean(),
|
|
1031
|
+
collectHints: z.boolean(),
|
|
1032
|
+
collectPublicInputs: z.boolean(),
|
|
1033
|
+
collectDebugLogs: z.boolean(),
|
|
1034
|
+
collectStatistics: z.boolean(),
|
|
1035
|
+
collectionLimits: CollectionLimitsConfig.schema
|
|
1036
|
+
}).transform(PublicSimulatorConfig.from);
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
export class AvmFastSimulationInputs {
|
|
1040
|
+
wsRevision;
|
|
1041
|
+
config;
|
|
1042
|
+
tx;
|
|
1043
|
+
globalVariables;
|
|
1044
|
+
protocolContracts;
|
|
1045
|
+
constructor(wsRevision, config, tx, globalVariables, protocolContracts){
|
|
1046
|
+
this.wsRevision = wsRevision;
|
|
1047
|
+
this.config = config;
|
|
1048
|
+
this.tx = tx;
|
|
1049
|
+
this.globalVariables = globalVariables;
|
|
1050
|
+
this.protocolContracts = protocolContracts;
|
|
1051
|
+
}
|
|
1052
|
+
static empty() {
|
|
1053
|
+
return new AvmFastSimulationInputs(WorldStateRevision.empty(), PublicSimulatorConfig.empty(), AvmTxHint.empty(), GlobalVariables.empty(), ProtocolContracts.empty());
|
|
1054
|
+
}
|
|
1055
|
+
static get schema() {
|
|
1056
|
+
return z.object({
|
|
1057
|
+
wsRevision: WorldStateRevision.schema,
|
|
1058
|
+
config: PublicSimulatorConfig.schema,
|
|
1059
|
+
tx: AvmTxHint.schema,
|
|
1060
|
+
globalVariables: GlobalVariables.schema,
|
|
1061
|
+
protocolContracts: ProtocolContracts.schema
|
|
1062
|
+
}).transform(({ wsRevision, config, tx, globalVariables, protocolContracts })=>new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts));
|
|
1063
|
+
}
|
|
1064
|
+
serializeWithMessagePack() {
|
|
1065
|
+
return serializeWithMessagePack(this);
|
|
1066
|
+
}
|
|
1067
|
+
}
|