@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,202 @@
|
|
|
1
|
+
import { PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr, type GrumpkinScalar, NotOnCurveError, Point } from '@aztec/foundation/fields';
|
|
4
|
+
import { BufferReader, type Tuple, numToUInt16BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
|
+
|
|
6
|
+
import { AztecAddress } from '../../aztec-address/index.js';
|
|
7
|
+
import { derivePublicKeyFromSecretKey } from '../../keys/derivation.js';
|
|
8
|
+
import { PrivateLog } from '../private_log.js';
|
|
9
|
+
import {
|
|
10
|
+
aes128Decrypt,
|
|
11
|
+
aes128Encrypt,
|
|
12
|
+
deriveAesSymmetricKeyAndIvFromEcdhSharedSecretUsingSha256,
|
|
13
|
+
} from './encryption_util.js';
|
|
14
|
+
import { deriveEcdhSharedSecret, deriveEcdhSharedSecretUsingAztecAddress } from './shared_secret_derivation.js';
|
|
15
|
+
|
|
16
|
+
// Below constants should match the values defined in aztec-nr/aztec/src/encrypted_logs/log_assembly_strategies/default_aes128/note.nr.
|
|
17
|
+
// Note: we will soon be 'abstracting' log processing: apps will process their own logs, instead of the PXE processing all apps' logs. Therefore, this file will imminently change considerably.
|
|
18
|
+
|
|
19
|
+
const TAG_SIZE_IN_FIELDS = 1;
|
|
20
|
+
const EPK_SIZE_IN_FIELDS = 1;
|
|
21
|
+
|
|
22
|
+
const USABLE_PRIVATE_LOG_SIZE_IN_FIELDS = PRIVATE_LOG_SIZE_IN_FIELDS - TAG_SIZE_IN_FIELDS - EPK_SIZE_IN_FIELDS;
|
|
23
|
+
const USABLE_PRIVATE_LOG_SIZE_IN_BYTES = ((USABLE_PRIVATE_LOG_SIZE_IN_FIELDS * 31) / 16) * 16;
|
|
24
|
+
|
|
25
|
+
// The incoming header ciphertext is 48 bytes
|
|
26
|
+
// 32 bytes for the address, and 16 bytes padding to follow PKCS#7
|
|
27
|
+
const HEADER_CIPHERTEXT_SIZE_IN_BYTES = 48;
|
|
28
|
+
const USABLE_PLAINTEXT_SIZE_IN_BYTES = USABLE_PRIVATE_LOG_SIZE_IN_BYTES - HEADER_CIPHERTEXT_SIZE_IN_BYTES;
|
|
29
|
+
|
|
30
|
+
const CONTRACT_ADDRESS_SIZE_IN_BYTES = 32;
|
|
31
|
+
|
|
32
|
+
const SIZE_OF_ENCODING_OF_CIPHERTEXT_SIZE_IN_BYTES = 2;
|
|
33
|
+
|
|
34
|
+
function beBytes31ToFields(bytes: Buffer): Fr[] {
|
|
35
|
+
const fields = [];
|
|
36
|
+
const numFields = Math.ceil(bytes.length / 31);
|
|
37
|
+
for (let i = 0; i < numFields; i++) {
|
|
38
|
+
fields.push(new Fr(bytes.subarray(i * 31, (i + 1) * 31)));
|
|
39
|
+
}
|
|
40
|
+
return fields;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function fieldsToBEBytes31(fields: Fr[]) {
|
|
44
|
+
return Buffer.concat(fields.map(f => f.toBuffer().subarray(1)));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Encrypted log payload with a tag used for retrieval by clients.
|
|
49
|
+
*/
|
|
50
|
+
export class EncryptedLogPayload {
|
|
51
|
+
constructor(
|
|
52
|
+
/**
|
|
53
|
+
* Note discovery tag.
|
|
54
|
+
*/
|
|
55
|
+
public readonly tag: Fr,
|
|
56
|
+
/**
|
|
57
|
+
* Address of a contract that emitted the log.
|
|
58
|
+
*/
|
|
59
|
+
public readonly contractAddress: AztecAddress,
|
|
60
|
+
/**
|
|
61
|
+
* Decrypted incoming body.
|
|
62
|
+
*/
|
|
63
|
+
public readonly incomingBodyPlaintext: Buffer,
|
|
64
|
+
) {}
|
|
65
|
+
|
|
66
|
+
// NB: Only appears to be used in tests
|
|
67
|
+
// See noir-projects/aztec-nr/aztec/src/encrypted_logs/log_assembly_strategies/default_aes128/note.nr
|
|
68
|
+
public async generatePayload(
|
|
69
|
+
ephSk: GrumpkinScalar,
|
|
70
|
+
recipient: AztecAddress,
|
|
71
|
+
rand: (len: number) => Buffer = randomBytes,
|
|
72
|
+
): Promise<PrivateLog> {
|
|
73
|
+
const ephPk = await derivePublicKeyFromSecretKey(ephSk);
|
|
74
|
+
const [ephPkX, ephPkSignBool] = ephPk.toXAndSign();
|
|
75
|
+
const ephPkSignU8 = Buffer.from([Number(ephPkSignBool)]);
|
|
76
|
+
|
|
77
|
+
const ciphertextSharedSecret = await deriveEcdhSharedSecretUsingAztecAddress(ephSk, recipient); // not to be confused with the tagging shared secret
|
|
78
|
+
|
|
79
|
+
const [symKey, iv] = deriveAesSymmetricKeyAndIvFromEcdhSharedSecretUsingSha256(ciphertextSharedSecret);
|
|
80
|
+
|
|
81
|
+
if (this.incomingBodyPlaintext.length > USABLE_PLAINTEXT_SIZE_IN_BYTES) {
|
|
82
|
+
throw new Error(`Incoming body plaintext cannot be more than ${USABLE_PLAINTEXT_SIZE_IN_BYTES} bytes.`);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const finalPlaintext = this.incomingBodyPlaintext;
|
|
86
|
+
|
|
87
|
+
const ciphertextBytes = await aes128Encrypt(finalPlaintext, iv, symKey);
|
|
88
|
+
|
|
89
|
+
const headerPlaintext = serializeToBuffer(this.contractAddress.toBuffer(), numToUInt16BE(ciphertextBytes.length));
|
|
90
|
+
|
|
91
|
+
// TODO: it is unsafe to re-use the same iv and symKey. We'll need to do something cleverer.
|
|
92
|
+
const headerCiphertextBytes = await aes128Encrypt(headerPlaintext, iv, symKey);
|
|
93
|
+
|
|
94
|
+
if (headerCiphertextBytes.length !== HEADER_CIPHERTEXT_SIZE_IN_BYTES) {
|
|
95
|
+
throw new Error(`Invalid header ciphertext size: ${headerCiphertextBytes.length}`);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const properLogBytesLength = 1 /* ephPkSignU8 */ + HEADER_CIPHERTEXT_SIZE_IN_BYTES + ciphertextBytes.length;
|
|
99
|
+
|
|
100
|
+
const logBytesPaddingToMult31 = rand(31 * Math.ceil(properLogBytesLength / 31) - properLogBytesLength);
|
|
101
|
+
|
|
102
|
+
const logBytes = serializeToBuffer(ephPkSignU8, headerCiphertextBytes, ciphertextBytes, logBytesPaddingToMult31);
|
|
103
|
+
|
|
104
|
+
if (logBytes.length % 31 !== 0) {
|
|
105
|
+
throw new Error(`logBytes.length should be divisible by 31, got: ${logBytes.length}`);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const fieldsPadding = Array.from({ length: USABLE_PRIVATE_LOG_SIZE_IN_FIELDS - logBytes.length / 31 }, () =>
|
|
109
|
+
Fr.fromBuffer(rand(32)),
|
|
110
|
+
); // we use the randomBytes function instead of `Fr.random()`, so that we can use deterministic randomness in tests, through the rand() function.
|
|
111
|
+
|
|
112
|
+
const logFields = [this.tag, ephPkX, ...beBytes31ToFields(logBytes), ...fieldsPadding] as Tuple<
|
|
113
|
+
Fr,
|
|
114
|
+
typeof PRIVATE_LOG_SIZE_IN_FIELDS
|
|
115
|
+
>;
|
|
116
|
+
|
|
117
|
+
if (logFields.length !== PRIVATE_LOG_SIZE_IN_FIELDS) {
|
|
118
|
+
throw new Error(
|
|
119
|
+
`Expected private log payload to have ${PRIVATE_LOG_SIZE_IN_FIELDS} fields. Got ${logFields.length}.`,
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return new PrivateLog(logFields);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Decrypts a ciphertext as an incoming log.
|
|
128
|
+
*
|
|
129
|
+
* This is executable by the recipient of the note, and uses the addressSecret to decrypt the payload.
|
|
130
|
+
*
|
|
131
|
+
* @param payload - The payload for the log
|
|
132
|
+
* @param addressSecret - The address secret, used to decrypt the logs
|
|
133
|
+
* @param ciphertextLength - Optionally supply the ciphertext length (see trimCiphertext())
|
|
134
|
+
* @returns The decrypted log payload
|
|
135
|
+
*/
|
|
136
|
+
public static async decryptAsIncoming(
|
|
137
|
+
payload: Fr[],
|
|
138
|
+
addressSecret: GrumpkinScalar,
|
|
139
|
+
): Promise<EncryptedLogPayload | undefined> {
|
|
140
|
+
try {
|
|
141
|
+
const logFields = payload;
|
|
142
|
+
|
|
143
|
+
const tag = logFields[0];
|
|
144
|
+
const ephPkX = logFields[1];
|
|
145
|
+
|
|
146
|
+
const reader = BufferReader.asReader(fieldsToBEBytes31(logFields.slice(TAG_SIZE_IN_FIELDS + EPK_SIZE_IN_FIELDS)));
|
|
147
|
+
|
|
148
|
+
const ephPkSigBuf = reader.readBytes(1);
|
|
149
|
+
const ephPkSignBool = !!ephPkSigBuf[0];
|
|
150
|
+
const ephPk = await Point.fromXAndSign(ephPkX, ephPkSignBool);
|
|
151
|
+
|
|
152
|
+
const headerCiphertextBytes = reader.readBytes(HEADER_CIPHERTEXT_SIZE_IN_BYTES);
|
|
153
|
+
|
|
154
|
+
let contractAddress = AztecAddress.ZERO;
|
|
155
|
+
if (!addressSecret) {
|
|
156
|
+
throw new Error('Cannot decrypt without an address secret.');
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const ciphertextSharedSecret = await deriveEcdhSharedSecret(addressSecret, ephPk);
|
|
160
|
+
|
|
161
|
+
const [symKey, iv] = deriveAesSymmetricKeyAndIvFromEcdhSharedSecretUsingSha256(ciphertextSharedSecret);
|
|
162
|
+
|
|
163
|
+
const headerPlaintextBytes = await aes128Decrypt(headerCiphertextBytes, iv, symKey);
|
|
164
|
+
|
|
165
|
+
const headerReader = BufferReader.asReader(headerPlaintextBytes);
|
|
166
|
+
|
|
167
|
+
const contractAddressBuf = headerReader.readBytes(CONTRACT_ADDRESS_SIZE_IN_BYTES);
|
|
168
|
+
contractAddress = AztecAddress.fromBuffer(contractAddressBuf);
|
|
169
|
+
|
|
170
|
+
const ciphertextBytesLengthBuf = headerReader.readBytes(SIZE_OF_ENCODING_OF_CIPHERTEXT_SIZE_IN_BYTES);
|
|
171
|
+
const ciphertextBytesLength = (ciphertextBytesLengthBuf[0] << 8) + ciphertextBytesLengthBuf[1];
|
|
172
|
+
|
|
173
|
+
const ciphertextBytes = reader.readBytes(ciphertextBytesLength);
|
|
174
|
+
|
|
175
|
+
const plaintextBytes = await aes128Decrypt(ciphertextBytes, iv, symKey);
|
|
176
|
+
|
|
177
|
+
return new EncryptedLogPayload(tag, contractAddress, plaintextBytes);
|
|
178
|
+
} catch (e: any) {
|
|
179
|
+
// Following error messages are expected to occur when decryption fails
|
|
180
|
+
if (!this.isAcceptableError(e)) {
|
|
181
|
+
// If we encounter an unexpected error, we rethrow it
|
|
182
|
+
throw e;
|
|
183
|
+
}
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
private static isAcceptableError(e: any) {
|
|
189
|
+
return (
|
|
190
|
+
e instanceof NotOnCurveError ||
|
|
191
|
+
e.message.endsWith('is greater or equal to field modulus.') ||
|
|
192
|
+
e.message.startsWith('Invalid AztecAddress length') ||
|
|
193
|
+
e.message.startsWith('Selector must fit in') ||
|
|
194
|
+
e.message.startsWith('Attempted to read beyond buffer length') ||
|
|
195
|
+
e.message.startsWith('RangeError [ERR_BUFFER_OUT_OF_BOUNDS]:')
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
public toBuffer() {
|
|
200
|
+
return serializeToBuffer(this.tag, this.contractAddress.toBuffer(), this.incomingBodyPlaintext);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { GeneratorIndex } from '@aztec/constants';
|
|
2
|
+
import { Aes128, sha256 } from '@aztec/foundation/crypto';
|
|
3
|
+
import type { Point } from '@aztec/foundation/fields';
|
|
4
|
+
import { numToUInt8 } from '@aztec/foundation/serialize';
|
|
5
|
+
|
|
6
|
+
function extractCloseToUniformlyRandom256BitsFromEcdhSharedSecretUsingSha256(sharedSecret: Point): Buffer {
|
|
7
|
+
const secretBuffer = Buffer.concat([sharedSecret.toCompressedBuffer(), numToUInt8(GeneratorIndex.SYMMETRIC_KEY)]);
|
|
8
|
+
const hash = sha256(secretBuffer);
|
|
9
|
+
return hash;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function deriveAesSymmetricKeyAndIvFromEcdhSharedSecret(
|
|
13
|
+
sharedSecret: Point,
|
|
14
|
+
randomnessExtractionFunction: (sharedSecret: Point) => Buffer,
|
|
15
|
+
): [Buffer, Buffer] {
|
|
16
|
+
const random256Bits = randomnessExtractionFunction(sharedSecret);
|
|
17
|
+
const symKey = random256Bits.subarray(0, 16);
|
|
18
|
+
const iv = random256Bits.subarray(16, 32);
|
|
19
|
+
return [symKey, iv];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function deriveAesSymmetricKeyAndIvFromEcdhSharedSecretUsingSha256(sharedSecret: Point): [Buffer, Buffer] {
|
|
23
|
+
return deriveAesSymmetricKeyAndIvFromEcdhSharedSecret(
|
|
24
|
+
sharedSecret,
|
|
25
|
+
extractCloseToUniformlyRandom256BitsFromEcdhSharedSecretUsingSha256,
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Encrypts the plaintext using the secret key and public key
|
|
31
|
+
*
|
|
32
|
+
* @param plaintext - The plaintext buffer
|
|
33
|
+
* @param secret - The secret key used to derive the AES secret
|
|
34
|
+
* @param publicKey - Public key used to derived the AES secret
|
|
35
|
+
* @param deriveSecret - Function to derive the AES secret from the ephemeral secret key and public key
|
|
36
|
+
* @returns The ciphertext
|
|
37
|
+
*/
|
|
38
|
+
export function aes128Encrypt(plaintext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer> {
|
|
39
|
+
const aes128 = new Aes128();
|
|
40
|
+
return aes128.encryptBufferCBC(plaintext, iv, symKey);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Decrypts the ciphertext using the secret key and public key
|
|
45
|
+
* @param ciphertext - The ciphertext buffer
|
|
46
|
+
* @param secret - The secret key used to derive the AES secret
|
|
47
|
+
* @param publicKey - The public key used to derive the AES secret
|
|
48
|
+
* @param deriveSecret - Function to derive the AES secret from the ephemeral secret key and public key
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
export function aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer> {
|
|
52
|
+
const aes128 = new Aes128();
|
|
53
|
+
return aes128.decryptBufferCBC(ciphertext, iv, symKey);
|
|
54
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { randomInt } from '@aztec/foundation/crypto';
|
|
2
|
+
import { type Fq, Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
|
+
|
|
5
|
+
import { NoteSelector } from '../../abi/note_selector.js';
|
|
6
|
+
import { AztecAddress } from '../../aztec-address/index.js';
|
|
7
|
+
import { Vector } from '../../types/index.js';
|
|
8
|
+
import type { PrivateLog } from '../private_log.js';
|
|
9
|
+
import { PublicLog } from '../public_log.js';
|
|
10
|
+
import { EncryptedLogPayload } from './encrypted_log_payload.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A class which wraps note data which is pushed on L1.
|
|
14
|
+
* @remarks This data is required to compute a nullifier/to spend a note. Along with that this class contains
|
|
15
|
+
* the necessary functionality to encrypt and decrypt the data.
|
|
16
|
+
*/
|
|
17
|
+
export class L1NotePayload {
|
|
18
|
+
constructor(
|
|
19
|
+
/**
|
|
20
|
+
* Address of the contract this tx is interacting with.
|
|
21
|
+
*/
|
|
22
|
+
public contractAddress: AztecAddress,
|
|
23
|
+
/**
|
|
24
|
+
* Storage slot of the underlying note.
|
|
25
|
+
*/
|
|
26
|
+
public storageSlot: Fr,
|
|
27
|
+
/**
|
|
28
|
+
* Type identifier for the underlying note, required to determine how to compute its hash and nullifier.
|
|
29
|
+
*/
|
|
30
|
+
public noteTypeId: NoteSelector,
|
|
31
|
+
/**
|
|
32
|
+
* Note values delivered encrypted.
|
|
33
|
+
* @dev Note that to recreate the correct note we need to merge privateNoteValues and publicNoteValues. To do that
|
|
34
|
+
* we need access to the contract ABI (that is done in the NoteProcessor).
|
|
35
|
+
*/
|
|
36
|
+
public privateNoteValues: Fr[],
|
|
37
|
+
/**
|
|
38
|
+
* Note values delivered in plaintext.
|
|
39
|
+
* @dev Note that to recreate the correct note we need to merge privateNoteValues and publicNoteValues. To do that
|
|
40
|
+
* we need access to the contract ABI (that is done in the NoteProcessor).
|
|
41
|
+
*/
|
|
42
|
+
public publicNoteValues: Fr[],
|
|
43
|
+
) {}
|
|
44
|
+
|
|
45
|
+
static fromIncomingBodyPlaintextContractAndPublicValues(
|
|
46
|
+
plaintext: Buffer,
|
|
47
|
+
contractAddress: AztecAddress,
|
|
48
|
+
publicNoteValues: Fr[],
|
|
49
|
+
): L1NotePayload | undefined {
|
|
50
|
+
try {
|
|
51
|
+
const reader = BufferReader.asReader(plaintext);
|
|
52
|
+
const fields = reader.readArray(plaintext.length / Fr.SIZE_IN_BYTES, Fr);
|
|
53
|
+
|
|
54
|
+
const storageSlot = fields[0];
|
|
55
|
+
const noteTypeId = NoteSelector.fromField(fields[1]);
|
|
56
|
+
|
|
57
|
+
const privateNoteValues = fields.slice(2);
|
|
58
|
+
|
|
59
|
+
return new L1NotePayload(contractAddress, storageSlot, noteTypeId, privateNoteValues, publicNoteValues);
|
|
60
|
+
} catch (e) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static async decryptAsIncoming(log: PrivateLog, sk: Fq): Promise<L1NotePayload | undefined> {
|
|
66
|
+
const decryptedLog = await EncryptedLogPayload.decryptAsIncoming(log.fields, sk);
|
|
67
|
+
if (!decryptedLog) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return this.fromIncomingBodyPlaintextContractAndPublicValues(
|
|
72
|
+
decryptedLog.incomingBodyPlaintext,
|
|
73
|
+
decryptedLog.contractAddress,
|
|
74
|
+
/* publicValues */ [],
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
static async decryptAsIncomingFromPublic(log: PublicLog, sk: Fq): Promise<L1NotePayload | undefined> {
|
|
79
|
+
const { privateValues, publicValues } = parseLogFromPublic(log);
|
|
80
|
+
if (!privateValues) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const decryptedLog = await EncryptedLogPayload.decryptAsIncoming(privateValues, sk);
|
|
85
|
+
if (!decryptedLog) {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return this.fromIncomingBodyPlaintextContractAndPublicValues(
|
|
90
|
+
decryptedLog.incomingBodyPlaintext,
|
|
91
|
+
decryptedLog.contractAddress,
|
|
92
|
+
publicValues,
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Serializes the L1NotePayload object into a Buffer.
|
|
98
|
+
* @returns Buffer representation of the L1NotePayload object.
|
|
99
|
+
*/
|
|
100
|
+
toIncomingBodyPlaintext() {
|
|
101
|
+
const fields = [this.storageSlot, this.noteTypeId.toField(), ...this.privateNoteValues];
|
|
102
|
+
return serializeToBuffer(fields);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Create a random L1NotePayload object (useful for testing purposes).
|
|
107
|
+
* @param contract - The address of a contract the note was emitted from.
|
|
108
|
+
* @returns A random L1NotePayload object.
|
|
109
|
+
*/
|
|
110
|
+
static async random(contract?: AztecAddress) {
|
|
111
|
+
const numPrivateNoteValues = randomInt(2) + 1;
|
|
112
|
+
const privateNoteValues = Array.from({ length: numPrivateNoteValues }, () => Fr.random());
|
|
113
|
+
|
|
114
|
+
const numPublicNoteValues = randomInt(2) + 1;
|
|
115
|
+
const publicNoteValues = Array.from({ length: numPublicNoteValues }, () => Fr.random());
|
|
116
|
+
|
|
117
|
+
return new L1NotePayload(
|
|
118
|
+
contract ?? (await AztecAddress.random()),
|
|
119
|
+
Fr.random(),
|
|
120
|
+
NoteSelector.random(),
|
|
121
|
+
privateNoteValues,
|
|
122
|
+
publicNoteValues,
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
public equals(other: L1NotePayload) {
|
|
127
|
+
return (
|
|
128
|
+
this.contractAddress.equals(other.contractAddress) &&
|
|
129
|
+
this.storageSlot.equals(other.storageSlot) &&
|
|
130
|
+
this.noteTypeId.equals(other.noteTypeId) &&
|
|
131
|
+
this.privateNoteValues.every((value, index) => value.equals(other.privateNoteValues[index])) &&
|
|
132
|
+
this.publicNoteValues.every((value, index) => value.equals(other.publicNoteValues[index]))
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
toBuffer() {
|
|
137
|
+
return serializeToBuffer(
|
|
138
|
+
this.contractAddress,
|
|
139
|
+
this.storageSlot,
|
|
140
|
+
this.noteTypeId,
|
|
141
|
+
new Vector(this.privateNoteValues),
|
|
142
|
+
new Vector(this.publicNoteValues),
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
147
|
+
const reader = BufferReader.asReader(buffer);
|
|
148
|
+
return new L1NotePayload(
|
|
149
|
+
reader.readObject(AztecAddress),
|
|
150
|
+
reader.readObject(Fr),
|
|
151
|
+
reader.readObject(NoteSelector),
|
|
152
|
+
reader.readVector(Fr),
|
|
153
|
+
reader.readVector(Fr),
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Parse the given log into an array of public values and an encrypted log.
|
|
160
|
+
*
|
|
161
|
+
* @param log - Log to be parsed.
|
|
162
|
+
* @returns An object containing the public values, encrypted log, and ciphertext length.
|
|
163
|
+
*/
|
|
164
|
+
function parseLogFromPublic(log: PublicLog) {
|
|
165
|
+
// Extract lengths from the log
|
|
166
|
+
// See aztec_nr/aztec/src/macros/note/mod.nr to see how the "finalization_log" is encoded.
|
|
167
|
+
// Each length is stored in 2 bytes with a 0 separator byte between them:
|
|
168
|
+
// [ publicLen[0], publicLen[1], 0, privateLen[0], privateLen[1] ]
|
|
169
|
+
// Search the codebase for "disgusting encoding" to see other hardcoded instances of this encoding, that you might need to change if you ever find yourself here.
|
|
170
|
+
const lengths = log.log[0].toBuffer().subarray(-5);
|
|
171
|
+
const publicValuesLength = lengths.readUint16BE();
|
|
172
|
+
const privateValuesLength = lengths.readUint16BE(3);
|
|
173
|
+
|
|
174
|
+
// Now we get the fields corresponding to the values generated from private.
|
|
175
|
+
// Note: +1 for the length values in position 0
|
|
176
|
+
const privateValues = log.log.slice(1, 1 + privateValuesLength);
|
|
177
|
+
|
|
178
|
+
// At last we load the public values
|
|
179
|
+
const publicValues = log.log.slice(1 + privateValuesLength, 1 + privateValuesLength + publicValuesLength);
|
|
180
|
+
|
|
181
|
+
return { publicValues, privateValues };
|
|
182
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { randomInt } from '@aztec/foundation/crypto';
|
|
2
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
|
+
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
5
|
+
|
|
6
|
+
import { schemas } from '../../schemas/index.js';
|
|
7
|
+
import { Vector } from '../../types/index.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The Note class represents a Note emitted from a Noir contract as a vector of Fr (finite field) elements.
|
|
11
|
+
* This data also represents a preimage to a note hash. This class extends the Vector class, which allows for
|
|
12
|
+
* additional operations on the underlying field elements.
|
|
13
|
+
*/
|
|
14
|
+
export class Payload extends Vector<Fr> {
|
|
15
|
+
toJSON() {
|
|
16
|
+
return this.toBuffer();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static get schema() {
|
|
20
|
+
return schemas.Buffer.transform(Payload.fromBuffer);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Create a Note instance from a Buffer or BufferReader.
|
|
25
|
+
* The input 'buffer' can be either a Buffer containing the serialized Fr elements or a BufferReader instance.
|
|
26
|
+
* This function reads the Fr elements in the buffer and constructs a Note with them.
|
|
27
|
+
*
|
|
28
|
+
* @param buffer - The Buffer or BufferReader containing the serialized Fr elements.
|
|
29
|
+
* @returns A Note instance containing the deserialized Fr elements.
|
|
30
|
+
*/
|
|
31
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
32
|
+
const reader = BufferReader.asReader(buffer);
|
|
33
|
+
return new Payload(reader.readVector(Fr));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Generates a random Note instance with a variable number of items.
|
|
38
|
+
* The number of items is determined by a random value between 1 and 10 (inclusive).
|
|
39
|
+
* Each item in the Note is generated using the Fr.random() method.
|
|
40
|
+
*
|
|
41
|
+
* @returns A randomly generated Note instance.
|
|
42
|
+
*/
|
|
43
|
+
static random() {
|
|
44
|
+
const numItems = randomInt(10) + 1;
|
|
45
|
+
const items = Array.from({ length: numItems }, () => Fr.random());
|
|
46
|
+
return new Payload(items);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Returns a hex representation of the note.
|
|
51
|
+
* @returns A hex string with the vector length as first element.
|
|
52
|
+
*/
|
|
53
|
+
override toString() {
|
|
54
|
+
return bufferToHex(this.toBuffer());
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Creates a new Note instance from a hex string.
|
|
59
|
+
* @param str - Hex representation.
|
|
60
|
+
* @returns A Note instance.
|
|
61
|
+
*/
|
|
62
|
+
static fromString(str: string) {
|
|
63
|
+
return Payload.fromBuffer(hexToBuffer(str));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
get length() {
|
|
67
|
+
return this.items.length;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
equals(other: Payload) {
|
|
71
|
+
return this.items.every((item, index) => item.equals(other.items[index]));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Grumpkin } from '@aztec/foundation/crypto';
|
|
2
|
+
import type { GrumpkinScalar, Point } from '@aztec/foundation/fields';
|
|
3
|
+
|
|
4
|
+
import type { AztecAddress } from '../../aztec-address/index.js';
|
|
5
|
+
import type { PublicKey } from '../../keys/public_key.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Derive an Elliptic Curve Diffie-Hellman (ECDH) Shared Secret.
|
|
9
|
+
* The function takes in an ECDH public key, a private key, and a Grumpkin instance to compute
|
|
10
|
+
* the shared secret.
|
|
11
|
+
*
|
|
12
|
+
* @param secretKey - The secret key used to derive shared secret.
|
|
13
|
+
* @param publicKey - The public key used to derive shared secret.
|
|
14
|
+
* @returns A derived shared secret.
|
|
15
|
+
* @throws If the publicKey is zero.
|
|
16
|
+
*/
|
|
17
|
+
export async function deriveEcdhSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey): Promise<Point> {
|
|
18
|
+
if (publicKey.isZero()) {
|
|
19
|
+
throw new Error(
|
|
20
|
+
`Attempting to derive a shared secret with a zero public key. You have probably passed a zero public key in your Noir code somewhere thinking that the note won't be broadcast... but it was.`,
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
const curve = new Grumpkin();
|
|
24
|
+
const sharedSecret = await curve.mul(publicKey, secretKey);
|
|
25
|
+
return sharedSecret;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export async function deriveEcdhSharedSecretUsingAztecAddress(
|
|
29
|
+
secretKey: GrumpkinScalar,
|
|
30
|
+
address: AztecAddress,
|
|
31
|
+
): Promise<Point> {
|
|
32
|
+
const addressPoint = await address.toAddressPoint();
|
|
33
|
+
const sharedSecret = await deriveEcdhSharedSecret(secretKey, addressPoint);
|
|
34
|
+
return sharedSecret;
|
|
35
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
import type { AztecAddress } from '../aztec-address/index.js';
|
|
4
|
+
import { type ZodFor, schemas } from '../schemas/index.js';
|
|
5
|
+
import { TxHash } from '../tx/tx_hash.js';
|
|
6
|
+
import { LogId } from './log_id.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Log filter used to fetch L2 logs.
|
|
10
|
+
* @remarks This filter is applied as an intersection of all it's params.
|
|
11
|
+
*/
|
|
12
|
+
export type LogFilter = {
|
|
13
|
+
/** Hash of a transaction from which to fetch the logs. */
|
|
14
|
+
txHash?: TxHash;
|
|
15
|
+
/** The block number from which to start fetching logs (inclusive). */
|
|
16
|
+
fromBlock?: number;
|
|
17
|
+
/** The block number until which to fetch logs (not inclusive). */
|
|
18
|
+
toBlock?: number;
|
|
19
|
+
/** Log id after which to start fetching logs. */
|
|
20
|
+
afterLog?: LogId;
|
|
21
|
+
/** The contract address to filter logs by. */
|
|
22
|
+
contractAddress?: AztecAddress;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const LogFilterSchema: ZodFor<LogFilter> = z.object({
|
|
26
|
+
txHash: TxHash.schema.optional(),
|
|
27
|
+
fromBlock: schemas.Integer.optional(),
|
|
28
|
+
toBlock: schemas.Integer.optional(),
|
|
29
|
+
afterLog: LogId.schema.optional(),
|
|
30
|
+
contractAddress: schemas.AztecAddress.optional(),
|
|
31
|
+
});
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
2
|
+
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
3
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
|
+
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
|
|
7
|
+
import { schemas } from '../schemas/index.js';
|
|
8
|
+
|
|
9
|
+
/** A globally unique log id. */
|
|
10
|
+
export class LogId {
|
|
11
|
+
/**
|
|
12
|
+
* Parses a log id from a string.
|
|
13
|
+
* @param blockNumber - The block number.
|
|
14
|
+
* @param txIndex - The transaction index.
|
|
15
|
+
* @param logIndex - The log index.
|
|
16
|
+
*/
|
|
17
|
+
constructor(
|
|
18
|
+
/** The block number the log was emitted in. */
|
|
19
|
+
public readonly blockNumber: number,
|
|
20
|
+
/** The index of a tx in a block the log was emitted in. */
|
|
21
|
+
public readonly txIndex: number,
|
|
22
|
+
/** The index of a log the tx was emitted in. */
|
|
23
|
+
public readonly logIndex: number,
|
|
24
|
+
) {
|
|
25
|
+
if (!Number.isInteger(blockNumber) || blockNumber < INITIAL_L2_BLOCK_NUM) {
|
|
26
|
+
throw new Error(`Invalid block number: ${blockNumber}`);
|
|
27
|
+
}
|
|
28
|
+
if (!Number.isInteger(txIndex)) {
|
|
29
|
+
throw new Error(`Invalid tx index: ${txIndex}`);
|
|
30
|
+
}
|
|
31
|
+
if (!Number.isInteger(logIndex)) {
|
|
32
|
+
throw new Error(`Invalid log index: ${logIndex}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static random() {
|
|
37
|
+
return new LogId(
|
|
38
|
+
Math.floor(Math.random() * 1000) + 1,
|
|
39
|
+
Math.floor(Math.random() * 1000),
|
|
40
|
+
Math.floor(Math.random() * 100),
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static get schema() {
|
|
45
|
+
return z
|
|
46
|
+
.object({
|
|
47
|
+
blockNumber: schemas.Integer,
|
|
48
|
+
txIndex: schemas.Integer,
|
|
49
|
+
logIndex: schemas.Integer,
|
|
50
|
+
})
|
|
51
|
+
.transform(({ blockNumber, txIndex, logIndex }) => new LogId(blockNumber, txIndex, logIndex));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Serializes log id to a buffer.
|
|
56
|
+
* @returns A buffer containing the serialized log id.
|
|
57
|
+
*/
|
|
58
|
+
public toBuffer(): Buffer {
|
|
59
|
+
return Buffer.concat([
|
|
60
|
+
toBufferBE(BigInt(this.blockNumber), 4),
|
|
61
|
+
toBufferBE(BigInt(this.txIndex), 4),
|
|
62
|
+
toBufferBE(BigInt(this.logIndex), 4),
|
|
63
|
+
]);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Creates a LogId from a buffer.
|
|
68
|
+
* @param buffer - A buffer containing the serialized log id.
|
|
69
|
+
* @returns A log id.
|
|
70
|
+
*/
|
|
71
|
+
static fromBuffer(buffer: Buffer | BufferReader): LogId {
|
|
72
|
+
const reader = BufferReader.asReader(buffer);
|
|
73
|
+
|
|
74
|
+
const blockNumber = reader.readNumber();
|
|
75
|
+
const txIndex = reader.readNumber();
|
|
76
|
+
const logIndex = reader.readNumber();
|
|
77
|
+
|
|
78
|
+
return new LogId(blockNumber, txIndex, logIndex);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Converts the LogId instance to a string.
|
|
83
|
+
* @returns A string representation of the log id.
|
|
84
|
+
*/
|
|
85
|
+
public toString(): string {
|
|
86
|
+
return `${this.blockNumber}-${this.txIndex}-${this.logIndex}`;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Creates a LogId from a string.
|
|
91
|
+
* @param data - A string representation of a log id.
|
|
92
|
+
* @returns A log id.
|
|
93
|
+
*/
|
|
94
|
+
static fromString(data: string): LogId {
|
|
95
|
+
const [rawBlockNumber, rawTxIndex, rawLogIndex] = data.split('-');
|
|
96
|
+
const blockNumber = Number(rawBlockNumber);
|
|
97
|
+
const txIndex = Number(rawTxIndex);
|
|
98
|
+
const logIndex = Number(rawLogIndex);
|
|
99
|
+
|
|
100
|
+
return new LogId(blockNumber, txIndex, logIndex);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Serializes log id to a human readable string.
|
|
105
|
+
* @returns A human readable representation of the log id.
|
|
106
|
+
*/
|
|
107
|
+
public toHumanReadable(): string {
|
|
108
|
+
return `logId: (blockNumber: ${this.blockNumber}, txIndex: ${this.txIndex}, logIndex: ${this.logIndex})`;
|
|
109
|
+
}
|
|
110
|
+
}
|