@aztec/stdlib 0.0.0-test.0
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/README.md +20 -0
- package/dest/abi/abi.d.ts +853 -0
- package/dest/abi/abi.d.ts.map +1 -0
- package/dest/abi/abi.js +279 -0
- package/dest/abi/buffer.d.ts +18 -0
- package/dest/abi/buffer.d.ts.map +1 -0
- package/dest/abi/buffer.js +34 -0
- package/dest/abi/contract_artifact.d.ts +23 -0
- package/dest/abi/contract_artifact.d.ts.map +1 -0
- package/dest/abi/contract_artifact.js +233 -0
- package/dest/abi/decoder.d.ts +58 -0
- package/dest/abi/decoder.d.ts.map +1 -0
- package/dest/abi/decoder.js +170 -0
- package/dest/abi/encoder.d.ts +16 -0
- package/dest/abi/encoder.d.ts.map +1 -0
- package/dest/abi/encoder.js +164 -0
- package/dest/abi/event_selector.d.ts +52 -0
- package/dest/abi/event_selector.d.ts.map +1 -0
- package/dest/abi/event_selector.js +68 -0
- package/dest/abi/function_call.d.ts +53 -0
- package/dest/abi/function_call.d.ts.map +1 -0
- package/dest/abi/function_call.js +49 -0
- package/dest/abi/function_selector.d.ts +65 -0
- package/dest/abi/function_selector.d.ts.map +1 -0
- package/dest/abi/function_selector.js +85 -0
- package/dest/abi/index.d.ts +11 -0
- package/dest/abi/index.d.ts.map +1 -0
- package/dest/abi/index.js +10 -0
- package/dest/abi/mocked_keys.d.ts +2 -0
- package/dest/abi/mocked_keys.d.ts.map +1 -0
- package/dest/abi/mocked_keys.js +1 -0
- package/dest/abi/note_selector.d.ts +42 -0
- package/dest/abi/note_selector.d.ts.map +1 -0
- package/dest/abi/note_selector.js +56 -0
- package/dest/abi/selector.d.ts +42 -0
- package/dest/abi/selector.d.ts.map +1 -0
- package/dest/abi/selector.js +50 -0
- package/dest/abi/utils.d.ts +39 -0
- package/dest/abi/utils.d.ts.map +1 -0
- package/dest/abi/utils.js +55 -0
- package/dest/auth_witness/auth_witness.d.ts +26 -0
- package/dest/auth_witness/auth_witness.d.ts.map +1 -0
- package/dest/auth_witness/auth_witness.js +41 -0
- package/dest/auth_witness/index.d.ts +2 -0
- package/dest/auth_witness/index.d.ts.map +1 -0
- package/dest/auth_witness/index.js +1 -0
- package/dest/avm/avm.d.ts +3623 -0
- package/dest/avm/avm.d.ts.map +1 -0
- package/dest/avm/avm.js +249 -0
- package/dest/avm/avm_accumulated_data.d.ts +157 -0
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -0
- package/dest/avm/avm_accumulated_data.js +81 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts +1065 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -0
- package/dest/avm/avm_circuit_public_inputs.js +121 -0
- package/dest/avm/avm_proving_request.d.ts +2580 -0
- package/dest/avm/avm_proving_request.d.ts.map +1 -0
- package/dest/avm/avm_proving_request.js +7 -0
- package/dest/avm/contract_storage_read.d.ts +60 -0
- package/dest/avm/contract_storage_read.d.ts.map +1 -0
- package/dest/avm/contract_storage_read.js +65 -0
- package/dest/avm/contract_storage_update_request.d.ts +67 -0
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -0
- package/dest/avm/contract_storage_update_request.js +80 -0
- package/dest/avm/index.d.ts +13 -0
- package/dest/avm/index.d.ts.map +1 -0
- package/dest/avm/index.js +12 -0
- package/dest/avm/message_pack.d.ts +4 -0
- package/dest/avm/message_pack.d.ts.map +1 -0
- package/dest/avm/message_pack.js +47 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts +45 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -0
- package/dest/avm/public_call_stack_item_compressed.js +70 -0
- package/dest/avm/public_data_hint.d.ts +18 -0
- package/dest/avm/public_data_hint.d.ts.map +1 -0
- package/dest/avm/public_data_hint.js +27 -0
- package/dest/avm/public_data_read.d.ts +41 -0
- package/dest/avm/public_data_read.d.ts.map +1 -0
- package/dest/avm/public_data_read.js +40 -0
- package/dest/avm/public_data_update_request.d.ts +65 -0
- package/dest/avm/public_data_update_request.d.ts.map +1 -0
- package/dest/avm/public_data_update_request.js +65 -0
- package/dest/avm/public_data_write.d.ts +54 -0
- package/dest/avm/public_data_write.d.ts.map +1 -0
- package/dest/avm/public_data_write.js +64 -0
- package/dest/avm/public_inner_call_request.d.ts +53 -0
- package/dest/avm/public_inner_call_request.d.ts.map +1 -0
- package/dest/avm/public_inner_call_request.js +72 -0
- package/dest/avm/revert_code.d.ts +49 -0
- package/dest/avm/revert_code.d.ts.map +1 -0
- package/dest/avm/revert_code.js +105 -0
- package/dest/aztec-address/index.d.ts +58 -0
- package/dest/aztec-address/index.d.ts.map +1 -0
- package/dest/aztec-address/index.js +108 -0
- package/dest/block/block_hash.d.ts +15 -0
- package/dest/block/block_hash.d.ts.map +1 -0
- package/dest/block/block_hash.js +20 -0
- package/dest/block/body.d.ts +35 -0
- package/dest/block/body.d.ts.map +1 -0
- package/dest/block/body.js +75 -0
- package/dest/block/in_block.d.ts +31 -0
- package/dest/block/in_block.d.ts.map +1 -0
- package/dest/block/in_block.js +24 -0
- package/dest/block/index.d.ts +9 -0
- package/dest/block/index.d.ts.map +1 -0
- package/dest/block/index.js +8 -0
- package/dest/block/l2_block.d.ts +134 -0
- package/dest/block/l2_block.d.ts.map +1 -0
- package/dest/block/l2_block.js +139 -0
- package/dest/block/l2_block_code_to_purge.d.ts +24 -0
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -0
- package/dest/block/l2_block_code_to_purge.js +51 -0
- package/dest/block/l2_block_downloader/index.d.ts +3 -0
- package/dest/block/l2_block_downloader/index.d.ts.map +1 -0
- package/dest/block/l2_block_downloader/index.js +2 -0
- package/dest/block/l2_block_downloader/l2_block_downloader.d.ts +58 -0
- package/dest/block/l2_block_downloader/l2_block_downloader.d.ts.map +1 -0
- package/dest/block/l2_block_downloader/l2_block_downloader.js +124 -0
- package/dest/block/l2_block_downloader/l2_block_stream.d.ts +57 -0
- package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_downloader/l2_block_stream.js +137 -0
- package/dest/block/l2_block_number.d.ts +5 -0
- package/dest/block/l2_block_number.d.ts.map +1 -0
- package/dest/block/l2_block_number.js +6 -0
- package/dest/block/l2_block_source.d.ts +245 -0
- package/dest/block/l2_block_source.d.ts.map +1 -0
- package/dest/block/l2_block_source.js +21 -0
- package/dest/block/nullifier_with_block_source.d.ts +6 -0
- package/dest/block/nullifier_with_block_source.d.ts.map +1 -0
- package/dest/block/nullifier_with_block_source.js +1 -0
- package/dest/config/config.d.ts +18 -0
- package/dest/config/config.d.ts.map +1 -0
- package/dest/config/config.js +28 -0
- package/dest/config/index.d.ts +2 -0
- package/dest/config/index.d.ts.map +1 -0
- package/dest/config/index.js +1 -0
- package/dest/contract/artifact_hash.d.ts +47 -0
- package/dest/contract/artifact_hash.d.ts.map +1 -0
- package/dest/contract/artifact_hash.js +114 -0
- package/dest/contract/complete_address.d.ts +82 -0
- package/dest/contract/complete_address.d.ts.map +1 -0
- package/dest/contract/complete_address.js +117 -0
- package/dest/contract/contract_address.d.ts +45 -0
- package/dest/contract/contract_address.d.ts.map +1 -0
- package/dest/contract/contract_address.js +64 -0
- package/dest/contract/contract_class.d.ts +17 -0
- package/dest/contract/contract_class.d.ts.map +1 -0
- package/dest/contract/contract_class.js +57 -0
- package/dest/contract/contract_class_id.d.ts +32 -0
- package/dest/contract/contract_class_id.d.ts.map +1 -0
- package/dest/contract/contract_class_id.js +54 -0
- package/dest/contract/contract_function_dao.d.ts +13 -0
- package/dest/contract/contract_function_dao.d.ts.map +1 -0
- package/dest/contract/contract_function_dao.js +5 -0
- package/dest/contract/contract_instance.d.ts +40 -0
- package/dest/contract/contract_instance.d.ts.map +1 -0
- package/dest/contract/contract_instance.js +109 -0
- package/dest/contract/contract_instance_update.d.ts +17 -0
- package/dest/contract/contract_instance_update.d.ts.map +1 -0
- package/dest/contract/contract_instance_update.js +38 -0
- package/dest/contract/deployment_info.d.ts +24 -0
- package/dest/contract/deployment_info.d.ts.map +1 -0
- package/dest/contract/deployment_info.js +3 -0
- package/dest/contract/index.d.ts +15 -0
- package/dest/contract/index.d.ts.map +1 -0
- package/dest/contract/index.js +14 -0
- package/dest/contract/interfaces/contract_class.d.ts +524 -0
- package/dest/contract/interfaces/contract_class.d.ts.map +1 -0
- package/dest/contract/interfaces/contract_class.js +53 -0
- package/dest/contract/interfaces/contract_data_source.d.ts +44 -0
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -0
- package/dest/contract/interfaces/contract_data_source.js +1 -0
- package/dest/contract/interfaces/contract_instance.d.ts +138 -0
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -0
- package/dest/contract/interfaces/contract_instance.js +16 -0
- package/dest/contract/interfaces/contract_instance_update.d.ts +51 -0
- package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -0
- package/dest/contract/interfaces/contract_instance_update.js +10 -0
- package/dest/contract/interfaces/index.d.ts +7 -0
- package/dest/contract/interfaces/index.d.ts.map +1 -0
- package/dest/contract/interfaces/index.js +6 -0
- package/dest/contract/interfaces/node-info.d.ts +20 -0
- package/dest/contract/interfaces/node-info.d.ts.map +1 -0
- package/dest/contract/interfaces/node-info.js +14 -0
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts +26 -0
- package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -0
- package/dest/contract/interfaces/protocol_contract_addresses.js +14 -0
- package/dest/contract/partial_address.d.ts +7 -0
- package/dest/contract/partial_address.d.ts.map +1 -0
- package/dest/contract/partial_address.js +4 -0
- package/dest/contract/private_function.d.ts +12 -0
- package/dest/contract/private_function.d.ts.map +1 -0
- package/dest/contract/private_function.js +39 -0
- package/dest/contract/private_function_membership_proof.d.ts +32 -0
- package/dest/contract/private_function_membership_proof.d.ts.map +1 -0
- package/dest/contract/private_function_membership_proof.js +124 -0
- package/dest/contract/unconstrained_function_membership_proof.d.ts +27 -0
- package/dest/contract/unconstrained_function_membership_proof.d.ts.map +1 -0
- package/dest/contract/unconstrained_function_membership_proof.js +87 -0
- package/dest/database-version/index.d.ts +2 -0
- package/dest/database-version/index.d.ts.map +1 -0
- package/dest/database-version/index.js +1 -0
- package/dest/database-version/version_manager.d.ts +99 -0
- package/dest/database-version/version_manager.d.ts.map +1 -0
- package/dest/database-version/version_manager.js +188 -0
- package/dest/epoch-helpers/index.d.ts +42 -0
- package/dest/epoch-helpers/index.d.ts.map +1 -0
- package/dest/epoch-helpers/index.js +43 -0
- package/dest/errors/index.d.ts +3 -0
- package/dest/errors/index.d.ts.map +1 -0
- package/dest/errors/index.js +2 -0
- package/dest/errors/proving_error.d.ts +15 -0
- package/dest/errors/proving_error.d.ts.map +1 -0
- package/dest/errors/proving_error.js +16 -0
- package/dest/errors/simulation_error.d.ts +111 -0
- package/dest/errors/simulation_error.d.ts.map +1 -0
- package/dest/errors/simulation_error.js +162 -0
- package/dest/event/event.d.ts +24 -0
- package/dest/event/event.d.ts.map +1 -0
- package/dest/event/event.js +13 -0
- package/dest/event/event_metadata.d.ts +38 -0
- package/dest/event/event_metadata.d.ts.map +1 -0
- package/dest/event/event_metadata.js +45 -0
- package/dest/event/index.d.ts +4 -0
- package/dest/event/index.d.ts.map +1 -0
- package/dest/event/index.js +3 -0
- package/dest/event/l1_event_payload.d.ts +52 -0
- package/dest/event/l1_event_payload.d.ts.map +1 -0
- package/dest/event/l1_event_payload.js +64 -0
- package/dest/fees/index.d.ts +2 -0
- package/dest/fees/index.d.ts.map +1 -0
- package/dest/fees/index.js +1 -0
- package/dest/fees/transaction_fee.d.ts +6 -0
- package/dest/fees/transaction_fee.d.ts.map +1 -0
- package/dest/fees/transaction_fee.js +8 -0
- package/dest/gas/gas.d.ts +50 -0
- package/dest/gas/gas.d.ts.map +1 -0
- package/dest/gas/gas.js +76 -0
- package/dest/gas/gas_fees.d.ts +46 -0
- package/dest/gas/gas_fees.d.ts.map +1 -0
- package/dest/gas/gas_fees.js +77 -0
- package/dest/gas/gas_settings.d.ts +136 -0
- package/dest/gas/gas_settings.d.ts.map +1 -0
- package/dest/gas/gas_settings.js +89 -0
- package/dest/gas/gas_used.d.ts +20 -0
- package/dest/gas/gas_used.d.ts.map +1 -0
- package/dest/gas/gas_used.js +1 -0
- package/dest/gas/index.d.ts +5 -0
- package/dest/gas/index.d.ts.map +1 -0
- package/dest/gas/index.js +4 -0
- package/dest/hash/hash.d.ts +75 -0
- package/dest/hash/hash.d.ts.map +1 -0
- package/dest/hash/hash.js +124 -0
- package/dest/hash/index.d.ts +3 -0
- package/dest/hash/index.d.ts.map +1 -0
- package/dest/hash/index.js +2 -0
- package/dest/hash/map_slot.d.ts +12 -0
- package/dest/hash/map_slot.d.ts.map +1 -0
- package/dest/hash/map_slot.js +12 -0
- package/dest/interfaces/archiver.d.ts +9 -0
- package/dest/interfaces/archiver.d.ts.map +1 -0
- package/dest/interfaces/archiver.js +51 -0
- package/dest/interfaces/aztec-node.d.ts +348 -0
- package/dest/interfaces/aztec-node.d.ts.map +1 -0
- package/dest/interfaces/aztec-node.js +93 -0
- package/dest/interfaces/block-builder.d.ts +26 -0
- package/dest/interfaces/block-builder.d.ts.map +1 -0
- package/dest/interfaces/block-builder.js +1 -0
- package/dest/interfaces/client.d.ts +5 -0
- package/dest/interfaces/client.d.ts.map +1 -0
- package/dest/interfaces/client.js +4 -0
- package/dest/interfaces/configs.d.ts +152 -0
- package/dest/interfaces/configs.d.ts.map +1 -0
- package/dest/interfaces/configs.js +34 -0
- package/dest/interfaces/epoch-prover.d.ts +38 -0
- package/dest/interfaces/epoch-prover.d.ts.map +1 -0
- package/dest/interfaces/epoch-prover.js +1 -0
- package/dest/interfaces/get_logs_response.d.ts +73 -0
- package/dest/interfaces/get_logs_response.d.ts.map +1 -0
- package/dest/interfaces/get_logs_response.js +11 -0
- package/dest/interfaces/l2_logs_source.d.ts +42 -0
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -0
- package/dest/interfaces/l2_logs_source.js +3 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +226 -0
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -0
- package/dest/interfaces/merkle_tree_operations.js +13 -0
- package/dest/interfaces/p2p-bootstrap.d.ts +14 -0
- package/dest/interfaces/p2p-bootstrap.d.ts.map +1 -0
- package/dest/interfaces/p2p-bootstrap.js +5 -0
- package/dest/interfaces/p2p.d.ts +49 -0
- package/dest/interfaces/p2p.d.ts.map +1 -0
- package/dest/interfaces/p2p.js +30 -0
- package/dest/interfaces/private_kernel_prover.d.ts +81 -0
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -0
- package/dest/interfaces/private_kernel_prover.js +4 -0
- package/dest/interfaces/processed-tx-handler.d.ts +10 -0
- package/dest/interfaces/processed-tx-handler.d.ts.map +1 -0
- package/dest/interfaces/processed-tx-handler.js +1 -0
- package/dest/interfaces/prover-agent.d.ts +11 -0
- package/dest/interfaces/prover-agent.d.ts.map +1 -0
- package/dest/interfaces/prover-agent.js +9 -0
- package/dest/interfaces/prover-broker.d.ts +68 -0
- package/dest/interfaces/prover-broker.d.ts.map +1 -0
- package/dest/interfaces/prover-broker.js +1 -0
- package/dest/interfaces/prover-client.d.ts +76 -0
- package/dest/interfaces/prover-client.d.ts.map +1 -0
- package/dest/interfaces/prover-client.js +70 -0
- package/dest/interfaces/prover-coordination.d.ts +20 -0
- package/dest/interfaces/prover-coordination.d.ts.map +1 -0
- package/dest/interfaces/prover-coordination.js +7 -0
- package/dest/interfaces/prover-node.d.ts +19 -0
- package/dest/interfaces/prover-node.d.ts.map +1 -0
- package/dest/interfaces/prover-node.js +27 -0
- package/dest/interfaces/proving-job-source.d.ts +29 -0
- package/dest/interfaces/proving-job-source.d.ts.map +1 -0
- package/dest/interfaces/proving-job-source.js +8 -0
- package/dest/interfaces/proving-job.d.ts +2956 -0
- package/dest/interfaces/proving-job.d.ts.map +1 -0
- package/dest/interfaces/proving-job.js +259 -0
- package/dest/interfaces/pxe.d.ts +347 -0
- package/dest/interfaces/pxe.d.ts.map +1 -0
- package/dest/interfaces/pxe.js +104 -0
- package/dest/interfaces/server.d.ts +20 -0
- package/dest/interfaces/server.d.ts.map +1 -0
- package/dest/interfaces/server.js +19 -0
- package/dest/interfaces/server_circuit_prover.d.ts +86 -0
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -0
- package/dest/interfaces/server_circuit_prover.js +3 -0
- package/dest/interfaces/service.d.ts +15 -0
- package/dest/interfaces/service.d.ts.map +1 -0
- package/dest/interfaces/service.js +7 -0
- package/dest/interfaces/world_state.d.ts +85 -0
- package/dest/interfaces/world_state.d.ts.map +1 -0
- package/dest/interfaces/world_state.js +17 -0
- package/dest/kernel/combined_constant_data.d.ts +73 -0
- package/dest/kernel/combined_constant_data.d.ts.map +1 -0
- package/dest/kernel/combined_constant_data.js +73 -0
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +15 -0
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -0
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +66 -0
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +24 -0
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -0
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +67 -0
- package/dest/kernel/hints/build_transient_data_hints.d.ts +10 -0
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -0
- package/dest/kernel/hints/build_transient_data_hints.js +51 -0
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +3 -0
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -0
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +104 -0
- package/dest/kernel/hints/index.d.ts +17 -0
- package/dest/kernel/hints/index.d.ts.map +1 -0
- package/dest/kernel/hints/index.js +16 -0
- package/dest/kernel/hints/key_validation_hint.d.ts +19 -0
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -0
- package/dest/kernel/hints/key_validation_hint.js +20 -0
- package/dest/kernel/hints/key_validation_request.d.ts +25 -0
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -0
- package/dest/kernel/hints/key_validation_request.js +50 -0
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +32 -0
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -0
- package/dest/kernel/hints/key_validation_request_and_generator.js +44 -0
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts +24 -0
- package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -0
- package/dest/kernel/hints/note_hash_read_request_hints.js +43 -0
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +21 -0
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -0
- package/dest/kernel/hints/nullifier_read_request_hints.js +43 -0
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +61 -0
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -0
- package/dest/kernel/hints/private_kernel_reset_hints.js +48 -0
- package/dest/kernel/hints/read_request.d.ts +90 -0
- package/dest/kernel/hints/read_request.d.ts.map +1 -0
- package/dest/kernel/hints/read_request.js +112 -0
- package/dest/kernel/hints/read_request_hints.d.ts +78 -0
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -0
- package/dest/kernel/hints/read_request_hints.js +114 -0
- package/dest/kernel/hints/rollup_validation_requests.d.ts +40 -0
- package/dest/kernel/hints/rollup_validation_requests.d.ts.map +1 -0
- package/dest/kernel/hints/rollup_validation_requests.js +57 -0
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +21 -0
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -0
- package/dest/kernel/hints/scoped_key_validation_request_and_generator.js +41 -0
- package/dest/kernel/hints/scoped_value_cache.d.ts +14 -0
- package/dest/kernel/hints/scoped_value_cache.d.ts.map +1 -0
- package/dest/kernel/hints/scoped_value_cache.js +14 -0
- package/dest/kernel/hints/transient_data_index_hint.d.ts +20 -0
- package/dest/kernel/hints/transient_data_index_hint.d.ts.map +1 -0
- package/dest/kernel/hints/transient_data_index_hint.js +40 -0
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +16 -0
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -0
- package/dest/kernel/hints/tree_leaf_read_request.js +33 -0
- package/dest/kernel/index.d.ts +31 -0
- package/dest/kernel/index.d.ts.map +1 -0
- package/dest/kernel/index.js +30 -0
- package/dest/kernel/log_hash.d.ts +38 -0
- package/dest/kernel/log_hash.d.ts.map +1 -0
- package/dest/kernel/log_hash.js +87 -0
- package/dest/kernel/note_hash.d.ts +34 -0
- package/dest/kernel/note_hash.d.ts.map +1 -0
- package/dest/kernel/note_hash.js +80 -0
- package/dest/kernel/nullifier.d.ts +36 -0
- package/dest/kernel/nullifier.d.ts.map +1 -0
- package/dest/kernel/nullifier.js +86 -0
- package/dest/kernel/private_accumulated_data.d.ts +92 -0
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -0
- package/dest/kernel/private_accumulated_data.js +71 -0
- package/dest/kernel/private_call_data.d.ts +162 -0
- package/dest/kernel/private_call_data.d.ts.map +1 -0
- package/dest/kernel/private_call_data.js +162 -0
- package/dest/kernel/private_call_request.d.ts +57 -0
- package/dest/kernel/private_call_request.d.ts.map +1 -0
- package/dest/kernel/private_call_request.js +59 -0
- package/dest/kernel/private_circuit_public_inputs.d.ts +238 -0
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -0
- package/dest/kernel/private_circuit_public_inputs.js +191 -0
- package/dest/kernel/private_context_inputs.d.ts +14 -0
- package/dest/kernel/private_context_inputs.d.ts.map +1 -0
- package/dest/kernel/private_context_inputs.js +27 -0
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +90 -0
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_circuit_public_inputs.js +66 -0
- package/dest/kernel/private_kernel_data.d.ts +54 -0
- package/dest/kernel/private_kernel_data.d.ts.map +1 -0
- package/dest/kernel/private_kernel_data.js +43 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +72 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +48 -0
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +39 -0
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.js +31 -0
- package/dest/kernel/private_kernel_prover_profile_result.d.ts +25 -0
- package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +1 -0
- package/dest/kernel/private_kernel_prover_profile_result.js +7 -0
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +35 -0
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +34 -0
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_dimensions.js +56 -0
- package/dest/kernel/private_kernel_simulated_output.d.ts +28 -0
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -0
- package/dest/kernel/private_kernel_simulated_output.js +3 -0
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +31 -0
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +30 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +115 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +186 -0
- package/dest/kernel/private_log_data.d.ts +40 -0
- package/dest/kernel/private_log_data.d.ts.map +1 -0
- package/dest/kernel/private_log_data.js +99 -0
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +125 -0
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -0
- package/dest/kernel/private_to_avm_accumulated_data.js +118 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts +31 -0
- package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -0
- package/dest/kernel/private_to_public_accumulated_data.js +73 -0
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts +34 -0
- package/dest/kernel/private_to_public_accumulated_data_builder.d.ts.map +1 -0
- package/dest/kernel/private_to_public_accumulated_data_builder.js +72 -0
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +30 -0
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -0
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +65 -0
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +82 -0
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -0
- package/dest/kernel/private_to_rollup_accumulated_data.js +99 -0
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +76 -0
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -0
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +85 -0
- package/dest/kernel/private_validation_requests.d.ts +82 -0
- package/dest/kernel/private_validation_requests.d.ts.map +1 -0
- package/dest/kernel/private_validation_requests.js +79 -0
- package/dest/kernel/public_call_request.d.ts +99 -0
- package/dest/kernel/public_call_request.d.ts.map +1 -0
- package/dest/kernel/public_call_request.js +132 -0
- package/dest/kernel/utils/index.d.ts +4 -0
- package/dest/kernel/utils/index.d.ts.map +1 -0
- package/dest/kernel/utils/index.js +3 -0
- package/dest/kernel/utils/interfaces.d.ts +7 -0
- package/dest/kernel/utils/interfaces.d.ts.map +1 -0
- package/dest/kernel/utils/interfaces.js +1 -0
- package/dest/kernel/utils/optional_number.d.ts +33 -0
- package/dest/kernel/utils/optional_number.d.ts.map +1 -0
- package/dest/kernel/utils/optional_number.js +42 -0
- package/dest/kernel/utils/order_and_comparison.d.ts +8 -0
- package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -0
- package/dest/kernel/utils/order_and_comparison.js +52 -0
- package/dest/keys/derivation.d.ts +30 -0
- package/dest/keys/derivation.d.ts.map +1 -0
- package/dest/keys/derivation.js +127 -0
- package/dest/keys/index.d.ts +6 -0
- package/dest/keys/index.d.ts.map +1 -0
- package/dest/keys/index.js +5 -0
- package/dest/keys/key_types.d.ts +5 -0
- package/dest/keys/key_types.d.ts.map +1 -0
- package/dest/keys/key_types.js +6 -0
- package/dest/keys/public_key.d.ts +4 -0
- package/dest/keys/public_key.d.ts.map +1 -0
- package/dest/keys/public_key.js +1 -0
- package/dest/keys/public_keys.d.ts +116 -0
- package/dest/keys/public_keys.d.ts.map +1 -0
- package/dest/keys/public_keys.js +121 -0
- package/dest/keys/utils.d.ts +3 -0
- package/dest/keys/utils.d.ts.map +1 -0
- package/dest/keys/utils.js +6 -0
- package/dest/logs/contract_class_log.d.ts +44 -0
- package/dest/logs/contract_class_log.d.ts.map +1 -0
- package/dest/logs/contract_class_log.js +125 -0
- package/dest/logs/extended_contract_class_log.d.ts +53 -0
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -0
- package/dest/logs/extended_contract_class_log.js +67 -0
- package/dest/logs/extended_public_log.d.ts +94 -0
- package/dest/logs/extended_public_log.d.ts.map +1 -0
- package/dest/logs/extended_public_log.js +73 -0
- package/dest/logs/index.d.ts +12 -0
- package/dest/logs/index.d.ts.map +1 -0
- package/dest/logs/index.js +11 -0
- package/dest/logs/indexed_tagging_secret.d.ts +28 -0
- package/dest/logs/indexed_tagging_secret.d.ts.map +1 -0
- package/dest/logs/indexed_tagging_secret.js +50 -0
- package/dest/logs/l1_payload/encrypted_log_payload.d.ts +50 -0
- package/dest/logs/l1_payload/encrypted_log_payload.d.ts.map +1 -0
- package/dest/logs/l1_payload/encrypted_log_payload.js +140 -0
- package/dest/logs/l1_payload/encryption_util.d.ts +24 -0
- package/dest/logs/l1_payload/encryption_util.d.ts.map +1 -0
- package/dest/logs/l1_payload/encryption_util.js +46 -0
- package/dest/logs/l1_payload/index.d.ts +3 -0
- package/dest/logs/l1_payload/index.d.ts.map +1 -0
- package/dest/logs/l1_payload/index.js +2 -0
- package/dest/logs/l1_payload/l1_note_payload.d.ts +82 -0
- package/dest/logs/l1_payload/l1_note_payload.d.ts.map +1 -0
- package/dest/logs/l1_payload/l1_note_payload.js +129 -0
- package/dest/logs/l1_payload/payload.d.ts +60 -0
- package/dest/logs/l1_payload/payload.d.ts.map +1 -0
- package/dest/logs/l1_payload/payload.js +61 -0
- package/dest/logs/l1_payload/shared_secret_derivation.d.ts +16 -0
- package/dest/logs/l1_payload/shared_secret_derivation.d.ts.map +1 -0
- package/dest/logs/l1_payload/shared_secret_derivation.js +23 -0
- package/dest/logs/log_filter.d.ts +22 -0
- package/dest/logs/log_filter.d.ts.map +1 -0
- package/dest/logs/log_filter.js +11 -0
- package/dest/logs/log_id.d.ts +72 -0
- package/dest/logs/log_id.d.ts.map +1 -0
- package/dest/logs/log_id.js +83 -0
- package/dest/logs/log_with_tx_data.d.ts +11 -0
- package/dest/logs/log_with_tx_data.d.ts.map +1 -0
- package/dest/logs/log_with_tx_data.js +36 -0
- package/dest/logs/private_log.d.ts +33 -0
- package/dest/logs/private_log.d.ts.map +1 -0
- package/dest/logs/private_log.js +56 -0
- package/dest/logs/public_log.d.ts +31 -0
- package/dest/logs/public_log.d.ts.map +1 -0
- package/dest/logs/public_log.js +77 -0
- package/dest/logs/tx_scoped_l2_log.d.ts +60 -0
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -0
- package/dest/logs/tx_scoped_l2_log.js +58 -0
- package/dest/messaging/inbox_leaf.d.ts +19 -0
- package/dest/messaging/inbox_leaf.d.ts.map +1 -0
- package/dest/messaging/inbox_leaf.js +27 -0
- package/dest/messaging/index.d.ts +7 -0
- package/dest/messaging/index.d.ts.map +1 -0
- package/dest/messaging/index.js +6 -0
- package/dest/messaging/l1_actor.d.ts +33 -0
- package/dest/messaging/l1_actor.d.ts.map +1 -0
- package/dest/messaging/l1_actor.js +39 -0
- package/dest/messaging/l1_to_l2_message.d.ts +50 -0
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -0
- package/dest/messaging/l1_to_l2_message.js +83 -0
- package/dest/messaging/l1_to_l2_message_source.d.ts +24 -0
- package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -0
- package/dest/messaging/l1_to_l2_message_source.js +3 -0
- package/dest/messaging/l2_actor.d.ts +33 -0
- package/dest/messaging/l2_actor.d.ts.map +1 -0
- package/dest/messaging/l2_actor.js +39 -0
- package/dest/messaging/l2_to_l1_message.d.ts +121 -0
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -0
- package/dest/messaging/l2_to_l1_message.js +129 -0
- package/dest/network/index.d.ts +32 -0
- package/dest/network/index.d.ts.map +1 -0
- package/dest/network/index.js +30 -0
- package/dest/noir/index.d.ts +128 -0
- package/dest/noir/index.d.ts.map +1 -0
- package/dest/noir/index.js +15 -0
- package/dest/note/comparator.d.ts +12 -0
- package/dest/note/comparator.d.ts.map +1 -0
- package/dest/note/comparator.js +11 -0
- package/dest/note/extended_note.d.ts +124 -0
- package/dest/note/extended_note.d.ts.map +1 -0
- package/dest/note/extended_note.js +115 -0
- package/dest/note/index.d.ts +6 -0
- package/dest/note/index.d.ts.map +1 -0
- package/dest/note/index.js +5 -0
- package/dest/note/note.d.ts +24 -0
- package/dest/note/note.d.ts.map +1 -0
- package/dest/note/note.js +13 -0
- package/dest/note/note_status.d.ts +8 -0
- package/dest/note/note_status.d.ts.map +1 -0
- package/dest/note/note_status.js +7 -0
- package/dest/note/notes_filter.d.ts +27 -0
- package/dest/note/notes_filter.d.ts.map +1 -0
- package/dest/note/notes_filter.js +13 -0
- package/dest/p2p/block_attestation.d.ts +49 -0
- package/dest/p2p/block_attestation.d.ts.map +1 -0
- package/dest/p2p/block_attestation.js +78 -0
- package/dest/p2p/block_proposal.d.ts +45 -0
- package/dest/p2p/block_proposal.d.ts.map +1 -0
- package/dest/p2p/block_proposal.js +70 -0
- package/dest/p2p/client_type.d.ts +5 -0
- package/dest/p2p/client_type.d.ts.map +1 -0
- package/dest/p2p/client_type.js +7 -0
- package/dest/p2p/consensus_payload.d.ts +51 -0
- package/dest/p2p/consensus_payload.d.ts.map +1 -0
- package/dest/p2p/consensus_payload.js +82 -0
- package/dest/p2p/gossipable.d.ts +32 -0
- package/dest/p2p/gossipable.d.ts.map +1 -0
- package/dest/p2p/gossipable.js +10 -0
- package/dest/p2p/index.d.ts +11 -0
- package/dest/p2p/index.d.ts.map +1 -0
- package/dest/p2p/index.js +10 -0
- package/dest/p2p/interface.d.ts +18 -0
- package/dest/p2p/interface.d.ts.map +1 -0
- package/dest/p2p/interface.js +19 -0
- package/dest/p2p/message_validator.d.ts +10 -0
- package/dest/p2p/message_validator.d.ts.map +1 -0
- package/dest/p2p/message_validator.js +5 -0
- package/dest/p2p/peer_error.d.ts +18 -0
- package/dest/p2p/peer_error.d.ts.map +1 -0
- package/dest/p2p/peer_error.js +15 -0
- package/dest/p2p/signature_utils.d.ts +23 -0
- package/dest/p2p/signature_utils.d.ts.map +1 -0
- package/dest/p2p/signature_utils.js +22 -0
- package/dest/p2p/topic_type.d.ts +28 -0
- package/dest/p2p/topic_type.d.ts.map +1 -0
- package/dest/p2p/topic_type.js +40 -0
- package/dest/parity/base_parity_inputs.d.ts +37 -0
- package/dest/parity/base_parity_inputs.d.ts.map +1 -0
- package/dest/parity/base_parity_inputs.js +45 -0
- package/dest/parity/index.d.ts +5 -0
- package/dest/parity/index.d.ts.map +1 -0
- package/dest/parity/index.js +4 -0
- package/dest/parity/parity_public_inputs.d.ts +58 -0
- package/dest/parity/parity_public_inputs.d.ts.map +1 -0
- package/dest/parity/parity_public_inputs.js +68 -0
- package/dest/parity/root_parity_input.d.ts +54 -0
- package/dest/parity/root_parity_input.d.ts.map +1 -0
- package/dest/parity/root_parity_input.js +50 -0
- package/dest/parity/root_parity_inputs.d.ts +39 -0
- package/dest/parity/root_parity_inputs.d.ts.map +1 -0
- package/dest/parity/root_parity_inputs.js +47 -0
- package/dest/proofs/client_ivc_proof.d.ts +21 -0
- package/dest/proofs/client_ivc_proof.d.ts.map +1 -0
- package/dest/proofs/client_ivc_proof.js +44 -0
- package/dest/proofs/index.d.ts +5 -0
- package/dest/proofs/index.d.ts.map +1 -0
- package/dest/proofs/index.js +4 -0
- package/dest/proofs/proof.d.ts +65 -0
- package/dest/proofs/proof.d.ts.map +1 -0
- package/dest/proofs/proof.js +91 -0
- package/dest/proofs/proving_request_type.d.ts +16 -0
- package/dest/proofs/proving_request_type.d.ts.map +1 -0
- package/dest/proofs/proving_request_type.js +15 -0
- package/dest/proofs/recursive_proof.d.ts +101 -0
- package/dest/proofs/recursive_proof.d.ts.map +1 -0
- package/dest/proofs/recursive_proof.js +93 -0
- package/dest/rollup/avm_proof_data.d.ts +17 -0
- package/dest/rollup/avm_proof_data.d.ts.map +1 -0
- package/dest/rollup/avm_proof_data.js +25 -0
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +126 -0
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/base_or_merge_rollup_public_inputs.js +92 -0
- package/dest/rollup/base_rollup_hints.d.ts +138 -0
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -0
- package/dest/rollup/base_rollup_hints.js +132 -0
- package/dest/rollup/block_merge_rollup.d.ts +45 -0
- package/dest/rollup/block_merge_rollup.d.ts.map +1 -0
- package/dest/rollup/block_merge_rollup.js +50 -0
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +159 -0
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +136 -0
- package/dest/rollup/block_root_rollup.d.ts +262 -0
- package/dest/rollup/block_root_rollup.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup.js +293 -0
- package/dest/rollup/constant_rollup_data.d.ts +47 -0
- package/dest/rollup/constant_rollup_data.d.ts.map +1 -0
- package/dest/rollup/constant_rollup_data.js +45 -0
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +54 -0
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +1 -0
- package/dest/rollup/empty_block_root_rollup_inputs.js +68 -0
- package/dest/rollup/index.d.ts +19 -0
- package/dest/rollup/index.d.ts.map +1 -0
- package/dest/rollup/index.js +18 -0
- package/dest/rollup/merge_rollup.d.ts +45 -0
- package/dest/rollup/merge_rollup.d.ts.map +1 -0
- package/dest/rollup/merge_rollup.js +50 -0
- package/dest/rollup/previous_rollup_block_data.d.ts +58 -0
- package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -0
- package/dest/rollup/previous_rollup_block_data.js +42 -0
- package/dest/rollup/previous_rollup_data.d.ts +58 -0
- package/dest/rollup/previous_rollup_data.d.ts.map +1 -0
- package/dest/rollup/previous_rollup_data.js +42 -0
- package/dest/rollup/private_base_rollup_inputs.d.ts +23 -0
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +1 -0
- package/dest/rollup/private_base_rollup_inputs.js +44 -0
- package/dest/rollup/private_tube_data.d.ts +17 -0
- package/dest/rollup/private_tube_data.d.ts.map +1 -0
- package/dest/rollup/private_tube_data.js +25 -0
- package/dest/rollup/public_base_rollup_inputs.d.ts +25 -0
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +1 -0
- package/dest/rollup/public_base_rollup_inputs.js +48 -0
- package/dest/rollup/public_tube_data.d.ts +17 -0
- package/dest/rollup/public_tube_data.d.ts.map +1 -0
- package/dest/rollup/public_tube_data.js +25 -0
- package/dest/rollup/root_rollup.d.ts +112 -0
- package/dest/rollup/root_rollup.d.ts.map +1 -0
- package/dest/rollup/root_rollup.js +158 -0
- package/dest/rollup/state_diff_hints.d.ts +105 -0
- package/dest/rollup/state_diff_hints.d.ts.map +1 -0
- package/dest/rollup/state_diff_hints.js +85 -0
- package/dest/rollup/tube_inputs.d.ts +40 -0
- package/dest/rollup/tube_inputs.d.ts.map +1 -0
- package/dest/rollup/tube_inputs.js +57 -0
- package/dest/schemas/index.d.ts +2 -0
- package/dest/schemas/index.d.ts.map +1 -0
- package/dest/schemas/index.js +1 -0
- package/dest/schemas/schemas.d.ts +63 -0
- package/dest/schemas/schemas.d.ts.map +1 -0
- package/dest/schemas/schemas.js +34 -0
- package/dest/shared_mutable/index.d.ts +5 -0
- package/dest/shared_mutable/index.d.ts.map +1 -0
- package/dest/shared_mutable/index.js +4 -0
- package/dest/shared_mutable/scheduled_delay_change.d.ts +10 -0
- package/dest/shared_mutable/scheduled_delay_change.d.ts.map +1 -0
- package/dest/shared_mutable/scheduled_delay_change.js +16 -0
- package/dest/shared_mutable/scheduled_value_change.d.ts +11 -0
- package/dest/shared_mutable/scheduled_value_change.d.ts.map +1 -0
- package/dest/shared_mutable/scheduled_value_change.js +27 -0
- package/dest/shared_mutable/shared_mutable_values.d.ts +22 -0
- package/dest/shared_mutable/shared_mutable_values.d.ts.map +1 -0
- package/dest/shared_mutable/shared_mutable_values.js +78 -0
- package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts +15 -0
- package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +1 -0
- package/dest/shared_mutable/shared_mutable_values_with_hash.js +30 -0
- package/dest/stats/index.d.ts +2 -0
- package/dest/stats/index.d.ts.map +1 -0
- package/dest/stats/index.js +1 -0
- package/dest/stats/stats.d.ts +224 -0
- package/dest/stats/stats.d.ts.map +1 -0
- package/dest/stats/stats.js +1 -0
- package/dest/tests/factories.d.ts +396 -0
- package/dest/tests/factories.d.ts.map +1 -0
- package/dest/tests/factories.js +915 -0
- package/dest/tests/fixtures.d.ts +6 -0
- package/dest/tests/fixtures.d.ts.map +1 -0
- package/dest/tests/fixtures.js +25 -0
- package/dest/tests/index.d.ts +3 -0
- package/dest/tests/index.d.ts.map +1 -0
- package/dest/tests/index.js +2 -0
- package/dest/tests/jest.d.ts +13 -0
- package/dest/tests/jest.d.ts.map +1 -0
- package/dest/tests/jest.js +26 -0
- package/dest/tests/mocks.d.ts +43 -0
- package/dest/tests/mocks.d.ts.map +1 -0
- package/dest/tests/mocks.js +179 -0
- package/dest/trees/append_only_tree_snapshot.d.ts +70 -0
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -0
- package/dest/trees/append_only_tree_snapshot.js +75 -0
- package/dest/trees/index.d.ts +9 -0
- package/dest/trees/index.d.ts.map +1 -0
- package/dest/trees/index.js +8 -0
- package/dest/trees/merkle_tree_id.d.ts +23 -0
- package/dest/trees/merkle_tree_id.d.ts.map +1 -0
- package/dest/trees/merkle_tree_id.js +25 -0
- package/dest/trees/nullifier_leaf.d.ts +88 -0
- package/dest/trees/nullifier_leaf.d.ts.map +1 -0
- package/dest/trees/nullifier_leaf.js +103 -0
- package/dest/trees/nullifier_membership_witness.d.ts +112 -0
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -0
- package/dest/trees/nullifier_membership_witness.js +47 -0
- package/dest/trees/protocol_contract_leaf.d.ts +87 -0
- package/dest/trees/protocol_contract_leaf.d.ts.map +1 -0
- package/dest/trees/protocol_contract_leaf.js +103 -0
- package/dest/trees/public_data_leaf.d.ts +110 -0
- package/dest/trees/public_data_leaf.d.ts.map +1 -0
- package/dest/trees/public_data_leaf.js +130 -0
- package/dest/trees/public_data_witness.d.ts +142 -0
- package/dest/trees/public_data_witness.d.ts.map +1 -0
- package/dest/trees/public_data_witness.js +81 -0
- package/dest/tx/block_header.d.ts +90 -0
- package/dest/tx/block_header.d.ts.map +1 -0
- package/dest/tx/block_header.js +134 -0
- package/dest/tx/call_context.d.ts +94 -0
- package/dest/tx/call_context.d.ts.map +1 -0
- package/dest/tx/call_context.js +96 -0
- package/dest/tx/capsule.d.ts +30 -0
- package/dest/tx/capsule.d.ts.map +1 -0
- package/dest/tx/capsule.js +37 -0
- package/dest/tx/content_commitment.d.ts +105 -0
- package/dest/tx/content_commitment.d.ts.map +1 -0
- package/dest/tx/content_commitment.js +96 -0
- package/dest/tx/function_data.d.ts +69 -0
- package/dest/tx/function_data.d.ts.map +1 -0
- package/dest/tx/function_data.js +72 -0
- package/dest/tx/global_variable_builder.d.ts +21 -0
- package/dest/tx/global_variable_builder.d.ts.map +1 -0
- package/dest/tx/global_variable_builder.js +3 -0
- package/dest/tx/global_variables.d.ts +139 -0
- package/dest/tx/global_variables.d.ts.map +1 -0
- package/dest/tx/global_variables.js +131 -0
- package/dest/tx/hashed_values.d.ts +26 -0
- package/dest/tx/hashed_values.d.ts.map +1 -0
- package/dest/tx/hashed_values.js +42 -0
- package/dest/tx/index.d.ts +28 -0
- package/dest/tx/index.d.ts.map +1 -0
- package/dest/tx/index.js +27 -0
- package/dest/tx/max_block_number.d.ts +55 -0
- package/dest/tx/max_block_number.d.ts.map +1 -0
- package/dest/tx/max_block_number.js +65 -0
- package/dest/tx/partial_state_reference.d.ts +104 -0
- package/dest/tx/partial_state_reference.d.ts.map +1 -0
- package/dest/tx/partial_state_reference.js +60 -0
- package/dest/tx/private_execution_result.d.ts +182 -0
- package/dest/tx/private_execution_result.d.ts.map +1 -0
- package/dest/tx/private_execution_result.js +261 -0
- package/dest/tx/processed_tx.d.ts +74 -0
- package/dest/tx/processed_tx.d.ts.map +1 -0
- package/dest/tx/processed_tx.js +66 -0
- package/dest/tx/public_execution_request.d.ts +45 -0
- package/dest/tx/public_execution_request.d.ts.map +1 -0
- package/dest/tx/public_execution_request.js +72 -0
- package/dest/tx/public_simulation_output.d.ts +31 -0
- package/dest/tx/public_simulation_output.d.ts.map +1 -0
- package/dest/tx/public_simulation_output.js +68 -0
- package/dest/tx/simulated_tx.d.ts +72 -0
- package/dest/tx/simulated_tx.d.ts.map +1 -0
- package/dest/tx/simulated_tx.js +104 -0
- package/dest/tx/state_reference.d.ts +166 -0
- package/dest/tx/state_reference.d.ts.map +1 -0
- package/dest/tx/state_reference.js +74 -0
- package/dest/tx/tree_snapshots.d.ts +120 -0
- package/dest/tx/tree_snapshots.d.ts.map +1 -0
- package/dest/tx/tree_snapshots.js +72 -0
- package/dest/tx/tx.d.ts +174 -0
- package/dest/tx/tx.d.ts.map +1 -0
- package/dest/tx/tx.js +246 -0
- package/dest/tx/tx_constant_data.d.ts +61 -0
- package/dest/tx/tx_constant_data.d.ts.map +1 -0
- package/dest/tx/tx_constant_data.js +68 -0
- package/dest/tx/tx_context.d.ts +196 -0
- package/dest/tx/tx_context.d.ts.map +1 -0
- package/dest/tx/tx_context.js +80 -0
- package/dest/tx/tx_effect.d.ts +170 -0
- package/dest/tx/tx_effect.d.ts.map +1 -0
- package/dest/tx/tx_effect.js +441 -0
- package/dest/tx/tx_execution_request.d.ts +114 -0
- package/dest/tx/tx_execution_request.d.ts.map +1 -0
- package/dest/tx/tx_execution_request.js +127 -0
- package/dest/tx/tx_hash.d.ts +27 -0
- package/dest/tx/tx_hash.d.ts.map +1 -0
- package/dest/tx/tx_hash.js +51 -0
- package/dest/tx/tx_receipt.d.ts +83 -0
- package/dest/tx/tx_receipt.d.ts.map +1 -0
- package/dest/tx/tx_receipt.js +76 -0
- package/dest/tx/tx_request.d.ts +48 -0
- package/dest/tx/tx_request.d.ts.map +1 -0
- package/dest/tx/tx_request.js +66 -0
- package/dest/tx/validator/empty_validator.d.ts +5 -0
- package/dest/tx/validator/empty_validator.d.ts.map +1 -0
- package/dest/tx/validator/empty_validator.js +7 -0
- package/dest/tx/validator/tx_validator.d.ts +46 -0
- package/dest/tx/validator/tx_validator.d.ts.map +1 -0
- package/dest/tx/validator/tx_validator.js +18 -0
- package/dest/types/index.d.ts +2 -0
- package/dest/types/index.d.ts.map +1 -0
- package/dest/types/index.js +1 -0
- package/dest/types/shared.d.ts +41 -0
- package/dest/types/shared.d.ts.map +1 -0
- package/dest/types/shared.js +34 -0
- package/dest/versioning/index.d.ts +2 -0
- package/dest/versioning/index.d.ts.map +1 -0
- package/dest/versioning/index.js +1 -0
- package/dest/versioning/versioning.d.ts +32 -0
- package/dest/versioning/versioning.d.ts.map +1 -0
- package/dest/versioning/versioning.js +92 -0
- package/dest/vks/index.d.ts +3 -0
- package/dest/vks/index.d.ts.map +1 -0
- package/dest/vks/index.js +2 -0
- package/dest/vks/verification_key.d.ts +197 -0
- package/dest/vks/verification_key.d.ts.map +1 -0
- package/dest/vks/verification_key.js +241 -0
- package/dest/vks/vk_witness_data.d.ts +32 -0
- package/dest/vks/vk_witness_data.d.ts.map +1 -0
- package/dest/vks/vk_witness_data.js +33 -0
- package/package.json +143 -0
- package/src/abi/abi.ts +504 -0
- package/src/abi/buffer.ts +36 -0
- package/src/abi/contract_artifact.ts +294 -0
- package/src/abi/decoder.ts +187 -0
- package/src/abi/encoder.ts +161 -0
- package/src/abi/event_selector.ts +93 -0
- package/src/abi/function_call.ts +58 -0
- package/src/abi/function_selector.ts +123 -0
- package/src/abi/index.ts +10 -0
- package/src/abi/mocked_keys.ts +2 -0
- package/src/abi/note_selector.ts +78 -0
- package/src/abi/selector.ts +64 -0
- package/src/abi/utils.ts +78 -0
- package/src/auth_witness/auth_witness.ts +52 -0
- package/src/auth_witness/index.ts +1 -0
- package/src/avm/avm.ts +312 -0
- package/src/avm/avm_accumulated_data.ts +159 -0
- package/src/avm/avm_circuit_public_inputs.ts +240 -0
- package/src/avm/avm_proving_request.ts +11 -0
- package/src/avm/contract_storage_read.ts +77 -0
- package/src/avm/contract_storage_update_request.ts +93 -0
- package/src/avm/index.ts +12 -0
- package/src/avm/message_pack.ts +48 -0
- package/src/avm/public_call_stack_item_compressed.ts +113 -0
- package/src/avm/public_data_hint.ts +38 -0
- package/src/avm/public_data_read.ts +48 -0
- package/src/avm/public_data_update_request.ts +106 -0
- package/src/avm/public_data_write.ts +80 -0
- package/src/avm/public_inner_call_request.ts +85 -0
- package/src/avm/revert_code.ts +128 -0
- package/src/aztec-address/index.ts +145 -0
- package/src/block/block_hash.ts +30 -0
- package/src/block/body.ts +101 -0
- package/src/block/in_block.ts +36 -0
- package/src/block/index.ts +8 -0
- package/src/block/l2_block.ts +205 -0
- package/src/block/l2_block_code_to_purge.ts +103 -0
- package/src/block/l2_block_downloader/index.ts +2 -0
- package/src/block/l2_block_downloader/l2_block_downloader.ts +149 -0
- package/src/block/l2_block_downloader/l2_block_stream.ts +179 -0
- package/src/block/l2_block_number.ts +8 -0
- package/src/block/l2_block_source.ts +160 -0
- package/src/block/nullifier_with_block_source.ts +7 -0
- package/src/config/config.ts +42 -0
- package/src/config/index.ts +1 -0
- package/src/contract/artifact_hash.ts +115 -0
- package/src/contract/complete_address.ts +155 -0
- package/src/contract/contract_address.ts +91 -0
- package/src/contract/contract_class.ts +81 -0
- package/src/contract/contract_class_id.ts +70 -0
- package/src/contract/contract_function_dao.ts +13 -0
- package/src/contract/contract_instance.ts +151 -0
- package/src/contract/contract_instance_update.ts +47 -0
- package/src/contract/deployment_info.ts +25 -0
- package/src/contract/index.ts +14 -0
- package/src/contract/interfaces/contract_class.ts +167 -0
- package/src/contract/interfaces/contract_data_source.ts +52 -0
- package/src/contract/interfaces/contract_instance.ts +47 -0
- package/src/contract/interfaces/contract_instance_update.ts +30 -0
- package/src/contract/interfaces/index.ts +6 -0
- package/src/contract/interfaces/node-info.ts +33 -0
- package/src/contract/interfaces/protocol_contract_addresses.ts +25 -0
- package/src/contract/partial_address.ts +7 -0
- package/src/contract/private_function.ts +47 -0
- package/src/contract/private_function_membership_proof.ts +167 -0
- package/src/contract/unconstrained_function_membership_proof.ts +118 -0
- package/src/database-version/README.md +63 -0
- package/src/database-version/index.ts +1 -0
- package/src/database-version/version_manager.ts +207 -0
- package/src/epoch-helpers/index.ts +69 -0
- package/src/errors/index.ts +2 -0
- package/src/errors/proving_error.ts +18 -0
- package/src/errors/simulation_error.ts +261 -0
- package/src/event/event.ts +16 -0
- package/src/event/event_metadata.ts +56 -0
- package/src/event/index.ts +3 -0
- package/src/event/l1_event_payload.ts +87 -0
- package/src/fees/index.ts +1 -0
- package/src/fees/transaction_fee.ts +21 -0
- package/src/gas/gas.ts +101 -0
- package/src/gas/gas_fees.ts +104 -0
- package/src/gas/gas_settings.ts +150 -0
- package/src/gas/gas_used.ts +23 -0
- package/src/gas/index.ts +4 -0
- package/src/hash/hash.ts +133 -0
- package/src/hash/index.ts +2 -0
- package/src/hash/map_slot.ts +18 -0
- package/src/interfaces/archiver.ts +83 -0
- package/src/interfaces/aztec-node.ts +614 -0
- package/src/interfaces/block-builder.ts +33 -0
- package/src/interfaces/client.ts +4 -0
- package/src/interfaces/configs.ts +73 -0
- package/src/interfaces/epoch-prover.ts +43 -0
- package/src/interfaces/get_logs_response.ts +31 -0
- package/src/interfaces/l2_logs_source.ts +47 -0
- package/src/interfaces/merkle_tree_operations.ts +293 -0
- package/src/interfaces/p2p-bootstrap.ts +21 -0
- package/src/interfaces/p2p.ts +67 -0
- package/src/interfaces/private_kernel_prover.ts +113 -0
- package/src/interfaces/processed-tx-handler.ts +10 -0
- package/src/interfaces/prover-agent.ts +20 -0
- package/src/interfaces/prover-broker.ts +90 -0
- package/src/interfaces/prover-client.ts +121 -0
- package/src/interfaces/prover-coordination.ts +27 -0
- package/src/interfaces/prover-node.ts +46 -0
- package/src/interfaces/proving-job-source.ts +40 -0
- package/src/interfaces/proving-job.ts +352 -0
- package/src/interfaces/pxe.ts +536 -0
- package/src/interfaces/server.ts +19 -0
- package/src/interfaces/server_circuit_prover.ts +167 -0
- package/src/interfaces/service.ts +25 -0
- package/src/interfaces/world_state.ts +84 -0
- package/src/kernel/combined_constant_data.ts +128 -0
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +125 -0
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +153 -0
- package/src/kernel/hints/build_transient_data_hints.ts +81 -0
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +167 -0
- package/src/kernel/hints/index.ts +16 -0
- package/src/kernel/hints/key_validation_hint.ts +24 -0
- package/src/kernel/hints/key_validation_request.ts +63 -0
- package/src/kernel/hints/key_validation_request_and_generator.ts +52 -0
- package/src/kernel/hints/note_hash_read_request_hints.ts +94 -0
- package/src/kernel/hints/nullifier_read_request_hints.ts +93 -0
- package/src/kernel/hints/private_kernel_reset_hints.ts +129 -0
- package/src/kernel/hints/read_request.ts +130 -0
- package/src/kernel/hints/read_request_hints.ts +165 -0
- package/src/kernel/hints/rollup_validation_requests.ts +73 -0
- package/src/kernel/hints/scoped_key_validation_request_and_generator.ts +54 -0
- package/src/kernel/hints/scoped_value_cache.ts +19 -0
- package/src/kernel/hints/transient_data_index_hint.ts +42 -0
- package/src/kernel/hints/tree_leaf_read_request.ts +32 -0
- package/src/kernel/index.ts +30 -0
- package/src/kernel/log_hash.ts +91 -0
- package/src/kernel/note_hash.ts +85 -0
- package/src/kernel/nullifier.ts +89 -0
- package/src/kernel/private_accumulated_data.ts +113 -0
- package/src/kernel/private_call_data.ts +201 -0
- package/src/kernel/private_call_request.ts +99 -0
- package/src/kernel/private_circuit_public_inputs.ts +322 -0
- package/src/kernel/private_context_inputs.ts +23 -0
- package/src/kernel/private_kernel_circuit_public_inputs.ts +102 -0
- package/src/kernel/private_kernel_data.ts +61 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +68 -0
- package/src/kernel/private_kernel_inner_circuit_private_inputs.ts +41 -0
- package/src/kernel/private_kernel_prover_profile_result.ts +7 -0
- package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +77 -0
- package/src/kernel/private_kernel_reset_dimensions.ts +81 -0
- package/src/kernel/private_kernel_simulated_output.ts +35 -0
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +41 -0
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +317 -0
- package/src/kernel/private_log_data.ts +107 -0
- package/src/kernel/private_to_avm_accumulated_data.ts +177 -0
- package/src/kernel/private_to_public_accumulated_data.ts +141 -0
- package/src/kernel/private_to_public_accumulated_data_builder.ts +102 -0
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +96 -0
- package/src/kernel/private_to_rollup_accumulated_data.ts +159 -0
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +112 -0
- package/src/kernel/private_validation_requests.ts +140 -0
- package/src/kernel/public_call_request.ts +173 -0
- package/src/kernel/utils/index.ts +3 -0
- package/src/kernel/utils/interfaces.ts +7 -0
- package/src/kernel/utils/optional_number.ts +50 -0
- package/src/kernel/utils/order_and_comparison.ts +71 -0
- package/src/keys/derivation.ts +141 -0
- package/src/keys/index.ts +5 -0
- package/src/keys/key_types.ts +5 -0
- package/src/keys/public_key.ts +4 -0
- package/src/keys/public_keys.ts +194 -0
- package/src/keys/utils.ts +9 -0
- package/src/logs/contract_class_log.ts +131 -0
- package/src/logs/extended_contract_class_log.ts +87 -0
- package/src/logs/extended_public_log.ts +94 -0
- package/src/logs/index.ts +11 -0
- package/src/logs/indexed_tagging_secret.ts +45 -0
- package/src/logs/l1_payload/encrypted_log_payload.ts +202 -0
- package/src/logs/l1_payload/encryption_util.ts +54 -0
- package/src/logs/l1_payload/index.ts +2 -0
- package/src/logs/l1_payload/l1_note_payload.ts +182 -0
- package/src/logs/l1_payload/payload.ts +73 -0
- package/src/logs/l1_payload/shared_secret_derivation.ts +35 -0
- package/src/logs/log_filter.ts +31 -0
- package/src/logs/log_id.ts +110 -0
- package/src/logs/log_with_tx_data.ts +36 -0
- package/src/logs/private_log.ts +69 -0
- package/src/logs/public_log.ts +95 -0
- package/src/logs/tx_scoped_l2_log.ts +83 -0
- package/src/messaging/inbox_leaf.ts +28 -0
- package/src/messaging/index.ts +6 -0
- package/src/messaging/l1_actor.ts +43 -0
- package/src/messaging/l1_to_l2_message.ts +97 -0
- package/src/messaging/l1_to_l2_message_source.ts +26 -0
- package/src/messaging/l2_actor.ts +44 -0
- package/src/messaging/l2_to_l1_message.ts +150 -0
- package/src/network/index.ts +32 -0
- package/src/noir/index.ts +154 -0
- package/src/note/comparator.ts +11 -0
- package/src/note/extended_note.ts +168 -0
- package/src/note/index.ts +5 -0
- package/src/note/note.ts +16 -0
- package/src/note/note_status.ts +8 -0
- package/src/note/notes_filter.ts +39 -0
- package/src/p2p/block_attestation.ts +107 -0
- package/src/p2p/block_proposal.ts +102 -0
- package/src/p2p/client_type.ts +6 -0
- package/src/p2p/consensus_payload.ts +92 -0
- package/src/p2p/gossipable.ts +33 -0
- package/src/p2p/index.ts +10 -0
- package/src/p2p/interface.ts +28 -0
- package/src/p2p/message_validator.ts +10 -0
- package/src/p2p/peer_error.ts +17 -0
- package/src/p2p/signature_utils.ts +36 -0
- package/src/p2p/topic_type.ts +45 -0
- package/src/parity/base_parity_inputs.ts +63 -0
- package/src/parity/index.ts +4 -0
- package/src/parity/parity_public_inputs.ts +82 -0
- package/src/parity/root_parity_input.ts +71 -0
- package/src/parity/root_parity_inputs.ts +66 -0
- package/src/proofs/client_ivc_proof.ts +61 -0
- package/src/proofs/index.ts +4 -0
- package/src/proofs/proof.ts +115 -0
- package/src/proofs/proving_request_type.ts +17 -0
- package/src/proofs/recursive_proof.ts +124 -0
- package/src/rollup/avm_proof_data.ts +35 -0
- package/src/rollup/base_or_merge_rollup_public_inputs.ts +146 -0
- package/src/rollup/base_rollup_hints.ts +182 -0
- package/src/rollup/block_merge_rollup.ts +65 -0
- package/src/rollup/block_root_or_block_merge_public_inputs.ts +175 -0
- package/src/rollup/block_root_rollup.ts +362 -0
- package/src/rollup/constant_rollup_data.ts +54 -0
- package/src/rollup/empty_block_root_rollup_inputs.ts +85 -0
- package/src/rollup/index.ts +18 -0
- package/src/rollup/merge_rollup.ts +62 -0
- package/src/rollup/previous_rollup_block_data.ts +54 -0
- package/src/rollup/previous_rollup_data.ts +54 -0
- package/src/rollup/private_base_rollup_inputs.ts +50 -0
- package/src/rollup/private_tube_data.ts +35 -0
- package/src/rollup/public_base_rollup_inputs.ts +59 -0
- package/src/rollup/public_tube_data.ts +35 -0
- package/src/rollup/root_rollup.ts +206 -0
- package/src/rollup/state_diff_hints.ts +126 -0
- package/src/rollup/tube_inputs.ts +70 -0
- package/src/schemas/index.ts +1 -0
- package/src/schemas/schemas.ts +83 -0
- package/src/shared_mutable/index.ts +4 -0
- package/src/shared_mutable/scheduled_delay_change.ts +13 -0
- package/src/shared_mutable/scheduled_value_change.ts +25 -0
- package/src/shared_mutable/shared_mutable_values.ts +92 -0
- package/src/shared_mutable/shared_mutable_values_with_hash.ts +38 -0
- package/src/stats/index.ts +1 -0
- package/src/stats/stats.ts +276 -0
- package/src/tests/factories.ts +1564 -0
- package/src/tests/fixtures.ts +31 -0
- package/src/tests/index.ts +2 -0
- package/src/tests/jest.ts +29 -0
- package/src/tests/mocks.ts +300 -0
- package/src/trees/append_only_tree_snapshot.ts +95 -0
- package/src/trees/index.ts +8 -0
- package/src/trees/merkle_tree_id.ts +42 -0
- package/src/trees/nullifier_leaf.ts +133 -0
- package/src/trees/nullifier_membership_witness.ts +59 -0
- package/src/trees/protocol_contract_leaf.ts +132 -0
- package/src/trees/public_data_leaf.ts +164 -0
- package/src/trees/public_data_witness.ts +103 -0
- package/src/tx/block_header.ts +197 -0
- package/src/tx/call_context.ts +138 -0
- package/src/tx/capsule.ts +46 -0
- package/src/tx/content_commitment.ts +133 -0
- package/src/tx/function_data.ts +102 -0
- package/src/tx/global_variable_builder.ts +28 -0
- package/src/tx/global_variables.ts +193 -0
- package/src/tx/hashed_values.ts +49 -0
- package/src/tx/index.ts +27 -0
- package/src/tx/max_block_number.ts +79 -0
- package/src/tx/partial_state_reference.ts +95 -0
- package/src/tx/private_execution_result.ts +315 -0
- package/src/tx/processed_tx.ts +181 -0
- package/src/tx/public_execution_request.ts +97 -0
- package/src/tx/public_simulation_output.ts +94 -0
- package/src/tx/simulated_tx.ts +179 -0
- package/src/tx/state_reference.ts +93 -0
- package/src/tx/tree_snapshots.ts +111 -0
- package/src/tx/tx.ts +364 -0
- package/src/tx/tx_constant_data.ts +93 -0
- package/src/tx/tx_context.ts +104 -0
- package/src/tx/tx_effect.ts +553 -0
- package/src/tx/tx_execution_request.ts +168 -0
- package/src/tx/tx_hash.ts +67 -0
- package/src/tx/tx_receipt.ts +121 -0
- package/src/tx/tx_request.ts +77 -0
- package/src/tx/validator/empty_validator.ts +7 -0
- package/src/tx/validator/tx_validator.ts +26 -0
- package/src/types/index.ts +1 -0
- package/src/types/shared.ts +45 -0
- package/src/versioning/index.ts +1 -0
- package/src/versioning/versioning.ts +153 -0
- package/src/vks/index.ts +2 -0
- package/src/vks/verification_key.ts +325 -0
- package/src/vks/vk_witness_data.ts +43 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
import type { AztecAddress } from '../../aztec-address/index.js';
|
|
4
|
+
import { schemas } from '../../schemas/index.js';
|
|
5
|
+
|
|
6
|
+
export const ProtocolContractsNames = [
|
|
7
|
+
'classRegisterer',
|
|
8
|
+
'feeJuice',
|
|
9
|
+
'instanceDeployer',
|
|
10
|
+
'multiCallEntrypoint',
|
|
11
|
+
] as const;
|
|
12
|
+
|
|
13
|
+
export type ProtocolContractAddresses = {
|
|
14
|
+
classRegisterer: AztecAddress;
|
|
15
|
+
feeJuice: AztecAddress;
|
|
16
|
+
instanceDeployer: AztecAddress;
|
|
17
|
+
multiCallEntrypoint: AztecAddress;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const ProtocolContractAddressesSchema = z.object({
|
|
21
|
+
classRegisterer: schemas.AztecAddress,
|
|
22
|
+
feeJuice: schemas.AztecAddress,
|
|
23
|
+
instanceDeployer: schemas.AztecAddress,
|
|
24
|
+
multiCallEntrypoint: schemas.AztecAddress,
|
|
25
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A type which along with public key forms a preimage of a contract address. See the link below for more details
|
|
5
|
+
* https://github.com/AztecProtocol/aztec-packages/blob/master/docs/docs/concepts/foundation/accounts/keys.md#addresses-partial-addresses-and-public-keys
|
|
6
|
+
*/
|
|
7
|
+
export type PartialAddress = Fr;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { FUNCTION_TREE_HEIGHT, GeneratorIndex } from '@aztec/constants';
|
|
2
|
+
import { pedersenHash, poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { type MerkleTree, MerkleTreeCalculator } from '@aztec/foundation/trees';
|
|
5
|
+
|
|
6
|
+
import type { PrivateFunction } from './interfaces/contract_class.js';
|
|
7
|
+
|
|
8
|
+
// Memoize the merkle tree calculators to avoid re-computing the zero-hash for each level in each call
|
|
9
|
+
let privateFunctionTreeCalculator: MerkleTreeCalculator | undefined;
|
|
10
|
+
|
|
11
|
+
const PRIVATE_FUNCTION_SIZE = 2;
|
|
12
|
+
|
|
13
|
+
/** Returns a Merkle tree for the set of private functions in a contract. */
|
|
14
|
+
export async function computePrivateFunctionsTree(fns: PrivateFunction[]): Promise<MerkleTree> {
|
|
15
|
+
const calculator = await getPrivateFunctionTreeCalculator();
|
|
16
|
+
const leaves = await computePrivateFunctionLeaves(fns);
|
|
17
|
+
return calculator.computeTree(leaves);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** Returns the Merkle tree root for the set of private functions in a contract. */
|
|
21
|
+
export async function computePrivateFunctionsRoot(fns: PrivateFunction[]): Promise<Fr> {
|
|
22
|
+
const calculator = await getPrivateFunctionTreeCalculator();
|
|
23
|
+
const leaves = await computePrivateFunctionLeaves(fns);
|
|
24
|
+
return Fr.fromBuffer(await calculator.computeTreeRoot(leaves));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function computePrivateFunctionLeaves(fns: PrivateFunction[]): Promise<Buffer[]> {
|
|
28
|
+
const leaves = [...fns].sort((a, b) => a.selector.value - b.selector.value);
|
|
29
|
+
return Promise.all(leaves.map(computePrivateFunctionLeaf));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Returns the leaf for a given private function. */
|
|
33
|
+
export async function computePrivateFunctionLeaf(fn: PrivateFunction): Promise<Buffer> {
|
|
34
|
+
return (await poseidon2HashWithSeparator([fn.selector, fn.vkHash], GeneratorIndex.FUNCTION_LEAF)).toBuffer();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async function getPrivateFunctionTreeCalculator(): Promise<MerkleTreeCalculator> {
|
|
38
|
+
if (!privateFunctionTreeCalculator) {
|
|
39
|
+
const functionTreeZeroLeaf = (await pedersenHash(new Array(PRIVATE_FUNCTION_SIZE).fill(0))).toBuffer();
|
|
40
|
+
privateFunctionTreeCalculator = await MerkleTreeCalculator.create(
|
|
41
|
+
FUNCTION_TREE_HEIGHT,
|
|
42
|
+
functionTreeZeroLeaf,
|
|
43
|
+
async (left, right) => (await poseidon2Hash([left, right])).toBuffer(),
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return privateFunctionTreeCalculator;
|
|
47
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { poseidon2Hash } from '@aztec/foundation/crypto';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
+
import { computeRootFromSiblingPath } from '@aztec/foundation/trees';
|
|
5
|
+
|
|
6
|
+
import { type ContractArtifact, FunctionSelector, FunctionType } from '../abi/index.js';
|
|
7
|
+
import {
|
|
8
|
+
computeArtifactFunctionTree,
|
|
9
|
+
computeArtifactHash,
|
|
10
|
+
computeArtifactHashPreimage,
|
|
11
|
+
computeFunctionArtifactHash,
|
|
12
|
+
computeFunctionMetadataHash,
|
|
13
|
+
getArtifactMerkleTreeHasher,
|
|
14
|
+
} from './artifact_hash.js';
|
|
15
|
+
import { getContractClassPrivateFunctionFromArtifact } from './contract_class.js';
|
|
16
|
+
import type {
|
|
17
|
+
ContractClassPublic,
|
|
18
|
+
ExecutablePrivateFunctionWithMembershipProof,
|
|
19
|
+
PrivateFunctionMembershipProof,
|
|
20
|
+
} from './interfaces/index.js';
|
|
21
|
+
import { computePrivateFunctionLeaf, computePrivateFunctionsTree } from './private_function.js';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Creates a membership proof for a private function in a contract class, to be verified via `isValidPrivateFunctionMembershipProof`.
|
|
25
|
+
* @param selector - Selector of the function to create the proof for.
|
|
26
|
+
* @param artifact - Artifact of the contract class where the function is defined.
|
|
27
|
+
*/
|
|
28
|
+
export async function createPrivateFunctionMembershipProof(
|
|
29
|
+
selector: FunctionSelector,
|
|
30
|
+
artifact: ContractArtifact,
|
|
31
|
+
): Promise<PrivateFunctionMembershipProof> {
|
|
32
|
+
const log = createLogger('circuits:function_membership_proof');
|
|
33
|
+
|
|
34
|
+
// Locate private function definition and artifact
|
|
35
|
+
const privateFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.PRIVATE);
|
|
36
|
+
const privateFunctionsFromArtifact = await Promise.all(
|
|
37
|
+
privateFunctions.map(getContractClassPrivateFunctionFromArtifact),
|
|
38
|
+
);
|
|
39
|
+
const privateFunction = privateFunctionsFromArtifact.find(fn => fn.selector.equals(selector));
|
|
40
|
+
const privateFunctionsAndSelectors = await Promise.all(
|
|
41
|
+
privateFunctions.map(async fn => ({
|
|
42
|
+
fn,
|
|
43
|
+
selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
|
|
44
|
+
})),
|
|
45
|
+
);
|
|
46
|
+
const privateFunctionArtifact = privateFunctionsAndSelectors.find(fnAndSelector =>
|
|
47
|
+
selector.equals(fnAndSelector.selector),
|
|
48
|
+
)?.fn;
|
|
49
|
+
if (!privateFunction || !privateFunctionArtifact) {
|
|
50
|
+
throw new Error(`Private function with selector ${selector.toString()} not found`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Compute preimage for the artifact hash
|
|
54
|
+
const { unconstrainedFunctionRoot: unconstrainedFunctionsArtifactTreeRoot, metadataHash: artifactMetadataHash } =
|
|
55
|
+
await computeArtifactHashPreimage(artifact);
|
|
56
|
+
|
|
57
|
+
// We need two sibling paths because private function information is split across two trees:
|
|
58
|
+
// The "private function tree" captures the selectors and verification keys, and is used in the kernel circuit for verifying the proof generated by the app circuit.
|
|
59
|
+
const functionLeaf = await computePrivateFunctionLeaf(privateFunction);
|
|
60
|
+
const functionsTree = await computePrivateFunctionsTree(privateFunctionsFromArtifact);
|
|
61
|
+
const functionsTreeLeafIndex = functionsTree.getIndex(functionLeaf);
|
|
62
|
+
const functionsTreeSiblingPath = functionsTree.getSiblingPath(functionsTreeLeafIndex).map(Fr.fromBuffer);
|
|
63
|
+
|
|
64
|
+
// And the "artifact tree" captures function bytecode and metadata, and is used by the pxe to check that its executing the code it's supposed to be executing, but it never goes into circuits.
|
|
65
|
+
const functionMetadataHash = computeFunctionMetadataHash(privateFunctionArtifact);
|
|
66
|
+
const functionArtifactHash = await computeFunctionArtifactHash({ ...privateFunctionArtifact, functionMetadataHash });
|
|
67
|
+
const artifactTree = (await computeArtifactFunctionTree(artifact, FunctionType.PRIVATE))!;
|
|
68
|
+
const artifactTreeLeafIndex = artifactTree.getIndex(functionArtifactHash.toBuffer());
|
|
69
|
+
const artifactTreeSiblingPath = artifactTree.getSiblingPath(artifactTreeLeafIndex).map(Fr.fromBuffer);
|
|
70
|
+
|
|
71
|
+
log.debug(`Computed proof for private function with selector ${selector.toString()}`, {
|
|
72
|
+
functionArtifactHash,
|
|
73
|
+
functionMetadataHash,
|
|
74
|
+
functionLeaf: '0x' + functionLeaf.toString('hex'),
|
|
75
|
+
artifactMetadataHash,
|
|
76
|
+
privateFunctionsTreeRoot: '0x' + functionsTree.root.toString('hex'),
|
|
77
|
+
unconstrainedFunctionsArtifactTreeRoot,
|
|
78
|
+
artifactFunctionTreeSiblingPath: artifactTreeSiblingPath.map(fr => fr.toString()).join(','),
|
|
79
|
+
privateFunctionTreeSiblingPath: functionsTreeSiblingPath.map(fr => fr.toString()).join(','),
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
return {
|
|
83
|
+
artifactTreeSiblingPath,
|
|
84
|
+
artifactTreeLeafIndex,
|
|
85
|
+
artifactMetadataHash,
|
|
86
|
+
functionMetadataHash,
|
|
87
|
+
unconstrainedFunctionsArtifactTreeRoot,
|
|
88
|
+
privateFunctionTreeSiblingPath: functionsTreeSiblingPath,
|
|
89
|
+
privateFunctionTreeLeafIndex: functionsTreeLeafIndex,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Verifies that a private function with a membership proof as emitted by the ClassRegisterer contract is valid,
|
|
95
|
+
* as defined in the protocol specs at contract-deployment/classes:
|
|
96
|
+
*
|
|
97
|
+
* ```
|
|
98
|
+
* // Load contract class from local db
|
|
99
|
+
* contract_class = db.get_contract_class(contract_class_id)
|
|
100
|
+
*
|
|
101
|
+
* // Compute function leaf and assert it belongs to the private functions tree
|
|
102
|
+
* function_leaf = pedersen([selector as Field, vk_hash], GENERATOR__FUNCTION_LEAF)
|
|
103
|
+
* computed_private_function_tree_root = compute_root(function_leaf, private_function_tree_sibling_path)
|
|
104
|
+
* assert computed_private_function_tree_root == contract_class.private_function_root
|
|
105
|
+
*
|
|
106
|
+
* // Compute artifact leaf and assert it belongs to the artifact
|
|
107
|
+
* artifact_function_leaf = sha256(selector, metadata_hash, sha256(bytecode))
|
|
108
|
+
* computed_artifact_private_function_tree_root = compute_root(artifact_function_leaf, artifact_function_tree_sibling_path)
|
|
109
|
+
* computed_artifact_hash = sha256(computed_artifact_private_function_tree_root, unconstrained_functions_artifact_tree_root, artifact_metadata_hash)
|
|
110
|
+
* assert computed_artifact_hash == contract_class.artifact_hash
|
|
111
|
+
* ```
|
|
112
|
+
* @param fn - Function to check membership proof for.
|
|
113
|
+
* @param contractClass - In which contract class the function is expected to be.
|
|
114
|
+
*/
|
|
115
|
+
export async function isValidPrivateFunctionMembershipProof(
|
|
116
|
+
fn: ExecutablePrivateFunctionWithMembershipProof,
|
|
117
|
+
contractClass: Pick<ContractClassPublic, 'privateFunctionsRoot' | 'artifactHash'>,
|
|
118
|
+
) {
|
|
119
|
+
const log = createLogger('circuits:function_membership_proof');
|
|
120
|
+
|
|
121
|
+
// Check private function tree membership
|
|
122
|
+
const functionLeaf = await computePrivateFunctionLeaf(fn);
|
|
123
|
+
const rootBuffer = await computeRootFromSiblingPath(
|
|
124
|
+
functionLeaf,
|
|
125
|
+
fn.privateFunctionTreeSiblingPath.map(fr => fr.toBuffer()),
|
|
126
|
+
fn.privateFunctionTreeLeafIndex,
|
|
127
|
+
async (left, right) => (await poseidon2Hash([left, right])).toBuffer(),
|
|
128
|
+
);
|
|
129
|
+
const computedPrivateFunctionTreeRoot = Fr.fromBuffer(rootBuffer);
|
|
130
|
+
if (!contractClass.privateFunctionsRoot.equals(computedPrivateFunctionTreeRoot)) {
|
|
131
|
+
log.debug(`Private function tree root mismatch`, {
|
|
132
|
+
expectedPrivateFunctionTreeRoot: contractClass.privateFunctionsRoot,
|
|
133
|
+
computedPrivateFunctionTreeRoot: computedPrivateFunctionTreeRoot,
|
|
134
|
+
computedFunctionLeaf: '0x' + functionLeaf.toString('hex'),
|
|
135
|
+
});
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Check artifact hash
|
|
140
|
+
const functionArtifactHash = await computeFunctionArtifactHash(fn);
|
|
141
|
+
const computedArtifactPrivateFunctionTreeRootBuffer = await computeRootFromSiblingPath(
|
|
142
|
+
functionArtifactHash.toBuffer(),
|
|
143
|
+
fn.artifactTreeSiblingPath.map(fr => fr.toBuffer()),
|
|
144
|
+
fn.artifactTreeLeafIndex,
|
|
145
|
+
getArtifactMerkleTreeHasher(),
|
|
146
|
+
);
|
|
147
|
+
const computedArtifactPrivateFunctionTreeRoot = Fr.fromBuffer(computedArtifactPrivateFunctionTreeRootBuffer);
|
|
148
|
+
const computedArtifactHash = await computeArtifactHash({
|
|
149
|
+
privateFunctionRoot: computedArtifactPrivateFunctionTreeRoot,
|
|
150
|
+
unconstrainedFunctionRoot: fn.unconstrainedFunctionsArtifactTreeRoot,
|
|
151
|
+
metadataHash: fn.artifactMetadataHash,
|
|
152
|
+
});
|
|
153
|
+
if (!contractClass.artifactHash.equals(computedArtifactHash)) {
|
|
154
|
+
log.debug(`Artifact hash mismatch`, {
|
|
155
|
+
expected: contractClass.artifactHash,
|
|
156
|
+
computedArtifactHash,
|
|
157
|
+
computedFunctionArtifactHash: functionArtifactHash,
|
|
158
|
+
computedArtifactPrivateFunctionTreeRoot,
|
|
159
|
+
unconstrainedFunctionRoot: fn.unconstrainedFunctionsArtifactTreeRoot,
|
|
160
|
+
metadataHash: fn.artifactMetadataHash,
|
|
161
|
+
artifactFunctionTreeSiblingPath: fn.artifactTreeSiblingPath.map(fr => fr.toString()).join(','),
|
|
162
|
+
});
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { computeRootFromSiblingPath } from '@aztec/foundation/trees';
|
|
4
|
+
|
|
5
|
+
import { type ContractArtifact, FunctionSelector, FunctionType } from '../abi/index.js';
|
|
6
|
+
import {
|
|
7
|
+
computeArtifactFunctionTree,
|
|
8
|
+
computeArtifactHash,
|
|
9
|
+
computeArtifactHashPreimage,
|
|
10
|
+
computeFunctionArtifactHash,
|
|
11
|
+
computeFunctionMetadataHash,
|
|
12
|
+
getArtifactMerkleTreeHasher,
|
|
13
|
+
} from './artifact_hash.js';
|
|
14
|
+
import type {
|
|
15
|
+
ContractClassPublic,
|
|
16
|
+
UnconstrainedFunctionMembershipProof,
|
|
17
|
+
UnconstrainedFunctionWithMembershipProof,
|
|
18
|
+
} from './interfaces/index.js';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Creates a membership proof for an unconstrained function in a contract class, to be verified via `isValidUnconstrainedFunctionMembershipProof`.
|
|
22
|
+
* @param selector - Selector of the function to create the proof for.
|
|
23
|
+
* @param artifact - Artifact of the contract class where the function is defined.
|
|
24
|
+
*/
|
|
25
|
+
export async function createUnconstrainedFunctionMembershipProof(
|
|
26
|
+
selector: FunctionSelector,
|
|
27
|
+
artifact: ContractArtifact,
|
|
28
|
+
): Promise<UnconstrainedFunctionMembershipProof> {
|
|
29
|
+
const log = createLogger('circuits:function_membership_proof');
|
|
30
|
+
|
|
31
|
+
// Locate function artifact
|
|
32
|
+
const uncontrainedFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.UNCONSTRAINED);
|
|
33
|
+
const unconstrainedFunctionsAndSelectors = await Promise.all(
|
|
34
|
+
uncontrainedFunctions.map(async fn => ({ fn, selector: await FunctionSelector.fromNameAndParameters(fn) })),
|
|
35
|
+
);
|
|
36
|
+
const fn = unconstrainedFunctionsAndSelectors.find(fnAndSelector => selector.equals(fnAndSelector.selector))?.fn;
|
|
37
|
+
if (!fn) {
|
|
38
|
+
throw new Error(`Unconstrained function with selector ${selector.toString()} not found`);
|
|
39
|
+
}
|
|
40
|
+
// Compute preimage for the artifact hash
|
|
41
|
+
const { privateFunctionRoot: privateFunctionsArtifactTreeRoot, metadataHash: artifactMetadataHash } =
|
|
42
|
+
await computeArtifactHashPreimage(artifact);
|
|
43
|
+
|
|
44
|
+
// Compute the sibling path for the "artifact tree"
|
|
45
|
+
const functionMetadataHash = computeFunctionMetadataHash(fn);
|
|
46
|
+
const functionArtifactHash = await computeFunctionArtifactHash({ ...fn, functionMetadataHash });
|
|
47
|
+
const artifactTree = (await computeArtifactFunctionTree(artifact, FunctionType.UNCONSTRAINED))!;
|
|
48
|
+
const artifactTreeLeafIndex = artifactTree.getIndex(functionArtifactHash.toBuffer());
|
|
49
|
+
const artifactTreeSiblingPath = artifactTree.getSiblingPath(artifactTreeLeafIndex).map(Fr.fromBuffer);
|
|
50
|
+
|
|
51
|
+
log.debug(`Computed proof for unconstrained function with selector ${selector.toString()}`, {
|
|
52
|
+
functionArtifactHash,
|
|
53
|
+
functionMetadataHash,
|
|
54
|
+
artifactMetadataHash,
|
|
55
|
+
artifactFunctionTreeSiblingPath: artifactTreeSiblingPath.map(fr => fr.toString()).join(','),
|
|
56
|
+
privateFunctionsArtifactTreeRoot,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
artifactTreeSiblingPath,
|
|
61
|
+
artifactTreeLeafIndex,
|
|
62
|
+
artifactMetadataHash,
|
|
63
|
+
functionMetadataHash,
|
|
64
|
+
privateFunctionsArtifactTreeRoot,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Verifies that an unconstrained function with a membership proof as emitted by the ClassRegisterer contract is valid,
|
|
70
|
+
* as defined in the protocol specs at contract-deployment/classes:
|
|
71
|
+
*
|
|
72
|
+
* ```
|
|
73
|
+
* // Load contract class from local db
|
|
74
|
+
* contract_class = db.get_contract_class(contract_class_id)
|
|
75
|
+
*
|
|
76
|
+
* // Compute artifact leaf and assert it belongs to the artifact
|
|
77
|
+
* artifact_function_leaf = sha256(selector, metadata_hash, sha256(bytecode))
|
|
78
|
+
* computed_artifact_unconstrained_function_tree_root = compute_root(artifact_function_leaf, artifact_function_tree_sibling_path, artifact_function_tree_leaf_index)
|
|
79
|
+
* computed_artifact_hash = sha256(private_functions_artifact_tree_root, computed_artifact_unconstrained_function_tree_root, artifact_metadata_hash)
|
|
80
|
+
* assert computed_artifact_hash == contract_class.artifact_hash
|
|
81
|
+
* ```
|
|
82
|
+
* @param fn - Function to check membership proof for.
|
|
83
|
+
* @param contractClass - In which contract class the function is expected to be.
|
|
84
|
+
*/
|
|
85
|
+
export async function isValidUnconstrainedFunctionMembershipProof(
|
|
86
|
+
fn: UnconstrainedFunctionWithMembershipProof,
|
|
87
|
+
contractClass: Pick<ContractClassPublic, 'artifactHash'>,
|
|
88
|
+
) {
|
|
89
|
+
const log = createLogger('circuits:function_membership_proof');
|
|
90
|
+
|
|
91
|
+
const functionArtifactHash = await computeFunctionArtifactHash(fn);
|
|
92
|
+
const computedArtifactFunctionTreeRootBuffer = await computeRootFromSiblingPath(
|
|
93
|
+
functionArtifactHash.toBuffer(),
|
|
94
|
+
fn.artifactTreeSiblingPath.map(fr => fr.toBuffer()),
|
|
95
|
+
fn.artifactTreeLeafIndex,
|
|
96
|
+
getArtifactMerkleTreeHasher(),
|
|
97
|
+
);
|
|
98
|
+
const computedArtifactFunctionTreeRoot = Fr.fromBuffer(computedArtifactFunctionTreeRootBuffer);
|
|
99
|
+
const computedArtifactHash = await computeArtifactHash({
|
|
100
|
+
privateFunctionRoot: fn.privateFunctionsArtifactTreeRoot,
|
|
101
|
+
unconstrainedFunctionRoot: computedArtifactFunctionTreeRoot,
|
|
102
|
+
metadataHash: fn.artifactMetadataHash,
|
|
103
|
+
});
|
|
104
|
+
if (!contractClass.artifactHash.equals(computedArtifactHash)) {
|
|
105
|
+
log.debug(`Artifact hash mismatch`, {
|
|
106
|
+
expected: contractClass.artifactHash,
|
|
107
|
+
computedArtifactHash,
|
|
108
|
+
computedFunctionArtifactHash: functionArtifactHash,
|
|
109
|
+
computedArtifactFunctionTreeRoot,
|
|
110
|
+
privateFunctionsArtifactTreeRoot: fn.privateFunctionsArtifactTreeRoot,
|
|
111
|
+
metadataHash: fn.artifactMetadataHash,
|
|
112
|
+
artifactFunctionTreeSiblingPath: fn.artifactTreeSiblingPath.map(fr => fr.toString()).join(','),
|
|
113
|
+
});
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Version Manager
|
|
2
|
+
|
|
3
|
+
The Version Manager helps manage database migrations and version compatibility across different versions of the software.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Track database schema versions
|
|
8
|
+
- Handle migrations between versions
|
|
9
|
+
- Reset database when necessary (incompatible versions, rollup address change)
|
|
10
|
+
- Simple, clean API for version management
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { version } from '@aztec/foundation';
|
|
16
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
17
|
+
|
|
18
|
+
// Define your current database version
|
|
19
|
+
const DB_VERSION = 3;
|
|
20
|
+
const rollupAddress = EthAddress.fromString('0x1234567890123456789012345678901234567890');
|
|
21
|
+
|
|
22
|
+
// Create version manager for your service
|
|
23
|
+
const versionManager = new version.VersionManager(DB_VERSION, rollupAddress, {
|
|
24
|
+
dataDir: '/path/to/data',
|
|
25
|
+
serviceName: 'my-database',
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// When initializing your database
|
|
29
|
+
await versionManager.checkVersionAndHandle(
|
|
30
|
+
// Called when a reset is needed
|
|
31
|
+
async () => {
|
|
32
|
+
// Initialize a fresh database
|
|
33
|
+
await initializeFreshDatabase();
|
|
34
|
+
},
|
|
35
|
+
// Called when an upgrade is needed (optional)
|
|
36
|
+
async (oldVersion, newVersion) => {
|
|
37
|
+
if (oldVersion === 1 && newVersion === 2) {
|
|
38
|
+
// Migrate from version 1 to 2
|
|
39
|
+
await migrateV1ToV2();
|
|
40
|
+
} else if (oldVersion === 2 && newVersion === 3) {
|
|
41
|
+
// Migrate from version 2 to 3
|
|
42
|
+
await migrateV2ToV3();
|
|
43
|
+
} else {
|
|
44
|
+
// Unsupported migration path, will fall back to reset
|
|
45
|
+
throw new Error(`Cannot upgrade from ${oldVersion} to ${newVersion}`);
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
// Get the data directory for your service
|
|
51
|
+
const dataDir = versionManager.getDataDirectory();
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Automatic Reset Conditions
|
|
55
|
+
|
|
56
|
+
The database will be reset in the following conditions:
|
|
57
|
+
|
|
58
|
+
1. No version information exists (first run)
|
|
59
|
+
2. Rollup address has changed
|
|
60
|
+
3. Version has changed and no upgrade callback is provided
|
|
61
|
+
4. Upgrade callback throws an error
|
|
62
|
+
|
|
63
|
+
When a reset occurs, the data directory is deleted and recreated, and the reset callback is called to initialize a fresh database.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './version_manager.js';
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
+
import { jsonParseWithSchemaSync, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
+
|
|
5
|
+
import fs from 'fs/promises';
|
|
6
|
+
import { join } from 'path';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Represents a version record for storing in a version file.
|
|
11
|
+
*/
|
|
12
|
+
export class DatabaseVersion {
|
|
13
|
+
constructor(public readonly schemaVersion: number, public readonly rollupAddress: EthAddress) {}
|
|
14
|
+
|
|
15
|
+
public toBuffer(): Buffer {
|
|
16
|
+
return Buffer.from(jsonStringify(this));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public static fromBuffer(buf: Buffer): DatabaseVersion {
|
|
20
|
+
try {
|
|
21
|
+
return jsonParseWithSchemaSync(buf.toString('utf-8'), DatabaseVersion.schema);
|
|
22
|
+
} catch (err) {
|
|
23
|
+
throw new Error(`Failed to deserialize version information: ${err}`, { cause: err });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Compares two versions. If the rollups addresses are different then it returns undefined
|
|
29
|
+
*/
|
|
30
|
+
public cmp(other: DatabaseVersion): undefined | -1 | 0 | 1 {
|
|
31
|
+
if (this.rollupAddress.equals(other.rollupAddress)) {
|
|
32
|
+
if (this.schemaVersion < other.schemaVersion) {
|
|
33
|
+
return -1;
|
|
34
|
+
} else if (this.schemaVersion > other.schemaVersion) {
|
|
35
|
+
return 1;
|
|
36
|
+
} else {
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Checks if two versions exactly match
|
|
45
|
+
*/
|
|
46
|
+
public equals(other: DatabaseVersion): boolean {
|
|
47
|
+
return this.cmp(other) === 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Returns the schema for this class
|
|
52
|
+
*/
|
|
53
|
+
static get schema() {
|
|
54
|
+
return z
|
|
55
|
+
.object({
|
|
56
|
+
schemaVersion: z.number(),
|
|
57
|
+
rollupAddress: EthAddress.schema,
|
|
58
|
+
})
|
|
59
|
+
.transform(({ schemaVersion, rollupAddress }) => new DatabaseVersion(schemaVersion, rollupAddress));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Returns an empty instance
|
|
64
|
+
*/
|
|
65
|
+
static empty() {
|
|
66
|
+
return new DatabaseVersion(0, EthAddress.ZERO);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export type DatabaseVersionManagerFs = Pick<typeof fs, 'readFile' | 'writeFile' | 'rm' | 'mkdir'>;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* A manager for handling database versioning and migrations.
|
|
74
|
+
* This class will check the version of data in a directory and either
|
|
75
|
+
* reset or upgrade based on version compatibility.
|
|
76
|
+
*/
|
|
77
|
+
export class DatabaseVersionManager<T> {
|
|
78
|
+
public static readonly VERSION_FILE = 'db_version';
|
|
79
|
+
|
|
80
|
+
private readonly versionFile: string;
|
|
81
|
+
private readonly currentVersion: DatabaseVersion;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Create a new version manager
|
|
85
|
+
*
|
|
86
|
+
* @param schemaVersion - The current version of the application
|
|
87
|
+
* @param rollupAddress - The rollup contract address
|
|
88
|
+
* @param dataDirectory - The directory where version information will be stored
|
|
89
|
+
* @param onOpen - A callback to the open the database at the given location
|
|
90
|
+
* @param onUpgrade - An optional callback to upgrade the database before opening. If not provided it will reset the database
|
|
91
|
+
* @param fileSystem - An interface to access the filesystem
|
|
92
|
+
* @param log - Optional custom logger
|
|
93
|
+
* @param options - Configuration options
|
|
94
|
+
*/
|
|
95
|
+
constructor(
|
|
96
|
+
schemaVersion: number,
|
|
97
|
+
rollupAddress: EthAddress,
|
|
98
|
+
private dataDirectory: string,
|
|
99
|
+
private onOpen: (dataDir: string) => Promise<T>,
|
|
100
|
+
private onUpgrade?: (dataDir: string, currentVersion: number, latestVersion: number) => Promise<void>,
|
|
101
|
+
private fileSystem: DatabaseVersionManagerFs = fs,
|
|
102
|
+
private log = createLogger(`foundation:version-manager`),
|
|
103
|
+
) {
|
|
104
|
+
if (schemaVersion < 1) {
|
|
105
|
+
throw new TypeError(`Invalid schema version received: ${schemaVersion}`);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
this.versionFile = join(this.dataDirectory, DatabaseVersionManager.VERSION_FILE);
|
|
109
|
+
this.currentVersion = new DatabaseVersion(schemaVersion, rollupAddress);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Checks the stored version against the current version and handles the outcome
|
|
114
|
+
* by either resetting the data directory or calling an upgrade function
|
|
115
|
+
*
|
|
116
|
+
* @param onReset - Function to call when a full reset is needed
|
|
117
|
+
* @param onUpgrade - Function to call when an upgrade is needed
|
|
118
|
+
* @returns True if data was reset, false if upgraded or no change needed
|
|
119
|
+
*/
|
|
120
|
+
public async open(): Promise<[T, boolean]> {
|
|
121
|
+
// const storedVersion = await DatabaseVersion.readVersion(this.versionFile);
|
|
122
|
+
let storedVersion: DatabaseVersion;
|
|
123
|
+
|
|
124
|
+
try {
|
|
125
|
+
const versionBuf = await this.fileSystem.readFile(this.versionFile);
|
|
126
|
+
storedVersion = DatabaseVersion.fromBuffer(versionBuf);
|
|
127
|
+
} catch (err) {
|
|
128
|
+
if (err && (err as Error & { code: string }).code === 'ENOENT') {
|
|
129
|
+
storedVersion = DatabaseVersion.empty();
|
|
130
|
+
} else {
|
|
131
|
+
this.log.warn(`Failed to read stored version information: ${err}. Defaulting to empty version`);
|
|
132
|
+
storedVersion = DatabaseVersion.empty();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const cmp = storedVersion.cmp(this.currentVersion);
|
|
137
|
+
let needsReset = false;
|
|
138
|
+
|
|
139
|
+
if (typeof cmp === 'number') {
|
|
140
|
+
// only allow forward upgrades
|
|
141
|
+
if (cmp === -1 && this.onUpgrade) {
|
|
142
|
+
this.log.info(`Upgrading from version ${storedVersion.schemaVersion} to ${this.currentVersion.schemaVersion}`);
|
|
143
|
+
try {
|
|
144
|
+
await this.onUpgrade(this.dataDirectory, storedVersion.schemaVersion, this.currentVersion.schemaVersion);
|
|
145
|
+
} catch (error) {
|
|
146
|
+
this.log.error(`Failed to upgrade: ${error}. Falling back to reset.`);
|
|
147
|
+
needsReset = true;
|
|
148
|
+
}
|
|
149
|
+
} else if (cmp !== 0) {
|
|
150
|
+
this.log.info(
|
|
151
|
+
`Can't upgrade from version ${storedVersion.schemaVersion} to ${this.currentVersion}. Resetting database at ${this.dataDirectory}`,
|
|
152
|
+
);
|
|
153
|
+
needsReset = true;
|
|
154
|
+
}
|
|
155
|
+
} else {
|
|
156
|
+
this.log.warn('Rollup address changed, resetting data directory');
|
|
157
|
+
needsReset = true;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Handle reset if needed
|
|
161
|
+
if (needsReset) {
|
|
162
|
+
await this.resetDataDirectory();
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Write the current version to disk
|
|
166
|
+
await this.writeVersion();
|
|
167
|
+
|
|
168
|
+
return [await this.onOpen(this.dataDirectory), needsReset];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Writes the current version to the version file
|
|
173
|
+
*/
|
|
174
|
+
private async writeVersion(): Promise<void> {
|
|
175
|
+
// Ensure the directory exists
|
|
176
|
+
await this.fileSystem.mkdir(this.dataDirectory, { recursive: true });
|
|
177
|
+
// Write the version file
|
|
178
|
+
await this.fileSystem.writeFile(this.versionFile, this.currentVersion.toBuffer());
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Resets the data directory by deleting it and recreating it
|
|
183
|
+
*/
|
|
184
|
+
private async resetDataDirectory(): Promise<void> {
|
|
185
|
+
try {
|
|
186
|
+
await this.fileSystem.rm(this.dataDirectory, { recursive: true, force: true, maxRetries: 3 });
|
|
187
|
+
await this.fileSystem.mkdir(this.dataDirectory, { recursive: true });
|
|
188
|
+
} catch (err) {
|
|
189
|
+
this.log.error(`Failed to reset data directory: ${err}`);
|
|
190
|
+
throw new Error(`Failed to reset data directory: ${err}`, { cause: err });
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Get the data directory path
|
|
196
|
+
*/
|
|
197
|
+
public getDataDirectory(): string {
|
|
198
|
+
return this.dataDirectory;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Get the current version number
|
|
203
|
+
*/
|
|
204
|
+
public getSchemaVersion(): number {
|
|
205
|
+
return this.currentVersion.schemaVersion;
|
|
206
|
+
}
|
|
207
|
+
}
|