@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/src/avm/avm.ts
CHANGED
|
@@ -1,35 +1,48 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEFAULT_MAX_DEBUG_LOG_MEMORY_READS } from '@aztec/constants';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
|
-
import { schemas } from '@aztec/foundation/schemas';
|
|
4
4
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
|
+
import { FunctionSelector } from '../abi/index.js';
|
|
7
8
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
9
|
+
import { AllContractDeploymentData, ContractDeploymentData } from '../contract/index.js';
|
|
10
|
+
import { SimulationError } from '../errors/simulation_error.js';
|
|
8
11
|
import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
|
|
9
12
|
import { Gas } from '../gas/gas.js';
|
|
10
13
|
import { GasFees } from '../gas/gas_fees.js';
|
|
11
14
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
15
|
+
import { GasUsed } from '../gas/gas_used.js';
|
|
12
16
|
import { PublicKeys } from '../keys/public_keys.js';
|
|
17
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
18
|
+
import { PublicLog } from '../logs/public_log.js';
|
|
13
19
|
import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
|
|
20
|
+
import { NullishToUndefined, type ZodFor, schemas } from '../schemas/schemas.js';
|
|
14
21
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
15
22
|
import { MerkleTreeId } from '../trees/merkle_tree_id.js';
|
|
16
|
-
import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
17
|
-
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
23
|
+
import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
|
|
24
|
+
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
18
25
|
import {
|
|
19
26
|
GlobalVariables,
|
|
27
|
+
NestedProcessReturnValues,
|
|
20
28
|
ProtocolContracts,
|
|
21
29
|
PublicCallRequestWithCalldata,
|
|
22
30
|
TreeSnapshots,
|
|
23
31
|
type Tx,
|
|
24
32
|
} from '../tx/index.js';
|
|
33
|
+
import { TxExecutionPhase } from '../tx/processed_tx.js';
|
|
34
|
+
import { WorldStateRevision } from '../world-state/world_state_revision.js';
|
|
25
35
|
import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
|
|
26
36
|
import { serializeWithMessagePack } from './message_pack.js';
|
|
37
|
+
import { PublicDataWrite } from './public_data_write.js';
|
|
38
|
+
import { RevertCode } from './revert_code.js';
|
|
27
39
|
|
|
28
40
|
////////////////////////////////////////////////////////////////////////////
|
|
29
41
|
// Hints (contracts)
|
|
30
42
|
////////////////////////////////////////////////////////////////////////////
|
|
31
43
|
export class AvmContractClassHint {
|
|
32
44
|
constructor(
|
|
45
|
+
public readonly hintKey: number,
|
|
33
46
|
public readonly classId: Fr,
|
|
34
47
|
public readonly artifactHash: Fr,
|
|
35
48
|
public readonly privateFunctionsRoot: Fr,
|
|
@@ -39,20 +52,42 @@ export class AvmContractClassHint {
|
|
|
39
52
|
static get schema() {
|
|
40
53
|
return z
|
|
41
54
|
.object({
|
|
55
|
+
hintKey: z.number().int().nonnegative(),
|
|
42
56
|
classId: schemas.Fr,
|
|
43
57
|
artifactHash: schemas.Fr,
|
|
44
58
|
privateFunctionsRoot: schemas.Fr,
|
|
45
59
|
packedBytecode: schemas.Buffer,
|
|
46
60
|
})
|
|
47
61
|
.transform(
|
|
48
|
-
({ classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
|
|
49
|
-
new AvmContractClassHint(classId, artifactHash, privateFunctionsRoot, packedBytecode),
|
|
62
|
+
({ hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode }) =>
|
|
63
|
+
new AvmContractClassHint(hintKey, classId, artifactHash, privateFunctionsRoot, packedBytecode),
|
|
50
64
|
);
|
|
51
65
|
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Creates an AvmContractClassHint from a plain object without Zod validation.
|
|
69
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
70
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
71
|
+
* @param obj - Plain object containing AvmContractClassHint fields
|
|
72
|
+
* @returns An AvmContractClassHint instance
|
|
73
|
+
*/
|
|
74
|
+
static fromPlainObject(obj: any): AvmContractClassHint {
|
|
75
|
+
if (obj instanceof AvmContractClassHint) {
|
|
76
|
+
return obj;
|
|
77
|
+
}
|
|
78
|
+
return new AvmContractClassHint(
|
|
79
|
+
obj.hintKey,
|
|
80
|
+
Fr.fromPlainObject(obj.classId),
|
|
81
|
+
Fr.fromPlainObject(obj.artifactHash),
|
|
82
|
+
Fr.fromPlainObject(obj.privateFunctionsRoot),
|
|
83
|
+
obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode),
|
|
84
|
+
);
|
|
85
|
+
}
|
|
52
86
|
}
|
|
53
87
|
|
|
54
88
|
export class AvmBytecodeCommitmentHint {
|
|
55
89
|
constructor(
|
|
90
|
+
public readonly hintKey: number,
|
|
56
91
|
public readonly classId: Fr,
|
|
57
92
|
public readonly commitment: Fr,
|
|
58
93
|
) {}
|
|
@@ -60,56 +95,143 @@ export class AvmBytecodeCommitmentHint {
|
|
|
60
95
|
static get schema() {
|
|
61
96
|
return z
|
|
62
97
|
.object({
|
|
98
|
+
hintKey: z.number().int().nonnegative(),
|
|
63
99
|
classId: schemas.Fr,
|
|
64
100
|
commitment: schemas.Fr,
|
|
65
101
|
})
|
|
66
|
-
.transform(({ classId, commitment }) => new AvmBytecodeCommitmentHint(classId, commitment));
|
|
102
|
+
.transform(({ hintKey, classId, commitment }) => new AvmBytecodeCommitmentHint(hintKey, classId, commitment));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Creates an AvmBytecodeCommitmentHint from a plain object without Zod validation.
|
|
107
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
108
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
109
|
+
* @param obj - Plain object containing AvmBytecodeCommitmentHint fields
|
|
110
|
+
* @returns An AvmBytecodeCommitmentHint instance
|
|
111
|
+
*/
|
|
112
|
+
static fromPlainObject(obj: any): AvmBytecodeCommitmentHint {
|
|
113
|
+
if (obj instanceof AvmBytecodeCommitmentHint) {
|
|
114
|
+
return obj;
|
|
115
|
+
}
|
|
116
|
+
return new AvmBytecodeCommitmentHint(
|
|
117
|
+
obj.hintKey,
|
|
118
|
+
Fr.fromPlainObject(obj.classId),
|
|
119
|
+
Fr.fromPlainObject(obj.commitment),
|
|
120
|
+
);
|
|
67
121
|
}
|
|
68
122
|
}
|
|
69
123
|
|
|
70
124
|
export class AvmContractInstanceHint {
|
|
71
125
|
constructor(
|
|
126
|
+
public readonly hintKey: number,
|
|
72
127
|
public readonly address: AztecAddress,
|
|
73
128
|
public readonly salt: Fr,
|
|
74
129
|
public readonly deployer: AztecAddress,
|
|
75
130
|
public readonly currentContractClassId: Fr,
|
|
76
131
|
public readonly originalContractClassId: Fr,
|
|
77
132
|
public readonly initializationHash: Fr,
|
|
133
|
+
public readonly immutablesHash: Fr,
|
|
78
134
|
public readonly publicKeys: PublicKeys,
|
|
79
135
|
) {}
|
|
80
136
|
|
|
81
137
|
static get schema() {
|
|
82
138
|
return z
|
|
83
139
|
.object({
|
|
140
|
+
hintKey: z.number().int().nonnegative(),
|
|
84
141
|
address: AztecAddress.schema,
|
|
85
142
|
salt: schemas.Fr,
|
|
86
143
|
deployer: AztecAddress.schema,
|
|
87
144
|
currentContractClassId: schemas.Fr,
|
|
88
145
|
originalContractClassId: schemas.Fr,
|
|
89
146
|
initializationHash: schemas.Fr,
|
|
147
|
+
immutablesHash: schemas.Fr,
|
|
90
148
|
publicKeys: PublicKeys.schema,
|
|
91
149
|
})
|
|
92
150
|
.transform(
|
|
93
151
|
({
|
|
152
|
+
hintKey,
|
|
94
153
|
address,
|
|
95
154
|
salt,
|
|
96
155
|
deployer,
|
|
97
156
|
currentContractClassId,
|
|
98
157
|
originalContractClassId,
|
|
99
158
|
initializationHash,
|
|
159
|
+
immutablesHash,
|
|
100
160
|
publicKeys,
|
|
101
161
|
}) =>
|
|
102
162
|
new AvmContractInstanceHint(
|
|
163
|
+
hintKey,
|
|
103
164
|
address,
|
|
104
165
|
salt,
|
|
105
166
|
deployer,
|
|
106
167
|
currentContractClassId,
|
|
107
168
|
originalContractClassId,
|
|
108
169
|
initializationHash,
|
|
170
|
+
immutablesHash,
|
|
109
171
|
publicKeys,
|
|
110
172
|
),
|
|
111
173
|
);
|
|
112
174
|
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Creates an AvmContractInstanceHint from a plain object without Zod validation.
|
|
178
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
179
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
180
|
+
* @param obj - Plain object containing AvmContractInstanceHint fields
|
|
181
|
+
* @returns An AvmContractInstanceHint instance
|
|
182
|
+
*/
|
|
183
|
+
static fromPlainObject(obj: any): AvmContractInstanceHint {
|
|
184
|
+
if (obj instanceof AvmContractInstanceHint) {
|
|
185
|
+
return obj;
|
|
186
|
+
}
|
|
187
|
+
return new AvmContractInstanceHint(
|
|
188
|
+
obj.hintKey,
|
|
189
|
+
AztecAddress.fromPlainObject(obj.address),
|
|
190
|
+
Fr.fromPlainObject(obj.salt),
|
|
191
|
+
AztecAddress.fromPlainObject(obj.deployer),
|
|
192
|
+
Fr.fromPlainObject(obj.currentContractClassId),
|
|
193
|
+
Fr.fromPlainObject(obj.originalContractClassId),
|
|
194
|
+
Fr.fromPlainObject(obj.initializationHash),
|
|
195
|
+
Fr.fromPlainObject(obj.immutablesHash),
|
|
196
|
+
PublicKeys.fromPlainObject(obj.publicKeys),
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export class AvmDebugFunctionNameHint {
|
|
202
|
+
constructor(
|
|
203
|
+
public readonly address: AztecAddress,
|
|
204
|
+
public readonly selector: Fr,
|
|
205
|
+
public readonly name: string,
|
|
206
|
+
) {}
|
|
207
|
+
|
|
208
|
+
static get schema() {
|
|
209
|
+
return z
|
|
210
|
+
.object({
|
|
211
|
+
address: AztecAddress.schema,
|
|
212
|
+
selector: schemas.Fr,
|
|
213
|
+
name: z.string(),
|
|
214
|
+
})
|
|
215
|
+
.transform(({ address, selector, name }) => new AvmDebugFunctionNameHint(address, selector, name));
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Creates an AvmDebugFunctionNameHint from a plain object without Zod validation.
|
|
220
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
221
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
222
|
+
* @param obj - Plain object containing AvmDebugFunctionNameHint fields
|
|
223
|
+
* @returns An AvmDebugFunctionNameHint instance
|
|
224
|
+
*/
|
|
225
|
+
static fromPlainObject(obj: any): AvmDebugFunctionNameHint {
|
|
226
|
+
if (obj instanceof AvmDebugFunctionNameHint) {
|
|
227
|
+
return obj;
|
|
228
|
+
}
|
|
229
|
+
return new AvmDebugFunctionNameHint(
|
|
230
|
+
AztecAddress.fromPlainObject(obj.address),
|
|
231
|
+
Fr.fromPlainObject(obj.selector),
|
|
232
|
+
obj.name,
|
|
233
|
+
);
|
|
234
|
+
}
|
|
113
235
|
}
|
|
114
236
|
|
|
115
237
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -136,6 +258,25 @@ export class AvmGetSiblingPathHint {
|
|
|
136
258
|
})
|
|
137
259
|
.transform(({ hintKey, treeId, index, path }) => new AvmGetSiblingPathHint(hintKey, treeId, index, path));
|
|
138
260
|
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Creates an AvmGetSiblingPathHint from a plain object without Zod validation.
|
|
264
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
265
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
266
|
+
* @param obj - Plain object containing AvmGetSiblingPathHint fields
|
|
267
|
+
* @returns An AvmGetSiblingPathHint instance
|
|
268
|
+
*/
|
|
269
|
+
static fromPlainObject(obj: any): AvmGetSiblingPathHint {
|
|
270
|
+
if (obj instanceof AvmGetSiblingPathHint) {
|
|
271
|
+
return obj;
|
|
272
|
+
}
|
|
273
|
+
return new AvmGetSiblingPathHint(
|
|
274
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
275
|
+
obj.treeId,
|
|
276
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
277
|
+
obj.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
278
|
+
);
|
|
279
|
+
}
|
|
139
280
|
}
|
|
140
281
|
|
|
141
282
|
// Hint for MerkleTreeDB.getPreviousValueIndex.
|
|
@@ -164,6 +305,26 @@ export class AvmGetPreviousValueIndexHint {
|
|
|
164
305
|
new AvmGetPreviousValueIndexHint(hintKey, treeId, value, index, alreadyPresent),
|
|
165
306
|
);
|
|
166
307
|
}
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Creates an AvmGetPreviousValueIndexHint from a plain object without Zod validation.
|
|
311
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
312
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
313
|
+
* @param obj - Plain object containing AvmGetPreviousValueIndexHint fields
|
|
314
|
+
* @returns An AvmGetPreviousValueIndexHint instance
|
|
315
|
+
*/
|
|
316
|
+
static fromPlainObject(obj: any): AvmGetPreviousValueIndexHint {
|
|
317
|
+
if (obj instanceof AvmGetPreviousValueIndexHint) {
|
|
318
|
+
return obj;
|
|
319
|
+
}
|
|
320
|
+
return new AvmGetPreviousValueIndexHint(
|
|
321
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
322
|
+
obj.treeId,
|
|
323
|
+
Fr.fromPlainObject(obj.value),
|
|
324
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
325
|
+
obj.alreadyPresent,
|
|
326
|
+
);
|
|
327
|
+
}
|
|
167
328
|
}
|
|
168
329
|
|
|
169
330
|
type IndexedTreeLeafPreimages = NullifierLeafPreimage | PublicDataTreeLeafPreimage;
|
|
@@ -191,6 +352,24 @@ function AvmGetLeafPreimageHintFactory(klass: IndexedTreeLeafPreimagesClasses) {
|
|
|
191
352
|
})
|
|
192
353
|
.transform(({ hintKey, index, leafPreimage }) => new this(hintKey, index, leafPreimage));
|
|
193
354
|
}
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Creates an instance from a plain object without Zod validation.
|
|
358
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
359
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
360
|
+
* @param obj - Plain object containing hint fields
|
|
361
|
+
* @returns An instance
|
|
362
|
+
*/
|
|
363
|
+
static fromPlainObject(obj: any): any {
|
|
364
|
+
if (obj instanceof this) {
|
|
365
|
+
return obj;
|
|
366
|
+
}
|
|
367
|
+
return new this(
|
|
368
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
369
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
370
|
+
klass.fromPlainObject(obj.leafPreimage),
|
|
371
|
+
);
|
|
372
|
+
}
|
|
194
373
|
};
|
|
195
374
|
}
|
|
196
375
|
|
|
@@ -220,6 +399,25 @@ export class AvmGetLeafValueHint {
|
|
|
220
399
|
})
|
|
221
400
|
.transform(({ hintKey, treeId, index, value }) => new AvmGetLeafValueHint(hintKey, treeId, index, value));
|
|
222
401
|
}
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Creates an AvmGetLeafValueHint from a plain object without Zod validation.
|
|
405
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
406
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
407
|
+
* @param obj - Plain object containing AvmGetLeafValueHint fields
|
|
408
|
+
* @returns An AvmGetLeafValueHint instance
|
|
409
|
+
*/
|
|
410
|
+
static fromPlainObject(obj: any): AvmGetLeafValueHint {
|
|
411
|
+
if (obj instanceof AvmGetLeafValueHint) {
|
|
412
|
+
return obj;
|
|
413
|
+
}
|
|
414
|
+
return new AvmGetLeafValueHint(
|
|
415
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
416
|
+
obj.treeId,
|
|
417
|
+
typeof obj.index === 'bigint' ? obj.index : BigInt(obj.index),
|
|
418
|
+
Fr.fromPlainObject(obj.value),
|
|
419
|
+
);
|
|
420
|
+
}
|
|
223
421
|
}
|
|
224
422
|
|
|
225
423
|
// Hint for MerkleTreeDB.sequentialInsert.
|
|
@@ -269,6 +467,43 @@ function AvmSequentialInsertHintFactory(klass: IndexedTreeLeafPreimagesClasses)
|
|
|
269
467
|
new this(hintKey, stateAfter, treeId, leaf, lowLeavesWitnessData, insertionWitnessData),
|
|
270
468
|
);
|
|
271
469
|
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Creates an instance from a plain object without Zod validation.
|
|
473
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
474
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
475
|
+
* @param obj - Plain object containing hint fields
|
|
476
|
+
* @returns An instance
|
|
477
|
+
*/
|
|
478
|
+
static fromPlainObject(obj: any): any {
|
|
479
|
+
if (obj instanceof this) {
|
|
480
|
+
return obj;
|
|
481
|
+
}
|
|
482
|
+
// Determine the leaf class based on the klass parameter
|
|
483
|
+
const LeafClass = klass === PublicDataTreeLeafPreimage ? PublicDataTreeLeaf : NullifierLeaf;
|
|
484
|
+
return new this(
|
|
485
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
486
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
|
|
487
|
+
obj.treeId,
|
|
488
|
+
LeafClass.fromPlainObject(obj.leaf),
|
|
489
|
+
{
|
|
490
|
+
leaf: klass.fromPlainObject(obj.lowLeavesWitnessData.leaf),
|
|
491
|
+
index:
|
|
492
|
+
typeof obj.lowLeavesWitnessData.index === 'bigint'
|
|
493
|
+
? obj.lowLeavesWitnessData.index
|
|
494
|
+
: BigInt(obj.lowLeavesWitnessData.index),
|
|
495
|
+
path: obj.lowLeavesWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
leaf: klass.fromPlainObject(obj.insertionWitnessData.leaf),
|
|
499
|
+
index:
|
|
500
|
+
typeof obj.insertionWitnessData.index === 'bigint'
|
|
501
|
+
? obj.insertionWitnessData.index
|
|
502
|
+
: BigInt(obj.insertionWitnessData.index),
|
|
503
|
+
path: obj.insertionWitnessData.path.map((p: any) => Fr.fromPlainObject(p)),
|
|
504
|
+
},
|
|
505
|
+
);
|
|
506
|
+
}
|
|
272
507
|
};
|
|
273
508
|
}
|
|
274
509
|
|
|
@@ -299,6 +534,25 @@ export class AvmAppendLeavesHint {
|
|
|
299
534
|
({ hintKey, stateAfter, treeId, leaves }) => new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves),
|
|
300
535
|
);
|
|
301
536
|
}
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* Creates an AvmAppendLeavesHint from a plain object without Zod validation.
|
|
540
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
541
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
542
|
+
* @param obj - Plain object containing AvmAppendLeavesHint fields
|
|
543
|
+
* @returns An AvmAppendLeavesHint instance
|
|
544
|
+
*/
|
|
545
|
+
static fromPlainObject(obj: any): AvmAppendLeavesHint {
|
|
546
|
+
if (obj instanceof AvmAppendLeavesHint) {
|
|
547
|
+
return obj;
|
|
548
|
+
}
|
|
549
|
+
return new AvmAppendLeavesHint(
|
|
550
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.hintKey),
|
|
551
|
+
AppendOnlyTreeSnapshot.fromPlainObject(obj.stateAfter),
|
|
552
|
+
obj.treeId,
|
|
553
|
+
obj.leaves.map((l: any) => Fr.fromPlainObject(l)),
|
|
554
|
+
);
|
|
555
|
+
}
|
|
302
556
|
}
|
|
303
557
|
|
|
304
558
|
// Hint for checkpoint actions that don't change the state.
|
|
@@ -323,6 +577,20 @@ class AvmCheckpointActionNoStateChangeHint {
|
|
|
323
577
|
new this(actionCounter, oldCheckpointId, newCheckpointId),
|
|
324
578
|
);
|
|
325
579
|
}
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* Creates an instance from a plain object without Zod validation.
|
|
583
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
584
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
585
|
+
* @param obj - Plain object containing hint fields
|
|
586
|
+
* @returns An instance
|
|
587
|
+
*/
|
|
588
|
+
static fromPlainObject(obj: any): any {
|
|
589
|
+
if (obj instanceof this) {
|
|
590
|
+
return obj;
|
|
591
|
+
}
|
|
592
|
+
return new this(obj.actionCounter, obj.oldCheckpointId, obj.newCheckpointId);
|
|
593
|
+
}
|
|
326
594
|
}
|
|
327
595
|
|
|
328
596
|
// Hint for MerkleTreeDB.createCheckpoint.
|
|
@@ -385,8 +653,32 @@ export class AvmRevertCheckpointHint {
|
|
|
385
653
|
new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter),
|
|
386
654
|
);
|
|
387
655
|
}
|
|
656
|
+
|
|
657
|
+
/**
|
|
658
|
+
* Creates an AvmRevertCheckpointHint from a plain object without Zod validation.
|
|
659
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
660
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
661
|
+
* @param obj - Plain object containing AvmRevertCheckpointHint fields
|
|
662
|
+
* @returns An AvmRevertCheckpointHint instance
|
|
663
|
+
*/
|
|
664
|
+
static fromPlainObject(obj: any): AvmRevertCheckpointHint {
|
|
665
|
+
if (obj instanceof AvmRevertCheckpointHint) {
|
|
666
|
+
return obj;
|
|
667
|
+
}
|
|
668
|
+
return new AvmRevertCheckpointHint(
|
|
669
|
+
obj.actionCounter,
|
|
670
|
+
obj.oldCheckpointId,
|
|
671
|
+
obj.newCheckpointId,
|
|
672
|
+
TreeSnapshots.fromPlainObject(obj.stateBefore),
|
|
673
|
+
TreeSnapshots.fromPlainObject(obj.stateAfter),
|
|
674
|
+
);
|
|
675
|
+
}
|
|
388
676
|
}
|
|
389
677
|
|
|
678
|
+
export class AvmContractDbCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
679
|
+
export class AvmContractDbCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
680
|
+
export class AvmContractDbRevertCheckpointHint extends AvmCheckpointActionNoStateChangeHint {}
|
|
681
|
+
|
|
390
682
|
////////////////////////////////////////////////////////////////////////////
|
|
391
683
|
// Hints (other)
|
|
392
684
|
////////////////////////////////////////////////////////////////////////////
|
|
@@ -395,6 +687,8 @@ export class AvmTxHint {
|
|
|
395
687
|
public readonly hash: string,
|
|
396
688
|
public readonly gasSettings: GasSettings,
|
|
397
689
|
public readonly effectiveGasFees: GasFees,
|
|
690
|
+
public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
|
|
691
|
+
public readonly revertibleContractDeploymentData: ContractDeploymentData,
|
|
398
692
|
public readonly nonRevertibleAccumulatedData: {
|
|
399
693
|
noteHashes: Fr[];
|
|
400
694
|
nullifiers: Fr[];
|
|
@@ -420,6 +714,7 @@ export class AvmTxHint {
|
|
|
420
714
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
421
715
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
422
716
|
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
717
|
+
const allContractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
423
718
|
|
|
424
719
|
// For informational purposes. Assumed quick because it should be cached.
|
|
425
720
|
const txHash = tx.getTxHash();
|
|
@@ -428,6 +723,8 @@ export class AvmTxHint {
|
|
|
428
723
|
txHash.hash.toString(),
|
|
429
724
|
gasSettings,
|
|
430
725
|
effectiveGasFees,
|
|
726
|
+
allContractDeploymentData.getNonRevertibleContractDeploymentData(),
|
|
727
|
+
allContractDeploymentData.getRevertibleContractDeploymentData(),
|
|
431
728
|
{
|
|
432
729
|
noteHashes: tx.data.forPublic!.nonRevertibleAccumulatedData.noteHashes.filter(x => !x.isZero()),
|
|
433
730
|
nullifiers: tx.data.forPublic!.nonRevertibleAccumulatedData.nullifiers.filter(x => !x.isZero()),
|
|
@@ -451,6 +748,8 @@ export class AvmTxHint {
|
|
|
451
748
|
'',
|
|
452
749
|
GasSettings.empty(),
|
|
453
750
|
GasFees.empty(),
|
|
751
|
+
ContractDeploymentData.empty(),
|
|
752
|
+
ContractDeploymentData.empty(),
|
|
454
753
|
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
455
754
|
{ noteHashes: [], nullifiers: [], l2ToL1Messages: [] },
|
|
456
755
|
[],
|
|
@@ -461,12 +760,53 @@ export class AvmTxHint {
|
|
|
461
760
|
);
|
|
462
761
|
}
|
|
463
762
|
|
|
763
|
+
/**
|
|
764
|
+
* Creates an AvmTxHint from a plain object without Zod validation.
|
|
765
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
766
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
767
|
+
* @param obj - Plain object containing AvmTxHint fields
|
|
768
|
+
* @returns An AvmTxHint instance
|
|
769
|
+
*/
|
|
770
|
+
static fromPlainObject(obj: any): AvmTxHint {
|
|
771
|
+
if (obj instanceof AvmTxHint) {
|
|
772
|
+
return obj;
|
|
773
|
+
}
|
|
774
|
+
return new AvmTxHint(
|
|
775
|
+
obj.hash,
|
|
776
|
+
GasSettings.fromPlainObject(obj.gasSettings),
|
|
777
|
+
GasFees.fromPlainObject(obj.effectiveGasFees),
|
|
778
|
+
ContractDeploymentData.fromPlainObject(obj.nonRevertibleContractDeploymentData),
|
|
779
|
+
ContractDeploymentData.fromPlainObject(obj.revertibleContractDeploymentData),
|
|
780
|
+
{
|
|
781
|
+
noteHashes: obj.nonRevertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
782
|
+
nullifiers: obj.nonRevertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
783
|
+
l2ToL1Messages: obj.nonRevertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
|
|
784
|
+
ScopedL2ToL1Message.fromPlainObject(m),
|
|
785
|
+
),
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
noteHashes: obj.revertibleAccumulatedData.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
789
|
+
nullifiers: obj.revertibleAccumulatedData.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
790
|
+
l2ToL1Messages: obj.revertibleAccumulatedData.l2ToL1Messages.map((m: any) =>
|
|
791
|
+
ScopedL2ToL1Message.fromPlainObject(m),
|
|
792
|
+
),
|
|
793
|
+
},
|
|
794
|
+
obj.setupEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
|
|
795
|
+
obj.appLogicEnqueuedCalls.map((c: any) => PublicCallRequestWithCalldata.fromPlainObject(c)),
|
|
796
|
+
obj.teardownEnqueuedCall ? PublicCallRequestWithCalldata.fromPlainObject(obj.teardownEnqueuedCall) : null,
|
|
797
|
+
Gas.fromPlainObject(obj.gasUsedByPrivate),
|
|
798
|
+
AztecAddress.fromPlainObject(obj.feePayer),
|
|
799
|
+
);
|
|
800
|
+
}
|
|
801
|
+
|
|
464
802
|
static get schema() {
|
|
465
803
|
return z
|
|
466
804
|
.object({
|
|
467
805
|
hash: z.string(),
|
|
468
806
|
gasSettings: GasSettings.schema,
|
|
469
807
|
effectiveGasFees: GasFees.schema,
|
|
808
|
+
nonRevertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
809
|
+
revertibleContractDeploymentData: ContractDeploymentData.schema,
|
|
470
810
|
nonRevertibleAccumulatedData: z.object({
|
|
471
811
|
noteHashes: schemas.Fr.array(),
|
|
472
812
|
nullifiers: schemas.Fr.array(),
|
|
@@ -488,6 +828,8 @@ export class AvmTxHint {
|
|
|
488
828
|
hash,
|
|
489
829
|
gasSettings,
|
|
490
830
|
effectiveGasFees,
|
|
831
|
+
nonRevertibleContractDeploymentData,
|
|
832
|
+
revertibleContractDeploymentData,
|
|
491
833
|
nonRevertibleAccumulatedData,
|
|
492
834
|
revertibleAccumulatedData,
|
|
493
835
|
setupEnqueuedCalls,
|
|
@@ -500,6 +842,8 @@ export class AvmTxHint {
|
|
|
500
842
|
hash,
|
|
501
843
|
gasSettings,
|
|
502
844
|
effectiveGasFees,
|
|
845
|
+
nonRevertibleContractDeploymentData,
|
|
846
|
+
revertibleContractDeploymentData,
|
|
503
847
|
nonRevertibleAccumulatedData,
|
|
504
848
|
revertibleAccumulatedData,
|
|
505
849
|
setupEnqueuedCalls,
|
|
@@ -522,6 +866,10 @@ export class AvmExecutionHints {
|
|
|
522
866
|
public readonly contractInstances: AvmContractInstanceHint[] = [],
|
|
523
867
|
public readonly contractClasses: AvmContractClassHint[] = [],
|
|
524
868
|
public readonly bytecodeCommitments: AvmBytecodeCommitmentHint[] = [],
|
|
869
|
+
public readonly debugFunctionNames: AvmDebugFunctionNameHint[] = [],
|
|
870
|
+
public readonly contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint[] = [],
|
|
871
|
+
public readonly contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint[] = [],
|
|
872
|
+
public readonly contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint[] = [],
|
|
525
873
|
// Merkle DB hints.
|
|
526
874
|
public startingTreeRoots: TreeSnapshots = TreeSnapshots.empty(),
|
|
527
875
|
public readonly getSiblingPathHints: AvmGetSiblingPathHint[] = [],
|
|
@@ -537,6 +885,50 @@ export class AvmExecutionHints {
|
|
|
537
885
|
public readonly revertCheckpointHints: AvmRevertCheckpointHint[] = [],
|
|
538
886
|
) {}
|
|
539
887
|
|
|
888
|
+
/**
|
|
889
|
+
* Creates an AvmExecutionHints from a plain object without Zod validation.
|
|
890
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
891
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
892
|
+
* @param obj - Plain object containing AvmExecutionHints fields
|
|
893
|
+
* @returns An AvmExecutionHints instance
|
|
894
|
+
*/
|
|
895
|
+
static fromPlainObject(obj: any): AvmExecutionHints {
|
|
896
|
+
if (obj instanceof AvmExecutionHints) {
|
|
897
|
+
return obj;
|
|
898
|
+
}
|
|
899
|
+
return new AvmExecutionHints(
|
|
900
|
+
GlobalVariables.fromPlainObject(obj.globalVariables),
|
|
901
|
+
AvmTxHint.fromPlainObject(obj.tx),
|
|
902
|
+
ProtocolContracts.fromPlainObject(obj.protocolContracts),
|
|
903
|
+
obj.contractInstances?.map((i: any) => AvmContractInstanceHint.fromPlainObject(i)) || [],
|
|
904
|
+
obj.contractClasses?.map((c: any) => AvmContractClassHint.fromPlainObject(c)) || [],
|
|
905
|
+
obj.bytecodeCommitments?.map((b: any) => AvmBytecodeCommitmentHint.fromPlainObject(b)) || [],
|
|
906
|
+
obj.debugFunctionNames?.map((d: any) => AvmDebugFunctionNameHint.fromPlainObject(d)) || [],
|
|
907
|
+
obj.contractDbCreateCheckpointHints?.map((h: any) => AvmContractDbCreateCheckpointHint.fromPlainObject(h)) || [],
|
|
908
|
+
obj.contractDbCommitCheckpointHints?.map((h: any) => AvmContractDbCommitCheckpointHint.fromPlainObject(h)) || [],
|
|
909
|
+
obj.contractDbRevertCheckpointHints?.map((h: any) => AvmContractDbRevertCheckpointHint.fromPlainObject(h)) || [],
|
|
910
|
+
obj.startingTreeRoots ? TreeSnapshots.fromPlainObject(obj.startingTreeRoots) : TreeSnapshots.empty(),
|
|
911
|
+
obj.getSiblingPathHints?.map((h: any) => AvmGetSiblingPathHint.fromPlainObject(h)) || [],
|
|
912
|
+
obj.getPreviousValueIndexHints?.map((h: any) => AvmGetPreviousValueIndexHint.fromPlainObject(h)) || [],
|
|
913
|
+
obj.getLeafPreimageHintsPublicDataTree?.map((h: any) =>
|
|
914
|
+
AvmGetLeafPreimageHintPublicDataTree.fromPlainObject(h),
|
|
915
|
+
) || [],
|
|
916
|
+
obj.getLeafPreimageHintsNullifierTree?.map((h: any) => AvmGetLeafPreimageHintNullifierTree.fromPlainObject(h)) ||
|
|
917
|
+
[],
|
|
918
|
+
obj.getLeafValueHints?.map((h: any) => AvmGetLeafValueHint.fromPlainObject(h)) || [],
|
|
919
|
+
obj.sequentialInsertHintsPublicDataTree?.map((h: any) =>
|
|
920
|
+
AvmSequentialInsertHintPublicDataTree.fromPlainObject(h),
|
|
921
|
+
) || [],
|
|
922
|
+
obj.sequentialInsertHintsNullifierTree?.map((h: any) =>
|
|
923
|
+
AvmSequentialInsertHintNullifierTree.fromPlainObject(h),
|
|
924
|
+
) || [],
|
|
925
|
+
obj.appendLeavesHints?.map((h: any) => AvmAppendLeavesHint.fromPlainObject(h)) || [],
|
|
926
|
+
obj.createCheckpointHints?.map((h: any) => AvmCreateCheckpointHint.fromPlainObject(h)) || [],
|
|
927
|
+
obj.commitCheckpointHints?.map((h: any) => AvmCommitCheckpointHint.fromPlainObject(h)) || [],
|
|
928
|
+
obj.revertCheckpointHints?.map((h: any) => AvmRevertCheckpointHint.fromPlainObject(h)) || [],
|
|
929
|
+
);
|
|
930
|
+
}
|
|
931
|
+
|
|
540
932
|
static empty() {
|
|
541
933
|
return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
|
|
542
934
|
}
|
|
@@ -550,6 +942,10 @@ export class AvmExecutionHints {
|
|
|
550
942
|
contractInstances: AvmContractInstanceHint.schema.array(),
|
|
551
943
|
contractClasses: AvmContractClassHint.schema.array(),
|
|
552
944
|
bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
|
|
945
|
+
debugFunctionNames: AvmDebugFunctionNameHint.schema.array(),
|
|
946
|
+
contractDbCreateCheckpointHints: AvmContractDbCreateCheckpointHint.schema.array(),
|
|
947
|
+
contractDbCommitCheckpointHints: AvmContractDbCommitCheckpointHint.schema.array(),
|
|
948
|
+
contractDbRevertCheckpointHints: AvmContractDbRevertCheckpointHint.schema.array(),
|
|
553
949
|
startingTreeRoots: TreeSnapshots.schema,
|
|
554
950
|
getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
|
|
555
951
|
getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
|
|
@@ -571,6 +967,10 @@ export class AvmExecutionHints {
|
|
|
571
967
|
contractInstances,
|
|
572
968
|
contractClasses,
|
|
573
969
|
bytecodeCommitments,
|
|
970
|
+
debugFunctionNames,
|
|
971
|
+
contractDbCreateCheckpointHints,
|
|
972
|
+
contractDbCommitCheckpointHints,
|
|
973
|
+
contractDbRevertCheckpointHints,
|
|
574
974
|
startingTreeRoots,
|
|
575
975
|
getSiblingPathHints,
|
|
576
976
|
getPreviousValueIndexHints,
|
|
@@ -591,6 +991,10 @@ export class AvmExecutionHints {
|
|
|
591
991
|
contractInstances,
|
|
592
992
|
contractClasses,
|
|
593
993
|
bytecodeCommitments,
|
|
994
|
+
debugFunctionNames,
|
|
995
|
+
contractDbCreateCheckpointHints,
|
|
996
|
+
contractDbCommitCheckpointHints,
|
|
997
|
+
contractDbRevertCheckpointHints,
|
|
594
998
|
startingTreeRoots,
|
|
595
999
|
getSiblingPathHints,
|
|
596
1000
|
getPreviousValueIndexHints,
|
|
@@ -618,6 +1022,13 @@ export class AvmCircuitInputs {
|
|
|
618
1022
|
return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
|
|
619
1023
|
}
|
|
620
1024
|
|
|
1025
|
+
static fromPlainObject(obj: any): AvmCircuitInputs {
|
|
1026
|
+
return new AvmCircuitInputs(
|
|
1027
|
+
AvmExecutionHints.fromPlainObject(obj.hints),
|
|
1028
|
+
AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs),
|
|
1029
|
+
);
|
|
1030
|
+
}
|
|
1031
|
+
|
|
621
1032
|
static get schema() {
|
|
622
1033
|
return z
|
|
623
1034
|
.object({
|
|
@@ -639,3 +1050,471 @@ export class AvmCircuitInputs {
|
|
|
639
1050
|
return jsonParseWithSchema(buf.toString(), this.schema);
|
|
640
1051
|
}
|
|
641
1052
|
}
|
|
1053
|
+
|
|
1054
|
+
// Metadata about a given (enqueued or external) call.
|
|
1055
|
+
export class CallStackMetadata {
|
|
1056
|
+
constructor(
|
|
1057
|
+
public phase: TxExecutionPhase,
|
|
1058
|
+
public contractAddress: Fr,
|
|
1059
|
+
public callerPc: number,
|
|
1060
|
+
public calldata: Fr[],
|
|
1061
|
+
public isStaticCall: boolean,
|
|
1062
|
+
public gasLimit: Gas,
|
|
1063
|
+
public output: Fr[], // returndata or revertdata.
|
|
1064
|
+
public internalCallStackAtExit: number[], // At return/revert time. Last one is exit PC.
|
|
1065
|
+
public haltingMessage: string | undefined,
|
|
1066
|
+
public reverted: boolean,
|
|
1067
|
+
public nested: CallStackMetadata[],
|
|
1068
|
+
public numNestedCalls: number, // This will be different from the size of the nested vector if we went past some limit.
|
|
1069
|
+
) {}
|
|
1070
|
+
|
|
1071
|
+
static get schema(): ZodFor<CallStackMetadata> {
|
|
1072
|
+
return z
|
|
1073
|
+
.object({
|
|
1074
|
+
phase: z.nativeEnum(TxExecutionPhase),
|
|
1075
|
+
contractAddress: Fr.schema,
|
|
1076
|
+
callerPc: z.number(),
|
|
1077
|
+
calldata: Fr.schema.array(),
|
|
1078
|
+
isStaticCall: z.boolean(),
|
|
1079
|
+
gasLimit: Gas.schema,
|
|
1080
|
+
output: Fr.schema.array(),
|
|
1081
|
+
internalCallStackAtExit: z.number().array(),
|
|
1082
|
+
haltingMessage: NullishToUndefined(z.string()),
|
|
1083
|
+
reverted: z.boolean(),
|
|
1084
|
+
nested: CallStackMetadata.schema.array(),
|
|
1085
|
+
numNestedCalls: z.number(),
|
|
1086
|
+
})
|
|
1087
|
+
.transform(
|
|
1088
|
+
({
|
|
1089
|
+
phase,
|
|
1090
|
+
contractAddress,
|
|
1091
|
+
callerPc,
|
|
1092
|
+
calldata,
|
|
1093
|
+
isStaticCall,
|
|
1094
|
+
gasLimit,
|
|
1095
|
+
output,
|
|
1096
|
+
internalCallStackAtExit,
|
|
1097
|
+
haltingMessage,
|
|
1098
|
+
reverted,
|
|
1099
|
+
nested,
|
|
1100
|
+
numNestedCalls,
|
|
1101
|
+
}) =>
|
|
1102
|
+
new CallStackMetadata(
|
|
1103
|
+
phase,
|
|
1104
|
+
contractAddress,
|
|
1105
|
+
callerPc,
|
|
1106
|
+
calldata,
|
|
1107
|
+
isStaticCall,
|
|
1108
|
+
gasLimit,
|
|
1109
|
+
output,
|
|
1110
|
+
internalCallStackAtExit,
|
|
1111
|
+
haltingMessage,
|
|
1112
|
+
reverted,
|
|
1113
|
+
nested,
|
|
1114
|
+
numNestedCalls,
|
|
1115
|
+
),
|
|
1116
|
+
);
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
/**
|
|
1120
|
+
* Creates a CallStackMetadata from a plain object without Zod validation.
|
|
1121
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
1122
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
1123
|
+
* @param obj - Plain object containing CallStackMetadata fields
|
|
1124
|
+
* @returns A CallStackMetadata instance
|
|
1125
|
+
*/
|
|
1126
|
+
static fromPlainObject(obj: any): CallStackMetadata {
|
|
1127
|
+
if (obj instanceof CallStackMetadata) {
|
|
1128
|
+
return obj;
|
|
1129
|
+
}
|
|
1130
|
+
return new CallStackMetadata(
|
|
1131
|
+
obj.phase,
|
|
1132
|
+
Fr.fromPlainObject(obj.contractAddress),
|
|
1133
|
+
obj.callerPc,
|
|
1134
|
+
obj.calldata.map((f: any) => Fr.fromPlainObject(f)),
|
|
1135
|
+
obj.isStaticCall,
|
|
1136
|
+
Gas.fromPlainObject(obj.gasLimit),
|
|
1137
|
+
obj.output.map((f: any) => Fr.fromPlainObject(f)),
|
|
1138
|
+
obj.internalCallStackAtExit.map((p: any) => Number(p)),
|
|
1139
|
+
obj.haltingMessage,
|
|
1140
|
+
obj.reverted,
|
|
1141
|
+
obj.nested.map((n: any) => CallStackMetadata.fromPlainObject(n)),
|
|
1142
|
+
obj.numNestedCalls,
|
|
1143
|
+
);
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
public getRevertReason(): SimulationError | undefined {
|
|
1147
|
+
const failingCall = this.findDeepestRevert([this]);
|
|
1148
|
+
|
|
1149
|
+
if (!failingCall) {
|
|
1150
|
+
return undefined;
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
const { stack, leaf } = failingCall;
|
|
1154
|
+
const aztecCallStack = stack.map(call => ({
|
|
1155
|
+
contractAddress: AztecAddress.fromField(call.contractAddress),
|
|
1156
|
+
functionSelector: call.calldata.length > 0 ? FunctionSelector.fromFieldOrUndefined(call.calldata[0]) : undefined,
|
|
1157
|
+
}));
|
|
1158
|
+
|
|
1159
|
+
// The Noir call stack is the internal call stack at exit of the failing call
|
|
1160
|
+
const noirCallStack = leaf.internalCallStackAtExit.map(pc => `0.${pc}`);
|
|
1161
|
+
|
|
1162
|
+
return new SimulationError(
|
|
1163
|
+
leaf.haltingMessage ?? 'Transaction reverted',
|
|
1164
|
+
aztecCallStack,
|
|
1165
|
+
leaf.output,
|
|
1166
|
+
noirCallStack,
|
|
1167
|
+
);
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
/**
|
|
1171
|
+
* Finds the "rightmost deepest" revert in the call tree.
|
|
1172
|
+
*
|
|
1173
|
+
* At each level, we select the LAST (rightmost) reverted call, then recurse into its
|
|
1174
|
+
* nested calls to find the deepest reverted leaf along that path. The chain stops
|
|
1175
|
+
* when we encounter a non-reverted call (since you can choose not to rethrow).
|
|
1176
|
+
*
|
|
1177
|
+
* Examples (X = reverted, O = passed):
|
|
1178
|
+
*
|
|
1179
|
+
* 1. [X, X, X] at depth 1 -> returns the last X (rightmost)
|
|
1180
|
+
*
|
|
1181
|
+
* 2. [X(depth2), X, X] where first X has a nested revert -> returns the last X at depth 1,
|
|
1182
|
+
* NOT the deeper revert in the first X (rightmost takes priority over depth)
|
|
1183
|
+
*
|
|
1184
|
+
* 3. X -> X -> X -> O -> O -> X (nested chain)
|
|
1185
|
+
* Returns the 3rd X, because the O's break the reverted chain (they didn't rethrow)
|
|
1186
|
+
*
|
|
1187
|
+
* @param calls - Array of call metadata at the current level
|
|
1188
|
+
* @param parentStack - Accumulated stack of parent calls (for building the result)
|
|
1189
|
+
* @returns The deepest reverted call along the rightmost reverted path, or undefined if none
|
|
1190
|
+
*/
|
|
1191
|
+
private findDeepestRevert(
|
|
1192
|
+
calls: CallStackMetadata[],
|
|
1193
|
+
parentStack: CallStackMetadata[] = [],
|
|
1194
|
+
): { stack: CallStackMetadata[]; leaf: CallStackMetadata } | undefined {
|
|
1195
|
+
const lastReverted = calls.findLast(call => call.reverted);
|
|
1196
|
+
if (!lastReverted) {
|
|
1197
|
+
return undefined;
|
|
1198
|
+
}
|
|
1199
|
+
const currentStack = [...parentStack, lastReverted];
|
|
1200
|
+
return this.findDeepestRevert(lastReverted.nested, currentStack) || { stack: currentStack, leaf: lastReverted };
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
export class PublicTxEffect {
|
|
1205
|
+
constructor(
|
|
1206
|
+
public transactionFee: Fr,
|
|
1207
|
+
public noteHashes: Fr[],
|
|
1208
|
+
public nullifiers: Fr[],
|
|
1209
|
+
public l2ToL1Msgs: ScopedL2ToL1Message[],
|
|
1210
|
+
public publicLogs: PublicLog[],
|
|
1211
|
+
public publicDataWrites: PublicDataWrite[],
|
|
1212
|
+
) {}
|
|
1213
|
+
|
|
1214
|
+
static empty() {
|
|
1215
|
+
return new PublicTxEffect(Fr.ZERO, [], [], [], [], []);
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
static get schema(): ZodFor<PublicTxEffect> {
|
|
1219
|
+
return z
|
|
1220
|
+
.object({
|
|
1221
|
+
transactionFee: Fr.schema,
|
|
1222
|
+
noteHashes: Fr.schema.array(),
|
|
1223
|
+
nullifiers: Fr.schema.array(),
|
|
1224
|
+
l2ToL1Msgs: ScopedL2ToL1Message.schema.array(),
|
|
1225
|
+
publicLogs: PublicLog.schema.array(),
|
|
1226
|
+
publicDataWrites: PublicDataWrite.schema.array(),
|
|
1227
|
+
})
|
|
1228
|
+
.transform(PublicTxEffect.from);
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
static from(obj: any): PublicTxEffect {
|
|
1232
|
+
return new PublicTxEffect(
|
|
1233
|
+
obj.transactionFee,
|
|
1234
|
+
obj.noteHashes,
|
|
1235
|
+
obj.nullifiers,
|
|
1236
|
+
obj.l2ToL1Msgs,
|
|
1237
|
+
obj.publicLogs,
|
|
1238
|
+
obj.publicDataWrites,
|
|
1239
|
+
);
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
static fromPlainObject(obj: any): PublicTxEffect {
|
|
1243
|
+
return new PublicTxEffect(
|
|
1244
|
+
Fr.fromPlainObject(obj.transactionFee),
|
|
1245
|
+
obj.noteHashes.map((h: any) => Fr.fromPlainObject(h)),
|
|
1246
|
+
obj.nullifiers.map((n: any) => Fr.fromPlainObject(n)),
|
|
1247
|
+
obj.l2ToL1Msgs.map((m: any) => ScopedL2ToL1Message.fromPlainObject(m)),
|
|
1248
|
+
obj.publicLogs.map((l: any) => PublicLog.fromPlainObject(l)),
|
|
1249
|
+
obj.publicDataWrites.map((w: any) => PublicDataWrite.fromPlainObject(w)),
|
|
1250
|
+
);
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
equals(other: PublicTxEffect): boolean {
|
|
1254
|
+
return (
|
|
1255
|
+
this.transactionFee.equals(other.transactionFee) &&
|
|
1256
|
+
this.noteHashes.length === other.noteHashes.length &&
|
|
1257
|
+
this.noteHashes.every((h, i) => h.equals(other.noteHashes[i])) &&
|
|
1258
|
+
this.nullifiers.length === other.nullifiers.length &&
|
|
1259
|
+
this.nullifiers.every((h, i) => h.equals(other.nullifiers[i])) &&
|
|
1260
|
+
this.l2ToL1Msgs.length === other.l2ToL1Msgs.length &&
|
|
1261
|
+
this.l2ToL1Msgs.every((m, i) => m.equals(other.l2ToL1Msgs[i])) &&
|
|
1262
|
+
this.publicLogs.length === other.publicLogs.length &&
|
|
1263
|
+
this.publicLogs.every((l, i) => l.equals(other.publicLogs[i])) &&
|
|
1264
|
+
this.publicDataWrites.length === other.publicDataWrites.length &&
|
|
1265
|
+
this.publicDataWrites.every((w, i) => w.equals(other.publicDataWrites[i]))
|
|
1266
|
+
);
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
export class PublicTxResult {
|
|
1271
|
+
constructor(
|
|
1272
|
+
// Simulation result.
|
|
1273
|
+
public gasUsed: GasUsed,
|
|
1274
|
+
public revertCode: RevertCode,
|
|
1275
|
+
public publicTxEffect: PublicTxEffect,
|
|
1276
|
+
// These are only guaranteed to be present if the simulator is configured to collect them.
|
|
1277
|
+
// TODO(fcarreiro): Remove NestedProcessReturnValues[] once we migrate to the C++ simulator.
|
|
1278
|
+
public callStackMetadata:
|
|
1279
|
+
| CallStackMetadata[] // One per enqueued call. All phases.
|
|
1280
|
+
| NestedProcessReturnValues[], // One per enqueued call. App logic only.
|
|
1281
|
+
public logs: DebugLog[] | undefined,
|
|
1282
|
+
// For the proving request.
|
|
1283
|
+
public hints: AvmExecutionHints | undefined,
|
|
1284
|
+
public publicInputs: AvmCircuitPublicInputs | undefined,
|
|
1285
|
+
) {}
|
|
1286
|
+
|
|
1287
|
+
static empty() {
|
|
1288
|
+
return new PublicTxResult(
|
|
1289
|
+
{
|
|
1290
|
+
totalGas: Gas.empty(),
|
|
1291
|
+
teardownGas: Gas.empty(),
|
|
1292
|
+
publicGas: Gas.empty(),
|
|
1293
|
+
billedGas: Gas.empty(),
|
|
1294
|
+
},
|
|
1295
|
+
RevertCode.OK,
|
|
1296
|
+
PublicTxEffect.empty(),
|
|
1297
|
+
/*callStackMetadata=*/ [] as CallStackMetadata[],
|
|
1298
|
+
/*logs=*/ [],
|
|
1299
|
+
/*hints=*/ AvmExecutionHints.empty(),
|
|
1300
|
+
/*publicInputs=*/ AvmCircuitPublicInputs.empty(),
|
|
1301
|
+
);
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
static get schema(): ZodFor<PublicTxResult> {
|
|
1305
|
+
return z
|
|
1306
|
+
.object({
|
|
1307
|
+
gasUsed: schemas.GasUsed,
|
|
1308
|
+
revertCode: RevertCode.schema,
|
|
1309
|
+
revertReason: NullishToUndefined(SimulationError.schema),
|
|
1310
|
+
publicTxEffect: PublicTxEffect.schema,
|
|
1311
|
+
callStackMetadata: z.union([CallStackMetadata.schema.array(), NestedProcessReturnValues.schema.array()]),
|
|
1312
|
+
logs: NullishToUndefined(DebugLog.schema.array()),
|
|
1313
|
+
// For the proving request.
|
|
1314
|
+
publicInputs: NullishToUndefined(AvmCircuitPublicInputs.schema),
|
|
1315
|
+
hints: NullishToUndefined(AvmExecutionHints.schema),
|
|
1316
|
+
})
|
|
1317
|
+
.transform(
|
|
1318
|
+
({ gasUsed, revertCode, publicTxEffect, callStackMetadata, logs, hints, publicInputs }) =>
|
|
1319
|
+
new PublicTxResult(
|
|
1320
|
+
gasUsed,
|
|
1321
|
+
revertCode as RevertCode,
|
|
1322
|
+
publicTxEffect,
|
|
1323
|
+
callStackMetadata,
|
|
1324
|
+
logs,
|
|
1325
|
+
hints,
|
|
1326
|
+
publicInputs,
|
|
1327
|
+
),
|
|
1328
|
+
);
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
/**
|
|
1332
|
+
* Creates a PublicTxResult from a plain object without Zod validation.
|
|
1333
|
+
* This method is optimized for performance and skips validation, making it suitable
|
|
1334
|
+
* for deserializing trusted data (e.g., from C++ via MessagePack).
|
|
1335
|
+
* @param obj - Plain object containing PublicTxResult fields
|
|
1336
|
+
* @returns A PublicTxResult instance
|
|
1337
|
+
*/
|
|
1338
|
+
static fromPlainObject(obj: any): PublicTxResult {
|
|
1339
|
+
return new PublicTxResult(
|
|
1340
|
+
GasUsed.fromPlainObject(obj.gasUsed),
|
|
1341
|
+
RevertCode.fromPlainObject(obj.revertCode),
|
|
1342
|
+
PublicTxEffect.fromPlainObject(obj.publicTxEffect),
|
|
1343
|
+
obj.callStackMetadata.map(CallStackMetadata.fromPlainObject), // Always CallStackMetadata[] from MessagePack.
|
|
1344
|
+
obj.logs?.map(DebugLog.fromPlainObject),
|
|
1345
|
+
obj.hints ? AvmExecutionHints.fromPlainObject(obj.hints) : undefined,
|
|
1346
|
+
obj.publicInputs ? AvmCircuitPublicInputs.fromPlainObject(obj.publicInputs) : undefined,
|
|
1347
|
+
);
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
/** Returns one level of return values for the app logic phase, one per enqueued call. */
|
|
1351
|
+
public getAppLogicReturnValues(): NestedProcessReturnValues[] {
|
|
1352
|
+
if (this.callStackMetadata.every(metadata => metadata instanceof CallStackMetadata)) {
|
|
1353
|
+
return this.callStackMetadata
|
|
1354
|
+
.filter(metadata => metadata.phase === TxExecutionPhase.APP_LOGIC)
|
|
1355
|
+
.map(metadata => new NestedProcessReturnValues(metadata.output));
|
|
1356
|
+
} else {
|
|
1357
|
+
return (this.callStackMetadata as NestedProcessReturnValues[]).map(
|
|
1358
|
+
metadata => new NestedProcessReturnValues(metadata.values, metadata.nested),
|
|
1359
|
+
);
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
public findRevertReason(): SimulationError | undefined {
|
|
1364
|
+
if (this.revertCode.isOK()) {
|
|
1365
|
+
return undefined;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
const callStackMetadata = this.callStackMetadata;
|
|
1369
|
+
// TODO(fcarreiro): Remove this after migration to the C++ simulator.
|
|
1370
|
+
// If the "stack" comes from TS, it will have this field.
|
|
1371
|
+
if ((callStackMetadata as any).revertReason !== undefined) {
|
|
1372
|
+
return (callStackMetadata as any).revertReason;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
// Handle CallStackMetadata[].
|
|
1376
|
+
let revertReason: SimulationError | undefined = undefined;
|
|
1377
|
+
for (const call of callStackMetadata) {
|
|
1378
|
+
revertReason = (call as CallStackMetadata).getRevertReason();
|
|
1379
|
+
if (revertReason) {
|
|
1380
|
+
break;
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
return revertReason;
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
export class CollectionLimitsConfig {
|
|
1388
|
+
constructor(
|
|
1389
|
+
public readonly maxDebugLogMemoryReads: number,
|
|
1390
|
+
public readonly maxCalldataSizeInFields: number,
|
|
1391
|
+
public readonly maxReturndataSizeInFields: number,
|
|
1392
|
+
public readonly maxCallStackDepth: number,
|
|
1393
|
+
public readonly maxCallStackItems: number,
|
|
1394
|
+
) {}
|
|
1395
|
+
|
|
1396
|
+
static from(obj: Partial<CollectionLimitsConfig>): CollectionLimitsConfig {
|
|
1397
|
+
return new CollectionLimitsConfig(
|
|
1398
|
+
obj.maxDebugLogMemoryReads ?? DEFAULT_MAX_DEBUG_LOG_MEMORY_READS,
|
|
1399
|
+
obj.maxCalldataSizeInFields ?? 300,
|
|
1400
|
+
obj.maxReturndataSizeInFields ?? 300,
|
|
1401
|
+
obj.maxCallStackDepth ?? 5,
|
|
1402
|
+
obj.maxCallStackItems ?? 100,
|
|
1403
|
+
);
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
static empty() {
|
|
1407
|
+
return CollectionLimitsConfig.from({});
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
static get schema() {
|
|
1411
|
+
return z
|
|
1412
|
+
.object({
|
|
1413
|
+
maxDebugLogMemoryReads: z.number(),
|
|
1414
|
+
maxCalldataSizeInFields: z.number(),
|
|
1415
|
+
maxReturndataSizeInFields: z.number(),
|
|
1416
|
+
maxCallStackDepth: z.number(),
|
|
1417
|
+
maxCallStackItems: z.number(),
|
|
1418
|
+
})
|
|
1419
|
+
.transform(
|
|
1420
|
+
({
|
|
1421
|
+
maxDebugLogMemoryReads,
|
|
1422
|
+
maxCalldataSizeInFields,
|
|
1423
|
+
maxReturndataSizeInFields,
|
|
1424
|
+
maxCallStackDepth,
|
|
1425
|
+
maxCallStackItems,
|
|
1426
|
+
}) =>
|
|
1427
|
+
new CollectionLimitsConfig(
|
|
1428
|
+
maxDebugLogMemoryReads,
|
|
1429
|
+
maxCalldataSizeInFields,
|
|
1430
|
+
maxReturndataSizeInFields,
|
|
1431
|
+
maxCallStackDepth,
|
|
1432
|
+
maxCallStackItems,
|
|
1433
|
+
),
|
|
1434
|
+
);
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
export class PublicSimulatorConfig {
|
|
1439
|
+
constructor(
|
|
1440
|
+
public readonly proverId: Fr,
|
|
1441
|
+
public readonly skipFeeEnforcement: boolean,
|
|
1442
|
+
public readonly collectCallMetadata: boolean, // appLogicReturnValues.
|
|
1443
|
+
public readonly collectHints: boolean, // hints.
|
|
1444
|
+
public readonly collectPublicInputs: boolean, // public inputs.
|
|
1445
|
+
public readonly collectDebugLogs: boolean, // logs.
|
|
1446
|
+
public readonly collectStatistics: boolean, // timings etc.
|
|
1447
|
+
public readonly collectionLimits: CollectionLimitsConfig,
|
|
1448
|
+
) {}
|
|
1449
|
+
|
|
1450
|
+
static from(obj: Partial<PublicSimulatorConfig>): PublicSimulatorConfig {
|
|
1451
|
+
return new PublicSimulatorConfig(
|
|
1452
|
+
obj.proverId ?? Fr.ZERO,
|
|
1453
|
+
obj.skipFeeEnforcement ?? false,
|
|
1454
|
+
obj.collectCallMetadata ?? false,
|
|
1455
|
+
obj.collectHints ?? false,
|
|
1456
|
+
obj.collectPublicInputs ?? false,
|
|
1457
|
+
obj.collectDebugLogs ?? false,
|
|
1458
|
+
obj.collectStatistics ?? false,
|
|
1459
|
+
obj.collectionLimits ?? CollectionLimitsConfig.empty(),
|
|
1460
|
+
);
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
static empty() {
|
|
1464
|
+
return PublicSimulatorConfig.from({});
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
static get schema() {
|
|
1468
|
+
return z
|
|
1469
|
+
.object({
|
|
1470
|
+
proverId: Fr.schema,
|
|
1471
|
+
skipFeeEnforcement: z.boolean(),
|
|
1472
|
+
collectCallMetadata: z.boolean(),
|
|
1473
|
+
collectHints: z.boolean(),
|
|
1474
|
+
collectPublicInputs: z.boolean(),
|
|
1475
|
+
collectDebugLogs: z.boolean(),
|
|
1476
|
+
collectStatistics: z.boolean(),
|
|
1477
|
+
collectionLimits: CollectionLimitsConfig.schema,
|
|
1478
|
+
})
|
|
1479
|
+
.transform(PublicSimulatorConfig.from);
|
|
1480
|
+
}
|
|
1481
|
+
}
|
|
1482
|
+
|
|
1483
|
+
export class AvmFastSimulationInputs {
|
|
1484
|
+
constructor(
|
|
1485
|
+
public readonly wsRevision: WorldStateRevision,
|
|
1486
|
+
public readonly config: PublicSimulatorConfig,
|
|
1487
|
+
public tx: AvmTxHint,
|
|
1488
|
+
public globalVariables: GlobalVariables,
|
|
1489
|
+
public protocolContracts: ProtocolContracts,
|
|
1490
|
+
) {}
|
|
1491
|
+
|
|
1492
|
+
static empty() {
|
|
1493
|
+
return new AvmFastSimulationInputs(
|
|
1494
|
+
WorldStateRevision.empty(),
|
|
1495
|
+
PublicSimulatorConfig.empty(),
|
|
1496
|
+
AvmTxHint.empty(),
|
|
1497
|
+
GlobalVariables.empty(),
|
|
1498
|
+
ProtocolContracts.empty(),
|
|
1499
|
+
);
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
static get schema() {
|
|
1503
|
+
return z
|
|
1504
|
+
.object({
|
|
1505
|
+
wsRevision: WorldStateRevision.schema,
|
|
1506
|
+
config: PublicSimulatorConfig.schema,
|
|
1507
|
+
tx: AvmTxHint.schema,
|
|
1508
|
+
globalVariables: GlobalVariables.schema,
|
|
1509
|
+
protocolContracts: ProtocolContracts.schema,
|
|
1510
|
+
})
|
|
1511
|
+
.transform(
|
|
1512
|
+
({ wsRevision, config, tx, globalVariables, protocolContracts }) =>
|
|
1513
|
+
new AvmFastSimulationInputs(wsRevision, config, tx, globalVariables, protocolContracts),
|
|
1514
|
+
);
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
public serializeWithMessagePack(): Buffer {
|
|
1518
|
+
return serializeWithMessagePack(this);
|
|
1519
|
+
}
|
|
1520
|
+
}
|