@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,21 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pending_indexes": [
|
|
3
3
|
{
|
|
4
|
-
"key": "utf8:
|
|
4
|
+
"key": "utf8:constrained:0x0000000000000000000000000000000000000000000000000000000000000013:0x0000000000000000000000000000000000000000000000000000000000000017",
|
|
5
|
+
"value": "[{\"lowestIndex\":4,\"highestIndex\":7,\"txHash\":\"0x0000000000000000000000000000000000000000000000000000000000000025\"}]"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"key": "utf8:unconstrained:0x0000000000000000000000000000000000000000000000000000000000000002:0x0000000000000000000000000000000000000000000000000000000000000003",
|
|
5
9
|
"value": "[{\"lowestIndex\":4,\"highestIndex\":7,\"txHash\":\"0x0000000000000000000000000000000000000000000000000000000000000013\"},{\"lowestIndex\":8,\"highestIndex\":11,\"txHash\":\"0x0000000000000000000000000000000000000000000000000000000000000017\"}]"
|
|
6
10
|
},
|
|
7
11
|
{
|
|
8
|
-
"key": "utf8:0x000000000000000000000000000000000000000000000000000000000000000b:0x000000000000000000000000000000000000000000000000000000000000000d",
|
|
12
|
+
"key": "utf8:unconstrained:0x000000000000000000000000000000000000000000000000000000000000000b:0x000000000000000000000000000000000000000000000000000000000000000d",
|
|
9
13
|
"value": "[{\"lowestIndex\":1,\"highestIndex\":9,\"txHash\":\"0x000000000000000000000000000000000000000000000000000000000000001d\"}]"
|
|
10
14
|
}
|
|
11
15
|
],
|
|
12
16
|
"last_finalized_indexes": [
|
|
13
17
|
{
|
|
14
|
-
"key": "utf8:
|
|
18
|
+
"key": "utf8:constrained:0x0000000000000000000000000000000000000000000000000000000000000013:0x0000000000000000000000000000000000000000000000000000000000000017",
|
|
19
|
+
"value": "num:3"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"key": "utf8:unconstrained:0x0000000000000000000000000000000000000000000000000000000000000002:0x0000000000000000000000000000000000000000000000000000000000000003",
|
|
15
23
|
"value": "num:3"
|
|
16
24
|
},
|
|
17
25
|
{
|
|
18
|
-
"key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000005:0x0000000000000000000000000000000000000000000000000000000000000007",
|
|
26
|
+
"key": "utf8:unconstrained:0x0000000000000000000000000000000000000000000000000000000000000005:0x0000000000000000000000000000000000000000000000000000000000000007",
|
|
19
27
|
"value": "num:5"
|
|
20
28
|
}
|
|
21
29
|
]
|
package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"senders": [
|
|
3
|
+
{
|
|
4
|
+
"key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
5
|
+
"value": "true"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000003",
|
|
9
|
+
"value": "true"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000005",
|
|
13
|
+
"value": "true"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"recipient_shared_secrets": [
|
|
17
|
+
{
|
|
18
|
+
"key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000007",
|
|
19
|
+
"value": "{\"kind\":\"arbitrary-secret\",\"secret\":\"0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003\"}"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"key": "utf8:0x0000000000000000000000000000000000000000000000000000000000000007",
|
|
23
|
+
"value": "{\"kind\":\"handshake\",\"secret\":\"0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000007\"}"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"key": "utf8:0x000000000000000000000000000000000000000000000000000000000000000b",
|
|
27
|
+
"value": "{\"kind\":\"arbitrary-secret\",\"secret\":\"0x000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000011\"}"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
2
|
+
"schemaVersion": 13,
|
|
3
3
|
"stores": [
|
|
4
|
-
{
|
|
5
|
-
"name": "address_book",
|
|
6
|
-
"kind": "map"
|
|
7
|
-
},
|
|
8
4
|
{
|
|
9
5
|
"name": "capsules",
|
|
10
6
|
"kind": "map"
|
|
@@ -37,6 +33,18 @@
|
|
|
37
33
|
"name": "events_by_contract_selector",
|
|
38
34
|
"kind": "multimap"
|
|
39
35
|
},
|
|
36
|
+
{
|
|
37
|
+
"name": "facts",
|
|
38
|
+
"kind": "map"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "facts_by_block",
|
|
42
|
+
"kind": "multimap"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "facts_by_collection",
|
|
46
|
+
"kind": "multimap"
|
|
47
|
+
},
|
|
40
48
|
{
|
|
41
49
|
"name": "header",
|
|
42
50
|
"kind": "singleton"
|
|
@@ -58,7 +66,15 @@
|
|
|
58
66
|
"kind": "map"
|
|
59
67
|
},
|
|
60
68
|
{
|
|
61
|
-
"name": "
|
|
69
|
+
"name": "note_nullifications_by_block",
|
|
70
|
+
"kind": "multimap"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "note_nullifications_by_nullifier",
|
|
74
|
+
"kind": "map"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "note_nullifiers_by_block",
|
|
62
78
|
"kind": "multimap"
|
|
63
79
|
},
|
|
64
80
|
{
|
|
@@ -82,15 +98,19 @@
|
|
|
82
98
|
"kind": "map"
|
|
83
99
|
},
|
|
84
100
|
{
|
|
85
|
-
"name": "
|
|
101
|
+
"name": "pxe_l2_tip_checkpoints",
|
|
86
102
|
"kind": "map"
|
|
87
103
|
},
|
|
88
104
|
{
|
|
89
|
-
"name": "
|
|
105
|
+
"name": "pxe_l2_tips",
|
|
90
106
|
"kind": "map"
|
|
91
107
|
},
|
|
92
108
|
{
|
|
93
|
-
"name": "
|
|
109
|
+
"name": "recipient_shared_secrets",
|
|
110
|
+
"kind": "multimap"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "senders",
|
|
94
114
|
"kind": "map"
|
|
95
115
|
}
|
|
96
116
|
]
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
3
3
|
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
5
6
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
7
|
import type { Tuple } from '@aztec/foundation/serialize';
|
|
7
8
|
import { KeyStore } from '@aztec/key-store';
|
|
@@ -14,9 +15,10 @@ import { BlockHash, Body, GENESIS_BLOCK_HEADER_HASH, L2Block } from '@aztec/stdl
|
|
|
14
15
|
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
15
16
|
import { CompleteAddress, SerializableContractInstance } from '@aztec/stdlib/contract';
|
|
16
17
|
import { GasFees } from '@aztec/stdlib/gas';
|
|
17
|
-
import { PublicKey, PublicKeys } from '@aztec/stdlib/keys';
|
|
18
|
+
import { PublicKey, PublicKeys, deriveKeys } from '@aztec/stdlib/keys';
|
|
18
19
|
import {
|
|
19
20
|
AppTaggingSecret,
|
|
21
|
+
AppTaggingSecretKind,
|
|
20
22
|
ContractClassLog,
|
|
21
23
|
ContractClassLogFields,
|
|
22
24
|
PrivateLog,
|
|
@@ -36,12 +38,14 @@ import {
|
|
|
36
38
|
} from '@aztec/stdlib/tx';
|
|
37
39
|
|
|
38
40
|
import { AddressStore } from '../address_store/address_store.js';
|
|
39
|
-
import { AnchorBlockStore } from '../anchor_block_store/
|
|
41
|
+
import { AnchorBlockStore } from '../anchor_block_store/index.js';
|
|
40
42
|
import { CapsuleStore } from '../capsule_store/capsule_store.js';
|
|
41
43
|
import { ContractStore } from '../contract_store/contract_store.js';
|
|
44
|
+
import { FactStore } from '../fact_store/fact_store.js';
|
|
45
|
+
import { FactCollectionKey } from '../fact_store/fact_store_keys.js';
|
|
42
46
|
import { NoteStore } from '../note_store/note_store.js';
|
|
43
47
|
import { PrivateEventStore } from '../private_event_store/private_event_store.js';
|
|
44
|
-
import { RecipientTaggingStore,
|
|
48
|
+
import { RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore } from '../tagging_store/index.js';
|
|
45
49
|
import { snapshotArray, snapshotMap, snapshotSingleton } from './kv_store_snapshot.js';
|
|
46
50
|
|
|
47
51
|
/**
|
|
@@ -106,7 +110,7 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
106
110
|
SlotNumber(47),
|
|
107
111
|
53n,
|
|
108
112
|
EthAddress.fromField(new Fr(59n)),
|
|
109
|
-
AztecAddress.
|
|
113
|
+
AztecAddress.fromBigIntUnsafe(61n),
|
|
110
114
|
new GasFees(67n, 71n),
|
|
111
115
|
),
|
|
112
116
|
new Fr(73n),
|
|
@@ -125,8 +129,8 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
125
129
|
const capsuleStore = new CapsuleStore(kvStore);
|
|
126
130
|
|
|
127
131
|
const jobId = 'fixture-job';
|
|
128
|
-
const contractAddress = AztecAddress.
|
|
129
|
-
const scope = AztecAddress.
|
|
132
|
+
const contractAddress = AztecAddress.fromBigIntUnsafe(2n);
|
|
133
|
+
const scope = AztecAddress.fromBigIntUnsafe(3n);
|
|
130
134
|
|
|
131
135
|
// Three setCapsule calls (2-element, 1-element, 0-element value vector) pin every value-encoding length case.
|
|
132
136
|
capsuleStore.setCapsule(contractAddress, new Fr(5n), [new Fr(7n), new Fr(11n)], jobId, scope);
|
|
@@ -188,7 +192,7 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
188
192
|
new SerializableContractInstance({
|
|
189
193
|
version: 2,
|
|
190
194
|
salt: new Fr(73n),
|
|
191
|
-
deployer: AztecAddress.
|
|
195
|
+
deployer: AztecAddress.fromBigIntUnsafe(79n),
|
|
192
196
|
currentContractClassId: new Fr(83n),
|
|
193
197
|
originalContractClassId: new Fr(89n),
|
|
194
198
|
initializationHash: new Fr(97n),
|
|
@@ -204,7 +208,7 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
204
208
|
new Fr(71n),
|
|
205
209
|
new Fr(73n),
|
|
206
210
|
),
|
|
207
|
-
}).withAddress(AztecAddress.
|
|
211
|
+
}).withAddress(AztecAddress.fromBigIntUnsafe(101n)),
|
|
208
212
|
);
|
|
209
213
|
},
|
|
210
214
|
snapshotStore: async kvStore => ({
|
|
@@ -214,11 +218,45 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
214
218
|
}),
|
|
215
219
|
},
|
|
216
220
|
|
|
221
|
+
{
|
|
222
|
+
name: 'FactStore',
|
|
223
|
+
writeToStore: async kvStore => {
|
|
224
|
+
const factStore = new FactStore(kvStore);
|
|
225
|
+
const jobId = 'fixture-job';
|
|
226
|
+
const contract = AztecAddress.fromBigIntUnsafe(100n);
|
|
227
|
+
const scope = AztecAddress.fromBigIntUnsafe(1n);
|
|
228
|
+
const factCollectionTypeId = new Fr(7n);
|
|
229
|
+
const keyA = FactCollectionKey.from({
|
|
230
|
+
contractAddress: contract,
|
|
231
|
+
scope,
|
|
232
|
+
factCollectionTypeId,
|
|
233
|
+
factCollectionId: new Fr(0xaan),
|
|
234
|
+
});
|
|
235
|
+
const keyB = FactCollectionKey.from({
|
|
236
|
+
contractAddress: contract,
|
|
237
|
+
scope,
|
|
238
|
+
factCollectionTypeId,
|
|
239
|
+
factCollectionId: new Fr(0xbbn),
|
|
240
|
+
});
|
|
241
|
+
// A collection whose only fact is retractable (origin block 6): pruned on a reorg above block 6.
|
|
242
|
+
await factStore.recordFact(keyA, new Fr(3n), [new Fr(5n)], { blockNumber: 6, blockHash: new Fr(2n) }, jobId);
|
|
243
|
+
// A collection with a non-retractable and a retractable fact.
|
|
244
|
+
await factStore.recordFact(keyB, new Fr(1n), [new Fr(9n)], undefined, jobId);
|
|
245
|
+
await factStore.recordFact(keyB, new Fr(2n), [], { blockNumber: 5, blockHash: new Fr(1n) }, jobId);
|
|
246
|
+
await kvStore.transactionAsync(() => factStore.commit(jobId));
|
|
247
|
+
},
|
|
248
|
+
snapshotStore: async kvStore => ({
|
|
249
|
+
facts: await snapshotMap(kvStore.openMap<string, Buffer>('facts')),
|
|
250
|
+
facts_by_collection: await snapshotMap(kvStore.openMultiMap<string, string>('facts_by_collection')),
|
|
251
|
+
facts_by_block: await snapshotMap(kvStore.openMultiMap<number, string>('facts_by_block')),
|
|
252
|
+
}),
|
|
253
|
+
},
|
|
254
|
+
|
|
217
255
|
{
|
|
218
256
|
name: 'KeyStore',
|
|
219
257
|
writeToStore: async kvStore => {
|
|
220
258
|
const keyStore = new KeyStore(kvStore);
|
|
221
|
-
await keyStore.addAccount(new Fr(2n), new Fr(3n));
|
|
259
|
+
await keyStore.addAccount(await deriveKeys(new Fr(2n)), new Fr(3n));
|
|
222
260
|
},
|
|
223
261
|
snapshotStore: async kvStore => ({
|
|
224
262
|
key_store: await snapshotMap(kvStore.openMap<string, Buffer>('key_store')),
|
|
@@ -243,9 +281,10 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
243
281
|
SlotNumber(19),
|
|
244
282
|
23n,
|
|
245
283
|
EthAddress.fromField(new Fr(29n)),
|
|
246
|
-
AztecAddress.
|
|
284
|
+
AztecAddress.fromBigIntUnsafe(31n),
|
|
247
285
|
new GasFees(37n, 41n),
|
|
248
286
|
new Fr(43n),
|
|
287
|
+
new Fr(47n),
|
|
249
288
|
),
|
|
250
289
|
[block],
|
|
251
290
|
CheckpointNumber(47),
|
|
@@ -256,28 +295,30 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
256
295
|
);
|
|
257
296
|
|
|
258
297
|
// `'blocks-added'` writes to `pxe_l2_tips` (proposed tag) and `pxe_l2_block_hashes`.
|
|
259
|
-
// `'chain-checkpointed'` writes
|
|
260
|
-
// block-to-checkpoint mapping, and the checkpoint store.
|
|
298
|
+
// `'chain-checkpointed'` writes the 'checkpointed' tip and its checkpoint id (`pxe_l2_tip_checkpoints`).
|
|
261
299
|
await l2TipsStore.handleBlockStreamEvent({ type: 'blocks-added', blocks: [block] });
|
|
262
300
|
await l2TipsStore.handleBlockStreamEvent({
|
|
263
301
|
type: 'chain-checkpointed',
|
|
264
302
|
block: { number: BlockNumber(71), hash: new Fr(73n).toString() },
|
|
265
|
-
checkpoint:
|
|
303
|
+
checkpoint: {
|
|
304
|
+
number: publishedCheckpoint.checkpoint.number,
|
|
305
|
+
hash: publishedCheckpoint.checkpoint.hash().toString(),
|
|
306
|
+
},
|
|
266
307
|
});
|
|
267
308
|
// `'chain-proven'` writes the 'proven' tag. `'finalized'` is omitted because its handler runs delete-before
|
|
268
309
|
// logic that would depend on the order of preceding events.
|
|
269
310
|
await l2TipsStore.handleBlockStreamEvent({
|
|
270
311
|
type: 'chain-proven',
|
|
271
312
|
block: { number: BlockNumber(79), hash: new Fr(83n).toString() },
|
|
313
|
+
checkpoint: { number: CheckpointNumber(47), hash: new Fr(89n).toString() },
|
|
272
314
|
});
|
|
273
315
|
},
|
|
274
316
|
snapshotStore: async kvStore => ({
|
|
275
317
|
pxe_l2_tips: await snapshotMap(kvStore.openMap<string, number>('pxe_l2_tips')),
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
kvStore.openMap<number, number>('pxe_l2_block_number_to_checkpoint_number'),
|
|
318
|
+
pxe_l2_tip_checkpoints: await snapshotMap(
|
|
319
|
+
kvStore.openMap<string, { number: number; hash: string }>('pxe_l2_tip_checkpoints'),
|
|
279
320
|
),
|
|
280
|
-
|
|
321
|
+
pxe_l2_block_hashes: await snapshotMap(kvStore.openMap<number, string>('pxe_l2_block_hashes')),
|
|
281
322
|
}),
|
|
282
323
|
},
|
|
283
324
|
|
|
@@ -290,17 +331,17 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
290
331
|
|
|
291
332
|
// Two contracts so `note_nullifiers_by_contract` exhibits both a multi-value row (contractA → {n1, n2}) and a
|
|
292
333
|
// single-value row (contractB → {n3}).
|
|
293
|
-
const contractA = AztecAddress.
|
|
294
|
-
const contractB = AztecAddress.
|
|
295
|
-
const scopeX = AztecAddress.
|
|
296
|
-
const scopeY = AztecAddress.
|
|
334
|
+
const contractA = AztecAddress.fromBigIntUnsafe(2n);
|
|
335
|
+
const contractB = AztecAddress.fromBigIntUnsafe(3n);
|
|
336
|
+
const scopeX = AztecAddress.fromBigIntUnsafe(5n);
|
|
337
|
+
const scopeY = AztecAddress.fromBigIntUnsafe(7n);
|
|
297
338
|
|
|
298
339
|
// note1: active, will be added under two scopes to exercise the multi-element scopes vector encoding in
|
|
299
340
|
// `StoredNote.toBuffer`.
|
|
300
341
|
const note1 = new NoteDao(
|
|
301
342
|
new Note([new Fr(13n), new Fr(17n), new Fr(19n)]),
|
|
302
343
|
contractA,
|
|
303
|
-
AztecAddress.
|
|
344
|
+
AztecAddress.fromBigIntUnsafe(23n),
|
|
304
345
|
new Fr(29n),
|
|
305
346
|
new Fr(31n),
|
|
306
347
|
new Fr(37n),
|
|
@@ -317,7 +358,7 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
317
358
|
const note2 = new NoteDao(
|
|
318
359
|
new Note([new Fr(71n), new Fr(73n), new Fr(79n)]),
|
|
319
360
|
contractA,
|
|
320
|
-
AztecAddress.
|
|
361
|
+
AztecAddress.fromBigIntUnsafe(83n),
|
|
321
362
|
new Fr(89n),
|
|
322
363
|
new Fr(97n),
|
|
323
364
|
new Fr(101n),
|
|
@@ -330,12 +371,12 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
330
371
|
137,
|
|
331
372
|
);
|
|
332
373
|
|
|
333
|
-
// note3: different contract; will be nullified to populate `
|
|
334
|
-
//
|
|
374
|
+
// note3: different contract; will be nullified to populate `note_nullifications_by_nullifier` and exercise the
|
|
375
|
+
// append-only nullification record written by `applyNullifiers`.
|
|
335
376
|
const note3 = new NoteDao(
|
|
336
377
|
new Note([new Fr(139n), new Fr(149n), new Fr(151n)]),
|
|
337
378
|
contractB,
|
|
338
|
-
AztecAddress.
|
|
379
|
+
AztecAddress.fromBigIntUnsafe(157n),
|
|
339
380
|
new Fr(163n),
|
|
340
381
|
new Fr(167n),
|
|
341
382
|
new Fr(173n),
|
|
@@ -355,9 +396,8 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
355
396
|
await noteStore.addNotes([note2], scopeX, jobId);
|
|
356
397
|
await noteStore.addNotes([note3], scopeX, jobId);
|
|
357
398
|
|
|
358
|
-
// Nullify note3 within the same job. `applyNullifiers`
|
|
359
|
-
//
|
|
360
|
-
// corresponding `note_block_number_to_nullifier` entry.
|
|
399
|
+
// Nullify note3 within the same job. `applyNullifiers` stages the emission block number for the note; `commit`
|
|
400
|
+
// then flushes it to disk into `note_nullifications_by_nullifier`.
|
|
361
401
|
await noteStore.applyNullifiers(
|
|
362
402
|
[{ data: note3.siloedNullifier, l2BlockNumber: BlockNumber(223), l2BlockHash: BlockHash.ZERO }],
|
|
363
403
|
jobId,
|
|
@@ -370,8 +410,12 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
370
410
|
note_nullifiers_by_contract: await snapshotMap(
|
|
371
411
|
kvStore.openMultiMap<string, string>('note_nullifiers_by_contract'),
|
|
372
412
|
),
|
|
373
|
-
|
|
374
|
-
kvStore.
|
|
413
|
+
note_nullifications_by_nullifier: await snapshotMap(
|
|
414
|
+
kvStore.openMap<string, number>('note_nullifications_by_nullifier'),
|
|
415
|
+
),
|
|
416
|
+
note_nullifiers_by_block: await snapshotMap(kvStore.openMultiMap<number, string>('note_nullifiers_by_block')),
|
|
417
|
+
note_nullifications_by_block: await snapshotMap(
|
|
418
|
+
kvStore.openMultiMap<number, string>('note_nullifications_by_block'),
|
|
375
419
|
),
|
|
376
420
|
}),
|
|
377
421
|
},
|
|
@@ -385,12 +429,12 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
385
429
|
|
|
386
430
|
// Two (contract, selector) pairs and two block numbers so each multimap exhibits both a multi-value row
|
|
387
431
|
// (contractA/selectorA → {e1, e2} and blockN1 → {e1, e2}) and a contrasting single-value row.
|
|
388
|
-
const contractA = AztecAddress.
|
|
389
|
-
const contractB = AztecAddress.
|
|
432
|
+
const contractA = AztecAddress.fromBigIntUnsafe(2n);
|
|
433
|
+
const contractB = AztecAddress.fromBigIntUnsafe(3n);
|
|
390
434
|
const selectorA = EventSelector.fromField(new Fr(5n));
|
|
391
435
|
const selectorB = EventSelector.fromField(new Fr(7n));
|
|
392
|
-
const scopeX = AztecAddress.
|
|
393
|
-
const scopeY = AztecAddress.
|
|
436
|
+
const scopeX = AztecAddress.fromBigIntUnsafe(11n);
|
|
437
|
+
const scopeY = AztecAddress.fromBigIntUnsafe(13n);
|
|
394
438
|
const blockN1 = BlockNumber(17);
|
|
395
439
|
const blockN2 = BlockNumber(19);
|
|
396
440
|
|
|
@@ -485,12 +529,20 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
485
529
|
const recipientTaggingStore = new RecipientTaggingStore(kvStore);
|
|
486
530
|
|
|
487
531
|
const jobId = 'fixture-job';
|
|
488
|
-
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.
|
|
489
|
-
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.
|
|
532
|
+
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.fromBigIntUnsafe(3n));
|
|
533
|
+
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.fromBigIntUnsafe(7n));
|
|
534
|
+
// A constrained secret keys under the `constrained:` prefix, so the snapshot pins both kinds side by side.
|
|
535
|
+
const secretConstrained = new AppTaggingSecret(
|
|
536
|
+
new Fr(19n),
|
|
537
|
+
AztecAddress.fromBigIntUnsafe(23n),
|
|
538
|
+
AppTaggingSecretKind.CONSTRAINED,
|
|
539
|
+
);
|
|
490
540
|
|
|
491
541
|
await recipientTaggingStore.updateHighestFinalizedIndex(secretA, 11, jobId);
|
|
492
542
|
await recipientTaggingStore.updateHighestAgedIndex(secretA, 13, jobId);
|
|
493
543
|
await recipientTaggingStore.updateHighestFinalizedIndex(secretB, 17, jobId);
|
|
544
|
+
await recipientTaggingStore.updateHighestFinalizedIndex(secretConstrained, 11, jobId);
|
|
545
|
+
await recipientTaggingStore.updateHighestAgedIndex(secretConstrained, 13, jobId);
|
|
494
546
|
await kvStore.transactionAsync(() => recipientTaggingStore.commit(jobId));
|
|
495
547
|
},
|
|
496
548
|
snapshotStore: async kvStore => ({
|
|
@@ -500,16 +552,35 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
500
552
|
},
|
|
501
553
|
|
|
502
554
|
{
|
|
503
|
-
name: '
|
|
555
|
+
name: 'TaggingSecretSourcesStore',
|
|
504
556
|
writeToStore: async kvStore => {
|
|
505
|
-
const
|
|
557
|
+
const taggingSecretSourcesStore = new TaggingSecretSourcesStore(kvStore);
|
|
558
|
+
|
|
559
|
+
await taggingSecretSourcesStore.addSender(AztecAddress.fromBigIntUnsafe(2n));
|
|
560
|
+
await taggingSecretSourcesStore.addSender(AztecAddress.fromBigIntUnsafe(3n));
|
|
561
|
+
await taggingSecretSourcesStore.addSender(AztecAddress.fromBigIntUnsafe(5n));
|
|
506
562
|
|
|
507
|
-
await
|
|
508
|
-
|
|
509
|
-
|
|
563
|
+
await taggingSecretSourcesStore.addSharedSecret(
|
|
564
|
+
AztecAddress.fromBigIntUnsafe(7n),
|
|
565
|
+
'arbitrary-secret',
|
|
566
|
+
new Point(new Fr(2n), new Fr(3n)),
|
|
567
|
+
);
|
|
568
|
+
await taggingSecretSourcesStore.addSharedSecret(
|
|
569
|
+
AztecAddress.fromBigIntUnsafe(7n),
|
|
570
|
+
'handshake',
|
|
571
|
+
new Point(new Fr(5n), new Fr(7n)),
|
|
572
|
+
);
|
|
573
|
+
await taggingSecretSourcesStore.addSharedSecret(
|
|
574
|
+
AztecAddress.fromBigIntUnsafe(11n),
|
|
575
|
+
'arbitrary-secret',
|
|
576
|
+
new Point(new Fr(13n), new Fr(17n)),
|
|
577
|
+
);
|
|
510
578
|
},
|
|
511
579
|
snapshotStore: async kvStore => ({
|
|
512
|
-
|
|
580
|
+
senders: await snapshotMap(kvStore.openMap<string, true>('senders')),
|
|
581
|
+
recipient_shared_secrets: await snapshotMap(
|
|
582
|
+
kvStore.openMultiMap<string, { kind: string; secret: string }>('recipient_shared_secrets'),
|
|
583
|
+
),
|
|
513
584
|
}),
|
|
514
585
|
},
|
|
515
586
|
|
|
@@ -519,13 +590,20 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
519
590
|
const senderTaggingStore = new SenderTaggingStore(kvStore);
|
|
520
591
|
|
|
521
592
|
const jobId = 'fixture-job';
|
|
522
|
-
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.
|
|
523
|
-
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.
|
|
524
|
-
const secretC = new AppTaggingSecret(new Fr(11n), AztecAddress.
|
|
593
|
+
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.fromBigIntUnsafe(3n));
|
|
594
|
+
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.fromBigIntUnsafe(7n));
|
|
595
|
+
const secretC = new AppTaggingSecret(new Fr(11n), AztecAddress.fromBigIntUnsafe(13n));
|
|
596
|
+
const secretConstrained = new AppTaggingSecret(
|
|
597
|
+
new Fr(19n),
|
|
598
|
+
AztecAddress.fromBigIntUnsafe(23n),
|
|
599
|
+
AppTaggingSecretKind.CONSTRAINED,
|
|
600
|
+
);
|
|
525
601
|
const txHashA = TxHash.fromBigInt(17n);
|
|
526
602
|
const txHashB = TxHash.fromBigInt(19n);
|
|
527
603
|
const txHashC = TxHash.fromBigInt(23n);
|
|
528
604
|
const txHashD = TxHash.fromBigInt(29n);
|
|
605
|
+
const txHashE = TxHash.fromBigInt(31n);
|
|
606
|
+
const txHashF = TxHash.fromBigInt(37n);
|
|
529
607
|
|
|
530
608
|
// secretA receives three pending ranges (one per tx); secretB receives one. After finalizing txHashA below,
|
|
531
609
|
// secretA's array shrinks to two elements (the txHashB and txHashC ranges, both with highestIndex > 3) which
|
|
@@ -564,7 +642,20 @@ export const SCHEMA_TESTS: readonly SchemaTest[] = [
|
|
|
564
642
|
jobId,
|
|
565
643
|
);
|
|
566
644
|
|
|
567
|
-
|
|
645
|
+
// secretConstrained gets a finalized range (txHashE) plus a surviving higher pending range (txHashF), so the
|
|
646
|
+
// `constrained:` key lands in both pending_indexes and last_finalized_indexes.
|
|
647
|
+
await senderTaggingStore.storePendingIndexes(
|
|
648
|
+
[{ extendedSecret: secretConstrained, lowestIndex: 1, highestIndex: 3 }],
|
|
649
|
+
txHashE,
|
|
650
|
+
jobId,
|
|
651
|
+
);
|
|
652
|
+
await senderTaggingStore.storePendingIndexes(
|
|
653
|
+
[{ extendedSecret: secretConstrained, lowestIndex: 4, highestIndex: 7 }],
|
|
654
|
+
txHashF,
|
|
655
|
+
jobId,
|
|
656
|
+
);
|
|
657
|
+
|
|
658
|
+
await senderTaggingStore.finalizePendingIndexes([txHashA, txHashE], jobId);
|
|
568
659
|
|
|
569
660
|
await kvStore.transactionAsync(() => senderTaggingStore.commit(jobId));
|
|
570
661
|
},
|
|
@@ -615,7 +706,7 @@ function buildL2Block(): L2Block {
|
|
|
615
706
|
SlotNumber(181),
|
|
616
707
|
191n,
|
|
617
708
|
EthAddress.fromField(new Fr(193n)),
|
|
618
|
-
AztecAddress.
|
|
709
|
+
AztecAddress.fromBigIntUnsafe(197n),
|
|
619
710
|
new GasFees(199n, 211n),
|
|
620
711
|
),
|
|
621
712
|
new Fr(223n),
|
|
@@ -636,10 +727,10 @@ function buildL2Block(): L2Block {
|
|
|
636
727
|
3,
|
|
637
728
|
),
|
|
638
729
|
],
|
|
639
|
-
[new PublicLog(AztecAddress.
|
|
730
|
+
[new PublicLog(AztecAddress.fromBigIntUnsafe(281n), [new Fr(283n), new Fr(293n)])],
|
|
640
731
|
[
|
|
641
732
|
new ContractClassLog(
|
|
642
|
-
AztecAddress.
|
|
733
|
+
AztecAddress.fromBigIntUnsafe(307n),
|
|
643
734
|
new ContractClassLogFields(paddedFrs([311n, 313n, 317n], CONTRACT_CLASS_LOG_SIZE_IN_FIELDS)),
|
|
644
735
|
3,
|
|
645
736
|
),
|
|
@@ -2,6 +2,7 @@ import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
2
2
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
import type { Capsule } from '@aztec/stdlib/tx';
|
|
4
4
|
|
|
5
|
+
import { assertAllowedScope } from '../allowed_scopes.js';
|
|
5
6
|
import type { CapsuleStore } from './capsule_store.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -9,10 +10,15 @@ import type { CapsuleStore } from './capsule_store.js';
|
|
|
9
10
|
* allowed scopes list before delegating to the underlying store.
|
|
10
11
|
*/
|
|
11
12
|
export class CapsuleService {
|
|
13
|
+
private readonly allowedScopes: AztecAddress[];
|
|
14
|
+
|
|
12
15
|
constructor(
|
|
13
16
|
private readonly capsuleStore: CapsuleStore,
|
|
14
|
-
|
|
15
|
-
) {
|
|
17
|
+
allowedScopes: AztecAddress[],
|
|
18
|
+
) {
|
|
19
|
+
// The zero address denotes the global capsule scope, which is always permitted.
|
|
20
|
+
this.allowedScopes = [...allowedScopes, AztecAddress.ZERO];
|
|
21
|
+
}
|
|
16
22
|
|
|
17
23
|
setCapsule(contractAddress: AztecAddress, slot: Fr, capsule: Fr[], jobId: string, scope: AztecAddress) {
|
|
18
24
|
assertAllowedScope(scope, this.allowedScopes);
|
|
@@ -77,14 +83,3 @@ export class CapsuleService {
|
|
|
77
83
|
return this.capsuleStore.setCapsuleArray(contractAddress, baseSlot, content, jobId, scope);
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
|
-
|
|
81
|
-
function assertAllowedScope(scope: AztecAddress, allowedScopes: AztecAddress[]) {
|
|
82
|
-
if (scope.equals(AztecAddress.ZERO)) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
if (!allowedScopes.some((allowed: AztecAddress) => allowed.equals(scope))) {
|
|
86
|
-
throw new Error(
|
|
87
|
-
`Scope ${scope.toString()} is not in the allowed scopes list: [${allowedScopes.map((s: AztecAddress) => s.toString()).join(', ')}]. See https://docs.aztec.network/errors/10`,
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
}
|