@aztec/pxe 0.0.1-commit.b9865e97 → 0.0.1-commit.be03c316
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 +8 -23
- package/dest/bin/index.d.ts +2 -2
- package/dest/bin/index.d.ts.map +1 -1
- package/dest/bin/index.js +1 -1
- package/dest/bin/oracle_version_helpers.d.ts +16 -8
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -1
- package/dest/bin/oracle_version_helpers.js +22 -69
- package/dest/block_synchronizer/block_stream_source.d.ts +5 -5
- package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -1
- package/dest/block_synchronizer/block_stream_source.js +4 -29
- package/dest/block_synchronizer/block_synchronizer.d.ts +18 -14
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +54 -18
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/contract/contract_class_service.d.ts +31 -0
- package/dest/contract/contract_class_service.d.ts.map +1 -0
- package/dest/contract/contract_class_service.js +68 -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_sync → contract}/contract_sync_service.js +26 -45
- 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/aztec_node_read_cache.d.ts +39 -0
- package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +19 -18
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +63 -32
- package/dest/contract_function_simulator/execution_note_cache.d.ts +3 -9
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +8 -28
- package/dest/contract_function_simulator/index.d.ts +19 -10
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +6 -9
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +8 -27
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/bounded_vec.js +8 -23
- 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/event_validation_request.js +1 -1
- 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 +11 -12
- 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 +6 -49
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +10 -8
- 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 +1 -60
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +2 -2
- package/dest/contract_function_simulator/noir-structs/option.d.ts +9 -11
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/option.js +18 -13
- 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 +6 -9
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -24
- 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 +2 -3
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- 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/oracle_registry.d.ts +43 -31
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle_registry.js +259 -29
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +180 -45
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1024 -341
- 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 +2 -3
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +21 -8
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +132 -22
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +77 -34
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +247 -106
- 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/debug/pxe_debug_utils.d.ts +2 -2
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.d.ts +2 -1
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +1 -0
- package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +17 -6
- package/dest/entrypoints/client/lazy/index.d.ts +2 -1
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +1 -0
- package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +17 -6
- 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 +9 -3
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +6 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +4 -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 +1 -1
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +16 -4
- package/dest/error_enriching.d.ts +5 -3
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +13 -11
- package/dest/hooks/execution_hooks.d.ts +31 -11
- package/dest/hooks/execution_hooks.d.ts.map +1 -1
- package/dest/hooks/execution_hooks.js +3 -3
- package/dest/hooks/index.d.ts +4 -3
- package/dest/hooks/index.d.ts.map +1 -1
- package/dest/hooks/index.js +1 -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 +8 -6
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +88 -28
- package/dest/messages/tx_resolver_service.d.ts +17 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/{message_context_service.js → tx_resolver_service.js} +13 -8
- package/dest/notes/note_service.d.ts +1 -1
- package/dest/notes/note_service.js +1 -1
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.js +5 -5
- package/dest/private_kernel/batch_planner.d.ts +1 -1
- package/dest/private_kernel/batch_planner.d.ts.map +1 -1
- package/dest/private_kernel/batch_planner.js +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
- 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 +6 -2
- package/dest/private_kernel/hints/test_utils.js +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +61 -40
- package/dest/private_kernel/private_kernel_oracle.d.ts +4 -2
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +17 -5
- package/dest/pxe.d.ts +114 -48
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +225 -139
- 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 +8 -6
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +129 -49
- package/dest/storage/capsule_store/capsule_service.d.ts +1 -1
- package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_service.js +6 -9
- package/dest/storage/contract_store/contract_store.d.ts +27 -24
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +64 -75
- 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 +408 -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 +42 -33
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +197 -168
- 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 +5 -3
- package/dest/storage/open_pxe_stores.d.ts.map +1 -1
- package/dest/storage/open_pxe_stores.js +5 -3
- 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 +40 -43
- 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/sender_tagging_store.d.ts +19 -3
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +48 -11
- 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 +3 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +28 -10
- package/dest/tagging/index.d.ts +2 -2
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +1 -1
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +26 -8
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +95 -20
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +1 -1
- 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 +6 -2
- 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 +17 -17
- package/src/bin/check_oracle_version.ts +8 -24
- package/src/bin/index.ts +1 -1
- package/src/bin/oracle_version_helpers.ts +23 -90
- package/src/block_synchronizer/block_stream_source.ts +6 -45
- package/src/block_synchronizer/block_synchronizer.ts +70 -29
- package/src/config/index.ts +1 -0
- package/src/contract/contract_class_service.ts +83 -0
- package/src/{contract_sync → contract}/contract_sync_service.ts +37 -50
- 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/aztec_node_read_cache.ts +89 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +96 -42
- package/src/contract_function_simulator/execution_note_cache.ts +7 -28
- package/src/contract_function_simulator/index.ts +48 -13
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +12 -24
- 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/event_validation_request.ts +1 -1
- 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 +20 -46
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +13 -60
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +2 -2
- package/src/contract_function_simulator/noir-structs/option.ts +17 -11
- 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 +4 -26
- 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 +1 -2
- 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/oracle_registry.ts +172 -47
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +814 -315
- package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +167 -30
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +399 -135
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/debug/pxe_debug_utils.ts +1 -1
- package/src/entrypoints/client/bundle/index.ts +1 -0
- package/src/entrypoints/client/bundle/utils.ts +24 -5
- package/src/entrypoints/client/lazy/index.ts +1 -0
- package/src/entrypoints/client/lazy/utils.ts +24 -5
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +8 -2
- package/src/entrypoints/server/index.ts +6 -2
- package/src/entrypoints/server/store.ts +47 -0
- package/src/entrypoints/server/utils.ts +31 -9
- package/src/error_enriching.ts +27 -11
- package/src/hooks/execution_hooks.ts +32 -12
- package/src/hooks/index.ts +8 -2
- 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 +100 -37
- package/src/messages/{message_context_service.ts → tx_resolver_service.ts} +16 -9
- package/src/notes/note_service.ts +1 -1
- package/src/oracle_version.ts +5 -5
- package/src/private_kernel/batch_planner.ts +0 -1
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +11 -1
- package/src/private_kernel/hints/test_utils.ts +1 -1
- package/src/private_kernel/private_kernel_execution_prover.ts +112 -56
- package/src/private_kernel/private_kernel_oracle.ts +23 -4
- package/src/pxe.ts +328 -159
- package/src/storage/allowed_scopes.ts +14 -0
- package/src/storage/anchor_block_store/anchor_block_store.ts +8 -6
- package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +6 -6
- package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +1 -1
- package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +12 -12
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +9 -15
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +24 -4
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
- package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +29 -9
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +141 -50
- package/src/storage/capsule_store/capsule_service.ts +8 -13
- package/src/storage/contract_store/contract_store.ts +86 -93
- package/src/storage/fact_store/fact_service.ts +69 -0
- package/src/storage/fact_store/fact_store.ts +487 -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 +226 -187
- package/src/storage/note_store/stored_note.ts +5 -27
- package/src/storage/open_pxe_stores.ts +6 -3
- package/src/storage/private_event_store/private_event_store.ts +49 -55
- package/src/storage/store_identity.ts +72 -0
- package/src/storage/tagging_store/index.ts +1 -1
- package/src/storage/tagging_store/sender_tagging_store.ts +62 -15
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +30 -10
- package/src/tagging/index.ts +1 -1
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +148 -30
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +1 -1
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +6 -2
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -89
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/oracle.js +0 -552
- 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 -51
- package/dest/contract_sync/contract_sync_service.d.ts +0 -42
- package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
- package/dest/contract_sync/helpers.d.ts +0 -27
- package/dest/contract_sync/helpers.d.ts.map +0 -1
- package/dest/contract_sync/helpers.js +0 -53
- package/dest/messages/message_context_service.d.ts +0 -17
- package/dest/messages/message_context_service.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/src/contract_function_simulator/oracle/oracle.ts +0 -711
- package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -60
- package/src/contract_sync/helpers.ts +0 -86
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +0 -16
- package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { CircuitKind } from '@aztec/bb.js';
|
|
1
2
|
import { MAX_APPS_PER_KERNEL } from '@aztec/constants';
|
|
2
3
|
import { uniqueBy } from '@aztec/foundation/collection';
|
|
3
|
-
import {
|
|
4
|
+
import { vkAsFields } from '@aztec/foundation/crypto/keys';
|
|
4
5
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
6
|
import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
|
|
6
7
|
import { pushTestData } from '@aztec/foundation/testing';
|
|
@@ -20,12 +21,16 @@ import {
|
|
|
20
21
|
type PrivateKernelExecutionProofOutput,
|
|
21
22
|
PrivateKernelInit2CircuitPrivateInputs,
|
|
22
23
|
PrivateKernelInit3CircuitPrivateInputs,
|
|
24
|
+
PrivateKernelInit4CircuitPrivateInputs,
|
|
25
|
+
PrivateKernelInit5CircuitPrivateInputs,
|
|
23
26
|
PrivateKernelInitCircuitPrivateInputs,
|
|
24
27
|
PrivateKernelInner2CircuitPrivateInputs,
|
|
25
28
|
PrivateKernelInner3CircuitPrivateInputs,
|
|
29
|
+
PrivateKernelInner4CircuitPrivateInputs,
|
|
30
|
+
PrivateKernelInner5CircuitPrivateInputs,
|
|
26
31
|
PrivateKernelInnerCircuitPrivateInputs,
|
|
32
|
+
PrivateKernelResetTailCircuitPrivateInputs,
|
|
27
33
|
type PrivateKernelSimulateOutput,
|
|
28
|
-
PrivateKernelTailCircuitPrivateInputs,
|
|
29
34
|
type PrivateKernelTailCircuitPublicInputs,
|
|
30
35
|
PrivateVerificationKeyHints,
|
|
31
36
|
type UpdatedClassIdHints,
|
|
@@ -145,6 +150,7 @@ export class PrivateKernelExecutionProver {
|
|
|
145
150
|
bytecode: output.bytecode,
|
|
146
151
|
witness: output.outputWitness,
|
|
147
152
|
vk: output.verificationKey.keyAsBytes,
|
|
153
|
+
kind: CircuitKind.Kernel,
|
|
148
154
|
timings: {
|
|
149
155
|
witgen: witgenTimer.ms(),
|
|
150
156
|
},
|
|
@@ -170,7 +176,6 @@ export class PrivateKernelExecutionProver {
|
|
|
170
176
|
previousOutput: output,
|
|
171
177
|
txRequest,
|
|
172
178
|
isPrivateOnlyTx,
|
|
173
|
-
firstNullifierHint: executionResult.firstNullifier,
|
|
174
179
|
minRevertibleSideEffectCounter,
|
|
175
180
|
executionSteps,
|
|
176
181
|
generateWitnesses,
|
|
@@ -179,7 +184,8 @@ export class PrivateKernelExecutionProver {
|
|
|
179
184
|
firstIteration = false;
|
|
180
185
|
}
|
|
181
186
|
|
|
182
|
-
//
|
|
187
|
+
// Terminal reset+tail. The final reset must be performed exactly once because each tx has at
|
|
188
|
+
// least one nullifier that requires siloing, and siloing cannot be done multiple times.
|
|
183
189
|
const finalResetBuilder = new PrivateKernelResetPrivateInputsBuilder(
|
|
184
190
|
output,
|
|
185
191
|
[],
|
|
@@ -187,29 +193,9 @@ export class PrivateKernelExecutionProver {
|
|
|
187
193
|
splitCounter,
|
|
188
194
|
);
|
|
189
195
|
if (!finalResetBuilder.needsReset()) {
|
|
190
|
-
//
|
|
191
|
-
// siloing, and siloing cannot be done multiple times.
|
|
192
|
-
// While, in theory, it might be possible to silo note hashes first and then run another reset to silo nullifiers
|
|
193
|
-
// and/or private logs, we currently don't have standalone dimensions for the arrays that require siloing. As a
|
|
194
|
-
// result, all necessary siloing must be done together in a single reset.
|
|
196
|
+
// Siloing for note hashes, nullifiers, and private logs is dimensioned as one terminal reset.
|
|
195
197
|
// Refer to the possible combinations of dimensions in private_kernel_reset_config.json.
|
|
196
198
|
throw new Error('Nothing to reset for the final reset.');
|
|
197
|
-
} else {
|
|
198
|
-
const witgenTimer = new Timer();
|
|
199
|
-
const privateInputs = await finalResetBuilder.build(this.oracle);
|
|
200
|
-
output = generateWitnesses
|
|
201
|
-
? await this.proofCreator.generateResetOutput(privateInputs)
|
|
202
|
-
: await this.proofCreator.simulateReset(privateInputs);
|
|
203
|
-
|
|
204
|
-
executionSteps.push({
|
|
205
|
-
functionName: 'private_kernel_reset',
|
|
206
|
-
bytecode: output.bytecode,
|
|
207
|
-
witness: output.outputWitness,
|
|
208
|
-
vk: output.verificationKey.keyAsBytes,
|
|
209
|
-
timings: {
|
|
210
|
-
witgen: witgenTimer.ms(),
|
|
211
|
-
},
|
|
212
|
-
});
|
|
213
199
|
}
|
|
214
200
|
|
|
215
201
|
if (output.publicInputs.feePayer.isZero() && skipFeeEnforcement) {
|
|
@@ -218,37 +204,39 @@ export class PrivateKernelExecutionProver {
|
|
|
218
204
|
}
|
|
219
205
|
output.publicInputs.feePayer = new AztecAddress(Fr.MAX_FIELD_VALUE);
|
|
220
206
|
}
|
|
221
|
-
// Private tail.
|
|
222
|
-
const vkData = await this.getVkData(output.verificationKey);
|
|
223
|
-
const previousKernelData = new PrivateKernelData(output.publicInputs, vkData);
|
|
224
|
-
|
|
225
|
-
this.log.debug(
|
|
226
|
-
`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`,
|
|
227
|
-
);
|
|
228
207
|
|
|
229
208
|
// TODO: Enable padding once we better understand the final amounts to pad to.
|
|
230
209
|
const paddedSideEffectAmounts = PaddedSideEffectAmounts.empty();
|
|
231
210
|
|
|
232
211
|
// Round the aggregated expirationTimestamp down to reduce precision and avoid leaking which private
|
|
233
212
|
// functions were called via their exact expiration offsets.
|
|
234
|
-
const expirationTimestampUpperBound = computeTxExpirationTimestamp(
|
|
235
|
-
|
|
236
|
-
const
|
|
237
|
-
|
|
213
|
+
const expirationTimestampUpperBound = computeTxExpirationTimestamp(output.publicInputs);
|
|
214
|
+
|
|
215
|
+
const resetInputs = await finalResetBuilder.build(this.oracle);
|
|
216
|
+
const mergedInputs = new PrivateKernelResetTailCircuitPrivateInputs(
|
|
217
|
+
resetInputs.previousKernel,
|
|
218
|
+
resetInputs.paddedSideEffects,
|
|
219
|
+
resetInputs.hints,
|
|
220
|
+
resetInputs.dimensions,
|
|
238
221
|
paddedSideEffectAmounts,
|
|
239
222
|
expirationTimestampUpperBound,
|
|
240
223
|
);
|
|
241
224
|
|
|
225
|
+
this.log.debug(
|
|
226
|
+
`Calling terminal private kernel reset+tail (${mergedInputs.isForPublic() ? 'to-public' : 'to-rollup'}) with hwm ${output.publicInputs.minRevertibleSideEffectCounter}`,
|
|
227
|
+
);
|
|
228
|
+
|
|
242
229
|
const witgenTimer = new Timer();
|
|
243
230
|
const tailOutput = generateWitnesses
|
|
244
|
-
? await this.proofCreator.
|
|
245
|
-
: await this.proofCreator.
|
|
231
|
+
? await this.proofCreator.generateResetTailOutput(mergedInputs)
|
|
232
|
+
: await this.proofCreator.simulateResetTail(mergedInputs);
|
|
246
233
|
|
|
247
234
|
executionSteps.push({
|
|
248
|
-
functionName: '
|
|
235
|
+
functionName: mergedInputs.isForPublic() ? 'private_kernel_reset_tail_to_public' : 'private_kernel_reset_tail',
|
|
249
236
|
bytecode: tailOutput.bytecode,
|
|
250
237
|
witness: tailOutput.outputWitness,
|
|
251
238
|
vk: tailOutput.verificationKey.keyAsBytes,
|
|
239
|
+
kind: CircuitKind.Kernel,
|
|
252
240
|
timings: {
|
|
253
241
|
witgen: witgenTimer.ms(),
|
|
254
242
|
},
|
|
@@ -280,6 +268,7 @@ export class PrivateKernelExecutionProver {
|
|
|
280
268
|
bytecode: hidingOutput.bytecode,
|
|
281
269
|
witness: hidingOutput.outputWitness,
|
|
282
270
|
vk: hidingOutput.verificationKey.keyAsBytes,
|
|
271
|
+
kind: CircuitKind.HidingKernel,
|
|
283
272
|
timings: {
|
|
284
273
|
witgen: witgenTimer.ms(),
|
|
285
274
|
},
|
|
@@ -289,7 +278,11 @@ export class PrivateKernelExecutionProver {
|
|
|
289
278
|
if (profileMode == 'gates' || profileMode == 'full') {
|
|
290
279
|
for (const entry of executionSteps) {
|
|
291
280
|
const gateCountTimer = new Timer();
|
|
292
|
-
const gateCount = await this.proofCreator.computeGateCountForCircuit(
|
|
281
|
+
const gateCount = await this.proofCreator.computeGateCountForCircuit(
|
|
282
|
+
entry.bytecode,
|
|
283
|
+
entry.functionName,
|
|
284
|
+
entry.kind,
|
|
285
|
+
);
|
|
293
286
|
entry.gateCount = gateCount;
|
|
294
287
|
entry.timings.gateCount = gateCountTimer.ms();
|
|
295
288
|
}
|
|
@@ -385,6 +378,7 @@ export class PrivateKernelExecutionProver {
|
|
|
385
378
|
bytecode: next.acir,
|
|
386
379
|
witness: next.partialWitness,
|
|
387
380
|
vk: next.vk,
|
|
381
|
+
kind: CircuitKind.App,
|
|
388
382
|
timings: {
|
|
389
383
|
witgen: next.profileResult?.timings.witgen ?? 0,
|
|
390
384
|
oracles: next.profileResult?.timings.oracles,
|
|
@@ -418,8 +412,8 @@ export class PrivateKernelExecutionProver {
|
|
|
418
412
|
) {
|
|
419
413
|
const { contractAddress, functionSelector } = publicInputs.callContext;
|
|
420
414
|
|
|
421
|
-
const
|
|
422
|
-
const vk = await VerificationKeyAsFields.fromKey(
|
|
415
|
+
const vkFields = await vkAsFields(vkAsBuffer, CircuitKind.App);
|
|
416
|
+
const vk = await VerificationKeyAsFields.fromKey(vkFields);
|
|
423
417
|
|
|
424
418
|
const { currentContractClassId, publicKeys, saltedInitializationHash } =
|
|
425
419
|
await this.oracle.getContractAddressPreimage(contractAddress);
|
|
@@ -457,7 +451,6 @@ export class PrivateKernelExecutionProver {
|
|
|
457
451
|
previousOutput: PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>;
|
|
458
452
|
txRequest: TxRequest;
|
|
459
453
|
isPrivateOnlyTx: boolean;
|
|
460
|
-
firstNullifierHint: Fr;
|
|
461
454
|
minRevertibleSideEffectCounter: number;
|
|
462
455
|
executionSteps: PrivateExecutionStep[];
|
|
463
456
|
generateWitnesses: boolean;
|
|
@@ -468,7 +461,6 @@ export class PrivateKernelExecutionProver {
|
|
|
468
461
|
previousOutput,
|
|
469
462
|
txRequest,
|
|
470
463
|
isPrivateOnlyTx,
|
|
471
|
-
firstNullifierHint,
|
|
472
464
|
minRevertibleSideEffectCounter,
|
|
473
465
|
executionSteps,
|
|
474
466
|
generateWitnesses,
|
|
@@ -488,12 +480,9 @@ export class PrivateKernelExecutionProver {
|
|
|
488
480
|
ProtocolContractsList,
|
|
489
481
|
apps[0],
|
|
490
482
|
isPrivateOnlyTx,
|
|
491
|
-
firstNullifierHint,
|
|
492
483
|
minRevertibleSideEffectCounter,
|
|
493
484
|
);
|
|
494
|
-
this.log.debug(
|
|
495
|
-
`Calling private kernel init with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`,
|
|
496
|
-
);
|
|
485
|
+
this.log.debug(`Calling private kernel init with isPrivateOnly ${isPrivateOnlyTx}`);
|
|
497
486
|
pushTestData('private-kernel-inputs-init', proofInput);
|
|
498
487
|
output = generateWitnesses
|
|
499
488
|
? await this.proofCreator.generateInitOutput(proofInput)
|
|
@@ -509,12 +498,9 @@ export class PrivateKernelExecutionProver {
|
|
|
509
498
|
apps[0],
|
|
510
499
|
apps[1],
|
|
511
500
|
isPrivateOnlyTx,
|
|
512
|
-
firstNullifierHint,
|
|
513
501
|
minRevertibleSideEffectCounter,
|
|
514
502
|
);
|
|
515
|
-
this.log.debug(
|
|
516
|
-
`Calling private kernel init_2 with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`,
|
|
517
|
-
);
|
|
503
|
+
this.log.debug(`Calling private kernel init_2 with isPrivateOnly ${isPrivateOnlyTx}`);
|
|
518
504
|
pushTestData('private-kernel-inputs-init-2', proofInput);
|
|
519
505
|
output = generateWitnesses
|
|
520
506
|
? await this.proofCreator.generateInit2Output(proofInput)
|
|
@@ -531,12 +517,9 @@ export class PrivateKernelExecutionProver {
|
|
|
531
517
|
apps[1],
|
|
532
518
|
apps[2],
|
|
533
519
|
isPrivateOnlyTx,
|
|
534
|
-
firstNullifierHint,
|
|
535
520
|
minRevertibleSideEffectCounter,
|
|
536
521
|
);
|
|
537
|
-
this.log.debug(
|
|
538
|
-
`Calling private kernel init_3 with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`,
|
|
539
|
-
);
|
|
522
|
+
this.log.debug(`Calling private kernel init_3 with isPrivateOnly ${isPrivateOnlyTx}`);
|
|
540
523
|
pushTestData('private-kernel-inputs-init-3', proofInput);
|
|
541
524
|
output = generateWitnesses
|
|
542
525
|
? await this.proofCreator.generateInit3Output(proofInput)
|
|
@@ -544,6 +527,47 @@ export class PrivateKernelExecutionProver {
|
|
|
544
527
|
functionName = 'private_kernel_init_3';
|
|
545
528
|
break;
|
|
546
529
|
}
|
|
530
|
+
case 4: {
|
|
531
|
+
const proofInput = new PrivateKernelInit4CircuitPrivateInputs(
|
|
532
|
+
txRequest,
|
|
533
|
+
vkTreeRoot,
|
|
534
|
+
ProtocolContractsList,
|
|
535
|
+
apps[0],
|
|
536
|
+
apps[1],
|
|
537
|
+
apps[2],
|
|
538
|
+
apps[3],
|
|
539
|
+
isPrivateOnlyTx,
|
|
540
|
+
minRevertibleSideEffectCounter,
|
|
541
|
+
);
|
|
542
|
+
this.log.debug(`Calling private kernel init_4 with isPrivateOnly ${isPrivateOnlyTx}`);
|
|
543
|
+
pushTestData('private-kernel-inputs-init-4', proofInput);
|
|
544
|
+
output = generateWitnesses
|
|
545
|
+
? await this.proofCreator.generateInit4Output(proofInput)
|
|
546
|
+
: await this.proofCreator.simulateInit4(proofInput);
|
|
547
|
+
functionName = 'private_kernel_init_4';
|
|
548
|
+
break;
|
|
549
|
+
}
|
|
550
|
+
case 5: {
|
|
551
|
+
const proofInput = new PrivateKernelInit5CircuitPrivateInputs(
|
|
552
|
+
txRequest,
|
|
553
|
+
vkTreeRoot,
|
|
554
|
+
ProtocolContractsList,
|
|
555
|
+
apps[0],
|
|
556
|
+
apps[1],
|
|
557
|
+
apps[2],
|
|
558
|
+
apps[3],
|
|
559
|
+
apps[4],
|
|
560
|
+
isPrivateOnlyTx,
|
|
561
|
+
minRevertibleSideEffectCounter,
|
|
562
|
+
);
|
|
563
|
+
this.log.debug(`Calling private kernel init_5 with isPrivateOnly ${isPrivateOnlyTx}`);
|
|
564
|
+
pushTestData('private-kernel-inputs-init-5', proofInput);
|
|
565
|
+
output = generateWitnesses
|
|
566
|
+
? await this.proofCreator.generateInit5Output(proofInput)
|
|
567
|
+
: await this.proofCreator.simulateInit5(proofInput);
|
|
568
|
+
functionName = 'private_kernel_init_5';
|
|
569
|
+
break;
|
|
570
|
+
}
|
|
547
571
|
default:
|
|
548
572
|
throw new Error(`Unsupported init kernel batch size: ${apps.length}`);
|
|
549
573
|
}
|
|
@@ -578,6 +602,37 @@ export class PrivateKernelExecutionProver {
|
|
|
578
602
|
functionName = 'private_kernel_inner_3';
|
|
579
603
|
break;
|
|
580
604
|
}
|
|
605
|
+
case 4: {
|
|
606
|
+
const proofInput = new PrivateKernelInner4CircuitPrivateInputs(
|
|
607
|
+
previousKernelData,
|
|
608
|
+
apps[0],
|
|
609
|
+
apps[1],
|
|
610
|
+
apps[2],
|
|
611
|
+
apps[3],
|
|
612
|
+
);
|
|
613
|
+
pushTestData('private-kernel-inputs-inner-4', proofInput);
|
|
614
|
+
output = generateWitnesses
|
|
615
|
+
? await this.proofCreator.generateInner4Output(proofInput)
|
|
616
|
+
: await this.proofCreator.simulateInner4(proofInput);
|
|
617
|
+
functionName = 'private_kernel_inner_4';
|
|
618
|
+
break;
|
|
619
|
+
}
|
|
620
|
+
case 5: {
|
|
621
|
+
const proofInput = new PrivateKernelInner5CircuitPrivateInputs(
|
|
622
|
+
previousKernelData,
|
|
623
|
+
apps[0],
|
|
624
|
+
apps[1],
|
|
625
|
+
apps[2],
|
|
626
|
+
apps[3],
|
|
627
|
+
apps[4],
|
|
628
|
+
);
|
|
629
|
+
pushTestData('private-kernel-inputs-inner-5', proofInput);
|
|
630
|
+
output = generateWitnesses
|
|
631
|
+
? await this.proofCreator.generateInner5Output(proofInput)
|
|
632
|
+
: await this.proofCreator.simulateInner5(proofInput);
|
|
633
|
+
functionName = 'private_kernel_inner_5';
|
|
634
|
+
break;
|
|
635
|
+
}
|
|
581
636
|
default:
|
|
582
637
|
throw new Error(`Unsupported inner kernel batch size: ${apps.length}`);
|
|
583
638
|
}
|
|
@@ -588,6 +643,7 @@ export class PrivateKernelExecutionProver {
|
|
|
588
643
|
bytecode: output.bytecode,
|
|
589
644
|
witness: output.outputWitness,
|
|
590
645
|
vk: output.verificationKey.keyAsBytes,
|
|
646
|
+
kind: CircuitKind.Kernel,
|
|
591
647
|
timings: {
|
|
592
648
|
witgen: witgenTimer.ms(),
|
|
593
649
|
},
|
|
@@ -22,30 +22,45 @@ import type { NullifierMembershipWitness } from '@aztec/stdlib/trees';
|
|
|
22
22
|
import type { BlockHeader } from '@aztec/stdlib/tx';
|
|
23
23
|
import type { VerificationKeyAsFields } from '@aztec/stdlib/vks';
|
|
24
24
|
|
|
25
|
+
import type { ContractClassService } from '../contract/contract_class_service.js';
|
|
26
|
+
import { AnchoredContractData } from '../contract_function_simulator/anchored_contract_data.js';
|
|
25
27
|
import type { ContractStore } from '../storage/contract_store/contract_store.js';
|
|
26
28
|
|
|
27
29
|
/**
|
|
28
30
|
* Provides functionality needed by the private kernel for interacting with our state trees.
|
|
29
31
|
*/
|
|
30
32
|
export class PrivateKernelOracle {
|
|
33
|
+
private readonly anchoredContractData: AnchoredContractData;
|
|
34
|
+
|
|
31
35
|
constructor(
|
|
32
36
|
private contractStore: ContractStore,
|
|
37
|
+
contractClassService: ContractClassService,
|
|
33
38
|
private keyStore: KeyStore,
|
|
34
39
|
private node: AztecNode,
|
|
35
40
|
private blockHeader: BlockHeader,
|
|
36
|
-
) {
|
|
41
|
+
) {
|
|
42
|
+
// Kernels never use contract overrides (those are confined to simulations, which skip proving), so this view is
|
|
43
|
+
// built without them.
|
|
44
|
+
this.anchoredContractData = new AnchoredContractData(contractStore, contractClassService, blockHeader);
|
|
45
|
+
}
|
|
37
46
|
|
|
38
47
|
/** Retrieves the preimage of a contract address from the registered contract instances db. */
|
|
39
48
|
public async getContractAddressPreimage(
|
|
40
49
|
address: AztecAddress,
|
|
41
50
|
): Promise<ContractInstanceWithAddress & { saltedInitializationHash: Fr }> {
|
|
42
|
-
const instance = await this.
|
|
51
|
+
const instance = await this.anchoredContractData.getContractInstance(address);
|
|
43
52
|
if (!instance) {
|
|
44
53
|
throw new Error(`Contract instance not found when getting address preimage. Contract address: ${address}.`);
|
|
45
54
|
}
|
|
55
|
+
// Local instance existence was checked above, so resolution below cannot come back empty.
|
|
56
|
+
const currentContractClassId = await this.anchoredContractData.getCurrentClassId(address);
|
|
57
|
+
if (!currentContractClassId) {
|
|
58
|
+
throw new Error(`Could not resolve the current class id for registered contract ${address}.`);
|
|
59
|
+
}
|
|
46
60
|
return {
|
|
47
61
|
saltedInitializationHash: await computeSaltedInitializationHash(instance),
|
|
48
62
|
...instance,
|
|
63
|
+
currentContractClassId,
|
|
49
64
|
};
|
|
50
65
|
}
|
|
51
66
|
|
|
@@ -114,8 +129,12 @@ export class PrivateKernelOracle {
|
|
|
114
129
|
}
|
|
115
130
|
|
|
116
131
|
/** Use debug data to get the function name corresponding to a selector. */
|
|
117
|
-
public getDebugFunctionName(
|
|
118
|
-
|
|
132
|
+
public async getDebugFunctionName(
|
|
133
|
+
contractAddress: AztecAddress,
|
|
134
|
+
selector: FunctionSelector,
|
|
135
|
+
): Promise<string | undefined> {
|
|
136
|
+
const classId = await this.anchoredContractData.getCurrentClassId(contractAddress);
|
|
137
|
+
return classId ? this.contractStore.getDebugFunctionName(classId, selector) : undefined;
|
|
119
138
|
}
|
|
120
139
|
|
|
121
140
|
/**
|