@aztec/pxe 0.0.1-commit.fcb71a6 → 0.0.1-commit.ff7989d6c
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/access_scopes.d.ts +9 -0
- package/dest/access_scopes.d.ts.map +1 -0
- package/dest/access_scopes.js +6 -0
- package/dest/bin/check_oracle_version.js +1 -1
- package/dest/block_synchronizer/block_synchronizer.d.ts +13 -5
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +74 -20
- package/dest/config/index.d.ts +3 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +17 -0
- package/dest/config/package_info.js +1 -1
- package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
- package/dest/contract_function_simulator/benchmarked_node.js +77 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +57 -34
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +197 -82
- package/dest/contract_function_simulator/execution_note_cache.d.ts +18 -9
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +45 -28
- package/dest/contract_function_simulator/index.d.ts +2 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -3
- 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 +7 -4
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -3
- 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 +2 -2
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +17 -13
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +6 -6
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +8 -8
- package/dest/contract_function_simulator/oracle/oracle.d.ts +12 -10
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +67 -44
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -26
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +1 -37
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +44 -50
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +83 -54
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +67 -33
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +131 -110
- package/dest/contract_logging.d.ts +22 -0
- package/dest/contract_logging.d.ts.map +1 -0
- package/dest/contract_logging.js +23 -0
- package/dest/contract_sync/contract_sync_service.d.ts +43 -0
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
- package/dest/contract_sync/contract_sync_service.js +97 -0
- package/dest/contract_sync/helpers.d.ts +29 -0
- package/dest/contract_sync/helpers.d.ts.map +1 -0
- package/dest/contract_sync/helpers.js +55 -0
- package/dest/debug/pxe_debug_utils.d.ts +24 -10
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +28 -17
- package/dest/entrypoints/client/bundle/index.d.ts +4 -1
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +3 -0
- package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +31 -8
- package/dest/entrypoints/client/lazy/index.d.ts +4 -1
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +3 -0
- package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +32 -9
- package/dest/entrypoints/pxe_creation_options.d.ts +5 -3
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +5 -1
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +4 -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 +39 -16
- package/dest/events/event_service.d.ts +6 -6
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +19 -22
- package/dest/events/private_event_filter_validator.d.ts +5 -5
- package/dest/events/private_event_filter_validator.d.ts.map +1 -1
- package/dest/events/private_event_filter_validator.js +5 -6
- package/dest/job_coordinator/job_coordinator.d.ts +75 -0
- package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
- package/dest/job_coordinator/job_coordinator.js +94 -0
- package/dest/logs/log_service.d.ts +8 -5
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +28 -30
- package/dest/notes/note_service.d.ts +10 -9
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +34 -38
- package/dest/notes_filter.d.ts +25 -0
- package/dest/notes_filter.d.ts.map +1 -0
- package/dest/notes_filter.js +4 -0
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +4 -3
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
- package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
- package/dest/private_kernel/hints/index.d.ts +3 -3
- package/dest/private_kernel/hints/index.d.ts.map +1 -1
- package/dest/private_kernel/hints/index.js +2 -2
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
- package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +16 -10
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +12 -13
- package/dest/private_kernel/private_kernel_oracle.d.ts +24 -24
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +94 -2
- package/dest/pxe.d.ts +76 -58
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +149 -138
- package/dest/storage/address_store/address_store.d.ts +1 -1
- package/dest/storage/address_store/address_store.d.ts.map +1 -1
- package/dest/storage/address_store/address_store.js +12 -11
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -1
- 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 -1
- package/dest/storage/capsule_store/capsule_store.d.ts +24 -9
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_store.js +130 -23
- package/dest/storage/contract_store/contract_store.d.ts +42 -16
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +157 -84
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/note_store/note_store.d.ts +50 -51
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +284 -263
- package/dest/storage/note_store/stored_note.d.ts +16 -0
- package/dest/storage/note_store/stored_note.d.ts.map +1 -0
- package/dest/storage/note_store/stored_note.js +43 -0
- package/dest/storage/private_event_store/private_event_store.d.ts +47 -7
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
- package/dest/storage/private_event_store/private_event_store.js +231 -73
- package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
- package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
- package/dest/storage/private_event_store/stored_private_event.js +56 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +15 -8
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/recipient_tagging_store.js +88 -19
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +1 -1
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_address_book_store.js +20 -14
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +19 -9
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +253 -101
- package/dest/tagging/constants.d.ts +2 -0
- package/dest/tagging/constants.d.ts.map +1 -0
- package/dest/tagging/constants.js +10 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
- package/dest/tagging/get_all_logs_by_tags.js +60 -0
- package/dest/tagging/index.d.ts +3 -2
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +2 -10
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +3 -2
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +12 -12
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +3 -2
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +5 -2
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +3 -2
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +8 -8
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +1 -1
- 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 +5 -8
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +5 -2
- 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 +10 -5
- package/package.json +27 -18
- package/src/access_scopes.ts +9 -0
- package/src/bin/check_oracle_version.ts +1 -0
- package/src/block_synchronizer/block_synchronizer.ts +93 -32
- package/src/config/index.ts +14 -0
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/benchmarked_node.ts +103 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +350 -143
- package/src/contract_function_simulator/execution_note_cache.ts +44 -25
- package/src/contract_function_simulator/index.ts +1 -1
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +6 -2
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +2 -2
- package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
- package/src/contract_function_simulator/oracle/interfaces.ts +22 -12
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +10 -10
- package/src/contract_function_simulator/oracle/oracle.ts +79 -47
- package/src/contract_function_simulator/oracle/private_execution.ts +1 -69
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +119 -137
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +198 -115
- package/src/contract_logging.ts +39 -0
- package/src/contract_sync/contract_sync_service.ts +152 -0
- package/src/contract_sync/helpers.ts +98 -0
- package/src/debug/pxe_debug_utils.ts +63 -18
- package/src/entrypoints/client/bundle/index.ts +3 -0
- package/src/entrypoints/client/bundle/utils.ts +23 -16
- package/src/entrypoints/client/lazy/index.ts +3 -0
- package/src/entrypoints/client/lazy/utils.ts +24 -17
- package/src/entrypoints/pxe_creation_options.ts +4 -2
- package/src/entrypoints/server/index.ts +4 -0
- package/src/entrypoints/server/utils.ts +33 -41
- package/src/events/event_service.ts +19 -25
- package/src/events/private_event_filter_validator.ts +3 -5
- package/src/job_coordinator/job_coordinator.ts +150 -0
- package/src/logs/log_service.ts +40 -34
- package/src/notes/note_service.ts +41 -45
- package/src/notes_filter.ts +26 -0
- package/src/oracle_version.ts +4 -3
- package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
- package/src/private_kernel/hints/index.ts +2 -2
- package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +39 -28
- package/src/private_kernel/private_kernel_execution_prover.ts +15 -14
- package/src/private_kernel/private_kernel_oracle.ts +116 -36
- package/src/pxe.ts +280 -209
- package/src/storage/address_store/address_store.ts +15 -15
- package/src/storage/anchor_block_store/anchor_block_store.ts +8 -0
- package/src/storage/capsule_store/capsule_store.ts +159 -23
- package/src/storage/contract_store/contract_store.ts +186 -96
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/note_store.ts +326 -320
- package/src/storage/note_store/stored_note.ts +48 -0
- package/src/storage/private_event_store/private_event_store.ts +301 -79
- package/src/storage/private_event_store/stored_private_event.ts +73 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +106 -20
- package/src/storage/tagging_store/sender_address_book_store.ts +20 -14
- package/src/storage/tagging_store/sender_tagging_store.ts +294 -109
- package/src/tagging/constants.ts +10 -0
- package/src/tagging/get_all_logs_by_tags.ts +92 -0
- package/src/tagging/index.ts +2 -11
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +25 -11
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +7 -1
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +10 -7
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +5 -13
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +16 -4
- package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
- package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_node.js +0 -27
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -46
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
- package/dest/public_storage/public_storage_service.d.ts +0 -24
- package/dest/public_storage/public_storage_service.d.ts.map +0 -1
- package/dest/public_storage/public_storage_service.js +0 -26
- package/dest/tree_membership/tree_membership_service.d.ts +0 -52
- package/dest/tree_membership/tree_membership_service.d.ts.map +0 -1
- package/dest/tree_membership/tree_membership_service.js +0 -84
- package/src/contract_function_simulator/proxied_node.ts +0 -33
- package/src/private_kernel/private_kernel_oracle_impl.ts +0 -133
- package/src/public_storage/public_storage_service.ts +0 -33
- package/src/tree_membership/tree_membership_service.ts +0 -112
|
@@ -23,24 +23,24 @@ function fromRawData(nonzeroNoteHashCounter, maybeNoteNonce) {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Packs a note in a format that is compatible with the default Packable implementation of the
|
|
26
|
+
* Packs a note in a format that is compatible with the default Packable implementation of the hinted note.
|
|
27
27
|
*
|
|
28
28
|
* @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
|
|
29
|
-
* and only after that it packs the
|
|
29
|
+
* and only after that it packs the hinted note. Hence it doesn't map one to one with `HintedNote::pack()`.
|
|
30
30
|
*
|
|
31
31
|
* @param contractAddress - The address of the contract that owns the note
|
|
32
32
|
* @param owner - The owner of the note
|
|
33
33
|
* @param randomness - The randomness injected into the note to get the hiding property of commitments
|
|
34
34
|
* @param storageSlot - The storage slot of the note
|
|
35
35
|
* @param noteNonce - The nonce injected into the note hash preimage by kernels.
|
|
36
|
-
* @param
|
|
36
|
+
* @param isPending - True if the note is pending, false if settled
|
|
37
37
|
* @param note - The note content containing the actual note data
|
|
38
38
|
* @returns The packed note as an array of field elements
|
|
39
|
-
*/ export function
|
|
40
|
-
// If
|
|
41
|
-
const
|
|
42
|
-
// To pack the note as
|
|
43
|
-
const noteMetadata = fromRawData(
|
|
39
|
+
*/ export function packAsHintedNote({ contractAddress, owner, randomness, storageSlot, noteNonce, isPending, note }) {
|
|
40
|
+
// If the note is pending it means it has a non-zero note hash counter associated with it.
|
|
41
|
+
const nonZeroNoteHashCounter = isPending;
|
|
42
|
+
// To pack the note as hinted note we first need to reconstruct the note metadata.
|
|
43
|
+
const noteMetadata = fromRawData(nonZeroNoteHashCounter, noteNonce);
|
|
44
44
|
// Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
|
|
45
45
|
return [
|
|
46
46
|
...note.items,
|
|
@@ -20,22 +20,24 @@ export declare class Oracle {
|
|
|
20
20
|
utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]>;
|
|
21
21
|
utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
|
|
22
22
|
utilityGetContractInstance([address]: ACVMField[]): Promise<ACVMField[]>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
utilityGetNoteHashMembershipWitness([anchorBlockHash]: ACVMField[], [noteHash]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
24
|
+
utilityGetBlockHashMembershipWitness([anchorBlockHash]: ACVMField[], [blockHash]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
25
|
+
utilityGetNullifierMembershipWitness([blockHash]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
26
|
+
utilityGetLowNullifierMembershipWitness([blockHash]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
27
|
+
utilityGetPublicDataWitness([blockHash]: ACVMField[], [leafSlot]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
27
28
|
utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
|
|
28
29
|
utilityGetAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]>;
|
|
29
|
-
|
|
30
|
-
utilityGetNotes([ownerSome]: ACVMField[], [ownerValue]: ACVMField[], [storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [
|
|
30
|
+
utilityTryGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
31
|
+
utilityGetNotes([ownerSome]: ACVMField[], [ownerValue]: ACVMField[], [storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [packedHintedNoteLength]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
31
32
|
privateNotifyCreatedNote([owner]: ACVMField[], [storageSlot]: ACVMField[], [randomness]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
32
33
|
privateNotifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
33
34
|
privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
|
|
35
|
+
privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]>;
|
|
34
36
|
utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
|
|
35
37
|
utilityGetL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
36
|
-
utilityStorageRead([
|
|
38
|
+
utilityStorageRead([blockHash]: ACVMField[], [contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[][]>;
|
|
37
39
|
privateNotifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [length]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
38
|
-
|
|
40
|
+
utilityLog(level: ACVMField[], message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): Promise<ACVMField[]>;
|
|
39
41
|
privateCallPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[][]>;
|
|
40
42
|
privateNotifyEnqueuedPublicFunctionCall([contractAddress]: ACVMField[], [calldataHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
|
|
41
43
|
privateNotifySetPublicTeardownFunctionCall([contractAddress]: ACVMField[], [calldataHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
|
|
@@ -43,7 +45,7 @@ export declare class Oracle {
|
|
|
43
45
|
privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
|
|
44
46
|
privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
|
|
45
47
|
utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
|
|
46
|
-
|
|
48
|
+
utilityValidateAndStoreEnqueuedNotesAndEvents([contractAddress]: ACVMField[], [noteValidationRequestsArrayBaseSlot]: ACVMField[], [eventValidationRequestsArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
|
|
47
49
|
utilityBulkRetrieveLogs([contractAddress]: ACVMField[], [logRetrievalRequestsArrayBaseSlot]: ACVMField[], [logRetrievalResponsesArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
|
|
48
50
|
utilityStoreCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<ACVMField[]>;
|
|
49
51
|
utilityLoadCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
@@ -55,4 +57,4 @@ export declare class Oracle {
|
|
|
55
57
|
privateGetSenderForTags(): Promise<ACVMField[]>;
|
|
56
58
|
privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]>;
|
|
57
59
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFNBQVMsRUFNZixNQUFNLHlCQUF5QixDQUFDO0FBTWpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3JHLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ0wsT0FBTyxDQUFDLE9BQU87SUFBM0IsWUFBb0IsT0FBTyxFQUFFLFdBQVcsR0FBRyx1QkFBdUIsR0FBRyx1QkFBdUIsRUFBSTtJQUVoRyxPQUFPLENBQUMsYUFBYTtJQVFyQixPQUFPLENBQUMsZ0JBQWdCO0lBUXhCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsY0FBYyxJQUFJLFlBQVksQ0FvQzdCO0lBRUQsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsb0JBRzFEO0lBRUQscUJBQXFCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzVDO0lBRUQsNEJBQTRCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzNGO0lBRUssNkJBQTZCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUd0RjtJQUVELHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAMf,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGrG,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED;;GAEG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,OAAO;IAA3B,YAAoB,OAAO,EAAE,WAAW,GAAG,uBAAuB,GAAG,uBAAuB,EAAI;IAEhG,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB,cAAc,IAAI,YAAY,CAoC7B;IAED,oCAAoC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,oBAG1D;IAED,qBAAqB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAG5C;IAED,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAG3F;IAEK,6BAA6B,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAGtF;IAED,wBAAwB,IAAI,OAAO,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,CAG/D;IAEK,8BAA8B,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAIjF;IAEK,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAY7E;IAEK,
|
|
1
|
+
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
|
4
4
|
import { arrayOfArraysToBoundedVecOfArrays, bufferToBoundedVec, fromUintArray, fromUintBoundedVec, toACVMField } from '@aztec/simulator/client';
|
|
5
5
|
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
6
6
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
+
import { BlockHash } from '@aztec/stdlib/block';
|
|
7
8
|
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
8
|
-
import {
|
|
9
|
-
import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
9
|
+
import { packAsHintedNote } from './note_packing_utils.js';
|
|
10
10
|
export class UnavailableOracleError extends Error {
|
|
11
11
|
constructor(oracleName){
|
|
12
12
|
super(`${oracleName} oracles not available with the current handler`);
|
|
@@ -104,43 +104,48 @@ export class UnavailableOracleError extends Error {
|
|
|
104
104
|
...instance.publicKeys.toFields()
|
|
105
105
|
].map(toACVMField);
|
|
106
106
|
}
|
|
107
|
-
async
|
|
108
|
-
const
|
|
109
|
-
const
|
|
110
|
-
const
|
|
111
|
-
const witness = await this.handlerAsUtility().utilityGetMembershipWitness(BlockNumber(parsedBlockNumber), parsedTreeId, parsedLeafValue);
|
|
107
|
+
async utilityGetNoteHashMembershipWitness([anchorBlockHash], [noteHash]) {
|
|
108
|
+
const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
|
|
109
|
+
const parsedNoteHash = Fr.fromString(noteHash);
|
|
110
|
+
const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(parsedAnchorBlockHash, parsedNoteHash);
|
|
112
111
|
if (!witness) {
|
|
113
|
-
throw new Error(`
|
|
112
|
+
throw new Error(`Note hash ${noteHash} not found in the note hash tree at anchor block hash ${parsedAnchorBlockHash.toString()}.`);
|
|
114
113
|
}
|
|
115
|
-
return
|
|
116
|
-
toACVMField(witness[0]),
|
|
117
|
-
witness.slice(1).map(toACVMField)
|
|
118
|
-
];
|
|
114
|
+
return witness.toNoirRepresentation();
|
|
119
115
|
}
|
|
120
|
-
async
|
|
121
|
-
const
|
|
116
|
+
async utilityGetBlockHashMembershipWitness([anchorBlockHash], [blockHash]) {
|
|
117
|
+
const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
|
|
118
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
119
|
+
const witness = await this.handlerAsUtility().utilityGetBlockHashMembershipWitness(parsedAnchorBlockHash, parsedBlockHash);
|
|
120
|
+
if (!witness) {
|
|
121
|
+
throw new Error(`Block hash ${parsedBlockHash.toString()} not found in the archive tree at anchor block ${parsedAnchorBlockHash.toString()}.`);
|
|
122
|
+
}
|
|
123
|
+
return witness.toNoirRepresentation();
|
|
124
|
+
}
|
|
125
|
+
async utilityGetNullifierMembershipWitness([blockHash], [nullifier]) {
|
|
126
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
122
127
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
123
|
-
const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
|
|
128
|
+
const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
|
|
124
129
|
if (!witness) {
|
|
125
|
-
throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${
|
|
130
|
+
throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`);
|
|
126
131
|
}
|
|
127
132
|
return witness.toNoirRepresentation();
|
|
128
133
|
}
|
|
129
|
-
async utilityGetLowNullifierMembershipWitness([
|
|
130
|
-
const
|
|
134
|
+
async utilityGetLowNullifierMembershipWitness([blockHash], [nullifier]) {
|
|
135
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
131
136
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
132
|
-
const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
|
|
137
|
+
const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
|
|
133
138
|
if (!witness) {
|
|
134
|
-
throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${
|
|
139
|
+
throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`);
|
|
135
140
|
}
|
|
136
141
|
return witness.toNoirRepresentation();
|
|
137
142
|
}
|
|
138
|
-
async utilityGetPublicDataWitness([
|
|
139
|
-
const
|
|
143
|
+
async utilityGetPublicDataWitness([blockHash], [leafSlot]) {
|
|
144
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
140
145
|
const parsedLeafSlot = Fr.fromString(leafSlot);
|
|
141
|
-
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(
|
|
146
|
+
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
|
|
142
147
|
if (!witness) {
|
|
143
|
-
throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${
|
|
148
|
+
throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`);
|
|
144
149
|
}
|
|
145
150
|
return witness.toNoirRepresentation();
|
|
146
151
|
}
|
|
@@ -162,33 +167,45 @@ export class UnavailableOracleError extends Error {
|
|
|
162
167
|
witness.map(toACVMField)
|
|
163
168
|
];
|
|
164
169
|
}
|
|
165
|
-
async
|
|
170
|
+
async utilityTryGetPublicKeysAndPartialAddress([address]) {
|
|
166
171
|
const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
|
|
167
|
-
const
|
|
168
|
-
return
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
const result = await this.handlerAsUtility().utilityTryGetPublicKeysAndPartialAddress(parsedAddress);
|
|
173
|
+
// We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
|
|
174
|
+
// with two fields: `some` (a boolean) and `value` (a field array in this case).
|
|
175
|
+
if (result === undefined) {
|
|
176
|
+
// No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
|
|
177
|
+
return [
|
|
178
|
+
toACVMField(0),
|
|
179
|
+
Array(13).fill(toACVMField(0))
|
|
180
|
+
];
|
|
181
|
+
} else {
|
|
182
|
+
// Data was found so we set `some` to 1 and return it along with `value`.
|
|
183
|
+
return [
|
|
184
|
+
toACVMField(1),
|
|
185
|
+
[
|
|
186
|
+
...result.publicKeys.toFields(),
|
|
187
|
+
result.partialAddress
|
|
188
|
+
].map(toACVMField)
|
|
189
|
+
];
|
|
190
|
+
}
|
|
174
191
|
}
|
|
175
|
-
async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [
|
|
192
|
+
async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedHintedNoteLength]) {
|
|
176
193
|
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
177
194
|
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
178
195
|
const noteDatas = await this.handlerAsUtility().utilityGetNotes(owner, Fr.fromString(storageSlot), +numSelects, selectByIndexes.map((s)=>+s), selectByOffsets.map((s)=>+s), selectByLengths.map((s)=>+s), selectValues.map(Fr.fromString), selectComparators.map((s)=>+s), sortByIndexes.map((s)=>+s), sortByOffsets.map((s)=>+s), sortByLengths.map((s)=>+s), sortOrder.map((s)=>+s), +limit, +offset, +status);
|
|
179
|
-
const
|
|
196
|
+
const returnDataAsArrayOfPackedHintedNotes = noteDatas.map((noteData)=>packAsHintedNote({
|
|
180
197
|
contractAddress: noteData.contractAddress,
|
|
181
198
|
owner: noteData.owner,
|
|
182
199
|
randomness: noteData.randomness,
|
|
183
200
|
storageSlot: noteData.storageSlot,
|
|
184
201
|
noteNonce: noteData.noteNonce,
|
|
185
|
-
|
|
202
|
+
isPending: noteData.isPending,
|
|
186
203
|
note: noteData.note
|
|
187
204
|
}));
|
|
188
205
|
// Now we convert each sub-array to an array of ACVMField
|
|
189
|
-
const returnDataAsArrayOfACVMFieldArrays =
|
|
206
|
+
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map((subArray)=>subArray.map(toACVMField));
|
|
190
207
|
// At last we convert the array of arrays to a bounded vec of arrays
|
|
191
|
-
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +
|
|
208
|
+
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
|
|
192
209
|
}
|
|
193
210
|
privateNotifyCreatedNote([owner], [storageSlot], [randomness], [noteTypeId], note, [noteHash], [counter]) {
|
|
194
211
|
this.handlerAsPrivate().privateNotifyCreatedNote(AztecAddress.fromString(owner), Fr.fromString(storageSlot), Fr.fromString(randomness), NoteSelector.fromField(Fr.fromString(noteTypeId)), note.map(Fr.fromString), Fr.fromString(noteHash), +counter);
|
|
@@ -202,6 +219,12 @@ export class UnavailableOracleError extends Error {
|
|
|
202
219
|
await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
|
|
203
220
|
return [];
|
|
204
221
|
}
|
|
222
|
+
async privateIsNullifierPending([innerNullifier], [contractAddress]) {
|
|
223
|
+
const isPending = await this.handlerAsPrivate().privateIsNullifierPending(Fr.fromString(innerNullifier), AztecAddress.fromString(contractAddress));
|
|
224
|
+
return [
|
|
225
|
+
toACVMField(isPending)
|
|
226
|
+
];
|
|
227
|
+
}
|
|
205
228
|
async utilityCheckNullifierExists([innerNullifier]) {
|
|
206
229
|
const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
|
|
207
230
|
return [
|
|
@@ -212,8 +235,8 @@ export class UnavailableOracleError extends Error {
|
|
|
212
235
|
const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(AztecAddress.fromString(contractAddress), Fr.fromString(messageHash), Fr.fromString(secret));
|
|
213
236
|
return message.toNoirRepresentation();
|
|
214
237
|
}
|
|
215
|
-
async utilityStorageRead([
|
|
216
|
-
const values = await this.handlerAsUtility().utilityStorageRead(new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot),
|
|
238
|
+
async utilityStorageRead([blockHash], [contractAddress], [startStorageSlot], [numberOfElements]) {
|
|
239
|
+
const values = await this.handlerAsUtility().utilityStorageRead(BlockHash.fromString(blockHash), new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), +numberOfElements);
|
|
217
240
|
return [
|
|
218
241
|
values.map(toACVMField)
|
|
219
242
|
];
|
|
@@ -224,12 +247,12 @@ export class UnavailableOracleError extends Error {
|
|
|
224
247
|
this.handlerAsPrivate().privateNotifyCreatedContractClassLog(log, +counter);
|
|
225
248
|
return Promise.resolve([]);
|
|
226
249
|
}
|
|
227
|
-
|
|
250
|
+
async utilityLog(level, message, _ignoredFieldsSize, fields) {
|
|
228
251
|
const levelFr = Fr.fromString(level[0]);
|
|
229
252
|
const messageStr = message.map((acvmField)=>String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
|
|
230
253
|
const fieldsFr = fields.map(Fr.fromString);
|
|
231
|
-
this.handlerAsMisc().
|
|
232
|
-
return
|
|
254
|
+
await this.handlerAsMisc().utilityLog(levelFr.toNumber(), messageStr, fieldsFr);
|
|
255
|
+
return [];
|
|
233
256
|
}
|
|
234
257
|
// This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
|
|
235
258
|
// change the name here.
|
|
@@ -270,8 +293,8 @@ export class UnavailableOracleError extends Error {
|
|
|
270
293
|
await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
|
|
271
294
|
return [];
|
|
272
295
|
}
|
|
273
|
-
async
|
|
274
|
-
await this.handlerAsUtility().
|
|
296
|
+
async utilityValidateAndStoreEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot]) {
|
|
297
|
+
await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot));
|
|
275
298
|
return [];
|
|
276
299
|
}
|
|
277
300
|
async utilityBulkRetrieveLogs([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot]) {
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
1
|
import { type ACVMWitness, type CircuitSimulator } from '@aztec/simulator/client';
|
|
4
2
|
import { type FunctionArtifact, type FunctionArtifactWithContractName, type FunctionSelector } from '@aztec/stdlib/abi';
|
|
5
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import type { ContractInstance } from '@aztec/stdlib/contract';
|
|
7
|
-
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
8
4
|
import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
9
|
-
import {
|
|
10
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
11
|
-
import { ContractStore } from '../../storage/contract_store/index.js';
|
|
5
|
+
import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
12
6
|
import type { PrivateExecutionOracle } from './private_execution_oracle.js';
|
|
13
7
|
/**
|
|
14
8
|
* Execute a private function and return the execution result.
|
|
@@ -26,22 +20,4 @@ export declare function executePrivateFunction(simulator: CircuitSimulator, priv
|
|
|
26
20
|
* @returns - The public inputs.
|
|
27
21
|
*/
|
|
28
22
|
export declare function extractPrivateCircuitPublicInputs(artifact: FunctionArtifact, partialWitness: ACVMWitness): PrivateCircuitPublicInputs;
|
|
29
|
-
|
|
30
|
-
* Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
|
|
31
|
-
* from the instance is used.
|
|
32
|
-
* @param contractAddress - The address of the contract to read the class id for.
|
|
33
|
-
* @param instance - The instance of the contract.
|
|
34
|
-
* @param executionStore - The execution data provider.
|
|
35
|
-
* @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
|
|
36
|
-
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
37
|
-
* @returns The current class id.
|
|
38
|
-
*/
|
|
39
|
-
export declare function readCurrentClassId(contractAddress: AztecAddress, instance: ContractInstance, aztecNode: AztecNode, blockNumber: BlockNumber, timestamp: UInt64): Promise<Fr>;
|
|
40
|
-
/**
|
|
41
|
-
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in contract data
|
|
42
|
-
* provider (i.e. PXE's own storage).
|
|
43
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
|
|
44
|
-
* header of the execution data provider is used.
|
|
45
|
-
*/
|
|
46
|
-
export declare function verifyCurrentClassId(contractAddress: AztecAddress, aztecNode: AztecNode, contractStore: ContractStore, header: BlockHeader): Promise<void>;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQsT0FBTyxFQUNMLEtBQUssV0FBVyxFQUNoQixLQUFLLGdCQUFnQixFQUt0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixLQUFLLGdDQUFnQyxFQUNyQyxLQUFLLGdCQUFnQixFQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTZFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0Isa0JBQWtCLENBQ3RDLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsU0FBUyxFQUFFLE1BQU0sZUFXbEI7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQixvQkFBb0IsQ0FDeEMsZUFBZSxFQUFFLFlBQVksRUFDN0IsU0FBUyxFQUFFLFNBQVMsRUFDcEIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsTUFBTSxFQUFFLFdBQVcsaUJBbUJwQiJ9
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFLdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTJFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA2ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B"}
|
|
@@ -2,10 +2,8 @@ import { PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, PRIVATE_CONTEXT_INPUTS_LENGTH } f
|
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
5
|
-
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
6
5
|
import { ExecutionError, extractCallStack, resolveAssertionMessageFromError, witnessMapToFields } from '@aztec/simulator/client';
|
|
7
6
|
import { countArgumentsSize } from '@aztec/stdlib/abi';
|
|
8
|
-
import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
|
|
9
7
|
import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
10
8
|
import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
11
9
|
import { Oracle } from './oracle.js';
|
|
@@ -48,7 +46,6 @@ import { Oracle } from './oracle.js';
|
|
|
48
46
|
});
|
|
49
47
|
const contractClassLogs = privateExecutionOracle.getContractClassLogs();
|
|
50
48
|
const rawReturnValues = await privateExecutionOracle.privateLoadFromExecutionCache(publicInputs.returnsHash);
|
|
51
|
-
const noteHashLeafIndexMap = privateExecutionOracle.getNoteHashLeafIndexMap();
|
|
52
49
|
const newNotes = privateExecutionOracle.getNewNotes();
|
|
53
50
|
const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
|
|
54
51
|
const offchainEffects = privateExecutionOracle.getOffchainEffects();
|
|
@@ -62,7 +59,7 @@ import { Oracle } from './oracle.js';
|
|
|
62
59
|
timerSubtractionList = timerSubtractionList.flatMap((nested)=>nested.nestedExecutionResults ?? []);
|
|
63
60
|
}
|
|
64
61
|
log.debug(`Returning from call to ${contractAddress.toString()}:${functionSelector}`);
|
|
65
|
-
return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs,
|
|
62
|
+
return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects, preTags, nestedExecutionResults, contractClassLogs, {
|
|
66
63
|
timings: {
|
|
67
64
|
witgen: witgenTime,
|
|
68
65
|
oracles: acirExecutionResult.oracles
|
|
@@ -88,36 +85,3 @@ import { Oracle } from './oracle.js';
|
|
|
88
85
|
}
|
|
89
86
|
return PrivateCircuitPublicInputs.fromFields(returnData);
|
|
90
87
|
}
|
|
91
|
-
/**
|
|
92
|
-
* Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
|
|
93
|
-
* from the instance is used.
|
|
94
|
-
* @param contractAddress - The address of the contract to read the class id for.
|
|
95
|
-
* @param instance - The instance of the contract.
|
|
96
|
-
* @param executionStore - The execution data provider.
|
|
97
|
-
* @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
|
|
98
|
-
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
99
|
-
* @returns The current class id.
|
|
100
|
-
*/ export async function readCurrentClassId(contractAddress, instance, aztecNode, blockNumber, timestamp) {
|
|
101
|
-
const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
|
|
102
|
-
const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, (slot)=>aztecNode.getPublicStorageAt(blockNumber, ProtocolContractAddress.ContractInstanceRegistry, slot));
|
|
103
|
-
let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
|
|
104
|
-
if (currentClassId.isZero()) {
|
|
105
|
-
currentClassId = instance.originalContractClassId;
|
|
106
|
-
}
|
|
107
|
-
return currentClassId;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in contract data
|
|
111
|
-
* provider (i.e. PXE's own storage).
|
|
112
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
|
|
113
|
-
* header of the execution data provider is used.
|
|
114
|
-
*/ export async function verifyCurrentClassId(contractAddress, aztecNode, contractStore, header) {
|
|
115
|
-
const instance = await contractStore.getContractInstance(contractAddress);
|
|
116
|
-
if (!instance) {
|
|
117
|
-
throw new Error(`No contract instance found for address ${contractAddress.toString()}`);
|
|
118
|
-
}
|
|
119
|
-
const currentClassId = await readCurrentClassId(contractAddress, instance, aztecNode, header.globalVariables.blockNumber, header.globalVariables.timestamp);
|
|
120
|
-
if (!instance.currentContractClassId.equals(currentClassId)) {
|
|
121
|
-
throw new Error(`Contract ${contractAddress} is outdated, current class id is ${currentClassId}, local class id is ${instance.currentContractClassId}`);
|
|
122
|
-
}
|
|
123
|
-
}
|