@aztec/stdlib 0.0.1-commit.993d240 → 0.0.1-commit.9a89641
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/abi/abi.d.ts +32 -7
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +11 -2
- 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 +1 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +35 -19
- package/dest/abi/decoder.d.ts +12 -5
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +18 -21
- package/dest/abi/function_call.d.ts +17 -8
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +28 -9
- package/dest/avm/avm.d.ts +212 -211
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +4 -2
- 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 +57 -28
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +20 -2
- 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 +83 -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 +24 -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 +175 -151
- 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 +301 -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 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -1
- 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/node-rpc-config.d.ts +1 -1
- package/dest/config/node-rpc-config.d.ts.map +1 -1
- package/dest/config/node-rpc-config.js +1 -1
- 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/artifact_hash.d.ts +2 -2
- package/dest/contract/artifact_hash.d.ts.map +1 -1
- package/dest/contract/artifact_hash.js +10 -2
- 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/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/api_limit.d.ts +6 -1
- package/dest/interfaces/api_limit.d.ts.map +1 -1
- package/dest/interfaces/api_limit.js +3 -0
- package/dest/interfaces/archiver.d.ts +12 -7
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +13 -6
- package/dest/interfaces/aztec-node-admin.d.ts +25 -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 +100 -33
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +72 -23
- package/dest/interfaces/block-builder.d.ts +9 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block_response.d.ts +5 -5
- package/dest/interfaces/block_response.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/checkpoint_response.d.ts +5 -5
- package/dest/interfaces/checkpoint_response.d.ts.map +1 -1
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/configs.d.ts +33 -6
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +6 -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 +17 -4
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +13 -4
- 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/tx_provider.d.ts +5 -1
- package/dest/interfaces/tx_provider.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 -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.d.ts +2 -1
- package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -1
- package/dest/logs/app_tagging_secret_kind.js +13 -0
- 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/log_result.d.ts +3 -3
- package/dest/logs/log_result.d.ts.map +1 -1
- package/dest/logs/logs_query.d.ts +2 -2
- package/dest/logs/message_context.d.ts +4 -13
- package/dest/logs/message_context.d.ts.map +1 -1
- package/dest/logs/message_context.js +1 -62
- 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 +29 -6
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +44 -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/messaging/l2_to_l1_membership.d.ts +11 -4
- package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
- package/dest/messaging/l2_to_l1_membership.js +22 -7
- package/dest/noir/index.d.ts +3 -3
- package/dest/noir/index.d.ts.map +1 -1
- 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 -87
- package/dest/timetable/index.d.ts.map +1 -1
- package/dest/timetable/index.js +4 -243
- 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/hashed_values.d.ts +7 -1
- package/dest/tx/hashed_values.d.ts.map +1 -1
- package/dest/tx/hashed_values.js +9 -1
- package/dest/tx/index.d.ts +1 -2
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- package/dest/tx/indexed_tx_effect.d.ts +5 -2
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +8 -4
- package/dest/tx/offchain_effect.js +1 -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/simulated_tx.js +7 -2
- package/dest/tx/tx.d.ts +23 -1
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +32 -3
- package/dest/tx/tx_receipt.d.ts +143 -60
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +141 -45
- 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/validators/errors.d.ts +16 -1
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +12 -0
- 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 +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/abi.ts +32 -4
- package/src/abi/buffer.ts +13 -1
- package/src/abi/contract_artifact.ts +40 -16
- package/src/abi/decoder.ts +20 -24
- package/src/abi/function_call.ts +19 -7
- package/src/avm/avm.ts +5 -2
- 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 +95 -19
- 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 +98 -10
- package/src/block/l2_block_stream/l2_block_stream.ts +255 -177
- 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 +275 -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 -1
- package/src/config/network-consensus-config.ts +291 -0
- package/src/config/node-rpc-config.ts +2 -1
- package/src/config/sequencer-config.ts +36 -5
- package/src/contract/artifact_hash.ts +15 -3
- 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 +199 -35
- 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/api_limit.ts +5 -0
- package/src/interfaces/archiver.ts +22 -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 +175 -49
- package/src/interfaces/block-builder.ts +8 -1
- package/src/interfaces/block_response.ts +4 -4
- package/src/interfaces/chain_tips.ts +8 -16
- package/src/interfaces/checkpoint_parameter.ts +3 -3
- package/src/interfaces/checkpoint_response.ts +4 -4
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/configs.ts +33 -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 +15 -3
- package/src/interfaces/server.ts +0 -2
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/interfaces/tx_provider.ts +4 -0
- 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 +16 -6
- 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 +69 -24
- package/src/logs/app_tagging_secret.ts +62 -39
- package/src/logs/app_tagging_secret_kind.ts +15 -0
- package/src/logs/contract_class_log.ts +0 -9
- package/src/logs/log_result.ts +2 -2
- package/src/logs/logs_query.ts +2 -2
- package/src/logs/message_context.ts +6 -60
- package/src/logs/pending_tagged_log.ts +6 -33
- package/src/logs/shared_secret_derivation.ts +47 -14
- package/src/messaging/l1_to_l2_message.ts +51 -13
- package/src/messaging/l2_to_l1_membership.ts +28 -11
- package/src/noir/index.ts +2 -1
- 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 -361
- 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/hashed_values.ts +11 -6
- package/src/tx/index.ts +0 -1
- package/src/tx/indexed_tx_effect.ts +17 -4
- package/src/tx/offchain_effect.ts +1 -1
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/src/tx/profiling.ts +2 -0
- package/src/tx/simulated_tx.ts +13 -2
- package/src/tx/tx.ts +46 -3
- package/src/tx/tx_receipt.ts +263 -71
- package/src/tx/validator/error_texts.ts +2 -1
- package/src/validators/errors.ts +17 -0
- package/src/world-state/genesis_data.ts +10 -0
- 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/config/pipelining-config.d.ts +0 -15
- package/dest/config/pipelining-config.d.ts.map +0 -1
- package/dest/config/pipelining-config.js +0 -18
- 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/config/pipelining-config.ts +0 -31
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
2
|
+
AVM_V2_PROOF_LENGTH_IN_FIELDS,
|
|
3
3
|
NESTED_RECURSIVE_PROOF_LENGTH,
|
|
4
4
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
5
5
|
RECURSIVE_PROOF_LENGTH,
|
|
@@ -189,7 +189,7 @@ export interface ServerCircuitProver {
|
|
|
189
189
|
inputs: AvmCircuitInputs,
|
|
190
190
|
signal?: AbortSignal,
|
|
191
191
|
epochNumber?: number,
|
|
192
|
-
): Promise<RecursiveProof<typeof
|
|
192
|
+
): Promise<RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS>>;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
export type IVCProofVerificationResult = {
|
|
@@ -13,6 +13,10 @@ export interface ITxProvider {
|
|
|
13
13
|
*/
|
|
14
14
|
hasTxs(txHashes: TxHash[]): Promise<boolean[]>;
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Collects the txs for a block proposal from the tx pool, the proposal body, and the network.
|
|
18
|
+
* @throws InvalidBlockProposalTxsError - If a tx carried in the proposal fails minimum integrity validation.
|
|
19
|
+
*/
|
|
16
20
|
getTxsForBlockProposal(
|
|
17
21
|
blockProposal: BlockProposal,
|
|
18
22
|
blockNumber: number,
|
|
@@ -84,6 +84,9 @@ export type ValidatorClientConfig = ValidatorHASignerConfig &
|
|
|
84
84
|
|
|
85
85
|
export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
86
86
|
Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal' | 'maxBlocksPerCheckpoint'> &
|
|
87
|
+
// `blockDurationMs` is optional on the loose `SequencerConfig` but is always populated via the shared
|
|
88
|
+
// `numberConfigHelper(3000)` mapping, so it is required on the fully-resolved validator config.
|
|
89
|
+
Required<Pick<SequencerConfig, 'blockDurationMs'>> &
|
|
87
90
|
Pick<
|
|
88
91
|
SlasherConfig,
|
|
89
92
|
| 'slashBroadcastedInvalidBlockPenalty'
|
|
@@ -97,6 +100,12 @@ export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
|
97
100
|
* @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
|
|
98
101
|
*/
|
|
99
102
|
disableTransactions?: boolean;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Maximum clock-disparity tolerance (ms) applied to proposal/attestation receive windows.
|
|
106
|
+
* @remarks Mirrors the property in P2PConfig. It's not picked from there to avoid circular dependencies.
|
|
107
|
+
*/
|
|
108
|
+
maxGossipClockDisparityMs?: number;
|
|
100
109
|
};
|
|
101
110
|
|
|
102
111
|
export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>()(
|
|
@@ -123,6 +132,7 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
|
|
|
123
132
|
ValidatorClientConfigSchema.extend({
|
|
124
133
|
txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
|
|
125
134
|
broadcastInvalidBlockProposal: z.boolean().optional(),
|
|
135
|
+
blockDurationMs: z.number().positive(),
|
|
126
136
|
maxBlocksPerCheckpoint: z.number().positive().optional(),
|
|
127
137
|
slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
|
|
128
138
|
slashBroadcastedInvalidCheckpointProposalPenalty: schemas.BigInt,
|
|
@@ -130,6 +140,7 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
|
|
|
130
140
|
slashDuplicateAttestationPenalty: schemas.BigInt,
|
|
131
141
|
slashAttestInvalidCheckpointProposalPenalty: schemas.BigInt,
|
|
132
142
|
disableTransactions: z.boolean().optional(),
|
|
143
|
+
maxGossipClockDisparityMs: z.number().optional(),
|
|
133
144
|
}),
|
|
134
145
|
);
|
|
135
146
|
|
|
@@ -65,6 +65,20 @@ export interface ReadonlyWorldStateAccess {
|
|
|
65
65
|
|
|
66
66
|
/** Defines the interface for a world state synchronizer. */
|
|
67
67
|
export interface WorldStateSynchronizer extends ReadonlyWorldStateAccess, ForkMerkleTreeOperations {
|
|
68
|
+
/**
|
|
69
|
+
* Returns a read handle to the world state at `blockNumber`, but only after verifying that the block at that
|
|
70
|
+
* height is on the fork identified by `blockHash`. This pins the returned view to a specific fork so a reorg
|
|
71
|
+
* that replaced the block at `blockNumber` cannot be served silently, closing the gap between resolving a query
|
|
72
|
+
* and reading its snapshot.
|
|
73
|
+
*
|
|
74
|
+
* Rejects if the block at `blockNumber` does not match `blockHash` (a reorg), or if the block's hash cannot be
|
|
75
|
+
* read from the requested view. Both are transient from a caller's perspective: re-resolving the query against
|
|
76
|
+
* the current chain and retrying may succeed or produce a more precise error. However, if the block's history
|
|
77
|
+
* has been pruned away (it predates the oldest historical block kept by world state), the rejection is terminal:
|
|
78
|
+
* retrying cannot bring the data back.
|
|
79
|
+
*/
|
|
80
|
+
getVerifiedSnapshot(blockNumber: BlockNumber, blockHash: BlockHash): Promise<MerkleTreeReadOperations>;
|
|
81
|
+
|
|
68
82
|
/** Starts the synchronizer. */
|
|
69
83
|
start(): Promise<void | PromiseWithResolvers<void>>;
|
|
70
84
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { isDefined } from '@aztec/foundation/types';
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
PrivateKernelResetDimensions,
|
|
5
3
|
type PrivateKernelResetDimensionsConfig,
|
|
4
|
+
type ResetCatalogEntry,
|
|
6
5
|
privateKernelResetDimensionNames,
|
|
7
6
|
} from '../private_kernel_reset_dimensions.js';
|
|
8
7
|
|
|
@@ -12,13 +11,6 @@ interface DimensionOption {
|
|
|
12
11
|
remainder?: PrivateKernelResetDimensions;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
function computeCost(dimensions: PrivateKernelResetDimensions, config: PrivateKernelResetDimensionsConfig) {
|
|
16
|
-
return privateKernelResetDimensionNames.reduce(
|
|
17
|
-
(accum, name) => accum + dimensions[name] * config.dimensions[name].cost,
|
|
18
|
-
0,
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
14
|
function getSize(dimensions: PrivateKernelResetDimensions) {
|
|
23
15
|
return privateKernelResetDimensionNames.reduce((accum, name) => accum + dimensions[name], 0);
|
|
24
16
|
}
|
|
@@ -38,124 +30,42 @@ function getRemainder(
|
|
|
38
30
|
return remainingDimensions ? remainder : undefined;
|
|
39
31
|
}
|
|
40
32
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
// If no such value is found, returns the max value.
|
|
49
|
-
return minGte ?? Math.max(...values);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function pickCheapest(options: DimensionOption[]) {
|
|
53
|
-
return options.reduce((prev, curr) => (curr.cost < prev.cost ? curr : prev), options[0]);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function pickSmallestRemainder(options: DimensionOption[]) {
|
|
57
|
-
const optionsWithSize = options
|
|
58
|
-
.filter(o => o.remainder)
|
|
59
|
-
.map(option => ({ option, size: getSize(option.remainder!) }));
|
|
60
|
-
return optionsWithSize.reduce((prev, curr) => (curr.size < prev.size ? curr : prev), optionsWithSize[0])?.option;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function pickBestOption(options: DimensionOption[]) {
|
|
64
|
-
const optionsResetAll = options.filter(opt => !opt.remainder);
|
|
65
|
-
const optionsResetPartial = options.filter(opt => opt.remainder);
|
|
66
|
-
// The best option is the cheapest one that can reset all dimensions.
|
|
67
|
-
// If no such option exists, find one that can reset the most data.
|
|
68
|
-
return pickCheapest(optionsResetAll) || pickSmallestRemainder(optionsResetPartial);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
function findVariant(
|
|
72
|
-
requestedDimensions: PrivateKernelResetDimensions,
|
|
73
|
-
config: PrivateKernelResetDimensionsConfig,
|
|
74
|
-
isQualified: (dimensions: PrivateKernelResetDimensions) => boolean,
|
|
75
|
-
): DimensionOption | undefined {
|
|
76
|
-
const variant = PrivateKernelResetDimensions.empty();
|
|
77
|
-
privateKernelResetDimensionNames.forEach(name => {
|
|
78
|
-
variant[name] = pickFromValues(requestedDimensions[name], config.dimensions[name].variants);
|
|
79
|
-
});
|
|
80
|
-
if (!isQualified(variant)) {
|
|
81
|
-
return;
|
|
33
|
+
// Returns the cheapest option that fully covers the request, or the option with the smallest
|
|
34
|
+
// remainder if none do. Caller must pass a non-empty list.
|
|
35
|
+
function pickBestOption(options: DimensionOption[]): DimensionOption {
|
|
36
|
+
const fullCoverage = options.filter(opt => !opt.remainder);
|
|
37
|
+
if (fullCoverage.length) {
|
|
38
|
+
return fullCoverage.reduce((prev, curr) => (curr.cost < prev.cost ? curr : prev));
|
|
82
39
|
}
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
dimensions: variant,
|
|
86
|
-
cost: computeCost(variant, config),
|
|
87
|
-
remainder: getRemainder(requestedDimensions, variant),
|
|
88
|
-
};
|
|
40
|
+
return options.reduce((prev, curr) => (getSize(curr.remainder!) < getSize(prev.remainder!) ? curr : prev));
|
|
89
41
|
}
|
|
90
42
|
|
|
91
|
-
function
|
|
92
|
-
|
|
93
|
-
config: PrivateKernelResetDimensionsConfig,
|
|
94
|
-
isQualified: (dimensions: PrivateKernelResetDimensions) => boolean,
|
|
95
|
-
): DimensionOption | undefined {
|
|
96
|
-
const needsReset = privateKernelResetDimensionNames.filter(name => requestedDimensions[name] > 0);
|
|
97
|
-
if (needsReset.length !== 1) {
|
|
98
|
-
// At the moment, we only use standalone to reset one dimension when it's about to overflow.
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const name = needsReset[0];
|
|
103
|
-
const value = pickFromValues(requestedDimensions[name], config.dimensions[name].standalone);
|
|
104
|
-
if (!value) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const dimensions = PrivateKernelResetDimensions.from({ [name]: value });
|
|
109
|
-
if (!isQualified(dimensions)) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
|
|
43
|
+
function buildOption(entry: ResetCatalogEntry, requestedDimensions: PrivateKernelResetDimensions): DimensionOption {
|
|
44
|
+
const dimensions = PrivateKernelResetDimensions.fromValues(entry.dimensions);
|
|
113
45
|
return {
|
|
114
46
|
dimensions,
|
|
115
|
-
cost:
|
|
47
|
+
cost: entry.cost,
|
|
116
48
|
remainder: getRemainder(requestedDimensions, dimensions),
|
|
117
49
|
};
|
|
118
50
|
}
|
|
119
51
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const options = specialCases.filter(isQualified).map(dimensions => ({
|
|
127
|
-
dimensions,
|
|
128
|
-
cost: computeCost(dimensions, config),
|
|
129
|
-
remainder: getRemainder(requestedDimensions, dimensions),
|
|
130
|
-
}));
|
|
131
|
-
return pickBestOption(options);
|
|
132
|
-
}
|
|
52
|
+
/**
|
|
53
|
+
* Picks which catalog group the selector should search. Mid-tx resets go to `inner` (no
|
|
54
|
+
* siloing); terminal kernels go to `finalTail` or `finalTailToPublic`, depending on whether
|
|
55
|
+
* the tx has public function calls.
|
|
56
|
+
*/
|
|
57
|
+
export type ResetDimensionsMode = 'inner' | 'finalTail' | 'finalTailToPublic';
|
|
133
58
|
|
|
134
59
|
export function findPrivateKernelResetDimensions(
|
|
135
60
|
requestedDimensions: PrivateKernelResetDimensions,
|
|
136
61
|
config: PrivateKernelResetDimensionsConfig,
|
|
137
|
-
|
|
62
|
+
mode: ResetDimensionsMode,
|
|
138
63
|
allowRemainder = false,
|
|
139
64
|
) {
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
const isQualified = !isInner
|
|
146
|
-
? isEnough
|
|
147
|
-
: // If isInner is true, it's a reset to prevent overflow. The following must be zero because siloing can't be done at the moment.
|
|
148
|
-
(dimensions: PrivateKernelResetDimensions) =>
|
|
149
|
-
dimensions.NOTE_HASH_SILOING === 0 &&
|
|
150
|
-
dimensions.NULLIFIER_SILOING === 0 &&
|
|
151
|
-
dimensions.PRIVATE_LOG_SILOING === 0 &&
|
|
152
|
-
isEnough(dimensions);
|
|
153
|
-
|
|
154
|
-
const options = [
|
|
155
|
-
findVariant(requestedDimensions, config, isQualified),
|
|
156
|
-
findStandalone(requestedDimensions, config, isQualified),
|
|
157
|
-
findSpecialCase(requestedDimensions, config, isQualified),
|
|
158
|
-
].filter(isDefined);
|
|
65
|
+
const catalog = config[mode];
|
|
66
|
+
const options = catalog
|
|
67
|
+
.map(entry => buildOption(entry, requestedDimensions))
|
|
68
|
+
.filter(option => allowRemainder || !option.remainder);
|
|
159
69
|
|
|
160
70
|
if (!options.length) {
|
|
161
71
|
throw new Error(`Cannot find an option for dimension: ${requestedDimensions.toValues()}`);
|
|
@@ -112,7 +112,7 @@ export class ScopedReadRequest {
|
|
|
112
112
|
|
|
113
113
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
114
114
|
const reader = FieldReader.asReader(fields);
|
|
115
|
-
return new ScopedReadRequest(reader.readObject(ReadRequest), AztecAddress.
|
|
115
|
+
return new ScopedReadRequest(reader.readObject(ReadRequest), AztecAddress.fromFieldUnsafe(reader.readField()));
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
/**
|
package/src/kernel/index.ts
CHANGED
|
@@ -9,12 +9,16 @@ export * from './private_kernel_data.js';
|
|
|
9
9
|
export * from './private_kernel_init_circuit_private_inputs.js';
|
|
10
10
|
export * from './private_kernel_init_2_circuit_private_inputs.js';
|
|
11
11
|
export * from './private_kernel_init_3_circuit_private_inputs.js';
|
|
12
|
+
export * from './private_kernel_init_4_circuit_private_inputs.js';
|
|
13
|
+
export * from './private_kernel_init_5_circuit_private_inputs.js';
|
|
12
14
|
export * from './private_kernel_inner_circuit_private_inputs.js';
|
|
13
15
|
export * from './private_kernel_inner_2_circuit_private_inputs.js';
|
|
14
16
|
export * from './private_kernel_inner_3_circuit_private_inputs.js';
|
|
17
|
+
export * from './private_kernel_inner_4_circuit_private_inputs.js';
|
|
18
|
+
export * from './private_kernel_inner_5_circuit_private_inputs.js';
|
|
15
19
|
export * from './private_kernel_reset_circuit_private_inputs.js';
|
|
16
20
|
export * from './private_kernel_reset_dimensions.js';
|
|
17
|
-
export * from './
|
|
21
|
+
export * from './private_kernel_reset_tail_circuit_private_inputs.js';
|
|
18
22
|
export * from './private_kernel_tail_circuit_public_inputs.js';
|
|
19
23
|
export * from './private_to_avm_accumulated_data.js';
|
|
20
24
|
export * from './private_to_public_accumulated_data.js';
|
package/src/kernel/log_hash.ts
CHANGED
|
@@ -114,7 +114,7 @@ export class ScopedLogHash {
|
|
|
114
114
|
|
|
115
115
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
116
116
|
const reader = FieldReader.asReader(fields);
|
|
117
|
-
return new ScopedLogHash(reader.readObject(LogHash), AztecAddress.
|
|
117
|
+
return new ScopedLogHash(reader.readObject(LogHash), AztecAddress.fromFieldUnsafe(reader.readField()));
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
isEmpty() {
|
|
@@ -156,7 +156,10 @@ export class ScopedCountedLogHash {
|
|
|
156
156
|
|
|
157
157
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
158
158
|
const reader = FieldReader.asReader(fields);
|
|
159
|
-
return new ScopedCountedLogHash(
|
|
159
|
+
return new ScopedCountedLogHash(
|
|
160
|
+
reader.readObject(CountedLogHash),
|
|
161
|
+
AztecAddress.fromFieldUnsafe(reader.readField()),
|
|
162
|
+
);
|
|
160
163
|
}
|
|
161
164
|
|
|
162
165
|
toBuffer(): Buffer;
|
package/src/kernel/note_hash.ts
CHANGED
|
@@ -65,7 +65,7 @@ export class ScopedNoteHash implements Ordered {
|
|
|
65
65
|
|
|
66
66
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
67
67
|
const reader = FieldReader.asReader(fields);
|
|
68
|
-
return new ScopedNoteHash(reader.readObject(NoteHash), AztecAddress.
|
|
68
|
+
return new ScopedNoteHash(reader.readObject(NoteHash), AztecAddress.fromFieldUnsafe(reader.readField()));
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
isEmpty() {
|
package/src/kernel/nullifier.ts
CHANGED
|
@@ -70,7 +70,7 @@ export class ScopedNullifier implements Ordered {
|
|
|
70
70
|
|
|
71
71
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
72
72
|
const reader = FieldReader.asReader(fields);
|
|
73
|
-
return new ScopedNullifier(reader.readObject(Nullifier), AztecAddress.
|
|
73
|
+
return new ScopedNullifier(reader.readObject(Nullifier), AztecAddress.fromFieldUnsafe(reader.readField()));
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
isEmpty() {
|
|
@@ -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
|
}
|