@aztec/stdlib 0.0.1-commit.f2ce05ee → 0.0.1-commit.f504929
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/decoder.d.ts +2 -2
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +7 -5
- package/dest/abi/encoder.d.ts +1 -1
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +37 -6
- package/dest/abi/event_metadata_definition.d.ts +3 -1
- package/dest/abi/event_metadata_definition.d.ts.map +1 -1
- package/dest/abi/event_metadata_definition.js +1 -1
- package/dest/abi/utils.d.ts +14 -1
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +15 -0
- package/dest/auth_witness/auth_witness.js +3 -3
- package/dest/avm/avm.d.ts +300 -300
- package/dest/avm/avm_proving_request.d.ts +166 -166
- package/dest/avm/revert_code.d.ts +16 -1
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -5
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/index.d.ts +2 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block_source.d.ts +20 -1
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
- package/dest/checkpoint/checkpoint.d.ts +21 -7
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +24 -13
- package/dest/checkpoint/checkpoint_data.d.ts +120 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +26 -0
- package/dest/checkpoint/index.d.ts +2 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +1 -0
- package/dest/checkpoint/published_checkpoint.d.ts +17 -2
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/config/sequencer-config.d.ts +5 -3
- package/dest/config/sequencer-config.d.ts.map +1 -1
- package/dest/config/sequencer-config.js +13 -0
- package/dest/contract/contract_address.js +4 -4
- package/dest/contract/contract_class.d.ts +2 -3
- package/dest/contract/contract_class.d.ts.map +1 -1
- package/dest/contract/contract_class_id.d.ts +1 -1
- package/dest/contract/contract_class_id.d.ts.map +1 -1
- package/dest/contract/contract_class_id.js +5 -4
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/contract/private_function.js +2 -2
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/gas/gas_fees.d.ts +1 -1
- package/dest/gas/gas_fees.d.ts.map +1 -1
- package/dest/gas/gas_fees.js +4 -1
- package/dest/ha-signing/config.d.ts +101 -0
- package/dest/ha-signing/config.d.ts.map +1 -0
- package/dest/ha-signing/config.js +92 -0
- package/dest/ha-signing/index.d.ts +3 -0
- package/dest/ha-signing/index.d.ts.map +1 -0
- package/dest/ha-signing/index.js +2 -0
- package/dest/ha-signing/types.d.ts +85 -0
- package/dest/ha-signing/types.d.ts.map +1 -0
- package/dest/ha-signing/types.js +32 -0
- package/dest/hash/hash.d.ts +2 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +16 -10
- package/dest/hash/map_slot.js +2 -2
- package/dest/interfaces/allowed_element.d.ts +2 -20
- package/dest/interfaces/allowed_element.d.ts.map +1 -1
- package/dest/interfaces/allowed_element.js +0 -6
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +5 -0
- package/dest/interfaces/aztec-node-admin.d.ts +48 -28
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +9 -3
- package/dest/interfaces/aztec-node.d.ts +1 -1
- package/dest/interfaces/block-builder.d.ts +3 -3
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +1 -1
- package/dest/interfaces/configs.d.ts +32 -27
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +7 -2
- package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +3 -8
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +2 -2
- package/dest/interfaces/slasher.d.ts +5 -1
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +1 -0
- package/dest/interfaces/validator.d.ts +21 -27
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +6 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
- package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
- package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
- package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
- package/dest/kernel/hints/build_transient_data_hints.js +9 -3
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/keys/derivation.js +8 -8
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- package/dest/keys/utils.js +5 -5
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
- package/dest/logs/index.d.ts +3 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +2 -1
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/private_log.d.ts +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/logs/public_log.d.ts +4 -3
- package/dest/logs/public_log.d.ts.map +1 -1
- package/dest/logs/public_log.js +2 -1
- package/dest/logs/siloed_tag.d.ts +5 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +8 -7
- package/dest/logs/tag.js +1 -1
- package/dest/note/index.d.ts +1 -2
- package/dest/note/index.d.ts.map +1 -1
- package/dest/note/index.js +0 -1
- package/dest/p2p/attestation_utils.d.ts +11 -1
- package/dest/p2p/attestation_utils.d.ts.map +1 -1
- package/dest/p2p/attestation_utils.js +45 -0
- package/dest/p2p/block_proposal.d.ts +2 -2
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +2 -4
- package/dest/p2p/checkpoint_attestation.d.ts +2 -1
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts +11 -6
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +21 -16
- package/dest/p2p/client_type.d.ts +2 -5
- package/dest/p2p/client_type.d.ts.map +1 -1
- package/dest/p2p/client_type.js +0 -7
- package/dest/p2p/consensus_payload.d.ts +12 -3
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +22 -15
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/p2p/index.d.ts +1 -2
- package/dest/p2p/index.d.ts.map +1 -1
- package/dest/p2p/index.js +0 -1
- package/dest/p2p/topic_type.d.ts +3 -4
- package/dest/p2p/topic_type.d.ts.map +1 -1
- package/dest/p2p/topic_type.js +7 -24
- package/dest/rollup/checkpoint_header.d.ts +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +1 -0
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +3 -0
- package/dest/slashing/tally.d.ts +8 -2
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +21 -2
- package/dest/slashing/types.d.ts +5 -3
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +7 -1
- package/dest/tests/factories.d.ts +3 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +19 -11
- package/dest/tests/mocks.d.ts +5 -2
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +18 -13
- package/dest/trees/public_data_leaf.d.ts +2 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/tx/block_header.js +2 -2
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/profiling.d.ts +4 -4
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +3 -3
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/simulated_tx.d.ts +5 -2
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +4 -1
- package/dest/tx/tx_receipt.d.ts +16 -2
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +11 -3
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.d.ts +3 -2
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +2 -1
- package/dest/tx/validator/tx_validator.d.ts +2 -2
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/validators/schemas.d.ts +30 -30
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +4 -3
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/abi/decoder.ts +15 -6
- package/src/abi/encoder.ts +49 -6
- package/src/abi/event_metadata_definition.ts +2 -0
- package/src/abi/utils.ts +25 -0
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/avm/revert_code.ts +15 -0
- package/src/block/block_data.ts +26 -0
- package/src/block/index.ts +1 -0
- package/src/block/l2_block_source.ts +22 -0
- package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
- package/src/checkpoint/checkpoint.ts +32 -14
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/config/sequencer-config.ts +20 -2
- package/src/contract/contract_address.ts +4 -4
- package/src/contract/contract_class.ts +3 -3
- package/src/contract/contract_class_id.ts +5 -4
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/contract/private_function.ts +2 -2
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/gas/gas_fees.ts +7 -1
- package/src/ha-signing/config.ts +149 -0
- package/src/ha-signing/index.ts +18 -0
- package/src/ha-signing/types.ts +112 -0
- package/src/hash/hash.ts +14 -10
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/allowed_element.ts +1 -5
- package/src/interfaces/archiver.ts +5 -0
- package/src/interfaces/aztec-node-admin.ts +23 -0
- package/src/interfaces/aztec-node.ts +1 -1
- package/src/interfaces/block-builder.ts +6 -2
- package/src/interfaces/configs.ts +22 -5
- package/src/interfaces/merkle_tree_operations.ts +1 -1
- package/src/interfaces/p2p.ts +2 -13
- package/src/interfaces/slasher.ts +2 -0
- package/src/interfaces/validator.ts +14 -4
- package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
- package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
- package/src/kernel/hints/build_transient_data_hints.ts +17 -2
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +8 -8
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +5 -5
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
- package/src/logs/index.ts +2 -1
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/public_log.ts +4 -2
- package/src/logs/siloed_tag.ts +10 -5
- package/src/logs/tag.ts +1 -1
- package/src/note/index.ts +0 -1
- package/src/p2p/attestation_utils.ts +56 -0
- package/src/p2p/block_proposal.ts +1 -3
- package/src/p2p/checkpoint_attestation.ts +6 -1
- package/src/p2p/checkpoint_proposal.ts +36 -14
- package/src/p2p/client_type.ts +0 -6
- package/src/p2p/consensus_payload.ts +25 -12
- package/src/p2p/constants.ts +3 -0
- package/src/p2p/index.ts +0 -1
- package/src/p2p/topic_type.ts +8 -15
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/slashing/empire.ts +2 -1
- package/src/slashing/helpers.ts +4 -0
- package/src/slashing/tally.ts +18 -3
- package/src/slashing/types.ts +7 -0
- package/src/tests/factories.ts +21 -12
- package/src/tests/mocks.ts +28 -13
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/block_header.ts +2 -2
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/profiling.ts +5 -5
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/simulated_tx.ts +8 -1
- package/src/tx/tx_receipt.ts +10 -0
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/error_texts.ts +2 -1
- package/src/tx/validator/tx_validator.ts +1 -1
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
- package/dest/note/notes_filter.d.ts +0 -27
- package/dest/note/notes_filter.d.ts.map +0 -1
- package/dest/note/notes_filter.js +0 -11
- package/src/note/notes_filter.ts +0 -38
package/dest/interfaces/p2p.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { CheckpointAttestation } from '../p2p/checkpoint_attestation.js';
|
|
3
|
-
import type { P2PClientType } from '../p2p/client_type.js';
|
|
4
3
|
import { type ApiSchemaFor } from '../schemas/index.js';
|
|
5
4
|
import { Tx } from '../tx/tx.js';
|
|
6
5
|
import { TxHash } from '../tx/tx_hash.js';
|
|
@@ -21,7 +20,7 @@ export type PeerInfo = {
|
|
|
21
20
|
dialAttempts: number;
|
|
22
21
|
};
|
|
23
22
|
/** Exposed API to the P2P module. */
|
|
24
|
-
export interface
|
|
23
|
+
export interface P2PApi {
|
|
25
24
|
/**
|
|
26
25
|
* Returns all pending transactions in the transaction pool.
|
|
27
26
|
* @param limit - The number of items to returns
|
|
@@ -39,8 +38,6 @@ export interface P2PApiWithoutAttestations {
|
|
|
39
38
|
* Returns info for all connected, dialing, and cached peers.
|
|
40
39
|
*/
|
|
41
40
|
getPeers(includePending?: boolean): Promise<PeerInfo[]>;
|
|
42
|
-
}
|
|
43
|
-
export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
|
|
44
41
|
/**
|
|
45
42
|
* Queries the Attestation pool for checkpoint attestations for the given slot
|
|
46
43
|
*
|
|
@@ -50,11 +47,9 @@ export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
|
|
|
50
47
|
*/
|
|
51
48
|
getCheckpointAttestationsForSlot(slot: SlotNumber, proposalId?: string): Promise<CheckpointAttestation[]>;
|
|
52
49
|
}
|
|
53
|
-
export interface P2PClient extends
|
|
50
|
+
export interface P2PClient extends P2PApi {
|
|
54
51
|
/** Manually adds checkpoint attestations to the p2p client attestation pool. */
|
|
55
52
|
addOwnCheckpointAttestations(attestations: CheckpointAttestation[]): Promise<void>;
|
|
56
53
|
}
|
|
57
|
-
export type P2PApi<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full ? P2PApiWithAttestations : P2PApiWithoutAttestations;
|
|
58
|
-
export type P2PApiFull<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full ? P2PApiWithAttestations & P2PClient : P2PApiWithoutAttestations;
|
|
59
54
|
export declare const P2PApiSchema: ApiSchemaFor<P2PApi>;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9wMnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFxQixNQUFNLHFCQUFxQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzFDLE1BQU0sTUFBTSxRQUFRLEdBQ2hCO0lBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDbEQ7SUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO0lBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUE7Q0FBRSxHQUMxRTtJQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUFDLFlBQVksRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0FBYzdGLHFDQUFxQztBQUNyQyxNQUFNLFdBQVcsTUFBTTtJQUNyQjs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdELDREQUE0RDtJQUM1RCxpQkFBaUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckM7O09BRUc7SUFDSCxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3Qzs7T0FFRztJQUNILFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFeEQ7Ozs7OztPQU1HO0lBQ0gsZ0NBQWdDLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztDQUMzRztBQUVELE1BQU0sV0FBVyxTQUFVLFNBQVEsTUFBTTtJQUN2QyxnRkFBZ0Y7SUFDaEYsNEJBQTRCLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ3BGO0FBRUQsZUFBTyxNQUFNLFlBQVksRUFBRSxZQUFZLENBQUMsTUFBTSxDQWE3QyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p2p.d.ts","sourceRoot":"","sources":["../../src/interfaces/p2p.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAIlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"p2p.d.ts","sourceRoot":"","sources":["../../src/interfaces/p2p.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAIlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,MAAM,MAAM,QAAQ,GAChB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAC1E;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAc7F,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB;;;;;OAKG;IACH,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7D,4DAA4D;IAC5D,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,gCAAgC,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAC3G;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,gFAAgF;IAChF,4BAA4B,CAAC,YAAY,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF;AAED,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,MAAM,CAa7C,CAAC"}
|
|
@@ -6268,10 +6268,10 @@ export type ProvingJobInputsMap = {
|
|
|
6268
6268
|
};
|
|
6269
6269
|
export declare const ProvingJobResult: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
6270
6270
|
type: z.ZodLiteral<ProvingRequestType.PUBLIC_VM>;
|
|
6271
|
-
result: z.ZodEffects<ZodFor<Buffer<ArrayBufferLike>>, RecursiveProof<
|
|
6271
|
+
result: z.ZodEffects<ZodFor<Buffer<ArrayBufferLike>>, RecursiveProof<16400>, any>;
|
|
6272
6272
|
}, "strip", z.ZodTypeAny, {
|
|
6273
6273
|
type: ProvingRequestType.PUBLIC_VM;
|
|
6274
|
-
result: RecursiveProof<
|
|
6274
|
+
result: RecursiveProof<16400>;
|
|
6275
6275
|
}, {
|
|
6276
6276
|
type: ProvingRequestType.PUBLIC_VM;
|
|
6277
6277
|
result?: any;
|
|
@@ -15,6 +15,7 @@ export interface SlasherConfig {
|
|
|
15
15
|
slashInactivityPenalty: bigint;
|
|
16
16
|
slashBroadcastedInvalidBlockPenalty: bigint;
|
|
17
17
|
slashDuplicateProposalPenalty: bigint;
|
|
18
|
+
slashDuplicateAttestationPenalty: bigint;
|
|
18
19
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
19
20
|
slashAttestDescendantOfInvalidPenalty: bigint;
|
|
20
21
|
slashUnknownPenalty: bigint;
|
|
@@ -36,6 +37,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
36
37
|
slashInactivityPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
37
38
|
slashProposeInvalidAttestationsPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
38
39
|
slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
40
|
+
slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
39
41
|
slashAttestDescendantOfInvalidPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
40
42
|
slashUnknownPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
41
43
|
slashOffenseExpirationRounds: z.ZodNumber;
|
|
@@ -57,6 +59,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
57
59
|
slashInactivityPenalty: bigint;
|
|
58
60
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
59
61
|
slashDuplicateProposalPenalty: bigint;
|
|
62
|
+
slashDuplicateAttestationPenalty: bigint;
|
|
60
63
|
slashAttestDescendantOfInvalidPenalty: bigint;
|
|
61
64
|
slashUnknownPenalty: bigint;
|
|
62
65
|
slashOffenseExpirationRounds: number;
|
|
@@ -78,6 +81,7 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
78
81
|
slashInactivityPenalty: string | number | bigint;
|
|
79
82
|
slashProposeInvalidAttestationsPenalty: string | number | bigint;
|
|
80
83
|
slashDuplicateProposalPenalty: string | number | bigint;
|
|
84
|
+
slashDuplicateAttestationPenalty: string | number | bigint;
|
|
81
85
|
slashAttestDescendantOfInvalidPenalty: string | number | bigint;
|
|
82
86
|
slashUnknownPenalty: string | number | bigint;
|
|
83
87
|
slashOffenseExpirationRounds: number;
|
|
@@ -87,4 +91,4 @@ export declare const SlasherConfigSchema: z.ZodObject<{
|
|
|
87
91
|
slashExecuteRoundsLookBack: number;
|
|
88
92
|
slashSelfAllowed?: boolean | undefined;
|
|
89
93
|
}>;
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2xhc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRW5ELE1BQU0sV0FBVyxhQUFhO0lBQzVCLG9CQUFvQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQztJQUNsQyx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IscUJBQXFCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBQ3hDLHdDQUF3QyxFQUFFLE1BQU0sQ0FBQztJQUNqRCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixtQ0FBbUMsRUFBRSxNQUFNLENBQUM7SUFDNUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQztJQUN6QyxzQ0FBc0MsRUFBRSxNQUFNLENBQUM7SUFDL0MscUNBQXFDLEVBQUUsTUFBTSxDQUFDO0lBQzlDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1Qiw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFDckMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUNoQywwQkFBMEIsRUFBRSxNQUFNLENBQUM7Q0FDcEM7QUFFRCxlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3Qi9CLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,wCAAwC,EAAE,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,6BAA6B,EAAE,MAAM,CAAC;IACtC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"slasher.d.ts","sourceRoot":"","sources":["../../src/interfaces/slasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,oBAAoB,EAAE,UAAU,EAAE,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,wCAAwC,EAAE,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mCAAmC,EAAE,MAAM,CAAC;IAC5C,6BAA6B,EAAE,MAAM,CAAC;IACtC,gCAAgC,EAAE,MAAM,CAAC;IACzC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB/B,CAAC"}
|
|
@@ -13,6 +13,7 @@ export const SlasherConfigSchema = zodFor()(z.object({
|
|
|
13
13
|
slashInactivityPenalty: schemas.BigInt,
|
|
14
14
|
slashProposeInvalidAttestationsPenalty: schemas.BigInt,
|
|
15
15
|
slashDuplicateProposalPenalty: schemas.BigInt,
|
|
16
|
+
slashDuplicateAttestationPenalty: schemas.BigInt,
|
|
16
17
|
slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
|
|
17
18
|
slashUnknownPenalty: schemas.BigInt,
|
|
18
19
|
slashOffenseExpirationRounds: z.number(),
|
|
@@ -7,10 +7,10 @@ import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/se
|
|
|
7
7
|
import type { BlockProposal, BlockProposalOptions, CheckpointAttestation, CheckpointLastBlockData, CheckpointProposal, CheckpointProposalOptions } from '@aztec/stdlib/p2p';
|
|
8
8
|
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
9
9
|
import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
|
|
10
|
-
import { type ValidatorHASignerConfig } from '@aztec/validator-ha-signer/config';
|
|
11
10
|
import type { PeerId } from '@libp2p/interface';
|
|
12
11
|
import { z } from 'zod';
|
|
13
12
|
import type { CommitteeAttestationsAndSigners } from '../block/index.js';
|
|
13
|
+
import { type ValidatorHASignerConfig } from '../ha-signing/index.js';
|
|
14
14
|
/**
|
|
15
15
|
* Validator client configuration
|
|
16
16
|
*/
|
|
@@ -35,8 +35,10 @@ export type ValidatorClientConfig = ValidatorHASignerConfig & {
|
|
|
35
35
|
skipCheckpointProposalValidation?: boolean;
|
|
36
36
|
/** Skip pushing re-executed blocks to archiver (default: false) */
|
|
37
37
|
skipPushProposedBlocksToArchiver?: boolean;
|
|
38
|
+
/** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
|
|
39
|
+
attestToEquivocatedProposals?: boolean;
|
|
38
40
|
};
|
|
39
|
-
export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, '
|
|
41
|
+
export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal' | 'maxTxsPerBlock'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'> & {
|
|
40
42
|
/**
|
|
41
43
|
* Whether transactions are disabled for this node
|
|
42
44
|
* @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
|
|
@@ -72,6 +74,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
|
|
|
72
74
|
fishermanMode: z.ZodOptional<z.ZodBoolean>;
|
|
73
75
|
skipCheckpointProposalValidation: z.ZodOptional<z.ZodBoolean>;
|
|
74
76
|
skipPushProposedBlocksToArchiver: z.ZodOptional<z.ZodBoolean>;
|
|
77
|
+
attestToEquivocatedProposals: z.ZodOptional<z.ZodBoolean>;
|
|
75
78
|
}, "strip", z.ZodTypeAny, {
|
|
76
79
|
haSigningEnabled: boolean;
|
|
77
80
|
l1Contracts: {
|
|
@@ -96,6 +99,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
|
|
|
96
99
|
fishermanMode?: boolean | undefined;
|
|
97
100
|
skipCheckpointProposalValidation?: boolean | undefined;
|
|
98
101
|
skipPushProposedBlocksToArchiver?: boolean | undefined;
|
|
102
|
+
attestToEquivocatedProposals?: boolean | undefined;
|
|
99
103
|
}, {
|
|
100
104
|
haSigningEnabled: boolean;
|
|
101
105
|
l1Contracts: {
|
|
@@ -120,6 +124,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
|
|
|
120
124
|
fishermanMode?: boolean | undefined;
|
|
121
125
|
skipCheckpointProposalValidation?: boolean | undefined;
|
|
122
126
|
skipPushProposedBlocksToArchiver?: boolean | undefined;
|
|
127
|
+
attestToEquivocatedProposals?: boolean | undefined;
|
|
123
128
|
}>;
|
|
124
129
|
export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
|
|
125
130
|
haSigningEnabled: z.ZodBoolean;
|
|
@@ -150,8 +155,9 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
|
|
|
150
155
|
fishermanMode: z.ZodOptional<z.ZodBoolean>;
|
|
151
156
|
skipCheckpointProposalValidation: z.ZodOptional<z.ZodBoolean>;
|
|
152
157
|
skipPushProposedBlocksToArchiver: z.ZodOptional<z.ZodBoolean>;
|
|
158
|
+
attestToEquivocatedProposals: z.ZodOptional<z.ZodBoolean>;
|
|
153
159
|
} & {
|
|
154
|
-
|
|
160
|
+
txPublicSetupAllowListExtend: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
|
|
155
161
|
address: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
|
|
156
162
|
selector: import("@aztec/foundation/schemas").ZodFor<import("../abi/function_selector.js").FunctionSelector>;
|
|
157
163
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -160,12 +166,6 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
|
|
|
160
166
|
}, {
|
|
161
167
|
address?: any;
|
|
162
168
|
selector?: any;
|
|
163
|
-
}>, z.ZodObject<{
|
|
164
|
-
address: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
|
|
165
|
-
}, "strip", z.ZodTypeAny, {
|
|
166
|
-
address: import("../aztec-address/index.js").AztecAddress;
|
|
167
|
-
}, {
|
|
168
|
-
address?: any;
|
|
169
169
|
}>, z.ZodObject<{
|
|
170
170
|
classId: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
171
171
|
selector: import("@aztec/foundation/schemas").ZodFor<import("../abi/function_selector.js").FunctionSelector>;
|
|
@@ -175,16 +175,12 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
|
|
|
175
175
|
}, {
|
|
176
176
|
classId?: any;
|
|
177
177
|
selector?: any;
|
|
178
|
-
}>, z.ZodObject<{
|
|
179
|
-
classId: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
180
|
-
}, "strip", z.ZodTypeAny, {
|
|
181
|
-
classId: Fr;
|
|
182
|
-
}, {
|
|
183
|
-
classId?: any;
|
|
184
178
|
}>]>, "many">>;
|
|
185
179
|
broadcastInvalidBlockProposal: z.ZodOptional<z.ZodBoolean>;
|
|
180
|
+
maxTxsPerBlock: z.ZodOptional<z.ZodNumber>;
|
|
186
181
|
slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
187
182
|
slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
183
|
+
slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
188
184
|
disableTransactions: z.ZodOptional<z.ZodBoolean>;
|
|
189
185
|
}, "strip", z.ZodTypeAny, {
|
|
190
186
|
haSigningEnabled: boolean;
|
|
@@ -210,20 +206,19 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
|
|
|
210
206
|
fishermanMode?: boolean | undefined;
|
|
211
207
|
skipCheckpointProposalValidation?: boolean | undefined;
|
|
212
208
|
skipPushProposedBlocksToArchiver?: boolean | undefined;
|
|
213
|
-
|
|
209
|
+
attestToEquivocatedProposals?: boolean | undefined;
|
|
210
|
+
txPublicSetupAllowListExtend?: ({
|
|
214
211
|
address: import("../aztec-address/index.js").AztecAddress;
|
|
215
212
|
selector: import("../abi/function_selector.js").FunctionSelector;
|
|
216
|
-
} | {
|
|
217
|
-
address: import("../aztec-address/index.js").AztecAddress;
|
|
218
213
|
} | {
|
|
219
214
|
classId: Fr;
|
|
220
215
|
selector: import("../abi/function_selector.js").FunctionSelector;
|
|
221
|
-
} | {
|
|
222
|
-
classId: Fr;
|
|
223
216
|
})[] | undefined;
|
|
224
217
|
broadcastInvalidBlockProposal?: boolean | undefined;
|
|
218
|
+
maxTxsPerBlock?: number | undefined;
|
|
225
219
|
slashBroadcastedInvalidBlockPenalty: bigint;
|
|
226
220
|
slashDuplicateProposalPenalty: bigint;
|
|
221
|
+
slashDuplicateAttestationPenalty: bigint;
|
|
227
222
|
disableTransactions?: boolean | undefined;
|
|
228
223
|
}, {
|
|
229
224
|
haSigningEnabled: boolean;
|
|
@@ -249,20 +244,19 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
|
|
|
249
244
|
fishermanMode?: boolean | undefined;
|
|
250
245
|
skipCheckpointProposalValidation?: boolean | undefined;
|
|
251
246
|
skipPushProposedBlocksToArchiver?: boolean | undefined;
|
|
252
|
-
|
|
247
|
+
attestToEquivocatedProposals?: boolean | undefined;
|
|
248
|
+
txPublicSetupAllowListExtend?: ({
|
|
253
249
|
address?: any;
|
|
254
250
|
selector?: any;
|
|
255
|
-
} | {
|
|
256
|
-
address?: any;
|
|
257
251
|
} | {
|
|
258
252
|
classId?: any;
|
|
259
253
|
selector?: any;
|
|
260
|
-
} | {
|
|
261
|
-
classId?: any;
|
|
262
254
|
})[] | undefined;
|
|
263
255
|
broadcastInvalidBlockProposal?: boolean | undefined;
|
|
256
|
+
maxTxsPerBlock?: number | undefined;
|
|
264
257
|
slashBroadcastedInvalidBlockPenalty: string | number | bigint;
|
|
265
258
|
slashDuplicateProposalPenalty: string | number | bigint;
|
|
259
|
+
slashDuplicateAttestationPenalty: string | number | bigint;
|
|
266
260
|
disableTransactions?: boolean | undefined;
|
|
267
261
|
}>;
|
|
268
262
|
export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & {
|
|
@@ -273,7 +267,7 @@ export interface Validator {
|
|
|
273
267
|
updateConfig(config: Partial<ValidatorClientFullConfig>): void;
|
|
274
268
|
createBlockProposal(blockHeader: BlockHeader, indexWithinCheckpoint: number, inHash: Fr, archive: Fr, txs: Tx[], proposerAddress: EthAddress | undefined, options: BlockProposalOptions): Promise<BlockProposal | undefined>;
|
|
275
269
|
/** Creates a checkpoint proposal for the last block in a checkpoint */
|
|
276
|
-
createCheckpointProposal(checkpointHeader: CheckpointHeader, archive: Fr, lastBlockInfo: CreateCheckpointProposalLastBlockData | undefined, proposerAddress: EthAddress | undefined, options: CheckpointProposalOptions): Promise<CheckpointProposal>;
|
|
270
|
+
createCheckpointProposal(checkpointHeader: CheckpointHeader, archive: Fr, feeAssetPriceModifier: bigint, lastBlockInfo: CreateCheckpointProposalLastBlockData | undefined, proposerAddress: EthAddress | undefined, options: CheckpointProposalOptions): Promise<CheckpointProposal>;
|
|
277
271
|
/**
|
|
278
272
|
* Validate a block proposal from a peer.
|
|
279
273
|
* Note: Validators do NOT attest to individual blocks - attestations are only for checkpoint proposals.
|
|
@@ -292,4 +286,4 @@ export interface Validator {
|
|
|
292
286
|
collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date): Promise<CheckpointAttestation[]>;
|
|
293
287
|
signAttestationsAndSigners(attestationsAndSigners: CommitteeAttestationsAndSigners, proposer: EthAddress, slot: SlotNumber, blockNumber: BlockNumber | CheckpointNumber): Promise<Signature>;
|
|
294
288
|
}
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDMUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssdUJBQXVCLEVBQWlDLE1BQU0sd0JBQXdCLENBQUM7QUFHckc7O0dBRUc7QUFDSCxNQUFNLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLEdBQUc7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { schemas, zodFor } from '@aztec/foundation/schemas';
|
|
2
|
-
import { ValidatorHASignerConfigSchema } from '@aztec/validator-ha-signer/config';
|
|
3
2
|
import { z } from 'zod';
|
|
3
|
+
import { ValidatorHASignerConfigSchema } from '../ha-signing/index.js';
|
|
4
4
|
import { AllowedElementSchema } from './allowed_element.js';
|
|
5
5
|
export const ValidatorClientConfigSchema = zodFor()(ValidatorHASignerConfigSchema.extend({
|
|
6
6
|
validatorAddresses: z.array(schemas.EthAddress).optional(),
|
|
@@ -11,12 +11,15 @@ export const ValidatorClientConfigSchema = zodFor()(ValidatorHASignerConfigSchem
|
|
|
11
11
|
alwaysReexecuteBlockProposals: z.boolean().optional(),
|
|
12
12
|
fishermanMode: z.boolean().optional(),
|
|
13
13
|
skipCheckpointProposalValidation: z.boolean().optional(),
|
|
14
|
-
skipPushProposedBlocksToArchiver: z.boolean().optional()
|
|
14
|
+
skipPushProposedBlocksToArchiver: z.boolean().optional(),
|
|
15
|
+
attestToEquivocatedProposals: z.boolean().optional()
|
|
15
16
|
}));
|
|
16
17
|
export const ValidatorClientFullConfigSchema = zodFor()(ValidatorClientConfigSchema.extend({
|
|
17
|
-
|
|
18
|
+
txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
|
|
18
19
|
broadcastInvalidBlockProposal: z.boolean().optional(),
|
|
20
|
+
maxTxsPerBlock: z.number().optional(),
|
|
19
21
|
slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
|
|
20
22
|
slashDuplicateProposalPenalty: schemas.BigInt,
|
|
23
|
+
slashDuplicateAttestationPenalty: schemas.BigInt,
|
|
21
24
|
disableTransactions: z.boolean().optional()
|
|
22
25
|
}));
|
|
@@ -6,11 +6,11 @@ import type { ScopedNoteHash } from '../note_hash.js';
|
|
|
6
6
|
import type { ScopedReadRequest } from './read_request.js';
|
|
7
7
|
import { ReadRequestResetActions } from './read_request_hints.js';
|
|
8
8
|
export declare function isValidNoteHashReadRequest(readRequest: ScopedReadRequest, noteHash: ScopedNoteHash): boolean;
|
|
9
|
-
export declare function getNoteHashReadRequestResetActions(noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX
|
|
9
|
+
export declare function getNoteHashReadRequestResetActions(noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>): ReadRequestResetActions<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>;
|
|
10
10
|
export declare function buildNoteHashReadRequestHintsFromResetActions<PENDING extends number, SETTLED extends number>(oracle: {
|
|
11
11
|
getNoteHashMembershipWitness(noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
|
|
12
12
|
}, noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>, resetActions: ReadRequestResetActions<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./note_hash_read_request_hints.js").NoteHashReadRequestHints<PENDING, SETTLED>>;
|
|
13
13
|
export declare function buildNoteHashReadRequestHints<PENDING extends number, SETTLED extends number>(oracle: {
|
|
14
14
|
getNoteHashMembershipWitness(noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT>>;
|
|
15
|
-
}, noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>,
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
}, noteHashReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, noteHashes: ClaimedLengthArray<ScopedNoteHash, typeof MAX_NOTE_HASHES_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./note_hash_read_request_hints.js").NoteHashReadRequestHints<PENDING, SETTLED>>;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfbm90ZV9oYXNoX3JlYWRfcmVxdWVzdF9oaW50cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9idWlsZF9ub3RlX2hhc2hfcmVhZF9yZXF1ZXN0X2hpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLHNCQUFzQixFQUMzQixrQ0FBa0MsRUFDbEMsS0FBSyxxQkFBcUIsRUFDM0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQTBDLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUcsd0JBQWdCLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsY0FBYyxXQU1sRztBQUVELHdCQUFnQixrQ0FBa0MsQ0FDaEQsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxrQ0FBa0MsQ0FBQyxFQUN0RyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsR0FDNUUsdUJBQXVCLENBQUMsT0FBTyxrQ0FBa0MsQ0FBQyxDQWdDcEU7QUFFRCx3QkFBc0IsNkNBQTZDLENBQUMsT0FBTyxTQUFTLE1BQU0sRUFBRSxPQUFPLFNBQVMsTUFBTSxFQUNoSCxNQUFNLEVBQUU7SUFDTiw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7Q0FDbEgsRUFDRCxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3RHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxFQUM3RSxZQUFZLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxrQ0FBa0MsQ0FBQyxFQUNoRixVQUFVLEdBQUUsT0FBdUQsRUFDbkUsVUFBVSxHQUFFLE9BQXVELG1HQXVDcEU7QUFFRCx3QkFBc0IsNkJBQTZCLENBQUMsT0FBTyxTQUFTLE1BQU0sRUFBRSxPQUFPLFNBQVMsTUFBTSxFQUNoRyxNQUFNLEVBQUU7SUFDTiw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBQUMsQ0FBQztDQUN0RyxFQUNELG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLE9BQU8sa0NBQWtDLENBQUMsRUFDdEcsVUFBVSxFQUFFLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEVBQzdFLFVBQVUsR0FBRSxPQUF1RCxFQUNuRSxVQUFVLEdBQUUsT0FBdUQsbUdBV3BFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build_note_hash_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_note_hash_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"build_note_hash_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_note_hash_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE1G,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,WAMlG;AAED,wBAAgB,kCAAkC,CAChD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,GAC5E,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,CAgCpE;AAED,wBAAsB,6CAA6C,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChH,MAAM,EAAE;IACN,4BAA4B,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,GAAG,SAAS,CAAC,CAAC;CAClH,EACD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,EAC7E,YAAY,EAAE,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,EAChF,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,mGAuCpE;AAED,wBAAsB,6BAA6B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAChG,MAAM,EAAE;IACN,4BAA4B,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;CACtG,EACD,oBAAoB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACtG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,OAAO,sBAAsB,CAAC,EAC7E,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,mGAWpE"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { MAX_NOTE_HASH_READ_REQUESTS_PER_TX } from '@aztec/constants';
|
|
2
2
|
import { NoteHashReadRequestHintsBuilder } from './note_hash_read_request_hints.js';
|
|
3
3
|
import { PendingReadHint, ReadRequestActionEnum, ReadRequestResetActions } from './read_request_hints.js';
|
|
4
|
-
import { ScopedValueCache } from './scoped_value_cache.js';
|
|
5
4
|
export function isValidNoteHashReadRequest(readRequest, noteHash) {
|
|
6
5
|
return noteHash.value.equals(readRequest.value) && noteHash.contractAddress.equals(readRequest.contractAddress) && readRequest.counter > noteHash.counter;
|
|
7
6
|
}
|
|
8
|
-
export function getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes
|
|
7
|
+
export function getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes) {
|
|
9
8
|
const resetActions = ReadRequestResetActions.empty(MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
|
|
10
9
|
const noteHashMap = new Map();
|
|
11
10
|
noteHashes.getActiveItems().forEach((noteHash, index)=>{
|
|
@@ -17,15 +16,19 @@ export function getNoteHashReadRequestResetActions(noteHashReadRequests, noteHas
|
|
|
17
16
|
});
|
|
18
17
|
noteHashMap.set(value, arr);
|
|
19
18
|
});
|
|
20
|
-
const futureNoteHashMap = new ScopedValueCache(futureNoteHashes);
|
|
21
19
|
for(let i = 0; i < noteHashReadRequests.claimedLength; ++i){
|
|
22
20
|
const readRequest = noteHashReadRequests.array[i];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
|
|
26
|
-
resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNoteHash.index));
|
|
27
|
-
} else if (!futureNoteHashMap.get(readRequest).find((futureNoteHash)=>isValidNoteHashReadRequest(readRequest, futureNoteHash))) {
|
|
21
|
+
if (readRequest.contractAddress.isZero()) {
|
|
22
|
+
// Settled read: empty contract address means resolve against the note hash tree.
|
|
28
23
|
resetActions.actions[i] = ReadRequestActionEnum.READ_AS_SETTLED;
|
|
24
|
+
} else {
|
|
25
|
+
// Pending read: non-empty contract address means match against a pending note hash.
|
|
26
|
+
const pendingNoteHash = noteHashMap.get(readRequest.value.toBigInt())?.find((n)=>isValidNoteHashReadRequest(readRequest, n.noteHash));
|
|
27
|
+
if (pendingNoteHash) {
|
|
28
|
+
resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
|
|
29
|
+
resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNoteHash.index));
|
|
30
|
+
}
|
|
31
|
+
// Otherwise, the read request may be resolved by a future note hash. Leave as NOOP.
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
return resetActions;
|
|
@@ -67,7 +70,7 @@ export async function buildNoteHashReadRequestHintsFromResetActions(oracle, note
|
|
|
67
70
|
});
|
|
68
71
|
return builder.toHints();
|
|
69
72
|
}
|
|
70
|
-
export async function buildNoteHashReadRequestHints(oracle, noteHashReadRequests, noteHashes,
|
|
71
|
-
const resetActions = getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes
|
|
73
|
+
export async function buildNoteHashReadRequestHints(oracle, noteHashReadRequests, noteHashes, maxPending = MAX_NOTE_HASH_READ_REQUESTS_PER_TX, maxSettled = MAX_NOTE_HASH_READ_REQUESTS_PER_TX) {
|
|
74
|
+
const resetActions = getNoteHashReadRequestResetActions(noteHashReadRequests, noteHashes);
|
|
72
75
|
return await buildNoteHashReadRequestHintsFromResetActions(oracle, noteHashReadRequests, noteHashes, resetActions, maxPending, maxSettled);
|
|
73
76
|
}
|
|
@@ -11,12 +11,12 @@ interface NullifierMembershipWitnessWithPreimage {
|
|
|
11
11
|
membershipWitness: MembershipWitness<typeof NULLIFIER_TREE_HEIGHT>;
|
|
12
12
|
leafPreimage: NullifierLeafPreimage;
|
|
13
13
|
}
|
|
14
|
-
export declare function getNullifierReadRequestResetActions(nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX
|
|
14
|
+
export declare function getNullifierReadRequestResetActions(nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX>): ReadRequestResetActions<typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>;
|
|
15
15
|
export declare function buildNullifierReadRequestHintsFromResetActions<PENDING extends number, SETTLED extends number>(oracle: {
|
|
16
16
|
getNullifierMembershipWitness(nullifier: Fr): Promise<NullifierMembershipWitnessWithPreimage>;
|
|
17
17
|
}, nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, resetActions: ReadRequestResetActions<typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./nullifier_read_request_hints.js").NullifierReadRequestHints<PENDING, SETTLED>>;
|
|
18
18
|
export declare function buildNullifierReadRequestHints<PENDING extends number, SETTLED extends number>(oracle: {
|
|
19
19
|
getNullifierMembershipWitness(nullifier: Fr): Promise<NullifierMembershipWitnessWithPreimage>;
|
|
20
|
-
}, nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX>,
|
|
20
|
+
}, nullifierReadRequests: ClaimedLengthArray<ScopedReadRequest, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX>, nullifiers: ClaimedLengthArray<ScopedNullifier, typeof MAX_NULLIFIERS_PER_TX>, maxPending?: PENDING, maxSettled?: SETTLED): Promise<import("./nullifier_read_request_hints.js").NullifierReadRequestHints<PENDING, SETTLED>>;
|
|
21
21
|
export {};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfbnVsbGlmaWVyX3JlYWRfcmVxdWVzdF9oaW50cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2tlcm5lbC9oaW50cy9idWlsZF9udWxsaWZpZXJfcmVhZF9yZXF1ZXN0X2hpbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLHFCQUFxQixFQUMxQixrQ0FBa0MsRUFDbEMsS0FBSyxxQkFBcUIsRUFDM0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUEwQyx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTFHLHdCQUFnQiwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGVBQWUsV0FNckc7QUFFRCxVQUFVLHNDQUFzQztJQUM5QyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBQUM7SUFDbkUsWUFBWSxFQUFFLHFCQUFxQixDQUFDO0NBQ3JDO0FBRUQsd0JBQWdCLG1DQUFtQyxDQUNqRCxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3ZHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxHQUM1RSx1QkFBdUIsQ0FBQyxPQUFPLGtDQUFrQyxDQUFDLENBZ0NwRTtBQUVELHdCQUFzQiw4Q0FBOEMsQ0FBQyxPQUFPLFNBQVMsTUFBTSxFQUFFLE9BQU8sU0FBUyxNQUFNLEVBQ2pILE1BQU0sRUFBRTtJQUNOLDZCQUE2QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDL0YsRUFDRCxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3ZHLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxPQUFPLGtDQUFrQyxDQUFDLEVBQ2hGLFVBQVUsR0FBRSxPQUF1RCxFQUNuRSxVQUFVLEdBQUUsT0FBdUQsb0dBK0JwRTtBQUVELHdCQUFzQiw4QkFBOEIsQ0FBQyxPQUFPLFNBQVMsTUFBTSxFQUFFLE9BQU8sU0FBUyxNQUFNLEVBQ2pHLE1BQU0sRUFBRTtJQUNOLDZCQUE2QixDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDL0YsRUFDRCxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLGtDQUFrQyxDQUFDLEVBQ3ZHLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxFQUM3RSxVQUFVLEdBQUUsT0FBdUQsRUFDbkUsVUFBVSxHQUFFLE9BQXVELG9HQVVwRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build_nullifier_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_nullifier_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"build_nullifier_read_request_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_nullifier_read_request_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,kCAAkC,EAClC,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAA0C,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE1G,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,WAMrG;AAED,UAAU,sCAAsC;IAC9C,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC;IACnE,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,wBAAgB,mCAAmC,CACjD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,OAAO,qBAAqB,CAAC,GAC5E,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,CAgCpE;AAED,wBAAsB,8CAA8C,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACjH,MAAM,EAAE;IACN,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;CAC/F,EACD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,YAAY,EAAE,uBAAuB,CAAC,OAAO,kCAAkC,CAAC,EAChF,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,oGA+BpE;AAED,wBAAsB,8BAA8B,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACjG,MAAM,EAAE;IACN,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;CAC/F,EACD,qBAAqB,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,kCAAkC,CAAC,EACvG,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,OAAO,qBAAqB,CAAC,EAC7E,UAAU,GAAE,OAAuD,EACnE,UAAU,GAAE,OAAuD,oGAUpE"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { MAX_NULLIFIER_READ_REQUESTS_PER_TX } from '@aztec/constants';
|
|
2
2
|
import { NullifierReadRequestHintsBuilder } from './nullifier_read_request_hints.js';
|
|
3
3
|
import { PendingReadHint, ReadRequestActionEnum, ReadRequestResetActions } from './read_request_hints.js';
|
|
4
|
-
import { ScopedValueCache } from './scoped_value_cache.js';
|
|
5
4
|
export function isValidNullifierReadRequest(readRequest, nullifier) {
|
|
6
5
|
return readRequest.value.equals(nullifier.value) && nullifier.contractAddress.equals(readRequest.contractAddress) && readRequest.counter > nullifier.counter;
|
|
7
6
|
}
|
|
8
|
-
export function getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers
|
|
7
|
+
export function getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers) {
|
|
9
8
|
const resetActions = ReadRequestResetActions.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
|
|
10
9
|
const nullifierMap = new Map();
|
|
11
10
|
nullifiers.getActiveItems().forEach((nullifier, index)=>{
|
|
@@ -17,15 +16,19 @@ export function getNullifierReadRequestResetActions(nullifierReadRequests, nulli
|
|
|
17
16
|
});
|
|
18
17
|
nullifierMap.set(value, arr);
|
|
19
18
|
});
|
|
20
|
-
const futureNullifiersMap = new ScopedValueCache(futureNullifiers);
|
|
21
19
|
for(let i = 0; i < nullifierReadRequests.claimedLength; ++i){
|
|
22
20
|
const readRequest = nullifierReadRequests.array[i];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
|
|
26
|
-
resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNullifier.index));
|
|
27
|
-
} else if (!futureNullifiersMap.get(readRequest).some((futureNullifier)=>isValidNullifierReadRequest(readRequest, futureNullifier))) {
|
|
21
|
+
if (readRequest.contractAddress.isZero()) {
|
|
22
|
+
// Settled read: empty contract address means resolve against the nullifier tree.
|
|
28
23
|
resetActions.actions[i] = ReadRequestActionEnum.READ_AS_SETTLED;
|
|
24
|
+
} else {
|
|
25
|
+
// Pending read: non-empty contract address means match against a pending nullifier.
|
|
26
|
+
const pendingNullifier = nullifierMap.get(readRequest.value.toBigInt())?.find(({ nullifier })=>isValidNullifierReadRequest(readRequest, nullifier));
|
|
27
|
+
if (pendingNullifier) {
|
|
28
|
+
resetActions.actions[i] = ReadRequestActionEnum.READ_AS_PENDING;
|
|
29
|
+
resetActions.pendingReadHints.push(new PendingReadHint(i, pendingNullifier.index));
|
|
30
|
+
}
|
|
31
|
+
// Otherwise, the read request may be resolved by a future nullifier. Leave as NOOP.
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
return resetActions;
|
|
@@ -54,7 +57,7 @@ export async function buildNullifierReadRequestHintsFromResetActions(oracle, nul
|
|
|
54
57
|
}
|
|
55
58
|
return builder.toHints();
|
|
56
59
|
}
|
|
57
|
-
export async function buildNullifierReadRequestHints(oracle, nullifierReadRequests, nullifiers,
|
|
58
|
-
const resetActions = getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers
|
|
60
|
+
export async function buildNullifierReadRequestHints(oracle, nullifierReadRequests, nullifiers, maxPending = MAX_NULLIFIER_READ_REQUESTS_PER_TX, maxSettled = MAX_NULLIFIER_READ_REQUESTS_PER_TX) {
|
|
61
|
+
const resetActions = getNullifierReadRequestResetActions(nullifierReadRequests, nullifiers);
|
|
59
62
|
return await buildNullifierReadRequestHintsFromResetActions(oracle, nullifierReadRequests, resetActions, maxPending, maxSettled);
|
|
60
63
|
}
|
|
@@ -2,10 +2,13 @@ import type { Tuple } from '@aztec/foundation/serialize';
|
|
|
2
2
|
import type { ClaimedLengthArray } from '../claimed_length_array.js';
|
|
3
3
|
import type { ScopedNoteHash } from '../note_hash.js';
|
|
4
4
|
import type { ScopedNullifier } from '../nullifier.js';
|
|
5
|
+
import type { PrivateLogData, ScopedPrivateLogData } from '../private_log_data.js';
|
|
5
6
|
import type { ScopedReadRequest } from './read_request.js';
|
|
6
7
|
import { TransientDataSquashingHint } from './transient_data_squashing_hint.js';
|
|
7
|
-
export declare function buildTransientDataHints<NOTE_HASHES_LEN extends number, NULLIFIERS_LEN extends number>(noteHashes: ClaimedLengthArray<ScopedNoteHash, NOTE_HASHES_LEN>, nullifiers: ClaimedLengthArray<ScopedNullifier, NULLIFIERS_LEN>, futureNoteHashReads: ScopedReadRequest[], futureNullifierReads: ScopedReadRequest[], noteHashNullifierCounterMap: Map<number, number>, splitCounter: number): {
|
|
8
|
+
export declare function buildTransientDataHints<NOTE_HASHES_LEN extends number, NULLIFIERS_LEN extends number>(noteHashes: ClaimedLengthArray<ScopedNoteHash, NOTE_HASHES_LEN>, nullifiers: ClaimedLengthArray<ScopedNullifier, NULLIFIERS_LEN>, futureNoteHashReads: ScopedReadRequest[], futureNullifierReads: ScopedReadRequest[], futureLogs: PrivateLogData[], noteHashNullifierCounterMap: Map<number, number>, splitCounter: number): {
|
|
8
9
|
numTransientData: number;
|
|
9
10
|
hints: Tuple<TransientDataSquashingHint, NULLIFIERS_LEN>;
|
|
10
11
|
};
|
|
11
|
-
|
|
12
|
+
/** Counts private logs that are linked to squashed note hashes and would be removed along with them. */
|
|
13
|
+
export declare function countSquashedLogs<NOTE_HASHES_LEN extends number, LOGS_LEN extends number>(noteHashes: ClaimedLengthArray<ScopedNoteHash, NOTE_HASHES_LEN>, privateLogs: ClaimedLengthArray<ScopedPrivateLogData, LOGS_LEN>, squashingHints: TransientDataSquashingHint[]): number;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRfdHJhbnNpZW50X2RhdGFfaGludHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9rZXJuZWwvaGludHMvYnVpbGRfdHJhbnNpZW50X2RhdGFfaGludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFekQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUduRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWhGLHdCQUFnQix1QkFBdUIsQ0FBQyxlQUFlLFNBQVMsTUFBTSxFQUFFLGNBQWMsU0FBUyxNQUFNLEVBQ25HLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEVBQy9ELFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLEVBQy9ELG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLEVBQ3hDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLEVBQ3pDLFVBQVUsRUFBRSxjQUFjLEVBQUUsRUFDNUIsMkJBQTJCLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFDaEQsWUFBWSxFQUFFLE1BQU0sR0FDbkI7SUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLDBCQUEwQixFQUFFLGNBQWMsQ0FBQyxDQUFBO0NBQUUsQ0E4RHhGO0FBRUQsd0dBQXdHO0FBQ3hHLHdCQUFnQixpQkFBaUIsQ0FBQyxlQUFlLFNBQVMsTUFBTSxFQUFFLFFBQVEsU0FBUyxNQUFNLEVBQ3ZGLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEVBQy9ELFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsRUFDL0QsY0FBYyxFQUFFLDBCQUEwQixFQUFFLEdBQzNDLE1BQU0sQ0FHUiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build_transient_data_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_transient_data_hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"build_transient_data_hints.d.ts","sourceRoot":"","sources":["../../../src/kernel/hints/build_transient_data_hints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,wBAAgB,uBAAuB,CAAC,eAAe,SAAS,MAAM,EAAE,cAAc,SAAS,MAAM,EACnG,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,EAC/D,UAAU,EAAE,kBAAkB,CAAC,eAAe,EAAE,cAAc,CAAC,EAC/D,mBAAmB,EAAE,iBAAiB,EAAE,EACxC,oBAAoB,EAAE,iBAAiB,EAAE,EACzC,UAAU,EAAE,cAAc,EAAE,EAC5B,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChD,YAAY,EAAE,MAAM,GACnB;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAA;CAAE,CA8DxF;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,eAAe,SAAS,MAAM,EAAE,QAAQ,SAAS,MAAM,EACvF,UAAU,EAAE,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,EAC/D,WAAW,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,EAC/D,cAAc,EAAE,0BAA0B,EAAE,GAC3C,MAAM,CAGR"}
|
|
@@ -3,17 +3,19 @@ import { isValidNoteHashReadRequest } from './build_note_hash_read_request_hints
|
|
|
3
3
|
import { isValidNullifierReadRequest } from './build_nullifier_read_request_hints.js';
|
|
4
4
|
import { ScopedValueCache } from './scoped_value_cache.js';
|
|
5
5
|
import { TransientDataSquashingHint } from './transient_data_squashing_hint.js';
|
|
6
|
-
export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashReads, futureNullifierReads, noteHashNullifierCounterMap, splitCounter) {
|
|
6
|
+
export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashReads, futureNullifierReads, futureLogs, noteHashNullifierCounterMap, splitCounter) {
|
|
7
7
|
const futureNoteHashReadsMap = new ScopedValueCache(futureNoteHashReads);
|
|
8
8
|
const futureNullifierReadsMap = new ScopedValueCache(futureNullifierReads);
|
|
9
|
+
const futureLogNoteHashCounters = new Set(futureLogs.filter((l)=>l.noteHashCounter > 0).map((l)=>l.noteHashCounter));
|
|
9
10
|
const nullifierIndexMap = new Map();
|
|
10
11
|
nullifiers.getActiveItems().forEach((n, i)=>nullifierIndexMap.set(n.counter, i));
|
|
11
12
|
const hints = [];
|
|
12
13
|
for(let noteHashIndex = 0; noteHashIndex < noteHashes.claimedLength; noteHashIndex++){
|
|
13
14
|
const noteHash = noteHashes.array[noteHashIndex];
|
|
14
15
|
const noteHashNullifierCounter = noteHashNullifierCounterMap.get(noteHash.counter);
|
|
15
|
-
// The note hash might not be linked to a nullifier or it might be read in the future
|
|
16
|
-
|
|
16
|
+
// The note hash might not be linked to a nullifier, or it might be read in the future, or a future log might be
|
|
17
|
+
// linked to it.
|
|
18
|
+
if (!noteHashNullifierCounter || futureNoteHashReadsMap.get(noteHash).find((read)=>isValidNoteHashReadRequest(read, noteHash)) || futureLogNoteHashCounters.has(noteHash.counter)) {
|
|
17
19
|
continue;
|
|
18
20
|
}
|
|
19
21
|
const nullifierIndex = nullifierIndexMap.get(noteHashNullifierCounter);
|
|
@@ -48,3 +50,7 @@ export function buildTransientDataHints(noteHashes, nullifiers, futureNoteHashRe
|
|
|
48
50
|
hints: padArrayEnd(hints, noActionHint, nullifiers.array.length)
|
|
49
51
|
};
|
|
50
52
|
}
|
|
53
|
+
/** Counts private logs that are linked to squashed note hashes and would be removed along with them. */ export function countSquashedLogs(noteHashes, privateLogs, squashingHints) {
|
|
54
|
+
const squashedNoteHashCounters = new Set(squashingHints.map((h)=>noteHashes.array[h.noteHashIndex].counter));
|
|
55
|
+
return privateLogs.getActiveItems().filter((l)=>squashedNoteHashCounters.has(l.inner.noteHashCounter)).length;
|
|
56
|
+
}
|
|
@@ -6,10 +6,10 @@ export * from './note_hash_read_request_hints.js';
|
|
|
6
6
|
export * from './nullifier_read_request_hints.js';
|
|
7
7
|
export * from './read_request_hints.js';
|
|
8
8
|
export * from './key_validation_hint.js';
|
|
9
|
-
export * from './
|
|
9
|
+
export * from './key_validation_request_and_separator.js';
|
|
10
10
|
export * from './read_request.js';
|
|
11
11
|
export * from './key_validation_request.js';
|
|
12
|
-
export * from './
|
|
12
|
+
export * from './scoped_key_validation_request_and_separator.js';
|
|
13
13
|
export * from './transient_data_squashing_hint.js';
|
|
14
14
|
export * from './private_kernel_reset_hints.js';
|
|
15
15
|
export * from './tree_leaf_read_request.js';
|