@aztec/stdlib 0.0.1-commit.a072138 → 0.0.1-commit.a89ec08
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 +57 -85
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +55 -6
- package/dest/abi/buffer.d.ts +14 -4
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +25 -4
- package/dest/abi/decoder.d.ts +6 -45
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +17 -70
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/function_call.d.ts +39 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/abi/function_selector.js +1 -1
- package/dest/abi/function_signature_decoder.d.ts +43 -0
- package/dest/abi/function_signature_decoder.d.ts.map +1 -0
- package/dest/abi/function_signature_decoder.js +66 -0
- package/dest/abi/index.d.ts +2 -1
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +1 -0
- package/dest/abi/selector.d.ts +2 -2
- package/dest/abi/selector.d.ts.map +1 -1
- package/dest/abi/selector.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +15 -0
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +300 -300
- package/dest/avm/avm_accumulated_data.js +2 -2
- package/dest/avm/avm_circuit_public_inputs.js +2 -2
- package/dest/avm/avm_proving_request.d.ts +166 -166
- package/dest/avm/revert_code.d.ts +9 -4
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +16 -21
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/in_block.js +1 -1
- package/dest/block/index.d.ts +2 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +9 -1
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +12 -2
- package/dest/block/l2_block_source.d.ts +35 -8
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
- package/dest/checkpoint/checkpoint.d.ts +22 -7
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +32 -16
- package/dest/checkpoint/checkpoint_data.d.ts +120 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +26 -0
- package/dest/checkpoint/index.d.ts +3 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +2 -0
- package/dest/checkpoint/published_checkpoint.d.ts +17 -2
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/checkpoint/validate.d.ts +36 -0
- package/dest/checkpoint/validate.d.ts.map +1 -0
- package/dest/checkpoint/validate.js +120 -0
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/sequencer-config.d.ts +10 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +23 -0
- package/dest/contract/contract_address.js +4 -4
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +1 -1
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +5 -4
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/contract/private_function.js +2 -2
- package/dest/epoch-helpers/index.d.ts +13 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +15 -2
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/gas_fees.d.ts +1 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +4 -1
- package/dest/gas/gas_settings.d.ts +40 -3
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +50 -6
- package/dest/hash/hash.d.ts +20 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +45 -10
- package/dest/hash/map_slot.js +2 -2
- package/dest/interfaces/allowed_element.d.ts +26 -20
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +8 -8
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +8 -2
- package/dest/interfaces/aztec-node-admin.d.ts +109 -29
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +12 -4
- package/dest/interfaces/aztec-node-debug.d.ts +21 -0
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
- package/dest/interfaces/aztec-node-debug.js +18 -0
- package/dest/interfaces/aztec-node.d.ts +13 -7
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +5 -2
- package/dest/interfaces/block-builder.d.ts +39 -12
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +13 -6
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +1 -0
- package/dest/interfaces/configs.d.ts +77 -32
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +10 -3
- package/dest/interfaces/get_logs_response.d.ts +8 -1
- package/dest/interfaces/get_logs_response.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +4 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +11 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +12 -1
- package/dest/interfaces/proving-job.d.ts +202 -202
- package/dest/interfaces/slasher.d.ts +9 -1
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +2 -0
- package/dest/interfaces/validator.d.ts +114 -26
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +9 -2
- package/dest/interfaces/world_state.d.ts +5 -4
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/claimed_length_array.js +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- 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 +13 -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 +13 -10
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -1
- package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/padded_side_effects.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- 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 +4 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
- package/dest/kernel/private_to_avm_accumulated_data.js +2 -2
- package/dest/kernel/private_to_public_accumulated_data.js +2 -2
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- 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 -7
- package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/keys/derivation.js +8 -8
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- package/dest/keys/utils.js +5 -5
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
- package/dest/logs/extended_public_log.d.ts +7 -1
- package/dest/logs/extended_public_log.d.ts.map +1 -1
- package/dest/logs/index.d.ts +4 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +3 -1
- package/dest/logs/log_filter.d.ts +4 -1
- package/dest/logs/log_filter.d.ts.map +1 -1
- package/dest/logs/log_filter.js +2 -1
- package/dest/logs/log_id.d.ts +10 -7
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +15 -13
- package/dest/logs/message_context.d.ts +4 -7
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +23 -9
- package/dest/logs/pending_tagged_log.d.ts +2 -3
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +2 -2
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/private_log.js +1 -1
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +9 -2
- package/dest/logs/shared_secret_derivation.d.ts +11 -10
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +15 -9
- package/dest/logs/siloed_tag.d.ts +8 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +12 -7
- package/dest/logs/tag.js +1 -1
- package/dest/logs/tagging_index_range.d.ts +40 -0
- package/dest/logs/tagging_index_range.d.ts.map +1 -0
- package/dest/logs/tagging_index_range.js +8 -0
- package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
- package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
- package/dest/logs/tx_scoped_l2_log.js +7 -0
- package/dest/messaging/l1_to_l2_message.d.ts +3 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +11 -13
- package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +72 -29
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/note/note_dao.d.ts +1 -1
- package/dest/note/note_dao.d.ts.map +1 -1
- package/dest/note/note_dao.js +1 -4
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +45 -0
- package/dest/p2p/block_proposal.d.ts +1 -1
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -3
- package/dest/p2p/checkpoint_attestation.d.ts +2 -1
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts +17 -10
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +40 -36
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +12 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +22 -15
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/peer_error.d.ts +3 -1
- package/dest/p2p/peer_error.d.ts.map +1 -1
- package/dest/p2p/peer_error.js +5 -0
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/parity/parity_base_private_inputs.js +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 +7 -1
- package/dest/rollup/base_rollup_hints.js +2 -2
- package/dest/rollup/block_root_rollup_private_inputs.js +5 -5
- package/dest/rollup/checkpoint_header.d.ts +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_root_rollup_private_inputs.js +3 -3
- package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/rollup/tree_snapshot_diff_hints.js +2 -2
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +2 -0
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- package/dest/slashing/tally.d.ts +8 -2
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +35 -3
- package/dest/slashing/types.d.ts +7 -3
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -1
- package/dest/tests/factories.d.ts +3 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +22 -14
- package/dest/tests/mocks.d.ts +8 -3
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +33 -23
- package/dest/timetable/index.d.ts +37 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +39 -0
- package/dest/trees/public_data_leaf.d.ts +2 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/tx/block_header.d.ts +3 -1
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +6 -2
- package/dest/tx/capsule.d.ts +6 -2
- package/dest/tx/capsule.d.ts.map +1 -1
- package/dest/tx/capsule.js +9 -3
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/private_execution_result.d.ts +6 -6
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +6 -6
- package/dest/tx/profiling.d.ts +17 -5
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +15 -5
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +4 -4
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +63 -77
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +7 -4
- package/dest/tx/tx.d.ts +6 -5
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +18 -6
- package/dest/tx/tx_receipt.d.ts +29 -6
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +23 -19
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +10 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +11 -1
- package/dest/tx/validator/tx_validator.d.ts +2 -2
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/update-checker/index.d.ts +3 -2
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +2 -1
- package/dest/update-checker/package_version.d.ts +3 -0
- package/dest/update-checker/package_version.d.ts.map +1 -0
- package/dest/update-checker/package_version.js +24 -0
- package/dest/update-checker/version_checker.d.ts +25 -0
- package/dest/update-checker/version_checker.d.ts.map +1 -0
- package/dest/update-checker/version_checker.js +50 -0
- package/dest/validators/errors.d.ts +6 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +7 -0
- package/dest/validators/schemas.d.ts +30 -30
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +4 -3
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/dest/versioning/versioning.d.ts +4 -2
- package/dest/versioning/versioning.d.ts.map +1 -1
- package/dest/versioning/versioning.js +4 -1
- package/dest/vks/vk_data.js +1 -1
- package/package.json +23 -12
- package/src/abi/abi.ts +78 -2
- package/src/abi/buffer.ts +25 -4
- package/src/abi/decoder.ts +36 -82
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/function_call.ts +25 -3
- package/src/abi/function_selector.ts +1 -1
- package/src/abi/function_signature_decoder.ts +77 -0
- package/src/abi/index.ts +1 -0
- package/src/abi/selector.ts +1 -1
- package/src/abi/utils.ts +25 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/avm_accumulated_data.ts +6 -6
- package/src/avm/avm_circuit_public_inputs.ts +4 -4
- package/src/avm/revert_code.ts +26 -25
- package/src/block/block_data.ts +26 -0
- package/src/block/in_block.ts +1 -1
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +13 -1
- package/src/block/l2_block_source.ts +38 -7
- package/src/block/l2_block_stream/interfaces.ts +6 -2
- package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
- package/src/checkpoint/checkpoint.ts +43 -16
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/index.ts +2 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/checkpoint/validate.ts +230 -0
- package/src/config/index.ts +1 -0
- package/src/config/sequencer-config.ts +34 -0
- package/src/contract/contract_address.ts +4 -4
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +5 -4
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +2 -2
- package/src/epoch-helpers/index.ts +25 -0
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/gas/README.md +123 -0
- package/src/gas/gas_fees.ts +7 -1
- package/src/gas/gas_settings.ts +65 -12
- package/src/hash/hash.ts +48 -10
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +29 -9
- package/src/interfaces/archiver.ts +8 -2
- package/src/interfaces/aztec-node-admin.ts +26 -2
- package/src/interfaces/aztec-node-debug.ts +40 -0
- package/src/interfaces/aztec-node.ts +25 -6
- package/src/interfaces/block-builder.ts +61 -14
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +36 -8
- package/src/interfaces/merkle_tree_operations.ts +9 -19
- package/src/interfaces/p2p.ts +3 -14
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +15 -0
- package/src/interfaces/slasher.ts +4 -0
- package/src/interfaces/validator.ts +29 -3
- package/src/interfaces/world_state.ts +4 -3
- package/src/kernel/claimed_length_array.ts +2 -2
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/private_kernel_reset_hints.ts +5 -2
- package/src/kernel/hints/read_request_hints.ts +3 -3
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/padded_side_effects.ts +3 -3
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
- package/src/kernel/private_to_avm_accumulated_data.ts +4 -4
- package/src/kernel/private_to_public_accumulated_data.ts +10 -10
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_accumulated_data.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +8 -8
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +5 -5
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
- package/src/logs/index.ts +3 -1
- package/src/logs/log_filter.ts +5 -0
- package/src/logs/log_id.ts +15 -12
- package/src/logs/message_context.ts +17 -7
- package/src/logs/pending_tagged_log.ts +1 -3
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/private_log.ts +1 -1
- package/src/logs/public_log.ts +15 -3
- package/src/logs/shared_secret_derivation.ts +21 -10
- package/src/logs/siloed_tag.ts +15 -5
- package/src/logs/tag.ts +1 -1
- package/src/logs/tagging_index_range.ts +24 -0
- package/src/logs/tx_scoped_l2_log.ts +16 -0
- package/src/messaging/l1_to_l2_message.ts +12 -9
- package/src/messaging/l2_to_l1_membership.ts +101 -36
- package/src/noir/index.ts +2 -2
- package/src/note/index.ts +0 -1
- package/src/note/note_dao.ts +1 -4
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +0 -2
- package/src/p2p/checkpoint_attestation.ts +6 -1
- package/src/p2p/checkpoint_proposal.ts +66 -48
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +25 -12
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/index.ts +0 -1
- package/src/p2p/peer_error.ts +7 -0
- package/src/p2p/topic_type.ts +8 -15
- package/src/parity/parity_base_private_inputs.ts +1 -1
- package/src/proofs/chonk_proof.ts +9 -1
- package/src/rollup/base_rollup_hints.ts +2 -2
- package/src/rollup/block_root_rollup_private_inputs.ts +8 -8
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
- package/src/rollup/checkpoint_root_rollup_private_inputs.ts +4 -4
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/rollup/tree_snapshot_diff_hints.ts +5 -5
- package/src/slashing/empire.ts +3 -1
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/tally.ts +41 -2
- package/src/slashing/types.ts +14 -0
- package/src/tests/factories.ts +27 -18
- package/src/tests/mocks.ts +47 -21
- package/src/timetable/index.ts +66 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +8 -2
- package/src/tx/capsule.ts +10 -2
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/private_execution_result.ts +5 -5
- package/src/tx/profiling.ts +14 -5
- package/src/tx/protocol_contracts.ts +4 -4
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +14 -3
- package/src/tx/tx.ts +20 -11
- package/src/tx/tx_receipt.ts +28 -16
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +13 -1
- package/src/tx/validator/tx_validator.ts +1 -1
- package/src/update-checker/index.ts +2 -1
- package/src/update-checker/package_version.ts +30 -0
- package/src/update-checker/version_checker.ts +65 -0
- package/src/validators/errors.ts +9 -0
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
- package/src/versioning/versioning.ts +4 -1
- package/src/vks/vk_data.ts +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/dest/update-checker/update-checker.d.ts +0 -49
- package/dest/update-checker/update-checker.d.ts.map +0 -1
- package/dest/update-checker/update-checker.js +0 -130
- package/src/note/notes_filter.ts +0 -38
- package/src/update-checker/update-checker.ts +0 -166
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagging_index_range.d.ts","sourceRoot":"","sources":["../../src/logs/tagging_index_range.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,8CAA8C,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,mCAAmC,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { ExtendedDirectionalAppTaggingSecretSchema } from './extended_directional_app_tagging_secret.js';
|
|
4
|
+
export const TaggingIndexRangeSchema = z.object({
|
|
5
|
+
extendedSecret: ExtendedDirectionalAppTaggingSecretSchema,
|
|
6
|
+
lowestIndex: schemas.Integer,
|
|
7
|
+
highestIndex: schemas.Integer
|
|
8
|
+
});
|
|
@@ -44,6 +44,8 @@ export declare class TxScopedL2Log {
|
|
|
44
44
|
}>;
|
|
45
45
|
toBuffer(): Buffer<ArrayBuffer>;
|
|
46
46
|
static fromBuffer(buffer: Buffer): TxScopedL2Log;
|
|
47
|
+
static getBlockNumberFromBuffer(buffer: Buffer): BlockNumber;
|
|
48
|
+
static random(): TxScopedL2Log;
|
|
47
49
|
equals(other: TxScopedL2Log): boolean;
|
|
48
50
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfc2NvcGVkX2wyX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvdHhfc2NvcGVkX2wyX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVNwRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxxQkFBYSxhQUFhO0lBS2YsTUFBTSxFQUFFLE1BQU07SUFJZCxXQUFXLEVBQUUsV0FBVztJQUl4QixjQUFjLEVBQUUsTUFBTTtJQUl0QixPQUFPLEVBQUUsRUFBRSxFQUFFO0lBSWIsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQU1oQixjQUFjLEVBQUUsRUFBRTtJQTFCM0IsWUFJUyxNQUFNLEVBQUUsTUFBTSxFQUlkLFdBQVcsRUFBRSxXQUFXLEVBSXhCLGNBQWMsRUFBRSxNQUFNLEVBSXRCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFJYixVQUFVLEVBQUUsRUFBRSxFQUFFLEVBTWhCLGNBQWMsRUFBRSxFQUFFLEVBQ3ZCO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWNoQjtJQUVELFFBQVEsd0JBU1A7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLGlCQVUvQjtJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxlQUU3QztJQUVELE1BQU0sQ0FBQyxNQUFNLGtCQVNaO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxhQUFhLFdBVzFCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_scoped_l2_log.d.ts","sourceRoot":"","sources":["../../src/logs/tx_scoped_l2_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"tx_scoped_l2_log.d.ts","sourceRoot":"","sources":["../../src/logs/tx_scoped_l2_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AASpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,aAAa;IAKf,MAAM,EAAE,MAAM;IAId,WAAW,EAAE,WAAW;IAIxB,cAAc,EAAE,MAAM;IAItB,OAAO,EAAE,EAAE,EAAE;IAIb,UAAU,EAAE,EAAE,EAAE;IAMhB,cAAc,EAAE,EAAE;IA1B3B,YAIS,MAAM,EAAE,MAAM,EAId,WAAW,EAAE,WAAW,EAIxB,cAAc,EAAE,MAAM,EAItB,OAAO,EAAE,EAAE,EAAE,EAIb,UAAU,EAAE,EAAE,EAAE,EAMhB,cAAc,EAAE,EAAE,EACvB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAchB;IAED,QAAQ,wBASP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,iBAU/B;IAED,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,eAE7C;IAED,MAAM,CAAC,MAAM,kBASZ;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,WAW1B;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { times } from '@aztec/foundation/collection';
|
|
2
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import { schemas as foundationSchemas } from '@aztec/foundation/schemas';
|
|
4
5
|
import { BufferReader, bigintToUInt64BE, numToUInt32BE, serializeArrayOfBufferableToVector } from '@aztec/foundation/serialize';
|
|
@@ -64,6 +65,12 @@ export class TxScopedL2Log {
|
|
|
64
65
|
const firstNullifier = reader.readObject(Fr);
|
|
65
66
|
return new TxScopedL2Log(txHash, blockNumber, blockTimestamp, logData, noteHashes, firstNullifier);
|
|
66
67
|
}
|
|
68
|
+
static getBlockNumberFromBuffer(buffer) {
|
|
69
|
+
return BlockNumber(buffer.readUint32BE(Fr.SIZE_IN_BYTES));
|
|
70
|
+
}
|
|
71
|
+
static random() {
|
|
72
|
+
return new TxScopedL2Log(TxHash.fromField(Fr.random()), BlockNumber(Math.floor(Math.random() * 100000) + 1), BigInt(Math.floor(Date.now() / 1000)), times(3, Fr.random), times(3, Fr.random), Fr.random());
|
|
73
|
+
}
|
|
67
74
|
equals(other) {
|
|
68
75
|
return this.txHash.equals(other.txHash) && this.blockNumber === other.blockNumber && this.blockTimestamp === other.blockTimestamp && this.logData.length === other.logData.length && this.logData.every((f, i)=>f.equals(other.logData[i])) && this.noteHashes.length === other.noteHashes.length && this.noteHashes.every((h, i)=>h.equals(other.noteHashes[i])) && this.firstNullifier.equals(other.firstNullifier);
|
|
69
76
|
}
|
|
@@ -3,6 +3,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
5
5
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
6
|
+
import type { BlockParameter } from '../block/block_parameter.js';
|
|
6
7
|
import type { AztecNode } from '../interfaces/aztec-node.js';
|
|
7
8
|
import { L1Actor } from './l1_actor.js';
|
|
8
9
|
import { L2Actor } from './l2_actor.js';
|
|
@@ -44,5 +45,5 @@ export declare class L1ToL2Message {
|
|
|
44
45
|
static empty(): L1ToL2Message;
|
|
45
46
|
static random(): Promise<L1ToL2Message>;
|
|
46
47
|
}
|
|
47
|
-
export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr, referenceBlock?: BlockParameter): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMV90b19sMl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4Qzs7R0FFRztBQUNILHFCQUFhLGFBQWE7SUFFdEIsdUNBQXVDO2FBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQzthQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7YUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7YUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO2FBQ2hDLEtBQUssRUFBRSxFQUFFO0lBVjNCO0lBQ0UsdUNBQXVDO0lBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQztJQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7SUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO0lBQ2hDLEtBQUssRUFBRSxFQUFFLEVBQ3ZCO0lBRUo7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxhQUFhLENBUTlEO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUc3QztJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksYUFBYSxDQUU1QjtJQUVELE9BQWEsTUFBTSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FFNUM7Q0FDRjtBQUdELHdCQUFzQixtQ0FBbUMsQ0FDdkQsSUFBSSxFQUFFLFNBQVMsRUFDZixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEVBQ1YsY0FBYyxHQUFFLGNBQXlCLEdBQ3hDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FpQmpFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAEtB,uCAAuC;aACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;aAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;aACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;aACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;aAChC,KAAK,EAAE,EAAE;IAV3B;IACE,uCAAuC;IACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;IAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;IACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;IACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;IAChC,KAAK,EAAE,EAAE,EACvB;IAEJ;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAQ9D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAG7C;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAE5C;CACF;AAGD,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,EACV,cAAc,GAAE,cAAyB,GACxC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAiBjE"}
|
|
@@ -63,21 +63,19 @@ import { L2Actor } from './l2_actor.js';
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
// This functionality is not on the node because we do not want to pass the node the secret, and give the node the ability to derive a valid nullifer for an L1 to L2 message.
|
|
66
|
-
export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret) {
|
|
67
|
-
const response = await node.getL1ToL2MessageMembershipWitness('latest', messageHash);
|
|
68
|
-
if (!response) {
|
|
69
|
-
throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
70
|
-
}
|
|
71
|
-
const [messageIndex, siblingPath] = response;
|
|
66
|
+
export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret, referenceBlock = 'latest') {
|
|
72
67
|
const messageNullifier = await computeL1ToL2MessageNullifier(contractAddress, messageHash, secret);
|
|
73
|
-
const [
|
|
74
|
-
|
|
68
|
+
const [l1ToL2Response, nullifierResponse] = await Promise.all([
|
|
69
|
+
node.getL1ToL2MessageMembershipWitness(referenceBlock, messageHash),
|
|
70
|
+
node.findLeavesIndexes(referenceBlock, MerkleTreeId.NULLIFIER_TREE, [
|
|
71
|
+
messageNullifier
|
|
72
|
+
])
|
|
75
73
|
]);
|
|
76
|
-
if (
|
|
74
|
+
if (!l1ToL2Response) {
|
|
75
|
+
throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
76
|
+
}
|
|
77
|
+
if (nullifierResponse[0] !== undefined) {
|
|
77
78
|
throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
|
|
78
79
|
}
|
|
79
|
-
return
|
|
80
|
-
messageIndex,
|
|
81
|
-
siblingPath
|
|
82
|
-
];
|
|
80
|
+
return l1ToL2Response;
|
|
83
81
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
4
|
+
import type { AztecNode } from '../interfaces/aztec-node.js';
|
|
5
|
+
import { TxHash } from '../tx/tx_hash.js';
|
|
4
6
|
/**
|
|
5
7
|
* # L2-to-L1 Message Tree Structure and Leaf IDs
|
|
6
8
|
*
|
|
@@ -30,10 +32,10 @@ import { SiblingPath } from '@aztec/foundation/trees';
|
|
|
30
32
|
* - Compression: If a block has no messages (out hash = 0), that branch is ignored
|
|
31
33
|
*
|
|
32
34
|
* 4. **Epoch Tree**
|
|
33
|
-
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to
|
|
35
|
+
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to OUT_HASH_TREE_LEAF_COUNT)
|
|
34
36
|
* - Root: Epoch out hash (set in the root rollup's public inputs and inserted into the Outbox on L1 when the epoch is proven)
|
|
35
37
|
* - Type: Unbalanced, non-compressed
|
|
36
|
-
* - **Important**: Padded with zeros up to
|
|
38
|
+
* - **Important**: Padded with zeros up to OUT_HASH_TREE_LEAF_COUNT to allow for proofs of partial epochs
|
|
37
39
|
*
|
|
38
40
|
* ## Combined Membership Proof
|
|
39
41
|
* To prove a message exists in an epoch, we combine the sibling paths from all 4 trees:
|
|
@@ -84,14 +86,38 @@ import { SiblingPath } from '@aztec/foundation/trees';
|
|
|
84
86
|
* @returns The unique leaf ID used for tracking message consumption on L1
|
|
85
87
|
*/
|
|
86
88
|
export declare function getL2ToL1MessageLeafId(membershipWitness: Pick<L2ToL1MembershipWitness, 'leafIndex' | 'siblingPath'>): bigint;
|
|
87
|
-
export interface MessageRetrieval {
|
|
88
|
-
getL2ToL1Messages(epoch: EpochNumber): Promise<Fr[][][][]>;
|
|
89
|
-
}
|
|
90
89
|
export type L2ToL1MembershipWitness = {
|
|
91
90
|
root: Fr;
|
|
92
91
|
leafIndex: bigint;
|
|
93
92
|
siblingPath: SiblingPath<number>;
|
|
93
|
+
epochNumber: EpochNumber;
|
|
94
94
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Computes the L2 to L1 membership witness for a given message in a transaction.
|
|
97
|
+
*
|
|
98
|
+
* @param node - The Aztec node to query for block/tx/epoch data.
|
|
99
|
+
* @param message - The L2 to L1 message hash to prove membership of.
|
|
100
|
+
* @param txHash - The hash of the transaction that emitted the message.
|
|
101
|
+
* @param messageIndexInTx - Optional index of the message within the transaction's L2-to-L1 messages.
|
|
102
|
+
* If not provided, the message is found by scanning the tx's messages (throws if duplicates exist).
|
|
103
|
+
* @returns The membership witness and epoch number, or undefined if the tx is not yet in a block/epoch.
|
|
104
|
+
*/
|
|
105
|
+
export declare function computeL2ToL1MembershipWitness(node: Pick<AztecNode, 'getL2ToL1Messages' | 'getTxReceipt' | 'getTxEffect' | 'getBlock' | 'getCheckpointsDataForEpoch'>, message: Fr, txHash: TxHash, messageIndexInTx?: number): Promise<L2ToL1MembershipWitness | undefined>;
|
|
106
|
+
/**
|
|
107
|
+
* Computes a membership witness for a message in the epoch's L2-to-L1 message tree, given explicit position indices.
|
|
108
|
+
*
|
|
109
|
+
* @param messagesInEpoch - All L2-to-L1 messages in the epoch, organized as checkpoints → blocks → txs → messages.
|
|
110
|
+
* @param message - The message hash to prove membership of.
|
|
111
|
+
* @param checkpointIndex - Index of the checkpoint within the epoch's message array.
|
|
112
|
+
* @param blockIndex - Index of the block within the checkpoint.
|
|
113
|
+
* @param txIndex - Index of the transaction within the block.
|
|
114
|
+
* @param messageIndexInTx - Optional index of the message within the transaction's messages.
|
|
115
|
+
* If not provided, the message is found by scanning (throws if duplicates exist within the tx).
|
|
116
|
+
*/
|
|
117
|
+
/** @internal Exported for testing only. */
|
|
118
|
+
export declare function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch: Fr[][][][], message: Fr, checkpointIndex: number, blockIndex: number, txIndex: number, messageIndexInTx?: number): {
|
|
119
|
+
root: Fr;
|
|
120
|
+
leafIndex: bigint;
|
|
121
|
+
siblingPath: SiblingPath<number>;
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdG9fbDFfbWVtYmVyc2hpcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMl90b19sMV9tZW1iZXJzaGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUE0RCxNQUFNLHlCQUF5QixDQUFDO0FBRWhILE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VHO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0Isc0JBQXNCLENBQ3BDLGlCQUFpQixFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEdBQUcsYUFBYSxDQUFDLEdBQzVFLE1BQU0sQ0FFUjtBQUVELE1BQU0sTUFBTSx1QkFBdUIsR0FBRztJQUNwQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ1QsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLFdBQVcsRUFBRSxXQUFXLENBQUM7Q0FDMUIsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FDbEQsSUFBSSxFQUFFLElBQUksQ0FDUixTQUFTLEVBQ1QsbUJBQW1CLEdBQUcsY0FBYyxHQUFHLGFBQWEsR0FBRyxVQUFVLEdBQUcsNEJBQTRCLENBQ2pHLEVBQ0QsT0FBTyxFQUFFLEVBQUUsRUFDWCxNQUFNLEVBQUUsTUFBTSxFQUNkLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxHQUN4QixPQUFPLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDLENBa0M5QztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCwyQ0FBMkM7QUFDM0Msd0JBQWdCLGlEQUFpRCxDQUMvRCxlQUFlLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQ1gsZUFBZSxFQUFFLE1BQU0sRUFDdkIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFDZixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sR0FDeEI7SUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7Q0FBRSxDQW9FbkUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_to_l1_membership.d.ts","sourceRoot":"","sources":["../../src/messaging/l2_to_l1_membership.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAA4D,MAAM,yBAAyB,CAAC;AAEhH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAG,aAAa,CAAC,GAC5E,MAAM,CAER;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"l2_to_l1_membership.d.ts","sourceRoot":"","sources":["../../src/messaging/l2_to_l1_membership.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAA4D,MAAM,yBAAyB,CAAC;AAEhH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAG,aAAa,CAAC,GAC5E,MAAM,CAER;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,EAAE,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,IAAI,CACR,SAAS,EACT,mBAAmB,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,4BAA4B,CACjG,EACD,OAAO,EAAE,EAAE,EACX,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAkC9C;AAED;;;;;;;;;;GAUG;AACH,2CAA2C;AAC3C,wBAAgB,iDAAiD,CAC/D,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAC3B,OAAO,EAAE,EAAE,EACX,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GACxB;IAAE,IAAI,EAAE,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAoEnE"}
|
|
@@ -30,10 +30,10 @@ import { SiblingPath, UnbalancedMerkleTreeCalculator, computeUnbalancedShaRoot }
|
|
|
30
30
|
* - Compression: If a block has no messages (out hash = 0), that branch is ignored
|
|
31
31
|
*
|
|
32
32
|
* 4. **Epoch Tree**
|
|
33
|
-
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to
|
|
33
|
+
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to OUT_HASH_TREE_LEAF_COUNT)
|
|
34
34
|
* - Root: Epoch out hash (set in the root rollup's public inputs and inserted into the Outbox on L1 when the epoch is proven)
|
|
35
35
|
* - Type: Unbalanced, non-compressed
|
|
36
|
-
* - **Important**: Padded with zeros up to
|
|
36
|
+
* - **Important**: Padded with zeros up to OUT_HASH_TREE_LEAF_COUNT to allow for proofs of partial epochs
|
|
37
37
|
*
|
|
38
38
|
* ## Combined Membership Proof
|
|
39
39
|
* To prove a message exists in an epoch, we combine the sibling paths from all 4 trees:
|
|
@@ -84,38 +84,60 @@ import { SiblingPath, UnbalancedMerkleTreeCalculator, computeUnbalancedShaRoot }
|
|
|
84
84
|
*/ export function getL2ToL1MessageLeafId(membershipWitness) {
|
|
85
85
|
return 2n ** BigInt(membershipWitness.siblingPath.pathSize) + membershipWitness.leafIndex;
|
|
86
86
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Computes the L2 to L1 membership witness for a given message in a transaction.
|
|
89
|
+
*
|
|
90
|
+
* @param node - The Aztec node to query for block/tx/epoch data.
|
|
91
|
+
* @param message - The L2 to L1 message hash to prove membership of.
|
|
92
|
+
* @param txHash - The hash of the transaction that emitted the message.
|
|
93
|
+
* @param messageIndexInTx - Optional index of the message within the transaction's L2-to-L1 messages.
|
|
94
|
+
* If not provided, the message is found by scanning the tx's messages (throws if duplicates exist).
|
|
95
|
+
* @returns The membership witness and epoch number, or undefined if the tx is not yet in a block/epoch.
|
|
96
|
+
*/ export async function computeL2ToL1MembershipWitness(node, message, txHash, messageIndexInTx) {
|
|
97
|
+
const { epochNumber, blockNumber } = await node.getTxReceipt(txHash);
|
|
98
|
+
if (epochNumber === undefined || blockNumber === undefined) {
|
|
90
99
|
return undefined;
|
|
91
100
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const checkpointIndex =
|
|
102
|
-
blockIndex = messagesInCheckpoint.findIndex((messagesInBlock)=>{
|
|
103
|
-
txIndex = messagesInBlock.findIndex((messagesInTx)=>{
|
|
104
|
-
messageIndexInTx = messagesInTx.findIndex((msg)=>msg.equals(message));
|
|
105
|
-
return messageIndexInTx !== -1;
|
|
106
|
-
});
|
|
107
|
-
return txIndex !== -1;
|
|
108
|
-
});
|
|
109
|
-
return blockIndex !== -1;
|
|
110
|
-
});
|
|
101
|
+
const [messagesInEpoch, block, txEffect, checkpointsData] = await Promise.all([
|
|
102
|
+
node.getL2ToL1Messages(epochNumber),
|
|
103
|
+
node.getBlock(blockNumber),
|
|
104
|
+
node.getTxEffect(txHash),
|
|
105
|
+
node.getCheckpointsDataForEpoch(epochNumber)
|
|
106
|
+
]);
|
|
107
|
+
if (messagesInEpoch.length === 0 || !block || !txEffect) {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
const checkpointIndex = checkpointsData.findIndex((c)=>c.checkpointNumber === block.checkpointNumber);
|
|
111
111
|
if (checkpointIndex === -1) {
|
|
112
|
-
|
|
112
|
+
return undefined;
|
|
113
113
|
}
|
|
114
|
-
|
|
114
|
+
const blockIndex = block.indexWithinCheckpoint;
|
|
115
|
+
const txIndex = txEffect.txIndexInBlock;
|
|
116
|
+
const { root, leafIndex, siblingPath } = computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch, message, checkpointIndex, blockIndex, txIndex, messageIndexInTx);
|
|
117
|
+
return {
|
|
118
|
+
epochNumber,
|
|
119
|
+
root,
|
|
120
|
+
leafIndex,
|
|
121
|
+
siblingPath
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Computes a membership witness for a message in the epoch's L2-to-L1 message tree, given explicit position indices.
|
|
126
|
+
*
|
|
127
|
+
* @param messagesInEpoch - All L2-to-L1 messages in the epoch, organized as checkpoints → blocks → txs → messages.
|
|
128
|
+
* @param message - The message hash to prove membership of.
|
|
129
|
+
* @param checkpointIndex - Index of the checkpoint within the epoch's message array.
|
|
130
|
+
* @param blockIndex - Index of the block within the checkpoint.
|
|
131
|
+
* @param txIndex - Index of the transaction within the block.
|
|
132
|
+
* @param messageIndexInTx - Optional index of the message within the transaction's messages.
|
|
133
|
+
* If not provided, the message is found by scanning (throws if duplicates exist within the tx).
|
|
134
|
+
*/ /** @internal Exported for testing only. */ export function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch, message, checkpointIndex, blockIndex, txIndex, messageIndexInTx) {
|
|
115
135
|
const messagesInTx = messagesInEpoch[checkpointIndex][blockIndex][txIndex];
|
|
136
|
+
const resolvedMessageIndex = resolveMessageIndex(messagesInTx, message, messageIndexInTx);
|
|
137
|
+
// Build the tx tree.
|
|
116
138
|
const txTree = UnbalancedMerkleTreeCalculator.create(messagesInTx.map((msg)=>msg.toBuffer()));
|
|
117
139
|
// Get the sibling path of the target message in the tx tree.
|
|
118
|
-
const pathToMessageInTxSubtree = txTree.getSiblingPathByLeafIndex(
|
|
140
|
+
const pathToMessageInTxSubtree = txTree.getSiblingPathByLeafIndex(resolvedMessageIndex);
|
|
119
141
|
// Build the tree of the block containing the target message.
|
|
120
142
|
const blockTree = buildBlockTree(messagesInEpoch[checkpointIndex][blockIndex]);
|
|
121
143
|
// Get the sibling path of the tx out hash in the block tree.
|
|
@@ -131,7 +153,7 @@ export function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoc
|
|
|
131
153
|
}
|
|
132
154
|
return buildCheckpointTree(messagesInCheckpoint).getRoot();
|
|
133
155
|
});
|
|
134
|
-
// Pad to
|
|
156
|
+
// Pad to OUT_HASH_TREE_LEAF_COUNT with zeros.
|
|
135
157
|
checkpointOutHashes = checkpointOutHashes.concat(Array.from({
|
|
136
158
|
length: OUT_HASH_TREE_LEAF_COUNT - messagesInEpoch.length
|
|
137
159
|
}, ()=>Buffer.alloc(32)));
|
|
@@ -149,7 +171,7 @@ export function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoc
|
|
|
149
171
|
// Compute the combined index.
|
|
150
172
|
// It is the index of the message in the balanced tree (by filling up the wonky tree with empty nodes) at its current
|
|
151
173
|
// height. It's used to validate the membership proof.
|
|
152
|
-
const messageLeafPosition = txTree.getLeafLocation(
|
|
174
|
+
const messageLeafPosition = txTree.getLeafLocation(resolvedMessageIndex);
|
|
153
175
|
const txLeafPosition = blockTree.getLeafLocation(txIndex);
|
|
154
176
|
const blockLeafPosition = checkpointTree.getLeafLocation(blockIndex);
|
|
155
177
|
const checkpointLeafPosition = epochTree.getLeafLocation(checkpointIndex);
|
|
@@ -165,6 +187,27 @@ export function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoc
|
|
|
165
187
|
siblingPath: new SiblingPath(combinedPath.length, combinedPath)
|
|
166
188
|
};
|
|
167
189
|
}
|
|
190
|
+
function resolveMessageIndex(messagesInTx, message, messageIndexInTx) {
|
|
191
|
+
if (messageIndexInTx !== undefined) {
|
|
192
|
+
if (!messagesInTx[messageIndexInTx]?.equals(message)) {
|
|
193
|
+
throw new Error(`Message at index ${messageIndexInTx} in tx does not match the expected message ${message}`);
|
|
194
|
+
}
|
|
195
|
+
return messageIndexInTx;
|
|
196
|
+
}
|
|
197
|
+
const indices = messagesInTx.reduce((acc, msg, i)=>{
|
|
198
|
+
if (msg.equals(message)) {
|
|
199
|
+
acc.push(i);
|
|
200
|
+
}
|
|
201
|
+
return acc;
|
|
202
|
+
}, []);
|
|
203
|
+
if (indices.length === 0) {
|
|
204
|
+
throw new Error('The L2ToL1Message you are trying to prove inclusion of does not exist');
|
|
205
|
+
}
|
|
206
|
+
if (indices.length > 1) {
|
|
207
|
+
throw new Error(`Multiple messages with the same value ${message} found in tx (indices: ${indices.join(', ')}). ` + `Provide messageIndexInTx to disambiguate.`);
|
|
208
|
+
}
|
|
209
|
+
return indices[0];
|
|
210
|
+
}
|
|
168
211
|
function buildCheckpointTree(messagesInCheckpoint) {
|
|
169
212
|
const blockOutHashes = messagesInCheckpoint.map((messagesInBlock)=>buildBlockTree(messagesInBlock).getRoot());
|
|
170
213
|
return buildCompressedTree(blockOutHashes);
|
package/dest/noir/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare const AZTEC_VIEW_ATTRIBUTE = "abi_view";
|
|
|
9
9
|
export interface NoirFunctionAbi {
|
|
10
10
|
/** The parameters of the function. */
|
|
11
11
|
parameters: ABIParameter[];
|
|
12
|
-
/** The return type of the function. */
|
|
12
|
+
/** The return type of the function, or null for void functions. */
|
|
13
13
|
return_type: {
|
|
14
14
|
/**
|
|
15
15
|
* The type of the return value.
|
|
@@ -19,7 +19,7 @@ export interface NoirFunctionAbi {
|
|
|
19
19
|
* The visibility of the return value.
|
|
20
20
|
*/
|
|
21
21
|
visibility: ABIParameterVisibility;
|
|
22
|
-
};
|
|
22
|
+
} | null;
|
|
23
23
|
/** Mapping of error selector => error type */
|
|
24
24
|
error_types: Partial<Record<string, AbiErrorType>>;
|
|
25
25
|
}
|
|
@@ -142,4 +142,4 @@ export declare function isNoirContractCompilationArtifacts(artifact: NoirCompila
|
|
|
142
142
|
*/
|
|
143
143
|
export declare function isNoirProgramCompilationArtifacts(artifact: NoirCompilationResult): artifact is NoirProgramCompilationArtifacts;
|
|
144
144
|
export {};
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2lyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUNWLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLE9BQU8sRUFDUCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixlQUFPLE1BQU0sdUJBQXVCLGdCQUFnQixDQUFDO0FBQ3JELGVBQU8sTUFBTSxzQkFBc0IsZUFBZSxDQUFDO0FBQ25ELGVBQU8sTUFBTSx1QkFBdUIsZ0JBQWdCLENBQUM7QUFDckQsZUFBTyxNQUFNLHlCQUF5QixrQkFBa0IsQ0FBQztBQUN6RCxlQUFPLE1BQU0sMkJBQTJCLG9CQUFvQixDQUFDO0FBQzdELGVBQU8sTUFBTSxvQkFBb0IsYUFBYSxDQUFDO0FBRS9DLHVDQUF1QztBQUN2QyxNQUFNLFdBQVcsZUFBZTtJQUM5QixzQ0FBc0M7SUFDdEMsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzNCLG1FQUFtRTtJQUNuRSxXQUFXLEVBQUU7UUFDWDs7V0FFRztRQUNILFFBQVEsRUFBRSxPQUFPLENBQUM7UUFDbEI7O1dBRUc7UUFDSCxVQUFVLEVBQUUsc0JBQXNCLENBQUM7S0FDcEMsR0FBRyxJQUFJLENBQUM7SUFDVCw4Q0FBOEM7SUFDOUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7Q0FDcEQ7QUFFRDs7R0FFRztBQUNILFVBQVUsaUJBQWlCO0lBQ3pCLGdDQUFnQztJQUNoQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsNkNBQTZDO0lBQzdDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQiw2Q0FBNkM7SUFDN0MsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDNUIsK0JBQStCO0lBQy9CLEdBQUcsRUFBRSxlQUFlLENB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
|
package/dest/noir/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noir/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AACzD,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noir/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AACzD,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,mEAAmE;IACnE,WAAW,EAAE;QACX;;WAEG;QACH,QAAQ,EAAE,OAAO,CAAC;QAClB;;WAEG;QACH,UAAU,EAAE,sBAAsB,CAAC;KACpC,GAAG,IAAI,CAAC;IACT,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,+BAA+B;IAC/B,GAAG,EAAE,eAAe,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,iCAAiC;IACjC,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;KACrC,CAAC;IACF,kEAAkE;IAClE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,GAAG,EAAE,eAAe,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,eAAe,EAAE;QACf,yBAAyB;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,iCAAiC;QACjC,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,4BAA4B;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,4DAA4D;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,gCAAgC,GAAG,+BAA+B,CAAC;AAEvG;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,qBAAqB,GAC9B,QAAQ,IAAI,gCAAgC,CAE9C;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,qBAAqB,GAC9B,QAAQ,IAAI,+BAA+B,CAE7C"}
|
package/dest/note/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export * from './comparator.js';
|
|
2
2
|
export * from './note_dao.js';
|
|
3
|
-
export * from './notes_filter.js';
|
|
4
3
|
export * from './note_status.js';
|
|
5
4
|
export * from './note.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub3RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFdBQVcsQ0FBQyJ9
|
package/dest/note/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/note/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/note/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
|
package/dest/note/index.js
CHANGED
package/dest/note/note_dao.d.ts
CHANGED
|
@@ -107,4 +107,4 @@ export declare class NoteDao {
|
|
|
107
107
|
getSize(): number;
|
|
108
108
|
static random({ note, contractAddress, owner, storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, txIndexInBlock, noteIndexInTx }?: Partial<NoteDao>): Promise<NoteDao>;
|
|
109
109
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9kYW8uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub3RlL25vdGVfZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxxQkFBYSxPQUFPO0lBSWhCLGtGQUFrRjtJQUMzRSxJQUFJLEVBQUUsSUFBSTtJQUNqQiw4R0FBOEc7SUFDdkcsZUFBZSxFQUFFLFlBQVk7SUFDcEMsNkVBQTZFO0lBQ3RFLEtBQUssRUFBRSxZQUFZO0lBQzFCOzs7T0FHRztJQUNJLFdBQVcsRUFBRSxFQUFFO0lBQ3RCOztPQUVHO0lBQ0ksVUFBVSxFQUFFLEVBQUU7SUFDckIsZ0dBQWdHO0lBQ3pGLFNBQVMsRUFBRSxFQUFFO0lBR3BCOzs7T0FHRztJQUNJLFFBQVEsRUFBRSxFQUFFO0lBQ25COzs7T0FHRztJQUNJLGVBQWUsRUFBRSxFQUFFO0lBRzFCOztPQUVHO0lBQ0ksTUFBTSxFQUFFLE1BQU07SUFDckI7Z0JBQ1k7SUFDTCxhQUFhLEVBQUUsV0FBVztJQUNqQztnQkFDWTtJQUNMLFdBQVcsRUFBRSxNQUFNO0lBQzFCLHFFQUFxRTtJQUM5RCxjQUFjLEVBQUUsTUFBTTtJQUM3QixrR0FBa0c7SUFDM0YsYUFBYSxFQUFFLE1BQU07SUEvQzlCO0lBR0Usa0ZBQWtGO0lBQzNFLElBQUksRUFBRSxJQUFJO0lBQ2pCLDhHQUE4RztJQUN2RyxlQUFlLEVBQUUsWUFBWTtJQUNwQyw2RUFBNkU7SUFDdEUsS0FBSyxFQUFFLFlBQVk7SUFDMUI7OztPQUdHO0lBQ0ksV0FBVyxFQUFFLEVBQUU7SUFDdEI7O09BRUc7SUFDSSxVQUFVLEVBQUUsRUFBRTtJQUNyQixnR0FBZ0c7SUFDekYsU0FBUyxFQUFFLEVBQUU7SUFHcEI7OztPQUdHO0lBQ0ksUUFBUSxFQUFFLEVBQUU7SUFDbkI7OztPQUdHO0lBQ0ksZUFBZSxFQUFFLEVBQUU7SUFHMUI7O09BRUc7SUFDSSxNQUFNLEVBQUUsTUFBTTtJQUNyQjtnQkFDWTtJQUNMLGFBQWEsRUFBRSxXQUFXO0lBQ2pDO2dCQUNZO0lBQ0wsV0FBVyxFQUFFLE1BQU07SUFDMUIscUVBQXFFO0lBQzlELGNBQWMsRUFBRSxNQUFNO0lBQzdCLGtHQUFrRztJQUMzRixhQUFhLEVBQUUsTUFBTSxFQUMxQjtJQUVKLFFBQVEsSUFBSSxNQUFNLENBZ0JqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLFdBZ0M5QztJQUVELFFBQVEsV0FFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sV0FHNUI7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FnQjlCO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxXQUViO0lBRUQsT0FBYSxNQUFNLENBQUMsRUFDbEIsSUFBb0IsRUFDcEIsZUFBMkIsRUFDM0IsS0FBaUIsRUFDakIsV0FBeUIsRUFDekIsVUFBd0IsRUFDeEIsU0FBdUIsRUFDdkIsUUFBc0IsRUFDdEIsZUFBNkIsRUFDN0IsTUFBd0IsRUFDeEIsYUFBNkQsRUFDN0QsV0FBb0MsRUFDcEMsY0FBZ0QsRUFDaEQsYUFBK0MsRUFDaEQsR0FBRSxPQUFPLENBQUMsT0FBTyxDQUFNLG9CQWdCdkI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_dao.d.ts","sourceRoot":"","sources":["../../src/note/note_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"note_dao.d.ts","sourceRoot":"","sources":["../../src/note/note_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;GAGG;AACH,qBAAa,OAAO;IAIhB,kFAAkF;IAC3E,IAAI,EAAE,IAAI;IACjB,8GAA8G;IACvG,eAAe,EAAE,YAAY;IACpC,6EAA6E;IACtE,KAAK,EAAE,YAAY;IAC1B;;;OAGG;IACI,WAAW,EAAE,EAAE;IACtB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB,gGAAgG;IACzF,SAAS,EAAE,EAAE;IAGpB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAG1B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;gBACY;IACL,aAAa,EAAE,WAAW;IACjC;gBACY;IACL,WAAW,EAAE,MAAM;IAC1B,qEAAqE;IAC9D,cAAc,EAAE,MAAM;IAC7B,kGAAkG;IAC3F,aAAa,EAAE,MAAM;IA/C9B;IAGE,kFAAkF;IAC3E,IAAI,EAAE,IAAI;IACjB,8GAA8G;IACvG,eAAe,EAAE,YAAY;IACpC,6EAA6E;IACtE,KAAK,EAAE,YAAY;IAC1B;;;OAGG;IACI,WAAW,EAAE,EAAE;IACtB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB,gGAAgG;IACzF,SAAS,EAAE,EAAE;IAGpB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAG1B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;gBACY;IACL,aAAa,EAAE,WAAW;IACjC;gBACY;IACL,WAAW,EAAE,MAAM;IAC1B,qEAAqE;IAC9D,cAAc,EAAE,MAAM;IAC7B,kGAAkG;IAC3F,aAAa,EAAE,MAAM,EAC1B;IAEJ,QAAQ,IAAI,MAAM,CAgBjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,WAgC9C;IAED,QAAQ,WAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAG5B;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB9B;IAED;;;OAGG;IACI,OAAO,WAEb;IAED,OAAa,MAAM,CAAC,EAClB,IAAoB,EACpB,eAA2B,EAC3B,KAAiB,EACjB,WAAyB,EACzB,UAAwB,EACxB,SAAuB,EACvB,QAAsB,EACtB,eAA6B,EAC7B,MAAwB,EACxB,aAA6D,EAC7D,WAAoC,EACpC,cAAgD,EAChD,aAA+C,EAChD,GAAE,OAAO,CAAC,OAAO,CAAM,oBAgBvB;CACF"}
|
package/dest/note/note_dao.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
4
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
5
|
import { Note } from '@aztec/stdlib/note';
|
|
@@ -105,9 +104,7 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
105
104
|
* Returns the size in bytes of the Note Dao.
|
|
106
105
|
* @returns - Its size in bytes.
|
|
107
106
|
*/ getSize() {
|
|
108
|
-
|
|
109
|
-
// 2 numbers for txIndexInBlock and noteIndexInTx (4 bytes each)
|
|
110
|
-
return noteSize + AztecAddress.SIZE_IN_BYTES * 2 + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + 8;
|
|
107
|
+
return this.toBuffer().length;
|
|
111
108
|
}
|
|
112
109
|
static async random({ note = Note.random(), contractAddress = undefined, owner = undefined, storageSlot = Fr.random(), randomness = Fr.random(), noteNonce = Fr.random(), noteHash = Fr.random(), siloedNullifier = Fr.random(), txHash = TxHash.random(), l2BlockNumber = BlockNumber(Math.floor(Math.random() * 1000)), l2BlockHash = Fr.random().toString(), txIndexInBlock = Math.floor(Math.random() * 100), noteIndexInTx = Math.floor(Math.random() * 100) } = {}) {
|
|
113
110
|
return new NoteDao(note, contractAddress ?? await AztecAddress.random(), owner ?? await AztecAddress.random(), storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, txIndexInBlock, noteIndexInTx);
|
|
@@ -7,4 +7,14 @@ import type { CheckpointAttestation } from './checkpoint_attestation.js';
|
|
|
7
7
|
* @todo: perform this logic within the memory attestation store instead?
|
|
8
8
|
*/
|
|
9
9
|
export declare function orderAttestations(attestations: CheckpointAttestation[], orderAddresses: EthAddress[]): CommitteeAttestation[];
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Trims attestations to the minimum required number to save L1 calldata gas.
|
|
12
|
+
* Each signature costs 65 bytes of calldata vs 20 bytes for just an address.
|
|
13
|
+
*
|
|
14
|
+
* Priority order for keeping attestations:
|
|
15
|
+
* 1. The proposer's attestation (required by L1 contract - MissingProposerSignature revert)
|
|
16
|
+
* 2. Attestations from the local node's validator keys
|
|
17
|
+
* 3. Remaining attestations filled to reach the required count
|
|
18
|
+
*/
|
|
19
|
+
export declare function trimAttestations(attestations: CheckpointAttestation[], required: number, proposerAddress: EthAddress, localAddresses: EthAddress[]): CheckpointAttestation[];
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYXR0ZXN0YXRpb25fdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RTs7OztHQUlHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixZQUFZLEVBQUUscUJBQXFCLEVBQUUsRUFDckMsY0FBYyxFQUFFLFVBQVUsRUFBRSxHQUMzQixvQkFBb0IsRUFBRSxDQXFCeEI7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FDOUIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEVBQ3JDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGVBQWUsRUFBRSxVQUFVLEVBQzNCLGNBQWMsRUFBRSxVQUFVLEVBQUUsR0FDM0IscUJBQXFCLEVBQUUsQ0F3Q3pCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/attestation_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,qBAAqB,EAAE,EACrC,cAAc,EAAE,UAAU,EAAE,GAC3B,oBAAoB,EAAE,CAqBxB"}
|
|
1
|
+
{"version":3,"file":"attestation_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/attestation_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,qBAAqB,EAAE,EACrC,cAAc,EAAE,UAAU,EAAE,GAC3B,oBAAoB,EAAE,CAqBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,qBAAqB,EAAE,EACrC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,UAAU,EAC3B,cAAc,EAAE,UAAU,EAAE,GAC3B,qBAAqB,EAAE,CAwCzB"}
|
|
@@ -19,3 +19,48 @@ import { CommitteeAttestation } from '../block/index.js';
|
|
|
19
19
|
});
|
|
20
20
|
return orderedAttestations;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Trims attestations to the minimum required number to save L1 calldata gas.
|
|
24
|
+
* Each signature costs 65 bytes of calldata vs 20 bytes for just an address.
|
|
25
|
+
*
|
|
26
|
+
* Priority order for keeping attestations:
|
|
27
|
+
* 1. The proposer's attestation (required by L1 contract - MissingProposerSignature revert)
|
|
28
|
+
* 2. Attestations from the local node's validator keys
|
|
29
|
+
* 3. Remaining attestations filled to reach the required count
|
|
30
|
+
*/ export function trimAttestations(attestations, required, proposerAddress, localAddresses) {
|
|
31
|
+
if (attestations.length <= required) {
|
|
32
|
+
return attestations;
|
|
33
|
+
}
|
|
34
|
+
const proposerAttestation = [];
|
|
35
|
+
const localAttestations = [];
|
|
36
|
+
const otherAttestations = [];
|
|
37
|
+
for (const attestation of attestations){
|
|
38
|
+
const sender = attestation.getSender();
|
|
39
|
+
if (!sender) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (sender.equals(proposerAddress)) {
|
|
43
|
+
proposerAttestation.push(attestation);
|
|
44
|
+
} else if (localAddresses.some((addr)=>addr.equals(sender))) {
|
|
45
|
+
localAttestations.push(attestation);
|
|
46
|
+
} else {
|
|
47
|
+
otherAttestations.push(attestation);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const result = [
|
|
51
|
+
...proposerAttestation
|
|
52
|
+
];
|
|
53
|
+
for (const att of localAttestations){
|
|
54
|
+
if (result.length >= required) {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
result.push(att);
|
|
58
|
+
}
|
|
59
|
+
for (const att of otherAttestations){
|
|
60
|
+
if (result.length >= required) {
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
result.push(att);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
@@ -134,4 +134,4 @@ export declare class BlockProposal extends Gossipable {
|
|
|
134
134
|
*/
|
|
135
135
|
withoutSignedTxs(): BlockProposal;
|
|
136
136
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBWSxLQUFLLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpGLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSxpQkFBa0IsU0FBUSxRQUFRO0lBQzdDLFlB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,wBAAwB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAMzC,uEAAuE;aACvD,WAAW,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,9 +32,7 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
32
32
|
signedTxs;
|
|
33
33
|
static p2pTopic = TopicType.block_proposal;
|
|
34
34
|
sender;
|
|
35
|
-
constructor(/** The per-block header containing block state and global variables */ blockHeader,
|
|
36
|
-
// See the block-proposal-handler, we have a lot of extra validations to check this is correct, so maybe we can avoid storing it here.
|
|
37
|
-
/** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
|
|
35
|
+
constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
|
|
38
36
|
super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
|
|
39
37
|
}
|
|
40
38
|
generateP2PMessageIdentifier() {
|