@aztec/stdlib 0.77.0-testnet-ignition.17
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 +478 -0
- package/dest/avm/avm.d.ts.map +1 -0
- package/dest/avm/avm.js +794 -0
- package/dest/avm/avm_accumulated_data.d.ts +63 -0
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -0
- package/dest/avm/avm_accumulated_data.js +70 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts +42 -0
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -0
- package/dest/avm/avm_circuit_public_inputs.js +92 -0
- package/dest/avm/avm_proving_request.d.ts +15 -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/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 +233 -0
- package/dest/block/l2_block_source.d.ts.map +1 -0
- package/dest/block/l2_block_source.js +17 -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/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 +77 -0
- package/dest/hash/hash.d.ts.map +1 -0
- package/dest/hash/hash.js +135 -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 +52 -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 +391 -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 +170 -0
- package/dest/kernel/private_call_data.d.ts.map +1 -0
- package/dest/kernel/private_call_data.js +167 -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 +114 -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 +183 -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 +40 -0
- package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -0
- package/dest/kernel/private_to_avm_accumulated_data.js +102 -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 +73 -0
- package/dest/kernel/public_call_request.d.ts.map +1 -0
- package/dest/kernel/public_call_request.js +119 -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 +40 -0
- package/dest/logs/contract_class_log.d.ts.map +1 -0
- package/dest/logs/contract_class_log.js +104 -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 +31 -0
- package/dest/logs/private_log.d.ts.map +1 -0
- package/dest/logs/private_log.js +47 -0
- package/dest/logs/public_log.d.ts +29 -0
- package/dest/logs/public_log.d.ts.map +1 -0
- package/dest/logs/public_log.js +67 -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 +66 -0
- package/dest/messaging/l2_to_l1_message.d.ts.map +1 -0
- package/dest/messaging/l2_to_l1_message.js +114 -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 +81 -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 +914 -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 +70 -0
- package/dest/tx/processed_tx.d.ts.map +1 -0
- package/dest/tx/processed_tx.js +64 -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 +26 -0
- package/dest/tx/tree_snapshots.d.ts.map +1 -0
- package/dest/tx/tree_snapshots.js +63 -0
- package/dest/tx/tx.d.ts +174 -0
- package/dest/tx/tx.d.ts.map +1 -0
- package/dest/tx/tx.js +248 -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 +425 -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 +142 -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 +1010 -0
- package/src/avm/avm_accumulated_data.ts +133 -0
- package/src/avm/avm_circuit_public_inputs.ts +168 -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/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 +148 -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/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 +143 -0
- package/src/hash/index.ts +2 -0
- package/src/hash/map_slot.ts +18 -0
- package/src/interfaces/archiver.ts +84 -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 +207 -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 +313 -0
- package/src/kernel/private_log_data.ts +107 -0
- package/src/kernel/private_to_avm_accumulated_data.ts +144 -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 +157 -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 +112 -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 +58 -0
- package/src/logs/public_log.ts +83 -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 +128 -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 +91 -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 +1554 -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 +175 -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 +96 -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 +533 -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,52 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
|
|
3
|
+
import { FunctionSelector } from '../../abi/index.js';
|
|
4
|
+
import type { AztecAddress } from '../../aztec-address/index.js';
|
|
5
|
+
import type { ContractClassPublic, PublicFunction } from './contract_class.js';
|
|
6
|
+
import type { ContractInstanceWithAddress } from './contract_instance.js';
|
|
7
|
+
|
|
8
|
+
export interface ContractDataSource {
|
|
9
|
+
/**
|
|
10
|
+
* Returns a contract's encoded public function, given its function selector.
|
|
11
|
+
* @param address - The contract aztec address.
|
|
12
|
+
* @param selector - The function's selector.
|
|
13
|
+
* @returns The function's data.
|
|
14
|
+
*/
|
|
15
|
+
getPublicFunction(address: AztecAddress, selector: FunctionSelector): Promise<PublicFunction | undefined>;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Gets the number of the latest L2 block processed by the implementation.
|
|
19
|
+
* @returns The number of the latest L2 block processed by the implementation.
|
|
20
|
+
*/
|
|
21
|
+
getBlockNumber(): Promise<number>;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Returns the contract class for a given contract class id, or undefined if not found.
|
|
25
|
+
* @param id - Contract class id.
|
|
26
|
+
*/
|
|
27
|
+
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
28
|
+
|
|
29
|
+
getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Adds a contract class to the database.
|
|
33
|
+
* TODO(#10007): Remove this method
|
|
34
|
+
*/
|
|
35
|
+
addContractClass(contractClass: ContractClassPublic): Promise<void>;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Returns a publicly deployed contract instance given its address.
|
|
39
|
+
* @param address - Address of the deployed contract.
|
|
40
|
+
*/
|
|
41
|
+
getContract(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Returns the list of all class ids known.
|
|
45
|
+
*/
|
|
46
|
+
getContractClassIds(): Promise<Fr[]>;
|
|
47
|
+
|
|
48
|
+
/** Returns a function's name */
|
|
49
|
+
getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
50
|
+
/** Registers a function names. Useful for debugging. */
|
|
51
|
+
registerContractFunctionSignatures(address: AztecAddress, signatures: string[]): Promise<void>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
|
|
5
|
+
import type { AztecAddress } from '../../aztec-address/index.js';
|
|
6
|
+
import { PublicKeys } from '../../keys/public_keys.js';
|
|
7
|
+
import { type ZodFor, schemas } from '../../schemas/index.js';
|
|
8
|
+
|
|
9
|
+
const VERSION = 1 as const;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A contract instance is a concrete deployment of a contract class. It always references a contract class,
|
|
13
|
+
* which dictates what code it executes when called. It has state (both private and public), as well as an
|
|
14
|
+
* address that acts as its identifier. It can be called into. It may have encryption and nullifying public keys.
|
|
15
|
+
*/
|
|
16
|
+
export interface ContractInstance {
|
|
17
|
+
/** Version identifier. Initially one, bumped for any changes to the contract instance struct. */
|
|
18
|
+
version: typeof VERSION;
|
|
19
|
+
/** User-generated pseudorandom value for uniqueness. */
|
|
20
|
+
salt: Fr;
|
|
21
|
+
/** Optional deployer address or zero if this was a universal deploy. */
|
|
22
|
+
deployer: AztecAddress;
|
|
23
|
+
/** Identifier of the contract class for this instance. */
|
|
24
|
+
currentContractClassId: Fr;
|
|
25
|
+
/** Identifier of the original (at deployment) contract class for this instance */
|
|
26
|
+
originalContractClassId: Fr;
|
|
27
|
+
/** Hash of the selector and arguments to the constructor. */
|
|
28
|
+
initializationHash: Fr;
|
|
29
|
+
/** Public keys associated with this instance. */
|
|
30
|
+
publicKeys: PublicKeys;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type ContractInstanceWithAddress = ContractInstance & { address: AztecAddress };
|
|
34
|
+
|
|
35
|
+
export const ContractInstanceSchema = z.object({
|
|
36
|
+
version: z.literal(VERSION),
|
|
37
|
+
salt: schemas.Fr,
|
|
38
|
+
deployer: schemas.AztecAddress,
|
|
39
|
+
currentContractClassId: schemas.Fr,
|
|
40
|
+
originalContractClassId: schemas.Fr,
|
|
41
|
+
initializationHash: schemas.Fr,
|
|
42
|
+
publicKeys: PublicKeys.schema,
|
|
43
|
+
}) satisfies ZodFor<ContractInstance>;
|
|
44
|
+
|
|
45
|
+
export const ContractInstanceWithAddressSchema = ContractInstanceSchema.and(
|
|
46
|
+
z.object({ address: schemas.AztecAddress }),
|
|
47
|
+
) satisfies ZodFor<ContractInstanceWithAddress>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
|
|
5
|
+
import type { AztecAddress } from '../../aztec-address/index.js';
|
|
6
|
+
import { type ZodFor, schemas } from '../../schemas/index.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* An update to a contract instance, changing its contract class.
|
|
10
|
+
*/
|
|
11
|
+
export interface ContractInstanceUpdate {
|
|
12
|
+
/** Identifier of the previous contract class for this instance */
|
|
13
|
+
prevContractClassId: Fr;
|
|
14
|
+
/** Identifier of the new contract class for this instance. */
|
|
15
|
+
newContractClassId: Fr;
|
|
16
|
+
/** The block number where the contract class in use will be the new one */
|
|
17
|
+
blockOfChange: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type ContractInstanceUpdateWithAddress = ContractInstanceUpdate & { address: AztecAddress };
|
|
21
|
+
|
|
22
|
+
export const ContractInstanceUpdateSchema = z.object({
|
|
23
|
+
prevContractClassId: schemas.Fr,
|
|
24
|
+
newContractClassId: schemas.Fr,
|
|
25
|
+
blockOfChange: z.number(),
|
|
26
|
+
}) satisfies ZodFor<ContractInstanceUpdate>;
|
|
27
|
+
|
|
28
|
+
export const ContractInstanceUpdateWithAddressSchema = ContractInstanceUpdateSchema.and(
|
|
29
|
+
z.object({ address: schemas.AztecAddress }),
|
|
30
|
+
) satisfies ZodFor<ContractInstanceUpdateWithAddress>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type L1ContractAddresses, L1ContractAddressesSchema } from '@aztec/ethereum/l1-contract-addresses';
|
|
2
|
+
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
3
|
+
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
|
|
6
|
+
import { type ProtocolContractAddresses, ProtocolContractAddressesSchema } from './protocol_contract_addresses.js';
|
|
7
|
+
|
|
8
|
+
/** Provides basic information about the running node. */
|
|
9
|
+
export interface NodeInfo {
|
|
10
|
+
/** Version as tracked in the aztec-packages repository. */
|
|
11
|
+
nodeVersion: string;
|
|
12
|
+
/** L1 chain id. */
|
|
13
|
+
l1ChainId: number;
|
|
14
|
+
/** Protocol version. */
|
|
15
|
+
protocolVersion: number;
|
|
16
|
+
/** The node's ENR. */
|
|
17
|
+
enr: string | undefined;
|
|
18
|
+
/** The deployed l1 contract addresses */
|
|
19
|
+
l1ContractAddresses: L1ContractAddresses;
|
|
20
|
+
/** Protocol contract addresses */
|
|
21
|
+
protocolContractAddresses: ProtocolContractAddresses;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const NodeInfoSchema: ZodFor<NodeInfo> = z
|
|
25
|
+
.object({
|
|
26
|
+
nodeVersion: z.string(),
|
|
27
|
+
l1ChainId: z.number(),
|
|
28
|
+
protocolVersion: z.number(),
|
|
29
|
+
enr: z.string().optional(),
|
|
30
|
+
l1ContractAddresses: L1ContractAddressesSchema,
|
|
31
|
+
protocolContractAddresses: ProtocolContractAddressesSchema,
|
|
32
|
+
})
|
|
33
|
+
.transform(obj => ({ enr: undefined, ...obj }));
|
|
@@ -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,69 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
import { type ZodFor, schemas } from '../schemas/index.js';
|
|
4
|
+
|
|
5
|
+
export type L1RollupConstants = {
|
|
6
|
+
l1StartBlock: bigint;
|
|
7
|
+
l1GenesisTime: bigint;
|
|
8
|
+
slotDuration: number;
|
|
9
|
+
epochDuration: number;
|
|
10
|
+
ethereumSlotDuration: number;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const EmptyL1RollupConstants: L1RollupConstants = {
|
|
14
|
+
l1StartBlock: 0n,
|
|
15
|
+
l1GenesisTime: 0n,
|
|
16
|
+
epochDuration: 1, // Not 0 to pervent division by zero
|
|
17
|
+
slotDuration: 1,
|
|
18
|
+
ethereumSlotDuration: 1,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const L1RollupConstantsSchema = z.object({
|
|
22
|
+
l1StartBlock: schemas.BigInt,
|
|
23
|
+
l1GenesisTime: schemas.BigInt,
|
|
24
|
+
slotDuration: z.number(),
|
|
25
|
+
epochDuration: z.number(),
|
|
26
|
+
ethereumSlotDuration: z.number(),
|
|
27
|
+
}) satisfies ZodFor<L1RollupConstants>;
|
|
28
|
+
|
|
29
|
+
/** Returns the slot number for a given timestamp. */
|
|
30
|
+
export function getSlotAtTimestamp(ts: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>) {
|
|
31
|
+
return ts < constants.l1GenesisTime ? 0n : (ts - constants.l1GenesisTime) / BigInt(constants.slotDuration);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** Returns the epoch number for a given timestamp. */
|
|
35
|
+
export function getEpochNumberAtTimestamp(
|
|
36
|
+
ts: bigint,
|
|
37
|
+
constants: Pick<L1RollupConstants, 'epochDuration' | 'slotDuration' | 'l1GenesisTime'>,
|
|
38
|
+
) {
|
|
39
|
+
return getEpochAtSlot(getSlotAtTimestamp(ts, constants), constants);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Returns the epoch number for a given slot. */
|
|
43
|
+
export function getEpochAtSlot(slot: bigint, constants: Pick<L1RollupConstants, 'epochDuration'>) {
|
|
44
|
+
return slot / BigInt(constants.epochDuration);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** Returns the range of L2 slots (inclusive) for a given epoch number. */
|
|
48
|
+
export function getSlotRangeForEpoch(epochNumber: bigint, constants: Pick<L1RollupConstants, 'epochDuration'>) {
|
|
49
|
+
const startSlot = epochNumber * BigInt(constants.epochDuration);
|
|
50
|
+
return [startSlot, startSlot + BigInt(constants.epochDuration) - 1n];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns the range of L1 timestamps (inclusive) for a given epoch number.
|
|
55
|
+
* Note that the endTimestamp is the start timestamp of the last L1 slot for the epoch.
|
|
56
|
+
*/
|
|
57
|
+
export function getTimestampRangeForEpoch(
|
|
58
|
+
epochNumber: bigint,
|
|
59
|
+
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'ethereumSlotDuration'>,
|
|
60
|
+
) {
|
|
61
|
+
const [startSlot, endSlot] = getSlotRangeForEpoch(epochNumber, constants);
|
|
62
|
+
const ethereumSlotsPerL2Slot = constants.slotDuration / constants.ethereumSlotDuration;
|
|
63
|
+
return [
|
|
64
|
+
constants.l1GenesisTime + startSlot * BigInt(constants.slotDuration),
|
|
65
|
+
constants.l1GenesisTime +
|
|
66
|
+
endSlot * BigInt(constants.slotDuration) +
|
|
67
|
+
BigInt((ethereumSlotsPerL2Slot - 1) * constants.ethereumSlotDuration),
|
|
68
|
+
];
|
|
69
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An error thrown when generating a proof fails.
|
|
3
|
+
*/
|
|
4
|
+
export class ProvingError extends Error {
|
|
5
|
+
public static readonly NAME = 'ProvingError';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new instance
|
|
9
|
+
* @param message - The error message.
|
|
10
|
+
* @param cause - The cause of the error.
|
|
11
|
+
* @param retry - Whether the proof should be retried.
|
|
12
|
+
*/
|
|
13
|
+
constructor(message: string, cause?: unknown, public readonly retry: boolean = false) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.name = ProvingError.NAME;
|
|
16
|
+
this.cause = cause;
|
|
17
|
+
}
|
|
18
|
+
}
|