@aztec/stdlib 6.0.0-nightly.20260604 → 6.0.0-nightly.20260721
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/avm/avm.js +1 -1
- package/dest/avm/avm_proving_request.d.ts +70 -70
- package/dest/avm/index.d.ts +1 -6
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +0 -5
- 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_class.d.ts +1 -1
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class.js +3 -2
- 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/index.d.ts +1 -2
- package/dest/contract/index.d.ts.map +1 -1
- package/dest/contract/index.js +0 -1
- 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/interfaces/archiver.d.ts +7 -9
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +3 -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 +8 -3
- 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 +71 -12
- 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-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 +4 -4
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +2 -2
- package/dest/interfaces/server.d.ts +1 -3
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +0 -2
- 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 +1 -2
- package/dest/kernel/hints/index.d.ts.map +1 -1
- package/dest/kernel/hints/index.js +0 -1
- package/dest/kernel/hints/read_request.js +1 -1
- package/dest/kernel/index.d.ts +6 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +5 -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 -9
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
- 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_4_circuit_private_inputs.d.ts +24 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
- 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_inner_4_circuit_private_inputs.d.ts +18 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
- package/dest/kernel/private_kernel_prover_output.d.ts +4 -1
- package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_prover_output.js +4 -1
- 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 +1 -7
- package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
- package/dest/kernel/private_kernel_simulated_output.js +2 -1
- 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 +1 -2
- package/dest/kernel/utils/index.d.ts.map +1 -1
- package/dest/kernel/utils/index.js +0 -1
- package/dest/keys/derivation.d.ts +41 -5
- package/dest/keys/derivation.d.ts.map +1 -1
- package/dest/keys/derivation.js +53 -23
- 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 +44 -28
- 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/message_context.d.ts +5 -15
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +1 -66
- package/dest/logs/pending_tagged_log.d.ts +6 -8
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +1 -31
- 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/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 +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- 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 +1 -27
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +10 -45
- 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 +1 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- 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/profiling.d.ts +1 -1
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +2 -0
- 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/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/world_state_revision.d.ts +1 -18
- package/dest/world-state/world_state_revision.d.ts.map +1 -1
- package/dest/world-state/world_state_revision.js +0 -20
- package/package.json +8 -8
- package/src/abi/buffer.ts +13 -1
- package/src/avm/avm.ts +1 -1
- package/src/avm/index.ts +0 -5
- 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_class.ts +3 -2
- package/src/contract/contract_instance.ts +62 -1
- package/src/contract/index.ts +0 -1
- 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/interfaces/archiver.ts +8 -9
- 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 +8 -2
- package/src/interfaces/p2p.ts +29 -9
- package/src/interfaces/private_kernel_prover.ts +104 -13
- package/src/interfaces/prover-client.ts +1 -3
- package/src/interfaces/prover-node.ts +32 -17
- package/src/interfaces/proving-job.ts +3 -3
- package/src/interfaces/server.ts +0 -2
- 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 +0 -1
- package/src/kernel/hints/read_request.ts +1 -1
- package/src/kernel/index.ts +5 -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 -7
- 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_4_circuit_private_inputs.ts +52 -0
- package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
- package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
- package/src/kernel/private_kernel_prover_output.ts +4 -0
- 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 +0 -7
- package/src/kernel/private_log_data.ts +4 -1
- package/src/kernel/utils/index.ts +0 -1
- package/src/keys/derivation.ts +71 -21
- package/src/logs/app_tagging_secret.ts +56 -24
- package/src/logs/app_tagging_secret_kind.ts +1 -1
- package/src/logs/contract_class_log.ts +0 -9
- package/src/logs/message_context.ts +7 -65
- package/src/logs/pending_tagged_log.ts +6 -33
- package/src/logs/shared_secret_derivation.ts +31 -15
- package/src/p2p/attestation_utils.ts +8 -1
- package/src/p2p/checkpoint_attestation.ts +12 -0
- package/src/p2p/index.ts +0 -1
- 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 +6 -2
- package/src/tests/factories.ts +13 -51
- 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 +0 -1
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +2 -0
- package/src/tx/tx.ts +17 -0
- package/src/tx/validator/error_texts.ts +2 -1
- package/src/world-state/world_state_revision.ts +0 -33
- package/dest/avm/contract_storage_read.d.ts +0 -58
- package/dest/avm/contract_storage_read.d.ts.map +0 -1
- package/dest/avm/contract_storage_read.js +0 -65
- package/dest/avm/contract_storage_update_request.d.ts +0 -65
- package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
- package/dest/avm/contract_storage_update_request.js +0 -80
- package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
- package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
- package/dest/avm/public_call_stack_item_compressed.js +0 -70
- package/dest/avm/public_data_update_request.d.ts +0 -62
- package/dest/avm/public_data_update_request.d.ts.map +0 -1
- package/dest/avm/public_data_update_request.js +0 -67
- package/dest/avm/public_inner_call_request.d.ts +0 -50
- package/dest/avm/public_inner_call_request.d.ts.map +0 -1
- package/dest/avm/public_inner_call_request.js +0 -74
- package/dest/contract/deployment_info.d.ts +0 -24
- package/dest/contract/deployment_info.d.ts.map +0 -1
- package/dest/contract/deployment_info.js +0 -3
- 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/interfaces/prover-coordination.d.ts +0 -15
- package/dest/interfaces/prover-coordination.d.ts.map +0 -1
- package/dest/interfaces/prover-coordination.js +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
- package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
- package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
- 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/kernel/utils/optional_number.d.ts +0 -31
- package/dest/kernel/utils/optional_number.d.ts.map +0 -1
- package/dest/kernel/utils/optional_number.js +0 -42
- package/dest/p2p/interface.d.ts +0 -5
- package/dest/p2p/interface.d.ts.map +0 -1
- package/dest/p2p/interface.js +0 -1
- package/dest/tx/validator/empty_validator.d.ts +0 -5
- package/dest/tx/validator/empty_validator.d.ts.map +0 -1
- package/dest/tx/validator/empty_validator.js +0 -7
- package/src/avm/contract_storage_read.ts +0 -77
- package/src/avm/contract_storage_update_request.ts +0 -93
- package/src/avm/public_call_stack_item_compressed.ts +0 -113
- package/src/avm/public_data_update_request.ts +0 -106
- package/src/avm/public_inner_call_request.ts +0 -85
- package/src/contract/deployment_info.ts +0 -25
- package/src/interfaces/epoch-prover.ts +0 -72
- package/src/interfaces/prover-coordination.ts +0 -17
- package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
- package/src/kernel/utils/optional_number.ts +0 -50
- package/src/p2p/interface.ts +0 -4
- package/src/tx/validator/empty_validator.ts +0 -7
|
@@ -144,6 +144,11 @@ export class PrivateCircuitPublicInputs {
|
|
|
144
144
|
* Hash of the contract class logs emitted in this function call.
|
|
145
145
|
*/
|
|
146
146
|
public contractClassLogsHashes: ClaimedLengthArray<CountedLogHash, typeof MAX_CONTRACT_CLASS_LOGS_PER_CALL>,
|
|
147
|
+
/**
|
|
148
|
+
* The tx request's salt. Keeps `tx_request.hash()` (the protocol nullifier) unpredictable, and lets the init
|
|
149
|
+
* kernel bind this proof to a specific tx request (it asserts this equals `tx_request.salt`).
|
|
150
|
+
*/
|
|
151
|
+
public txRequestSalt: Fr,
|
|
147
152
|
) {}
|
|
148
153
|
|
|
149
154
|
/**
|
|
@@ -188,6 +193,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
188
193
|
reader.readObject(ClaimedLengthArrayFromBuffer(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)),
|
|
189
194
|
reader.readObject(ClaimedLengthArrayFromBuffer(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)),
|
|
190
195
|
reader.readObject(ClaimedLengthArrayFromBuffer(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)),
|
|
196
|
+
reader.readObject(Fr),
|
|
191
197
|
);
|
|
192
198
|
}
|
|
193
199
|
|
|
@@ -219,6 +225,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
219
225
|
reader.readObject(ClaimedLengthArrayFromFields(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)),
|
|
220
226
|
reader.readObject(ClaimedLengthArrayFromFields(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)),
|
|
221
227
|
reader.readObject(ClaimedLengthArrayFromFields(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)),
|
|
228
|
+
reader.readField(),
|
|
222
229
|
);
|
|
223
230
|
}
|
|
224
231
|
|
|
@@ -251,6 +258,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
251
258
|
ClaimedLengthArray.empty(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL),
|
|
252
259
|
ClaimedLengthArray.empty(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL),
|
|
253
260
|
ClaimedLengthArray.empty(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL),
|
|
261
|
+
Fr.ZERO,
|
|
254
262
|
);
|
|
255
263
|
}
|
|
256
264
|
|
|
@@ -278,7 +286,8 @@ export class PrivateCircuitPublicInputs {
|
|
|
278
286
|
this.nullifiers.isEmpty() &&
|
|
279
287
|
this.l2ToL1Msgs.isEmpty() &&
|
|
280
288
|
this.privateLogs.isEmpty() &&
|
|
281
|
-
this.contractClassLogsHashes.isEmpty()
|
|
289
|
+
this.contractClassLogsHashes.isEmpty() &&
|
|
290
|
+
this.txRequestSalt.isZero()
|
|
282
291
|
);
|
|
283
292
|
}
|
|
284
293
|
|
|
@@ -312,6 +321,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
312
321
|
fields.l2ToL1Msgs,
|
|
313
322
|
fields.privateLogs,
|
|
314
323
|
fields.contractClassLogsHashes,
|
|
324
|
+
fields.txRequestSalt,
|
|
315
325
|
] as const;
|
|
316
326
|
}
|
|
317
327
|
|
|
@@ -346,6 +356,7 @@ export class PrivateCircuitPublicInputs {
|
|
|
346
356
|
this.l2ToL1Msgs,
|
|
347
357
|
this.privateLogs,
|
|
348
358
|
this.contractClassLogsHashes,
|
|
359
|
+
this.txRequestSalt,
|
|
349
360
|
]);
|
|
350
361
|
}
|
|
351
362
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { serializeToFields } from '@aztec/foundation/serialize';
|
|
3
3
|
|
|
4
4
|
import { BlockHeader } from '../tx/block_header.js';
|
|
@@ -11,13 +11,20 @@ export class PrivateContextInputs {
|
|
|
11
11
|
public anchorBlockHeader: BlockHeader,
|
|
12
12
|
public txContext: TxContext,
|
|
13
13
|
public startSideEffectCounter: number,
|
|
14
|
+
public txRequestSalt: Fr,
|
|
14
15
|
) {}
|
|
15
16
|
|
|
16
17
|
public static empty(): PrivateContextInputs {
|
|
17
|
-
return new PrivateContextInputs(CallContext.empty(), BlockHeader.empty(), TxContext.empty(), 0);
|
|
18
|
+
return new PrivateContextInputs(CallContext.empty(), BlockHeader.empty(), TxContext.empty(), 0, Fr.ZERO);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
public toFields(): Fr[] {
|
|
21
|
-
return serializeToFields([
|
|
22
|
+
return serializeToFields([
|
|
23
|
+
this.callContext,
|
|
24
|
+
this.anchorBlockHeader,
|
|
25
|
+
this.txContext,
|
|
26
|
+
this.startSideEffectCounter,
|
|
27
|
+
this.txRequestSalt,
|
|
28
|
+
]);
|
|
22
29
|
}
|
|
23
30
|
}
|
|
@@ -46,10 +46,6 @@ export class PrivateKernelCircuitPublicInputs {
|
|
|
46
46
|
* Wether this is a private only tx or not
|
|
47
47
|
*/
|
|
48
48
|
public isPrivateOnly: boolean,
|
|
49
|
-
/**
|
|
50
|
-
* The nullifier that will be used for nonce generation
|
|
51
|
-
*/
|
|
52
|
-
public claimedFirstNullifier: Fr,
|
|
53
49
|
/**
|
|
54
50
|
* A claim to the final min revertible side effect counter of a tx.
|
|
55
51
|
*/
|
|
@@ -74,7 +70,6 @@ export class PrivateKernelCircuitPublicInputs {
|
|
|
74
70
|
this.feePayer,
|
|
75
71
|
bigintToUInt64BE(this.expirationTimestamp),
|
|
76
72
|
this.isPrivateOnly,
|
|
77
|
-
this.claimedFirstNullifier,
|
|
78
73
|
this.claimedRevertibleCounter,
|
|
79
74
|
);
|
|
80
75
|
}
|
|
@@ -95,7 +90,6 @@ export class PrivateKernelCircuitPublicInputs {
|
|
|
95
90
|
reader.readObject(AztecAddress),
|
|
96
91
|
reader.readUInt64(),
|
|
97
92
|
reader.readBoolean(),
|
|
98
|
-
reader.readObject(Fr),
|
|
99
93
|
reader.readNumber(),
|
|
100
94
|
);
|
|
101
95
|
}
|
|
@@ -110,8 +104,16 @@ export class PrivateKernelCircuitPublicInputs {
|
|
|
110
104
|
AztecAddress.ZERO,
|
|
111
105
|
0n,
|
|
112
106
|
false,
|
|
113
|
-
Fr.zero(),
|
|
114
107
|
0,
|
|
115
108
|
);
|
|
116
109
|
}
|
|
117
110
|
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Returns true iff the tx requires the public-bound terminal path: it has either un-processed
|
|
114
|
+
* public-call requests in the side-effect stream or a pending public-teardown call request. Every
|
|
115
|
+
* site picking between the rollup-bound and public-bound terminal artifact must route through this.
|
|
116
|
+
*/
|
|
117
|
+
export function kernelStateIsForPublic(publicInputs: PrivateKernelCircuitPublicInputs): boolean {
|
|
118
|
+
return publicInputs.end.publicCallRequests.claimedLength > 0 || !publicInputs.publicTeardownCallRequest.isEmpty();
|
|
119
|
+
}
|
|
@@ -17,7 +17,6 @@ export class PrivateKernelInit2CircuitPrivateInputs {
|
|
|
17
17
|
public privateCall0: PrivateCallData,
|
|
18
18
|
public privateCall1: PrivateCallData,
|
|
19
19
|
public isPrivateOnly: boolean,
|
|
20
|
-
public firstNullifierHint: Fr,
|
|
21
20
|
public revertibleCounterHint: number,
|
|
22
21
|
) {}
|
|
23
22
|
|
|
@@ -28,7 +27,6 @@ export class PrivateKernelInit2CircuitPrivateInputs {
|
|
|
28
27
|
this.protocolContracts,
|
|
29
28
|
this.privateCall0,
|
|
30
29
|
this.privateCall1,
|
|
31
|
-
this.firstNullifierHint,
|
|
32
30
|
this.revertibleCounterHint,
|
|
33
31
|
);
|
|
34
32
|
}
|
|
@@ -42,7 +40,6 @@ export class PrivateKernelInit2CircuitPrivateInputs {
|
|
|
42
40
|
reader.readObject(PrivateCallData),
|
|
43
41
|
reader.readObject(PrivateCallData),
|
|
44
42
|
reader.readBoolean(),
|
|
45
|
-
Fr.fromBuffer(reader),
|
|
46
43
|
reader.readNumber(),
|
|
47
44
|
);
|
|
48
45
|
}
|
|
@@ -18,7 +18,6 @@ export class PrivateKernelInit3CircuitPrivateInputs {
|
|
|
18
18
|
public privateCall1: PrivateCallData,
|
|
19
19
|
public privateCall2: PrivateCallData,
|
|
20
20
|
public isPrivateOnly: boolean,
|
|
21
|
-
public firstNullifierHint: Fr,
|
|
22
21
|
public revertibleCounterHint: number,
|
|
23
22
|
) {}
|
|
24
23
|
|
|
@@ -30,7 +29,6 @@ export class PrivateKernelInit3CircuitPrivateInputs {
|
|
|
30
29
|
this.privateCall0,
|
|
31
30
|
this.privateCall1,
|
|
32
31
|
this.privateCall2,
|
|
33
|
-
this.firstNullifierHint,
|
|
34
32
|
this.revertibleCounterHint,
|
|
35
33
|
);
|
|
36
34
|
}
|
|
@@ -45,7 +43,6 @@ export class PrivateKernelInit3CircuitPrivateInputs {
|
|
|
45
43
|
reader.readObject(PrivateCallData),
|
|
46
44
|
reader.readObject(PrivateCallData),
|
|
47
45
|
reader.readBoolean(),
|
|
48
|
-
Fr.fromBuffer(reader),
|
|
49
46
|
reader.readNumber(),
|
|
50
47
|
);
|
|
51
48
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
|
+
|
|
4
|
+
import { ProtocolContracts } from '../tx/protocol_contracts.js';
|
|
5
|
+
import { TxRequest } from '../tx/tx_request.js';
|
|
6
|
+
import { PrivateCallData } from './private_call_data.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Input to the batched private kernel init circuit, which processes the first four app calls of a
|
|
10
|
+
* transaction in a single iteration.
|
|
11
|
+
*/
|
|
12
|
+
export class PrivateKernelInit4CircuitPrivateInputs {
|
|
13
|
+
constructor(
|
|
14
|
+
public txRequest: TxRequest,
|
|
15
|
+
public vkTreeRoot: Fr,
|
|
16
|
+
public protocolContracts: ProtocolContracts,
|
|
17
|
+
public privateCall0: PrivateCallData,
|
|
18
|
+
public privateCall1: PrivateCallData,
|
|
19
|
+
public privateCall2: PrivateCallData,
|
|
20
|
+
public privateCall3: PrivateCallData,
|
|
21
|
+
public isPrivateOnly: boolean,
|
|
22
|
+
public revertibleCounterHint: number,
|
|
23
|
+
) {}
|
|
24
|
+
|
|
25
|
+
toBuffer() {
|
|
26
|
+
return serializeToBuffer(
|
|
27
|
+
this.txRequest,
|
|
28
|
+
this.vkTreeRoot,
|
|
29
|
+
this.protocolContracts,
|
|
30
|
+
this.privateCall0,
|
|
31
|
+
this.privateCall1,
|
|
32
|
+
this.privateCall2,
|
|
33
|
+
this.privateCall3,
|
|
34
|
+
this.revertibleCounterHint,
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInit4CircuitPrivateInputs {
|
|
39
|
+
const reader = BufferReader.asReader(buffer);
|
|
40
|
+
return new PrivateKernelInit4CircuitPrivateInputs(
|
|
41
|
+
reader.readObject(TxRequest),
|
|
42
|
+
Fr.fromBuffer(reader),
|
|
43
|
+
reader.readObject(ProtocolContracts),
|
|
44
|
+
reader.readObject(PrivateCallData),
|
|
45
|
+
reader.readObject(PrivateCallData),
|
|
46
|
+
reader.readObject(PrivateCallData),
|
|
47
|
+
reader.readObject(PrivateCallData),
|
|
48
|
+
reader.readBoolean(),
|
|
49
|
+
reader.readNumber(),
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
|
+
|
|
4
|
+
import { ProtocolContracts } from '../tx/protocol_contracts.js';
|
|
5
|
+
import { TxRequest } from '../tx/tx_request.js';
|
|
6
|
+
import { PrivateCallData } from './private_call_data.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Input to the batched private kernel init circuit, which processes the first five app calls of a
|
|
10
|
+
* transaction in a single iteration.
|
|
11
|
+
*/
|
|
12
|
+
export class PrivateKernelInit5CircuitPrivateInputs {
|
|
13
|
+
constructor(
|
|
14
|
+
public txRequest: TxRequest,
|
|
15
|
+
public vkTreeRoot: Fr,
|
|
16
|
+
public protocolContracts: ProtocolContracts,
|
|
17
|
+
public privateCall0: PrivateCallData,
|
|
18
|
+
public privateCall1: PrivateCallData,
|
|
19
|
+
public privateCall2: PrivateCallData,
|
|
20
|
+
public privateCall3: PrivateCallData,
|
|
21
|
+
public privateCall4: PrivateCallData,
|
|
22
|
+
public isPrivateOnly: boolean,
|
|
23
|
+
public revertibleCounterHint: number,
|
|
24
|
+
) {}
|
|
25
|
+
|
|
26
|
+
toBuffer() {
|
|
27
|
+
return serializeToBuffer(
|
|
28
|
+
this.txRequest,
|
|
29
|
+
this.vkTreeRoot,
|
|
30
|
+
this.protocolContracts,
|
|
31
|
+
this.privateCall0,
|
|
32
|
+
this.privateCall1,
|
|
33
|
+
this.privateCall2,
|
|
34
|
+
this.privateCall3,
|
|
35
|
+
this.privateCall4,
|
|
36
|
+
this.revertibleCounterHint,
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInit5CircuitPrivateInputs {
|
|
41
|
+
const reader = BufferReader.asReader(buffer);
|
|
42
|
+
return new PrivateKernelInit5CircuitPrivateInputs(
|
|
43
|
+
reader.readObject(TxRequest),
|
|
44
|
+
Fr.fromBuffer(reader),
|
|
45
|
+
reader.readObject(ProtocolContracts),
|
|
46
|
+
reader.readObject(PrivateCallData),
|
|
47
|
+
reader.readObject(PrivateCallData),
|
|
48
|
+
reader.readObject(PrivateCallData),
|
|
49
|
+
reader.readObject(PrivateCallData),
|
|
50
|
+
reader.readObject(PrivateCallData),
|
|
51
|
+
reader.readBoolean(),
|
|
52
|
+
reader.readNumber(),
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -30,10 +30,6 @@ export class PrivateKernelInitCircuitPrivateInputs {
|
|
|
30
30
|
* Wether this tx will make public calls or not.
|
|
31
31
|
*/
|
|
32
32
|
public isPrivateOnly: boolean,
|
|
33
|
-
/**
|
|
34
|
-
* A hint to what will be the first nullifier of the transaction, used for nonce generation.
|
|
35
|
-
*/
|
|
36
|
-
public firstNullifierHint: Fr,
|
|
37
33
|
/**
|
|
38
34
|
* A claim to the final min revertible side effect counter of a tx.
|
|
39
35
|
*/
|
|
@@ -50,7 +46,6 @@ export class PrivateKernelInitCircuitPrivateInputs {
|
|
|
50
46
|
this.vkTreeRoot,
|
|
51
47
|
this.protocolContracts,
|
|
52
48
|
this.privateCall,
|
|
53
|
-
this.firstNullifierHint,
|
|
54
49
|
this.revertibleCounterHint,
|
|
55
50
|
);
|
|
56
51
|
}
|
|
@@ -68,7 +63,6 @@ export class PrivateKernelInitCircuitPrivateInputs {
|
|
|
68
63
|
reader.readObject(ProtocolContracts),
|
|
69
64
|
reader.readObject(PrivateCallData),
|
|
70
65
|
reader.readBoolean(),
|
|
71
|
-
Fr.fromBuffer(reader),
|
|
72
66
|
reader.readNumber(),
|
|
73
67
|
);
|
|
74
68
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
+
|
|
3
|
+
import { PrivateCallData } from './private_call_data.js';
|
|
4
|
+
import { PrivateKernelData } from './private_kernel_data.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Input to the batched private kernel inner circuit, which processes four app calls in a single
|
|
8
|
+
* iteration following a previous kernel.
|
|
9
|
+
*/
|
|
10
|
+
export class PrivateKernelInner4CircuitPrivateInputs {
|
|
11
|
+
constructor(
|
|
12
|
+
public previousKernel: PrivateKernelData,
|
|
13
|
+
public privateCall0: PrivateCallData,
|
|
14
|
+
public privateCall1: PrivateCallData,
|
|
15
|
+
public privateCall2: PrivateCallData,
|
|
16
|
+
public privateCall3: PrivateCallData,
|
|
17
|
+
) {}
|
|
18
|
+
|
|
19
|
+
toBuffer() {
|
|
20
|
+
return serializeToBuffer(
|
|
21
|
+
this.previousKernel,
|
|
22
|
+
this.privateCall0,
|
|
23
|
+
this.privateCall1,
|
|
24
|
+
this.privateCall2,
|
|
25
|
+
this.privateCall3,
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInner4CircuitPrivateInputs {
|
|
30
|
+
const reader = BufferReader.asReader(buffer);
|
|
31
|
+
return new PrivateKernelInner4CircuitPrivateInputs(
|
|
32
|
+
reader.readObject(PrivateKernelData),
|
|
33
|
+
reader.readObject(PrivateCallData),
|
|
34
|
+
reader.readObject(PrivateCallData),
|
|
35
|
+
reader.readObject(PrivateCallData),
|
|
36
|
+
reader.readObject(PrivateCallData),
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
+
|
|
3
|
+
import { PrivateCallData } from './private_call_data.js';
|
|
4
|
+
import { PrivateKernelData } from './private_kernel_data.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Input to the batched private kernel inner circuit, which processes five app calls in a single
|
|
8
|
+
* iteration following a previous kernel.
|
|
9
|
+
*/
|
|
10
|
+
export class PrivateKernelInner5CircuitPrivateInputs {
|
|
11
|
+
constructor(
|
|
12
|
+
public previousKernel: PrivateKernelData,
|
|
13
|
+
public privateCall0: PrivateCallData,
|
|
14
|
+
public privateCall1: PrivateCallData,
|
|
15
|
+
public privateCall2: PrivateCallData,
|
|
16
|
+
public privateCall3: PrivateCallData,
|
|
17
|
+
public privateCall4: PrivateCallData,
|
|
18
|
+
) {}
|
|
19
|
+
|
|
20
|
+
toBuffer() {
|
|
21
|
+
return serializeToBuffer(
|
|
22
|
+
this.previousKernel,
|
|
23
|
+
this.privateCall0,
|
|
24
|
+
this.privateCall1,
|
|
25
|
+
this.privateCall2,
|
|
26
|
+
this.privateCall3,
|
|
27
|
+
this.privateCall4,
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInner5CircuitPrivateInputs {
|
|
32
|
+
const reader = BufferReader.asReader(buffer);
|
|
33
|
+
return new PrivateKernelInner5CircuitPrivateInputs(
|
|
34
|
+
reader.readObject(PrivateKernelData),
|
|
35
|
+
reader.readObject(PrivateCallData),
|
|
36
|
+
reader.readObject(PrivateCallData),
|
|
37
|
+
reader.readObject(PrivateCallData),
|
|
38
|
+
reader.readObject(PrivateCallData),
|
|
39
|
+
reader.readObject(PrivateCallData),
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CircuitKind } from '@aztec/bb.js';
|
|
1
2
|
import { bufferSchema, mapSchema } from '@aztec/foundation/schemas';
|
|
2
3
|
import type { WitnessMap } from '@aztec/noir-acvm_js';
|
|
3
4
|
import { serializeWitness } from '@aztec/noir-noirc_abi';
|
|
@@ -15,6 +16,7 @@ export const PrivateExecutionStepSchema = z.object({
|
|
|
15
16
|
bytecode: bufferSchema,
|
|
16
17
|
witness: mapSchema(z.number(), z.string()),
|
|
17
18
|
vk: bufferSchema,
|
|
19
|
+
kind: z.nativeEnum(CircuitKind),
|
|
18
20
|
timings: z.object({
|
|
19
21
|
witgen: z.number(),
|
|
20
22
|
gateCount: z.number().optional(),
|
|
@@ -31,6 +33,7 @@ export interface PrivateExecutionStep {
|
|
|
31
33
|
witness: WitnessMap;
|
|
32
34
|
/* TODO(https://github.com/AztecProtocol/barretenberg/issues/1328) this should get its own proper class. */
|
|
33
35
|
vk: Buffer;
|
|
36
|
+
kind: CircuitKind;
|
|
34
37
|
timings: {
|
|
35
38
|
witgen: number;
|
|
36
39
|
gateCount?: number;
|
|
@@ -64,6 +67,7 @@ export function serializePrivateExecutionSteps(steps: PrivateExecutionStep[]) {
|
|
|
64
67
|
witness: serializeWitness(step.witness),
|
|
65
68
|
vk: step.vk,
|
|
66
69
|
functionName: step.functionName,
|
|
70
|
+
kind: step.kind,
|
|
67
71
|
};
|
|
68
72
|
};
|
|
69
73
|
return new Encoder({ useRecords: false }).pack(steps.map(stepToStruct));
|
|
@@ -68,14 +68,24 @@ export const privateKernelResetDimensionNames: DimensionName[] = [
|
|
|
68
68
|
'PRIVATE_LOG_SILOING',
|
|
69
69
|
];
|
|
70
70
|
|
|
71
|
-
export interface
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
export interface ResetCatalogEntry {
|
|
72
|
+
name: string;
|
|
73
|
+
dimensions: number[];
|
|
74
|
+
// Measured gate count (circuit_size) of the compiled variant. Used by the selector to pick the
|
|
75
|
+
// cheapest variant that covers the requested dimensions, e.g. if the required dimensions are
|
|
76
|
+
// `6 - 2 - 2` then a variant with capacity `8 - 2 - 2` might be cheaper than one with capacity
|
|
77
|
+
// `6 - 4 - 4`.
|
|
74
78
|
cost: number;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
// Must match the config in noir-projects/noir-protocol-circuits/private_kernel_reset_config.json
|
|
78
82
|
export interface PrivateKernelResetDimensionsConfig {
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
// Variants used for mid-tx resets that prevent overflow. Never the last kernel in the chain.
|
|
84
|
+
inner: ResetCatalogEntry[];
|
|
85
|
+
// Variants used as the terminal kernel for the rollup-bound private-only path. Each runs
|
|
86
|
+
// final-reset siloing and tail finalisation in one proof.
|
|
87
|
+
finalTail: ResetCatalogEntry[];
|
|
88
|
+
// Terminal variants for the public-bound path (transactions with public function calls). Runs
|
|
89
|
+
// final-reset siloing and tail-to-public partitioning by revertibility in one proof.
|
|
90
|
+
finalTailToPublic: ResetCatalogEntry[];
|
|
81
91
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
MAX_KEY_VALIDATION_REQUESTS_PER_TX,
|
|
3
|
+
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
4
|
+
MAX_NULLIFIERS_PER_TX,
|
|
5
|
+
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
6
|
+
} from '@aztec/constants';
|
|
7
|
+
import { bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
8
|
+
|
|
9
|
+
import type { UInt64 } from '../types/shared.js';
|
|
10
|
+
import type { PrivateKernelResetHints } from './hints/private_kernel_reset_hints.js';
|
|
11
|
+
import type { PaddedSideEffectAmounts, PaddedSideEffects } from './padded_side_effects.js';
|
|
12
|
+
import { kernelStateIsForPublic } from './private_kernel_circuit_public_inputs.js';
|
|
13
|
+
import type { PrivateKernelData } from './private_kernel_data.js';
|
|
14
|
+
import { PrivateKernelResetCircuitPrivateInputsVariants } from './private_kernel_reset_circuit_private_inputs.js';
|
|
15
|
+
import type { PrivateKernelResetDimensions } from './private_kernel_reset_dimensions.js';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Input to a terminal reset+tail circuit. `isForPublic()` selects the rollup-bound (`reset_tail`)
|
|
19
|
+
* or public-bound (`reset_tail_to_public`) family.
|
|
20
|
+
*/
|
|
21
|
+
export class PrivateKernelResetTailCircuitPrivateInputs {
|
|
22
|
+
constructor(
|
|
23
|
+
public previousKernel: PrivateKernelData,
|
|
24
|
+
public paddedSideEffects: PaddedSideEffects,
|
|
25
|
+
public hints: PrivateKernelResetHints<
|
|
26
|
+
typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
27
|
+
typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
28
|
+
typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
29
|
+
typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
30
|
+
typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX,
|
|
31
|
+
typeof MAX_NULLIFIERS_PER_TX
|
|
32
|
+
>,
|
|
33
|
+
public dimensions: PrivateKernelResetDimensions,
|
|
34
|
+
public paddedSideEffectAmounts: PaddedSideEffectAmounts,
|
|
35
|
+
public expirationTimestampUpperBound: UInt64,
|
|
36
|
+
) {}
|
|
37
|
+
|
|
38
|
+
isForPublic() {
|
|
39
|
+
return kernelStateIsForPublic(this.previousKernel.publicInputs);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Returns a dimension-trimmed view of the reset portion of these inputs (without the tail
|
|
44
|
+
* fields). The prover uses this to feed witness generation of the variant matching the chosen
|
|
45
|
+
* dimensions.
|
|
46
|
+
*/
|
|
47
|
+
trimResetToSizes() {
|
|
48
|
+
const hints = this.hints.trimToSizes(
|
|
49
|
+
this.dimensions.NOTE_HASH_PENDING_READ,
|
|
50
|
+
this.dimensions.NOTE_HASH_SETTLED_READ,
|
|
51
|
+
this.dimensions.NULLIFIER_PENDING_READ,
|
|
52
|
+
this.dimensions.NULLIFIER_SETTLED_READ,
|
|
53
|
+
this.dimensions.KEY_VALIDATION,
|
|
54
|
+
this.dimensions.TRANSIENT_DATA_SQUASHING,
|
|
55
|
+
);
|
|
56
|
+
return new PrivateKernelResetCircuitPrivateInputsVariants(this.previousKernel, this.paddedSideEffects, hints);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
toBuffer() {
|
|
60
|
+
return serializeToBuffer(
|
|
61
|
+
this.previousKernel,
|
|
62
|
+
this.paddedSideEffects,
|
|
63
|
+
this.hints,
|
|
64
|
+
this.dimensions,
|
|
65
|
+
this.paddedSideEffectAmounts,
|
|
66
|
+
bigintToUInt64BE(this.expirationTimestampUpperBound),
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -17,10 +17,3 @@ export interface PrivateKernelSimulateOutput<
|
|
|
17
17
|
verificationKey: VerificationKeyData;
|
|
18
18
|
bytecode: Buffer;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Represents the output of the circuit simulation process for init and inner private kernel circuit.
|
|
23
|
-
*/
|
|
24
|
-
export type AppCircuitSimulateOutput = {
|
|
25
|
-
verificationKey: VerificationKeyData;
|
|
26
|
-
};
|
|
@@ -85,7 +85,10 @@ export class ScopedPrivateLogData {
|
|
|
85
85
|
|
|
86
86
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
87
87
|
const reader = FieldReader.asReader(fields);
|
|
88
|
-
return new ScopedPrivateLogData(
|
|
88
|
+
return new ScopedPrivateLogData(
|
|
89
|
+
reader.readObject(PrivateLogData),
|
|
90
|
+
AztecAddress.fromFieldUnsafe(reader.readField()),
|
|
91
|
+
);
|
|
89
92
|
}
|
|
90
93
|
|
|
91
94
|
isEmpty() {
|