@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,5 +1,8 @@
|
|
|
1
1
|
import { BlockHeader } from '@aztec/stdlib/tx';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Holds the block header that PXE's private execution is anchored to. Updated by the BlockSynchronizer as the chain
|
|
4
|
+
* advances or reorgs.
|
|
5
|
+
*/ export class AnchorBlockStore {
|
|
3
6
|
#store;
|
|
4
7
|
#synchronizedHeader;
|
|
5
8
|
constructor(store){
|
|
@@ -7,12 +10,11 @@ export class AnchorBlockStore {
|
|
|
7
10
|
this.#synchronizedHeader = this.#store.openSingleton('header');
|
|
8
11
|
}
|
|
9
12
|
/**
|
|
10
|
-
* Sets the currently synchronized block
|
|
11
|
-
*
|
|
12
|
-
* Important: this method is only called from BlockSynchronizer, and since we need it to run atomically with other
|
|
13
|
-
* stores in the case of a reorg, it MUST NOT be wrapped in a `transactionAsync` call. Doing so would result in a
|
|
14
|
-
* deadlock when the backend is IndexedDB, because `transactionAsync` is not designed to support reentrancy.
|
|
13
|
+
* Sets the currently synchronized block header.
|
|
15
14
|
*
|
|
15
|
+
* Important: only called from BlockSynchronizer, and since it must run atomically with other stores in a reorg, it
|
|
16
|
+
* MUST NOT be wrapped in `transactionAsync`: doing so deadlocks when the kv-store backend is IndexedDB (no
|
|
17
|
+
* support for reentrancy).
|
|
16
18
|
*/ async setHeader(header) {
|
|
17
19
|
await this.#synchronizedHeader.set(header.toBuffer());
|
|
18
20
|
}
|
|
@@ -12,4 +12,4 @@ export type SchemaTest = {
|
|
|
12
12
|
snapshotStore: (kvStore: AztecAsyncKVStore) => Promise<Record<string, unknown>>;
|
|
13
13
|
};
|
|
14
14
|
export declare const SCHEMA_TESTS: readonly SchemaTest[];
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hX3Rlc3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmFnZS9iYWNrd2FyZHNfY29tcGF0aWJpbGl0eV90ZXN0cy9zY2hlbWFfdGVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQTBDekQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2QixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLGlCQUFpQixLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxhQUFhLEVBQUUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztDQUNqRixDQUFDO0FBRUYsZUFBTyxNQUFNLFlBQVksRUFBRSxTQUFTLFVBQVUsRUEybEI3QyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema_tests.d.ts","sourceRoot":"","sources":["../../../src/storage/backwards_compatibility_tests/schema_tests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema_tests.d.ts","sourceRoot":"","sources":["../../../src/storage/backwards_compatibility_tests/schema_tests.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA0CzD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EA2lB7C,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable camelcase */ import { CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
2
2
|
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
4
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
6
|
import { KeyStore } from '@aztec/key-store';
|
|
6
7
|
import { L2TipsKVStore } from '@aztec/kv-store/stores';
|
|
@@ -11,19 +12,21 @@ import { BlockHash, Body, GENESIS_BLOCK_HEADER_HASH, L2Block } from '@aztec/stdl
|
|
|
11
12
|
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
12
13
|
import { CompleteAddress, SerializableContractInstance } from '@aztec/stdlib/contract';
|
|
13
14
|
import { GasFees } from '@aztec/stdlib/gas';
|
|
14
|
-
import { PublicKey, PublicKeys } from '@aztec/stdlib/keys';
|
|
15
|
-
import { AppTaggingSecret, ContractClassLog, ContractClassLogFields, PrivateLog, PublicLog } from '@aztec/stdlib/logs';
|
|
15
|
+
import { PublicKey, PublicKeys, deriveKeys } from '@aztec/stdlib/keys';
|
|
16
|
+
import { AppTaggingSecret, AppTaggingSecretKind, ContractClassLog, ContractClassLogFields, PrivateLog, PublicLog } from '@aztec/stdlib/logs';
|
|
16
17
|
import { Note, NoteDao } from '@aztec/stdlib/note';
|
|
17
18
|
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
18
19
|
import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
19
20
|
import { BlockHeader, GlobalVariables, PartialStateReference, StateReference, TxEffect, TxHash } from '@aztec/stdlib/tx';
|
|
20
21
|
import { AddressStore } from '../address_store/address_store.js';
|
|
21
|
-
import { AnchorBlockStore } from '../anchor_block_store/
|
|
22
|
+
import { AnchorBlockStore } from '../anchor_block_store/index.js';
|
|
22
23
|
import { CapsuleStore } from '../capsule_store/capsule_store.js';
|
|
23
24
|
import { ContractStore } from '../contract_store/contract_store.js';
|
|
25
|
+
import { FactStore } from '../fact_store/fact_store.js';
|
|
26
|
+
import { FactCollectionKey } from '../fact_store/fact_store_keys.js';
|
|
24
27
|
import { NoteStore } from '../note_store/note_store.js';
|
|
25
28
|
import { PrivateEventStore } from '../private_event_store/private_event_store.js';
|
|
26
|
-
import { RecipientTaggingStore,
|
|
29
|
+
import { RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore } from '../tagging_store/index.js';
|
|
27
30
|
import { snapshotArray, snapshotMap, snapshotSingleton } from './kv_store_snapshot.js';
|
|
28
31
|
export const SCHEMA_TESTS = [
|
|
29
32
|
{
|
|
@@ -51,7 +54,7 @@ export const SCHEMA_TESTS = [
|
|
|
51
54
|
const anchorBlockStore = new AnchorBlockStore(kvStore);
|
|
52
55
|
// Each primitive field gets a distinct prime so any reorder shows up in the snapshot diff. An all-zero
|
|
53
56
|
// `BlockHeader.empty()` would silently pass through same-width field swaps.
|
|
54
|
-
await anchorBlockStore.setHeader(new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(2n), 3), new StateReference(new AppendOnlyTreeSnapshot(new Fr(5n), 7), new PartialStateReference(new AppendOnlyTreeSnapshot(new Fr(11n), 13), new AppendOnlyTreeSnapshot(new Fr(17n), 19), new AppendOnlyTreeSnapshot(new Fr(23n), 29))), new Fr(31n), new GlobalVariables(new Fr(37n), new Fr(41n), BlockNumber(43), SlotNumber(47), 53n, EthAddress.fromField(new Fr(59n)), AztecAddress.
|
|
57
|
+
await anchorBlockStore.setHeader(new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(2n), 3), new StateReference(new AppendOnlyTreeSnapshot(new Fr(5n), 7), new PartialStateReference(new AppendOnlyTreeSnapshot(new Fr(11n), 13), new AppendOnlyTreeSnapshot(new Fr(17n), 19), new AppendOnlyTreeSnapshot(new Fr(23n), 29))), new Fr(31n), new GlobalVariables(new Fr(37n), new Fr(41n), BlockNumber(43), SlotNumber(47), 53n, EthAddress.fromField(new Fr(59n)), AztecAddress.fromBigIntUnsafe(61n), new GasFees(67n, 71n)), new Fr(73n), new Fr(79n)));
|
|
55
58
|
},
|
|
56
59
|
snapshotStore: async (kvStore)=>({
|
|
57
60
|
header: await snapshotSingleton(kvStore.openSingleton('header'))
|
|
@@ -62,8 +65,8 @@ export const SCHEMA_TESTS = [
|
|
|
62
65
|
writeToStore: async (kvStore)=>{
|
|
63
66
|
const capsuleStore = new CapsuleStore(kvStore);
|
|
64
67
|
const jobId = 'fixture-job';
|
|
65
|
-
const contractAddress = AztecAddress.
|
|
66
|
-
const scope = AztecAddress.
|
|
68
|
+
const contractAddress = AztecAddress.fromBigIntUnsafe(2n);
|
|
69
|
+
const scope = AztecAddress.fromBigIntUnsafe(3n);
|
|
67
70
|
// Three setCapsule calls (2-element, 1-element, 0-element value vector) pin every value-encoding length case.
|
|
68
71
|
capsuleStore.setCapsule(contractAddress, new Fr(5n), [
|
|
69
72
|
new Fr(7n),
|
|
@@ -127,7 +130,7 @@ export const SCHEMA_TESTS = [
|
|
|
127
130
|
await contractStore.addContractInstance(new SerializableContractInstance({
|
|
128
131
|
version: 2,
|
|
129
132
|
salt: new Fr(73n),
|
|
130
|
-
deployer: AztecAddress.
|
|
133
|
+
deployer: AztecAddress.fromBigIntUnsafe(79n),
|
|
131
134
|
currentContractClassId: new Fr(83n),
|
|
132
135
|
originalContractClassId: new Fr(89n),
|
|
133
136
|
initializationHash: new Fr(97n),
|
|
@@ -136,7 +139,7 @@ export const SCHEMA_TESTS = [
|
|
|
136
139
|
// are exposed as `hash_public_key` digests. Constructor signature is
|
|
137
140
|
// `(npkMHash, ivpkM, ovpkMHash, tpkMHash, mspkMHash, fbpkMHash)`.
|
|
138
141
|
publicKeys: new PublicKeys(new Fr(41n), new PublicKey(new Fr(47n), new Fr(53n)), new Fr(59n), new Fr(67n), new Fr(71n), new Fr(73n))
|
|
139
|
-
}).withAddress(AztecAddress.
|
|
142
|
+
}).withAddress(AztecAddress.fromBigIntUnsafe(101n)));
|
|
140
143
|
},
|
|
141
144
|
snapshotStore: async (kvStore)=>({
|
|
142
145
|
contract_artifacts: await snapshotMap(kvStore.openMap('contract_artifacts')),
|
|
@@ -144,11 +147,54 @@ export const SCHEMA_TESTS = [
|
|
|
144
147
|
contracts_instances: await snapshotMap(kvStore.openMap('contracts_instances'))
|
|
145
148
|
})
|
|
146
149
|
},
|
|
150
|
+
{
|
|
151
|
+
name: 'FactStore',
|
|
152
|
+
writeToStore: async (kvStore)=>{
|
|
153
|
+
const factStore = new FactStore(kvStore);
|
|
154
|
+
const jobId = 'fixture-job';
|
|
155
|
+
const contract = AztecAddress.fromBigIntUnsafe(100n);
|
|
156
|
+
const scope = AztecAddress.fromBigIntUnsafe(1n);
|
|
157
|
+
const factCollectionTypeId = new Fr(7n);
|
|
158
|
+
const keyA = FactCollectionKey.from({
|
|
159
|
+
contractAddress: contract,
|
|
160
|
+
scope,
|
|
161
|
+
factCollectionTypeId,
|
|
162
|
+
factCollectionId: new Fr(0xaan)
|
|
163
|
+
});
|
|
164
|
+
const keyB = FactCollectionKey.from({
|
|
165
|
+
contractAddress: contract,
|
|
166
|
+
scope,
|
|
167
|
+
factCollectionTypeId,
|
|
168
|
+
factCollectionId: new Fr(0xbbn)
|
|
169
|
+
});
|
|
170
|
+
// A collection whose only fact is retractable (origin block 6): pruned on a reorg above block 6.
|
|
171
|
+
await factStore.recordFact(keyA, new Fr(3n), [
|
|
172
|
+
new Fr(5n)
|
|
173
|
+
], {
|
|
174
|
+
blockNumber: 6,
|
|
175
|
+
blockHash: new Fr(2n)
|
|
176
|
+
}, jobId);
|
|
177
|
+
// A collection with a non-retractable and a retractable fact.
|
|
178
|
+
await factStore.recordFact(keyB, new Fr(1n), [
|
|
179
|
+
new Fr(9n)
|
|
180
|
+
], undefined, jobId);
|
|
181
|
+
await factStore.recordFact(keyB, new Fr(2n), [], {
|
|
182
|
+
blockNumber: 5,
|
|
183
|
+
blockHash: new Fr(1n)
|
|
184
|
+
}, jobId);
|
|
185
|
+
await kvStore.transactionAsync(()=>factStore.commit(jobId));
|
|
186
|
+
},
|
|
187
|
+
snapshotStore: async (kvStore)=>({
|
|
188
|
+
facts: await snapshotMap(kvStore.openMap('facts')),
|
|
189
|
+
facts_by_collection: await snapshotMap(kvStore.openMultiMap('facts_by_collection')),
|
|
190
|
+
facts_by_block: await snapshotMap(kvStore.openMultiMap('facts_by_block'))
|
|
191
|
+
})
|
|
192
|
+
},
|
|
147
193
|
{
|
|
148
194
|
name: 'KeyStore',
|
|
149
195
|
writeToStore: async (kvStore)=>{
|
|
150
196
|
const keyStore = new KeyStore(kvStore);
|
|
151
|
-
await keyStore.addAccount(new Fr(2n), new Fr(3n));
|
|
197
|
+
await keyStore.addAccount(await deriveKeys(new Fr(2n)), new Fr(3n));
|
|
152
198
|
},
|
|
153
199
|
snapshotStore: async (kvStore)=>({
|
|
154
200
|
key_store: await snapshotMap(kvStore.openMap('key_store'))
|
|
@@ -159,12 +205,11 @@ export const SCHEMA_TESTS = [
|
|
|
159
205
|
writeToStore: async (kvStore)=>{
|
|
160
206
|
const l2TipsStore = new L2TipsKVStore(kvStore, 'pxe', GENESIS_BLOCK_HEADER_HASH);
|
|
161
207
|
const block = buildL2Block();
|
|
162
|
-
const publishedCheckpoint = new PublishedCheckpoint(new Checkpoint(new AppendOnlyTreeSnapshot(new Fr(2n), 3), new CheckpointHeader(new Fr(5n), new Fr(7n), new Fr(11n), new Fr(13n), new Fr(17n), SlotNumber(19), 23n, EthAddress.fromField(new Fr(29n)), AztecAddress.
|
|
208
|
+
const publishedCheckpoint = new PublishedCheckpoint(new Checkpoint(new AppendOnlyTreeSnapshot(new Fr(2n), 3), new CheckpointHeader(new Fr(5n), new Fr(7n), new Fr(11n), new Fr(13n), new Fr(17n), SlotNumber(19), 23n, EthAddress.fromField(new Fr(29n)), AztecAddress.fromBigIntUnsafe(31n), new GasFees(37n, 41n), new Fr(43n), new Fr(47n)), [
|
|
163
209
|
block
|
|
164
210
|
], CheckpointNumber(47), 53n), new L1PublishedData(59n, 61n, new Fr(67n).toString()), []);
|
|
165
211
|
// `'blocks-added'` writes to `pxe_l2_tips` (proposed tag) and `pxe_l2_block_hashes`.
|
|
166
|
-
// `'chain-checkpointed'` writes
|
|
167
|
-
// block-to-checkpoint mapping, and the checkpoint store.
|
|
212
|
+
// `'chain-checkpointed'` writes the 'checkpointed' tip and its checkpoint id (`pxe_l2_tip_checkpoints`).
|
|
168
213
|
await l2TipsStore.handleBlockStreamEvent({
|
|
169
214
|
type: 'blocks-added',
|
|
170
215
|
blocks: [
|
|
@@ -177,7 +222,10 @@ export const SCHEMA_TESTS = [
|
|
|
177
222
|
number: BlockNumber(71),
|
|
178
223
|
hash: new Fr(73n).toString()
|
|
179
224
|
},
|
|
180
|
-
checkpoint:
|
|
225
|
+
checkpoint: {
|
|
226
|
+
number: publishedCheckpoint.checkpoint.number,
|
|
227
|
+
hash: publishedCheckpoint.checkpoint.hash().toString()
|
|
228
|
+
}
|
|
181
229
|
});
|
|
182
230
|
// `'chain-proven'` writes the 'proven' tag. `'finalized'` is omitted because its handler runs delete-before
|
|
183
231
|
// logic that would depend on the order of preceding events.
|
|
@@ -186,14 +234,17 @@ export const SCHEMA_TESTS = [
|
|
|
186
234
|
block: {
|
|
187
235
|
number: BlockNumber(79),
|
|
188
236
|
hash: new Fr(83n).toString()
|
|
237
|
+
},
|
|
238
|
+
checkpoint: {
|
|
239
|
+
number: CheckpointNumber(47),
|
|
240
|
+
hash: new Fr(89n).toString()
|
|
189
241
|
}
|
|
190
242
|
});
|
|
191
243
|
},
|
|
192
244
|
snapshotStore: async (kvStore)=>({
|
|
193
245
|
pxe_l2_tips: await snapshotMap(kvStore.openMap('pxe_l2_tips')),
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
pxe_l2_checkpoint_store: await snapshotMap(kvStore.openMap('pxe_l2_checkpoint_store'))
|
|
246
|
+
pxe_l2_tip_checkpoints: await snapshotMap(kvStore.openMap('pxe_l2_tip_checkpoints')),
|
|
247
|
+
pxe_l2_block_hashes: await snapshotMap(kvStore.openMap('pxe_l2_block_hashes'))
|
|
197
248
|
})
|
|
198
249
|
},
|
|
199
250
|
{
|
|
@@ -203,30 +254,30 @@ export const SCHEMA_TESTS = [
|
|
|
203
254
|
const jobId = 'fixture-job';
|
|
204
255
|
// Two contracts so `note_nullifiers_by_contract` exhibits both a multi-value row (contractA → {n1, n2}) and a
|
|
205
256
|
// single-value row (contractB → {n3}).
|
|
206
|
-
const contractA = AztecAddress.
|
|
207
|
-
const contractB = AztecAddress.
|
|
208
|
-
const scopeX = AztecAddress.
|
|
209
|
-
const scopeY = AztecAddress.
|
|
257
|
+
const contractA = AztecAddress.fromBigIntUnsafe(2n);
|
|
258
|
+
const contractB = AztecAddress.fromBigIntUnsafe(3n);
|
|
259
|
+
const scopeX = AztecAddress.fromBigIntUnsafe(5n);
|
|
260
|
+
const scopeY = AztecAddress.fromBigIntUnsafe(7n);
|
|
210
261
|
// note1: active, will be added under two scopes to exercise the multi-element scopes vector encoding in
|
|
211
262
|
// `StoredNote.toBuffer`.
|
|
212
263
|
const note1 = new NoteDao(new Note([
|
|
213
264
|
new Fr(13n),
|
|
214
265
|
new Fr(17n),
|
|
215
266
|
new Fr(19n)
|
|
216
|
-
]), contractA, AztecAddress.
|
|
267
|
+
]), contractA, AztecAddress.fromBigIntUnsafe(23n), new Fr(29n), new Fr(31n), new Fr(37n), new Fr(41n), new Fr(43n), TxHash.fromField(new Fr(47n)), BlockNumber(53), new Fr(59n).toString(), 61, 67);
|
|
217
268
|
// note2: same contract as note1 → produces the multi-value row in `note_nullifiers_by_contract`.
|
|
218
269
|
const note2 = new NoteDao(new Note([
|
|
219
270
|
new Fr(71n),
|
|
220
271
|
new Fr(73n),
|
|
221
272
|
new Fr(79n)
|
|
222
|
-
]), contractA, AztecAddress.
|
|
223
|
-
// note3: different contract; will be nullified to populate `
|
|
224
|
-
//
|
|
273
|
+
]), contractA, AztecAddress.fromBigIntUnsafe(83n), new Fr(89n), new Fr(97n), new Fr(101n), new Fr(103n), new Fr(107n), TxHash.fromField(new Fr(109n)), BlockNumber(113), new Fr(127n).toString(), 131, 137);
|
|
274
|
+
// note3: different contract; will be nullified to populate `note_nullifications_by_nullifier` and exercise the
|
|
275
|
+
// append-only nullification record written by `applyNullifiers`.
|
|
225
276
|
const note3 = new NoteDao(new Note([
|
|
226
277
|
new Fr(139n),
|
|
227
278
|
new Fr(149n),
|
|
228
279
|
new Fr(151n)
|
|
229
|
-
]), contractB, AztecAddress.
|
|
280
|
+
]), contractB, AztecAddress.fromBigIntUnsafe(157n), new Fr(163n), new Fr(167n), new Fr(173n), new Fr(179n), new Fr(181n), TxHash.fromField(new Fr(191n)), BlockNumber(193), new Fr(197n).toString(), 199, 211);
|
|
230
281
|
// Adding note1 twice with different scopes triggers `addScope` on the staged StoredNote, producing a 2-element
|
|
231
282
|
// scope vector in the committed buffer.
|
|
232
283
|
await noteStore.addNotes([
|
|
@@ -241,9 +292,8 @@ export const SCHEMA_TESTS = [
|
|
|
241
292
|
await noteStore.addNotes([
|
|
242
293
|
note3
|
|
243
294
|
], scopeX, jobId);
|
|
244
|
-
// Nullify note3 within the same job. `applyNullifiers`
|
|
245
|
-
//
|
|
246
|
-
// corresponding `note_block_number_to_nullifier` entry.
|
|
295
|
+
// Nullify note3 within the same job. `applyNullifiers` stages the emission block number for the note; `commit`
|
|
296
|
+
// then flushes it to disk into `note_nullifications_by_nullifier`.
|
|
247
297
|
await noteStore.applyNullifiers([
|
|
248
298
|
{
|
|
249
299
|
data: note3.siloedNullifier,
|
|
@@ -256,7 +306,9 @@ export const SCHEMA_TESTS = [
|
|
|
256
306
|
snapshotStore: async (kvStore)=>({
|
|
257
307
|
notes: await snapshotMap(kvStore.openMap('notes')),
|
|
258
308
|
note_nullifiers_by_contract: await snapshotMap(kvStore.openMultiMap('note_nullifiers_by_contract')),
|
|
259
|
-
|
|
309
|
+
note_nullifications_by_nullifier: await snapshotMap(kvStore.openMap('note_nullifications_by_nullifier')),
|
|
310
|
+
note_nullifiers_by_block: await snapshotMap(kvStore.openMultiMap('note_nullifiers_by_block')),
|
|
311
|
+
note_nullifications_by_block: await snapshotMap(kvStore.openMultiMap('note_nullifications_by_block'))
|
|
260
312
|
})
|
|
261
313
|
},
|
|
262
314
|
{
|
|
@@ -266,12 +318,12 @@ export const SCHEMA_TESTS = [
|
|
|
266
318
|
const jobId = 'fixture-job';
|
|
267
319
|
// Two (contract, selector) pairs and two block numbers so each multimap exhibits both a multi-value row
|
|
268
320
|
// (contractA/selectorA → {e1, e2} and blockN1 → {e1, e2}) and a contrasting single-value row.
|
|
269
|
-
const contractA = AztecAddress.
|
|
270
|
-
const contractB = AztecAddress.
|
|
321
|
+
const contractA = AztecAddress.fromBigIntUnsafe(2n);
|
|
322
|
+
const contractB = AztecAddress.fromBigIntUnsafe(3n);
|
|
271
323
|
const selectorA = EventSelector.fromField(new Fr(5n));
|
|
272
324
|
const selectorB = EventSelector.fromField(new Fr(7n));
|
|
273
|
-
const scopeX = AztecAddress.
|
|
274
|
-
const scopeY = AztecAddress.
|
|
325
|
+
const scopeX = AztecAddress.fromBigIntUnsafe(11n);
|
|
326
|
+
const scopeY = AztecAddress.fromBigIntUnsafe(13n);
|
|
275
327
|
const blockN1 = BlockNumber(17);
|
|
276
328
|
const blockN2 = BlockNumber(19);
|
|
277
329
|
// event1: rich fixture. Re-stored under scopeY below to exercise the `addScope` branch and produce a 2-element
|
|
@@ -345,11 +397,15 @@ export const SCHEMA_TESTS = [
|
|
|
345
397
|
writeToStore: async (kvStore)=>{
|
|
346
398
|
const recipientTaggingStore = new RecipientTaggingStore(kvStore);
|
|
347
399
|
const jobId = 'fixture-job';
|
|
348
|
-
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.
|
|
349
|
-
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.
|
|
400
|
+
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.fromBigIntUnsafe(3n));
|
|
401
|
+
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.fromBigIntUnsafe(7n));
|
|
402
|
+
// A constrained secret keys under the `constrained:` prefix, so the snapshot pins both kinds side by side.
|
|
403
|
+
const secretConstrained = new AppTaggingSecret(new Fr(19n), AztecAddress.fromBigIntUnsafe(23n), AppTaggingSecretKind.CONSTRAINED);
|
|
350
404
|
await recipientTaggingStore.updateHighestFinalizedIndex(secretA, 11, jobId);
|
|
351
405
|
await recipientTaggingStore.updateHighestAgedIndex(secretA, 13, jobId);
|
|
352
406
|
await recipientTaggingStore.updateHighestFinalizedIndex(secretB, 17, jobId);
|
|
407
|
+
await recipientTaggingStore.updateHighestFinalizedIndex(secretConstrained, 11, jobId);
|
|
408
|
+
await recipientTaggingStore.updateHighestAgedIndex(secretConstrained, 13, jobId);
|
|
353
409
|
await kvStore.transactionAsync(()=>recipientTaggingStore.commit(jobId));
|
|
354
410
|
},
|
|
355
411
|
snapshotStore: async (kvStore)=>({
|
|
@@ -358,15 +414,19 @@ export const SCHEMA_TESTS = [
|
|
|
358
414
|
})
|
|
359
415
|
},
|
|
360
416
|
{
|
|
361
|
-
name: '
|
|
417
|
+
name: 'TaggingSecretSourcesStore',
|
|
362
418
|
writeToStore: async (kvStore)=>{
|
|
363
|
-
const
|
|
364
|
-
await
|
|
365
|
-
await
|
|
366
|
-
await
|
|
419
|
+
const taggingSecretSourcesStore = new TaggingSecretSourcesStore(kvStore);
|
|
420
|
+
await taggingSecretSourcesStore.addSender(AztecAddress.fromBigIntUnsafe(2n));
|
|
421
|
+
await taggingSecretSourcesStore.addSender(AztecAddress.fromBigIntUnsafe(3n));
|
|
422
|
+
await taggingSecretSourcesStore.addSender(AztecAddress.fromBigIntUnsafe(5n));
|
|
423
|
+
await taggingSecretSourcesStore.addSharedSecret(AztecAddress.fromBigIntUnsafe(7n), 'arbitrary-secret', new Point(new Fr(2n), new Fr(3n)));
|
|
424
|
+
await taggingSecretSourcesStore.addSharedSecret(AztecAddress.fromBigIntUnsafe(7n), 'handshake', new Point(new Fr(5n), new Fr(7n)));
|
|
425
|
+
await taggingSecretSourcesStore.addSharedSecret(AztecAddress.fromBigIntUnsafe(11n), 'arbitrary-secret', new Point(new Fr(13n), new Fr(17n)));
|
|
367
426
|
},
|
|
368
427
|
snapshotStore: async (kvStore)=>({
|
|
369
|
-
|
|
428
|
+
senders: await snapshotMap(kvStore.openMap('senders')),
|
|
429
|
+
recipient_shared_secrets: await snapshotMap(kvStore.openMultiMap('recipient_shared_secrets'))
|
|
370
430
|
})
|
|
371
431
|
},
|
|
372
432
|
{
|
|
@@ -374,13 +434,16 @@ export const SCHEMA_TESTS = [
|
|
|
374
434
|
writeToStore: async (kvStore)=>{
|
|
375
435
|
const senderTaggingStore = new SenderTaggingStore(kvStore);
|
|
376
436
|
const jobId = 'fixture-job';
|
|
377
|
-
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.
|
|
378
|
-
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.
|
|
379
|
-
const secretC = new AppTaggingSecret(new Fr(11n), AztecAddress.
|
|
437
|
+
const secretA = new AppTaggingSecret(new Fr(2n), AztecAddress.fromBigIntUnsafe(3n));
|
|
438
|
+
const secretB = new AppTaggingSecret(new Fr(5n), AztecAddress.fromBigIntUnsafe(7n));
|
|
439
|
+
const secretC = new AppTaggingSecret(new Fr(11n), AztecAddress.fromBigIntUnsafe(13n));
|
|
440
|
+
const secretConstrained = new AppTaggingSecret(new Fr(19n), AztecAddress.fromBigIntUnsafe(23n), AppTaggingSecretKind.CONSTRAINED);
|
|
380
441
|
const txHashA = TxHash.fromBigInt(17n);
|
|
381
442
|
const txHashB = TxHash.fromBigInt(19n);
|
|
382
443
|
const txHashC = TxHash.fromBigInt(23n);
|
|
383
444
|
const txHashD = TxHash.fromBigInt(29n);
|
|
445
|
+
const txHashE = TxHash.fromBigInt(31n);
|
|
446
|
+
const txHashF = TxHash.fromBigInt(37n);
|
|
384
447
|
// secretA receives three pending ranges (one per tx); secretB receives one. After finalizing txHashA below,
|
|
385
448
|
// secretA's array shrinks to two elements (the txHashB and txHashC ranges, both with highestIndex > 3) which
|
|
386
449
|
// pins the multi-element JSON encoding of `pending_indexes`.
|
|
@@ -429,8 +492,25 @@ export const SCHEMA_TESTS = [
|
|
|
429
492
|
highestIndex: 9
|
|
430
493
|
}
|
|
431
494
|
], txHashD, jobId);
|
|
495
|
+
// secretConstrained gets a finalized range (txHashE) plus a surviving higher pending range (txHashF), so the
|
|
496
|
+
// `constrained:` key lands in both pending_indexes and last_finalized_indexes.
|
|
497
|
+
await senderTaggingStore.storePendingIndexes([
|
|
498
|
+
{
|
|
499
|
+
extendedSecret: secretConstrained,
|
|
500
|
+
lowestIndex: 1,
|
|
501
|
+
highestIndex: 3
|
|
502
|
+
}
|
|
503
|
+
], txHashE, jobId);
|
|
504
|
+
await senderTaggingStore.storePendingIndexes([
|
|
505
|
+
{
|
|
506
|
+
extendedSecret: secretConstrained,
|
|
507
|
+
lowestIndex: 4,
|
|
508
|
+
highestIndex: 7
|
|
509
|
+
}
|
|
510
|
+
], txHashF, jobId);
|
|
432
511
|
await senderTaggingStore.finalizePendingIndexes([
|
|
433
|
-
txHashA
|
|
512
|
+
txHashA,
|
|
513
|
+
txHashE
|
|
434
514
|
], jobId);
|
|
435
515
|
await kvStore.transactionAsync(()=>senderTaggingStore.commit(jobId));
|
|
436
516
|
},
|
|
@@ -459,7 +539,7 @@ export const SCHEMA_TESTS = [
|
|
|
459
539
|
* We use distinct values to make a snapshot diff sensitive to regressions of specific fields, and same-width reorders.
|
|
460
540
|
*/ function buildL2Block() {
|
|
461
541
|
const archive = new AppendOnlyTreeSnapshot(new Fr(101n), 103);
|
|
462
|
-
const header = new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(107n), 109), new StateReference(new AppendOnlyTreeSnapshot(new Fr(113n), 127), new PartialStateReference(new AppendOnlyTreeSnapshot(new Fr(131n), 137), new AppendOnlyTreeSnapshot(new Fr(139n), 149), new AppendOnlyTreeSnapshot(new Fr(151n), 157))), new Fr(163n), new GlobalVariables(new Fr(167n), new Fr(173n), BlockNumber(179), SlotNumber(181), 191n, EthAddress.fromField(new Fr(193n)), AztecAddress.
|
|
542
|
+
const header = new BlockHeader(new AppendOnlyTreeSnapshot(new Fr(107n), 109), new StateReference(new AppendOnlyTreeSnapshot(new Fr(113n), 127), new PartialStateReference(new AppendOnlyTreeSnapshot(new Fr(131n), 137), new AppendOnlyTreeSnapshot(new Fr(139n), 149), new AppendOnlyTreeSnapshot(new Fr(151n), 157))), new Fr(163n), new GlobalVariables(new Fr(167n), new Fr(173n), BlockNumber(179), SlotNumber(181), 191n, EthAddress.fromField(new Fr(193n)), AztecAddress.fromBigIntUnsafe(197n), new GasFees(199n, 211n)), new Fr(223n), new Fr(227n));
|
|
463
543
|
const txEffect = new TxEffect(RevertCode.REVERTED, TxHash.fromBigInt(229n), new Fr(233n), [
|
|
464
544
|
new Fr(239n)
|
|
465
545
|
], [
|
|
@@ -475,12 +555,12 @@ export const SCHEMA_TESTS = [
|
|
|
475
555
|
277n
|
|
476
556
|
], PRIVATE_LOG_SIZE_IN_FIELDS), 3)
|
|
477
557
|
], [
|
|
478
|
-
new PublicLog(AztecAddress.
|
|
558
|
+
new PublicLog(AztecAddress.fromBigIntUnsafe(281n), [
|
|
479
559
|
new Fr(283n),
|
|
480
560
|
new Fr(293n)
|
|
481
561
|
])
|
|
482
562
|
], [
|
|
483
|
-
new ContractClassLog(AztecAddress.
|
|
563
|
+
new ContractClassLog(AztecAddress.fromBigIntUnsafe(307n), new ContractClassLogFields(paddedFrs([
|
|
484
564
|
311n,
|
|
485
565
|
313n,
|
|
486
566
|
317n
|
|
@@ -18,4 +18,4 @@ export declare class CapsuleService {
|
|
|
18
18
|
readCapsuleArray(contractAddress: AztecAddress, baseSlot: Fr, jobId: string, scope: AztecAddress): Promise<Fr[][]>;
|
|
19
19
|
setCapsuleArray(contractAddress: AztecAddress, baseSlot: Fr, content: Fr[][], jobId: string, scope: AztecAddress): Promise<void>;
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZV9zZXJ2aWNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmFnZS9jYXBzdWxlX3N0b3JlL2NhcHN1bGVfc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHaEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsY0FBYztJQUl2QixPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFIL0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQWlCO0lBRS9DLFlBQ21CLFlBQVksRUFBRSxZQUFZLEVBQzNDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFJOUI7SUFFRCxVQUFVLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLFFBR3BHO0lBRUssVUFBVSxDQUNkLGVBQWUsRUFBRSxZQUFZLEVBQzdCLElBQUksRUFBRSxFQUFFLEVBQ1IsS0FBSyxFQUFFLE1BQU0sRUFDYixLQUFLLEVBQUUsWUFBWSxFQUNuQixpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUM1QixPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBWXRCO0lBRUQsYUFBYSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLFFBR3hGO0lBRUQsV0FBVyxDQUNULGVBQWUsRUFBRSxZQUFZLEVBQzdCLE9BQU8sRUFBRSxFQUFFLEVBQ1gsT0FBTyxFQUFFLEVBQUUsRUFDWCxVQUFVLEVBQUUsTUFBTSxFQUNsQixLQUFLLEVBQUUsTUFBTSxFQUNiLEtBQUssRUFBRSxZQUFZLEdBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHZjtJQUVELG9CQUFvQixDQUNsQixlQUFlLEVBQUUsWUFBWSxFQUM3QixRQUFRLEVBQUUsRUFBRSxFQUNaLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUNmLEtBQUssRUFBRSxNQUFNLEVBQ2IsS0FBSyxFQUFFLFlBQVksR0FDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdmO0lBRUQsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUdqSDtJQUVELGVBQWUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxpQkFHL0c7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capsule_service.d.ts","sourceRoot":"","sources":["../../../src/storage/capsule_store/capsule_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"capsule_service.d.ts","sourceRoot":"","sources":["../../../src/storage/capsule_store/capsule_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAH/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,YACmB,YAAY,EAAE,YAAY,EAC3C,aAAa,EAAE,YAAY,EAAE,EAI9B;IAED,UAAU,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,QAGpG;IAEK,UAAU,CACd,eAAe,EAAE,YAAY,EAC7B,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EACnB,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAC5B,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAYtB;IAED,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,QAGxF;IAED,WAAW,CACT,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAGf;IAED,oBAAoB,CAClB,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,EAAE,EAAE,EAAE,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAGf;IAED,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAGjH;IAED,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,iBAG/G;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
+
import { assertAllowedScope } from '../allowed_scopes.js';
|
|
2
3
|
/**
|
|
3
4
|
* Wraps a CapsuleStore with scope-based access control. Each operation asserts that the requested scope is in the
|
|
4
5
|
* allowed scopes list before delegating to the underlying store.
|
|
@@ -7,7 +8,11 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
|
7
8
|
allowedScopes;
|
|
8
9
|
constructor(capsuleStore, allowedScopes){
|
|
9
10
|
this.capsuleStore = capsuleStore;
|
|
10
|
-
|
|
11
|
+
// The zero address denotes the global capsule scope, which is always permitted.
|
|
12
|
+
this.allowedScopes = [
|
|
13
|
+
...allowedScopes,
|
|
14
|
+
AztecAddress.ZERO
|
|
15
|
+
];
|
|
11
16
|
}
|
|
12
17
|
setCapsule(contractAddress, slot, capsule, jobId, scope) {
|
|
13
18
|
assertAllowedScope(scope, this.allowedScopes);
|
|
@@ -40,11 +45,3 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
|
40
45
|
return this.capsuleStore.setCapsuleArray(contractAddress, baseSlot, content, jobId, scope);
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
|
-
function assertAllowedScope(scope, allowedScopes) {
|
|
44
|
-
if (scope.equals(AztecAddress.ZERO)) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (!allowedScopes.some((allowed)=>allowed.equals(scope))) {
|
|
48
|
-
throw new Error(`Scope ${scope.toString()} is not in the allowed scopes list: [${allowedScopes.map((s)=>s.toString()).join(', ')}]. See https://docs.aztec.network/errors/10`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
@@ -3,9 +3,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
4
|
import type { MembershipWitness } from '@aztec/foundation/trees';
|
|
5
5
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
6
|
-
import { type ContractArtifact, type
|
|
6
|
+
import { type ContractArtifact, type FunctionArtifactWithContractName, FunctionCall, type FunctionDebugMetadata, FunctionSelector } from '@aztec/stdlib/abi';
|
|
7
7
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
|
-
import { type ContractClassIdPreimage, type ContractClassWithId, type
|
|
8
|
+
import { type ContractClassIdPreimage, type ContractClassWithId, type ContractInstancePreimageWithAddress } from '@aztec/stdlib/contract';
|
|
9
9
|
/**
|
|
10
10
|
* All contract class data except the large packedBytecode.
|
|
11
11
|
* The expensive data from the ContractClass is precomputed and stored in this format to avoid redundant hashing.
|
|
@@ -44,40 +44,43 @@ export declare class ContractStore {
|
|
|
44
44
|
constructor(store: AztecAsyncKVStore);
|
|
45
45
|
/**
|
|
46
46
|
* Registers a new contract artifact and its corresponding class data.
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
*
|
|
48
|
+
* IMPORTANT: This method does not verify that the provided artifact matches the class data or that the class id
|
|
49
|
+
* matches the artifact. It is the caller's responsibility to ensure the consistency and correctness of the provided
|
|
50
|
+
* data. This is done to avoid redundant, expensive contract class computations.
|
|
50
51
|
*/
|
|
51
52
|
addContractArtifact(contract: ContractArtifact, contractClassWithIdAndPreimage?: ContractClassWithId & ContractClassIdPreimage): Promise<Fr>;
|
|
52
|
-
addContractInstance(contract:
|
|
53
|
+
addContractInstance(contract: ContractInstancePreimageWithAddress): Promise<void>;
|
|
53
54
|
getContractsAddresses(): Promise<AztecAddress[]>;
|
|
54
|
-
/** Returns
|
|
55
|
-
getContractInstance(contractAddress: AztecAddress): Promise<
|
|
55
|
+
/** Returns the address preimage of a given address. */
|
|
56
|
+
getContractInstance(contractAddress: AztecAddress): Promise<ContractInstancePreimageWithAddress | undefined>;
|
|
56
57
|
/** Returns the raw contract artifact for a given class id. */
|
|
57
58
|
getContractArtifact(contractClassId: Fr): Promise<ContractArtifact | undefined>;
|
|
58
59
|
/** Returns a contract class for a given class id. */
|
|
59
60
|
getContractClassWithPreimage(contractClassId: Fr): Promise<(ContractClassWithId & ContractClassIdPreimage) | undefined>;
|
|
60
|
-
getContract(address: AztecAddress): Promise<(ContractInstanceWithAddress & ContractArtifact) | undefined>;
|
|
61
61
|
/**
|
|
62
|
-
* Retrieves the artifact of a specified function within a given contract.
|
|
62
|
+
* Retrieves the artifact of a specified function within a given contract class.
|
|
63
63
|
*
|
|
64
|
-
* @param
|
|
64
|
+
* @param contractClassId - The id of the contract class containing the function.
|
|
65
65
|
* @param selector - The function selector.
|
|
66
|
-
* @returns The corresponding function's artifact as an object.
|
|
66
|
+
* @returns The corresponding function's artifact as an object, or `undefined` if the class is not registered.
|
|
67
|
+
*/
|
|
68
|
+
getFunctionArtifact(contractClassId: Fr, selector: FunctionSelector): Promise<FunctionArtifactWithContractName | undefined>;
|
|
69
|
+
/**
|
|
70
|
+
* Same as {@link getFunctionArtifact} but with debug metadata attached. Returns `undefined` when the class artifact
|
|
71
|
+
* is not registered.
|
|
67
72
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
getPublicFunctionArtifact(contractAddress: AztecAddress): Promise<FunctionArtifactWithContractName | undefined>;
|
|
71
|
-
getFunctionAbi(contractAddress: AztecAddress, selector: FunctionSelector): Promise<FunctionAbi | undefined>;
|
|
73
|
+
getFunctionArtifactWithDebugMetadata(contractClassId: Fr, selector: FunctionSelector): Promise<FunctionArtifactWithContractName | undefined>;
|
|
74
|
+
getPublicFunctionArtifact(contractClassId: Fr): Promise<FunctionArtifactWithContractName | undefined>;
|
|
72
75
|
/**
|
|
73
|
-
* Retrieves the debug metadata of a specified function within a given contract.
|
|
76
|
+
* Retrieves the debug metadata of a specified function within a given contract class.
|
|
74
77
|
*
|
|
75
|
-
* @param
|
|
78
|
+
* @param contractClassId - The id of the contract class containing the function.
|
|
76
79
|
* @param selector - The function selector.
|
|
77
80
|
* @returns The corresponding function's debug metadata, or undefined.
|
|
78
81
|
*/
|
|
79
|
-
getFunctionDebugMetadata(
|
|
80
|
-
getPublicFunctionDebugMetadata(
|
|
82
|
+
getFunctionDebugMetadata(contractClassId: Fr, selector: FunctionSelector): Promise<FunctionDebugMetadata | undefined>;
|
|
83
|
+
getPublicFunctionDebugMetadata(contractClassId: Fr): Promise<FunctionDebugMetadata | undefined>;
|
|
81
84
|
/**
|
|
82
85
|
* Retrieve the function membership witness for the given contract class and function selector.
|
|
83
86
|
*
|
|
@@ -86,8 +89,8 @@ export declare class ContractStore {
|
|
|
86
89
|
* @returns A promise that resolves with the MembershipWitness instance for the specified contract's function.
|
|
87
90
|
*/
|
|
88
91
|
getFunctionMembershipWitness(contractClassId: Fr, selector: FunctionSelector): Promise<MembershipWitness<typeof FUNCTION_TREE_HEIGHT> | undefined>;
|
|
89
|
-
getDebugContractName(
|
|
90
|
-
getDebugFunctionName(
|
|
91
|
-
getFunctionCall(functionName: string, args: any[], to: AztecAddress): Promise<FunctionCall>;
|
|
92
|
+
getDebugContractName(contractClassId: Fr): Promise<string | undefined>;
|
|
93
|
+
getDebugFunctionName(contractClassId: Fr, selector: FunctionSelector): Promise<string>;
|
|
94
|
+
getFunctionCall(functionName: string, args: any[], to: AztecAddress, contractClassId: Fr): Promise<FunctionCall>;
|
|
92
95
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3Rfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL2NvbnRyYWN0X3N0b3JlL2NvbnRyYWN0X3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQWlDLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQ0FBZ0MsRUFDckMsWUFBWSxFQUNaLEtBQUsscUJBQXFCLEVBQzFCLGdCQUFnQixFQVFqQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxtQ0FBbUMsRUFHekMsTUFBTSx3QkFBd0IsQ0FBQztBQU1oQzs7Ozs7R0FLRztBQUNILHFCQUFhLDZCQUE2QjtJQUN4QyxTQUFnQixPQUFPLElBQVc7SUFDbEMsU0FBZ0IsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUN2QixTQUFnQixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ2pDLFNBQWdCLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztJQUN6QyxTQUFnQix3QkFBd0IsRUFBRSxFQUFFLENBQUM7SUFDN0MsU0FBZ0IsZ0JBQWdCLEVBQUU7UUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7UUFBQyxNQUFNLEVBQUUsRUFBRSxDQUFBO0tBQUUsRUFBRSxD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_store.d.ts","sourceRoot":"","sources":["../../../src/storage/contract_store/contract_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAiC,MAAM,6BAA6B,CAAC;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,
|
|
1
|
+
{"version":3,"file":"contract_store.d.ts","sourceRoot":"","sources":["../../../src/storage/contract_store/contract_store.ts"],"names":[],"mappings":"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"}
|