@aztec/stdlib 0.0.1-commit.2f68f620 → 0.0.1-commit.3100065
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/buffer.d.ts +6 -2
- package/dest/abi/buffer.d.ts.map +1 -1
- package/dest/abi/buffer.js +13 -1
- package/dest/abi/contract_artifact.d.ts +14 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +17 -0
- package/dest/avm/avm.js +1 -1
- package/dest/avm/avm_proving_request.d.ts +70 -70
- package/dest/avm/contract_storage_read.d.ts +58 -0
- package/dest/avm/contract_storage_read.d.ts.map +1 -0
- package/dest/avm/contract_storage_read.js +65 -0
- package/dest/avm/contract_storage_update_request.d.ts +65 -0
- package/dest/avm/contract_storage_update_request.d.ts.map +1 -0
- package/dest/avm/contract_storage_update_request.js +80 -0
- package/dest/avm/index.d.ts +6 -1
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +5 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts +43 -0
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -0
- package/dest/avm/public_call_stack_item_compressed.js +70 -0
- package/dest/avm/public_data_update_request.d.ts +62 -0
- package/dest/avm/public_data_update_request.d.ts.map +1 -0
- package/dest/avm/public_data_update_request.js +67 -0
- package/dest/avm/public_inner_call_request.d.ts +50 -0
- package/dest/avm/public_inner_call_request.d.ts.map +1 -0
- package/dest/avm/public_inner_call_request.js +74 -0
- package/dest/aztec-address/index.d.ts +35 -5
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +32 -8
- package/dest/block/attestation_info.d.ts +1 -1
- package/dest/block/attestation_info.d.ts.map +1 -1
- package/dest/block/attestation_info.js +7 -4
- package/dest/block/l2_block_source.d.ts +46 -23
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +15 -1
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
- package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
- 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 +81 -11
- package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
- package/dest/block/l2_block_stream/interfaces.js +25 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +149 -152
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +6 -12
- 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 +8 -32
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +17 -18
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +70 -58
- package/dest/block/proposal/attestations_and_signers.d.ts +19 -1
- package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
- package/dest/block/proposal/attestations_and_signers.js +47 -7
- 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 +296 -37
- package/dest/block/validate_block_result.d.ts +16 -1
- package/dest/block/validate_block_result.d.ts.map +1 -1
- package/dest/block/validate_block_result.js +18 -3
- package/dest/checkpoint/checkpoint.js +2 -2
- 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/simulation_overrides.d.ts +61 -0
- package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
- package/dest/checkpoint/simulation_overrides.js +98 -0
- package/dest/checkpoint/validate.d.ts +11 -3
- package/dest/checkpoint/validate.d.ts.map +1 -1
- package/dest/checkpoint/validate.js +9 -6
- 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/network-consensus-config.d.ts +72 -0
- package/dest/config/network-consensus-config.d.ts.map +1 -0
- package/dest/config/network-consensus-config.js +223 -0
- package/dest/config/sequencer-config.d.ts +4 -2
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +22 -3
- package/dest/contract/contract_address.d.ts +5 -4
- package/dest/contract/contract_address.d.ts.map +1 -1
- package/dest/contract/contract_instance.d.ts +16 -2
- package/dest/contract/contract_instance.d.ts.map +1 -1
- package/dest/contract/contract_instance.js +45 -0
- package/dest/contract/deployment_info.d.ts +24 -0
- package/dest/contract/deployment_info.d.ts.map +1 -0
- package/dest/contract/deployment_info.js +3 -0
- package/dest/contract/index.d.ts +2 -1
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +1 -0
- package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
- package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.d.ts +71 -10
- package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
- package/dest/contract/interfaces/contract_instance.js +7 -2
- package/dest/contract/interfaces/node-info.d.ts +11 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +7 -1
- package/dest/contract/partial_address.d.ts +9 -3
- package/dest/contract/partial_address.d.ts.map +1 -1
- package/dest/contract/partial_address.js +8 -2
- package/dest/database-version/version_manager.d.ts +18 -4
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +76 -6
- package/dest/deserialization/index.d.ts +35 -3
- package/dest/deserialization/index.d.ts.map +1 -1
- package/dest/deserialization/index.js +32 -1
- package/dest/file-store/factory.d.ts +1 -1
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +7 -0
- package/dest/file-store/index.d.ts +2 -1
- package/dest/file-store/index.d.ts.map +1 -1
- package/dest/file-store/index.js +1 -0
- package/dest/file-store/memory.d.ts +24 -0
- package/dest/file-store/memory.d.ts.map +1 -0
- package/dest/file-store/memory.js +80 -0
- package/dest/gas/gas_settings.d.ts +7 -13
- package/dest/gas/gas_settings.d.ts.map +1 -1
- package/dest/gas/gas_settings.js +9 -16
- package/dest/gas/index.d.ts +2 -1
- package/dest/gas/index.d.ts.map +1 -1
- package/dest/gas/index.js +1 -0
- package/dest/gas/tx_gas_limits.d.ts +72 -0
- package/dest/gas/tx_gas_limits.d.ts.map +1 -0
- package/dest/gas/tx_gas_limits.js +85 -0
- package/dest/ha-signing/config.d.ts +19 -5
- package/dest/ha-signing/config.d.ts.map +1 -1
- package/dest/ha-signing/config.js +9 -3
- package/dest/ha-signing/local_config.d.ts +10 -2
- package/dest/ha-signing/local_config.d.ts.map +1 -1
- package/dest/ha-signing/local_config.js +8 -2
- package/dest/hash/hash.d.ts +1 -2
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +0 -7
- package/dest/interfaces/archiver.d.ts +12 -7
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +4 -2
- package/dest/interfaces/aztec-node-admin.d.ts +24 -17
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +1 -1
- package/dest/interfaces/aztec-node-debug.d.ts +40 -2
- package/dest/interfaces/aztec-node-debug.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-debug.js +29 -1
- package/dest/interfaces/aztec-node.d.ts +69 -28
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +56 -20
- package/dest/interfaces/block-builder.d.ts +3 -1
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/chain_tips.d.ts +8 -47
- package/dest/interfaces/chain_tips.d.ts.map +1 -1
- package/dest/interfaces/chain_tips.js +1 -6
- package/dest/interfaces/checkpoint_parameter.d.ts +3 -3
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -1
- package/dest/interfaces/checkpoint_parameter.js +3 -3
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +27 -6
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +5 -1
- package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
- package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
- package/dest/interfaces/get_tx_by_hash_options.js +4 -0
- package/dest/interfaces/merkle_tree_operations.d.ts +3 -9
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +38 -9
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +14 -2
- package/dest/interfaces/private_kernel_prover.d.ts +9 -11
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/prover-client.d.ts +2 -3
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-coordination.d.ts +15 -0
- package/dest/interfaces/prover-coordination.d.ts.map +1 -0
- package/dest/interfaces/prover-coordination.js +1 -0
- package/dest/interfaces/prover-node.d.ts +12 -8
- package/dest/interfaces/prover-node.d.ts.map +1 -1
- package/dest/interfaces/prover-node.js +24 -17
- package/dest/interfaces/proving-job.d.ts +87 -74
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +13 -4
- package/dest/interfaces/server.d.ts +2 -2
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +1 -1
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +15 -4
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +3 -1
- package/dest/interfaces/world_state.d.ts +14 -1
- package/dest/interfaces/world_state.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
- package/dest/kernel/hints/index.d.ts +2 -1
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +1 -0
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +14 -0
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -0
- package/dest/kernel/hints/tree_leaf_read_request.js +33 -0
- package/dest/kernel/index.d.ts +2 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +1 -1
- package/dest/kernel/log_hash.d.ts +1 -1
- package/dest/kernel/log_hash.d.ts.map +1 -1
- package/dest/kernel/log_hash.js +2 -2
- package/dest/kernel/note_hash.js +1 -1
- package/dest/kernel/nullifier.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +13 -3
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +14 -7
- package/dest/kernel/private_context_inputs.d.ts +4 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +7 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +2 -3
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +3 -5
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +2 -3
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +3 -5
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/kernel/private_kernel_simulated_output.d.ts +7 -1
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.js +1 -2
- package/dest/kernel/private_log_data.d.ts +1 -1
- package/dest/kernel/private_log_data.d.ts.map +1 -1
- package/dest/kernel/private_log_data.js +1 -1
- package/dest/kernel/utils/index.d.ts +2 -1
- package/dest/kernel/utils/index.d.ts.map +1 -1
- package/dest/kernel/utils/index.js +1 -0
- package/dest/kernel/utils/optional_number.d.ts +31 -0
- package/dest/kernel/utils/optional_number.d.ts.map +1 -0
- package/dest/kernel/utils/optional_number.js +42 -0
- package/dest/keys/derivation.d.ts +41 -6
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +49 -26
- package/dest/logs/app_tagging_secret.d.ts +30 -7
- package/dest/logs/app_tagging_secret.d.ts.map +1 -1
- package/dest/logs/app_tagging_secret.js +46 -39
- package/dest/logs/app_tagging_secret_kind.js +1 -1
- package/dest/logs/contract_class_log.d.ts +1 -2
- package/dest/logs/contract_class_log.d.ts.map +1 -1
- package/dest/logs/contract_class_log.js +0 -4
- package/dest/logs/index.d.ts +1 -3
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +0 -2
- package/dest/logs/shared_secret_derivation.d.ts +19 -6
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +26 -11
- package/dest/messaging/l1_to_l2_message.d.ts +23 -2
- package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
- package/dest/messaging/l1_to_l2_message.js +36 -11
- package/dest/p2p/attestation_utils.d.ts +1 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +8 -1
- package/dest/p2p/checkpoint_attestation.d.ts +10 -1
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +10 -0
- package/dest/p2p/checkpoint_proposal.d.ts +2 -1
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.d.ts +2 -1
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/index.d.ts +2 -1
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +1 -0
- package/dest/p2p/interface.d.ts +5 -0
- package/dest/p2p/interface.d.ts.map +1 -0
- package/dest/p2p/interface.js +1 -0
- package/dest/p2p/signature_utils.d.ts +10 -1
- package/dest/p2p/signature_utils.d.ts.map +1 -1
- package/dest/p2p/signature_utils.js +9 -1
- package/dest/rollup/avm_proof_data.d.ts +3 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.d.ts +8 -3
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +20 -10
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +27 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +40 -15
- package/dest/tests/mocks.d.ts +1 -1
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -2
- package/dest/timetable/budgets.d.ts +57 -0
- package/dest/timetable/budgets.d.ts.map +1 -0
- package/dest/timetable/budgets.js +56 -0
- package/dest/timetable/build_proposer_timetable.d.ts +21 -0
- package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/build_proposer_timetable.js +17 -0
- package/dest/timetable/consensus_timetable.d.ts +70 -0
- package/dest/timetable/consensus_timetable.d.ts.map +1 -0
- package/dest/timetable/consensus_timetable.js +89 -0
- package/dest/timetable/index.d.ts +5 -84
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -209
- package/dest/timetable/proposer_timetable.d.ts +106 -0
- package/dest/timetable/proposer_timetable.d.ts.map +1 -0
- package/dest/timetable/proposer_timetable.js +132 -0
- package/dest/trees/nullifier_membership_witness.d.ts +5 -8
- package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
- package/dest/trees/nullifier_membership_witness.js +0 -9
- package/dest/trees/public_data_witness.d.ts +7 -17
- package/dest/trees/public_data_witness.d.ts.map +1 -1
- package/dest/trees/public_data_witness.js +0 -27
- package/dest/tx/execution_payload.d.ts +1 -1
- package/dest/tx/execution_payload.d.ts.map +1 -1
- package/dest/tx/execution_payload.js +1 -1
- package/dest/tx/fee_provider.d.ts +2 -2
- package/dest/tx/fee_provider.d.ts.map +1 -1
- package/dest/tx/global_variable_builder.d.ts +2 -12
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.js +2 -2
- package/dest/tx/index.d.ts +2 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +1 -0
- package/dest/tx/private_tx_constant_data.d.ts +18 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +13 -4
- package/dest/tx/simulated_tx.d.ts +10 -6
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/tx.d.ts +9 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +15 -0
- package/dest/tx/validator/empty_validator.d.ts +5 -0
- package/dest/tx/validator/empty_validator.d.ts.map +1 -0
- package/dest/tx/validator/empty_validator.js +7 -0
- package/dest/tx/validator/error_texts.d.ts +2 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -1
- package/dest/world-state/genesis_data.d.ts +9 -1
- package/dest/world-state/genesis_data.d.ts.map +1 -1
- package/dest/world-state/genesis_data.js +1 -0
- package/dest/world-state/world_state_revision.d.ts +18 -1
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +20 -0
- package/package.json +8 -8
- package/src/abi/buffer.ts +13 -1
- package/src/abi/contract_artifact.ts +19 -0
- package/src/avm/avm.ts +1 -1
- package/src/avm/contract_storage_read.ts +77 -0
- package/src/avm/contract_storage_update_request.ts +93 -0
- package/src/avm/index.ts +5 -0
- package/src/avm/public_call_stack_item_compressed.ts +113 -0
- package/src/avm/public_data_update_request.ts +106 -0
- package/src/avm/public_inner_call_request.ts +85 -0
- package/src/aztec-address/index.ts +36 -6
- package/src/block/attestation_info.ts +7 -2
- package/src/block/l2_block_source.ts +67 -13
- package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
- package/src/block/l2_block_stream/index.ts +1 -0
- package/src/block/l2_block_stream/interfaces.ts +96 -10
- package/src/block/l2_block_stream/l2_block_stream.ts +216 -175
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +12 -41
- package/src/block/l2_block_stream/l2_tips_store_base.ts +84 -93
- package/src/block/proposal/attestations_and_signers.ts +53 -7
- package/src/block/test/l2_tips_store_test_suite.ts +270 -28
- package/src/block/validate_block_result.ts +48 -2
- package/src/checkpoint/checkpoint.ts +2 -2
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/simulation_overrides.ts +171 -0
- package/src/checkpoint/validate.ts +16 -6
- package/src/config/index.ts +1 -0
- package/src/config/network-consensus-config.ts +291 -0
- package/src/config/sequencer-config.ts +36 -5
- package/src/contract/contract_address.ts +4 -3
- package/src/contract/contract_instance.ts +62 -1
- package/src/contract/deployment_info.ts +25 -0
- package/src/contract/index.ts +1 -0
- package/src/contract/interfaces/contract_data_source.ts +2 -4
- package/src/contract/interfaces/contract_instance.ts +26 -8
- package/src/contract/interfaces/node-info.ts +11 -0
- package/src/contract/partial_address.ts +8 -2
- package/src/database-version/version_manager.ts +96 -6
- package/src/deserialization/index.ts +35 -2
- package/src/file-store/factory.ts +7 -0
- package/src/file-store/index.ts +1 -0
- package/src/file-store/memory.ts +94 -0
- package/src/gas/README.md +92 -0
- package/src/gas/gas_settings.ts +11 -21
- package/src/gas/index.ts +1 -0
- package/src/gas/tx_gas_limits.ts +123 -0
- package/src/ha-signing/config.ts +23 -5
- package/src/ha-signing/local_config.ts +20 -1
- package/src/hash/hash.ts +0 -8
- package/src/interfaces/archiver.ts +14 -7
- package/src/interfaces/aztec-node-admin.ts +1 -1
- package/src/interfaces/aztec-node-debug.ts +54 -2
- package/src/interfaces/aztec-node.ts +121 -43
- package/src/interfaces/block-builder.ts +2 -0
- package/src/interfaces/chain_tips.ts +8 -16
- package/src/interfaces/checkpoint_parameter.ts +3 -3
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +27 -6
- package/src/interfaces/get_tx_by_hash_options.ts +14 -0
- package/src/interfaces/merkle_tree_operations.ts +2 -9
- package/src/interfaces/p2p.ts +29 -9
- package/src/interfaces/private_kernel_prover.ts +10 -12
- package/src/interfaces/prover-client.ts +1 -3
- package/src/interfaces/prover-coordination.ts +17 -0
- package/src/interfaces/prover-node.ts +32 -17
- package/src/interfaces/proving-job.ts +15 -3
- package/src/interfaces/server.ts +1 -1
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/validator.ts +11 -0
- package/src/interfaces/world_state.ts +14 -0
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/hints/index.ts +1 -0
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/hints/tree_leaf_read_request.ts +35 -0
- package/src/kernel/index.ts +1 -1
- package/src/kernel/log_hash.ts +5 -2
- package/src/kernel/note_hash.ts +1 -1
- package/src/kernel/nullifier.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +12 -1
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +0 -3
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +0 -3
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/kernel/private_kernel_simulated_output.ts +7 -0
- package/src/kernel/private_log_data.ts +4 -1
- package/src/kernel/utils/index.ts +1 -0
- package/src/kernel/utils/optional_number.ts +50 -0
- package/src/keys/derivation.ts +69 -24
- package/src/logs/app_tagging_secret.ts +62 -39
- package/src/logs/app_tagging_secret_kind.ts +1 -1
- package/src/logs/contract_class_log.ts +0 -9
- package/src/logs/index.ts +0 -2
- package/src/logs/shared_secret_derivation.ts +31 -15
- package/src/messaging/l1_to_l2_message.ts +51 -13
- package/src/p2p/attestation_utils.ts +8 -1
- package/src/p2p/checkpoint_attestation.ts +12 -0
- package/src/p2p/index.ts +1 -0
- package/src/p2p/interface.ts +4 -0
- package/src/p2p/signature_utils.ts +9 -0
- package/src/rollup/avm_proof_data.ts +2 -2
- package/src/rollup/checkpoint_header.ts +16 -2
- package/src/stats/stats.ts +2 -2
- package/src/tests/factories.ts +51 -13
- package/src/tests/mocks.ts +7 -2
- package/src/timetable/README.md +609 -0
- package/src/timetable/budgets.ts +87 -0
- package/src/timetable/build_proposer_timetable.ts +42 -0
- package/src/timetable/consensus_timetable.ts +126 -0
- package/src/timetable/index.ts +4 -304
- package/src/timetable/proposer_timetable.ts +190 -0
- package/src/timetable/timetable-example.svg +108 -0
- package/src/trees/nullifier_membership_witness.ts +0 -11
- package/src/trees/public_data_witness.ts +0 -31
- package/src/tx/execution_payload.ts +2 -1
- package/src/tx/fee_provider.ts +1 -1
- package/src/tx/global_variable_builder.ts +1 -17
- package/src/tx/global_variables.ts +2 -2
- package/src/tx/index.ts +1 -0
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/tx.ts +17 -0
- package/src/tx/validator/empty_validator.ts +7 -0
- package/src/tx/validator/error_texts.ts +2 -1
- package/src/world-state/genesis_data.ts +10 -0
- package/src/world-state/world_state_revision.ts +33 -0
- package/dest/interfaces/epoch-prover.d.ts +0 -57
- package/dest/interfaces/epoch-prover.d.ts.map +0 -1
- package/dest/interfaces/epoch-prover.js +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- package/dest/logs/message_context.d.ts +0 -27
- package/dest/logs/message_context.d.ts.map +0 -1
- package/dest/logs/message_context.js +0 -74
- package/dest/logs/pending_tagged_log.d.ts +0 -13
- package/dest/logs/pending_tagged_log.d.ts.map +0 -1
- package/dest/logs/pending_tagged_log.js +0 -34
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/logs/message_context.ts +0 -76
- package/src/logs/pending_tagged_log.ts +0 -39
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
|
|
2
|
-
import type { BlockNumber, EpochNumber } from '@aztec/foundation/branded-types';
|
|
3
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
-
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
-
import type { Proof } from '../proofs/proof.js';
|
|
6
|
-
import type { CheckpointConstantData } from '../rollup/checkpoint_constant_data.js';
|
|
7
|
-
import type { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
|
|
8
|
-
import type { BlockHeader } from '../tx/block_header.js';
|
|
9
|
-
import type { Tx } from '../tx/tx.js';
|
|
10
|
-
import type { UInt64 } from '../types/index.js';
|
|
11
|
-
import type { IBlockFactory } from './block-builder.js';
|
|
12
|
-
/** Coordinates the proving of an entire epoch. */
|
|
13
|
-
export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted' | 'startNewBlock'> {
|
|
14
|
-
/**
|
|
15
|
-
* Starts a new epoch. Must be the first method to be called.
|
|
16
|
-
* @param epochNumber - The epoch number.
|
|
17
|
-
* @param totalNumCheckpoints - The total number of checkpoints expected in the epoch (must be at least one).
|
|
18
|
-
* @param finalBlobBatchingChallenges - The final blob batching challenges for the epoch.
|
|
19
|
-
**/
|
|
20
|
-
startNewEpoch(epochNumber: EpochNumber, totalNumCheckpoints: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges): void;
|
|
21
|
-
/**
|
|
22
|
-
* Starts a new checkpoint.
|
|
23
|
-
* @param checkpointIndex - The index of the checkpoint in the epoch.
|
|
24
|
-
* @param constants - The constants for this checkpoint.
|
|
25
|
-
* @param l1ToL2Messages - The set of L1 to L2 messages to be included in this checkpoint.
|
|
26
|
-
* @param totalNumBlocks - The total number of blocks expected in the checkpoint (must be at least one).
|
|
27
|
-
* @param headerOfLastBlockInPreviousCheckpoint - The header of the last block in the previous checkpoint.
|
|
28
|
-
*/
|
|
29
|
-
startNewCheckpoint(checkpointIndex: number, constants: CheckpointConstantData, l1ToL2Messages: Fr[], totalNumBlocks: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Starts a new block.
|
|
32
|
-
* @param blockNumber - The block number.
|
|
33
|
-
* @param timestamp - The timestamp of the block.
|
|
34
|
-
* @param totalNumTxs - The total number of txs in the block.
|
|
35
|
-
*/
|
|
36
|
-
startNewBlock(blockNumber: BlockNumber, timestamp: UInt64, totalNumTxs: number): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* Kickstarts chonk verifier circuits for the specified txs. These will be used during epoch proving.
|
|
39
|
-
* Note that if the chonk verifier circuits are not started this way, they will be started nonetheless after processing.
|
|
40
|
-
*/
|
|
41
|
-
startChonkVerifierCircuits(txs: Tx[]): Promise<void>;
|
|
42
|
-
/** Returns the block. */
|
|
43
|
-
setBlockCompleted(blockNumber: BlockNumber, expectedBlockHeader?: BlockHeader): Promise<BlockHeader>;
|
|
44
|
-
/** Pads the epoch with empty block roots if needed and blocks until proven. Throws if proving has failed. */
|
|
45
|
-
finalizeEpoch(): Promise<{
|
|
46
|
-
publicInputs: RootRollupPublicInputs;
|
|
47
|
-
proof: Proof;
|
|
48
|
-
batchedBlobInputs: BatchedBlob;
|
|
49
|
-
}>;
|
|
50
|
-
/** Cancels all proving jobs. */
|
|
51
|
-
cancel(): void;
|
|
52
|
-
/** Returns an identifier for the prover or zero if not set. */
|
|
53
|
-
getProverId(): EthAddress;
|
|
54
|
-
/** Called when no longer required, cleans up internal resources */
|
|
55
|
-
stop(): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9lcG9jaC1wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsa0RBQWtEO0FBQ2xELE1BQU0sV0FBVyxXQUFZLFNBQVEsSUFBSSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsR0FBRyxlQUFlLENBQUM7SUFDN0Y7Ozs7O1FBS0k7SUFDSixhQUFhLENBQ1gsV0FBVyxFQUFFLFdBQVcsRUFDeEIsbUJBQW1CLEVBQUUsTUFBTSxFQUMzQiwyQkFBMkIsRUFBRSwyQkFBMkIsR0FDdkQsSUFBSSxDQUFDO0lBRVI7Ozs7Ozs7T0FPRztJQUNILGtCQUFrQixDQUNoQixlQUFlLEVBQUUsTUFBTSxFQUN2QixTQUFTLEVBQUUsc0JBQXNCLEVBQ2pDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDcEIsY0FBYyxFQUFFLE1BQU0sRUFDdEIscUNBQXFDLEVBQUUsV0FBVyxHQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakI7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRS9GOzs7T0FHRztJQUNILDBCQUEwQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQseUJBQXlCO0lBQ3pCLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXJHLDZHQUE2RztJQUM3RyxhQUFhLElBQUksT0FBTyxDQUFDO1FBQUUsWUFBWSxFQUFFLHNCQUFzQixDQUFDO1FBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQTtLQUFFLENBQUMsQ0FBQztJQUVqSCxnQ0FBZ0M7SUFDaEMsTUFBTSxJQUFJLElBQUksQ0FBQztJQUVmLCtEQUErRDtJQUMvRCxXQUFXLElBQUksVUFBVSxDQUFDO0lBRTFCLG1FQUFtRTtJQUNuRSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ3ZCIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-prover.d.ts","sourceRoot":"","sources":["../../src/interfaces/epoch-prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,kDAAkD;AAClD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,aAAa,EAAE,mBAAmB,GAAG,eAAe,CAAC;IAC7F;;;;;QAKI;IACJ,aAAa,CACX,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,MAAM,EAC3B,2BAA2B,EAAE,2BAA2B,GACvD,IAAI,CAAC;IAER;;;;;;;OAOG;IACH,kBAAkB,CAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,EAAE,EAAE,EACpB,cAAc,EAAE,MAAM,EACtB,qCAAqC,EAAE,WAAW,GACjD,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/F;;;OAGG;IACH,0BAA0B,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,yBAAyB;IACzB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAErG,6GAA6G;IAC7G,aAAa,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,iBAAiB,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;IAEjH,gCAAgC;IAChC,MAAM,IAAI,IAAI,CAAC;IAEf,+DAA+D;IAC/D,WAAW,IAAI,UAAU,CAAC;IAE1B,mEAAmE;IACnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/** Coordinates the proving of an entire epoch. */ export { };
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { BufferReader } from '@aztec/foundation/serialize';
|
|
2
|
-
import type { UInt64 } from '../types/shared.js';
|
|
3
|
-
import { PaddedSideEffectAmounts } from './padded_side_effects.js';
|
|
4
|
-
import { PrivateKernelData } from './private_kernel_data.js';
|
|
5
|
-
/**
|
|
6
|
-
* Input to the private kernel circuit - tail call.
|
|
7
|
-
*/
|
|
8
|
-
export declare class PrivateKernelTailCircuitPrivateInputs {
|
|
9
|
-
/**
|
|
10
|
-
* The previous kernel data
|
|
11
|
-
*/
|
|
12
|
-
previousKernel: PrivateKernelData;
|
|
13
|
-
/**
|
|
14
|
-
* The number of the padded side effects.
|
|
15
|
-
*/
|
|
16
|
-
paddedSideEffectAmounts: PaddedSideEffectAmounts;
|
|
17
|
-
/**
|
|
18
|
-
* The timestamp by which the transaction must be included in a block.
|
|
19
|
-
*/
|
|
20
|
-
expirationTimestampUpperBound: UInt64;
|
|
21
|
-
constructor(
|
|
22
|
-
/**
|
|
23
|
-
* The previous kernel data
|
|
24
|
-
*/
|
|
25
|
-
previousKernel: PrivateKernelData,
|
|
26
|
-
/**
|
|
27
|
-
* The number of the padded side effects.
|
|
28
|
-
*/
|
|
29
|
-
paddedSideEffectAmounts: PaddedSideEffectAmounts,
|
|
30
|
-
/**
|
|
31
|
-
* The timestamp by which the transaction must be included in a block.
|
|
32
|
-
*/
|
|
33
|
-
expirationTimestampUpperBound: UInt64);
|
|
34
|
-
isForPublic(): boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Serialize this as a buffer.
|
|
37
|
-
* @returns The buffer.
|
|
38
|
-
*/
|
|
39
|
-
toBuffer(): Buffer<ArrayBufferLike>;
|
|
40
|
-
/**
|
|
41
|
-
* Deserializes from a buffer or reader.
|
|
42
|
-
* @param buffer - Buffer or reader to read from.
|
|
43
|
-
* @returns The deserialized instance.
|
|
44
|
-
*/
|
|
45
|
-
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelTailCircuitPrivateInputs;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfdGFpbF9jaXJjdWl0X3ByaXZhdGVfaW5wdXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2VybmVsL3ByaXZhdGVfa2VybmVsX3RhaWxfY2lyY3VpdF9wcml2YXRlX2lucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLDZCQUE2QixDQUFDO0FBRWhHLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gscUJBQWEscUNBQXFDO0lBRTlDOztPQUVHO0lBQ0ksY0FBYyxFQUFFLGlCQUFpQjtJQUN4Qzs7T0FFRztJQUNJLHVCQUF1QixFQUFFLHVCQUF1QjtJQUN2RDs7T0FFRztJQUNJLDZCQUE2QixFQUFFLE1BQU07SUFaOUM7SUFDRTs7T0FFRztJQUNJLGNBQWMsRUFBRSxpQkFBaUI7SUFDeEM7O09BRUc7SUFDSSx1QkFBdUIsRUFBRSx1QkFBdUI7SUFDdkQ7O09BRUc7SUFDSSw2QkFBNkIsRUFBRSxNQUFNLEVBQzFDO0lBRUosV0FBVyxZQUtWO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFNUDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHFDQUFxQyxDQU90RjtDQUNGIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_tail_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_tail_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,qCAAqC;IAE9C;;OAEG;IACI,cAAc,EAAE,iBAAiB;IACxC;;OAEG;IACI,uBAAuB,EAAE,uBAAuB;IACvD;;OAEG;IACI,6BAA6B,EAAE,MAAM;IAZ9C;IACE;;OAEG;IACI,cAAc,EAAE,iBAAiB;IACxC;;OAEG;IACI,uBAAuB,EAAE,uBAAuB;IACvD;;OAEG;IACI,6BAA6B,EAAE,MAAM,EAC1C;IAEJ,WAAW,YAKV;IAED;;;OAGG;IACH,QAAQ,4BAMP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qCAAqC,CAOtF;CACF"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
-
import { PaddedSideEffectAmounts } from './padded_side_effects.js';
|
|
3
|
-
import { PrivateKernelData } from './private_kernel_data.js';
|
|
4
|
-
/**
|
|
5
|
-
* Input to the private kernel circuit - tail call.
|
|
6
|
-
*/ export class PrivateKernelTailCircuitPrivateInputs {
|
|
7
|
-
previousKernel;
|
|
8
|
-
paddedSideEffectAmounts;
|
|
9
|
-
expirationTimestampUpperBound;
|
|
10
|
-
constructor(/**
|
|
11
|
-
* The previous kernel data
|
|
12
|
-
*/ previousKernel, /**
|
|
13
|
-
* The number of the padded side effects.
|
|
14
|
-
*/ paddedSideEffectAmounts, /**
|
|
15
|
-
* The timestamp by which the transaction must be included in a block.
|
|
16
|
-
*/ expirationTimestampUpperBound){
|
|
17
|
-
this.previousKernel = previousKernel;
|
|
18
|
-
this.paddedSideEffectAmounts = paddedSideEffectAmounts;
|
|
19
|
-
this.expirationTimestampUpperBound = expirationTimestampUpperBound;
|
|
20
|
-
}
|
|
21
|
-
isForPublic() {
|
|
22
|
-
return this.previousKernel.publicInputs.end.publicCallRequests.claimedLength > 0 || !this.previousKernel.publicInputs.publicTeardownCallRequest.isEmpty();
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Serialize this as a buffer.
|
|
26
|
-
* @returns The buffer.
|
|
27
|
-
*/ toBuffer() {
|
|
28
|
-
return serializeToBuffer(this.previousKernel, this.paddedSideEffectAmounts, bigintToUInt64BE(this.expirationTimestampUpperBound));
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Deserializes from a buffer or reader.
|
|
32
|
-
* @param buffer - Buffer or reader to read from.
|
|
33
|
-
* @returns The deserialized instance.
|
|
34
|
-
*/ static fromBuffer(buffer) {
|
|
35
|
-
const reader = BufferReader.asReader(buffer);
|
|
36
|
-
return new PrivateKernelTailCircuitPrivateInputs(reader.readObject(PrivateKernelData), reader.readObject(PaddedSideEffectAmounts), reader.readUInt64());
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import { TxHash } from '../tx/tx_hash.js';
|
|
3
|
-
/**
|
|
4
|
-
* Additional information needed to process a message.
|
|
5
|
-
*
|
|
6
|
-
* All messages exist in the context of a transaction, and information about that transaction is typically required
|
|
7
|
-
* in order to perform validation, store results, etc. For example, messages containing notes require knowledge of note
|
|
8
|
-
* hashes and the first nullifier in order to find the note's nonce.
|
|
9
|
-
*
|
|
10
|
-
* A TS version of `message_context.nr`.
|
|
11
|
-
*/
|
|
12
|
-
export declare class MessageContext {
|
|
13
|
-
txHash: TxHash;
|
|
14
|
-
uniqueNoteHashesInTx: Fr[];
|
|
15
|
-
firstNullifierInTx: Fr;
|
|
16
|
-
constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
|
|
17
|
-
toFields(): Fr[];
|
|
18
|
-
toNoirStruct(): {
|
|
19
|
-
tx_hash: Fr;
|
|
20
|
-
unique_note_hashes_in_tx: Fr[];
|
|
21
|
-
first_nullifier_in_tx: Fr;
|
|
22
|
-
};
|
|
23
|
-
static empty(): MessageContext;
|
|
24
|
-
static toEmptyFields(): Fr[];
|
|
25
|
-
static toSerializedOption(response: MessageContext | null): Fr[];
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7Ozs7Ozs7R0FRRztBQUNILHFCQUFhLGNBQWM7SUFFaEIsTUFBTSxFQUFFLE1BQU07SUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0JBQWtCLEVBQUUsRUFBRTtJQUgvQixZQUNTLE1BQU0sRUFBRSxNQUFNLEVBQ2Qsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLEVBQzFCLGtCQUFrQixFQUFFLEVBQUUsRUFDM0I7SUFFSixRQUFRLElBQUksRUFBRSxFQUFFLENBTWY7SUFFRCxZQUFZOzs7O01BUVg7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FFN0I7SUFFRCxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsRUFBRSxDQUkzQjtJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FNL0Q7Q0FDRiJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IAH/B,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAC3B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,YAAY;;;;MAQX;IAED,MAAM,CAAC,KAAK,IAAI,cAAc,CAE7B;IAED,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAI3B;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,EAAE,EAAE,CAM/D;CACF"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants';
|
|
2
|
-
import { range } from '@aztec/foundation/array';
|
|
3
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
-
import { TxHash } from '../tx/tx_hash.js';
|
|
5
|
-
/**
|
|
6
|
-
* Additional information needed to process a message.
|
|
7
|
-
*
|
|
8
|
-
* All messages exist in the context of a transaction, and information about that transaction is typically required
|
|
9
|
-
* in order to perform validation, store results, etc. For example, messages containing notes require knowledge of note
|
|
10
|
-
* hashes and the first nullifier in order to find the note's nonce.
|
|
11
|
-
*
|
|
12
|
-
* A TS version of `message_context.nr`.
|
|
13
|
-
*/ export class MessageContext {
|
|
14
|
-
txHash;
|
|
15
|
-
uniqueNoteHashesInTx;
|
|
16
|
-
firstNullifierInTx;
|
|
17
|
-
constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx){
|
|
18
|
-
this.txHash = txHash;
|
|
19
|
-
this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
|
|
20
|
-
this.firstNullifierInTx = firstNullifierInTx;
|
|
21
|
-
}
|
|
22
|
-
toFields() {
|
|
23
|
-
return [
|
|
24
|
-
this.txHash.hash,
|
|
25
|
-
...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
|
|
26
|
-
this.firstNullifierInTx
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
toNoirStruct() {
|
|
30
|
-
/* eslint-disable camelcase */ return {
|
|
31
|
-
tx_hash: this.txHash.hash,
|
|
32
|
-
unique_note_hashes_in_tx: this.uniqueNoteHashesInTx,
|
|
33
|
-
first_nullifier_in_tx: this.firstNullifierInTx
|
|
34
|
-
};
|
|
35
|
-
/* eslint-enable camelcase */ }
|
|
36
|
-
static empty() {
|
|
37
|
-
return new MessageContext(TxHash.zero(), [], Fr.ZERO);
|
|
38
|
-
}
|
|
39
|
-
static toEmptyFields() {
|
|
40
|
-
const serializationLen = 1 /* txHash */ + MAX_NOTE_HASHES_PER_TX + 1 /* uniqueNoteHashesInTx BVec */ + 1; /* firstNullifierInTx */
|
|
41
|
-
return range(serializationLen).map((_)=>Fr.zero());
|
|
42
|
-
}
|
|
43
|
-
static toSerializedOption(response) {
|
|
44
|
-
if (response) {
|
|
45
|
-
return [
|
|
46
|
-
new Fr(1),
|
|
47
|
-
...response.toFields()
|
|
48
|
-
];
|
|
49
|
-
} else {
|
|
50
|
-
return [
|
|
51
|
-
new Fr(0),
|
|
52
|
-
...MessageContext.toEmptyFields()
|
|
53
|
-
];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Helper function to serialize a bounded vector according to Noir's BoundedVec format
|
|
59
|
-
* @param values - The values to serialize
|
|
60
|
-
* @param maxLength - The maximum length of the bounded vector
|
|
61
|
-
* @returns The serialized bounded vector as Fr[]
|
|
62
|
-
* @dev Copied over from pending_tagged_log.ts.
|
|
63
|
-
*/ function serializeBoundedVec(values, maxLength) {
|
|
64
|
-
if (values.length > maxLength) {
|
|
65
|
-
throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
|
|
66
|
-
}
|
|
67
|
-
const lengthDiff = maxLength - values.length;
|
|
68
|
-
const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
|
|
69
|
-
const storage = values.concat(zeroPaddingArray);
|
|
70
|
-
return [
|
|
71
|
-
...storage,
|
|
72
|
-
new Fr(values.length)
|
|
73
|
-
];
|
|
74
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import type { TxHash } from '../tx/tx_hash.js';
|
|
3
|
-
/**
|
|
4
|
-
* Represents a pending tagged log as it is stored in the pending tagged log array to which the fetchTaggedLogs oracle
|
|
5
|
-
* inserts found private logs. A TS version of `pending_tagged_log.nr`.
|
|
6
|
-
*/
|
|
7
|
-
export declare class PendingTaggedLog {
|
|
8
|
-
log: Fr[];
|
|
9
|
-
private context;
|
|
10
|
-
constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
|
|
11
|
-
toFields(): Fr[];
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBR3ZCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;GAGG;AACH,qBAAa,gBAAgB;IAIlB,GAAG,EAAE,EAAE,EAAE;IAHlB,OAAO,CAAC,OAAO,CAAiB;IAEhC,YACS,GAAG,EAAE,EAAE,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAGvB;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;CACF"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { MessageContext } from './message_context.js';
|
|
4
|
-
/**
|
|
5
|
-
* Represents a pending tagged log as it is stored in the pending tagged log array to which the fetchTaggedLogs oracle
|
|
6
|
-
* inserts found private logs. A TS version of `pending_tagged_log.nr`.
|
|
7
|
-
*/ export class PendingTaggedLog {
|
|
8
|
-
log;
|
|
9
|
-
context;
|
|
10
|
-
constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx){
|
|
11
|
-
this.log = log;
|
|
12
|
-
this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx);
|
|
13
|
-
}
|
|
14
|
-
toFields() {
|
|
15
|
-
return [
|
|
16
|
-
...serializeBoundedVec(this.log, PRIVATE_LOG_SIZE_IN_FIELDS),
|
|
17
|
-
...this.context.toFields()
|
|
18
|
-
];
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Helper function to serialize a bounded vector according to Noir's BoundedVec format
|
|
23
|
-
* @param values - The values to serialize
|
|
24
|
-
* @param maxLength - The maximum length of the bounded vector
|
|
25
|
-
* @returns The serialized bounded vector as Fr[]
|
|
26
|
-
*/ function serializeBoundedVec(values, maxLength) {
|
|
27
|
-
const lengthDiff = maxLength - values.length;
|
|
28
|
-
const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
|
|
29
|
-
const storage = values.concat(zeroPaddingArray);
|
|
30
|
-
return [
|
|
31
|
-
...storage,
|
|
32
|
-
new Fr(values.length)
|
|
33
|
-
];
|
|
34
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import type { BatchedBlob, FinalBlobBatchingChallenges } from '@aztec/blob-lib/types';
|
|
2
|
-
import type { BlockNumber, EpochNumber } from '@aztec/foundation/branded-types';
|
|
3
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
-
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
-
|
|
6
|
-
import type { Proof } from '../proofs/proof.js';
|
|
7
|
-
import type { CheckpointConstantData } from '../rollup/checkpoint_constant_data.js';
|
|
8
|
-
import type { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
|
|
9
|
-
import type { BlockHeader } from '../tx/block_header.js';
|
|
10
|
-
import type { Tx } from '../tx/tx.js';
|
|
11
|
-
import type { UInt64 } from '../types/index.js';
|
|
12
|
-
import type { IBlockFactory } from './block-builder.js';
|
|
13
|
-
|
|
14
|
-
/** Coordinates the proving of an entire epoch. */
|
|
15
|
-
export interface EpochProver extends Omit<IBlockFactory, 'setBlockCompleted' | 'startNewBlock'> {
|
|
16
|
-
/**
|
|
17
|
-
* Starts a new epoch. Must be the first method to be called.
|
|
18
|
-
* @param epochNumber - The epoch number.
|
|
19
|
-
* @param totalNumCheckpoints - The total number of checkpoints expected in the epoch (must be at least one).
|
|
20
|
-
* @param finalBlobBatchingChallenges - The final blob batching challenges for the epoch.
|
|
21
|
-
**/
|
|
22
|
-
startNewEpoch(
|
|
23
|
-
epochNumber: EpochNumber,
|
|
24
|
-
totalNumCheckpoints: number,
|
|
25
|
-
finalBlobBatchingChallenges: FinalBlobBatchingChallenges,
|
|
26
|
-
): void;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Starts a new checkpoint.
|
|
30
|
-
* @param checkpointIndex - The index of the checkpoint in the epoch.
|
|
31
|
-
* @param constants - The constants for this checkpoint.
|
|
32
|
-
* @param l1ToL2Messages - The set of L1 to L2 messages to be included in this checkpoint.
|
|
33
|
-
* @param totalNumBlocks - The total number of blocks expected in the checkpoint (must be at least one).
|
|
34
|
-
* @param headerOfLastBlockInPreviousCheckpoint - The header of the last block in the previous checkpoint.
|
|
35
|
-
*/
|
|
36
|
-
startNewCheckpoint(
|
|
37
|
-
checkpointIndex: number,
|
|
38
|
-
constants: CheckpointConstantData,
|
|
39
|
-
l1ToL2Messages: Fr[],
|
|
40
|
-
totalNumBlocks: number,
|
|
41
|
-
headerOfLastBlockInPreviousCheckpoint: BlockHeader,
|
|
42
|
-
): Promise<void>;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Starts a new block.
|
|
46
|
-
* @param blockNumber - The block number.
|
|
47
|
-
* @param timestamp - The timestamp of the block.
|
|
48
|
-
* @param totalNumTxs - The total number of txs in the block.
|
|
49
|
-
*/
|
|
50
|
-
startNewBlock(blockNumber: BlockNumber, timestamp: UInt64, totalNumTxs: number): Promise<void>;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Kickstarts chonk verifier circuits for the specified txs. These will be used during epoch proving.
|
|
54
|
-
* Note that if the chonk verifier circuits are not started this way, they will be started nonetheless after processing.
|
|
55
|
-
*/
|
|
56
|
-
startChonkVerifierCircuits(txs: Tx[]): Promise<void>;
|
|
57
|
-
|
|
58
|
-
/** Returns the block. */
|
|
59
|
-
setBlockCompleted(blockNumber: BlockNumber, expectedBlockHeader?: BlockHeader): Promise<BlockHeader>;
|
|
60
|
-
|
|
61
|
-
/** Pads the epoch with empty block roots if needed and blocks until proven. Throws if proving has failed. */
|
|
62
|
-
finalizeEpoch(): Promise<{ publicInputs: RootRollupPublicInputs; proof: Proof; batchedBlobInputs: BatchedBlob }>;
|
|
63
|
-
|
|
64
|
-
/** Cancels all proving jobs. */
|
|
65
|
-
cancel(): void;
|
|
66
|
-
|
|
67
|
-
/** Returns an identifier for the prover or zero if not set. */
|
|
68
|
-
getProverId(): EthAddress;
|
|
69
|
-
|
|
70
|
-
/** Called when no longer required, cleans up internal resources */
|
|
71
|
-
stop(): Promise<void>;
|
|
72
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
-
|
|
3
|
-
import type { UInt64 } from '../types/shared.js';
|
|
4
|
-
import { PaddedSideEffectAmounts } from './padded_side_effects.js';
|
|
5
|
-
import { PrivateKernelData } from './private_kernel_data.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Input to the private kernel circuit - tail call.
|
|
9
|
-
*/
|
|
10
|
-
export class PrivateKernelTailCircuitPrivateInputs {
|
|
11
|
-
constructor(
|
|
12
|
-
/**
|
|
13
|
-
* The previous kernel data
|
|
14
|
-
*/
|
|
15
|
-
public previousKernel: PrivateKernelData,
|
|
16
|
-
/**
|
|
17
|
-
* The number of the padded side effects.
|
|
18
|
-
*/
|
|
19
|
-
public paddedSideEffectAmounts: PaddedSideEffectAmounts,
|
|
20
|
-
/**
|
|
21
|
-
* The timestamp by which the transaction must be included in a block.
|
|
22
|
-
*/
|
|
23
|
-
public expirationTimestampUpperBound: UInt64,
|
|
24
|
-
) {}
|
|
25
|
-
|
|
26
|
-
isForPublic() {
|
|
27
|
-
return (
|
|
28
|
-
this.previousKernel.publicInputs.end.publicCallRequests.claimedLength > 0 ||
|
|
29
|
-
!this.previousKernel.publicInputs.publicTeardownCallRequest.isEmpty()
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Serialize this as a buffer.
|
|
35
|
-
* @returns The buffer.
|
|
36
|
-
*/
|
|
37
|
-
toBuffer() {
|
|
38
|
-
return serializeToBuffer(
|
|
39
|
-
this.previousKernel,
|
|
40
|
-
this.paddedSideEffectAmounts,
|
|
41
|
-
bigintToUInt64BE(this.expirationTimestampUpperBound),
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Deserializes from a buffer or reader.
|
|
47
|
-
* @param buffer - Buffer or reader to read from.
|
|
48
|
-
* @returns The deserialized instance.
|
|
49
|
-
*/
|
|
50
|
-
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelTailCircuitPrivateInputs {
|
|
51
|
-
const reader = BufferReader.asReader(buffer);
|
|
52
|
-
return new PrivateKernelTailCircuitPrivateInputs(
|
|
53
|
-
reader.readObject(PrivateKernelData),
|
|
54
|
-
reader.readObject(PaddedSideEffectAmounts),
|
|
55
|
-
reader.readUInt64(),
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants';
|
|
2
|
-
import { range } from '@aztec/foundation/array';
|
|
3
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
-
|
|
5
|
-
import { TxHash } from '../tx/tx_hash.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Additional information needed to process a message.
|
|
9
|
-
*
|
|
10
|
-
* All messages exist in the context of a transaction, and information about that transaction is typically required
|
|
11
|
-
* in order to perform validation, store results, etc. For example, messages containing notes require knowledge of note
|
|
12
|
-
* hashes and the first nullifier in order to find the note's nonce.
|
|
13
|
-
*
|
|
14
|
-
* A TS version of `message_context.nr`.
|
|
15
|
-
*/
|
|
16
|
-
export class MessageContext {
|
|
17
|
-
constructor(
|
|
18
|
-
public txHash: TxHash,
|
|
19
|
-
public uniqueNoteHashesInTx: Fr[],
|
|
20
|
-
public firstNullifierInTx: Fr,
|
|
21
|
-
) {}
|
|
22
|
-
|
|
23
|
-
toFields(): Fr[] {
|
|
24
|
-
return [
|
|
25
|
-
this.txHash.hash,
|
|
26
|
-
...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
|
|
27
|
-
this.firstNullifierInTx,
|
|
28
|
-
];
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
toNoirStruct() {
|
|
32
|
-
/* eslint-disable camelcase */
|
|
33
|
-
return {
|
|
34
|
-
tx_hash: this.txHash.hash,
|
|
35
|
-
unique_note_hashes_in_tx: this.uniqueNoteHashesInTx,
|
|
36
|
-
first_nullifier_in_tx: this.firstNullifierInTx,
|
|
37
|
-
};
|
|
38
|
-
/* eslint-enable camelcase */
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static empty(): MessageContext {
|
|
42
|
-
return new MessageContext(TxHash.zero(), [], Fr.ZERO);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
static toEmptyFields(): Fr[] {
|
|
46
|
-
const serializationLen =
|
|
47
|
-
1 /* txHash */ + MAX_NOTE_HASHES_PER_TX + 1 /* uniqueNoteHashesInTx BVec */ + 1; /* firstNullifierInTx */
|
|
48
|
-
return range(serializationLen).map(_ => Fr.zero());
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
static toSerializedOption(response: MessageContext | null): Fr[] {
|
|
52
|
-
if (response) {
|
|
53
|
-
return [new Fr(1), ...response.toFields()];
|
|
54
|
-
} else {
|
|
55
|
-
return [new Fr(0), ...MessageContext.toEmptyFields()];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Helper function to serialize a bounded vector according to Noir's BoundedVec format
|
|
62
|
-
* @param values - The values to serialize
|
|
63
|
-
* @param maxLength - The maximum length of the bounded vector
|
|
64
|
-
* @returns The serialized bounded vector as Fr[]
|
|
65
|
-
* @dev Copied over from pending_tagged_log.ts.
|
|
66
|
-
*/
|
|
67
|
-
function serializeBoundedVec(values: Fr[], maxLength: number): Fr[] {
|
|
68
|
-
if (values.length > maxLength) {
|
|
69
|
-
throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const lengthDiff = maxLength - values.length;
|
|
73
|
-
const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
|
|
74
|
-
const storage = values.concat(zeroPaddingArray);
|
|
75
|
-
return [...storage, new Fr(values.length)];
|
|
76
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
|
|
4
|
-
import type { TxHash } from '../tx/tx_hash.js';
|
|
5
|
-
import { MessageContext } from './message_context.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Represents a pending tagged log as it is stored in the pending tagged log array to which the fetchTaggedLogs oracle
|
|
9
|
-
* inserts found private logs. A TS version of `pending_tagged_log.nr`.
|
|
10
|
-
*/
|
|
11
|
-
export class PendingTaggedLog {
|
|
12
|
-
private context: MessageContext;
|
|
13
|
-
|
|
14
|
-
constructor(
|
|
15
|
-
public log: Fr[],
|
|
16
|
-
txHash: TxHash,
|
|
17
|
-
uniqueNoteHashesInTx: Fr[],
|
|
18
|
-
firstNullifierInTx: Fr,
|
|
19
|
-
) {
|
|
20
|
-
this.context = new MessageContext(txHash, uniqueNoteHashesInTx, firstNullifierInTx);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
toFields(): Fr[] {
|
|
24
|
-
return [...serializeBoundedVec(this.log, PRIVATE_LOG_SIZE_IN_FIELDS), ...this.context.toFields()];
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Helper function to serialize a bounded vector according to Noir's BoundedVec format
|
|
30
|
-
* @param values - The values to serialize
|
|
31
|
-
* @param maxLength - The maximum length of the bounded vector
|
|
32
|
-
* @returns The serialized bounded vector as Fr[]
|
|
33
|
-
*/
|
|
34
|
-
function serializeBoundedVec(values: Fr[], maxLength: number): Fr[] {
|
|
35
|
-
const lengthDiff = maxLength - values.length;
|
|
36
|
-
const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
|
|
37
|
-
const storage = values.concat(zeroPaddingArray);
|
|
38
|
-
return [...storage, new Fr(values.length)];
|
|
39
|
-
}
|