@aztec/pxe 0.0.1-commit.b2a5d0dd1 → 0.0.1-commit.b3d3157a
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 +40 -96
- package/dest/bin/index.d.ts +2 -0
- package/dest/bin/index.d.ts.map +1 -0
- package/dest/bin/index.js +1 -0
- package/dest/bin/oracle_version_helpers.d.ts +26 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +93 -0
- package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
- package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
- package/dest/block_synchronizer/block_stream_source.js +62 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +1 -1
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +11 -9
- package/dest/config/index.d.ts +7 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +5 -0
- package/dest/config/package_info.js +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +4 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +17 -7
- package/dest/contract_function_simulator/execution_note_cache.d.ts +2 -2
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
- package/dest/contract_function_simulator/index.d.ts +13 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +10 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +48 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.js +45 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -2
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +3 -2
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +12 -2
- 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 +34 -3
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -2
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +3 -2
- package/dest/contract_function_simulator/noir-structs/option.d.ts +61 -0
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/option.js +62 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.js +24 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +16 -114
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
- package/dest/contract_function_simulator/oracle/oracle.d.ts +55 -57
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +343 -344
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +127 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +786 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +139 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +560 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +26 -29
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +49 -46
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +59 -39
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +244 -149
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +35 -67
- package/dest/contract_sync/contract_sync_service.d.ts +4 -6
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
- package/dest/contract_sync/contract_sync_service.js +43 -24
- package/dest/contract_sync/helpers.d.ts +2 -3
- package/dest/contract_sync/helpers.d.ts.map +1 -1
- package/dest/contract_sync/helpers.js +12 -19
- package/dest/debug/pxe_debug_utils.d.ts +1 -6
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +0 -6
- 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 +11 -3
- 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 +11 -3
- package/dest/entrypoints/pxe_creation_options.d.ts +7 -1
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +2 -1
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +1 -0
- package/dest/entrypoints/server/utils.d.ts +3 -2
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +11 -3
- package/dest/events/event_service.d.ts +13 -5
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +20 -8
- package/dest/hooks/authorize_utility_call.d.ts +41 -0
- package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
- package/dest/hooks/authorize_utility_call.js +4 -0
- package/dest/hooks/execution_hooks.d.ts +42 -0
- package/dest/hooks/execution_hooks.d.ts.map +1 -0
- package/dest/hooks/execution_hooks.js +9 -0
- package/dest/hooks/index.d.ts +4 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +1 -0
- package/dest/logs/log_service.d.ts +6 -5
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +112 -48
- package/dest/messages/message_context_service.d.ts +1 -1
- package/dest/messages/message_context_service.d.ts.map +1 -1
- package/dest/messages/message_context_service.js +28 -9
- package/dest/notes/note_service.d.ts +25 -3
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +80 -65
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.js +4 -4
- package/dest/private_kernel/batch_planner.d.ts +47 -0
- package/dest/private_kernel/batch_planner.d.ts.map +1 -0
- package/dest/private_kernel/batch_planner.js +104 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +1 -1
- package/dest/private_kernel/hints/test_utils.d.ts +1 -1
- package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
- package/dest/private_kernel/hints/test_utils.js +2 -3
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +148 -52
- package/dest/private_kernel/private_kernel_oracle.d.ts +6 -6
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +12 -7
- package/dest/pxe.d.ts +52 -6
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +115 -77
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +591 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
- package/dest/storage/contract_store/contract_store.d.ts +1 -1
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +5 -24
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/open_pxe_stores.d.ts +33 -0
- package/dest/storage/open_pxe_stores.d.ts.map +1 -0
- package/dest/storage/open_pxe_stores.js +27 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +3 -3
- package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/get_all_logs_by_tags.js +36 -37
- package/dest/tagging/index.d.ts +5 -4
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +4 -3
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +56 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +163 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -5
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
- 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 +2 -2
- package/package.json +20 -17
- package/src/bin/check_oracle_version.ts +46 -119
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +121 -0
- package/src/block_synchronizer/block_stream_source.ts +81 -0
- package/src/block_synchronizer/block_synchronizer.ts +11 -9
- package/src/config/index.ts +12 -0
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +31 -6
- package/src/contract_function_simulator/execution_note_cache.ts +1 -1
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
- package/src/contract_function_simulator/index.ts +50 -1
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +55 -0
- package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +3 -2
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +35 -2
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +3 -2
- package/src/contract_function_simulator/noir-structs/option.ts +69 -0
- package/src/contract_function_simulator/noir-structs/provided_secret.ts +27 -0
- package/src/contract_function_simulator/oracle/interfaces.ts +12 -204
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
- package/src/contract_function_simulator/oracle/oracle.ts +406 -556
- package/src/contract_function_simulator/oracle/oracle_registry.ts +585 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +553 -0
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +66 -66
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +350 -304
- package/src/contract_function_simulator/proxied_contract_data_source.ts +40 -70
- package/src/contract_sync/contract_sync_service.ts +56 -43
- package/src/contract_sync/helpers.ts +11 -23
- package/src/debug/pxe_debug_utils.ts +0 -8
- package/src/entrypoints/client/bundle/utils.ts +8 -2
- package/src/entrypoints/client/lazy/utils.ts +8 -2
- package/src/entrypoints/pxe_creation_options.ts +7 -0
- package/src/entrypoints/server/index.ts +1 -0
- package/src/entrypoints/server/utils.ts +13 -3
- package/src/events/event_service.ts +41 -18
- package/src/hooks/authorize_utility_call.ts +44 -0
- package/src/hooks/execution_hooks.ts +48 -0
- package/src/hooks/index.ts +7 -0
- package/src/logs/log_service.ts +137 -92
- package/src/messages/message_context_service.ts +42 -24
- package/src/notes/note_service.ts +115 -91
- package/src/oracle_version.ts +4 -4
- package/src/private_kernel/batch_planner.ts +169 -0
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +1 -1
- package/src/private_kernel/hints/test_utils.ts +2 -9
- package/src/private_kernel/private_kernel_execution_prover.ts +236 -73
- package/src/private_kernel/private_kernel_oracle.ts +21 -11
- package/src/pxe.ts +172 -79
- package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +46 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +36 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +97 -0
- package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +712 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/contract_store/contract_store.ts +6 -29
- package/src/storage/metadata.ts +1 -1
- package/src/storage/open_pxe_stores.ts +49 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
- package/src/storage/tagging_store/sender_tagging_store.ts +6 -6
- package/src/tagging/get_all_logs_by_tags.ts +78 -50
- package/src/tagging/index.ts +4 -3
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +240 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
- package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +41 -19
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -5
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -47
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -85
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
- package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -104
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -130
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { MAX_APPS_PER_KERNEL } from '@aztec/constants';
|
|
2
|
+
import { uniqueBy } from '@aztec/foundation/collection';
|
|
1
3
|
import { vkAsFieldsMegaHonk } from '@aztec/foundation/crypto/keys';
|
|
2
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
@@ -6,10 +8,11 @@ import { Timer } from '@aztec/foundation/timer';
|
|
|
6
8
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
7
9
|
import { ProtocolContractsList } from '@aztec/protocol-contracts';
|
|
8
10
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
9
|
-
import { HidingKernelToPublicPrivateInputs, HidingKernelToRollupPrivateInputs, PaddedSideEffectAmounts, PrivateCallData, PrivateKernelCircuitPublicInputs, PrivateKernelData, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelTailCircuitPrivateInputs, PrivateVerificationKeyHints } from '@aztec/stdlib/kernel';
|
|
11
|
+
import { HidingKernelToPublicPrivateInputs, HidingKernelToRollupPrivateInputs, PaddedSideEffectAmounts, PrivateCallData, PrivateKernelCircuitPublicInputs, PrivateKernelData, PrivateKernelInit2CircuitPrivateInputs, PrivateKernelInit3CircuitPrivateInputs, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInner2CircuitPrivateInputs, PrivateKernelInner3CircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelTailCircuitPrivateInputs, PrivateVerificationKeyHints } from '@aztec/stdlib/kernel';
|
|
10
12
|
import { ChonkProof } from '@aztec/stdlib/proofs';
|
|
11
|
-
import { collectNoteHashNullifierCounterMap, getFinalMinRevertibleSideEffectCounter } from '@aztec/stdlib/tx';
|
|
13
|
+
import { collectNested, collectNoteHashNullifierCounterMap, getFinalMinRevertibleSideEffectCounter } from '@aztec/stdlib/tx';
|
|
12
14
|
import { VerificationKeyAsFields, VerificationKeyData, VkData } from '@aztec/stdlib/vks';
|
|
15
|
+
import { BatchPlanner } from './batch_planner.js';
|
|
13
16
|
import { computeTxExpirationTimestamp } from './hints/compute_tx_expiration_timestamp.js';
|
|
14
17
|
import { PrivateKernelResetPrivateInputsBuilder } from './hints/private_kernel_reset_private_inputs_builder.js';
|
|
15
18
|
const NULL_SIMULATE_OUTPUT = {
|
|
@@ -27,11 +30,13 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
27
30
|
oracle;
|
|
28
31
|
proofCreator;
|
|
29
32
|
fakeProofs;
|
|
33
|
+
maxBatchSize;
|
|
30
34
|
log;
|
|
31
|
-
constructor(oracle, proofCreator, fakeProofs = false, bindings){
|
|
35
|
+
constructor(oracle, proofCreator, fakeProofs = false, bindings, maxBatchSize = MAX_APPS_PER_KERNEL){
|
|
32
36
|
this.oracle = oracle;
|
|
33
37
|
this.proofCreator = proofCreator;
|
|
34
38
|
this.fakeProofs = fakeProofs;
|
|
39
|
+
this.maxBatchSize = maxBatchSize;
|
|
35
40
|
this.log = createLogger('pxe:private-kernel-execution-prover', bindings);
|
|
36
41
|
}
|
|
37
42
|
/**
|
|
@@ -64,6 +69,11 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
64
69
|
const noteHashNullifierCounterMap = collectNoteHashNullifierCounterMap(executionResult);
|
|
65
70
|
const minRevertibleSideEffectCounter = getFinalMinRevertibleSideEffectCounter(executionResult);
|
|
66
71
|
const splitCounter = isPrivateOnlyTx ? 0 : minRevertibleSideEffectCounter;
|
|
72
|
+
// Each kernel iteration absorbs up to `maxBatchSize` apps. The planner walks the upcoming
|
|
73
|
+
// apps and decides where the next reset must fall by using an accumulator and
|
|
74
|
+
// reusing the existing single-app `needsReset()` check.
|
|
75
|
+
const planner = new BatchPlanner(noteHashNullifierCounterMap, splitCounter, this.maxBatchSize);
|
|
76
|
+
const updatedClassIdHintsMap = await this.prefetchUpdatedClassIdHints(executionResult);
|
|
67
77
|
while(executionStack.length){
|
|
68
78
|
if (!firstIteration) {
|
|
69
79
|
let resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, executionStack, noteHashNullifierCounterMap, splitCounter);
|
|
@@ -84,54 +94,22 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
84
94
|
resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, executionStack, noteHashNullifierCounterMap, splitCounter);
|
|
85
95
|
}
|
|
86
96
|
}
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const functionName = await this.oracle.getDebugFunctionName(currentExecution.publicInputs.callContext.contractAddress, currentExecution.publicInputs.callContext.functionSelector);
|
|
92
|
-
executionSteps.push({
|
|
93
|
-
functionName: functionName,
|
|
94
|
-
bytecode: currentExecution.acir,
|
|
95
|
-
witness: currentExecution.partialWitness,
|
|
96
|
-
vk: currentExecution.vk,
|
|
97
|
-
timings: {
|
|
98
|
-
witgen: currentExecution.profileResult?.timings.witgen ?? 0,
|
|
99
|
-
oracles: currentExecution.profileResult?.timings.oracles
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
const privateCallData = await this.createPrivateCallData(currentExecution);
|
|
103
|
-
if (firstIteration) {
|
|
104
|
-
const witgenTimer = new Timer();
|
|
105
|
-
const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, getVKTreeRoot(), ProtocolContractsList, privateCallData, isPrivateOnlyTx, executionResult.firstNullifier, minRevertibleSideEffectCounter);
|
|
106
|
-
this.log.debug(`Calling private kernel init with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`);
|
|
107
|
-
pushTestData('private-kernel-inputs-init', proofInput);
|
|
108
|
-
output = generateWitnesses ? await this.proofCreator.generateInitOutput(proofInput) : await this.proofCreator.simulateInit(proofInput);
|
|
109
|
-
executionSteps.push({
|
|
110
|
-
functionName: 'private_kernel_init',
|
|
111
|
-
bytecode: output.bytecode,
|
|
112
|
-
witness: output.outputWitness,
|
|
113
|
-
vk: output.verificationKey.keyAsBytes,
|
|
114
|
-
timings: {
|
|
115
|
-
witgen: witgenTimer.ms()
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
} else {
|
|
119
|
-
const witgenTimer = new Timer();
|
|
120
|
-
const vkData = await this.getVkData(output.verificationKey);
|
|
121
|
-
const previousKernelData = new PrivateKernelData(output.publicInputs, vkData);
|
|
122
|
-
const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, privateCallData);
|
|
123
|
-
pushTestData('private-kernel-inputs-inner', proofInput);
|
|
124
|
-
output = generateWitnesses ? await this.proofCreator.generateInnerOutput(proofInput) : await this.proofCreator.simulateInner(proofInput);
|
|
125
|
-
executionSteps.push({
|
|
126
|
-
functionName: 'private_kernel_inner',
|
|
127
|
-
bytecode: output.bytecode,
|
|
128
|
-
witness: output.outputWitness,
|
|
129
|
-
vk: output.verificationKey.keyAsBytes,
|
|
130
|
-
timings: {
|
|
131
|
-
witgen: witgenTimer.ms()
|
|
132
|
-
}
|
|
133
|
-
});
|
|
97
|
+
const batchSize = planner.decideBatchSize(output.publicInputs, executionStack);
|
|
98
|
+
const apps = [];
|
|
99
|
+
for(let i = 0; i < batchSize; i++){
|
|
100
|
+
apps.push(await this.consumeNextApp(executionStack, executionSteps, updatedClassIdHintsMap));
|
|
134
101
|
}
|
|
102
|
+
output = await this.runBatchedKernel({
|
|
103
|
+
apps,
|
|
104
|
+
firstIteration,
|
|
105
|
+
previousOutput: output,
|
|
106
|
+
txRequest,
|
|
107
|
+
isPrivateOnlyTx,
|
|
108
|
+
firstNullifierHint: executionResult.firstNullifier,
|
|
109
|
+
minRevertibleSideEffectCounter,
|
|
110
|
+
executionSteps,
|
|
111
|
+
generateWitnesses
|
|
112
|
+
});
|
|
135
113
|
firstIteration = false;
|
|
136
114
|
}
|
|
137
115
|
// Final reset: include siloing of note hashes, nullifiers and private logs.
|
|
@@ -266,14 +244,48 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
266
244
|
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(verificationKey.keyAsFields);
|
|
267
245
|
return new VkData(verificationKey, Number(previousVkMembershipWitness.leafIndex), previousVkMembershipWitness.siblingPath);
|
|
268
246
|
}
|
|
269
|
-
|
|
247
|
+
/**
|
|
248
|
+
* Pops the next app off the execution stack, pushes its nested calls back on (preserving DFS
|
|
249
|
+
* order), records the app's execution step, and returns its constructed `PrivateCallData`.
|
|
250
|
+
* Caller is responsible for ensuring the stack is non-empty.
|
|
251
|
+
*/ async consumeNextApp(executionStack, executionSteps, updatedClassIdHintsMap) {
|
|
252
|
+
const next = executionStack.pop();
|
|
253
|
+
executionStack.push(...[
|
|
254
|
+
...next.nestedExecutionResults
|
|
255
|
+
].reverse());
|
|
256
|
+
const functionName = await this.oracle.getDebugFunctionName(next.publicInputs.callContext.contractAddress, next.publicInputs.callContext.functionSelector);
|
|
257
|
+
executionSteps.push({
|
|
258
|
+
functionName: functionName,
|
|
259
|
+
bytecode: next.acir,
|
|
260
|
+
witness: next.partialWitness,
|
|
261
|
+
vk: next.vk,
|
|
262
|
+
timings: {
|
|
263
|
+
witgen: next.profileResult?.timings.witgen ?? 0,
|
|
264
|
+
oracles: next.profileResult?.timings.oracles
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
return await this.createPrivateCallData(next, updatedClassIdHintsMap);
|
|
268
|
+
}
|
|
269
|
+
/** Prefetches updated class id hints for all unique contracts in the execution tree in parallel. */ async prefetchUpdatedClassIdHints(executionResult) {
|
|
270
|
+
const allAddresses = collectNested([
|
|
271
|
+
executionResult.entrypoint
|
|
272
|
+
], (exec)=>[
|
|
273
|
+
exec.publicInputs.callContext.contractAddress
|
|
274
|
+
]);
|
|
275
|
+
const uniqueAddresses = uniqueBy(allAddresses, (a)=>a.toString());
|
|
276
|
+
return new Map(await Promise.all(uniqueAddresses.map(async (addr)=>[
|
|
277
|
+
addr.toString(),
|
|
278
|
+
await this.oracle.getUpdatedClassIdHints(addr)
|
|
279
|
+
])));
|
|
280
|
+
}
|
|
281
|
+
async createPrivateCallData({ publicInputs, vk: vkAsBuffer }, updatedClassIdHintsMap) {
|
|
270
282
|
const { contractAddress, functionSelector } = publicInputs.callContext;
|
|
271
283
|
const vkAsFields = await vkAsFieldsMegaHonk(vkAsBuffer);
|
|
272
284
|
const vk = await VerificationKeyAsFields.fromKey(vkAsFields);
|
|
273
285
|
const { currentContractClassId, publicKeys, saltedInitializationHash } = await this.oracle.getContractAddressPreimage(contractAddress);
|
|
274
286
|
const functionLeafMembershipWitness = await this.oracle.getFunctionMembershipWitness(currentContractClassId, functionSelector);
|
|
275
287
|
const { artifactHash: contractClassArtifactHash, publicBytecodeCommitment: contractClassPublicBytecodeCommitment } = await this.oracle.getContractClassIdPreimage(currentContractClassId);
|
|
276
|
-
const updatedClassIdHints =
|
|
288
|
+
const updatedClassIdHints = updatedClassIdHintsMap.get(contractAddress.toString());
|
|
277
289
|
return PrivateCallData.from({
|
|
278
290
|
publicInputs,
|
|
279
291
|
vk,
|
|
@@ -287,4 +299,88 @@ const NULL_SIMULATE_OUTPUT = {
|
|
|
287
299
|
})
|
|
288
300
|
});
|
|
289
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Runs one batched kernel iteration. Picks the right circuit variant based on whether this is
|
|
304
|
+
* the first iteration or a later one and the size of the batch.
|
|
305
|
+
*/ async runBatchedKernel(args) {
|
|
306
|
+
const { apps, firstIteration, previousOutput, txRequest, isPrivateOnlyTx, firstNullifierHint, minRevertibleSideEffectCounter, executionSteps, generateWitnesses } = args;
|
|
307
|
+
const witgenTimer = new Timer();
|
|
308
|
+
let output;
|
|
309
|
+
let functionName;
|
|
310
|
+
if (firstIteration) {
|
|
311
|
+
const vkTreeRoot = getVKTreeRoot();
|
|
312
|
+
switch(apps.length){
|
|
313
|
+
case 1:
|
|
314
|
+
{
|
|
315
|
+
const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, vkTreeRoot, ProtocolContractsList, apps[0], isPrivateOnlyTx, firstNullifierHint, minRevertibleSideEffectCounter);
|
|
316
|
+
this.log.debug(`Calling private kernel init with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`);
|
|
317
|
+
pushTestData('private-kernel-inputs-init', proofInput);
|
|
318
|
+
output = generateWitnesses ? await this.proofCreator.generateInitOutput(proofInput) : await this.proofCreator.simulateInit(proofInput);
|
|
319
|
+
functionName = 'private_kernel_init';
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
case 2:
|
|
323
|
+
{
|
|
324
|
+
const proofInput = new PrivateKernelInit2CircuitPrivateInputs(txRequest, vkTreeRoot, ProtocolContractsList, apps[0], apps[1], isPrivateOnlyTx, firstNullifierHint, minRevertibleSideEffectCounter);
|
|
325
|
+
this.log.debug(`Calling private kernel init_2 with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`);
|
|
326
|
+
pushTestData('private-kernel-inputs-init-2', proofInput);
|
|
327
|
+
output = generateWitnesses ? await this.proofCreator.generateInit2Output(proofInput) : await this.proofCreator.simulateInit2(proofInput);
|
|
328
|
+
functionName = 'private_kernel_init_2';
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
case 3:
|
|
332
|
+
{
|
|
333
|
+
const proofInput = new PrivateKernelInit3CircuitPrivateInputs(txRequest, vkTreeRoot, ProtocolContractsList, apps[0], apps[1], apps[2], isPrivateOnlyTx, firstNullifierHint, minRevertibleSideEffectCounter);
|
|
334
|
+
this.log.debug(`Calling private kernel init_3 with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`);
|
|
335
|
+
pushTestData('private-kernel-inputs-init-3', proofInput);
|
|
336
|
+
output = generateWitnesses ? await this.proofCreator.generateInit3Output(proofInput) : await this.proofCreator.simulateInit3(proofInput);
|
|
337
|
+
functionName = 'private_kernel_init_3';
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
340
|
+
default:
|
|
341
|
+
throw new Error(`Unsupported init kernel batch size: ${apps.length}`);
|
|
342
|
+
}
|
|
343
|
+
} else {
|
|
344
|
+
const vkData = await this.getVkData(previousOutput.verificationKey);
|
|
345
|
+
const previousKernelData = new PrivateKernelData(previousOutput.publicInputs, vkData);
|
|
346
|
+
switch(apps.length){
|
|
347
|
+
case 1:
|
|
348
|
+
{
|
|
349
|
+
const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, apps[0]);
|
|
350
|
+
pushTestData('private-kernel-inputs-inner', proofInput);
|
|
351
|
+
output = generateWitnesses ? await this.proofCreator.generateInnerOutput(proofInput) : await this.proofCreator.simulateInner(proofInput);
|
|
352
|
+
functionName = 'private_kernel_inner';
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
case 2:
|
|
356
|
+
{
|
|
357
|
+
const proofInput = new PrivateKernelInner2CircuitPrivateInputs(previousKernelData, apps[0], apps[1]);
|
|
358
|
+
pushTestData('private-kernel-inputs-inner-2', proofInput);
|
|
359
|
+
output = generateWitnesses ? await this.proofCreator.generateInner2Output(proofInput) : await this.proofCreator.simulateInner2(proofInput);
|
|
360
|
+
functionName = 'private_kernel_inner_2';
|
|
361
|
+
break;
|
|
362
|
+
}
|
|
363
|
+
case 3:
|
|
364
|
+
{
|
|
365
|
+
const proofInput = new PrivateKernelInner3CircuitPrivateInputs(previousKernelData, apps[0], apps[1], apps[2]);
|
|
366
|
+
pushTestData('private-kernel-inputs-inner-3', proofInput);
|
|
367
|
+
output = generateWitnesses ? await this.proofCreator.generateInner3Output(proofInput) : await this.proofCreator.simulateInner3(proofInput);
|
|
368
|
+
functionName = 'private_kernel_inner_3';
|
|
369
|
+
break;
|
|
370
|
+
}
|
|
371
|
+
default:
|
|
372
|
+
throw new Error(`Unsupported inner kernel batch size: ${apps.length}`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
executionSteps.push({
|
|
376
|
+
functionName,
|
|
377
|
+
bytecode: output.bytecode,
|
|
378
|
+
witness: output.outputWitness,
|
|
379
|
+
vk: output.verificationKey.keyAsBytes,
|
|
380
|
+
timings: {
|
|
381
|
+
witgen: witgenTimer.ms()
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
return output;
|
|
385
|
+
}
|
|
290
386
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FUNCTION_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import type { GrumpkinScalar
|
|
3
|
+
import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
4
4
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
5
5
|
import type { KeyStore } from '@aztec/key-store';
|
|
6
6
|
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
@@ -45,13 +45,13 @@ export declare class PrivateKernelOracle {
|
|
|
45
45
|
/** Returns the root of our note hash merkle tree. */
|
|
46
46
|
getNoteHashTreeRoot(): Fr;
|
|
47
47
|
/**
|
|
48
|
-
* Retrieves the sk_m corresponding to the pk_m.
|
|
49
|
-
* @throws If the provided
|
|
50
|
-
* @param
|
|
48
|
+
* Retrieves the sk_m corresponding to the pk_m hash.
|
|
49
|
+
* @throws If the provided hash is not associated with any of the registered accounts.
|
|
50
|
+
* @param masterPublicKeyHash - The master public key hash to get secret key for.
|
|
51
51
|
* @returns A Promise that resolves to sk_m.
|
|
52
52
|
* @dev Used when feeding the sk_m to the kernel circuit for keys verification.
|
|
53
53
|
*/
|
|
54
|
-
getMasterSecretKey(
|
|
54
|
+
getMasterSecretKey(masterPublicKeyHash: Fr): Promise<GrumpkinScalar>;
|
|
55
55
|
/** Use debug data to get the function name corresponding to a selector. */
|
|
56
56
|
getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
57
57
|
/**
|
|
@@ -60,4 +60,4 @@ export declare class PrivateKernelOracle {
|
|
|
60
60
|
*/
|
|
61
61
|
getUpdatedClassIdHints(contractAddress: AztecAddress): Promise<UpdatedClassIdHints>;
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZV9rZXJuZWwvcHJpdmF0ZV9rZXJuZWxfb3JhY2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIscUJBQXFCLEVBR3JCLGNBQWMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssMkJBQTJCLEVBQW1DLE1BQU0sd0JBQXdCLENBQUM7QUFHM0csT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRWpGOztHQUVHO0FBQ0gscUJBQWEsbUJBQW1CO0lBRTVCLE9BQU8sQ0FBQyxhQUFhO0lBQ3JCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxJQUFJO0lBQ1osT0FBTyxDQUFDLFdBQVc7SUFKckIsWUFDVSxhQUFhLEVBQUUsYUFBYSxFQUM1QixRQUFRLEVBQUUsUUFBUSxFQUNsQixJQUFJLEVBQUUsU0FBUyxFQUNmLFdBQVcsRUFBRSxXQUFXLEVBQzlCO0lBRUosOEZBQThGO0lBQ2pGLDBCQUEwQixDQUNyQyxPQUFPLEVBQUUsWUFBWSxHQUNwQixPQUFPLENBQUMsMkJBQTJCLEdBQUc7UUFBRSx3QkFBd0IsRUFBRSxFQUFFLENBQUE7S0FBRSxDQUFDLENBU3pFO0lBRUQsa0ZBQWtGO0lBQ3JFLDBCQUEwQixDQUFDLGVBQWUsRUFBRSxFQUFFOzs7O09BVTFEO0lBRUQsdUdBQXVHO0lBQzFGLDRCQUE0QixDQUN2QyxlQUFlLEVBQUUsRUFBRSxFQUNuQixRQUFRLEVBQUUsZ0JBQWdCLEdBQ3pCLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLG9CQUFvQixDQUFDLENBQUMsQ0FRekQ7SUFFRDs7O09BR0c7SUFDSSxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsdUJBQXVCLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FHNUc7SUFFRCwrRkFBK0Y7SUFDekYsNEJBQTRCLENBQ2hDLFFBQVEsRUFBRSxFQUFFLEdBQ1gsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8scUJBQXFCLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FFdEU7SUFFRCw4R0FBOEc7SUFDeEcsNkJBQTZCLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsMEJBQTBCLEdBQUcsU0FBUyxDQUFDLENBRWxHO0lBRUQscURBQXFEO0lBQ3JELG1CQUFtQixJQUFJLEVBQUUsQ0FFeEI7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUUxRTtJQUVELDJFQUEyRTtJQUNwRSxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUVsSDtJQUVEOzs7T0FHRztJQUNVLHNCQUFzQixDQUFDLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBb0MvRjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_oracle.d.ts","sourceRoot":"","sources":["../../src/private_kernel/private_kernel_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"private_kernel_oracle.d.ts","sourceRoot":"","sources":["../../src/private_kernel/private_kernel_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EAGrB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,2BAA2B,EAAmC,MAAM,wBAAwB,CAAC;AAG3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAEjF;;GAEG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,WAAW;IAJrB,YACU,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EAC9B;IAEJ,8FAA8F;IACjF,0BAA0B,CACrC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,2BAA2B,GAAG;QAAE,wBAAwB,EAAE,EAAE,CAAA;KAAE,CAAC,CASzE;IAED,kFAAkF;IACrE,0BAA0B,CAAC,eAAe,EAAE,EAAE;;;;OAU1D;IAED,uGAAuG;IAC1F,4BAA4B,CACvC,eAAe,EAAE,EAAE,EACnB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAQzD;IAED;;;OAGG;IACI,sBAAsB,CAAC,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAC,CAG5G;IAED,+FAA+F;IACzF,4BAA4B,CAChC,QAAQ,EAAE,EAAE,GACX,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,GAAG,SAAS,CAAC,CAEtE;IAED,8GAA8G;IACxG,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAElG;IAED,qDAAqD;IACrD,mBAAmB,IAAI,EAAE,CAExB;IAED;;;;;;OAMG;IACI,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1E;IAED,2EAA2E;IACpE,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElH;IAED;;;OAGG;IACU,sBAAsB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoC/F;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PUBLIC_DATA_TREE_HEIGHT, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
1
|
+
import { PUBLIC_DATA_TREE_HEIGHT, UPDATES_VALUE_SIZE, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
3
3
|
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
4
4
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
@@ -64,13 +64,13 @@ import { UpdatedClassIdHints } from '@aztec/stdlib/kernel';
|
|
|
64
64
|
return this.blockHeader.state.partial.noteHashTree.root;
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
* Retrieves the sk_m corresponding to the pk_m.
|
|
68
|
-
* @throws If the provided
|
|
69
|
-
* @param
|
|
67
|
+
* Retrieves the sk_m corresponding to the pk_m hash.
|
|
68
|
+
* @throws If the provided hash is not associated with any of the registered accounts.
|
|
69
|
+
* @param masterPublicKeyHash - The master public key hash to get secret key for.
|
|
70
70
|
* @returns A Promise that resolves to sk_m.
|
|
71
71
|
* @dev Used when feeding the sk_m to the kernel circuit for keys verification.
|
|
72
|
-
*/ getMasterSecretKey(
|
|
73
|
-
return this.keyStore.getMasterSecretKey(
|
|
72
|
+
*/ getMasterSecretKey(masterPublicKeyHash) {
|
|
73
|
+
return this.keyStore.getMasterSecretKey(masterPublicKeyHash);
|
|
74
74
|
}
|
|
75
75
|
/** Use debug data to get the function name corresponding to a selector. */ getDebugFunctionName(contractAddress, selector) {
|
|
76
76
|
return this.contractStore.getDebugFunctionName(contractAddress, selector);
|
|
@@ -86,8 +86,13 @@ import { UpdatedClassIdHints } from '@aztec/stdlib/kernel';
|
|
|
86
86
|
if (!updatedClassIdWitness) {
|
|
87
87
|
throw new Error(`No public data tree witness found for ${hashLeafSlot}`);
|
|
88
88
|
}
|
|
89
|
+
// In an indexed merkle tree, getPublicDataWitness returns a leaf whose slot matches our query
|
|
90
|
+
// only if the slot has been written to. Otherwise, it returns the "low leaf" predecessor, whose
|
|
91
|
+
// slot will differ. Most contracts are never updated, so we can skip the readFromTree call
|
|
92
|
+
// (which triggers multiple RPC calls) and return empty values directly.
|
|
89
93
|
const readStorage = (storageSlot)=>this.node.getPublicStorageAt(blockHash, ProtocolContractAddress.ContractInstanceRegistry, storageSlot);
|
|
90
|
-
const
|
|
94
|
+
const slotExists = updatedClassIdWitness.leafPreimage.leaf.slot.equals(hashLeafSlot);
|
|
95
|
+
const delayedPublicMutableValues = slotExists ? await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, readStorage) : DelayedPublicMutableValues.empty(UPDATES_VALUE_SIZE);
|
|
91
96
|
return new UpdatedClassIdHints(new MembershipWitness(PUBLIC_DATA_TREE_HEIGHT, updatedClassIdWitness.index, updatedClassIdWitness.siblingPath.toTuple()), updatedClassIdWitness.leafPreimage, delayedPublicMutableValues);
|
|
92
97
|
}
|
|
93
98
|
}
|
package/dest/pxe.d.ts
CHANGED
|
@@ -12,10 +12,18 @@ import type { AztecNode, PrivateKernelProver } from '@aztec/stdlib/interfaces/cl
|
|
|
12
12
|
import { BlockHeader, type InTx, SimulationOverrides, TxExecutionRequest, TxProfileResult, TxProvingResult, TxSimulationResult, UtilityExecutionResult } from '@aztec/stdlib/tx';
|
|
13
13
|
import type { PXEConfig } from './config/index.js';
|
|
14
14
|
import { PXEDebugUtils } from './debug/pxe_debug_utils.js';
|
|
15
|
+
import type { ExecutionHooks } from './hooks/index.js';
|
|
15
16
|
export type PackedPrivateEvent = InTx & {
|
|
16
17
|
packedEvent: Fr[];
|
|
17
18
|
eventSelector: EventSelector;
|
|
18
19
|
};
|
|
20
|
+
/** Options for PXE.proveTx. */
|
|
21
|
+
export type ProveTxOpts = {
|
|
22
|
+
/** Addresses whose private state and keys are accessible during private execution. */
|
|
23
|
+
scopes: AztecAddress[];
|
|
24
|
+
/** Sender address used to derive discovery tags for private messages (notes, events, logs) this tx emits. */
|
|
25
|
+
senderForTags?: AztecAddress;
|
|
26
|
+
};
|
|
19
27
|
/** Options for PXE.profileTx. */
|
|
20
28
|
export type ProfileTxOpts = {
|
|
21
29
|
/** The profiling mode to use. */
|
|
@@ -24,6 +32,8 @@ export type ProfileTxOpts = {
|
|
|
24
32
|
skipProofGeneration?: boolean;
|
|
25
33
|
/** Addresses whose private state and keys are accessible during private execution. */
|
|
26
34
|
scopes: AztecAddress[];
|
|
35
|
+
/** Sender address used to derive discovery tags for private messages (notes, events, logs) this tx emits. */
|
|
36
|
+
senderForTags?: AztecAddress;
|
|
27
37
|
};
|
|
28
38
|
/** Options for PXE.simulateTx. */
|
|
29
39
|
export type SimulateTxOpts = {
|
|
@@ -35,10 +45,16 @@ export type SimulateTxOpts = {
|
|
|
35
45
|
skipFeeEnforcement?: boolean;
|
|
36
46
|
/** If true, kernel logic is emulated in TS for simulation */
|
|
37
47
|
skipKernels?: boolean;
|
|
38
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Pre-simulation overrides applied to the ephemeral fork and contract DB. Bundles publicStorage
|
|
50
|
+
* writes (no skipKernels required) and per-address (instance, artifact?) overrides used by both
|
|
51
|
+
* AVM-side public dispatch and PXE-side ACIR private dispatch (requires skipKernels: true).
|
|
52
|
+
*/
|
|
39
53
|
overrides?: SimulationOverrides;
|
|
40
54
|
/** Addresses whose private state and keys are accessible during private execution */
|
|
41
55
|
scopes: AztecAddress[];
|
|
56
|
+
/** Sender address used to derive discovery tags for private messages (notes, events, logs) this tx emits. */
|
|
57
|
+
senderForTags?: AztecAddress;
|
|
42
58
|
};
|
|
43
59
|
/** Options for PXE.executeUtility. */
|
|
44
60
|
export type ExecuteUtilityOpts = {
|
|
@@ -47,6 +63,23 @@ export type ExecuteUtilityOpts = {
|
|
|
47
63
|
/** The accounts whose notes we can access in this call */
|
|
48
64
|
scopes: AztecAddress[];
|
|
49
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* Supplies the set of "nice to have" contracts that every PXE preloads regardless of which wallet
|
|
68
|
+
* drives it. Today this is just the standard multi-call entrypoint: the SDK's self-paid account
|
|
69
|
+
* deploy flow ({@link DeployAccountMethod} with `from = NO_FROM`) routes its payload through it, so a
|
|
70
|
+
* PXE that did not register it would fail contract sync with an opaque "no contract instance" error.
|
|
71
|
+
*
|
|
72
|
+
* Returning a list keeps this extensible: a wallet may supply its own provider that preloads
|
|
73
|
+
* additional contracts. Injected the same way as {@link ProtocolContractsProvider} so the PXE never
|
|
74
|
+
* statically imports the bundled artifacts, keeping the bundle/lazy split intact.
|
|
75
|
+
*/
|
|
76
|
+
export type PreloadedContractsProvider = {
|
|
77
|
+
/** Returns the contract instances and artifacts the PXE should preload on startup. */
|
|
78
|
+
getPreloadedContracts: () => Promise<Array<{
|
|
79
|
+
instance: ContractInstanceWithAddress;
|
|
80
|
+
artifact: ContractArtifact;
|
|
81
|
+
}>>;
|
|
82
|
+
};
|
|
50
83
|
/** Args for PXE.create. */
|
|
51
84
|
export type PXECreateArgs = {
|
|
52
85
|
/** The Aztec node to connect to. */
|
|
@@ -59,10 +92,14 @@ export type PXECreateArgs = {
|
|
|
59
92
|
simulator: CircuitSimulator;
|
|
60
93
|
/** Provider for protocol contract artifacts and instances. */
|
|
61
94
|
protocolContractsProvider: ProtocolContractsProvider;
|
|
95
|
+
/** Provider for the "nice to have" contracts the PXE preloads. */
|
|
96
|
+
preloadedContractsProvider: PreloadedContractsProvider;
|
|
62
97
|
/** PXE configuration options. */
|
|
63
98
|
config: PXEConfig;
|
|
64
99
|
/** Optional logger instance or string suffix for the logger name. */
|
|
65
100
|
loggerOrSuffix?: string | Logger;
|
|
101
|
+
/** Optional hooks to observe and influence contract execution. */
|
|
102
|
+
hooks?: ExecutionHooks;
|
|
66
103
|
};
|
|
67
104
|
/**
|
|
68
105
|
* Private eXecution Environment (PXE) is a library used by wallets to simulate private phase of transactions and to
|
|
@@ -88,12 +125,15 @@ export declare class PXE {
|
|
|
88
125
|
private l2TipsStore;
|
|
89
126
|
private simulator;
|
|
90
127
|
private proverEnabled;
|
|
128
|
+
private autoSync;
|
|
91
129
|
private proofCreator;
|
|
92
130
|
private protocolContractsProvider;
|
|
131
|
+
private preloadedContractsProvider;
|
|
93
132
|
private log;
|
|
94
133
|
private jobQueue;
|
|
95
134
|
private jobCoordinator;
|
|
96
135
|
debug: PXEDebugUtils;
|
|
136
|
+
private hooks;
|
|
97
137
|
private constructor();
|
|
98
138
|
/**
|
|
99
139
|
* Creates an instance of a PXE by instantiating all the necessary data providers and services.
|
|
@@ -102,7 +142,13 @@ export declare class PXE {
|
|
|
102
142
|
*
|
|
103
143
|
* @returns A promise that resolves PXE is ready to be used.
|
|
104
144
|
*/
|
|
105
|
-
static create({ node, store, proofCreator, simulator, protocolContractsProvider, config, loggerOrSuffix }: PXECreateArgs): Promise<PXE>;
|
|
145
|
+
static create({ node, store, proofCreator, simulator, protocolContractsProvider, preloadedContractsProvider, config, loggerOrSuffix, hooks }: PXECreateArgs): Promise<PXE>;
|
|
146
|
+
/**
|
|
147
|
+
* Triggers a sync of PXE state with the node, regardless of the `autoSync` config flag. Use this to
|
|
148
|
+
* batch syncs across composite flows when `autoSync` is disabled (e.g. one sync per simulate+send
|
|
149
|
+
* instead of one per inner PXE call). Serialized through the job queue.
|
|
150
|
+
*/
|
|
151
|
+
sync(): Promise<void>;
|
|
106
152
|
/**
|
|
107
153
|
* Returns the block header up to which the PXE has synced.
|
|
108
154
|
* @returns The synced block header
|
|
@@ -200,14 +246,14 @@ export declare class PXE {
|
|
|
200
246
|
* @throws If contract code not found, or public simulation reverts.
|
|
201
247
|
* Also throws if simulatePublic is true and public simulation reverts.
|
|
202
248
|
*/
|
|
203
|
-
proveTx(txRequest: TxExecutionRequest, scopes:
|
|
249
|
+
proveTx(txRequest: TxExecutionRequest, { scopes, senderForTags }: ProveTxOpts): Promise<TxProvingResult>;
|
|
204
250
|
/**
|
|
205
251
|
* Profiles a transaction, reporting gate counts (unless disabled) and returns an execution trace.
|
|
206
252
|
* @param txRequest - An authenticated tx request ready for simulation.
|
|
207
253
|
* @returns A trace of the program execution with gate counts.
|
|
208
254
|
* @throws If the code for the functions executed in this transaction have not been made available via `addContracts`.
|
|
209
255
|
*/
|
|
210
|
-
profileTx(txRequest: TxExecutionRequest, { profileMode, skipProofGeneration, scopes }: ProfileTxOpts): Promise<TxProfileResult>;
|
|
256
|
+
profileTx(txRequest: TxExecutionRequest, { profileMode, skipProofGeneration, scopes, senderForTags }: ProfileTxOpts): Promise<TxProfileResult>;
|
|
211
257
|
/**
|
|
212
258
|
* Simulates a transaction based on the provided preauthenticated execution request.
|
|
213
259
|
* This will run a local simulation of private execution (and optionally of public as well), run the
|
|
@@ -226,7 +272,7 @@ export declare class PXE {
|
|
|
226
272
|
*
|
|
227
273
|
* TODO(#7456) Prevent msgSender being defined here for the first call
|
|
228
274
|
*/
|
|
229
|
-
simulateTx(txRequest: TxExecutionRequest, { simulatePublic, skipTxValidation, skipFeeEnforcement, skipKernels, overrides, scopes }: SimulateTxOpts): Promise<TxSimulationResult>;
|
|
275
|
+
simulateTx(txRequest: TxExecutionRequest, { simulatePublic, skipTxValidation, skipFeeEnforcement, skipKernels, overrides, scopes, senderForTags }: SimulateTxOpts): Promise<TxSimulationResult>;
|
|
230
276
|
/**
|
|
231
277
|
* Executes a contract utility function.
|
|
232
278
|
* @param call - The function call containing the function details, arguments, and target contract address.
|
|
@@ -251,4 +297,4 @@ export declare class PXE {
|
|
|
251
297
|
*/
|
|
252
298
|
stop(): Promise<void>;
|
|
253
299
|
}
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHhlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBcUMsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUF5QixNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLGFBQWEsRUFDYixZQUFZLEVBR2IsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssMkJBQTJCLEVBQ2hDLEtBQUssY0FBYyxFQUdwQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTXRGLE9BQU8sRUFDTCxXQUFXLEVBRVgsS0FBSyxJQUFJLEVBS1QsbUJBQW1CLEVBR25CLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdkIsTUFBTSxrQkFBa0IsQ0FBQztBQUsxQixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHM0QsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFvQnZELE1BQU0sTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUc7SUFDdEMsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2xCLGFBQWEsRUFBRSxhQUFhLENBQUM7Q0FDOUIsQ0FBQztBQUVGLCtCQUErQjtBQUMvQixNQUFNLE1BQU0sV0FBVyxHQUFHO0lBQ3hCLHNGQUFzRjtJQUN0RixNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDdkIsNkdBQTZHO0lBQzdHLGFBQWEsQ0FBQyxFQUFFLFlBQVksQ0FBQztDQUM5QixDQUFDO0FBRUYsaUNBQWlDO0FBQ2pDLE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsaUNBQWlDO0lBQ2pDLFdBQVcsRUFBRSxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsT0FBTyxDQUFDO0lBQ2xELCtFQUErRTtJQUMvRSxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUM5QixzRkFBc0Y7SUFDdEYsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3ZCLDZHQUE2RztJQUM3RyxhQUFhLENBQUMsRUFBRSxZQUFZLENBQUM7Q0FDOUIsQ0FBQztBQUVGLGtDQUFrQztBQUNsQyxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLDhEQUE4RDtJQUM5RCxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3hCLGtIQUFrSDtJQUNsSCxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUMzQixtQ0FBbUM7SUFDbkMsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0IsNkRBQTZEO0lBQzdELFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0Qjs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLEVBQUUsbUJBQW1CLENBQUM7SUFDaEMscUZBQXFGO0lBQ3JGLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN2Qiw2R0FBNkc7SUFDN0csYUFBYSxDQUFDLEVBQUUsWUFBWSxDQUFDO0NBQzlCLENBQUM7QUFFRixzQ0FBc0M7QUFDdEMsTUFBTSxNQUFNLGtCQUFrQixHQUFHO0lBQy9CLG1FQUFtRTtJQUNuRSxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN6QiwwREFBMEQ7SUFDMUQsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0NBQ3hCLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE1BQU0sMEJBQTBCLEdBQUc7SUFDdkMsc0ZBQXNGO0lBQ3RGLHFCQUFxQixFQUFFLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQztRQUFFLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztRQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQTtLQUFFLENBQUMsQ0FBQyxDQUFDO0NBQ3BILENBQUM7QUFFRiwyQkFBMkI7QUFDM0IsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixvQ0FBb0M7SUFDcEMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUNoQixvREFBb0Q7SUFDcEQsS0FBSyxFQUFFLGlCQUFpQixDQUFDO0lBQ3pCLHVEQUF1RDtJQUN2RCxZQUFZLEVBQUUsbUJBQW1CLENBQUM7SUFDbEMseURBQXlEO0lBQ3pELFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQztJQUM1Qiw4REFBOEQ7SUFDOUQseUJBQXlCLEVBQUUseUJBQXlCLENBQUM7SUFDckQsa0VBQWtFO0lBQ2xFLDBCQUEwQixFQUFFLDBCQUEwQixDQUFDO0lBQ3ZELGlDQUFpQztJQUNqQyxNQUFNLEVBQUUsU0FBUyxDQUFDO0lBQ2xCLHFFQUFxRTtJQUNyRSxjQUFjLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLGtFQUFrRTtJQUNsRSxLQUFLLENBQUMsRUFBRSxjQUFjLENBQUM7Q0FDeEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILHFCQUFhLEdBQUc7O0lBRVosT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxzQkFBc0I7SUFDOUIsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsa0JBQWtCO0lBQzFCLE9BQU8sQ0FBQyxzQkFBc0I7SUFDOUIsT0FBTyxDQUFDLHFCQUFxQjtJQUM3QixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLE9BQU8sQ0FBQyxtQkFBbUI7SUFDM0IsT0FBTyxDQUFDLHFCQUFxQjtJQUM3QixPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMseUJBQXlCO0lBQ2pDLE9BQU8sQ0FBQywwQkFBMEI7SUFDbEMsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsY0FBYztJQUNmLEtBQUssRUFBRSxhQUFhO0lBQzNCLE9BQU8sQ0FBQyxLQUFLO0lBM0JmLE9BQU8sZUE0Qkg7SUFFSjs7Ozs7O09BTUc7SUFDSCxPQUFvQixNQUFNLENBQUMsRUFDekIsSUFBSSxFQUNKLEtBQUssRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBQ04sRUFBRSxhQUFhLGdCQTZHZjtJQXVQRDs7OztPQUlHO0lBQ0ksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFM0I7SUFFRDs7O09BR0c7SUFDSSxvQkFBb0IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBSWxEO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixHQUFHLFNBQVMsQ0FBQyxDQUVsRztJQUVEOzs7O09BSUc7SUFDVSxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FFOUU7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDVSxlQUFlLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FhcEc7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDVSxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2RTtJQUVEOzs7T0FHRztJQUNJLFVBQVUsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FFM0M7SUFFRDs7O09BR0c7SUFDVSxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBUTdEO0lBRUQ7OztPQUdHO0lBQ1UscUJBQXFCLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBUS9EO0lBRUQ7Ozs7T0FJRztJQUNVLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRzVFO0lBRUQ7Ozs7Ozs7T0FPRztJQUNVLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtRQUFFLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQztRQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixDQUFBO0tBQUUsaUJBdUM3RztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksY0FBYyxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FnQzlGO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUU3QztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0E0RTlHO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQ2QsU0FBUyxFQUFFLGtCQUFrQixFQUM3QixFQUFFLFdBQVcsRUFBRSxtQkFBMEIsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEVBQUUsYUFBYSxHQUNoRixPQUFPLENBQUMsZUFBZSxDQUFDLENBMkUxQjtJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNJLFVBQVUsQ0FDZixTQUFTLEVBQUUsa0JBQWtCLEVBQzdCLEVBQ0UsY0FBYyxFQUNkLGdCQUF3QixFQUN4QixrQkFBMEIsRUFDMUIsV0FBa0IsRUFDbEIsU0FBUyxFQUNULE1BQU0sRUFDTixhQUFhLEVBQ2QsRUFBRSxjQUFjLEdBQ2hCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQTRJN0I7SUFFRDs7O09BR0c7SUFDSSxjQUFjLENBQ25CLElBQUksRUFBRSxZQUFZLEVBQ2xCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFFLGtCQUFtQyxHQUN4RCxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0E2RGpDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ1UsZ0JBQWdCLENBQzNCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLE1BQU0sRUFBRSxrQkFBa0IsR0FDekIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0E4Qi9CO0lBRUQ7O09BRUc7SUFDVSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUlqQztDQUNGIn0=
|
package/dest/pxe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../src/pxe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAqC,MAAM,uBAAuB,CAAC;AAIvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../src/pxe.ts"],"names":[],"mappings":"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"}
|