@aztec/stdlib 2.1.0-rc.9 → 3.0.0-devnet.2
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 +131 -72
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +8 -4
- 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/index.d.ts +2 -0
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +2 -0
- package/dest/block/l2_block.d.ts +19 -5
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +28 -7
- 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_source.d.ts +29 -0
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
- package/dest/block/proposal/attestations_and_signers.d.ts +1 -1
- package/dest/block/proposal/attestations_and_signers.js +1 -1
- package/dest/block/proposal/committee_attestation.d.ts +0 -1
- package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
- package/dest/block/proposal/committee_attestation.js +0 -3
- package/dest/block/published_l2_block.d.ts +2 -8
- package/dest/block/published_l2_block.d.ts.map +1 -1
- package/dest/block/published_l2_block.js +0 -9
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +1 -3
- 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 +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +2 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +0 -3
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +7 -0
- package/dest/interfaces/aztec-node-admin.d.ts +40 -36
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +2 -2
- package/dest/interfaces/aztec-node.d.ts +30 -0
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +7 -1
- package/dest/interfaces/block-builder.d.ts +1 -2
- 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 +5 -0
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +1 -0
- package/dest/interfaces/epoch-prover.d.ts +26 -9
- 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 +343 -194
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +131 -113
- package/dest/interfaces/server_circuit_prover.d.ts +34 -34
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- 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 +99 -3
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +7 -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_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 +1 -1
- 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 +1 -21
- 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 +64 -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/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 +13 -13
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_attestation.js +27 -25
- package/dest/p2p/block_proposal.d.ts +6 -8
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +10 -13
- package/dest/p2p/consensus_payload.d.ts +7 -6
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +7 -6
- 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/client_ivc_proof.d.ts +17 -7
- package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
- package/dest/proofs/client_ivc_proof.js +78 -19
- package/dest/proofs/index.d.ts +1 -0
- package/dest/proofs/index.d.ts.map +1 -1
- package/dest/proofs/index.js +1 -0
- 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 -13
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
- 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_tube_private_inputs.d.ts +21 -0
- package/dest/rollup/public_tube_private_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tube_private_inputs.js +42 -0
- package/dest/rollup/public_tube_public_inputs.d.ts +20 -0
- package/dest/rollup/public_tube_public_inputs.d.ts.map +1 -0
- package/dest/rollup/public_tube_public_inputs.js +41 -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/stats/stats.d.ts +1 -1
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +42 -74
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +144 -167
- package/dest/tests/mocks.d.ts +11 -7
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +44 -23
- 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/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/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 +0 -1
- package/dest/tx/processed_tx.d.ts.map +1 -1
- package/dest/tx/processed_tx.js +1 -6
- 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/simulated_tx.d.ts +3 -3
- package/dest/tx/tx.d.ts +6 -2
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +10 -3
- 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/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 +15 -9
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +17 -11
- package/package.json +12 -10
- 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 +13 -2
- 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 +2 -0
- package/src/block/l2_block.ts +33 -8
- 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_source.ts +32 -0
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
- package/src/block/proposal/attestations_and_signers.ts +1 -1
- package/src/block/proposal/committee_attestation.ts +0 -4
- package/src/block/published_l2_block.ts +0 -17
- package/src/block/test/l2_tips_store_test_suite.ts +1 -2
- 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/hash/hash.ts +0 -4
- package/src/interfaces/archiver.ts +9 -1
- package/src/interfaces/aztec-node-admin.ts +2 -2
- package/src/interfaces/aztec-node.ts +45 -0
- package/src/interfaces/block-builder.ts +1 -6
- package/src/interfaces/client.ts +0 -1
- package/src/interfaces/configs.ts +3 -0
- package/src/interfaces/epoch-prover.ts +35 -11
- 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 +215 -134
- package/src/interfaces/server_circuit_prover.ts +87 -61
- package/src/interfaces/tx_provider.ts +1 -0
- package/src/interfaces/validator.ts +19 -4
- 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_init_circuit_private_inputs.ts +5 -4
- package/src/kernel/private_kernel_prover_output.ts +1 -1
- 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 +1 -26
- 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 +78 -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/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 +31 -24
- package/src/p2p/block_proposal.ts +11 -16
- package/src/p2p/consensus_payload.ts +8 -7
- 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/client_ivc_proof.ts +86 -20
- package/src/proofs/index.ts +1 -0
- 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} +17 -18
- 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_tube_private_inputs.ts +53 -0
- package/src/rollup/public_tube_public_inputs.ts +52 -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/stats/stats.ts +19 -13
- package/src/tests/factories.ts +217 -275
- package/src/tests/mocks.ts +71 -53
- package/src/trees/index.ts +0 -1
- package/src/tx/block_header.ts +17 -32
- package/src/tx/global_variables.ts +0 -1
- package/src/tx/index.ts +2 -1
- 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 +1 -7
- package/src/tx/profiling.ts +0 -2
- package/src/tx/protocol_contracts.ts +70 -0
- package/src/tx/tx.ts +12 -3
- 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/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 +40 -28
- 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 -336
- package/dest/interfaces/pxe.d.ts.map +0 -1
- package/dest/interfaces/pxe.js +0 -101
- 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/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 -541
- package/src/logs/indexed_tagging_secret.ts +0 -48
- package/src/parity/root_parity_input.ts +0 -71
- 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
package/dest/tx/tx_effect.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { decodeTxStartMarker, encodeTxStartMarker, isValidTxStartMarker } from '@aztec/blob-lib/encoding';
|
|
2
|
+
import { MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
|
|
2
3
|
import { makeTuple, makeTupleAsync } from '@aztec/foundation/array';
|
|
3
|
-
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { schemas } from '@aztec/foundation/schemas';
|
|
6
6
|
import { BufferReader, FieldReader, serializeArrayOfBufferableToVector, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -12,14 +12,8 @@ import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
|
12
12
|
import { RevertCode } from '../avm/revert_code.js';
|
|
13
13
|
import { ContractClassLog } from '../logs/contract_class_log.js';
|
|
14
14
|
import { PrivateLog } from '../logs/private_log.js';
|
|
15
|
-
import { PublicLog } from '../logs/public_log.js';
|
|
15
|
+
import { FlatPublicLogs, PublicLog } from '../logs/public_log.js';
|
|
16
16
|
import { TxHash } from './tx_hash.js';
|
|
17
|
-
// This will appear as 0x74785f7374617274 in logs
|
|
18
|
-
export const TX_START_PREFIX = 8392562855083340404n;
|
|
19
|
-
// These are helper constants to decode tx effects from blob encoded fields
|
|
20
|
-
export const TX_START_PREFIX_BYTES_LENGTH = TX_START_PREFIX.toString(16).length / 2;
|
|
21
|
-
// 7 bytes for: | 0 | txlen[0] | txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revertCode |
|
|
22
|
-
export const TX_EFFECT_PREFIX_BYTE_LENGTH = TX_START_PREFIX_BYTES_LENGTH + 7;
|
|
23
17
|
export class TxEffect {
|
|
24
18
|
revertCode;
|
|
25
19
|
txHash;
|
|
@@ -116,7 +110,7 @@ export class TxEffect {
|
|
|
116
110
|
serializeArrayOfBufferableToVector(this.l2ToL1Msgs, 1),
|
|
117
111
|
serializeArrayOfBufferableToVector(this.publicDataWrites, 1),
|
|
118
112
|
serializeArrayOfBufferableToVector(this.privateLogs, 1),
|
|
119
|
-
serializeArrayOfBufferableToVector(this.publicLogs,
|
|
113
|
+
serializeArrayOfBufferableToVector(this.publicLogs, 4),
|
|
120
114
|
serializeArrayOfBufferableToVector(this.contractClassLogs, 1)
|
|
121
115
|
]);
|
|
122
116
|
}
|
|
@@ -132,7 +126,7 @@ export class TxEffect {
|
|
|
132
126
|
* @returns An instance of TxEffect.
|
|
133
127
|
*/ static fromBuffer(buffer) {
|
|
134
128
|
const reader = BufferReader.asReader(buffer);
|
|
135
|
-
return new TxEffect(RevertCode.fromBuffer(reader), TxHash.fromBuffer(reader), Fr.fromBuffer(reader), reader.readVectorUint8Prefix(Fr), reader.readVectorUint8Prefix(Fr), reader.readVectorUint8Prefix(Fr), reader.readVectorUint8Prefix(PublicDataWrite), reader.readVectorUint8Prefix(PrivateLog), reader.
|
|
129
|
+
return new TxEffect(RevertCode.fromBuffer(reader), TxHash.fromBuffer(reader), Fr.fromBuffer(reader), reader.readVectorUint8Prefix(Fr), reader.readVectorUint8Prefix(Fr), reader.readVectorUint8Prefix(Fr), reader.readVectorUint8Prefix(PublicDataWrite), reader.readVectorUint8Prefix(PrivateLog), reader.readVector(PublicLog), reader.readVectorUint8Prefix(ContractClassLog));
|
|
136
130
|
}
|
|
137
131
|
/**
|
|
138
132
|
* Computes txOutHash of this tx effect.
|
|
@@ -145,217 +139,84 @@ export class TxEffect {
|
|
|
145
139
|
return computeUnbalancedMerkleTreeRoot(l2ToL1Msgs.map((msg)=>msg.toBuffer()));
|
|
146
140
|
}
|
|
147
141
|
static async random(numPublicCallsPerTx = 3, numPublicLogsPerCall = 1, maxEffects = undefined) {
|
|
148
|
-
return new TxEffect(RevertCode.random(), TxHash.random(), new Fr(Math.floor(Math.random() * 100_000)), makeTuple(maxEffects === undefined ? MAX_NOTE_HASHES_PER_TX : Math.min(maxEffects, MAX_NOTE_HASHES_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_NULLIFIERS_PER_TX : Math.min(maxEffects, MAX_NULLIFIERS_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_L2_TO_L1_MSGS_PER_TX : Math.min(maxEffects, MAX_L2_TO_L1_MSGS_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX : Math.min(maxEffects, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX), PublicDataWrite.random), makeTuple(MAX_PRIVATE_LOGS_PER_TX, ()=>PrivateLog.random()), await
|
|
142
|
+
return new TxEffect(RevertCode.random(), TxHash.random(), new Fr(Math.floor(Math.random() * 100_000)), makeTuple(maxEffects === undefined ? MAX_NOTE_HASHES_PER_TX : Math.min(maxEffects, MAX_NOTE_HASHES_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_NULLIFIERS_PER_TX : Math.min(maxEffects, MAX_NULLIFIERS_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_L2_TO_L1_MSGS_PER_TX : Math.min(maxEffects, MAX_L2_TO_L1_MSGS_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX : Math.min(maxEffects, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX), PublicDataWrite.random), makeTuple(MAX_PRIVATE_LOGS_PER_TX, ()=>PrivateLog.random()), await Promise.all(new Array(numPublicCallsPerTx * numPublicLogsPerCall).fill(null).map(()=>PublicLog.random())), await makeTupleAsync(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLog.random));
|
|
149
143
|
}
|
|
150
144
|
static empty() {
|
|
151
145
|
return new TxEffect(RevertCode.OK, TxHash.zero(), Fr.ZERO, [], [], [], [], [], [], []);
|
|
152
146
|
}
|
|
153
|
-
isEmpty() {
|
|
154
|
-
return this.nullifiers.length === 0;
|
|
155
|
-
}
|
|
156
147
|
/** Returns a hex representation of the TxEffect object. */ toString() {
|
|
157
148
|
return bufferToHex(this.toBuffer());
|
|
158
149
|
}
|
|
159
150
|
/**
|
|
160
|
-
* Returns
|
|
161
|
-
*
|
|
162
|
-
*/ toPrefix(type, length) {
|
|
163
|
-
const buf = Buffer.alloc(4);
|
|
164
|
-
buf.writeUint8(type);
|
|
165
|
-
buf.writeUInt16BE(length, 2);
|
|
166
|
-
return new Fr(buf);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Decodes the prefix as used in a blob to tx effect type and length.
|
|
170
|
-
*/ static fromPrefix(prefix) {
|
|
171
|
-
const buf = prefix.toBuffer().subarray(-4);
|
|
172
|
-
return {
|
|
173
|
-
type: buf[0],
|
|
174
|
-
length: new Fr(buf.subarray(-2)).toNumber()
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Encodes the first field of a tx effect as used in a blob:
|
|
179
|
-
* TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code
|
|
180
|
-
*/ encodeFirstField(length, revertCode) {
|
|
181
|
-
const lengthBuf = Buffer.alloc(2);
|
|
182
|
-
lengthBuf.writeUInt16BE(length, 0);
|
|
183
|
-
return new Fr(Buffer.concat([
|
|
184
|
-
toBufferBE(TX_START_PREFIX, TX_START_PREFIX_BYTES_LENGTH),
|
|
185
|
-
Buffer.alloc(1),
|
|
186
|
-
lengthBuf,
|
|
187
|
-
Buffer.alloc(1),
|
|
188
|
-
Buffer.from([
|
|
189
|
-
REVERT_CODE_PREFIX
|
|
190
|
-
]),
|
|
191
|
-
Buffer.alloc(1),
|
|
192
|
-
revertCode.toBuffer()
|
|
193
|
-
]));
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Decodes the first field of a tx effect as used in a blob:
|
|
197
|
-
* TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code
|
|
198
|
-
* Assumes that isFirstField has been called already.
|
|
199
|
-
*/ static decodeFirstField(field) {
|
|
200
|
-
const buf = field.toBuffer().subarray(-TX_EFFECT_PREFIX_BYTE_LENGTH);
|
|
201
|
-
return {
|
|
202
|
-
length: new Fr(buf.subarray(TX_START_PREFIX_BYTES_LENGTH + 1, TX_START_PREFIX_BYTES_LENGTH + 3)).toNumber(),
|
|
203
|
-
revertCode: buf[buf.length - 1]
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Determines whether a field is the first field of a tx effect
|
|
208
|
-
*/ static isFirstField(field) {
|
|
209
|
-
const buf = field.toBuffer();
|
|
210
|
-
if (!buf.subarray(0, field.size - TX_EFFECT_PREFIX_BYTE_LENGTH).equals(Buffer.alloc(field.size - TX_EFFECT_PREFIX_BYTE_LENGTH))) {
|
|
211
|
-
return false;
|
|
212
|
-
}
|
|
213
|
-
const sliced = buf.subarray(-TX_EFFECT_PREFIX_BYTE_LENGTH);
|
|
214
|
-
if (// Checking we start with the correct prefix...
|
|
215
|
-
!new Fr(sliced.subarray(0, TX_START_PREFIX_BYTES_LENGTH)).equals(new Fr(TX_START_PREFIX)) || // ...and include the revert code prefix..
|
|
216
|
-
sliced[sliced.length - 3] !== REVERT_CODE_PREFIX || // ...and the following revert code is valid.
|
|
217
|
-
sliced[sliced.length - 1] > 4) {
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
220
|
-
return true;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Returns a flat packed array of prefixed fields of all tx effects, used for blobs.
|
|
151
|
+
* Returns a flat packed array of fields of all tx effects, to be appended to blobs.
|
|
152
|
+
* Must match the implementation in noir-protocol-circuits/crates/rollup-lib/src/tx_base/components/tx_blob_data.nr
|
|
224
153
|
*/ toBlobFields() {
|
|
225
|
-
if (this.isEmpty()) {
|
|
226
|
-
return [];
|
|
227
|
-
}
|
|
228
154
|
const flattened = [];
|
|
229
|
-
// We reassign the first field when we know the length of all effects
|
|
155
|
+
// We reassign the first field at the end when we know the length of all effects to create the tx start marker.
|
|
230
156
|
flattened.push(Fr.ZERO);
|
|
231
157
|
flattened.push(this.txHash.hash);
|
|
232
|
-
|
|
233
|
-
flattened.push(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
-
if (this.publicDataWrites.length) {
|
|
253
|
-
flattened.push(this.toPrefix(PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, this.publicDataWrites.length));
|
|
254
|
-
flattened.push(...this.publicDataWrites.flatMap((w)=>w.toBlobFields()));
|
|
255
|
-
}
|
|
256
|
-
if (this.privateLogs.length) {
|
|
257
|
-
flattened.push(this.toPrefix(PRIVATE_LOGS_PREFIX, this.privateLogs.length));
|
|
258
|
-
flattened.push(...this.privateLogs.flatMap((l)=>l.toBlobFields()));
|
|
259
|
-
}
|
|
260
|
-
if (this.publicLogs.length) {
|
|
261
|
-
flattened.push(this.toPrefix(PUBLIC_LOGS_PREFIX, this.publicLogs.length));
|
|
262
|
-
flattened.push(...this.publicLogs.flatMap((l)=>l.toBlobFields()));
|
|
263
|
-
}
|
|
264
|
-
if (this.contractClassLogs.length) {
|
|
265
|
-
flattened.push(this.toPrefix(CONTRACT_CLASS_LOGS_PREFIX, this.contractClassLogs.length));
|
|
266
|
-
flattened.push(...this.contractClassLogs.flatMap((l)=>l.toBlobFields()));
|
|
267
|
-
}
|
|
268
|
-
// The first value appended to each list of fields representing a tx effect is:
|
|
269
|
-
// TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code
|
|
270
|
-
// Tx start and len are to aid decomposing/ identifying when we reach a new tx effect
|
|
271
|
-
// The remaining bytes are used for revert code, since that only requires 3 bytes
|
|
272
|
-
flattened[0] = this.encodeFirstField(flattened.length, this.revertCode);
|
|
158
|
+
flattened.push(this.transactionFee);
|
|
159
|
+
flattened.push(...this.noteHashes);
|
|
160
|
+
flattened.push(...this.nullifiers);
|
|
161
|
+
flattened.push(...this.l2ToL1Msgs);
|
|
162
|
+
flattened.push(...this.publicDataWrites.flatMap((w)=>w.toBlobFields()));
|
|
163
|
+
flattened.push(...this.privateLogs.flatMap((l)=>l.toBlobFields()));
|
|
164
|
+
const flattenedPublicLogs = FlatPublicLogs.fromLogs(this.publicLogs);
|
|
165
|
+
flattened.push(...flattenedPublicLogs.toBlobFields());
|
|
166
|
+
flattened.push(...this.contractClassLogs.flatMap((l)=>l.toBlobFields()));
|
|
167
|
+
flattened[0] = encodeTxStartMarker({
|
|
168
|
+
revertCode: this.revertCode.getCode(),
|
|
169
|
+
numBlobFields: flattened.length,
|
|
170
|
+
numNoteHashes: this.noteHashes.length,
|
|
171
|
+
numNullifiers: this.nullifiers.length,
|
|
172
|
+
numL2ToL1Msgs: this.l2ToL1Msgs.length,
|
|
173
|
+
numPublicDataWrites: this.publicDataWrites.length,
|
|
174
|
+
numPrivateLogs: this.privateLogs.length,
|
|
175
|
+
publicLogsLength: flattenedPublicLogs.length,
|
|
176
|
+
contractClassLogLength: this.contractClassLogs[0]?.emittedLength ?? 0
|
|
177
|
+
});
|
|
273
178
|
return flattened;
|
|
274
179
|
}
|
|
275
180
|
/**
|
|
276
|
-
* Decodes a flat packed array of
|
|
181
|
+
* Decodes a flat packed array of fields to TxEffect.
|
|
277
182
|
*/ static fromBlobFields(fields) {
|
|
278
|
-
const ensureEmpty = (arr)=>{
|
|
279
|
-
if (arr.length) {
|
|
280
|
-
throw new Error('Invalid fields given to TxEffect.fromBlobFields(): Attempted to assign property twice.');
|
|
281
|
-
}
|
|
282
|
-
};
|
|
283
|
-
const effect = this.empty();
|
|
284
183
|
const reader = FieldReader.asReader(fields);
|
|
285
184
|
const totalFields = reader.remainingFields();
|
|
286
185
|
if (!totalFields) {
|
|
287
|
-
|
|
186
|
+
throw new Error('Cannot process empty blob fields.');
|
|
288
187
|
}
|
|
289
|
-
const
|
|
290
|
-
if (!
|
|
291
|
-
throw new Error('Invalid fields given to TxEffect.fromBlobFields():
|
|
188
|
+
const txStartMarker = decodeTxStartMarker(reader.readField());
|
|
189
|
+
if (!isValidTxStartMarker(txStartMarker)) {
|
|
190
|
+
throw new Error('Invalid fields given to TxEffect.fromBlobFields(): invalid TxStartMarker');
|
|
292
191
|
}
|
|
293
|
-
const
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
{
|
|
322
|
-
ensureEmpty(effect.publicDataWrites);
|
|
323
|
-
effect.publicDataWrites = Array.from({
|
|
324
|
-
length
|
|
325
|
-
}, ()=>PublicDataWrite.fromBlobFields(reader));
|
|
326
|
-
break;
|
|
327
|
-
}
|
|
328
|
-
case PRIVATE_LOGS_PREFIX:
|
|
329
|
-
{
|
|
330
|
-
ensureEmpty(effect.privateLogs);
|
|
331
|
-
effect.privateLogs = Array.from({
|
|
332
|
-
length
|
|
333
|
-
}, ()=>PrivateLog.fromBlobFields(reader));
|
|
334
|
-
break;
|
|
335
|
-
}
|
|
336
|
-
case PUBLIC_LOGS_PREFIX:
|
|
337
|
-
{
|
|
338
|
-
ensureEmpty(effect.publicLogs);
|
|
339
|
-
effect.publicLogs = Array.from({
|
|
340
|
-
length
|
|
341
|
-
}, ()=>PublicLog.fromBlobFields(reader));
|
|
342
|
-
break;
|
|
343
|
-
}
|
|
344
|
-
case CONTRACT_CLASS_LOGS_PREFIX:
|
|
345
|
-
{
|
|
346
|
-
ensureEmpty(effect.contractClassLogs);
|
|
347
|
-
effect.contractClassLogs = Array.from({
|
|
348
|
-
length
|
|
349
|
-
}, ()=>ContractClassLog.fromBlobFields(reader));
|
|
350
|
-
break;
|
|
351
|
-
}
|
|
352
|
-
case REVERT_CODE_PREFIX:
|
|
353
|
-
default:
|
|
354
|
-
throw new Error(`Too many fields to decode given to TxEffect.fromBlobFields()`);
|
|
355
|
-
}
|
|
356
|
-
fieldsProcessed = totalFields - reader.remainingFields();
|
|
357
|
-
}
|
|
358
|
-
return effect;
|
|
192
|
+
const revertCode = RevertCode.fromField(new Fr(txStartMarker.revertCode));
|
|
193
|
+
const txHash = new TxHash(reader.readField());
|
|
194
|
+
const transactionFee = reader.readField();
|
|
195
|
+
const noteHashes = reader.readFieldArray(txStartMarker.numNoteHashes);
|
|
196
|
+
const nullifiers = reader.readFieldArray(txStartMarker.numNullifiers);
|
|
197
|
+
const l2ToL1Msgs = reader.readFieldArray(txStartMarker.numL2ToL1Msgs);
|
|
198
|
+
const publicDataWrites = Array.from({
|
|
199
|
+
length: txStartMarker.numPublicDataWrites
|
|
200
|
+
}, ()=>PublicDataWrite.fromBlobFields(reader));
|
|
201
|
+
const privateLogs = Array.from({
|
|
202
|
+
length: txStartMarker.numPrivateLogs
|
|
203
|
+
}, ()=>PrivateLog.fromBlobFields(reader));
|
|
204
|
+
const publicLogs = FlatPublicLogs.fromBlobFields(txStartMarker.publicLogsLength, reader).toLogs();
|
|
205
|
+
const contractClassLogs = txStartMarker.contractClassLogLength > 0 ? [
|
|
206
|
+
ContractClassLog.fromBlobFields(txStartMarker.contractClassLogLength, reader)
|
|
207
|
+
] : [];
|
|
208
|
+
return TxEffect.from({
|
|
209
|
+
revertCode,
|
|
210
|
+
txHash,
|
|
211
|
+
transactionFee,
|
|
212
|
+
noteHashes,
|
|
213
|
+
nullifiers,
|
|
214
|
+
l2ToL1Msgs,
|
|
215
|
+
publicDataWrites,
|
|
216
|
+
privateLogs,
|
|
217
|
+
publicLogs,
|
|
218
|
+
contractClassLogs
|
|
219
|
+
});
|
|
359
220
|
}
|
|
360
221
|
static from(fields) {
|
|
361
222
|
return new TxEffect(fields.revertCode, fields.txHash, fields.transactionFee, fields.noteHashes, fields.nullifiers, fields.l2ToL1Msgs, fields.publicDataWrites, fields.privateLogs, fields.publicLogs, fields.contractClassLogs);
|
|
@@ -384,7 +245,7 @@ export class TxEffect {
|
|
|
384
245
|
l2ToL1Msgs: [${this.l2ToL1Msgs.map((h)=>h.toString()).join(', ')}],
|
|
385
246
|
publicDataWrites: [${this.publicDataWrites.map((h)=>h.toString()).join(', ')}],
|
|
386
247
|
privateLogs: [${this.privateLogs.map((l)=>l.fields.map((f)=>f.toString()).join(',')).join(', ')}],
|
|
387
|
-
publicLogs:
|
|
248
|
+
publicLogs: ${inspect(this.publicLogs)},
|
|
388
249
|
contractClassLogs: [${this.contractClassLogs.map((l)=>l.toFields().map((f)=>f.toString()).join(',')).join(', ')}],
|
|
389
250
|
}`;
|
|
390
251
|
}
|
|
@@ -9,7 +9,7 @@ export declare const TX_ERROR_INVALID_INCLUDE_BY_TIMESTAMP = "Invalid expiration
|
|
|
9
9
|
export declare const TX_ERROR_INCORRECT_L1_CHAIN_ID = "Incorrect L1 chain id";
|
|
10
10
|
export declare const TX_ERROR_INCORRECT_ROLLUP_VERSION = "Incorrect rollup version";
|
|
11
11
|
export declare const TX_ERROR_INCORRECT_VK_TREE_ROOT = "Incorrect verification keys tree root";
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const TX_ERROR_INCORRECT_PROTOCOL_CONTRACTS_HASH = "Incorrect protocol contracts hash";
|
|
13
13
|
export declare const TX_ERROR_INVALID_PROOF = "Invalid proof";
|
|
14
14
|
export declare const TX_ERROR_INCORRECT_CALLDATA = "Incorrect calldata for public call";
|
|
15
15
|
export declare const TX_ERROR_CALLDATA_COUNT_MISMATCH = "Wrong number of calldata for public calls";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;AACxF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAC3F,eAAO,MAAM,2BAA2B,wEAAwE,CAAC;AAGjH,eAAO,MAAM,mCAAmC,qCAAqC,CAAC;AAGtF,eAAO,MAAM,kCAAkC,8BAA8B,CAAC;AAC9E,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAGhE,eAAO,MAAM,qCAAqC,iCAAiC,CAAC;AACpF,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;AACxF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAC3F,eAAO,MAAM,2BAA2B,wEAAwE,CAAC;AAGjH,eAAO,MAAM,mCAAmC,qCAAqC,CAAC;AAGtF,eAAO,MAAM,kCAAkC,8BAA8B,CAAC;AAC9E,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAGhE,eAAO,MAAM,qCAAqC,iCAAiC,CAAC;AACpF,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,0CAA0C,sCAAsC,CAAC;AAG9F,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAChF,eAAO,MAAM,gCAAgC,8CAA8C,CAAC;AAC5F,eAAO,MAAM,iCAAiC,uDAAuD,CAAC;AACtG,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAC5F,eAAO,MAAM,kCAAkC,yCAAyC,CAAC;AACzF,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,mCAAmC,2CAA2C,CAAC;AAC5F,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAG3D,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAG9D,eAAO,MAAM,0BAA0B,uCAAuC,CAAC"}
|
|
@@ -13,7 +13,7 @@ export const TX_ERROR_INVALID_INCLUDE_BY_TIMESTAMP = 'Invalid expiration timesta
|
|
|
13
13
|
export const TX_ERROR_INCORRECT_L1_CHAIN_ID = 'Incorrect L1 chain id';
|
|
14
14
|
export const TX_ERROR_INCORRECT_ROLLUP_VERSION = 'Incorrect rollup version';
|
|
15
15
|
export const TX_ERROR_INCORRECT_VK_TREE_ROOT = 'Incorrect verification keys tree root';
|
|
16
|
-
export const
|
|
16
|
+
export const TX_ERROR_INCORRECT_PROTOCOL_CONTRACTS_HASH = 'Incorrect protocol contracts hash';
|
|
17
17
|
// Proof
|
|
18
18
|
export const TX_ERROR_INVALID_PROOF = 'Invalid proof';
|
|
19
19
|
//Data
|
|
@@ -7,11 +7,11 @@ export type ComponentsVersions = {
|
|
|
7
7
|
l1ChainId: number;
|
|
8
8
|
l1RollupAddress: EthAddress;
|
|
9
9
|
rollupVersion: number;
|
|
10
|
-
|
|
10
|
+
l2ProtocolContractsHash: string;
|
|
11
11
|
l2CircuitsVkTreeRoot: string;
|
|
12
12
|
};
|
|
13
13
|
/** Returns components versions from chain config. */
|
|
14
|
-
export declare function getComponentsVersionsFromConfig(config: ChainConfig,
|
|
14
|
+
export declare function getComponentsVersionsFromConfig(config: ChainConfig, l2ProtocolContractsHash: string | Fr, l2CircuitsVkTreeRoot: string | Fr): ComponentsVersions;
|
|
15
15
|
/** Returns a compressed string representation of the version (around 32 chars). Used in p2p ENRs. */
|
|
16
16
|
export declare function compressComponentVersions(versions: ComponentsVersions): string;
|
|
17
17
|
export declare class ComponentsVersionsError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../../src/versioning/versioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,8IAA8I;AAC9I,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAIlB,eAAe,EAAE,UAAU,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../../src/versioning/versioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,8IAA8I;AAC9I,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAIlB,eAAe,EAAE,UAAU,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,qDAAqD;AACrD,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,WAAW,EACnB,uBAAuB,EAAE,MAAM,GAAG,EAAE,EACpC,oBAAoB,EAAE,MAAM,GAAG,EAAE,GAChC,kBAAkB,CAQpB;AAED,qGAAqG;AACrG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAiB9E;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAIzD;AAED,iGAAiG;AACjG,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,QA6B/F;AAED,8EAA8E;AAC9E,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,QAiBpC;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAC7D,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC,mBAc1D;AAED,0FAA0F;AAC1F,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,IACxE,aAAa;IAAE,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,mBAYzF"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
2
|
-
/** Returns components versions from chain config. */ export function getComponentsVersionsFromConfig(config,
|
|
2
|
+
/** Returns components versions from chain config. */ export function getComponentsVersionsFromConfig(config, l2ProtocolContractsHash, l2CircuitsVkTreeRoot) {
|
|
3
3
|
return {
|
|
4
4
|
l1ChainId: config.l1ChainId,
|
|
5
5
|
l1RollupAddress: config.l1Contracts?.rollupAddress,
|
|
6
6
|
rollupVersion: config.rollupVersion,
|
|
7
|
-
|
|
7
|
+
l2ProtocolContractsHash: l2ProtocolContractsHash.toString(),
|
|
8
8
|
l2CircuitsVkTreeRoot: l2CircuitsVkTreeRoot.toString()
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
/** Returns a compressed string representation of the version (around 32 chars). Used in p2p ENRs. */ export function compressComponentVersions(versions) {
|
|
12
|
-
if (versions.l1RollupAddress === undefined || versions.
|
|
12
|
+
if (versions.l1RollupAddress === undefined || versions.l2ProtocolContractsHash === undefined || versions.l2CircuitsVkTreeRoot === undefined) {
|
|
13
13
|
throw new Error(`Component versions are not set: ${jsonStringify(versions)}`);
|
|
14
14
|
}
|
|
15
15
|
return [
|
|
@@ -17,7 +17,7 @@ import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
|
17
17
|
versions.l1ChainId,
|
|
18
18
|
versions.l1RollupAddress.toString().slice(2, 10),
|
|
19
19
|
versions.rollupVersion,
|
|
20
|
-
versions.
|
|
20
|
+
versions.l2ProtocolContractsHash.toString().slice(2, 10),
|
|
21
21
|
versions.l2CircuitsVkTreeRoot.toString().slice(2, 10)
|
|
22
22
|
].join('-');
|
|
23
23
|
}
|
|
@@ -28,7 +28,7 @@ export class ComponentsVersionsError extends Error {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
/** Checks if the compressed string matches against the expected versions. Throws on mismatch. */ export function checkCompressedComponentVersion(compressed, expected) {
|
|
31
|
-
const [versionVersion, l1ChainId, l1RollupAddress, rollupVersion,
|
|
31
|
+
const [versionVersion, l1ChainId, l1RollupAddress, rollupVersion, l2ProtocolContractsHash, l2CircuitsVkTreeRoot] = compressed.split('-');
|
|
32
32
|
if (versionVersion !== '00') {
|
|
33
33
|
throw new ComponentsVersionsError('version', '00', versionVersion);
|
|
34
34
|
}
|
|
@@ -41,8 +41,8 @@ export class ComponentsVersionsError extends Error {
|
|
|
41
41
|
if (rollupVersion !== expected.rollupVersion.toString()) {
|
|
42
42
|
throw new ComponentsVersionsError('L2 chain version', expected.rollupVersion.toString(), rollupVersion);
|
|
43
43
|
}
|
|
44
|
-
if (
|
|
45
|
-
throw new ComponentsVersionsError(`L2 protocol contracts vk tree root`, expected.
|
|
44
|
+
if (l2ProtocolContractsHash !== expected.l2ProtocolContractsHash.toString().slice(2, 10)) {
|
|
45
|
+
throw new ComponentsVersionsError(`L2 protocol contracts vk tree root`, expected.l2ProtocolContractsHash.toString(), l2ProtocolContractsHash);
|
|
46
46
|
}
|
|
47
47
|
if (l2CircuitsVkTreeRoot !== expected.l2CircuitsVkTreeRoot.toString().slice(2, 10)) {
|
|
48
48
|
throw new ComponentsVersionsError('L2 circuits vk tree root', expected.l2CircuitsVkTreeRoot.toString(), l2CircuitsVkTreeRoot);
|
|
@@ -51,7 +51,7 @@ export class ComponentsVersionsError extends Error {
|
|
|
51
51
|
/** Checks that two component versions match. Undefined fields are ignored. */ export function validatePartialComponentVersionsMatch(expected, actual) {
|
|
52
52
|
for (const key of [
|
|
53
53
|
'l1RollupAddress',
|
|
54
|
-
'
|
|
54
|
+
'l2ProtocolContractsHash',
|
|
55
55
|
'l2CircuitsVkTreeRoot',
|
|
56
56
|
'l1ChainId',
|
|
57
57
|
'rollupVersion'
|
|
@@ -67,11 +67,16 @@ export class ComponentsVersionsError extends Error {
|
|
|
67
67
|
}
|
|
68
68
|
/** Returns a Koa middleware that injects the versioning info as headers. */ export function getVersioningMiddleware(versions) {
|
|
69
69
|
return async (ctx, next)=>{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if
|
|
74
|
-
|
|
70
|
+
try {
|
|
71
|
+
await next();
|
|
72
|
+
} finally{
|
|
73
|
+
// Always add version headers, even if there was an error
|
|
74
|
+
// This allows the client to detect version mismatches before processing other errors
|
|
75
|
+
for(const key in versions){
|
|
76
|
+
const value = versions[key];
|
|
77
|
+
if (value !== undefined) {
|
|
78
|
+
ctx.set(`x-aztec-${key}`, value.toString());
|
|
79
|
+
}
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/world-state/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './world_state_revision.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare class WorldStateRevision {
|
|
3
|
+
readonly forkId: number;
|
|
4
|
+
readonly blockNumber: number;
|
|
5
|
+
readonly includeUncommitted: boolean;
|
|
6
|
+
constructor(forkId: number, blockNumber: number, includeUncommitted: boolean);
|
|
7
|
+
static empty(): WorldStateRevision;
|
|
8
|
+
static get schema(): z.ZodObject<{
|
|
9
|
+
forkId: z.ZodNumber;
|
|
10
|
+
blockNumber: z.ZodNumber;
|
|
11
|
+
includeUncommitted: z.ZodBoolean;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
blockNumber: number;
|
|
14
|
+
forkId: number;
|
|
15
|
+
includeUncommitted: boolean;
|
|
16
|
+
}, {
|
|
17
|
+
blockNumber: number;
|
|
18
|
+
forkId: number;
|
|
19
|
+
includeUncommitted: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=world_state_revision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"world_state_revision.d.ts","sourceRoot":"","sources":["../../src/world-state/world_state_revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,kBAAkB;aAEX,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,kBAAkB,EAAE,OAAO;gBAF3B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO;IAG7C,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM;;;;;;;;;;;;OAMhB;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export class WorldStateRevision {
|
|
3
|
+
forkId;
|
|
4
|
+
blockNumber;
|
|
5
|
+
includeUncommitted;
|
|
6
|
+
constructor(forkId, blockNumber, includeUncommitted){
|
|
7
|
+
this.forkId = forkId;
|
|
8
|
+
this.blockNumber = blockNumber;
|
|
9
|
+
this.includeUncommitted = includeUncommitted;
|
|
10
|
+
}
|
|
11
|
+
static empty() {
|
|
12
|
+
return new WorldStateRevision(0, 0, false);
|
|
13
|
+
}
|
|
14
|
+
static get schema() {
|
|
15
|
+
return z.object({
|
|
16
|
+
forkId: z.number(),
|
|
17
|
+
blockNumber: z.number(),
|
|
18
|
+
includeUncommitted: z.boolean()
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
export type ViemZkPassportProofParams = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
proofVerificationData: {
|
|
5
|
+
vkeyHash: `0x${string}`;
|
|
6
|
+
proof: `0x${string}`;
|
|
7
|
+
publicInputs: `0x${string}`[];
|
|
8
|
+
};
|
|
9
|
+
commitments: {
|
|
10
|
+
committedInputs: `0x${string}`;
|
|
11
|
+
committedInputCounts: bigint[];
|
|
12
|
+
};
|
|
13
|
+
serviceConfig: {
|
|
14
|
+
validityPeriodInSeconds: bigint;
|
|
15
|
+
domain: string;
|
|
16
|
+
scope: string;
|
|
17
|
+
devMode: boolean;
|
|
18
|
+
};
|
|
13
19
|
};
|
|
14
20
|
export declare class ZkPassportProofParams {
|
|
15
21
|
devMode: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zkpassport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zkpassport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,MAAM,MAAM,yBAAyB,GAAG;IACtC,qBAAqB,EAAE;QACrB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QACxB,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KAC/B,CAAC;IACF,WAAW,EAAE;QACX,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;QAC/B,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAChC,CAAC;IACF,aAAa,EAAE;QACb,uBAAuB,EAAE,MAAM,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAIF,qBAAa,qBAAqB;IAEvB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,MAAM;IACb,YAAY,EAAE,EAAE,EAAE;IAClB,eAAe,EAAE,MAAM;IACvB,oBAAoB,EAAE,MAAM,EAAE;IAC9B,uBAAuB,EAAE,MAAM;IAC/B,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;gBARb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,EAAE,EAAE,EAClB,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,uBAAuB,EAAE,MAAM,EAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM;IAGtB,QAAQ;IAkBR,MAAM,CAAC,MAAM;IAqBb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;IAehC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,yBAAyB;IAcjD,MAAM,IAAI,yBAAyB;CAmBpC"}
|
package/dest/zkpassport/index.js
CHANGED
|
@@ -56,26 +56,32 @@ export class ZkPassportProofParams {
|
|
|
56
56
|
const publicInputs = Array.from({
|
|
57
57
|
length: Number(publicInputsCount)
|
|
58
58
|
}, ()=>Fr.random());
|
|
59
|
-
return new ZkPassportProofParams(false, Buffer32.random(), randomBytes(1024), publicInputs, committedInputs, committedInputCounts, BigInt(
|
|
59
|
+
return new ZkPassportProofParams(false, Buffer32.random(), randomBytes(1024), publicInputs, committedInputs, committedInputCounts, BigInt(7 * 24 * 60 * 60), 'sequencer.alpha-testnet.aztec.network', 'personhood');
|
|
60
60
|
}
|
|
61
61
|
static fromBuffer(buffer) {
|
|
62
62
|
const reader = BufferReader.asReader(buffer);
|
|
63
63
|
return new ZkPassportProofParams(reader.readBoolean(), reader.readObject(Buffer32), reader.readBuffer(), reader.readVector(Fr), reader.readBuffer(), reader.readUint256Vector(), reader.readUInt256(), reader.readString(), reader.readString());
|
|
64
64
|
}
|
|
65
65
|
static fromViem(params) {
|
|
66
|
-
return new ZkPassportProofParams(params.devMode, Buffer32.fromString(params.vkeyHash), Buffer.from(withoutHexPrefix(params.proof), 'hex'), params.publicInputs.map((input)=>Fr.fromString(input)), Buffer.from(withoutHexPrefix(params.committedInputs), 'hex'), params.committedInputCounts, params.validityPeriodInSeconds, params.domain, params.scope);
|
|
66
|
+
return new ZkPassportProofParams(params.serviceConfig.devMode, Buffer32.fromString(params.proofVerificationData.vkeyHash), Buffer.from(withoutHexPrefix(params.proofVerificationData.proof), 'hex'), params.proofVerificationData.publicInputs.map((input)=>Fr.fromString(input)), Buffer.from(withoutHexPrefix(params.commitments.committedInputs), 'hex'), params.commitments.committedInputCounts, params.serviceConfig.validityPeriodInSeconds, params.serviceConfig.domain, params.serviceConfig.scope);
|
|
67
67
|
}
|
|
68
68
|
toViem() {
|
|
69
69
|
return {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
70
|
+
serviceConfig: {
|
|
71
|
+
devMode: this.devMode,
|
|
72
|
+
validityPeriodInSeconds: this.validityPeriodInSeconds,
|
|
73
|
+
domain: this.domain,
|
|
74
|
+
scope: this.scope
|
|
75
|
+
},
|
|
76
|
+
proofVerificationData: {
|
|
77
|
+
vkeyHash: this.vkeyHash.toString(),
|
|
78
|
+
proof: `0x${this.proof.toString('hex')}`,
|
|
79
|
+
publicInputs: this.publicInputs.map((input)=>input.toString())
|
|
80
|
+
},
|
|
81
|
+
commitments: {
|
|
82
|
+
committedInputs: `0x${this.committedInputs.toString('hex')}`,
|
|
83
|
+
committedInputCounts: this.committedInputCounts
|
|
84
|
+
}
|
|
79
85
|
};
|
|
80
86
|
}
|
|
81
87
|
}
|