@aztec/pxe 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928
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/bin/check_oracle_version.js +41 -112
- package/dest/bin/index.d.ts +2 -0
- package/dest/bin/index.d.ts.map +1 -0
- package/dest/bin/index.js +1 -0
- package/dest/bin/oracle_version_helpers.d.ts +34 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +46 -0
- package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
- package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
- package/dest/block_synchronizer/block_stream_source.js +37 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +22 -16
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +71 -28
- package/dest/config/index.d.ts +9 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +14 -15
- package/dest/config/package_info.js +1 -1
- package/dest/contract/contract_class_service.d.ts +24 -0
- package/dest/contract/contract_class_service.d.ts.map +1 -0
- package/dest/contract/contract_class_service.js +36 -0
- package/dest/contract/contract_sync_service.d.ts +48 -0
- package/dest/contract/contract_sync_service.d.ts.map +1 -0
- package/dest/contract/contract_sync_service.js +119 -0
- package/dest/contract/helpers.d.ts +7 -0
- package/dest/contract/helpers.d.ts.map +1 -0
- package/dest/contract/helpers.js +20 -0
- package/dest/contract/skip_sync_contracts.d.ts +11 -0
- package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
- package/dest/contract/skip_sync_contracts.js +18 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +72 -43
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +266 -114
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +10 -29
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
- package/dest/contract_function_simulator/index.d.ts +26 -5
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +11 -3
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -4
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +9 -10
- package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
- package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -63
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -5
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +8 -12
- package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/option.js +67 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/index.js +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -98
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +139 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +1016 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1243 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +7 -6
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +82 -98
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +263 -117
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +206 -83
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +688 -188
- package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +20 -3
- package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
- package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/transient_array_service.js +62 -0
- package/dest/contract_logging.d.ts +27 -0
- package/dest/contract_logging.d.ts.map +1 -0
- package/dest/contract_logging.js +38 -0
- package/dest/debug/pxe_debug_utils.d.ts +5 -9
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +4 -10
- package/dest/entrypoints/client/bundle/index.d.ts +4 -1
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +3 -0
- package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +29 -8
- package/dest/entrypoints/client/lazy/index.d.ts +4 -1
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +3 -0
- package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +29 -8
- package/dest/entrypoints/client/store.d.ts +14 -0
- package/dest/entrypoints/client/store.d.ts.map +1 -0
- package/dest/entrypoints/client/store.js +42 -0
- package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/pxe_creation_options.js +3 -1
- package/dest/entrypoints/server/index.d.ts +8 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +6 -2
- package/dest/entrypoints/server/store.d.ts +18 -0
- package/dest/entrypoints/server/store.d.ts.map +1 -0
- package/dest/entrypoints/server/store.js +28 -0
- package/dest/entrypoints/server/utils.d.ts +4 -3
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +30 -8
- package/dest/error_enriching.d.ts +5 -3
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +15 -12
- package/dest/events/event_service.d.ts +21 -5
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +51 -17
- package/dest/events/private_event_filter_validator.d.ts +3 -2
- package/dest/events/private_event_filter_validator.d.ts.map +1 -1
- package/dest/events/private_event_filter_validator.js +15 -0
- package/dest/hooks/authorize_utility_call.d.ts +41 -0
- package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
- package/dest/hooks/authorize_utility_call.js +4 -0
- package/dest/hooks/execution_hooks.d.ts +62 -0
- package/dest/hooks/execution_hooks.d.ts.map +1 -0
- package/dest/hooks/execution_hooks.js +9 -0
- package/dest/hooks/index.d.ts +5 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +2 -0
- package/dest/hooks/resolve_custom_request.d.ts +23 -0
- package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
- package/dest/hooks/resolve_custom_request.js +3 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
- package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
- package/dest/logs/log_service.d.ts +21 -10
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +184 -90
- package/dest/messages/tx_resolver_service.d.ts +28 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/tx_resolver_service.js +62 -0
- package/dest/node/benchmarked_node.d.ts +20 -0
- package/dest/node/benchmarked_node.d.ts.map +1 -0
- package/dest/node/benchmarked_node.js +94 -0
- package/dest/node/caching_aztec_node.d.ts +24 -0
- package/dest/node/caching_aztec_node.d.ts.map +1 -0
- package/dest/node/caching_aztec_node.js +268 -0
- package/dest/notes/note_service.d.ts +34 -6
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +85 -59
- package/dest/notes_filter.d.ts +24 -0
- package/dest/notes_filter.d.ts.map +1 -0
- package/dest/notes_filter.js +4 -0
- package/dest/oracle_version.d.ts +4 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +20 -10
- package/dest/private_kernel/batch_planner.d.ts +47 -0
- package/dest/private_kernel/batch_planner.d.ts.map +1 -0
- package/dest/private_kernel/batch_planner.js +104 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
- package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
- package/dest/private_kernel/hints/index.d.ts +1 -1
- package/dest/private_kernel/hints/index.js +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +138 -72
- package/dest/private_kernel/hints/test_utils.d.ts +122 -0
- package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
- package/dest/private_kernel/hints/test_utils.js +202 -0
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +165 -82
- package/dest/private_kernel/private_kernel_oracle.d.ts +17 -11
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +47 -29
- package/dest/pxe.d.ts +219 -68
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +423 -243
- package/dest/storage/address_store/address_store.d.ts +1 -1
- package/dest/storage/address_store/address_store.d.ts.map +1 -1
- package/dest/storage/address_store/address_store.js +2 -1
- package/dest/storage/allowed_scopes.d.ts +6 -0
- package/dest/storage/allowed_scopes.d.ts.map +1 -0
- package/dest/storage/allowed_scopes.js +7 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
- package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
- package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
- package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_service.js +47 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_store.js +37 -29
- package/dest/storage/capsule_store/index.d.ts +2 -1
- package/dest/storage/capsule_store/index.d.ts.map +1 -1
- package/dest/storage/capsule_store/index.js +1 -0
- package/dest/storage/contract_store/contract_store.d.ts +63 -33
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +179 -130
- package/dest/storage/contract_store/private_functions_tree.d.ts +1 -1
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -1
- package/dest/storage/contract_store/private_functions_tree.js +2 -1
- package/dest/storage/fact_store/fact_service.d.ts +22 -0
- package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_service.js +45 -0
- package/dest/storage/fact_store/fact_store.d.ts +95 -0
- package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_store.js +411 -0
- package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
- package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_store_keys.js +50 -0
- package/dest/storage/fact_store/index.d.ts +6 -0
- package/dest/storage/fact_store/index.d.ts.map +1 -0
- package/dest/storage/fact_store/index.js +4 -0
- package/dest/storage/fact_store/origin_state.d.ts +59 -0
- package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
- package/dest/storage/fact_store/origin_state.js +60 -0
- package/dest/storage/fact_store/stored_fact.d.ts +32 -0
- package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
- package/dest/storage/fact_store/stored_fact.js +64 -0
- package/dest/storage/index.d.ts +3 -2
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +2 -1
- package/dest/storage/metadata.d.ts +2 -2
- package/dest/storage/metadata.d.ts.map +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/note_store/note_store.d.ts +44 -35
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +203 -174
- package/dest/storage/note_store/stored_note.d.ts +3 -8
- package/dest/storage/note_store/stored_note.d.ts.map +1 -1
- package/dest/storage/note_store/stored_note.js +4 -20
- package/dest/storage/open_pxe_stores.d.ts +35 -0
- package/dest/storage/open_pxe_stores.d.ts.map +1 -0
- package/dest/storage/open_pxe_stores.js +29 -0
- package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
- package/dest/storage/private_event_store/private_event_store.js +48 -45
- package/dest/storage/private_event_store/stored_private_event.js +1 -1
- package/dest/storage/store_identity.d.ts +35 -0
- package/dest/storage/store_identity.d.ts.map +1 -0
- package/dest/storage/store_identity.js +44 -0
- package/dest/storage/tagging_store/index.d.ts +2 -2
- package/dest/storage/tagging_store/index.d.ts.map +1 -1
- package/dest/storage/tagging_store/index.js +1 -1
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +63 -31
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +210 -129
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
- package/dest/tagging/constants.d.ts +11 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +38 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts +55 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/get_all_logs_by_tags.js +65 -32
- package/dest/tagging/index.d.ts +8 -7
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +6 -5
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +235 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +8 -10
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +25 -22
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.js +62 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +17 -9
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +53 -39
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +42 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
- package/dest/tagging/testing/tag_query_test_utils.js +10 -0
- package/package.json +20 -17
- package/src/bin/check_oracle_version.ts +46 -135
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +54 -0
- package/src/block_synchronizer/block_stream_source.ts +42 -0
- package/src/block_synchronizer/block_synchronizer.ts +86 -40
- package/src/config/index.ts +16 -9
- package/src/config/package_info.ts +1 -1
- package/src/contract/contract_class_service.ts +45 -0
- package/src/contract/contract_sync_service.ts +179 -0
- package/src/contract/helpers.ts +35 -0
- package/src/contract/skip_sync_contracts.ts +23 -0
- package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +468 -180
- package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
- package/src/contract_function_simulator/execution_note_cache.ts +10 -30
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
- package/src/contract_function_simulator/index.ts +89 -4
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
- package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
- package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
- package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +10 -9
- package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
- package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -11
- package/src/contract_function_simulator/noir-structs/option.ts +75 -0
- package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
- package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
- package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
- package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
- package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
- package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
- package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
- package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
- package/src/contract_function_simulator/oracle/index.ts +1 -15
- package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
- package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
- package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1052 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +6 -7
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +320 -210
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +1028 -268
- package/src/contract_function_simulator/pick_notes.ts +22 -3
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/contract_logging.ts +52 -0
- package/src/debug/pxe_debug_utils.ts +11 -17
- package/src/entrypoints/client/bundle/index.ts +3 -0
- package/src/entrypoints/client/bundle/utils.ts +35 -9
- package/src/entrypoints/client/lazy/index.ts +3 -0
- package/src/entrypoints/client/lazy/utils.ts +35 -9
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +21 -1
- package/src/entrypoints/server/index.ts +8 -2
- package/src/entrypoints/server/store.ts +47 -0
- package/src/entrypoints/server/utils.ts +46 -21
- package/src/error_enriching.ts +30 -13
- package/src/events/event_service.ts +85 -26
- package/src/events/private_event_filter_validator.ts +21 -1
- package/src/hooks/authorize_utility_call.ts +44 -0
- package/src/hooks/execution_hooks.ts +68 -0
- package/src/hooks/index.ts +13 -0
- package/src/hooks/resolve_custom_request.ts +24 -0
- package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
- package/src/logs/log_service.ts +231 -157
- package/src/messages/tx_resolver_service.ts +81 -0
- package/src/node/benchmarked_node.ts +140 -0
- package/src/node/caching_aztec_node.ts +407 -0
- package/src/notes/note_service.ts +128 -86
- package/src/notes_filter.ts +24 -0
- package/src/oracle_version.ts +20 -10
- package/src/private_kernel/batch_planner.ts +169 -0
- package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
- package/src/private_kernel/hints/index.ts +1 -1
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +179 -121
- package/src/private_kernel/hints/test_utils.ts +318 -0
- package/src/private_kernel/private_kernel_execution_prover.ts +252 -116
- package/src/private_kernel/private_kernel_oracle.ts +65 -36
- package/src/pxe.ts +698 -311
- package/src/storage/address_store/address_store.ts +2 -1
- package/src/storage/allowed_scopes.ts +14 -0
- package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
- package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
- package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/capsule_store/capsule_service.ts +85 -0
- package/src/storage/capsule_store/capsule_store.ts +45 -27
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/contract_store/contract_store.ts +238 -166
- package/src/storage/contract_store/private_functions_tree.ts +2 -1
- package/src/storage/fact_store/fact_service.ts +69 -0
- package/src/storage/fact_store/fact_store.ts +488 -0
- package/src/storage/fact_store/fact_store_keys.ts +75 -0
- package/src/storage/fact_store/index.ts +15 -0
- package/src/storage/fact_store/origin_state.ts +84 -0
- package/src/storage/fact_store/stored_fact.ts +80 -0
- package/src/storage/index.ts +2 -1
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/note_store.ts +236 -194
- package/src/storage/note_store/stored_note.ts +5 -27
- package/src/storage/open_pxe_stores.ts +52 -0
- package/src/storage/private_event_store/private_event_store.ts +55 -56
- package/src/storage/private_event_store/stored_private_event.ts +1 -1
- package/src/storage/store_identity.ts +72 -0
- package/src/storage/tagging_store/index.ts +1 -1
- package/src/storage/tagging_store/recipient_tagging_store.ts +5 -5
- package/src/storage/tagging_store/sender_tagging_store.ts +278 -158
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +42 -10
- package/src/tagging/get_all_logs_by_tags.ts +125 -36
- package/src/tagging/index.ts +12 -6
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +356 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +4 -4
- package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +32 -27
- package/src/tagging/sender_sync/utils/classify_pending_txs.ts +92 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +57 -50
- package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +65 -0
- package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/benchmarked_node.js +0 -77
- package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/oracle.js +0 -368
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
- package/dest/contract_sync/contract_sync_service.d.ts +0 -41
- package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
- package/dest/contract_sync/contract_sync_service.js +0 -82
- package/dest/contract_sync/helpers.d.ts +0 -28
- package/dest/contract_sync/helpers.d.ts.map +0 -1
- package/dest/contract_sync/helpers.js +0 -55
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
- package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -15
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -15
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -32
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -11
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -29
- package/src/contract_function_simulator/benchmarked_node.ts +0 -103
- package/src/contract_function_simulator/oracle/oracle.ts +0 -637
- package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
- package/src/contract_sync/contract_sync_service.ts +0 -129
- package/src/contract_sync/helpers.ts +0 -93
- package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -143
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -49
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -36
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
import { makeTuple } from '@aztec/foundation/array';
|
|
11
11
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
12
12
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
13
|
-
import {
|
|
13
|
+
import { allToCompletion } from '@aztec/foundation/promise';
|
|
14
|
+
import { assertLength } from '@aztec/foundation/serialize';
|
|
14
15
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
15
16
|
import { privateKernelResetDimensionsConfig } from '@aztec/noir-protocol-circuits-types/client';
|
|
16
17
|
import {
|
|
@@ -26,17 +27,16 @@ import {
|
|
|
26
27
|
type PrivateKernelSimulateOutput,
|
|
27
28
|
ReadRequestActionEnum,
|
|
28
29
|
ReadRequestResetActions,
|
|
29
|
-
type
|
|
30
|
-
ScopedNoteHash,
|
|
31
|
-
ScopedNullifier,
|
|
32
|
-
ScopedReadRequest,
|
|
30
|
+
type ScopedKeyValidationRequestAndSeparator,
|
|
33
31
|
TransientDataSquashingHint,
|
|
34
32
|
buildNoteHashReadRequestHintsFromResetActions,
|
|
35
33
|
buildNullifierReadRequestHintsFromResetActions,
|
|
36
34
|
buildTransientDataHints,
|
|
35
|
+
countSquashedLogs,
|
|
37
36
|
findPrivateKernelResetDimensions,
|
|
38
37
|
getNoteHashReadRequestResetActions,
|
|
39
38
|
getNullifierReadRequestResetActions,
|
|
39
|
+
kernelStateIsForPublic,
|
|
40
40
|
privateKernelResetDimensionNames,
|
|
41
41
|
} from '@aztec/stdlib/kernel';
|
|
42
42
|
import { type PrivateCallExecutionResult, collectNested } from '@aztec/stdlib/tx';
|
|
@@ -44,15 +44,6 @@ import { VkData } from '@aztec/stdlib/vks';
|
|
|
44
44
|
|
|
45
45
|
import type { PrivateKernelOracle } from '../private_kernel_oracle.js';
|
|
46
46
|
|
|
47
|
-
function collectNestedReadRequests<N extends number>(
|
|
48
|
-
executionStack: PrivateCallExecutionResult[],
|
|
49
|
-
extractReadRequests: (execution: PrivateCallExecutionResult) => ClaimedLengthArray<ScopedReadRequest, N>,
|
|
50
|
-
): ScopedReadRequest[] {
|
|
51
|
-
return collectNested(executionStack, executionResult => {
|
|
52
|
-
return extractReadRequests(executionResult).getActiveItems();
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
47
|
function getNullifierMembershipWitnessResolver(oracle: PrivateKernelOracle) {
|
|
57
48
|
return async (nullifier: Fr) => {
|
|
58
49
|
const res = await oracle.getNullifierMembershipWitness(nullifier);
|
|
@@ -68,18 +59,18 @@ function getNullifierMembershipWitnessResolver(oracle: PrivateKernelOracle) {
|
|
|
68
59
|
};
|
|
69
60
|
}
|
|
70
61
|
|
|
71
|
-
async function
|
|
62
|
+
async function getMasterSecretKeysAndKeyTypeDomainSeparators(
|
|
72
63
|
keyValidationRequests: ClaimedLengthArray<
|
|
73
|
-
|
|
64
|
+
ScopedKeyValidationRequestAndSeparator,
|
|
74
65
|
typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX
|
|
75
66
|
>,
|
|
76
67
|
numRequestsToVerify: number,
|
|
77
68
|
oracle: PrivateKernelOracle,
|
|
78
69
|
) {
|
|
79
70
|
const numRequestsToProcess = Math.min(keyValidationRequests.claimedLength, numRequestsToVerify);
|
|
80
|
-
const keysHints = await
|
|
71
|
+
const keysHints = await allToCompletion(
|
|
81
72
|
keyValidationRequests.array.slice(0, numRequestsToProcess).map(async ({ request }) => {
|
|
82
|
-
const secretKeys = await oracle.getMasterSecretKey(request.request.
|
|
73
|
+
const secretKeys = await oracle.getMasterSecretKey(request.request.pkMHash);
|
|
83
74
|
return new KeyValidationHint(secretKeys);
|
|
84
75
|
}),
|
|
85
76
|
);
|
|
@@ -91,11 +82,14 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
91
82
|
// If there's no next iteration, it's the final reset.
|
|
92
83
|
private nextIteration?: PrivateCircuitPublicInputs;
|
|
93
84
|
|
|
94
|
-
private noteHashResetActions
|
|
95
|
-
private nullifierResetActions
|
|
85
|
+
private noteHashResetActions = ReadRequestResetActions.empty(MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
|
|
86
|
+
private nullifierResetActions = ReadRequestResetActions.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
|
|
96
87
|
private numTransientData?: number;
|
|
97
|
-
private transientDataSquashingHints
|
|
98
|
-
|
|
88
|
+
private transientDataSquashingHints = makeTuple(
|
|
89
|
+
MAX_NULLIFIERS_PER_TX,
|
|
90
|
+
() => new TransientDataSquashingHint(MAX_NULLIFIERS_PER_TX, MAX_NOTE_HASHES_PER_TX),
|
|
91
|
+
);
|
|
92
|
+
private requestedDimensions = PrivateKernelResetDimensions.empty();
|
|
99
93
|
|
|
100
94
|
constructor(
|
|
101
95
|
private previousKernelOutput: PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>,
|
|
@@ -104,21 +98,18 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
104
98
|
private splitCounter: number,
|
|
105
99
|
) {
|
|
106
100
|
this.previousKernel = previousKernelOutput.publicInputs;
|
|
107
|
-
this.requestedDimensions = PrivateKernelResetDimensions.empty();
|
|
108
|
-
this.noteHashResetActions = ReadRequestResetActions.empty(MAX_NOTE_HASH_READ_REQUESTS_PER_TX);
|
|
109
|
-
this.nullifierResetActions = ReadRequestResetActions.empty(MAX_NULLIFIER_READ_REQUESTS_PER_TX);
|
|
110
|
-
this.transientDataSquashingHints = makeTuple(
|
|
111
|
-
MAX_NULLIFIERS_PER_TX,
|
|
112
|
-
() => new TransientDataSquashingHint(MAX_NULLIFIERS_PER_TX, MAX_NOTE_HASHES_PER_TX),
|
|
113
|
-
);
|
|
114
101
|
this.nextIteration = executionStack[this.executionStack.length - 1]?.publicInputs;
|
|
115
102
|
}
|
|
116
103
|
|
|
104
|
+
getRequestedDimensions(): PrivateKernelResetDimensions {
|
|
105
|
+
return this.requestedDimensions;
|
|
106
|
+
}
|
|
107
|
+
|
|
117
108
|
needsReset(): boolean {
|
|
118
109
|
const fns: (() => boolean)[] = [
|
|
119
110
|
() => this.needsResetNoteHashReadRequests(),
|
|
120
111
|
() => this.needsResetNullifierReadRequests(),
|
|
121
|
-
() => this.
|
|
112
|
+
() => this.needsResetKeyValidationRequests(),
|
|
122
113
|
() => this.needsResetTransientData(),
|
|
123
114
|
];
|
|
124
115
|
|
|
@@ -145,15 +136,23 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
145
136
|
|
|
146
137
|
const isInner = !!this.nextIteration;
|
|
147
138
|
|
|
148
|
-
// "final" reset must be done
|
|
149
|
-
// Because the code that silo note hashes can't be run repeatedly.
|
|
139
|
+
// "final" reset must be done exactly once, because siloing can't be run repeatedly.
|
|
150
140
|
// The dimensions found must be big enough to reset all values, i.e. empty remainder.
|
|
151
141
|
const allowRemainder = isInner;
|
|
152
142
|
|
|
143
|
+
// Terminal reset picks from the finalTail / finalTailToPublic catalogs; mid-tx resets always
|
|
144
|
+
// use the inner catalog. The public/private decision must match `kernelStateIsForPublic` - the
|
|
145
|
+
// same predicate the circuit inputs and the orchestrator use.
|
|
146
|
+
const mode = isInner
|
|
147
|
+
? ('inner' as const)
|
|
148
|
+
: kernelStateIsForPublic(this.previousKernel)
|
|
149
|
+
? ('finalTailToPublic' as const)
|
|
150
|
+
: ('finalTail' as const);
|
|
151
|
+
|
|
153
152
|
const dimensions = findPrivateKernelResetDimensions(
|
|
154
153
|
this.requestedDimensions,
|
|
155
154
|
privateKernelResetDimensionsConfig,
|
|
156
|
-
|
|
155
|
+
mode,
|
|
157
156
|
allowRemainder,
|
|
158
157
|
);
|
|
159
158
|
|
|
@@ -170,7 +169,7 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
170
169
|
|
|
171
170
|
// Execute all the expensive node querying operations in parallel.
|
|
172
171
|
const [previousVkMembershipWitness, noteHashReadRequestHints, nullifierReadRequestHints, keyValidationHints] =
|
|
173
|
-
await
|
|
172
|
+
await allToCompletion([
|
|
174
173
|
oracle.getVkMembershipWitness(this.previousKernelOutput.verificationKey.keyAsFields),
|
|
175
174
|
buildNoteHashReadRequestHintsFromResetActions<
|
|
176
175
|
typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
@@ -189,8 +188,8 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
189
188
|
this.previousKernel.validationRequests.nullifierReadRequests,
|
|
190
189
|
this.nullifierResetActions,
|
|
191
190
|
),
|
|
192
|
-
|
|
193
|
-
this.previousKernel.validationRequests.
|
|
191
|
+
getMasterSecretKeysAndKeyTypeDomainSeparators(
|
|
192
|
+
this.previousKernel.validationRequests.scopedKeyValidationRequestsAndSeparators,
|
|
194
193
|
dimensions.KEY_VALIDATION,
|
|
195
194
|
oracle,
|
|
196
195
|
),
|
|
@@ -246,24 +245,17 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
246
245
|
resetActions.pendingReadHints = resetActions.pendingReadHints.slice(0, maxPending);
|
|
247
246
|
}
|
|
248
247
|
|
|
249
|
-
private needsResetNoteHashReadRequests(
|
|
248
|
+
private needsResetNoteHashReadRequests(forceReset = false) {
|
|
250
249
|
const numCurr = this.previousKernel.validationRequests.noteHashReadRequests.claimedLength;
|
|
251
250
|
const numNext = this.nextIteration ? this.nextIteration.noteHashReadRequests.claimedLength : 0;
|
|
252
|
-
const maxAmountToKeep = !this.nextIteration ||
|
|
251
|
+
const maxAmountToKeep = !this.nextIteration || forceReset ? 0 : MAX_NOTE_HASH_READ_REQUESTS_PER_TX;
|
|
253
252
|
if (numCurr + numNext <= maxAmountToKeep) {
|
|
254
253
|
return false;
|
|
255
254
|
}
|
|
256
255
|
|
|
257
|
-
const futureNoteHashes = collectNested(this.executionStack, executionResult => {
|
|
258
|
-
return executionResult.publicInputs.noteHashes
|
|
259
|
-
.getActiveItems()
|
|
260
|
-
.map(noteHash => new ScopedNoteHash(noteHash, executionResult.publicInputs.callContext.contractAddress));
|
|
261
|
-
});
|
|
262
|
-
|
|
263
256
|
const resetActions = getNoteHashReadRequestResetActions(
|
|
264
257
|
this.previousKernel.validationRequests.noteHashReadRequests,
|
|
265
258
|
this.previousKernel.end.noteHashes,
|
|
266
|
-
futureNoteHashes,
|
|
267
259
|
);
|
|
268
260
|
|
|
269
261
|
const numPendingReads = resetActions.pendingReadHints.length;
|
|
@@ -272,53 +264,72 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
272
264
|
0,
|
|
273
265
|
);
|
|
274
266
|
|
|
267
|
+
const totalReadsToReset = numPendingReads + numSettledReads;
|
|
268
|
+
const minResetNeeded = numCurr + numNext - maxAmountToKeep;
|
|
269
|
+
if (totalReadsToReset < minResetNeeded) {
|
|
270
|
+
if (!this.nextIteration) {
|
|
271
|
+
// In the final reset, all note hashes have been emitted. So if we can't reset all requests, at least one
|
|
272
|
+
// pending read request doesn't match any of them.
|
|
273
|
+
throw new Error('No matching note hash found for note hash read request.');
|
|
274
|
+
} else if (!forceReset) {
|
|
275
|
+
// A pending read request can only be reset if its note hash has already been included (e.g. a parent call might
|
|
276
|
+
// be reading a note hash emitted by a child call. The read request of the parent call is included before the note
|
|
277
|
+
// hash of the child call).
|
|
278
|
+
// If we can't clear enough read requests to make room for the next iteration's reads, we're stuck.
|
|
279
|
+
throw new Error('Number of note hash read requests exceeds the limit.');
|
|
280
|
+
} else if (totalReadsToReset == 0) {
|
|
281
|
+
// It's transient data squashing asking for the read requests to be reset first (forceReset == true), and
|
|
282
|
+
// there's nothing to reset, returns false and let needsResetTransientData throw a more descriptive error.
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
// Otherwise, forceReset is true, we should proceed to reset as many as we can.
|
|
286
|
+
}
|
|
287
|
+
|
|
275
288
|
if (!this.nextIteration) {
|
|
289
|
+
// If there's no next iteration, we need to reset all the read requests.
|
|
276
290
|
this.noteHashResetActions = resetActions;
|
|
277
291
|
this.requestedDimensions.NOTE_HASH_PENDING_READ = numPendingReads;
|
|
278
292
|
this.requestedDimensions.NOTE_HASH_SETTLED_READ = numSettledReads;
|
|
279
293
|
} else {
|
|
280
|
-
//
|
|
294
|
+
// If there's a next iteration, only one dimension can be reset at a time.
|
|
295
|
+
// So we pick the dimension that has more read requests to reset.
|
|
281
296
|
if (numPendingReads > numSettledReads) {
|
|
282
|
-
|
|
283
|
-
|
|
297
|
+
// Reset the pending read requests.
|
|
298
|
+
const pendingOnlyActions = assertLength(
|
|
284
299
|
resetActions.actions.map(action =>
|
|
285
300
|
action === ReadRequestActionEnum.READ_AS_PENDING ? action : ReadRequestActionEnum.SKIP,
|
|
286
301
|
),
|
|
287
302
|
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
288
303
|
);
|
|
289
|
-
this.noteHashResetActions
|
|
304
|
+
this.noteHashResetActions = new ReadRequestResetActions(pendingOnlyActions, resetActions.pendingReadHints);
|
|
305
|
+
this.requestedDimensions.NOTE_HASH_PENDING_READ = numPendingReads;
|
|
290
306
|
} else {
|
|
291
|
-
|
|
292
|
-
|
|
307
|
+
// Reset the settled read requests.
|
|
308
|
+
const settledOnlyActions = assertLength(
|
|
293
309
|
resetActions.actions.map(action =>
|
|
294
310
|
action === ReadRequestActionEnum.READ_AS_SETTLED ? action : ReadRequestActionEnum.SKIP,
|
|
295
311
|
),
|
|
296
312
|
MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
297
313
|
);
|
|
314
|
+
this.noteHashResetActions = new ReadRequestResetActions(settledOnlyActions, []);
|
|
315
|
+
this.requestedDimensions.NOTE_HASH_SETTLED_READ = numSettledReads;
|
|
298
316
|
}
|
|
299
317
|
}
|
|
300
318
|
|
|
301
319
|
return true;
|
|
302
320
|
}
|
|
303
321
|
|
|
304
|
-
private needsResetNullifierReadRequests(
|
|
322
|
+
private needsResetNullifierReadRequests(forceReset = false) {
|
|
305
323
|
const numCurr = this.previousKernel.validationRequests.nullifierReadRequests.claimedLength;
|
|
306
324
|
const numNext = this.nextIteration ? this.nextIteration.nullifierReadRequests.claimedLength : 0;
|
|
307
|
-
const maxAmountToKeep = !this.nextIteration ||
|
|
325
|
+
const maxAmountToKeep = !this.nextIteration || forceReset ? 0 : MAX_NULLIFIER_READ_REQUESTS_PER_TX;
|
|
308
326
|
if (numCurr + numNext <= maxAmountToKeep) {
|
|
309
327
|
return false;
|
|
310
328
|
}
|
|
311
329
|
|
|
312
|
-
const futureNullifiers = collectNested(this.executionStack, executionResult => {
|
|
313
|
-
return executionResult.publicInputs.nullifiers
|
|
314
|
-
.getActiveItems()
|
|
315
|
-
.map(nullifier => new ScopedNullifier(nullifier, executionResult.publicInputs.callContext.contractAddress));
|
|
316
|
-
});
|
|
317
|
-
|
|
318
330
|
const resetActions = getNullifierReadRequestResetActions(
|
|
319
331
|
this.previousKernel.validationRequests.nullifierReadRequests,
|
|
320
332
|
this.previousKernel.end.nullifiers,
|
|
321
|
-
futureNullifiers,
|
|
322
333
|
);
|
|
323
334
|
|
|
324
335
|
const numPendingReads = resetActions.pendingReadHints.length;
|
|
@@ -327,38 +338,63 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
327
338
|
0,
|
|
328
339
|
);
|
|
329
340
|
|
|
341
|
+
const totalReadsToReset = numPendingReads + numSettledReads;
|
|
342
|
+
const minResetNeeded = numCurr + numNext - maxAmountToKeep;
|
|
343
|
+
if (totalReadsToReset < minResetNeeded) {
|
|
344
|
+
if (!this.nextIteration) {
|
|
345
|
+
// In the final reset, all nullifiers have been emitted. So if we can't reset all requests, at least one pending
|
|
346
|
+
// read request doesn't match any of them.
|
|
347
|
+
throw new Error('No matching nullifier found for nullifier read request.');
|
|
348
|
+
} else if (!forceReset) {
|
|
349
|
+
// A pending read request can only be reset if its nullifier has already been included (e.g. a parent call might
|
|
350
|
+
// be reading a nullifier emitted by a child call. The read request of the parent call is included before the
|
|
351
|
+
// nullifier of the child call).
|
|
352
|
+
// If we can't clear enough read requests to make room for the next iteration's reads, we're stuck.
|
|
353
|
+
throw new Error('Number of nullifier read requests exceeds the limit.');
|
|
354
|
+
} else if (totalReadsToReset == 0) {
|
|
355
|
+
// It's transient data squashing asking for the read requests to be reset first (forceReset == true), and
|
|
356
|
+
// there's nothing to reset, returns false and let needsResetTransientData throw a more descriptive error.
|
|
357
|
+
return false;
|
|
358
|
+
}
|
|
359
|
+
// Otherwise, forceReset is true, we should proceed to reset as many as we can.
|
|
360
|
+
}
|
|
361
|
+
|
|
330
362
|
if (!this.nextIteration) {
|
|
363
|
+
// If there's no next iteration, we need to reset all the read requests.
|
|
331
364
|
this.nullifierResetActions = resetActions;
|
|
332
365
|
this.requestedDimensions.NULLIFIER_PENDING_READ = numPendingReads;
|
|
333
366
|
this.requestedDimensions.NULLIFIER_SETTLED_READ = numSettledReads;
|
|
334
367
|
} else {
|
|
335
|
-
//
|
|
368
|
+
// If there's a next iteration, we can only reset one dimension at a time.
|
|
336
369
|
if (numPendingReads > numSettledReads) {
|
|
337
|
-
|
|
338
|
-
|
|
370
|
+
// Reset the pending read requests.
|
|
371
|
+
const pendingOnlyActions = assertLength(
|
|
339
372
|
resetActions.actions.map(action =>
|
|
340
373
|
action === ReadRequestActionEnum.READ_AS_PENDING ? action : ReadRequestActionEnum.SKIP,
|
|
341
374
|
),
|
|
342
375
|
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
343
376
|
);
|
|
344
|
-
this.nullifierResetActions
|
|
377
|
+
this.nullifierResetActions = new ReadRequestResetActions(pendingOnlyActions, resetActions.pendingReadHints);
|
|
378
|
+
this.requestedDimensions.NULLIFIER_PENDING_READ = numPendingReads;
|
|
345
379
|
} else {
|
|
346
|
-
|
|
347
|
-
|
|
380
|
+
// Reset the settled read requests.
|
|
381
|
+
const settledOnlyActions = assertLength(
|
|
348
382
|
resetActions.actions.map(action =>
|
|
349
383
|
action === ReadRequestActionEnum.READ_AS_SETTLED ? action : ReadRequestActionEnum.SKIP,
|
|
350
384
|
),
|
|
351
385
|
MAX_NULLIFIER_READ_REQUESTS_PER_TX,
|
|
352
386
|
);
|
|
387
|
+
this.nullifierResetActions = new ReadRequestResetActions(settledOnlyActions, []);
|
|
388
|
+
this.requestedDimensions.NULLIFIER_SETTLED_READ = numSettledReads;
|
|
353
389
|
}
|
|
354
390
|
}
|
|
355
391
|
|
|
356
392
|
return true;
|
|
357
393
|
}
|
|
358
394
|
|
|
359
|
-
private
|
|
360
|
-
const numCurr = this.previousKernel.validationRequests.
|
|
361
|
-
const numNext = this.nextIteration ? this.nextIteration.
|
|
395
|
+
private needsResetKeyValidationRequests() {
|
|
396
|
+
const numCurr = this.previousKernel.validationRequests.scopedKeyValidationRequestsAndSeparators.claimedLength;
|
|
397
|
+
const numNext = this.nextIteration ? this.nextIteration.keyValidationRequestsAndSeparators.claimedLength : 0;
|
|
362
398
|
const maxAmountToKeep = !this.nextIteration ? 0 : MAX_KEY_VALIDATION_REQUESTS_PER_TX;
|
|
363
399
|
if (numCurr + numNext <= maxAmountToKeep) {
|
|
364
400
|
return false;
|
|
@@ -370,9 +406,6 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
370
406
|
}
|
|
371
407
|
|
|
372
408
|
private needsResetTransientData() {
|
|
373
|
-
// Initialize this to 0 so that needsSilo can be run.
|
|
374
|
-
this.numTransientData = 0;
|
|
375
|
-
|
|
376
409
|
const nextAccumNoteHashes =
|
|
377
410
|
this.previousKernel.end.noteHashes.claimedLength + (this.nextIteration?.noteHashes.claimedLength ?? 0);
|
|
378
411
|
const noteHashWillOverflow = nextAccumNoteHashes > MAX_NOTE_HASHES_PER_TX;
|
|
@@ -387,19 +420,19 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
387
420
|
return false;
|
|
388
421
|
}
|
|
389
422
|
|
|
390
|
-
const futureNoteHashReads =
|
|
391
|
-
|
|
392
|
-
executionResult => executionResult.publicInputs.noteHashReadRequests,
|
|
423
|
+
const futureNoteHashReads = collectNested(this.executionStack, executionResult =>
|
|
424
|
+
executionResult.publicInputs.noteHashReadRequests.getActiveItems(),
|
|
393
425
|
);
|
|
394
|
-
const futureNullifierReads =
|
|
395
|
-
|
|
396
|
-
|
|
426
|
+
const futureNullifierReads = collectNested(this.executionStack, executionResult =>
|
|
427
|
+
executionResult.publicInputs.nullifierReadRequests.getActiveItems(),
|
|
428
|
+
);
|
|
429
|
+
const futureLogs = collectNested(this.executionStack, executionResult =>
|
|
430
|
+
executionResult.publicInputs.privateLogs.getActiveItems(),
|
|
397
431
|
);
|
|
398
|
-
// TODO(#15902): Collect future logs and only allow squashing a note hash when all its logs have been emitted
|
|
399
|
-
// (i.e. none of the future logs are linked to the to-be-squashed note hashes).
|
|
400
432
|
if (this.nextIteration) {
|
|
401
|
-
// If it's not the final reset, only one dimension will be reset at a time.
|
|
402
|
-
//
|
|
433
|
+
// If it's not the final reset, only one dimension will be reset at a time. Since we are resetting the transient
|
|
434
|
+
// data, the note hash and nullifier read requests in the previous kernel won't be squashed and need to be
|
|
435
|
+
// included in the future read requests.
|
|
403
436
|
futureNoteHashReads.push(...this.previousKernel.validationRequests.noteHashReadRequests.getActiveItems());
|
|
404
437
|
futureNullifierReads.push(...this.previousKernel.validationRequests.nullifierReadRequests.getActiveItems());
|
|
405
438
|
}
|
|
@@ -409,27 +442,50 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
409
442
|
this.previousKernel.end.nullifiers,
|
|
410
443
|
futureNoteHashReads,
|
|
411
444
|
futureNullifierReads,
|
|
445
|
+
futureLogs,
|
|
412
446
|
this.noteHashNullifierCounterMap,
|
|
413
447
|
this.splitCounter,
|
|
414
448
|
);
|
|
415
449
|
|
|
416
|
-
if (this.nextIteration
|
|
417
|
-
const
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
450
|
+
if (this.nextIteration) {
|
|
451
|
+
const noteHashOverflowBy = noteHashWillOverflow
|
|
452
|
+
? nextAccumNoteHashes - MAX_NOTE_HASHES_PER_TX - numTransientData
|
|
453
|
+
: 0;
|
|
454
|
+
const nullifierOverflowBy = nullifierWillOverflow
|
|
455
|
+
? nextAccumNullifiers - MAX_NULLIFIERS_PER_TX - numTransientData
|
|
456
|
+
: 0;
|
|
457
|
+
const numSquashedLogs = logsWillOverflow
|
|
458
|
+
? countSquashedLogs(
|
|
459
|
+
this.previousKernel.end.noteHashes,
|
|
460
|
+
this.previousKernel.end.privateLogs,
|
|
461
|
+
transientDataSquashingHints.slice(0, numTransientData),
|
|
462
|
+
)
|
|
463
|
+
: 0;
|
|
464
|
+
const logsOverflowBy = logsWillOverflow ? nextAccumLogs - MAX_PRIVATE_LOGS_PER_TX - numSquashedLogs : 0;
|
|
465
|
+
|
|
466
|
+
if (noteHashOverflowBy > 0 || nullifierOverflowBy > 0 || logsOverflowBy > 0) {
|
|
467
|
+
// There's not enough transient data to squash to clear space for the overflow. It may be because some data is
|
|
468
|
+
// still required for read requests. Force a reset of the read requests first, and return to transient data
|
|
469
|
+
// squashing in the next round of reset.
|
|
470
|
+
// Note that clearing the read requests might not be enough to clear more space for the overflow. In this case,
|
|
471
|
+
// running the next reset will fail at the following check.
|
|
472
|
+
// Only one dimension can be reset at a time for an inner reset, so we try the note hash read requests first
|
|
473
|
+
// (which also helps with log overflow), then fall back to nullifier read requests.
|
|
474
|
+
const forceReset = true;
|
|
475
|
+
if ((noteHashOverflowBy > 0 || logsOverflowBy > 0) && this.needsResetNoteHashReadRequests(forceReset)) {
|
|
476
|
+
return true;
|
|
477
|
+
}
|
|
478
|
+
if (nullifierOverflowBy > 0 && this.needsResetNullifierReadRequests(forceReset)) {
|
|
479
|
+
return true;
|
|
480
|
+
}
|
|
481
|
+
if (noteHashWillOverflow) {
|
|
482
|
+
throw new Error('Number of note hashes exceeds the limit.');
|
|
483
|
+
}
|
|
484
|
+
if (nullifierWillOverflow) {
|
|
485
|
+
throw new Error('Number of nullifiers exceeds the limit.');
|
|
486
|
+
}
|
|
487
|
+
throw new Error('Number of private logs exceeds the limit.');
|
|
429
488
|
}
|
|
430
|
-
// Clearing the read requests might not be enough to squash the overflown data.
|
|
431
|
-
// In this case, the next iteration will fail at the above check.
|
|
432
|
-
return true;
|
|
433
489
|
}
|
|
434
490
|
|
|
435
491
|
this.numTransientData = numTransientData;
|
|
@@ -444,10 +500,13 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
444
500
|
throw new Error('`needsResetTransientData` must be run before `needsSiloNoteHashes`.');
|
|
445
501
|
}
|
|
446
502
|
|
|
447
|
-
const
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
503
|
+
const noteHashes = this.previousKernel.end.noteHashes;
|
|
504
|
+
if (noteHashes.claimedLength > 0 && noteHashes.array[0].contractAddress.isZero()) {
|
|
505
|
+
// Already siloed.
|
|
506
|
+
return false;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
const numToSilo = noteHashes.claimedLength - this.numTransientData;
|
|
451
510
|
this.requestedDimensions.NOTE_HASH_SILOING = numToSilo;
|
|
452
511
|
|
|
453
512
|
return numToSilo > 0;
|
|
@@ -458,15 +517,14 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
458
517
|
throw new Error('`needsResetTransientData` must be run before `needsSiloNullifiers`.');
|
|
459
518
|
}
|
|
460
519
|
|
|
461
|
-
const
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
this.requestedDimensions.NULLIFIER_SILOING = cappedSize;
|
|
520
|
+
const nullifiers = this.previousKernel.end.nullifiers;
|
|
521
|
+
if (nullifiers.claimedLength > 0 && nullifiers.array[0].contractAddress.isZero()) {
|
|
522
|
+
// Already siloed.
|
|
523
|
+
return false;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
const numToSilo = nullifiers.claimedLength - this.numTransientData;
|
|
527
|
+
this.requestedDimensions.NULLIFIER_SILOING = numToSilo;
|
|
470
528
|
|
|
471
529
|
return numToSilo > 0;
|
|
472
530
|
}
|
|
@@ -477,17 +535,17 @@ export class PrivateKernelResetPrivateInputsBuilder {
|
|
|
477
535
|
}
|
|
478
536
|
|
|
479
537
|
const privateLogs = this.previousKernel.end.privateLogs;
|
|
480
|
-
|
|
538
|
+
if (privateLogs.claimedLength > 0 && privateLogs.array[0].contractAddress.isZero()) {
|
|
539
|
+
// Already siloed.
|
|
540
|
+
return false;
|
|
541
|
+
}
|
|
481
542
|
|
|
482
|
-
const
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
.
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
.filter(l => squashedNoteHashCounters.includes(l.inner.noteHashCounter)).length;
|
|
489
|
-
|
|
490
|
-
const numToSilo = numLogs - numSquashedLogs;
|
|
543
|
+
const numSquashedLogs = countSquashedLogs(
|
|
544
|
+
this.previousKernel.end.noteHashes,
|
|
545
|
+
privateLogs,
|
|
546
|
+
this.transientDataSquashingHints.slice(0, this.numTransientData),
|
|
547
|
+
);
|
|
548
|
+
const numToSilo = privateLogs.claimedLength - numSquashedLogs;
|
|
491
549
|
this.requestedDimensions.PRIVATE_LOG_SILOING = numToSilo;
|
|
492
550
|
|
|
493
551
|
return numToSilo > 0;
|