@aztec/stdlib 0.0.1-commit.fcb71a6 → 0.0.1-commit.fffb133c
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/contract_artifact.d.ts +2 -2
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +1 -1
- package/dest/abi/function_call.d.ts +9 -1
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/selector.js +3 -1
- package/dest/abi/utils.d.ts +7 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +7 -0
- package/dest/auth_witness/auth_witness.d.ts +2 -1
- package/dest/auth_witness/auth_witness.d.ts.map +1 -1
- package/dest/avm/avm.d.ts +62 -62
- package/dest/avm/avm_accumulated_data.d.ts +30 -3
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +5 -2
- package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
- package/dest/avm/avm_circuit_public_inputs.js +3 -1
- package/dest/avm/avm_proving_request.d.ts +299 -299
- package/dest/avm/contract_storage_read.d.ts +13 -1
- package/dest/avm/contract_storage_read.d.ts.map +1 -1
- package/dest/avm/contract_storage_update_request.d.ts +13 -1
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
- package/dest/avm/public_data_read.d.ts +10 -1
- package/dest/avm/public_data_read.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.d.ts +10 -1
- package/dest/avm/public_data_update_request.d.ts.map +1 -1
- package/dest/avm/public_data_update_request.js +3 -1
- package/dest/avm/public_data_write.d.ts +7 -1
- package/dest/avm/public_data_write.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.d.ts +4 -1
- package/dest/avm/public_inner_call_request.d.ts.map +1 -1
- package/dest/avm/public_inner_call_request.js +3 -1
- package/dest/avm/revert_code.d.ts +4 -4
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +3 -1
- package/dest/aztec-address/index.js +4 -2
- package/dest/block/attestation_info.d.ts +5 -5
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +4 -4
- package/dest/block/block_hash.d.ts +9 -2
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +15 -0
- package/dest/block/block_parameter.d.ts +4 -3
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +2 -0
- package/dest/block/body.d.ts +1 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +5 -2
- package/dest/block/checkpointed_l2_block.d.ts +20 -137
- package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
- package/dest/block/checkpointed_l2_block.js +7 -45
- package/dest/block/index.d.ts +1 -3
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -2
- package/dest/block/l2_block.d.ts +56 -57
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +64 -107
- package/dest/block/l2_block_source.d.ts +296 -67
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +25 -6
- package/dest/block/l2_block_stream/index.d.ts +2 -1
- package/dest/block/l2_block_stream/index.d.ts.map +1 -1
- package/dest/block/l2_block_stream/index.js +1 -0
- package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +8 -3
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +106 -31
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
- package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +478 -38
- package/dest/block/validate_block_result.d.ts +24 -24
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -17
- package/dest/checkpoint/checkpoint.d.ts +30 -20
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +19 -6
- package/dest/checkpoint/checkpoint_info.d.ts +32 -3
- package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_info.js +34 -1
- package/dest/checkpoint/index.d.ts +2 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +1 -0
- package/dest/checkpoint/published_checkpoint.d.ts +17 -15
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +4 -3
- package/dest/config/node-rpc-config.js +1 -1
- package/dest/contract/complete_address.d.ts +4 -1
- package/dest/contract/complete_address.d.ts.map +1 -1
- package/dest/contract/contract_deployment_data.d.ts +5 -5
- package/dest/contract/index.d.ts +1 -3
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -2
- package/dest/contract/interfaces/contract_instance.d.ts +16 -16
- package/dest/contract/private_function.d.ts +1 -1
- package/dest/contract/private_function.d.ts.map +1 -1
- package/dest/contract/private_function.js +1 -2
- package/dest/database-version/version_manager.d.ts +4 -2
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +3 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
- package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
- package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
- package/dest/deserialization/index.d.ts +11 -0
- package/dest/deserialization/index.d.ts.map +1 -0
- package/dest/deserialization/index.js +10 -0
- package/dest/epoch-helpers/index.js +1 -1
- package/dest/errors/proving_error.d.ts +2 -2
- package/dest/errors/proving_error.d.ts.map +1 -1
- package/dest/gas/gas.js +3 -1
- package/dest/gas/gas_fees.js +3 -1
- package/dest/interfaces/api_limit.d.ts +3 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +2 -0
- package/dest/interfaces/archiver.d.ts +6 -6
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +20 -16
- package/dest/interfaces/aztec-node-admin.d.ts +67 -31
- 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 +70 -51
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +12 -9
- package/dest/interfaces/block-builder.d.ts +16 -14
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +12 -7
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +2 -1
- package/dest/interfaces/get_logs_response.d.ts +1 -1
- package/dest/interfaces/l2_logs_source.d.ts +14 -5
- package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +7 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +3 -4
- package/dest/interfaces/prover-client.d.ts +10 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +7 -1
- package/dest/interfaces/proving-job.d.ts +184 -184
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +1 -7
- package/dest/interfaces/server_circuit_prover.d.ts +4 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/tx_provider.d.ts +3 -3
- package/dest/interfaces/tx_provider.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +108 -18
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +5 -3
- package/dest/kernel/claimed_length_array.js +3 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
- package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
- package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request.d.ts +2 -1
- package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/read_request.d.ts +7 -1
- package/dest/kernel/hints/read_request.d.ts.map +1 -1
- package/dest/kernel/hints/read_request_hints.d.ts +7 -1
- package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
- package/dest/kernel/log_hash.js +3 -1
- package/dest/kernel/private_accumulated_data.d.ts +23 -1
- package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +25 -1
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_request.d.ts +16 -1
- package/dest/kernel/private_call_request.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_data.d.ts +7 -1
- package/dest/kernel/private_kernel_data.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
- package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
- package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +5 -2
- package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
- package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
- package/dest/kernel/private_to_public_accumulated_data.js +3 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
- package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.d.ts +10 -1
- package/dest/kernel/private_validation_requests.d.ts.map +1 -1
- package/dest/kernel/private_validation_requests.js +3 -1
- package/dest/kernel/public_call_request.d.ts +22 -1
- package/dest/kernel/public_call_request.d.ts.map +1 -1
- package/dest/kernel/public_call_request.js +5 -2
- package/dest/kernel/utils/optional_number.d.ts +7 -1
- package/dest/kernel/utils/optional_number.d.ts.map +1 -1
- package/dest/keys/public_keys.d.ts +5 -1
- package/dest/keys/public_keys.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +3 -1
- package/dest/logs/extended_contract_class_log.d.ts +3 -1
- package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
- package/dest/logs/extended_public_log.d.ts +5 -3
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/log_id.d.ts +5 -1
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/private_log.js +3 -1
- package/dest/logs/public_log.js +3 -1
- package/dest/messaging/in_hash.d.ts +4 -2
- package/dest/messaging/in_hash.d.ts.map +1 -1
- package/dest/messaging/in_hash.js +3 -1
- package/dest/messaging/inbox_leaf.d.ts +3 -1
- package/dest/messaging/inbox_leaf.d.ts.map +1 -1
- package/dest/messaging/l1_actor.d.ts +7 -1
- package/dest/messaging/l1_actor.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.d.ts +6 -1
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l2_actor.d.ts +7 -1
- package/dest/messaging/l2_actor.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +160 -42
- package/dest/messaging/out_hash.d.ts +41 -3
- package/dest/messaging/out_hash.d.ts.map +1 -1
- package/dest/messaging/out_hash.js +54 -19
- package/dest/note/note_dao.d.ts +36 -5
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +15 -12
- package/dest/p2p/attestation_utils.d.ts +3 -3
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +1 -1
- package/dest/p2p/block_proposal.d.ts +93 -21
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +140 -39
- package/dest/p2p/checkpoint_attestation.d.ts +81 -0
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
- package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
- package/dest/p2p/checkpoint_proposal.d.ts +160 -0
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
- package/dest/p2p/checkpoint_proposal.js +229 -0
- package/dest/p2p/consensus_payload.d.ts +9 -9
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +3 -5
- package/dest/p2p/constants.d.ts +3 -0
- package/dest/p2p/constants.d.ts.map +1 -0
- package/dest/p2p/constants.js +2 -0
- package/dest/p2p/gossipable.d.ts +4 -3
- package/dest/p2p/gossipable.d.ts.map +1 -1
- package/dest/p2p/gossipable.js +16 -5
- package/dest/p2p/index.d.ts +5 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +4 -1
- package/dest/p2p/message_validator.d.ts +18 -3
- package/dest/p2p/message_validator.d.ts.map +1 -1
- package/dest/p2p/message_validator.js +2 -1
- package/dest/p2p/signature_utils.d.ts +5 -3
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +3 -1
- package/dest/p2p/signed_txs.d.ts +42 -0
- package/dest/p2p/signed_txs.d.ts.map +1 -0
- package/dest/p2p/signed_txs.js +75 -0
- package/dest/p2p/topic_type.d.ts +3 -2
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +10 -3
- package/dest/parity/parity_base_private_inputs.d.ts +3 -1
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
- package/dest/parity/parity_public_inputs.d.ts +4 -1
- package/dest/parity/parity_public_inputs.d.ts.map +1 -1
- package/dest/parity/parity_root_private_inputs.d.ts +2 -1
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.d.ts +1 -1
- package/dest/proofs/chonk_proof.d.ts.map +1 -1
- package/dest/proofs/chonk_proof.js +9 -4
- package/dest/proofs/proof.d.ts +4 -1
- package/dest/proofs/proof.d.ts.map +1 -1
- package/dest/proofs/recursive_proof.d.ts +10 -1
- package/dest/proofs/recursive_proof.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +34 -1
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.d.ts +12 -1
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_headers_hash.js +1 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/block_rollup_public_inputs.js +8 -12
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +3 -1
- package/dest/rollup/checkpoint_header.d.ts +42 -12
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +49 -19
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
- package/dest/rollup/epoch_constant_data.d.ts +16 -1
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +18 -3
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +9 -3
- package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/schemas/schemas.d.ts +1 -1
- package/dest/tests/factories.d.ts +16 -10
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +60 -25
- package/dest/tests/jest.js +1 -1
- package/dest/tests/mocks.d.ts +69 -18
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +119 -54
- package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +3 -1
- package/dest/trees/nullifier_leaf.d.ts +13 -1
- package/dest/trees/nullifier_leaf.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.d.ts +10 -1
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.d.ts +16 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_witness.d.ts +11 -1
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/tx/block_header.d.ts +14 -2
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +8 -2
- package/dest/tx/call_context.d.ts +13 -1
- package/dest/tx/call_context.d.ts.map +1 -1
- package/dest/tx/call_context.js +3 -1
- package/dest/tx/capsule.d.ts +4 -1
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/execution_payload.d.ts +9 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/function_data.d.ts +4 -2
- package/dest/tx/function_data.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +2 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +9 -1
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +3 -1
- package/dest/tx/hashed_values.d.ts +7 -1
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/in_tx.d.ts +1 -1
- package/dest/tx/index.d.ts +1 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- package/dest/tx/partial_state_reference.d.ts +4 -1
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +23 -6
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +4 -21
- package/dest/tx/private_tx_constant_data.d.ts +16 -1
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/profiling.d.ts +149 -26
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +44 -7
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
- package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
- package/dest/tx/public_call_request_with_calldata.js +3 -1
- package/dest/tx/state_reference.d.ts +3 -1
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +3 -1
- package/dest/tx/tree_snapshots.js +3 -1
- package/dest/tx/tx.d.ts +24 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +9 -4
- package/dest/tx/tx_context.d.ts +2 -1
- package/dest/tx/tx_context.d.ts.map +1 -1
- package/dest/tx/tx_effect.d.ts +32 -6
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +3 -8
- package/dest/tx/tx_execution_request.d.ts +30 -1
- package/dest/tx/tx_execution_request.d.ts.map +1 -1
- package/dest/tx/tx_execution_request.js +6 -2
- package/dest/tx/tx_hash.d.ts +2 -1
- package/dest/tx/tx_hash.d.ts.map +1 -1
- package/dest/tx/tx_receipt.d.ts +44 -10
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +44 -13
- package/dest/tx/tx_request.d.ts +6 -1
- package/dest/tx/tx_request.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +2 -1
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +2 -0
- package/dest/types/shared.d.ts +4 -1
- package/dest/types/shared.d.ts.map +1 -1
- package/dest/validators/schemas.d.ts +8 -8
- package/dest/vks/verification_key.d.ts +22 -1
- package/dest/vks/verification_key.d.ts.map +1 -1
- package/dest/vks/vk_data.d.ts +7 -1
- package/dest/vks/vk_data.d.ts.map +1 -1
- package/dest/zkpassport/index.d.ts +3 -4
- package/dest/zkpassport/index.d.ts.map +1 -1
- package/dest/zkpassport/index.js +9 -9
- package/package.json +12 -10
- package/src/abi/contract_artifact.ts +10 -10
- package/src/abi/utils.ts +17 -0
- package/src/block/attestation_info.ts +9 -6
- package/src/block/block_hash.ts +27 -1
- package/src/block/block_parameter.ts +4 -2
- package/src/block/body.ts +2 -1
- package/src/block/checkpointed_l2_block.ts +8 -58
- package/src/block/index.ts +0 -2
- package/src/block/l2_block.ts +101 -148
- package/src/block/l2_block_source.ts +121 -43
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +15 -4
- package/src/block/l2_block_stream/l2_block_stream.ts +130 -39
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
- package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
- package/src/block/test/l2_tips_store_test_suite.ts +480 -36
- package/src/block/validate_block_result.ts +40 -35
- package/src/checkpoint/checkpoint.ts +34 -11
- package/src/checkpoint/checkpoint_info.ts +45 -2
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/published_checkpoint.ts +4 -3
- package/src/config/node-rpc-config.ts +1 -1
- package/src/contract/index.ts +0 -2
- package/src/contract/private_function.ts +1 -2
- package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
- package/src/deserialization/index.ts +21 -0
- package/src/epoch-helpers/index.ts +1 -1
- package/src/interfaces/api_limit.ts +2 -0
- package/src/interfaces/archiver.ts +24 -23
- package/src/interfaces/aztec-node-admin.ts +5 -2
- package/src/interfaces/aztec-node.ts +100 -68
- package/src/interfaces/block-builder.ts +31 -24
- package/src/interfaces/configs.ts +3 -0
- package/src/interfaces/l2_logs_source.ts +17 -4
- package/src/interfaces/p2p.ts +8 -12
- package/src/interfaces/prover-client.ts +15 -0
- package/src/interfaces/proving-job.ts +2 -11
- package/src/interfaces/server_circuit_prover.ts +3 -2
- package/src/interfaces/tx_provider.ts +2 -2
- package/src/interfaces/validator.ts +63 -14
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
- package/src/messaging/in_hash.ts +3 -1
- package/src/messaging/l2_to_l1_membership.ts +178 -52
- package/src/messaging/out_hash.ts +62 -21
- package/src/note/note_dao.ts +18 -13
- package/src/p2p/attestation_utils.ts +3 -3
- package/src/p2p/block_proposal.ts +204 -44
- package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
- package/src/p2p/checkpoint_proposal.ts +348 -0
- package/src/p2p/consensus_payload.ts +5 -7
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/gossipable.ts +14 -4
- package/src/p2p/index.ts +4 -1
- package/src/p2p/message_validator.ts +14 -2
- package/src/p2p/signature_utils.ts +3 -1
- package/src/p2p/signed_txs.ts +88 -0
- package/src/p2p/topic_type.ts +4 -3
- package/src/proofs/chonk_proof.ts +9 -5
- package/src/rollup/block_headers_hash.ts +1 -1
- package/src/rollup/block_rollup_public_inputs.ts +5 -11
- package/src/rollup/checkpoint_header.ts +63 -20
- package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -0
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
- package/src/rollup/root_rollup_public_inputs.ts +9 -0
- package/src/tests/factories.ts +56 -40
- package/src/tests/jest.ts +1 -1
- package/src/tests/mocks.ts +207 -87
- package/src/tx/block_header.ts +11 -3
- package/src/tx/global_variable_builder.ts +1 -1
- package/src/tx/index.ts +0 -1
- package/src/tx/private_execution_result.ts +1 -16
- package/src/tx/profiling.ts +46 -4
- package/src/tx/tx.ts +10 -9
- package/src/tx/tx_effect.ts +0 -9
- package/src/tx/tx_execution_request.ts +2 -0
- package/src/tx/tx_receipt.ts +72 -15
- package/src/tx/validator/error_texts.ts +3 -0
- package/src/zkpassport/index.ts +11 -12
- package/dest/block/l2_block_code_to_purge.d.ts +0 -12
- package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
- package/dest/block/l2_block_code_to_purge.js +0 -61
- package/dest/block/l2_block_header.d.ts +0 -98
- package/dest/block/l2_block_header.d.ts.map +0 -1
- package/dest/block/l2_block_header.js +0 -153
- package/dest/block/l2_block_new.d.ts +0 -135
- package/dest/block/l2_block_new.d.ts.map +0 -1
- package/dest/block/l2_block_new.js +0 -152
- package/dest/contract/contract_class_metadata.d.ts +0 -8
- package/dest/contract/contract_class_metadata.d.ts.map +0 -1
- package/dest/contract/contract_class_metadata.js +0 -1
- package/dest/contract/contract_metadata.d.ts +0 -7
- package/dest/contract/contract_metadata.d.ts.map +0 -1
- package/dest/contract/contract_metadata.js +0 -1
- package/dest/p2p/block_attestation.d.ts +0 -80
- package/dest/p2p/block_attestation.d.ts.map +0 -1
- package/dest/tx/content_commitment.d.ts +0 -49
- package/dest/tx/content_commitment.d.ts.map +0 -1
- package/dest/tx/content_commitment.js +0 -90
- package/src/block/l2_block_code_to_purge.ts +0 -88
- package/src/block/l2_block_header.ts +0 -246
- package/src/block/l2_block_new.ts +0 -207
- package/src/contract/contract_class_metadata.ts +0 -8
- package/src/contract/contract_metadata.ts +0 -7
- package/src/tx/content_commitment.ts +0 -113
package/dest/tests/factories.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { makeBlobAccumulator, makeFinalBlobAccumulator, makeFinalBlobBatchingChallenges, makeSpongeBlob } from '@aztec/blob-lib/testing';
|
|
2
2
|
import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AZTEC_MAX_EPOCH_DURATION, CHONK_PROOF_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, GeneratorIndex, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, MAX_PROTOCOL_CONTRACTS, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_MSGS_PER_BASE_PARITY, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DATA_TREE_HEIGHT, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
3
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
4
|
-
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
|
+
import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
5
5
|
import { compact } from '@aztec/foundation/collection';
|
|
6
6
|
import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
|
|
7
7
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
@@ -18,7 +18,6 @@ import { AvmAccumulatedData, AvmAccumulatedDataArrayLengths, AvmAppendLeavesHint
|
|
|
18
18
|
import { PublicDataRead } from '../avm/public_data_read.js';
|
|
19
19
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
20
20
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
21
|
-
import { L2BlockHeader } from '../block/l2_block_header.js';
|
|
22
21
|
import { ContractDeploymentData, SerializableContractInstance, computeContractClassId, computePublicBytecodeCommitment } from '../contract/index.js';
|
|
23
22
|
import { Gas, GasFees, GasSettings } from '../gas/index.js';
|
|
24
23
|
import { computeCalldataHash } from '../hash/hash.js';
|
|
@@ -68,7 +67,6 @@ import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js
|
|
|
68
67
|
import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
69
68
|
import { BlockHeader } from '../tx/block_header.js';
|
|
70
69
|
import { CallContext } from '../tx/call_context.js';
|
|
71
|
-
import { ContentCommitment } from '../tx/content_commitment.js';
|
|
72
70
|
import { FunctionData } from '../tx/function_data.js';
|
|
73
71
|
import { GlobalVariables } from '../tx/global_variables.js';
|
|
74
72
|
import { PartialStateReference } from '../tx/partial_state_reference.js';
|
|
@@ -440,10 +438,10 @@ function makeEpochConstantData(seed = 1) {
|
|
|
440
438
|
* @param blockNumber - The block number to use for generating the block merge or block root rollup circuit public inputs.
|
|
441
439
|
* @returns A block merge or block root rollup circuit public inputs.
|
|
442
440
|
*/ export function makeBlockRollupPublicInputs(seed = 0) {
|
|
443
|
-
return new BlockRollupPublicInputs(makeCheckpointConstantData(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeAppendOnlyTreeSnapshot(seed + 0x300), makeStateReference(seed + 0x400), makeStateReference(seed + 0x500), makeSpongeBlob(seed + 0x600), makeSpongeBlob(seed + 0x700), BigInt(seed + 0x800),
|
|
441
|
+
return new BlockRollupPublicInputs(makeCheckpointConstantData(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeAppendOnlyTreeSnapshot(seed + 0x300), makeStateReference(seed + 0x400), makeStateReference(seed + 0x500), makeSpongeBlob(seed + 0x600), makeSpongeBlob(seed + 0x700), BigInt(seed + 0x800), fr(seed + 0x820), fr(seed + 0x830), fr(seed + 0x840), fr(seed + 0x850), fr(seed + 0x860));
|
|
444
442
|
}
|
|
445
443
|
export function makeCheckpointRollupPublicInputs(seed = 0) {
|
|
446
|
-
return new CheckpointRollupPublicInputs(makeEpochConstantData(seed), makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed),
|
|
444
|
+
return new CheckpointRollupPublicInputs(makeEpochConstantData(seed), makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), makeAppendOnlyTreeSnapshot(seed + 0x300), makeAppendOnlyTreeSnapshot(seed + 0x350), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x400), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x500), makeBlobAccumulator(seed + 0x600), makeBlobAccumulator(seed + 0x700), makeFinalBlobBatchingChallenges(seed + 0x800));
|
|
447
445
|
}
|
|
448
446
|
export function makeParityPublicInputs(seed = 0) {
|
|
449
447
|
return new ParityPublicInputs(new Fr(BigInt(seed + 0x200)), new Fr(BigInt(seed + 0x300)), new Fr(BigInt(seed + 0x400)));
|
|
@@ -460,12 +458,7 @@ export function makeParityRootPrivateInputs(seed = 0) {
|
|
|
460
458
|
* @param blockNumber - The block number to use in the global variables of a header.
|
|
461
459
|
* @returns A root rollup public inputs.
|
|
462
460
|
*/ export function makeRootRollupPublicInputs(seed = 0) {
|
|
463
|
-
return new RootRollupPublicInputs(fr(seed + 0x100), fr(seed + 0x200), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed),
|
|
464
|
-
}
|
|
465
|
-
/**
|
|
466
|
-
* Makes content commitment
|
|
467
|
-
*/ export function makeContentCommitment(seed = 0) {
|
|
468
|
-
return new ContentCommitment(fr(seed + 0x100), fr(seed + 0x200), fr(seed + 0x300));
|
|
461
|
+
return new RootRollupPublicInputs(fr(seed + 0x100), fr(seed + 0x200), fr(seed + 0x300), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x400), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x500), makeEpochConstantData(seed + 0x600), makeFinalBlobAccumulator(seed + 0x700));
|
|
469
462
|
}
|
|
470
463
|
export function makeBlockHeader(seed = 0, overrides = {}) {
|
|
471
464
|
return BlockHeader.from({
|
|
@@ -478,27 +471,20 @@ export function makeBlockHeader(seed = 0, overrides = {}) {
|
|
|
478
471
|
...overrides
|
|
479
472
|
});
|
|
480
473
|
}
|
|
481
|
-
export function
|
|
482
|
-
return new L2BlockHeader(makeAppendOnlyTreeSnapshot(seed + 0x100), overrides?.contentCommitment ?? makeContentCommitment(seed + 0x200), overrides?.state ?? makeStateReference(seed + 0x600), makeGlobalVariables(seed += 0x700, {
|
|
483
|
-
...blockNumber !== undefined ? {
|
|
484
|
-
blockNumber: BlockNumber(blockNumber)
|
|
485
|
-
} : {},
|
|
486
|
-
...slotNumber !== undefined ? {
|
|
487
|
-
slotNumber: SlotNumber(slotNumber)
|
|
488
|
-
} : {}
|
|
489
|
-
}), new Fr(seed + 0x800), new Fr(seed + 0x900), new Fr(seed + 0xa00), new Fr(seed + 0xb00));
|
|
490
|
-
}
|
|
491
|
-
export function makeCheckpointHeader(seed = 0) {
|
|
474
|
+
export function makeCheckpointHeader(seed = 0, overrides = {}) {
|
|
492
475
|
return CheckpointHeader.from({
|
|
493
476
|
lastArchiveRoot: fr(seed + 0x100),
|
|
494
477
|
blockHeadersHash: fr(seed + 0x150),
|
|
495
|
-
|
|
478
|
+
blobsHash: fr(seed + 0x200),
|
|
479
|
+
inHash: fr(seed + 0x210),
|
|
480
|
+
epochOutHash: fr(seed + 0x220),
|
|
496
481
|
slotNumber: SlotNumber(seed + 0x300),
|
|
497
482
|
timestamp: BigInt(seed + 0x400),
|
|
498
483
|
coinbase: makeEthAddress(seed + 0x500),
|
|
499
484
|
feeRecipient: makeAztecAddress(seed + 0x600),
|
|
500
485
|
gasFees: makeGasFees(seed + 0x700),
|
|
501
|
-
totalManaUsed: fr(seed + 0x800)
|
|
486
|
+
totalManaUsed: fr(seed + 0x800),
|
|
487
|
+
...overrides
|
|
502
488
|
});
|
|
503
489
|
}
|
|
504
490
|
/**
|
|
@@ -523,7 +509,7 @@ function makeTreeSnapshots(seed = 0) {
|
|
|
523
509
|
function makeCountedL2ToL1Message(seed = 0) {
|
|
524
510
|
return new CountedL2ToL1Message(makeL2ToL1Message(seed), seed + 2);
|
|
525
511
|
}
|
|
526
|
-
function makeScopedL2ToL1Message(seed = 1) {
|
|
512
|
+
export function makeScopedL2ToL1Message(seed = 1) {
|
|
527
513
|
return new ScopedL2ToL1Message(makeL2ToL1Message(seed), makeAztecAddress(seed + 3));
|
|
528
514
|
}
|
|
529
515
|
/**
|
|
@@ -953,3 +939,52 @@ export async function makeAvmTxHint(seed = 0) {
|
|
|
953
939
|
Fr.random()
|
|
954
940
|
], opts?.firstNullifier ?? Fr.random());
|
|
955
941
|
}
|
|
942
|
+
/**
|
|
943
|
+
* Creates L2Tips with all tips pointing to the same block number.
|
|
944
|
+
* Useful for mocking aztecNode.getL2Tips() in tests.
|
|
945
|
+
* @param blockNumber - The block number to use for all tips.
|
|
946
|
+
* @param hash - Optional hash for the block (defaults to empty string).
|
|
947
|
+
* @param checkpointNumber - Optional checkpoint number (defaults to blockNumber).
|
|
948
|
+
* @param checkpointHash - Optional checkpoint hash (defaults to block hash).
|
|
949
|
+
* @returns L2Tips object with all tips at the same block.
|
|
950
|
+
*/ export function makeL2Tips(blockNumber, hash = '', checkpointNumber, checkpointHash) {
|
|
951
|
+
const bn = typeof blockNumber === 'number' ? BlockNumber(blockNumber) : blockNumber;
|
|
952
|
+
const cpn = checkpointNumber !== undefined ? typeof checkpointNumber === 'number' ? CheckpointNumber(checkpointNumber) : checkpointNumber : CheckpointNumber.fromBlockNumber(bn);
|
|
953
|
+
const cph = checkpointHash ?? hash;
|
|
954
|
+
return {
|
|
955
|
+
proposed: {
|
|
956
|
+
number: bn,
|
|
957
|
+
hash
|
|
958
|
+
},
|
|
959
|
+
checkpointed: {
|
|
960
|
+
block: {
|
|
961
|
+
number: bn,
|
|
962
|
+
hash
|
|
963
|
+
},
|
|
964
|
+
checkpoint: {
|
|
965
|
+
number: cpn,
|
|
966
|
+
hash: cph
|
|
967
|
+
}
|
|
968
|
+
},
|
|
969
|
+
proven: {
|
|
970
|
+
block: {
|
|
971
|
+
number: bn,
|
|
972
|
+
hash
|
|
973
|
+
},
|
|
974
|
+
checkpoint: {
|
|
975
|
+
number: cpn,
|
|
976
|
+
hash: cph
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
finalized: {
|
|
980
|
+
block: {
|
|
981
|
+
number: bn,
|
|
982
|
+
hash
|
|
983
|
+
},
|
|
984
|
+
checkpoint: {
|
|
985
|
+
number: cpn,
|
|
986
|
+
hash: cph
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
};
|
|
990
|
+
}
|
package/dest/tests/jest.js
CHANGED
|
@@ -17,7 +17,7 @@ import { L2Block } from '../block/l2_block.js';
|
|
|
17
17
|
// use a custom comparator because the blockHash property is lazily computed and one instance might not have it
|
|
18
18
|
return aAsL2Block.toBuffer().equals(bAsL2Block.toBuffer());
|
|
19
19
|
} else if (aAsL2Block || bAsL2Block) {
|
|
20
|
-
// one value is an
|
|
20
|
+
// one value is an L2Block and the other isn't. Definitely not equal.
|
|
21
21
|
return false;
|
|
22
22
|
} else {
|
|
23
23
|
// we don't know what they are, tell Jest to keep looking
|
package/dest/tests/mocks.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type FieldsOf } from '@aztec/foundation/array';
|
|
2
|
+
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
2
3
|
import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
3
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
|
+
import { Signature } from '@aztec/foundation/eth-signature';
|
|
4
6
|
import type { ContractArtifact } from '../abi/abi.js';
|
|
7
|
+
import type { AvmAccumulatedData } from '../avm/avm_accumulated_data.js';
|
|
5
8
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
6
9
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
7
|
-
import {
|
|
8
|
-
import { L2Block } from '../block/l2_block.js';
|
|
10
|
+
import { CheckpointedL2Block, L2Block } from '../block/index.js';
|
|
9
11
|
import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
|
|
10
12
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
11
13
|
import type { ContractInstanceWithAddress } from '../contract/index.js';
|
|
@@ -13,10 +15,11 @@ import { Gas } from '../gas/gas.js';
|
|
|
13
15
|
import { GasFees } from '../gas/gas_fees.js';
|
|
14
16
|
import { GasSettings } from '../gas/gas_settings.js';
|
|
15
17
|
import type { MerkleTreeReadOperations } from '../interfaces/merkle_tree_operations.js';
|
|
16
|
-
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
17
18
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
18
|
-
import {
|
|
19
|
+
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
20
|
+
import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
|
|
19
21
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
22
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
20
23
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
21
24
|
import { BlockHeader, GlobalVariables, ProtocolContracts, Tx } from '../tx/index.js';
|
|
22
25
|
import { TxSimulationResult } from '../tx/simulated_tx.js';
|
|
@@ -53,7 +56,7 @@ export declare const mockTxForRollup: (seed?: number, opts?: {
|
|
|
53
56
|
protocolContractsHash?: Fr | undefined;
|
|
54
57
|
} | undefined) => Promise<Tx>;
|
|
55
58
|
/** Mock a processed tx for testing purposes. */
|
|
56
|
-
export declare function mockProcessedTx({ seed, anchorBlockHeader, db, chainId, version, gasSettings, vkTreeRoot, protocolContracts, globalVariables, newL1ToL2Snapshot, feePayer, feePaymentPublicDataWrite, gasUsed, privateOnly, ...mockTxOpts }?: {
|
|
59
|
+
export declare function mockProcessedTx({ seed, anchorBlockHeader, db, chainId, version, gasSettings, vkTreeRoot, protocolContracts, globalVariables, newL1ToL2Snapshot, feePayer, feePaymentPublicDataWrite, gasUsed, privateOnly, avmAccumulatedData, ...mockTxOpts }?: {
|
|
57
60
|
seed?: number;
|
|
58
61
|
anchorBlockHeader?: BlockHeader;
|
|
59
62
|
db?: MerkleTreeReadOperations;
|
|
@@ -63,17 +66,20 @@ export declare function mockProcessedTx({ seed, anchorBlockHeader, db, chainId,
|
|
|
63
66
|
protocolContracts?: ProtocolContracts;
|
|
64
67
|
feePaymentPublicDataWrite?: PublicDataWrite;
|
|
65
68
|
privateOnly?: boolean;
|
|
69
|
+
avmAccumulatedData?: Partial<FieldsOf<AvmAccumulatedData>>;
|
|
66
70
|
} & Parameters<typeof mockTx>[1]): Promise<import("../tx/processed_tx.js").ProcessedTx>;
|
|
67
71
|
export declare const mockSimulatedTx: (seed?: number) => Promise<TxSimulationResult>;
|
|
68
72
|
export declare function mockL1ToL2Messages(numL1ToL2Messages: number): Fr[];
|
|
69
|
-
export declare function mockCheckpointAndMessages(checkpointNumber: CheckpointNumber, { startBlockNumber, numBlocks, numTxsPerBlock, numL1ToL2Messages, makeBlockOptions, previousArchive, ...options }?: {
|
|
73
|
+
export declare function mockCheckpointAndMessages(checkpointNumber: CheckpointNumber, { startBlockNumber, numBlocks, blocks, numTxsPerBlock, numL1ToL2Messages, makeBlockOptions, previousArchive, maxEffects, ...options }?: {
|
|
70
74
|
startBlockNumber?: BlockNumber;
|
|
71
75
|
numBlocks?: number;
|
|
72
76
|
numTxsPerBlock?: number;
|
|
73
77
|
numL1ToL2Messages?: number;
|
|
74
|
-
makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof
|
|
78
|
+
makeBlockOptions?: (blockNumber: BlockNumber) => Partial<Parameters<typeof L2Block.random>[1]>;
|
|
75
79
|
previousArchive?: AppendOnlyTreeSnapshot;
|
|
76
|
-
|
|
80
|
+
blocks?: L2Block[];
|
|
81
|
+
maxEffects?: number;
|
|
82
|
+
} & Partial<Parameters<typeof Checkpoint.random>[1]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<{
|
|
77
83
|
checkpoint: Checkpoint;
|
|
78
84
|
messages: Fr[];
|
|
79
85
|
lastArchive: AppendOnlyTreeSnapshot | undefined;
|
|
@@ -90,18 +96,63 @@ export interface MakeConsensusPayloadOptions {
|
|
|
90
96
|
signer?: Secp256k1Signer;
|
|
91
97
|
attesterSigner?: Secp256k1Signer;
|
|
92
98
|
proposerSigner?: Secp256k1Signer;
|
|
93
|
-
header?:
|
|
99
|
+
header?: CheckpointHeader;
|
|
94
100
|
archive?: Fr;
|
|
95
101
|
txHashes?: TxHash[];
|
|
96
102
|
txs?: Tx[];
|
|
97
103
|
}
|
|
98
|
-
export
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
export interface MakeBlockProposalOptions {
|
|
105
|
+
signer?: Secp256k1Signer;
|
|
106
|
+
blockHeader?: BlockHeader;
|
|
107
|
+
indexWithinCheckpoint?: IndexWithinCheckpoint;
|
|
108
|
+
inHash?: Fr;
|
|
109
|
+
archiveRoot?: Fr;
|
|
110
|
+
txHashes?: TxHash[];
|
|
111
|
+
txs?: Tx[];
|
|
112
|
+
}
|
|
113
|
+
export interface MakeCheckpointProposalOptions {
|
|
114
|
+
signer?: Secp256k1Signer;
|
|
115
|
+
checkpointHeader?: CheckpointHeader;
|
|
116
|
+
archiveRoot?: Fr;
|
|
117
|
+
/** Options for the lastBlock - if undefined, no lastBlock is included */
|
|
118
|
+
lastBlock?: {
|
|
119
|
+
blockHeader?: BlockHeader;
|
|
120
|
+
indexWithinCheckpoint?: IndexWithinCheckpoint;
|
|
121
|
+
txHashes?: TxHash[];
|
|
122
|
+
txs?: Tx[];
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export declare const makeAndSignCommitteeAttestationsAndSigners: (attestationsAndSigners: CommitteeAttestationsAndSigners, signer?: Secp256k1Signer) => Signature;
|
|
126
|
+
export declare const makeBlockProposal: (options?: MakeBlockProposalOptions | undefined) => Promise<BlockProposal>;
|
|
127
|
+
export declare const makeCheckpointProposal: (options?: MakeCheckpointProposalOptions | undefined) => Promise<CheckpointProposal>;
|
|
128
|
+
/**
|
|
129
|
+
* Options for creating a checkpoint attestation
|
|
130
|
+
*/
|
|
131
|
+
export type MakeCheckpointAttestationOptions = {
|
|
132
|
+
header?: CheckpointHeader;
|
|
133
|
+
archive?: Fr;
|
|
134
|
+
attesterSigner?: Secp256k1Signer;
|
|
135
|
+
proposerSigner?: Secp256k1Signer;
|
|
136
|
+
signer?: Secp256k1Signer;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Create a checkpoint attestation for testing
|
|
140
|
+
*/
|
|
141
|
+
export declare const makeCheckpointAttestation: (options?: MakeCheckpointAttestationOptions) => CheckpointAttestation;
|
|
142
|
+
/**
|
|
143
|
+
* Create a checkpoint attestation from a checkpoint proposal
|
|
144
|
+
*/
|
|
145
|
+
export declare const makeCheckpointAttestationFromProposal: (proposal: CheckpointProposal, attesterSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
|
|
146
|
+
/**
|
|
147
|
+
* Create a checkpoint attestation from a checkpoint
|
|
148
|
+
*/
|
|
149
|
+
export declare const makeCheckpointAttestationFromCheckpoint: (checkpoint: Checkpoint, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
|
|
150
|
+
/**
|
|
151
|
+
* Create a checkpoint attestation from an L2Block
|
|
152
|
+
* Note: This is a compatibility function for tests. L2Block doesn't have a checkpoint header directly.
|
|
153
|
+
*/
|
|
154
|
+
export declare const makeCheckpointAttestationFromBlock: (block: L2Block, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
|
|
104
155
|
export declare function randomPublishedL2Block(l2BlockNumber: number, opts?: {
|
|
105
156
|
signers?: Secp256k1Signer[];
|
|
106
|
-
}): Promise<
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
}): Promise<CheckpointedL2Block>;
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
|
package/dest/tests/mocks.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { FIXED_DA_GAS, FIXED_L2_GAS, MAX_ENQUEUED_CALLS_PER_TX, MAX_INCLUDE_BY_TIMESTAMP_DURATION, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
|
|
2
2
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
|
-
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
5
5
|
import { padArrayEnd, times } from '@aztec/foundation/collection';
|
|
6
6
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
7
7
|
import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
8
8
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
|
+
import { Signature } from '@aztec/foundation/eth-signature';
|
|
9
10
|
import { PublicTxEffect } from '../avm/avm.js';
|
|
10
11
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
11
12
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
12
13
|
import { RevertCode } from '../avm/revert_code.js';
|
|
13
14
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
14
|
-
import {
|
|
15
|
-
import { L2Block } from '../block/l2_block.js';
|
|
15
|
+
import { CheckpointedL2Block, CommitteeAttestation, L2Block } from '../block/index.js';
|
|
16
16
|
import { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
17
17
|
import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
|
|
18
18
|
import { computeContractAddressFromInstance } from '../contract/contract_address.js';
|
|
@@ -29,19 +29,21 @@ import { PrivateToAvmAccumulatedData } from '../kernel/private_to_avm_accumulate
|
|
|
29
29
|
import { PrivateToPublicAccumulatedDataBuilder } from '../kernel/private_to_public_accumulated_data_builder.js';
|
|
30
30
|
import { PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
|
|
31
31
|
import { computeInHashFromL1ToL2Messages } from '../messaging/in_hash.js';
|
|
32
|
-
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
33
32
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
33
|
+
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
34
|
+
import { CheckpointProposal } from '../p2p/checkpoint_proposal.js';
|
|
34
35
|
import { ConsensusPayload } from '../p2p/consensus_payload.js';
|
|
35
36
|
import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
|
|
36
37
|
import { ChonkProof } from '../proofs/chonk_proof.js';
|
|
37
38
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
39
|
+
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
38
40
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
39
41
|
import { GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
|
|
40
42
|
import { NestedProcessReturnValues, PublicSimulationOutput } from '../tx/public_simulation_output.js';
|
|
41
43
|
import { TxSimulationResult } from '../tx/simulated_tx.js';
|
|
42
44
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
43
45
|
import { TxHash } from '../tx/tx_hash.js';
|
|
44
|
-
import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeGas, makeGlobalVariables,
|
|
46
|
+
import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeCheckpointHeader, makeGas, makeGlobalVariables, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
|
|
45
47
|
export const randomTxHash = ()=>TxHash.random();
|
|
46
48
|
export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO } = {})=>{
|
|
47
49
|
const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
|
|
@@ -103,7 +105,7 @@ export const mockTxForRollup = (seed = 1, opts = {})=>mockTx(seed, {
|
|
|
103
105
|
gasUsed = Gas.from({
|
|
104
106
|
daGas: FIXED_DA_GAS,
|
|
105
107
|
l2Gas: FIXED_L2_GAS
|
|
106
|
-
}), privateOnly = false, ...mockTxOpts } = {}) {
|
|
108
|
+
}), privateOnly = false, avmAccumulatedData, ...mockTxOpts } = {}) {
|
|
107
109
|
seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
|
|
108
110
|
anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
|
|
109
111
|
feePayer ??= makeAztecAddress(seed + 0x100);
|
|
@@ -165,11 +167,10 @@ gasUsed = Gas.from({
|
|
|
165
167
|
avmOutput.previousRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(dataFromPrivate.revertibleAccumulatedData.noteHashes, dataFromPrivate.revertibleAccumulatedData.nullifiers, dataFromPrivate.revertibleAccumulatedData.l2ToL1Msgs);
|
|
166
168
|
avmOutput.previousRevertibleAccumulatedDataArrayLengths = avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
|
|
167
169
|
// Assign final data emitted from avm.
|
|
168
|
-
avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
|
|
169
|
-
avmOutput.accumulatedData.nullifiers = padArrayEnd(nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter((n)=>!n.isEmpty()), Fr.ZERO, MAX_NULLIFIERS_PER_TX);
|
|
170
|
-
avmOutput.accumulatedData.l2ToL1Msgs = revertibleData.l2ToL1Msgs;
|
|
171
|
-
avmOutput.accumulatedData.publicDataWrites = makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, (i)=>new PublicDataWrite(new Fr(i), new Fr(i + 10)), seed + 0x2000);
|
|
172
|
-
avmOutput.accumulatedData.publicDataWrites[0] = feePaymentPublicDataWrite;
|
|
170
|
+
avmOutput.accumulatedData.noteHashes = avmAccumulatedData?.noteHashes ?? revertibleData.noteHashes;
|
|
171
|
+
avmOutput.accumulatedData.nullifiers = avmAccumulatedData?.nullifiers ?? padArrayEnd(nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter((n)=>!n.isEmpty()), Fr.ZERO, MAX_NULLIFIERS_PER_TX);
|
|
172
|
+
avmOutput.accumulatedData.l2ToL1Msgs = avmAccumulatedData?.l2ToL1Msgs ?? revertibleData.l2ToL1Msgs;
|
|
173
|
+
avmOutput.accumulatedData.publicDataWrites = avmAccumulatedData?.publicDataWrites ?? makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, (i)=>i === 0 ? feePaymentPublicDataWrite : new PublicDataWrite(new Fr(i), new Fr(i + 10)), seed + 0x2000);
|
|
173
174
|
avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
|
|
174
175
|
avmOutput.gasSettings = gasSettings;
|
|
175
176
|
// Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
|
|
@@ -193,7 +194,7 @@ gasUsed = Gas.from({
|
|
|
193
194
|
}, publicTxEffect, gasUsed, RevertCode.OK, undefined /* revertReason */ );
|
|
194
195
|
}
|
|
195
196
|
}
|
|
196
|
-
const emptyPrivateCallExecutionResult = ()=>new PrivateCallExecutionResult(Buffer.from(''), Buffer.from(''), new Map(), PrivateCircuitPublicInputs.empty(),
|
|
197
|
+
const emptyPrivateCallExecutionResult = ()=>new PrivateCallExecutionResult(Buffer.from(''), Buffer.from(''), new Map(), PrivateCircuitPublicInputs.empty(), [], new Map(), [], [], [], [], []);
|
|
197
198
|
const emptyPrivateExecutionResult = ()=>new PrivateExecutionResult(emptyPrivateCallExecutionResult(), Fr.zero(), []);
|
|
198
199
|
export const mockSimulatedTx = async (seed = 1)=>{
|
|
199
200
|
const privateExecutionResult = emptyPrivateExecutionResult();
|
|
@@ -211,19 +212,24 @@ export function mockL1ToL2Messages(numL1ToL2Messages) {
|
|
|
211
212
|
length: numL1ToL2Messages
|
|
212
213
|
}, ()=>Fr.random());
|
|
213
214
|
}
|
|
214
|
-
export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, ...options } = {}) {
|
|
215
|
-
const slotNumber = options.slotNumber ?? SlotNumber(checkpointNumber * 10);
|
|
215
|
+
export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNumber = BlockNumber(1), numBlocks = 1, blocks, numTxsPerBlock = 1, numL1ToL2Messages = 1, makeBlockOptions = ()=>({}), previousArchive, maxEffects, ...options } = {}) {
|
|
216
|
+
const slotNumber = options.slotNumber ?? SlotNumber(Number(checkpointNumber) * 10);
|
|
216
217
|
const blocksAndMessages = [];
|
|
217
218
|
// Track the previous block's archive to ensure consecutive blocks have consistent archive roots.
|
|
218
219
|
// The current block's header.lastArchive must equal the previous block's archive.
|
|
219
220
|
let lastArchive = previousArchive;
|
|
220
|
-
|
|
221
|
+
// Pass maxEffects via txOptions so it reaches TxEffect.random
|
|
222
|
+
const txOptions = maxEffects !== undefined ? {
|
|
223
|
+
maxEffects
|
|
224
|
+
} : {};
|
|
225
|
+
for(let i = 0; i < (blocks?.length ?? numBlocks); i++){
|
|
221
226
|
const blockNumber = BlockNumber(startBlockNumber + i);
|
|
222
227
|
const { block, messages } = {
|
|
223
|
-
block: await
|
|
228
|
+
block: blocks?.[i] ?? await L2Block.random(blockNumber, {
|
|
224
229
|
checkpointNumber,
|
|
225
|
-
indexWithinCheckpoint: i,
|
|
230
|
+
indexWithinCheckpoint: IndexWithinCheckpoint(i),
|
|
226
231
|
txsPerBlock: numTxsPerBlock,
|
|
232
|
+
txOptions,
|
|
227
233
|
slotNumber,
|
|
228
234
|
...options,
|
|
229
235
|
...makeBlockOptions(blockNumber),
|
|
@@ -288,17 +294,18 @@ export const randomDeployedContract = async ()=>{
|
|
|
288
294
|
})
|
|
289
295
|
};
|
|
290
296
|
};
|
|
297
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
291
298
|
const makeAndSignConsensusPayload = (domainSeparator, options)=>{
|
|
292
|
-
const header = options?.header ??
|
|
299
|
+
const header = options?.header ?? makeCheckpointHeader(1);
|
|
293
300
|
const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
|
|
294
301
|
const payload = ConsensusPayload.fromFields({
|
|
295
|
-
header
|
|
302
|
+
header,
|
|
296
303
|
archive
|
|
297
304
|
});
|
|
298
305
|
const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
|
|
299
306
|
const signature = signer.sign(hash);
|
|
300
307
|
return {
|
|
301
|
-
blockNumber: header.
|
|
308
|
+
blockNumber: header.slotNumber,
|
|
302
309
|
payload,
|
|
303
310
|
signature
|
|
304
311
|
};
|
|
@@ -308,7 +315,10 @@ export const makeAndSignCommitteeAttestationsAndSigners = (attestationsAndSigner
|
|
|
308
315
|
return signer.sign(hash);
|
|
309
316
|
};
|
|
310
317
|
export const makeBlockProposal = (options)=>{
|
|
311
|
-
const
|
|
318
|
+
const blockHeader = options?.blockHeader ?? makeBlockHeader(1);
|
|
319
|
+
const indexWithinCheckpoint = options?.indexWithinCheckpoint ?? IndexWithinCheckpoint(0);
|
|
320
|
+
const inHash = options?.inHash ?? Fr.random();
|
|
321
|
+
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
312
322
|
const txHashes = options?.txHashes ?? [
|
|
313
323
|
0,
|
|
314
324
|
1,
|
|
@@ -317,46 +327,91 @@ export const makeBlockProposal = (options)=>{
|
|
|
317
327
|
4,
|
|
318
328
|
5
|
|
319
329
|
].map(()=>TxHash.random());
|
|
320
|
-
|
|
330
|
+
const txs = options?.txs;
|
|
331
|
+
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
332
|
+
return BlockProposal.createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, (_payload, _context)=>Promise.resolve(signer.signMessage(_payload)));
|
|
321
333
|
};
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
const
|
|
325
|
-
const
|
|
326
|
-
const
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
334
|
+
export const makeCheckpointProposal = (options)=>{
|
|
335
|
+
const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
|
|
336
|
+
const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
|
|
337
|
+
const archiveRoot = options?.archiveRoot ?? Fr.random();
|
|
338
|
+
const signer = options?.signer ?? Secp256k1Signer.random();
|
|
339
|
+
// Build lastBlock info if provided
|
|
340
|
+
const lastBlockInfo = options?.lastBlock ? {
|
|
341
|
+
blockHeader,
|
|
342
|
+
indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4),
|
|
343
|
+
txHashes: options.lastBlock.txHashes ?? [
|
|
344
|
+
0,
|
|
345
|
+
1,
|
|
346
|
+
2,
|
|
347
|
+
3,
|
|
348
|
+
4,
|
|
349
|
+
5
|
|
350
|
+
].map(()=>TxHash.random()),
|
|
351
|
+
txs: options.lastBlock.txs
|
|
352
|
+
} : undefined;
|
|
353
|
+
return CheckpointProposal.createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, (payload)=>Promise.resolve(signer.signMessage(payload)));
|
|
354
|
+
};
|
|
355
|
+
/**
|
|
356
|
+
* Create a checkpoint attestation for testing
|
|
357
|
+
*/ export const makeCheckpointAttestation = (options = {})=>{
|
|
358
|
+
const header = options.header ?? makeCheckpointHeader(1);
|
|
359
|
+
const archive = options.archive ?? Fr.random();
|
|
360
|
+
const { signer, attesterSigner = signer, proposerSigner = signer } = options;
|
|
361
|
+
const payload = new ConsensusPayload(header, archive);
|
|
362
|
+
// Sign as attester
|
|
363
|
+
const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.checkpointAttestation);
|
|
364
|
+
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
365
|
+
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
366
|
+
// Sign as proposer - use CheckpointProposal's payload format (serializeToBuffer)
|
|
367
|
+
// This is different from ConsensusPayload's format (ABI encoding)
|
|
368
|
+
const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
|
|
369
|
+
const tempProposal = new CheckpointProposal(header, archive, Signature.empty());
|
|
370
|
+
const proposalHash = getHashedSignaturePayloadEthSignedMessage(tempProposal, SignatureDomainSeparator.checkpointProposal);
|
|
371
|
+
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
372
|
+
return new CheckpointAttestation(payload, attestationSignature, proposerSignature);
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* Create a checkpoint attestation from a checkpoint proposal
|
|
376
|
+
*/ export const makeCheckpointAttestationFromProposal = (proposal, attesterSigner)=>{
|
|
377
|
+
const payload = new ConsensusPayload(proposal.checkpointHeader, proposal.archive);
|
|
378
|
+
// Sign as attester
|
|
379
|
+
const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.checkpointAttestation);
|
|
380
|
+
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
381
|
+
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
382
|
+
// Use the proposal's signature as the proposer signature
|
|
383
|
+
return new CheckpointAttestation(payload, attestationSignature, proposal.signature);
|
|
331
384
|
};
|
|
332
|
-
|
|
385
|
+
/**
|
|
386
|
+
* Create a checkpoint attestation from a checkpoint
|
|
387
|
+
*/ export const makeCheckpointAttestationFromCheckpoint = (checkpoint, attesterSigner, proposerSigner)=>{
|
|
333
388
|
const header = checkpoint.header;
|
|
334
389
|
const archive = checkpoint.archive.root;
|
|
335
|
-
|
|
390
|
+
return makeCheckpointAttestation({
|
|
336
391
|
header,
|
|
337
|
-
archive
|
|
392
|
+
archive,
|
|
393
|
+
attesterSigner,
|
|
394
|
+
proposerSigner
|
|
338
395
|
});
|
|
339
|
-
return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
|
|
340
396
|
};
|
|
341
|
-
|
|
342
|
-
|
|
397
|
+
/**
|
|
398
|
+
* Create a checkpoint attestation from an L2Block
|
|
399
|
+
* Note: This is a compatibility function for tests. L2Block doesn't have a checkpoint header directly.
|
|
400
|
+
*/ export const makeCheckpointAttestationFromBlock = (block, attesterSigner, proposerSigner)=>{
|
|
401
|
+
// For L2Block, we create a minimal checkpoint header for testing purposes
|
|
402
|
+
const header = CheckpointHeader.empty({
|
|
403
|
+
lastArchiveRoot: block.header.lastArchive.root,
|
|
404
|
+
slotNumber: block.slot,
|
|
405
|
+
timestamp: block.timestamp,
|
|
406
|
+
blockHeadersHash: Fr.ZERO
|
|
407
|
+
});
|
|
343
408
|
const archive = block.archive.root;
|
|
344
|
-
|
|
345
|
-
header
|
|
346
|
-
archive
|
|
409
|
+
return makeCheckpointAttestation({
|
|
410
|
+
header,
|
|
411
|
+
archive,
|
|
412
|
+
attesterSigner,
|
|
413
|
+
proposerSigner
|
|
347
414
|
});
|
|
348
|
-
return makeBlockAttestationFromPayload(payload, attesterSigner, proposerSigner);
|
|
349
|
-
};
|
|
350
|
-
export const makeBlockAttestationFromPayload = (payload, attesterSigner, proposerSigner)=>{
|
|
351
|
-
// Sign as attester
|
|
352
|
-
const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
|
|
353
|
-
const attestationSigner = attesterSigner ?? Secp256k1Signer.random();
|
|
354
|
-
const attestationSignature = attestationSigner.sign(attestationHash);
|
|
355
|
-
// Sign as proposer
|
|
356
|
-
const proposalHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockProposal);
|
|
357
|
-
const proposalSignerToUse = proposerSigner ?? Secp256k1Signer.random();
|
|
358
|
-
const proposerSignature = proposalSignerToUse.sign(proposalHash);
|
|
359
|
-
return new BlockAttestation(payload, attestationSignature, proposerSignature);
|
|
360
415
|
};
|
|
361
416
|
export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
|
|
362
417
|
const block = await L2Block.random(BlockNumber(l2BlockNumber));
|
|
@@ -366,7 +421,17 @@ export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
|
|
|
366
421
|
blockHash: Buffer32.random().toString()
|
|
367
422
|
});
|
|
368
423
|
const signers = opts.signers ?? times(3, ()=>Secp256k1Signer.random());
|
|
369
|
-
const
|
|
424
|
+
const checkpoint = await Checkpoint.random(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), {
|
|
425
|
+
numBlocks: 0
|
|
426
|
+
});
|
|
427
|
+
checkpoint.blocks = [
|
|
428
|
+
block
|
|
429
|
+
];
|
|
430
|
+
const atts = signers.map((signer)=>makeCheckpointAttestation({
|
|
431
|
+
signer,
|
|
432
|
+
archive: block.archive.root,
|
|
433
|
+
header: checkpoint.header
|
|
434
|
+
}));
|
|
370
435
|
const attestations = atts.map((attestation, i)=>new CommitteeAttestation(signers[i].address, attestation.signature));
|
|
371
|
-
return new
|
|
436
|
+
return new CheckpointedL2Block(CheckpointNumber.fromBlockNumber(BlockNumber(l2BlockNumber)), block, l1, attestations);
|
|
372
437
|
}
|