@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-manual.20251030
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +8 -8
- package/dest/abi/abi.js +1 -1
- package/dest/abi/contract_artifact.js +3 -0
- package/dest/abi/event_metadata_definition.d.ts +8 -0
- package/dest/abi/event_metadata_definition.d.ts.map +1 -0
- package/dest/abi/event_metadata_definition.js +1 -0
- package/dest/abi/function_call.d.ts +7 -2
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +6 -2
- package/dest/abi/index.d.ts +1 -0
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/avm/avm.d.ts +132 -73
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +10 -6
- package/dest/avm/avm_accumulated_data.d.ts +10 -21
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +19 -22
- package/dest/avm/avm_circuit_public_inputs.d.ts +30 -13
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +17 -6
- package/dest/avm/avm_proving_request.d.ts +96 -48
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/avm/index.d.ts +1 -1
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +1 -1
- package/dest/avm/message_pack.d.ts +1 -0
- package/dest/avm/message_pack.d.ts.map +1 -1
- package/dest/avm/message_pack.js +28 -5
- package/dest/block/attestation_info.d.ts +30 -0
- package/dest/block/attestation_info.d.ts.map +1 -0
- package/dest/block/attestation_info.js +39 -0
- package/dest/block/body.d.ts +4 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +17 -15
- package/dest/block/in_block.d.ts +5 -5
- package/dest/block/in_block.d.ts.map +1 -1
- package/dest/block/index.d.ts +4 -0
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +4 -0
- package/dest/block/l2_block.d.ts +21 -13
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +33 -10
- package/dest/block/l2_block_code_to_purge.d.ts +3 -14
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +23 -13
- package/dest/block/l2_block_header.d.ts +100 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +146 -0
- package/dest/block/l2_block_info.d.ts +41 -0
- package/dest/block/l2_block_info.d.ts.map +1 -0
- package/dest/block/l2_block_info.js +40 -0
- package/dest/block/l2_block_source.d.ts +35 -433
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +0 -28
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
- package/dest/block/proposal/attestations_and_signers.d.ts +48 -0
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
- package/dest/block/proposal/attestations_and_signers.js +99 -0
- package/dest/block/proposal/index.d.ts +1 -0
- package/dest/block/proposal/index.d.ts.map +1 -1
- package/dest/block/proposal/index.js +1 -0
- package/dest/block/published_l2_block.d.ts +27 -5
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +20 -7
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +3 -4
- package/dest/block/validate_block_result.d.ts +222 -0
- package/dest/block/validate_block_result.d.ts.map +1 -0
- package/dest/block/validate_block_result.js +83 -0
- package/dest/checkpoint/checkpoint_body.d.ts +4 -0
- package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_body.js +9 -0
- package/dest/checkpoint/index.d.ts +2 -0
- package/dest/checkpoint/index.d.ts.map +1 -0
- package/dest/checkpoint/index.js +1 -0
- package/dest/config/node-rpc-config.d.ts +2 -0
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +6 -0
- package/dest/contract/contract_address.d.ts +1 -1
- package/dest/contract/contract_address.js +1 -1
- package/dest/contract/contract_class_metadata.d.ts +8 -0
- package/dest/contract/contract_class_metadata.d.ts.map +1 -0
- package/dest/contract/contract_class_metadata.js +1 -0
- package/dest/contract/contract_instance.d.ts +9 -8
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +1 -2
- package/dest/contract/contract_metadata.d.ts +7 -0
- package/dest/contract/contract_metadata.d.ts.map +1 -0
- package/dest/contract/contract_metadata.js +1 -0
- package/dest/contract/index.d.ts +2 -0
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +2 -0
- package/dest/contract/interfaces/contract_class.d.ts +4 -4
- package/dest/contract/interfaces/contract_instance.d.ts +2 -2
- package/dest/epoch-helpers/index.d.ts +8 -2
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +9 -0
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/fees/transaction_fee.js +3 -0
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +18 -0
- package/dest/file-store/interface.d.ts +8 -2
- package/dest/file-store/interface.d.ts.map +1 -1
- package/dest/file-store/s3.d.ts +26 -0
- package/dest/file-store/s3.d.ts.map +1 -0
- package/dest/file-store/s3.js +252 -0
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +0 -3
- package/dest/interfaces/archiver.d.ts +43 -0
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +20 -4
- package/dest/interfaces/aztec-node-admin.d.ts +87 -40
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +7 -1
- package/dest/interfaces/aztec-node.d.ts +35 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +8 -1
- package/dest/interfaces/block-builder.d.ts +7 -8
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/client.d.ts +0 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +0 -1
- package/dest/interfaces/configs.d.ts +10 -0
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -1
- package/dest/interfaces/epoch-prover.d.ts +29 -12
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +5 -0
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +2 -0
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +2 -1
- package/dest/interfaces/private_kernel_prover.d.ts +2 -2
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +349 -200
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +131 -113
- package/dest/interfaces/server.d.ts +1 -0
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +1 -0
- package/dest/interfaces/server_circuit_prover.d.ts +34 -34
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/slasher.d.ts +4 -0
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +1 -0
- package/dest/interfaces/tx_provider.d.ts +1 -1
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +163 -0
- package/dest/interfaces/validator.d.ts.map +1 -0
- package/dest/interfaces/validator.js +18 -0
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -2
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -3
- package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/nullifier.d.ts +2 -2
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +11 -11
- package/dest/kernel/private_call_data.d.ts +4 -24
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +4 -16
- package/dest/kernel/private_circuit_public_inputs.d.ts +5 -5
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +3 -3
- package/dest/kernel/private_kernel_data.js +2 -2
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +5 -4
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
- package/dest/kernel/private_kernel_prover_output.d.ts +4 -4
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
- package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
- package/dest/keys/derivation.d.ts +0 -2
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +3 -24
- package/dest/logs/contract_class_log.d.ts +1 -1
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +1 -3
- package/dest/logs/debug_log.d.ts +13 -0
- package/dest/logs/debug_log.d.ts.map +1 -0
- package/dest/logs/debug_log.js +26 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
- package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/directional_app_tagging_secret.js +63 -0
- package/dest/logs/index.d.ts +3 -1
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +3 -1
- package/dest/logs/log_with_tx_data.d.ts +9 -12
- package/dest/logs/log_with_tx_data.d.ts.map +1 -1
- package/dest/logs/log_with_tx_data.js +18 -23
- package/dest/logs/pre_tag.d.ts +34 -0
- package/dest/logs/pre_tag.d.ts.map +1 -0
- package/dest/logs/pre_tag.js +7 -0
- package/dest/logs/public_log.d.ts +23 -10
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +117 -42
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +2 -4
- package/dest/messaging/inbox_leaf.d.ts +2 -0
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/inbox_leaf.js +3 -0
- package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +16 -18
- package/dest/noir/index.d.ts +11 -0
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -1
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +1 -1
- package/dest/note/notes_filter.d.ts +0 -5
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/note/notes_filter.js +0 -3
- package/dest/note/unique_note.d.ts +43 -0
- package/dest/note/unique_note.d.ts.map +1 -0
- package/dest/note/{extended_note.js → unique_note.js} +9 -48
- package/dest/p2p/block_attestation.d.ts +45 -9
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +37 -15
- package/dest/p2p/block_proposal.d.ts +7 -9
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +13 -14
- package/dest/p2p/consensus_payload.d.ts +35 -6
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +21 -8
- package/dest/p2p/gossipable.d.ts +6 -16
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +9 -21
- package/dest/p2p/signature_utils.d.ts +2 -1
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +1 -0
- package/dest/p2p/topic_type.d.ts +4 -8
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +14 -8
- package/dest/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
- package/dest/parity/parity_root_private_inputs.d.ts +39 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/chonk_proof.d.ts +28 -0
- package/dest/proofs/chonk_proof.d.ts.map +1 -0
- package/dest/proofs/chonk_proof.js +101 -0
- package/dest/proofs/index.d.ts +2 -1
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +2 -1
- package/dest/proofs/proof_data.d.ts +21 -0
- package/dest/proofs/proof_data.d.ts.map +1 -0
- package/dest/proofs/proof_data.js +22 -0
- package/dest/proofs/proving_request_type.d.ts +17 -13
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +17 -12
- package/dest/rollup/avm_proof_data.d.ts +2 -12
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +0 -24
- package/dest/rollup/base_rollup_hints.d.ts +17 -17
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +26 -26
- package/dest/rollup/block_constant_data.d.ts +24 -10
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +18 -10
- package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +85 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
- package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +55 -0
- package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -11
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +14 -8
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
- package/dest/rollup/epoch_constant_data.d.ts +23 -6
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +25 -12
- package/dest/rollup/index.d.ts +17 -16
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +17 -16
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_public_inputs.js +71 -0
- package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
- package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
- package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
- package/dest/slashing/types.d.ts +1 -0
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +22 -0
- package/dest/snapshots/download.d.ts.map +1 -1
- package/dest/snapshots/download.js +58 -2
- package/dest/snapshots/upload.d.ts.map +1 -1
- package/dest/snapshots/upload.js +1 -0
- package/dest/stats/stats.d.ts +3 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +43 -75
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +149 -171
- package/dest/tests/mocks.d.ts +16 -10
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +55 -33
- package/dest/trees/index.d.ts +0 -1
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +0 -1
- package/dest/trees/merkle_tree_id.d.ts +4 -4
- package/dest/trees/nullifier_membership_witness.d.ts +3 -3
- package/dest/tx/block_header.d.ts +12 -13
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +16 -21
- package/dest/tx/content_commitment.d.ts +1 -0
- package/dest/tx/content_commitment.d.ts.map +1 -1
- package/dest/tx/content_commitment.js +3 -0
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +0 -1
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +2 -1
- package/dest/tx/indexed_tx_effect.d.ts +3 -3
- package/dest/tx/partial_state_reference.d.ts +1 -0
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +3 -0
- package/dest/tx/private_execution_result.d.ts +7 -2
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +10 -6
- package/dest/tx/private_tx_constant_data.d.ts +60 -0
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
- package/dest/tx/private_tx_constant_data.js +69 -0
- package/dest/tx/processed_tx.d.ts +2 -3
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +3 -8
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +0 -2
- package/dest/tx/protocol_contracts.d.ts +29 -0
- package/dest/tx/protocol_contracts.d.ts.map +1 -0
- package/dest/tx/protocol_contracts.js +49 -0
- package/dest/tx/proven_tx.d.ts +7 -7
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +8 -8
- package/dest/tx/simulated_tx.d.ts +3 -3
- package/dest/tx/simulated_tx.js +2 -2
- package/dest/tx/state_reference.d.ts +1 -0
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +4 -1
- package/dest/tx/tx.d.ts +9 -12
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +21 -22
- package/dest/tx/tx_constant_data.d.ts +6 -38
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +11 -20
- package/dest/tx/tx_effect.d.ts +3 -36
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +63 -202
- package/dest/tx/validator/error_texts.d.ts +1 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -1
- package/dest/update-checker/update-checker.d.ts +1 -1
- package/dest/update-checker/update-checker.d.ts.map +1 -1
- package/dest/update-checker/update-checker.js +1 -1
- package/dest/validators/schemas.d.ts +42 -4
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +5 -4
- package/dest/validators/types.d.ts +8 -10
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +2 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +18 -13
- package/dest/world-state/index.d.ts +2 -0
- package/dest/world-state/index.d.ts.map +1 -0
- package/dest/world-state/index.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +22 -0
- package/dest/world-state/world_state_revision.d.ts.map +1 -0
- package/dest/world-state/world_state_revision.js +21 -0
- package/dest/zkpassport/index.d.ts +17 -11
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +21 -15
- package/package.json +15 -11
- package/src/abi/abi.ts +1 -1
- package/src/abi/contract_artifact.ts +3 -0
- package/src/abi/event_metadata_definition.ts +8 -0
- package/src/abi/function_call.ts +5 -1
- package/src/abi/index.ts +1 -0
- package/src/avm/avm.ts +15 -7
- package/src/avm/avm_accumulated_data.ts +25 -29
- package/src/avm/avm_circuit_public_inputs.ts +21 -0
- package/src/avm/index.ts +1 -1
- package/src/avm/message_pack.ts +25 -1
- package/src/block/attestation_info.ts +62 -0
- package/src/block/body.ts +25 -23
- package/src/block/index.ts +4 -0
- package/src/block/l2_block.ts +39 -19
- package/src/block/l2_block_code_to_purge.ts +30 -31
- package/src/block/l2_block_header.ts +232 -0
- package/src/block/l2_block_info.ts +63 -0
- package/src/block/l2_block_source.ts +38 -56
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
- package/src/block/proposal/attestations_and_signers.ts +121 -0
- package/src/block/proposal/index.ts +1 -0
- package/src/block/published_l2_block.ts +37 -15
- package/src/block/test/l2_tips_store_test_suite.ts +7 -7
- package/src/block/validate_block_result.ts +122 -0
- package/src/checkpoint/checkpoint_body.ts +10 -0
- package/src/checkpoint/index.ts +1 -0
- package/src/config/node-rpc-config.ts +9 -0
- package/src/contract/contract_address.ts +1 -1
- package/src/contract/contract_class_metadata.ts +8 -0
- package/src/contract/contract_instance.ts +11 -10
- package/src/contract/contract_metadata.ts +7 -0
- package/src/contract/index.ts +2 -0
- package/src/contract/interfaces/contract_class.ts +1 -1
- package/src/epoch-helpers/index.ts +24 -2
- package/src/fees/transaction_fee.ts +11 -0
- package/src/file-store/factory.ts +15 -0
- package/src/file-store/interface.ts +8 -2
- package/src/file-store/s3.ts +254 -0
- package/src/hash/hash.ts +0 -4
- package/src/interfaces/archiver.ts +49 -4
- package/src/interfaces/aztec-node-admin.ts +17 -1
- package/src/interfaces/aztec-node.ts +53 -2
- package/src/interfaces/block-builder.ts +11 -12
- package/src/interfaces/client.ts +0 -1
- package/src/interfaces/configs.ts +6 -0
- package/src/interfaces/epoch-prover.ts +38 -14
- package/src/interfaces/merkle_tree_operations.ts +6 -0
- package/src/interfaces/p2p.ts +4 -0
- package/src/interfaces/private_kernel_prover.ts +2 -2
- package/src/interfaces/proving-job.ts +218 -134
- package/src/interfaces/server.ts +1 -0
- package/src/interfaces/server_circuit_prover.ts +89 -61
- package/src/interfaces/slasher.ts +2 -0
- package/src/interfaces/tx_provider.ts +1 -0
- package/src/interfaces/validator.ts +95 -0
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
- package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
- package/src/kernel/nullifier.ts +8 -8
- package/src/kernel/private_call_data.ts +2 -21
- package/src/kernel/private_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_context_inputs.ts +2 -2
- package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
- package/src/kernel/private_kernel_data.ts +2 -2
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
- package/src/kernel/private_kernel_prover_output.ts +4 -4
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
- package/src/keys/derivation.ts +3 -29
- package/src/logs/contract_class_log.ts +2 -3
- package/src/logs/debug_log.ts +32 -0
- package/src/logs/directional_app_tagging_secret.ts +77 -0
- package/src/logs/index.ts +3 -1
- package/src/logs/log_with_tx_data.ts +14 -24
- package/src/logs/pre_tag.ts +25 -0
- package/src/logs/public_log.ts +120 -58
- package/src/logs/shared_secret_derivation.ts +2 -4
- package/src/messaging/inbox_leaf.ts +5 -0
- package/src/messaging/l2_to_l1_membership.ts +20 -26
- package/src/noir/index.ts +11 -0
- package/src/note/index.ts +1 -1
- package/src/note/notes_filter.ts +0 -7
- package/src/note/{extended_note.ts → unique_note.ts} +14 -75
- package/src/p2p/block_attestation.ts +46 -15
- package/src/p2p/block_proposal.ts +15 -18
- package/src/p2p/consensus_payload.ts +30 -10
- package/src/p2p/gossipable.ts +10 -28
- package/src/p2p/signature_utils.ts +1 -0
- package/src/p2p/topic_type.ts +15 -8
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/chonk_proof.ts +118 -0
- package/src/proofs/index.ts +2 -1
- package/src/proofs/proof_data.ts +36 -0
- package/src/proofs/proving_request_type.ts +14 -10
- package/src/rollup/avm_proof_data.ts +2 -31
- package/src/rollup/base_rollup_hints.ts +22 -22
- package/src/rollup/block_constant_data.ts +16 -6
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
- package/src/rollup/block_rollup_public_inputs.ts +123 -0
- package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
- package/src/rollup/checkpoint_constant_data.ts +84 -0
- package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +40 -15
- package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
- package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
- package/src/rollup/epoch_constant_data.ts +28 -10
- package/src/rollup/index.ts +17 -16
- package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
- package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
- package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/root_rollup_public_inputs.ts +99 -0
- package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
- package/src/slashing/types.ts +23 -0
- package/src/snapshots/download.ts +66 -2
- package/src/snapshots/upload.ts +1 -0
- package/src/stats/stats.ts +21 -15
- package/src/tests/factories.ts +226 -283
- package/src/tests/mocks.ts +90 -60
- package/src/trees/index.ts +0 -1
- package/src/tx/block_header.ts +17 -32
- package/src/tx/content_commitment.ts +4 -0
- package/src/tx/global_variables.ts +0 -1
- package/src/tx/index.ts +2 -1
- package/src/tx/partial_state_reference.ts +8 -0
- package/src/tx/private_execution_result.ts +9 -3
- package/src/tx/private_tx_constant_data.ts +94 -0
- package/src/tx/processed_tx.ts +5 -11
- package/src/tx/profiling.ts +0 -2
- package/src/tx/protocol_contracts.ts +70 -0
- package/src/tx/proven_tx.ts +6 -6
- package/src/tx/simulated_tx.ts +2 -2
- package/src/tx/state_reference.ts +5 -1
- package/src/tx/tx.ts +21 -22
- package/src/tx/tx_constant_data.ts +8 -21
- package/src/tx/tx_effect.ts +64 -213
- package/src/tx/validator/error_texts.ts +1 -1
- package/src/update-checker/update-checker.ts +1 -1
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +9 -10
- package/src/versioning/versioning.ts +20 -15
- package/src/world-state/index.ts +1 -0
- package/src/world-state/world_state_revision.ts +21 -0
- package/src/zkpassport/index.ts +42 -30
- package/dest/avm/public_data_hint.d.ts +0 -16
- package/dest/avm/public_data_hint.d.ts.map +0 -1
- package/dest/avm/public_data_hint.js +0 -27
- package/dest/interfaces/pxe.d.ts +0 -329
- package/dest/interfaces/pxe.d.ts.map +0 -1
- package/dest/interfaces/pxe.js +0 -100
- package/dest/logs/indexed_tagging_secret.d.ts +0 -28
- package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
- package/dest/logs/indexed_tagging_secret.js +0 -50
- package/dest/note/extended_note.d.ts +0 -111
- package/dest/note/extended_note.d.ts.map +0 -1
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -52
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -37
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.d.ts +0 -18
- package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
- package/dest/proofs/client_ivc_proof.js +0 -41
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
- package/dest/rollup/block_root_rollup.d.ts +0 -283
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.js +0 -306
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -37
- package/dest/rollup/previous_rollup_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -37
- package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/private_base_rollup_inputs.js +0 -44
- package/dest/rollup/private_tube_data.d.ts +0 -15
- package/dest/rollup/private_tube_data.d.ts.map +0 -1
- package/dest/rollup/private_tube_data.js +0 -25
- package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.js +0 -48
- package/dest/rollup/public_tube_data.d.ts +0 -15
- package/dest/rollup/public_tube_data.d.ts.map +0 -1
- package/dest/rollup/public_tube_data.js +0 -25
- package/dest/rollup/root_rollup.d.ts +0 -106
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/dest/rollup/root_rollup.js +0 -147
- package/dest/rollup/state_diff_hints.d.ts.map +0 -1
- package/dest/rollup/state_diff_hints.js +0 -85
- package/dest/rollup/tube_inputs.d.ts +0 -43
- package/dest/rollup/tube_inputs.d.ts.map +0 -1
- package/dest/rollup/tube_inputs.js +0 -63
- package/dest/trees/protocol_contract_leaf.d.ts +0 -84
- package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
- package/dest/trees/protocol_contract_leaf.js +0 -100
- package/dest/tx/proposed_block_header.d.ts.map +0 -1
- package/src/avm/public_data_hint.ts +0 -38
- package/src/interfaces/pxe.ts +0 -532
- package/src/logs/indexed_tagging_secret.ts +0 -48
- package/src/parity/root_parity_input.ts +0 -71
- package/src/proofs/client_ivc_proof.ts +0 -51
- package/src/rollup/block_root_rollup.ts +0 -380
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
- package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
- package/src/rollup/previous_rollup_block_data.ts +0 -48
- package/src/rollup/previous_rollup_data.ts +0 -48
- package/src/rollup/private_base_rollup_inputs.ts +0 -53
- package/src/rollup/private_tube_data.ts +0 -35
- package/src/rollup/public_base_rollup_inputs.ts +0 -59
- package/src/rollup/public_tube_data.ts +0 -35
- package/src/rollup/root_rollup.ts +0 -195
- package/src/rollup/tube_inputs.ts +0 -77
- package/src/trees/protocol_contract_leaf.ts +0 -128
|
@@ -4,7 +4,8 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
4
4
|
import { hexToBuffer } from '@aztec/foundation/string';
|
|
5
5
|
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
6
6
|
import { z } from 'zod';
|
|
7
|
-
import {
|
|
7
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
8
|
+
import { StateReference } from '../tx/state_reference.js';
|
|
8
9
|
export class ConsensusPayload {
|
|
9
10
|
header;
|
|
10
11
|
archive;
|
|
@@ -17,7 +18,7 @@ export class ConsensusPayload {
|
|
|
17
18
|
}
|
|
18
19
|
static get schema() {
|
|
19
20
|
return z.object({
|
|
20
|
-
header:
|
|
21
|
+
header: CheckpointHeader.schema,
|
|
21
22
|
archive: schemas.Fr,
|
|
22
23
|
stateReference: StateReference.schema
|
|
23
24
|
}).transform((obj)=>new ConsensusPayload(obj.header, obj.archive, obj.stateReference));
|
|
@@ -53,26 +54,31 @@ export class ConsensusPayload {
|
|
|
53
54
|
return hexToBuffer(encodedData);
|
|
54
55
|
}
|
|
55
56
|
toBuffer() {
|
|
56
|
-
|
|
57
|
+
return serializeToBuffer([
|
|
57
58
|
this.header,
|
|
58
59
|
this.archive,
|
|
59
60
|
this.stateReference
|
|
60
61
|
]);
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
}
|
|
63
|
+
equals(other) {
|
|
64
|
+
return this.header.equals(other.header) && this.archive.equals(other.archive) && this.stateReference.equals(other.stateReference);
|
|
63
65
|
}
|
|
64
66
|
static fromBuffer(buf) {
|
|
65
67
|
const reader = BufferReader.asReader(buf);
|
|
66
|
-
|
|
68
|
+
const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr), reader.readObject(StateReference));
|
|
69
|
+
return payload;
|
|
67
70
|
}
|
|
68
71
|
static fromFields(fields) {
|
|
69
72
|
return new ConsensusPayload(fields.header, fields.archive, fields.stateReference);
|
|
70
73
|
}
|
|
71
74
|
static fromBlock(block) {
|
|
72
|
-
return new ConsensusPayload(block.header.
|
|
75
|
+
return new ConsensusPayload(block.header.toCheckpointHeader(), block.archive.root, block.header.state);
|
|
73
76
|
}
|
|
74
77
|
static empty() {
|
|
75
|
-
return new ConsensusPayload(
|
|
78
|
+
return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, StateReference.empty());
|
|
79
|
+
}
|
|
80
|
+
static random() {
|
|
81
|
+
return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), StateReference.random());
|
|
76
82
|
}
|
|
77
83
|
/**
|
|
78
84
|
* Get the size of the consensus payload in bytes.
|
|
@@ -85,6 +91,13 @@ export class ConsensusPayload {
|
|
|
85
91
|
this.size = this.toBuffer().length;
|
|
86
92
|
return this.size;
|
|
87
93
|
}
|
|
94
|
+
toInspect() {
|
|
95
|
+
return {
|
|
96
|
+
header: this.header.toInspect(),
|
|
97
|
+
archive: this.archive.toString(),
|
|
98
|
+
stateReference: this.stateReference.toInspect()
|
|
99
|
+
};
|
|
100
|
+
}
|
|
88
101
|
toString() {
|
|
89
102
|
return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, stateReference: ${this.stateReference.l1ToL2MessageTree.root.toString()}`;
|
|
90
103
|
}
|
package/dest/p2p/gossipable.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
2
|
import type { TopicType } from './topic_type.js';
|
|
3
3
|
export declare class P2PMessage {
|
|
4
|
-
readonly publishTime: Date;
|
|
5
|
-
readonly id: Buffer32;
|
|
6
4
|
readonly payload: Buffer;
|
|
7
|
-
constructor(
|
|
8
|
-
static fromGossipable(message: Gossipable):
|
|
5
|
+
constructor(payload: Buffer);
|
|
6
|
+
static fromGossipable(message: Gossipable): P2PMessage;
|
|
9
7
|
static fromMessageData(messageData: Buffer): P2PMessage;
|
|
10
8
|
toMessageData(): Buffer;
|
|
11
9
|
}
|
|
@@ -16,26 +14,18 @@ export declare class P2PMessage {
|
|
|
16
14
|
*/
|
|
17
15
|
export declare abstract class Gossipable {
|
|
18
16
|
private cachedId;
|
|
19
|
-
/** p2p
|
|
20
|
-
*
|
|
21
|
-
* - The p2p topic identifier, this determines how the message is handled
|
|
22
|
-
*/
|
|
17
|
+
/** The p2p topic identifier, this determines how the message is handled */
|
|
23
18
|
static p2pTopic: TopicType;
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
19
|
+
/**
|
|
20
|
+
* A digest of the message information **used for logging only**.
|
|
21
|
+
* The identifier used for deduplication is `getMsgIdFn` as defined in `encoding.ts` which is a hash over topic and data.
|
|
27
22
|
*/
|
|
28
23
|
p2pMessageIdentifier(): Promise<Buffer32>;
|
|
29
24
|
abstract generateP2PMessageIdentifier(): Promise<Buffer32>;
|
|
30
|
-
/** To Buffer
|
|
31
|
-
*
|
|
32
|
-
* - Serialization method
|
|
33
|
-
*/
|
|
34
25
|
abstract toBuffer(): Buffer;
|
|
35
26
|
toMessage(): Buffer;
|
|
36
27
|
/**
|
|
37
28
|
* Get the size of the gossipable object.
|
|
38
|
-
*
|
|
39
29
|
* This is used for metrics recording.
|
|
40
30
|
*/
|
|
41
31
|
abstract getSize(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipable.d.ts","sourceRoot":"","sources":["../../src/p2p/gossipable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"gossipable.d.ts","sourceRoot":"","sources":["../../src/p2p/gossipable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;aACO,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAE3C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAItD,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;IAMvD,aAAa,IAAI,MAAM;CAGxB;AAED;;;;GAIG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAAuB;IACvC,2EAA2E;IAC3E,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE3B;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAQ/C,QAAQ,CAAC,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC;IAE1D,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,SAAS,IAAI,MAAM;IAInB;;;OAGG;IACH,QAAQ,CAAC,OAAO,IAAI,MAAM;CAC3B"}
|
package/dest/p2p/gossipable.js
CHANGED
|
@@ -1,28 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
1
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
2
|
export class P2PMessage {
|
|
4
|
-
publishTime;
|
|
5
|
-
id;
|
|
6
3
|
payload;
|
|
7
|
-
constructor(
|
|
8
|
-
this.publishTime = publishTime;
|
|
9
|
-
this.id = id;
|
|
4
|
+
constructor(payload){
|
|
10
5
|
this.payload = payload;
|
|
11
6
|
}
|
|
12
|
-
static
|
|
13
|
-
return new P2PMessage(
|
|
7
|
+
static fromGossipable(message) {
|
|
8
|
+
return new P2PMessage(message.toBuffer());
|
|
14
9
|
}
|
|
15
10
|
static fromMessageData(messageData) {
|
|
16
11
|
const reader = new BufferReader(messageData);
|
|
17
|
-
const publishTime = reader.readUInt64();
|
|
18
|
-
const id = Buffer32.fromBuffer(reader);
|
|
19
12
|
const payload = reader.readBuffer();
|
|
20
|
-
return new P2PMessage(
|
|
13
|
+
return new P2PMessage(payload);
|
|
21
14
|
}
|
|
22
15
|
toMessageData() {
|
|
23
16
|
return serializeToBuffer([
|
|
24
|
-
bigintToUInt64BE(BigInt(this.publishTime.getTime())),
|
|
25
|
-
this.id,
|
|
26
17
|
serializeToBuffer(this.payload.length, this.payload)
|
|
27
18
|
]);
|
|
28
19
|
}
|
|
@@ -33,13 +24,10 @@ export class P2PMessage {
|
|
|
33
24
|
* Any class which extends gossipable will be able to be Gossiped over the p2p network
|
|
34
25
|
*/ export class Gossipable {
|
|
35
26
|
cachedId;
|
|
36
|
-
/** p2p
|
|
37
|
-
|
|
38
|
-
*
|
|
39
|
-
|
|
40
|
-
/** p2p Message Identifier
|
|
41
|
-
*
|
|
42
|
-
* - A digest of the message information, this key is used for deduplication
|
|
27
|
+
/** The p2p topic identifier, this determines how the message is handled */ static p2pTopic;
|
|
28
|
+
/**
|
|
29
|
+
* A digest of the message information **used for logging only**.
|
|
30
|
+
* The identifier used for deduplication is `getMsgIdFn` as defined in `encoding.ts` which is a hash over topic and data.
|
|
43
31
|
*/ async p2pMessageIdentifier() {
|
|
44
32
|
if (this.cachedId) {
|
|
45
33
|
return this.cachedId;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
2
|
export declare enum SignatureDomainSeparator {
|
|
3
3
|
blockProposal = 0,
|
|
4
|
-
blockAttestation = 1
|
|
4
|
+
blockAttestation = 1,
|
|
5
|
+
attestationsAndSigners = 2
|
|
5
6
|
}
|
|
6
7
|
export interface Signable {
|
|
7
8
|
getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/signature_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,oBAAY,wBAAwB;IAClC,aAAa,IAAI;IACjB,gBAAgB,IAAI;
|
|
1
|
+
{"version":3,"file":"signature_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/signature_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,oBAAY,wBAAwB;IAClC,aAAa,IAAI;IACjB,gBAAgB,IAAI;IACpB,sBAAsB,IAAI;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAAC;CACrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,wBAAwB,GAAG,QAAQ,CAE1G;AAED;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,CAAC,EAAE,QAAQ,EACX,eAAe,EAAE,wBAAwB,GACxC,QAAQ,CAGV"}
|
|
@@ -3,6 +3,7 @@ import { keccak256, makeEthSignDigest } from '@aztec/foundation/crypto';
|
|
|
3
3
|
export var SignatureDomainSeparator = /*#__PURE__*/ function(SignatureDomainSeparator) {
|
|
4
4
|
SignatureDomainSeparator[SignatureDomainSeparator["blockProposal"] = 0] = "blockProposal";
|
|
5
5
|
SignatureDomainSeparator[SignatureDomainSeparator["blockAttestation"] = 1] = "blockAttestation";
|
|
6
|
+
SignatureDomainSeparator[SignatureDomainSeparator["attestationsAndSigners"] = 2] = "attestationsAndSigners";
|
|
6
7
|
return SignatureDomainSeparator;
|
|
7
8
|
}({});
|
|
8
9
|
/**
|
package/dest/p2p/topic_type.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { P2PClientType } from './client_type.js';
|
|
2
|
-
/** Create Topic String
|
|
3
|
-
*
|
|
4
|
-
* The topic channel identifier
|
|
5
|
-
* @param topicType
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export declare function createTopicString(topicType: TopicType, protocolVersion: string): string;
|
|
9
2
|
/**
|
|
10
|
-
*
|
|
3
|
+
* Creates the topic channel identifier string from a given topic type
|
|
11
4
|
*/
|
|
5
|
+
export declare function createTopicString(topicType: TopicType, protocolVersion: string): string;
|
|
6
|
+
/** Extracts the topic type from a topic string */
|
|
7
|
+
export declare function getTopicFromString(topicStr: string): TopicType | undefined;
|
|
12
8
|
export declare enum TopicType {
|
|
13
9
|
tx = "tx",
|
|
14
10
|
block_proposal = "block_proposal",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic_type.d.ts","sourceRoot":"","sources":["../../src/p2p/topic_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"topic_type.d.ts","sourceRoot":"","sources":["../../src/p2p/topic_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAE9E;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU1E;AAED,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;CACxC;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,aAAa,eASlE;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,eAMlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,uBAO9D"}
|
package/dest/p2p/topic_type.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { P2PClientType } from './client_type.js';
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* The topic channel identifier
|
|
5
|
-
* @param topicType
|
|
6
|
-
* @returns
|
|
2
|
+
/**
|
|
3
|
+
* Creates the topic channel identifier string from a given topic type
|
|
7
4
|
*/ export function createTopicString(topicType, protocolVersion) {
|
|
8
5
|
return `/aztec/${TopicType[topicType]}/${protocolVersion}`;
|
|
9
6
|
}
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
/** Extracts the topic type from a topic string */ export function getTopicFromString(topicStr) {
|
|
8
|
+
const parts = topicStr.split('/');
|
|
9
|
+
if (parts.length < 4 || parts[1] !== 'aztec') {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
const topic = parts[2];
|
|
13
|
+
if (Object.values(TopicType).includes(topic)) {
|
|
14
|
+
return topic;
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
export var TopicType = /*#__PURE__*/ function(TopicType) {
|
|
13
19
|
TopicType["tx"] = "tx";
|
|
14
20
|
TopicType["block_proposal"] = "block_proposal";
|
|
15
21
|
TopicType["block_attestation"] = "block_attestation";
|
package/dest/parity/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './parity_base_private_inputs.js';
|
|
2
2
|
export * from './parity_public_inputs.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './root_parity_inputs.js';
|
|
3
|
+
export * from './parity_root_private_inputs.js';
|
|
5
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parity/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parity/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC"}
|
package/dest/parity/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './parity_base_private_inputs.js';
|
|
2
2
|
export * from './parity_public_inputs.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './root_parity_inputs.js';
|
|
3
|
+
export * from './parity_root_private_inputs.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class ParityBasePrivateInputs {
|
|
5
5
|
/** Aggregated proof of all the parity circuit iterations. */
|
|
6
6
|
readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>;
|
|
7
7
|
/** Root of the VK tree */
|
|
@@ -11,7 +11,7 @@ export declare class BaseParityInputs {
|
|
|
11
11
|
msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
|
|
12
12
|
/** Root of the VK tree */
|
|
13
13
|
vkTreeRoot: Fr);
|
|
14
|
-
static fromSlice(array:
|
|
14
|
+
static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr): ParityBasePrivateInputs;
|
|
15
15
|
/** Serializes the inputs to a buffer. */
|
|
16
16
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
17
17
|
/** Serializes the inputs to a hex string. */
|
|
@@ -20,16 +20,16 @@ export declare class BaseParityInputs {
|
|
|
20
20
|
* Deserializes the inputs from a buffer.
|
|
21
21
|
* @param buffer - The buffer to deserialize from.
|
|
22
22
|
*/
|
|
23
|
-
static fromBuffer(buffer: Buffer | BufferReader):
|
|
23
|
+
static fromBuffer(buffer: Buffer | BufferReader): ParityBasePrivateInputs;
|
|
24
24
|
/**
|
|
25
25
|
* Deserializes the inputs from a hex string.
|
|
26
26
|
* @param str - The hex string to deserialize from.
|
|
27
27
|
* @returns - The deserialized inputs.
|
|
28
28
|
*/
|
|
29
|
-
static fromString(str: string):
|
|
29
|
+
static fromString(str: string): ParityBasePrivateInputs;
|
|
30
30
|
/** Returns a buffer representation for JSON serialization. */
|
|
31
31
|
toJSON(): Buffer<ArrayBufferLike>;
|
|
32
32
|
/** Creates an instance from a hex string. */
|
|
33
|
-
static get schema(): import("zod").ZodType<
|
|
33
|
+
static get schema(): import("zod").ZodType<ParityBasePrivateInputs, any, string>;
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=parity_base_private_inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parity_base_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_base_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,qBAAa,uBAAuB;IAEhC,6DAA6D;aAC7C,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAChE,0BAA0B;aACV,UAAU,EAAE,EAAE;;IAH9B,6DAA6D;IAC7C,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAChE,0BAA0B;IACV,UAAU,EAAE,EAAE;WAGlB,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,uBAAuB;IAa5F,yCAAyC;IACzC,QAAQ;IAIR,6CAA6C;IAC7C,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,gEAEhB;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
|
|
1
|
+
import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
|
-
export class
|
|
6
|
+
export class ParityBasePrivateInputs {
|
|
7
7
|
msgs;
|
|
8
8
|
vkTreeRoot;
|
|
9
9
|
constructor(/** Aggregated proof of all the parity circuit iterations. */ msgs, /** Root of the VK tree */ vkTreeRoot){
|
|
@@ -11,10 +11,14 @@ export class BaseParityInputs {
|
|
|
11
11
|
this.vkTreeRoot = vkTreeRoot;
|
|
12
12
|
}
|
|
13
13
|
static fromSlice(array, index, vkTreeRoot) {
|
|
14
|
+
// Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
|
|
15
|
+
if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
|
|
16
|
+
throw new Error(`Msgs array length must be NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP=${NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP}`);
|
|
17
|
+
}
|
|
14
18
|
const start = index * NUM_MSGS_PER_BASE_PARITY;
|
|
15
19
|
const end = start + NUM_MSGS_PER_BASE_PARITY;
|
|
16
20
|
const msgs = array.slice(start, end);
|
|
17
|
-
return new
|
|
21
|
+
return new ParityBasePrivateInputs(msgs, vkTreeRoot);
|
|
18
22
|
}
|
|
19
23
|
/** Serializes the inputs to a buffer. */ toBuffer() {
|
|
20
24
|
return serializeToBuffer(this.msgs, this.vkTreeRoot);
|
|
@@ -27,19 +31,19 @@ export class BaseParityInputs {
|
|
|
27
31
|
* @param buffer - The buffer to deserialize from.
|
|
28
32
|
*/ static fromBuffer(buffer) {
|
|
29
33
|
const reader = BufferReader.asReader(buffer);
|
|
30
|
-
return new
|
|
34
|
+
return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
37
|
* Deserializes the inputs from a hex string.
|
|
34
38
|
* @param str - The hex string to deserialize from.
|
|
35
39
|
* @returns - The deserialized inputs.
|
|
36
40
|
*/ static fromString(str) {
|
|
37
|
-
return
|
|
41
|
+
return ParityBasePrivateInputs.fromBuffer(hexToBuffer(str));
|
|
38
42
|
}
|
|
39
43
|
/** Returns a buffer representation for JSON serialization. */ toJSON() {
|
|
40
44
|
return this.toBuffer();
|
|
41
45
|
}
|
|
42
46
|
/** Creates an instance from a hex string. */ static get schema() {
|
|
43
|
-
return bufferSchemaFor(
|
|
47
|
+
return bufferSchemaFor(ParityBasePrivateInputs);
|
|
44
48
|
}
|
|
45
49
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
|
|
2
|
+
import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
|
|
3
|
+
import { type UltraHonkProofData } from '../proofs/proof_data.js';
|
|
4
|
+
import { ParityPublicInputs } from './parity_public_inputs.js';
|
|
5
|
+
export type ParityBaseProofData = UltraHonkProofData<ParityPublicInputs>;
|
|
6
|
+
export declare class ParityRootPrivateInputs {
|
|
7
|
+
/** Public inputs of the parity base circuits and their proofs and vk data. */
|
|
8
|
+
readonly children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>;
|
|
9
|
+
constructor(
|
|
10
|
+
/** Public inputs of the parity base circuits and their proofs and vk data. */
|
|
11
|
+
children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>);
|
|
12
|
+
/**
|
|
13
|
+
* Serializes the inputs to a buffer.
|
|
14
|
+
* @returns The inputs serialized to a buffer.
|
|
15
|
+
*/
|
|
16
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
17
|
+
/**
|
|
18
|
+
* Serializes the inputs to a hex string.
|
|
19
|
+
* @returns The instance serialized to a hex string.
|
|
20
|
+
*/
|
|
21
|
+
toString(): `0x${string}`;
|
|
22
|
+
/**
|
|
23
|
+
* Deserializes the inputs from a buffer.
|
|
24
|
+
* @param buffer - The buffer to deserialize from.
|
|
25
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
26
|
+
*/
|
|
27
|
+
static fromBuffer(buffer: Buffer | BufferReader): ParityRootPrivateInputs;
|
|
28
|
+
/**
|
|
29
|
+
* Deserializes the inputs from a hex string.
|
|
30
|
+
* @param str - A hex string to deserialize from.
|
|
31
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
32
|
+
*/
|
|
33
|
+
static fromString(str: string): ParityRootPrivateInputs;
|
|
34
|
+
/** Returns a buffer representation for JSON serialization. */
|
|
35
|
+
toJSON(): Buffer<ArrayBufferLike>;
|
|
36
|
+
/** Creates an instance from a hex string. */
|
|
37
|
+
static get schema(): import("zod").ZodType<ParityRootPrivateInputs, any, string>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=parity_root_private_inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parity_root_private_inputs.d.ts","sourceRoot":"","sources":["../../src/parity/parity_root_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AAEzE,qBAAa,uBAAuB;IAEhC,8EAA8E;aAC9D,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,+BAA+B,CAAC;;IAD5F,8EAA8E;IAC9D,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EAAE,OAAO,+BAA+B,CAAC;IAG9F;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAO/C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,gEAEhB;CACF"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import { NUM_BASE_PARITY_PER_ROOT_PARITY
|
|
1
|
+
import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
|
|
2
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
2
3
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
5
|
-
import {
|
|
6
|
-
|
|
6
|
+
import { ProofData } from '../proofs/proof_data.js';
|
|
7
|
+
import { ParityPublicInputs } from './parity_public_inputs.js';
|
|
8
|
+
export class ParityRootPrivateInputs {
|
|
7
9
|
children;
|
|
8
|
-
constructor(/** Public inputs of
|
|
10
|
+
constructor(/** Public inputs of the parity base circuits and their proofs and vk data. */ children){
|
|
9
11
|
this.children = children;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* Serializes the inputs to a buffer.
|
|
13
15
|
* @returns The inputs serialized to a buffer.
|
|
14
16
|
*/ toBuffer() {
|
|
15
|
-
return serializeToBuffer(
|
|
17
|
+
return serializeToBuffer(this.children);
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* Serializes the inputs to a hex string.
|
|
@@ -23,25 +25,22 @@ export class RootParityInputs {
|
|
|
23
25
|
/**
|
|
24
26
|
* Deserializes the inputs from a buffer.
|
|
25
27
|
* @param buffer - The buffer to deserialize from.
|
|
26
|
-
* @returns A new
|
|
28
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
27
29
|
*/ static fromBuffer(buffer) {
|
|
28
30
|
const reader = BufferReader.asReader(buffer);
|
|
29
|
-
|
|
30
|
-
length: NUM_BASE_PARITY_PER_ROOT_PARITY
|
|
31
|
-
}, ()=>RootParityInput.fromBuffer(reader, RECURSIVE_PROOF_LENGTH));
|
|
32
|
-
return new RootParityInputs(tuple);
|
|
31
|
+
return new ParityRootPrivateInputs(makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, ()=>ProofData.fromBuffer(reader, ParityPublicInputs)));
|
|
33
32
|
}
|
|
34
33
|
/**
|
|
35
34
|
* Deserializes the inputs from a hex string.
|
|
36
35
|
* @param str - A hex string to deserialize from.
|
|
37
|
-
* @returns A new
|
|
36
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
38
37
|
*/ static fromString(str) {
|
|
39
|
-
return
|
|
38
|
+
return ParityRootPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
40
39
|
}
|
|
41
40
|
/** Returns a buffer representation for JSON serialization. */ toJSON() {
|
|
42
41
|
return this.toBuffer();
|
|
43
42
|
}
|
|
44
43
|
/** Creates an instance from a hex string. */ static get schema() {
|
|
45
|
-
return bufferSchemaFor(
|
|
44
|
+
return bufferSchemaFor(ParityRootPrivateInputs);
|
|
46
45
|
}
|
|
47
46
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
|
+
export declare class ChonkProof {
|
|
4
|
+
fields: Fr[];
|
|
5
|
+
constructor(fields: Fr[]);
|
|
6
|
+
attachPublicInputs(publicInputs: Fr[]): ChonkProofWithPublicInputs;
|
|
7
|
+
isEmpty(): boolean;
|
|
8
|
+
static empty(): ChonkProof;
|
|
9
|
+
static random(): ChonkProof;
|
|
10
|
+
static get schema(): import("zod").ZodType<ChonkProof, any, string>;
|
|
11
|
+
toJSON(): Buffer<ArrayBufferLike>;
|
|
12
|
+
static fromBuffer(buffer: Buffer | BufferReader): ChonkProof;
|
|
13
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
14
|
+
}
|
|
15
|
+
export declare class ChonkProofWithPublicInputs {
|
|
16
|
+
fieldsWithPublicInputs: Fr[];
|
|
17
|
+
constructor(fieldsWithPublicInputs: Fr[]);
|
|
18
|
+
getPublicInputs(): Fr[];
|
|
19
|
+
removePublicInputs(): ChonkProof;
|
|
20
|
+
isEmpty(): boolean;
|
|
21
|
+
static empty(): ChonkProofWithPublicInputs;
|
|
22
|
+
static get schema(): import("zod").ZodType<ChonkProofWithPublicInputs, any, string>;
|
|
23
|
+
toJSON(): Buffer<ArrayBufferLike>;
|
|
24
|
+
static fromBuffer(buffer: Buffer | BufferReader): ChonkProofWithPublicInputs;
|
|
25
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
26
|
+
static fromBufferArray(fields: Uint8Array[]): ChonkProofWithPublicInputs;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=chonk_proof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chonk_proof.d.ts","sourceRoot":"","sources":["../../src/proofs/chonk_proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,qBAAa,UAAU;IAKZ,MAAM,EAAE,EAAE,EAAE;gBAAZ,MAAM,EAAE,EAAE,EAAE;IAOd,kBAAkB,CAAC,YAAY,EAAE,EAAE,EAAE;IAIrC,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,CAAC,MAAM;IAWb,MAAM,KAAK,MAAM,mDAEhB;IAGD,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU;IAOrD,QAAQ;CAGhB;AAED,qBAAa,0BAA0B;IAI5B,sBAAsB,EAAE,EAAE,EAAE;gBAA5B,sBAAsB,EAAE,EAAE,EAAE;IAO9B,eAAe;IAKf,kBAAkB;IAKlB,OAAO;IAId,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM,mEAEhB;IAGD,MAAM;IAIN,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B;IAOrE,QAAQ;IAKf,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,0BAA0B;CAIzE"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { CHONK_PROOF_LENGTH } from '@aztec/constants';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
// CHONK: "Client Honk" - An UltraHonk variant with incremental folding and delayed non-native arithmetic.
|
|
7
|
+
export class ChonkProof {
|
|
8
|
+
fields;
|
|
9
|
+
constructor(// The proof fields.
|
|
10
|
+
// For native verification, attach public inputs via `attachPublicInputs(publicInputs)`.
|
|
11
|
+
// Not using Tuple here due to the length being too high.
|
|
12
|
+
fields){
|
|
13
|
+
this.fields = fields;
|
|
14
|
+
if (fields.length !== CHONK_PROOF_LENGTH) {
|
|
15
|
+
throw new Error(`Invalid ChonkProof length: ${fields.length}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
attachPublicInputs(publicInputs) {
|
|
19
|
+
return new ChonkProofWithPublicInputs([
|
|
20
|
+
...publicInputs,
|
|
21
|
+
...this.fields
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
isEmpty() {
|
|
25
|
+
return this.fields.every((field)=>field.isZero());
|
|
26
|
+
}
|
|
27
|
+
static empty() {
|
|
28
|
+
return new ChonkProof(new Array(CHONK_PROOF_LENGTH).fill(Fr.ZERO));
|
|
29
|
+
}
|
|
30
|
+
static random() {
|
|
31
|
+
// NB: Not using Fr.random here because it slows down some tests that require a large number of txs significantly.
|
|
32
|
+
const reducedFrSize = Fr.SIZE_IN_BYTES - 1;
|
|
33
|
+
const randomFields = randomBytes(CHONK_PROOF_LENGTH * reducedFrSize);
|
|
34
|
+
const proof = Array.from({
|
|
35
|
+
length: CHONK_PROOF_LENGTH
|
|
36
|
+
}, (_, i)=>new Fr(randomFields.subarray(i * reducedFrSize, (i + 1) * reducedFrSize)));
|
|
37
|
+
return new ChonkProof(proof);
|
|
38
|
+
}
|
|
39
|
+
static get schema() {
|
|
40
|
+
return bufferSchemaFor(ChonkProof);
|
|
41
|
+
}
|
|
42
|
+
// We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
|
|
43
|
+
toJSON() {
|
|
44
|
+
return this.toBuffer();
|
|
45
|
+
}
|
|
46
|
+
static fromBuffer(buffer) {
|
|
47
|
+
const reader = BufferReader.asReader(buffer);
|
|
48
|
+
const proofLength = reader.readNumber();
|
|
49
|
+
const proof = reader.readArray(proofLength, Fr);
|
|
50
|
+
return new ChonkProof(proof);
|
|
51
|
+
}
|
|
52
|
+
toBuffer() {
|
|
53
|
+
return serializeToBuffer(this.fields.length, this.fields);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export class ChonkProofWithPublicInputs {
|
|
57
|
+
fieldsWithPublicInputs;
|
|
58
|
+
constructor(// The proof fields with public inputs.
|
|
59
|
+
// For recursive verification, use without public inputs via `removePublicInputs()`.
|
|
60
|
+
fieldsWithPublicInputs){
|
|
61
|
+
this.fieldsWithPublicInputs = fieldsWithPublicInputs;
|
|
62
|
+
if (fieldsWithPublicInputs.length < CHONK_PROOF_LENGTH) {
|
|
63
|
+
throw new Error(`Invalid ChonkProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
getPublicInputs() {
|
|
67
|
+
const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
|
|
68
|
+
return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
|
|
69
|
+
}
|
|
70
|
+
removePublicInputs() {
|
|
71
|
+
const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
|
|
72
|
+
return new ChonkProof(this.fieldsWithPublicInputs.slice(numPublicInputs));
|
|
73
|
+
}
|
|
74
|
+
isEmpty() {
|
|
75
|
+
return this.fieldsWithPublicInputs.every((field)=>field.isZero());
|
|
76
|
+
}
|
|
77
|
+
static empty() {
|
|
78
|
+
return ChonkProof.empty().attachPublicInputs([]);
|
|
79
|
+
}
|
|
80
|
+
static get schema() {
|
|
81
|
+
return bufferSchemaFor(ChonkProofWithPublicInputs);
|
|
82
|
+
}
|
|
83
|
+
// We use this in tandem with the bufferSchemaFor to serialize to base64 strings.
|
|
84
|
+
toJSON() {
|
|
85
|
+
return this.toBuffer();
|
|
86
|
+
}
|
|
87
|
+
static fromBuffer(buffer) {
|
|
88
|
+
const reader = BufferReader.asReader(buffer);
|
|
89
|
+
const proofLength = reader.readNumber();
|
|
90
|
+
const proof = reader.readArray(proofLength, Fr);
|
|
91
|
+
return new ChonkProofWithPublicInputs(proof);
|
|
92
|
+
}
|
|
93
|
+
toBuffer() {
|
|
94
|
+
return serializeToBuffer(this.fieldsWithPublicInputs.length, this.fieldsWithPublicInputs);
|
|
95
|
+
}
|
|
96
|
+
// Called when constructing from bb proving results.
|
|
97
|
+
static fromBufferArray(fields) {
|
|
98
|
+
const proof = fields.map((field)=>Fr.fromBuffer(Buffer.from(field)));
|
|
99
|
+
return new ChonkProofWithPublicInputs(proof);
|
|
100
|
+
}
|
|
101
|
+
}
|
package/dest/proofs/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proofs/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proofs/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC"}
|
package/dest/proofs/index.js
CHANGED