@aztec/pxe 0.0.1-commit.2448fdb → 0.0.1-commit.2606882
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 +5 -3
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +21 -11
- package/dest/config/index.d.ts +8 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +13 -15
- 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 +20 -12
- 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 +27 -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 +55 -47
- 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 +30 -9
- 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 +54 -7
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +126 -84
- 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/private_event_store/stored_private_event.js +1 -1
- 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 +22 -12
- package/src/config/index.ts +15 -9
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +34 -11
- 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 +74 -67
- 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 +54 -19
- 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 +208 -85
- 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/private_event_store/stored_private_event.ts +1 -1
- 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,24 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
4
|
-
import {
|
|
5
|
-
type ACIRCallback,
|
|
6
|
-
type ACVMField,
|
|
7
|
-
arrayOfArraysToBoundedVecOfArrays,
|
|
8
|
-
bufferToBoundedVec,
|
|
9
|
-
fromUintArray,
|
|
10
|
-
fromUintBoundedVec,
|
|
11
|
-
toACVMField,
|
|
12
|
-
} from '@aztec/simulator/client';
|
|
13
|
-
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
14
|
-
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
-
import { BlockHash } from '@aztec/stdlib/block';
|
|
16
|
-
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
1
|
+
import type { ACIRCallback, ACVMField } from '@aztec/simulator/client';
|
|
17
2
|
|
|
18
3
|
import { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR } from '../../oracle_version.js';
|
|
19
4
|
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
20
|
-
import {
|
|
21
|
-
import { packAsHintedNote } from './note_packing_utils.js';
|
|
5
|
+
import { callHandler } from './oracle_registry.js';
|
|
22
6
|
|
|
23
7
|
export class UnavailableOracleError extends Error {
|
|
24
8
|
constructor(oracleName: string) {
|
|
@@ -49,7 +33,7 @@ export class UnavailableOracleError extends Error {
|
|
|
49
33
|
* - Standalone verbs (`delete`, `copy`, `decrypt`, `log`, etc) are used when no generic verb fits.
|
|
50
34
|
*/
|
|
51
35
|
export class Oracle {
|
|
52
|
-
constructor(private handler: IMiscOracle
|
|
36
|
+
constructor(private handler: IMiscOracle & (IUtilityExecutionOracle | IPrivateExecutionOracle)) {}
|
|
53
37
|
|
|
54
38
|
private handlerAsMisc(): IMiscOracle {
|
|
55
39
|
if (!('isMisc' in this.handler)) {
|
|
@@ -93,9 +77,9 @@ export class Oracle {
|
|
|
93
77
|
// Validate oracle names - these must be prefixed with either "aztec_prv_" or "aztec_utl_" to indicate their scope
|
|
94
78
|
// and must correspond to a function on the Oracle class.
|
|
95
79
|
oracleNames.forEach(name => {
|
|
96
|
-
if (!name.startsWith('aztec_prv_') && !name.startsWith('aztec_utl_')) {
|
|
80
|
+
if (!name.startsWith('aztec_prv_') && !name.startsWith('aztec_utl_') && !name.startsWith('aztec_misc_')) {
|
|
97
81
|
throw new Error(
|
|
98
|
-
`Oracle function "${name}" must be prefixed with
|
|
82
|
+
`Oracle function "${name}" must be prefixed with "aztec_prv_", "aztec_utl_", or "aztec_misc_" to indicate its scope`,
|
|
99
83
|
);
|
|
100
84
|
}
|
|
101
85
|
|
|
@@ -112,13 +96,11 @@ export class Oracle {
|
|
|
112
96
|
return acc;
|
|
113
97
|
}, {} as ACIRCallback);
|
|
114
98
|
|
|
115
|
-
const allCallbacks = { ...callback, ...buildLegacyOracleCallbacks(this) };
|
|
116
|
-
|
|
117
99
|
// Wrap in a Proxy to intercept access to missing oracle names and provide enhanced error messages when the
|
|
118
100
|
// contract's minor version is higher than the PXE's (i.e. the contract expects oracles that were added in a newer
|
|
119
101
|
// minor version).
|
|
120
102
|
const handler = this.handler;
|
|
121
|
-
return new Proxy(
|
|
103
|
+
return new Proxy(callback, {
|
|
122
104
|
get(target, prop: string) {
|
|
123
105
|
if (prop in target) {
|
|
124
106
|
return target[prop];
|
|
@@ -168,694 +150,562 @@ export class Oracle {
|
|
|
168
150
|
}
|
|
169
151
|
|
|
170
152
|
// eslint-disable-next-line camelcase
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
153
|
+
aztec_misc_assertCompatibleOracleVersion(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
154
|
+
return callHandler({
|
|
155
|
+
oracle: 'aztec_misc_assertCompatibleOracleVersion',
|
|
156
|
+
inputs,
|
|
157
|
+
handler: ([major, minor]) => {
|
|
158
|
+
this.handlerAsMisc().assertCompatibleOracleVersion(major, minor);
|
|
159
|
+
},
|
|
160
|
+
});
|
|
177
161
|
}
|
|
178
162
|
|
|
179
163
|
// eslint-disable-next-line camelcase
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
164
|
+
aztec_misc_getRandomField(): Promise<(ACVMField | ACVMField[])[]> {
|
|
165
|
+
return callHandler({
|
|
166
|
+
oracle: 'aztec_misc_getRandomField',
|
|
167
|
+
inputs: [],
|
|
168
|
+
handler: () => this.handlerAsMisc().getRandomField(),
|
|
169
|
+
});
|
|
183
170
|
}
|
|
184
171
|
|
|
185
172
|
// eslint-disable-next-line camelcase
|
|
186
|
-
aztec_prv_setHashPreimage(
|
|
187
|
-
|
|
188
|
-
|
|
173
|
+
aztec_prv_setHashPreimage(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
174
|
+
return callHandler({
|
|
175
|
+
oracle: 'aztec_prv_setHashPreimage',
|
|
176
|
+
inputs,
|
|
177
|
+
handler: ([values, hash]) => {
|
|
178
|
+
this.handlerAsPrivate().setHashPreimage(values, hash);
|
|
179
|
+
},
|
|
180
|
+
});
|
|
189
181
|
}
|
|
190
182
|
|
|
191
183
|
// eslint-disable-next-line camelcase
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
184
|
+
aztec_prv_getHashPreimage(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
185
|
+
return callHandler({
|
|
186
|
+
oracle: 'aztec_prv_getHashPreimage',
|
|
187
|
+
inputs,
|
|
188
|
+
handler: ([returnsHash]) => this.handlerAsPrivate().getHashPreimage(returnsHash),
|
|
189
|
+
});
|
|
195
190
|
}
|
|
196
191
|
|
|
197
192
|
// eslint-disable-next-line camelcase
|
|
198
193
|
aztec_utl_getUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
|
|
199
|
-
|
|
200
|
-
|
|
194
|
+
return callHandler({
|
|
195
|
+
oracle: 'aztec_utl_getUtilityContext',
|
|
196
|
+
inputs: [],
|
|
197
|
+
handler: () => this.handlerAsUtility().getUtilityContext(),
|
|
198
|
+
});
|
|
201
199
|
}
|
|
202
200
|
|
|
203
201
|
// eslint-disable-next-line camelcase
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
202
|
+
aztec_utl_getKeyValidationRequest(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
203
|
+
return callHandler({
|
|
204
|
+
oracle: 'aztec_utl_getKeyValidationRequest',
|
|
205
|
+
inputs,
|
|
206
|
+
handler: ([pkMHash]) => this.handlerAsUtility().getKeyValidationRequest(pkMHash),
|
|
207
|
+
});
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
// eslint-disable-next-line camelcase
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
instance.currentContractClassId,
|
|
218
|
-
instance.initializationHash,
|
|
219
|
-
...instance.publicKeys.toFields(),
|
|
220
|
-
].map(toACVMField);
|
|
211
|
+
aztec_utl_getContractInstance(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
212
|
+
return callHandler({
|
|
213
|
+
oracle: 'aztec_utl_getContractInstance',
|
|
214
|
+
inputs,
|
|
215
|
+
handler: ([address]) => this.handlerAsUtility().getContractInstance(address),
|
|
216
|
+
});
|
|
221
217
|
}
|
|
222
218
|
|
|
223
219
|
// eslint-disable-next-line camelcase
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
const witness = await this.handlerAsUtility().getNoteHashMembershipWitness(parsedAnchorBlockHash, parsedNoteHash);
|
|
232
|
-
if (!witness) {
|
|
233
|
-
throw new Error(
|
|
234
|
-
`Note hash ${noteHash} not found in the note hash tree at anchor block hash ${parsedAnchorBlockHash.toString()}.`,
|
|
235
|
-
);
|
|
236
|
-
}
|
|
237
|
-
return witness.toNoirRepresentation();
|
|
220
|
+
aztec_utl_getNoteHashMembershipWitness(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
221
|
+
return callHandler({
|
|
222
|
+
oracle: 'aztec_utl_getNoteHashMembershipWitness',
|
|
223
|
+
inputs,
|
|
224
|
+
handler: ([anchorBlockHash, noteHash]) =>
|
|
225
|
+
this.handlerAsUtility().getNoteHashMembershipWitness(anchorBlockHash, noteHash),
|
|
226
|
+
});
|
|
238
227
|
}
|
|
239
228
|
|
|
240
229
|
// eslint-disable-next-line camelcase
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
const witness = await this.handlerAsUtility().getBlockHashMembershipWitness(parsedAnchorBlockHash, parsedBlockHash);
|
|
249
|
-
if (!witness) {
|
|
250
|
-
throw new Error(
|
|
251
|
-
`Block hash ${parsedBlockHash.toString()} not found in the archive tree at anchor block ${parsedAnchorBlockHash.toString()}.`,
|
|
252
|
-
);
|
|
253
|
-
}
|
|
254
|
-
return witness.toNoirRepresentation();
|
|
230
|
+
aztec_utl_getBlockHashMembershipWitness(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
231
|
+
return callHandler({
|
|
232
|
+
oracle: 'aztec_utl_getBlockHashMembershipWitness',
|
|
233
|
+
inputs,
|
|
234
|
+
handler: ([anchorBlockHash, blockHash]) =>
|
|
235
|
+
this.handlerAsUtility().getBlockHashMembershipWitness(anchorBlockHash, blockHash),
|
|
236
|
+
});
|
|
255
237
|
}
|
|
256
238
|
|
|
257
239
|
// eslint-disable-next-line camelcase
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
const witness = await this.handlerAsUtility().getNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
|
|
266
|
-
if (!witness) {
|
|
267
|
-
throw new Error(
|
|
268
|
-
`Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
|
|
269
|
-
);
|
|
270
|
-
}
|
|
271
|
-
return witness.toNoirRepresentation();
|
|
240
|
+
aztec_utl_getNullifierMembershipWitness(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
241
|
+
return callHandler({
|
|
242
|
+
oracle: 'aztec_utl_getNullifierMembershipWitness',
|
|
243
|
+
inputs,
|
|
244
|
+
handler: ([blockHash, nullifier]) => this.handlerAsUtility().getNullifierMembershipWitness(blockHash, nullifier),
|
|
245
|
+
});
|
|
272
246
|
}
|
|
273
247
|
|
|
274
248
|
// eslint-disable-next-line camelcase
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
const witness = await this.handlerAsUtility().getLowNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
|
|
283
|
-
if (!witness) {
|
|
284
|
-
throw new Error(
|
|
285
|
-
`Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
|
|
286
|
-
);
|
|
287
|
-
}
|
|
288
|
-
return witness.toNoirRepresentation();
|
|
249
|
+
aztec_utl_getLowNullifierMembershipWitness(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
250
|
+
return callHandler({
|
|
251
|
+
oracle: 'aztec_utl_getLowNullifierMembershipWitness',
|
|
252
|
+
inputs,
|
|
253
|
+
handler: ([blockHash, nullifier]) =>
|
|
254
|
+
this.handlerAsUtility().getLowNullifierMembershipWitness(blockHash, nullifier),
|
|
255
|
+
});
|
|
289
256
|
}
|
|
290
257
|
|
|
291
258
|
// eslint-disable-next-line camelcase
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
const witness = await this.handlerAsUtility().getPublicDataWitness(parsedBlockHash, parsedLeafSlot);
|
|
300
|
-
if (!witness) {
|
|
301
|
-
throw new Error(
|
|
302
|
-
`Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`,
|
|
303
|
-
);
|
|
304
|
-
}
|
|
305
|
-
return witness.toNoirRepresentation();
|
|
259
|
+
aztec_utl_getPublicDataWitness(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
260
|
+
return callHandler({
|
|
261
|
+
oracle: 'aztec_utl_getPublicDataWitness',
|
|
262
|
+
inputs,
|
|
263
|
+
handler: ([blockHash, leafSlot]) => this.handlerAsUtility().getPublicDataWitness(blockHash, leafSlot),
|
|
264
|
+
});
|
|
306
265
|
}
|
|
307
266
|
|
|
308
267
|
// eslint-disable-next-line camelcase
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
}
|
|
316
|
-
return header.toFields().map(toACVMField);
|
|
268
|
+
aztec_utl_getBlockHeader(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
269
|
+
return callHandler({
|
|
270
|
+
oracle: 'aztec_utl_getBlockHeader',
|
|
271
|
+
inputs,
|
|
272
|
+
handler: ([blockNumber]) => this.handlerAsUtility().getBlockHeader(blockNumber),
|
|
273
|
+
});
|
|
317
274
|
}
|
|
318
275
|
|
|
319
276
|
// eslint-disable-next-line camelcase
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
}
|
|
326
|
-
return [witness.map(toACVMField)];
|
|
277
|
+
aztec_utl_getAuthWitness(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
278
|
+
return callHandler({
|
|
279
|
+
oracle: 'aztec_utl_getAuthWitness',
|
|
280
|
+
inputs,
|
|
281
|
+
handler: ([messageHash]) => this.handlerAsUtility().getAuthWitness(messageHash),
|
|
282
|
+
});
|
|
327
283
|
}
|
|
328
284
|
|
|
329
285
|
// eslint-disable-next-line camelcase
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
if (result === undefined) {
|
|
337
|
-
// No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
|
|
338
|
-
return [toACVMField(0), Array(13).fill(toACVMField(0))];
|
|
339
|
-
} else {
|
|
340
|
-
// Data was found so we set `some` to 1 and return it along with `value`.
|
|
341
|
-
return [toACVMField(1), [...result.publicKeys.toFields(), result.partialAddress].map(toACVMField)];
|
|
342
|
-
}
|
|
286
|
+
aztec_utl_getPublicKeysAndPartialAddress(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
287
|
+
return callHandler({
|
|
288
|
+
oracle: 'aztec_utl_getPublicKeysAndPartialAddress',
|
|
289
|
+
inputs,
|
|
290
|
+
handler: ([address]) => this.handlerAsUtility().getPublicKeysAndPartialAddress(address),
|
|
291
|
+
});
|
|
343
292
|
}
|
|
344
293
|
|
|
345
294
|
// eslint-disable-next-line camelcase
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
owner: noteData.owner,
|
|
390
|
-
randomness: noteData.randomness,
|
|
391
|
-
storageSlot: noteData.storageSlot,
|
|
392
|
-
noteNonce: noteData.noteNonce,
|
|
393
|
-
isPending: noteData.isPending,
|
|
394
|
-
note: noteData.note,
|
|
395
|
-
}),
|
|
396
|
-
);
|
|
397
|
-
|
|
398
|
-
// Now we convert each sub-array to an array of ACVMField
|
|
399
|
-
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
|
|
400
|
-
subArray.map(toACVMField),
|
|
401
|
-
);
|
|
402
|
-
|
|
403
|
-
// At last we convert the array of arrays to a bounded vec of arrays
|
|
404
|
-
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
// eslint-disable-next-line camelcase
|
|
408
|
-
aztec_prv_notifyCreatedNote(
|
|
409
|
-
[owner]: ACVMField[],
|
|
410
|
-
[storageSlot]: ACVMField[],
|
|
411
|
-
[randomness]: ACVMField[],
|
|
412
|
-
[noteTypeId]: ACVMField[],
|
|
413
|
-
note: ACVMField[],
|
|
414
|
-
[noteHash]: ACVMField[],
|
|
415
|
-
[counter]: ACVMField[],
|
|
416
|
-
): Promise<ACVMField[]> {
|
|
417
|
-
this.handlerAsPrivate().notifyCreatedNote(
|
|
418
|
-
AztecAddress.fromString(owner),
|
|
419
|
-
Fr.fromString(storageSlot),
|
|
420
|
-
Fr.fromString(randomness),
|
|
421
|
-
NoteSelector.fromField(Fr.fromString(noteTypeId)),
|
|
422
|
-
note.map(Fr.fromString),
|
|
423
|
-
Fr.fromString(noteHash),
|
|
424
|
-
+counter,
|
|
425
|
-
);
|
|
426
|
-
return Promise.resolve([]);
|
|
295
|
+
aztec_utl_getNotes(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
296
|
+
return callHandler({
|
|
297
|
+
oracle: 'aztec_utl_getNotes',
|
|
298
|
+
inputs,
|
|
299
|
+
handler: ([
|
|
300
|
+
owner,
|
|
301
|
+
storageSlot,
|
|
302
|
+
numSelects,
|
|
303
|
+
selectByIndexes,
|
|
304
|
+
selectByOffsets,
|
|
305
|
+
selectByLengths,
|
|
306
|
+
selectValues,
|
|
307
|
+
selectComparators,
|
|
308
|
+
sortByIndexes,
|
|
309
|
+
sortByOffsets,
|
|
310
|
+
sortByLengths,
|
|
311
|
+
sortOrder,
|
|
312
|
+
limit,
|
|
313
|
+
offset,
|
|
314
|
+
status,
|
|
315
|
+
maxNotes,
|
|
316
|
+
packedHintedNoteLength,
|
|
317
|
+
]) =>
|
|
318
|
+
this.handlerAsUtility().getNotes(
|
|
319
|
+
owner,
|
|
320
|
+
storageSlot,
|
|
321
|
+
numSelects,
|
|
322
|
+
selectByIndexes,
|
|
323
|
+
selectByOffsets,
|
|
324
|
+
selectByLengths,
|
|
325
|
+
selectValues,
|
|
326
|
+
selectComparators,
|
|
327
|
+
sortByIndexes,
|
|
328
|
+
sortByOffsets,
|
|
329
|
+
sortByLengths,
|
|
330
|
+
sortOrder,
|
|
331
|
+
limit,
|
|
332
|
+
offset,
|
|
333
|
+
status,
|
|
334
|
+
maxNotes,
|
|
335
|
+
packedHintedNoteLength,
|
|
336
|
+
),
|
|
337
|
+
});
|
|
427
338
|
}
|
|
428
339
|
|
|
429
340
|
// eslint-disable-next-line camelcase
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
341
|
+
aztec_prv_notifyCreatedNote(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
342
|
+
return callHandler({
|
|
343
|
+
oracle: 'aztec_prv_notifyCreatedNote',
|
|
344
|
+
inputs,
|
|
345
|
+
handler: ([owner, storageSlot, randomness, noteTypeId, note, noteHash, counter]) => {
|
|
346
|
+
this.handlerAsPrivate().notifyCreatedNote(owner, storageSlot, randomness, noteTypeId, note, noteHash, counter);
|
|
347
|
+
},
|
|
348
|
+
});
|
|
437
349
|
}
|
|
438
350
|
|
|
439
351
|
// eslint-disable-next-line camelcase
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
352
|
+
aztec_prv_notifyNullifiedNote(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
353
|
+
return callHandler({
|
|
354
|
+
oracle: 'aztec_prv_notifyNullifiedNote',
|
|
355
|
+
inputs,
|
|
356
|
+
handler: ([innerNullifier, noteHash, counter]) =>
|
|
357
|
+
this.handlerAsPrivate().notifyNullifiedNote(innerNullifier, noteHash, counter),
|
|
358
|
+
});
|
|
443
359
|
}
|
|
444
360
|
|
|
445
361
|
// eslint-disable-next-line camelcase
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
AztecAddress.fromString(contractAddress),
|
|
453
|
-
);
|
|
454
|
-
return [toACVMField(isPending)];
|
|
362
|
+
aztec_prv_notifyCreatedNullifier(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
363
|
+
return callHandler({
|
|
364
|
+
oracle: 'aztec_prv_notifyCreatedNullifier',
|
|
365
|
+
inputs,
|
|
366
|
+
handler: ([innerNullifier]) => this.handlerAsPrivate().notifyCreatedNullifier(innerNullifier),
|
|
367
|
+
});
|
|
455
368
|
}
|
|
456
369
|
|
|
457
370
|
// eslint-disable-next-line camelcase
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
371
|
+
aztec_prv_isNullifierPending(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
372
|
+
return callHandler({
|
|
373
|
+
oracle: 'aztec_prv_isNullifierPending',
|
|
374
|
+
inputs,
|
|
375
|
+
handler: ([innerNullifier, contractAddress]) =>
|
|
376
|
+
this.handlerAsPrivate().isNullifierPending(innerNullifier, contractAddress),
|
|
377
|
+
});
|
|
461
378
|
}
|
|
462
379
|
|
|
463
380
|
// eslint-disable-next-line camelcase
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
AztecAddress.fromString(contractAddress),
|
|
471
|
-
Fr.fromString(messageHash),
|
|
472
|
-
Fr.fromString(secret),
|
|
473
|
-
);
|
|
474
|
-
return message.toNoirRepresentation();
|
|
381
|
+
aztec_utl_doesNullifierExist(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
382
|
+
return callHandler({
|
|
383
|
+
oracle: 'aztec_utl_doesNullifierExist',
|
|
384
|
+
inputs,
|
|
385
|
+
handler: ([innerNullifier]) => this.handlerAsUtility().doesNullifierExist(innerNullifier),
|
|
386
|
+
});
|
|
475
387
|
}
|
|
476
388
|
|
|
477
389
|
// eslint-disable-next-line camelcase
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
BlockHash.fromString(blockHash),
|
|
486
|
-
new AztecAddress(Fr.fromString(contractAddress)),
|
|
487
|
-
Fr.fromString(startStorageSlot),
|
|
488
|
-
+numberOfElements,
|
|
489
|
-
);
|
|
490
|
-
return [values.map(toACVMField)];
|
|
390
|
+
aztec_utl_getL1ToL2MembershipWitness(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
391
|
+
return callHandler({
|
|
392
|
+
oracle: 'aztec_utl_getL1ToL2MembershipWitness',
|
|
393
|
+
inputs,
|
|
394
|
+
handler: ([contractAddress, messageHash, secret]) =>
|
|
395
|
+
this.handlerAsUtility().getL1ToL2MembershipWitness(contractAddress, messageHash, secret),
|
|
396
|
+
});
|
|
491
397
|
}
|
|
492
398
|
|
|
493
399
|
// eslint-disable-next-line camelcase
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
const log = new ContractClassLog(new AztecAddress(Fr.fromString(contractAddress)), logFields, +length);
|
|
502
|
-
|
|
503
|
-
this.handlerAsPrivate().notifyCreatedContractClassLog(log, +counter);
|
|
504
|
-
return Promise.resolve([]);
|
|
400
|
+
aztec_utl_getFromPublicStorage(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
401
|
+
return callHandler({
|
|
402
|
+
oracle: 'aztec_utl_getFromPublicStorage',
|
|
403
|
+
inputs,
|
|
404
|
+
handler: ([blockHash, contractAddress, startStorageSlot, numberOfElements]) =>
|
|
405
|
+
this.handlerAsUtility().getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements),
|
|
406
|
+
});
|
|
505
407
|
}
|
|
506
408
|
|
|
507
409
|
// eslint-disable-next-line camelcase
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
const messageStr = message.map(acvmField => String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
|
|
516
|
-
const fieldsFr = fields.map(Fr.fromString);
|
|
517
|
-
await this.handlerAsMisc().log(levelFr.toNumber(), messageStr, fieldsFr);
|
|
518
|
-
return [];
|
|
410
|
+
aztec_utl_callUtilityFunction(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
411
|
+
return callHandler({
|
|
412
|
+
oracle: 'aztec_utl_callUtilityFunction',
|
|
413
|
+
inputs,
|
|
414
|
+
handler: ([contractAddress, functionSelector, args]) =>
|
|
415
|
+
this.handlerAsUtility().callUtilityFunction(contractAddress, functionSelector, args),
|
|
416
|
+
});
|
|
519
417
|
}
|
|
520
418
|
|
|
521
|
-
// This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
|
|
522
|
-
// change the name here.
|
|
523
419
|
// eslint-disable-next-line camelcase
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
AztecAddress.fromField(Fr.fromString(contractAddress)),
|
|
533
|
-
FunctionSelector.fromField(Fr.fromString(functionSelector)),
|
|
534
|
-
Fr.fromString(argsHash),
|
|
535
|
-
Fr.fromString(sideEffectCounter).toNumber(),
|
|
536
|
-
Fr.fromString(isStaticCall).toBool(),
|
|
537
|
-
);
|
|
538
|
-
return [[endSideEffectCounter, returnsHash].map(toACVMField)];
|
|
420
|
+
aztec_prv_notifyCreatedContractClassLog(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
421
|
+
return callHandler({
|
|
422
|
+
oracle: 'aztec_prv_notifyCreatedContractClassLog',
|
|
423
|
+
inputs,
|
|
424
|
+
handler: ([log, counter]) => {
|
|
425
|
+
this.handlerAsPrivate().notifyCreatedContractClassLog(log, counter);
|
|
426
|
+
},
|
|
427
|
+
});
|
|
539
428
|
}
|
|
540
429
|
|
|
541
430
|
// eslint-disable-next-line camelcase
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
431
|
+
aztec_misc_log(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
432
|
+
return callHandler({
|
|
433
|
+
oracle: 'aztec_misc_log',
|
|
434
|
+
inputs,
|
|
435
|
+
handler: ([level, message, fieldsSize, fields]) => this.handlerAsMisc().log(level, message, fieldsSize, fields),
|
|
436
|
+
});
|
|
545
437
|
}
|
|
546
438
|
|
|
439
|
+
// This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
|
|
440
|
+
// change the name here.
|
|
547
441
|
// eslint-disable-next-line camelcase
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
442
|
+
aztec_prv_callPrivateFunction(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
443
|
+
return callHandler({
|
|
444
|
+
oracle: 'aztec_prv_callPrivateFunction',
|
|
445
|
+
inputs,
|
|
446
|
+
handler: ([contractAddress, functionSelector, argsHash, sideEffectCounter, isStaticCall]) =>
|
|
447
|
+
this.handlerAsPrivate().callPrivateFunction(
|
|
448
|
+
contractAddress,
|
|
449
|
+
functionSelector,
|
|
450
|
+
argsHash,
|
|
451
|
+
sideEffectCounter,
|
|
452
|
+
isStaticCall,
|
|
453
|
+
),
|
|
454
|
+
});
|
|
551
455
|
}
|
|
552
456
|
|
|
553
457
|
// eslint-disable-next-line camelcase
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
458
|
+
aztec_prv_assertValidPublicCalldata(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
459
|
+
return callHandler({
|
|
460
|
+
oracle: 'aztec_prv_assertValidPublicCalldata',
|
|
461
|
+
inputs,
|
|
462
|
+
handler: ([calldataHash]) => this.handlerAsPrivate().assertValidPublicCalldata(calldataHash),
|
|
463
|
+
});
|
|
559
464
|
}
|
|
560
465
|
|
|
561
466
|
// eslint-disable-next-line camelcase
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
467
|
+
aztec_prv_notifyRevertiblePhaseStart(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
468
|
+
return callHandler({
|
|
469
|
+
oracle: 'aztec_prv_notifyRevertiblePhaseStart',
|
|
470
|
+
inputs,
|
|
471
|
+
handler: ([minRevertibleSideEffectCounter]) =>
|
|
472
|
+
this.handlerAsPrivate().notifyRevertiblePhaseStart(minRevertibleSideEffectCounter),
|
|
473
|
+
});
|
|
568
474
|
}
|
|
569
475
|
|
|
570
476
|
// eslint-disable-next-line camelcase
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
AztecAddress.fromString(scope),
|
|
578
|
-
);
|
|
579
|
-
return [];
|
|
477
|
+
aztec_prv_isExecutionInRevertiblePhase(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
478
|
+
return callHandler({
|
|
479
|
+
oracle: 'aztec_prv_isExecutionInRevertiblePhase',
|
|
480
|
+
inputs,
|
|
481
|
+
handler: ([sideEffectCounter]) => this.handlerAsPrivate().isExecutionInRevertiblePhase(sideEffectCounter),
|
|
482
|
+
});
|
|
580
483
|
}
|
|
581
484
|
|
|
582
485
|
// eslint-disable-next-line camelcase
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
486
|
+
aztec_prv_getAppTaggingSecret(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
487
|
+
return callHandler({
|
|
488
|
+
oracle: 'aztec_prv_getAppTaggingSecret',
|
|
489
|
+
inputs,
|
|
490
|
+
handler: ([sender, recipient]) => this.handlerAsPrivate().getAppTaggingSecret(sender, recipient),
|
|
491
|
+
});
|
|
586
492
|
}
|
|
587
493
|
|
|
588
494
|
// eslint-disable-next-line camelcase
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
[scope]: ACVMField[],
|
|
596
|
-
): Promise<ACVMField[]> {
|
|
597
|
-
await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(
|
|
598
|
-
AztecAddress.fromString(contractAddress),
|
|
599
|
-
Fr.fromString(noteValidationRequestsArrayBaseSlot),
|
|
600
|
-
Fr.fromString(eventValidationRequestsArrayBaseSlot),
|
|
601
|
-
Fr.fromString(maxNotePackedLen).toNumber(),
|
|
602
|
-
Fr.fromString(maxEventSerializedLen).toNumber(),
|
|
603
|
-
AztecAddress.fromString(scope),
|
|
604
|
-
);
|
|
605
|
-
|
|
606
|
-
return [];
|
|
495
|
+
aztec_prv_getNextTaggingIndex(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
496
|
+
return callHandler({
|
|
497
|
+
oracle: 'aztec_prv_getNextTaggingIndex',
|
|
498
|
+
inputs,
|
|
499
|
+
handler: ([secret, mode]) => this.handlerAsPrivate().getNextTaggingIndex(secret, mode),
|
|
500
|
+
});
|
|
607
501
|
}
|
|
608
502
|
|
|
609
503
|
// eslint-disable-next-line camelcase
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
): Promise<ACVMField[]> {
|
|
617
|
-
await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEventsV2(
|
|
618
|
-
Fr.fromString(noteValidationRequestsArrayBaseSlot),
|
|
619
|
-
Fr.fromString(eventValidationRequestsArrayBaseSlot),
|
|
620
|
-
Fr.fromString(maxNotePackedLen).toNumber(),
|
|
621
|
-
Fr.fromString(maxEventSerializedLen).toNumber(),
|
|
622
|
-
AztecAddress.fromString(scope),
|
|
623
|
-
);
|
|
624
|
-
return [];
|
|
504
|
+
aztec_utl_getPendingTaggedLogs(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
505
|
+
return callHandler({
|
|
506
|
+
oracle: 'aztec_utl_getPendingTaggedLogs',
|
|
507
|
+
inputs,
|
|
508
|
+
handler: ([scope, providedSecrets]) => this.handlerAsUtility().getPendingTaggedLogs(scope, providedSecrets),
|
|
509
|
+
});
|
|
625
510
|
}
|
|
626
511
|
|
|
627
512
|
// eslint-disable-next-line camelcase
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
);
|
|
640
|
-
return [];
|
|
513
|
+
aztec_utl_validateAndStoreEnqueuedNotesAndEvents(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
514
|
+
return callHandler({
|
|
515
|
+
oracle: 'aztec_utl_validateAndStoreEnqueuedNotesAndEvents',
|
|
516
|
+
inputs,
|
|
517
|
+
handler: ([noteValidationRequests, eventValidationRequests, scope]) =>
|
|
518
|
+
this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(
|
|
519
|
+
noteValidationRequests,
|
|
520
|
+
eventValidationRequests,
|
|
521
|
+
scope,
|
|
522
|
+
),
|
|
523
|
+
});
|
|
641
524
|
}
|
|
642
525
|
|
|
643
526
|
// eslint-disable-next-line camelcase
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
await this.handlerAsUtility().getMessageContextsByTxHash(
|
|
651
|
-
AztecAddress.fromString(contractAddress),
|
|
652
|
-
Fr.fromString(messageContextRequestsArrayBaseSlot),
|
|
653
|
-
Fr.fromString(messageContextResponsesArrayBaseSlot),
|
|
654
|
-
AztecAddress.fromString(scope),
|
|
655
|
-
);
|
|
656
|
-
return [];
|
|
527
|
+
aztec_utl_getLogsByTag(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
528
|
+
return callHandler({
|
|
529
|
+
oracle: 'aztec_utl_getLogsByTag',
|
|
530
|
+
inputs,
|
|
531
|
+
handler: ([requests]) => this.handlerAsUtility().getLogsByTag(requests),
|
|
532
|
+
});
|
|
657
533
|
}
|
|
658
534
|
|
|
659
535
|
// eslint-disable-next-line camelcase
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
536
|
+
aztec_utl_getMessageContextsByTxHash(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
537
|
+
return callHandler({
|
|
538
|
+
oracle: 'aztec_utl_getMessageContextsByTxHash',
|
|
539
|
+
inputs,
|
|
540
|
+
handler: ([requests]) => this.handlerAsUtility().getMessageContextsByTxHash(requests),
|
|
541
|
+
});
|
|
663
542
|
}
|
|
664
543
|
|
|
665
544
|
// eslint-disable-next-line camelcase
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
545
|
+
aztec_utl_getTxEffect(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
546
|
+
return callHandler({
|
|
547
|
+
oracle: 'aztec_utl_getTxEffect',
|
|
548
|
+
inputs,
|
|
549
|
+
handler: ([txHash]) => this.handlerAsUtility().getTxEffect(txHash),
|
|
550
|
+
});
|
|
671
551
|
}
|
|
672
552
|
|
|
673
553
|
// eslint-disable-next-line camelcase
|
|
674
|
-
aztec_utl_setCapsule(
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
Fr.fromString(slot),
|
|
683
|
-
capsule.map(Fr.fromString),
|
|
684
|
-
AztecAddress.fromField(Fr.fromString(scope)),
|
|
685
|
-
);
|
|
686
|
-
return Promise.resolve([]);
|
|
554
|
+
aztec_utl_setCapsule(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
555
|
+
return callHandler({
|
|
556
|
+
oracle: 'aztec_utl_setCapsule',
|
|
557
|
+
inputs,
|
|
558
|
+
handler: ([contractAddress, slot, capsule, scope]) => {
|
|
559
|
+
this.handlerAsUtility().setCapsule(contractAddress, slot, capsule, scope);
|
|
560
|
+
},
|
|
561
|
+
});
|
|
687
562
|
}
|
|
688
563
|
|
|
689
564
|
// eslint-disable-next-line camelcase
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
AztecAddress.fromField(Fr.fromString(contractAddress)),
|
|
698
|
-
Fr.fromString(slot),
|
|
699
|
-
AztecAddress.fromField(Fr.fromString(scope)),
|
|
700
|
-
);
|
|
701
|
-
|
|
702
|
-
// We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
|
|
703
|
-
// with two fields: `some` (a boolean) and `value` (a field array in this case).
|
|
704
|
-
if (values === null) {
|
|
705
|
-
// No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
|
|
706
|
-
return [toACVMField(0), Array(Fr.fromString(tSize).toNumber()).fill(toACVMField(0))];
|
|
707
|
-
} else {
|
|
708
|
-
// Data was found so we set `some` to 1 and return it along with `value`.
|
|
709
|
-
return [toACVMField(1), values.map(toACVMField)];
|
|
710
|
-
}
|
|
565
|
+
aztec_utl_getCapsule(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
566
|
+
return callHandler({
|
|
567
|
+
oracle: 'aztec_utl_getCapsule',
|
|
568
|
+
inputs,
|
|
569
|
+
handler: ([contractAddress, slot, tSize, scope]) =>
|
|
570
|
+
this.handlerAsUtility().getCapsule(contractAddress, slot, tSize, scope),
|
|
571
|
+
});
|
|
711
572
|
}
|
|
712
573
|
|
|
713
574
|
// eslint-disable-next-line camelcase
|
|
714
|
-
aztec_utl_deleteCapsule(
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
AztecAddress.fromField(Fr.fromString(scope)),
|
|
723
|
-
);
|
|
724
|
-
return Promise.resolve([]);
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
// eslint-disable-next-line camelcase
|
|
728
|
-
async aztec_utl_copyCapsule(
|
|
729
|
-
[contractAddress]: ACVMField[],
|
|
730
|
-
[srcSlot]: ACVMField[],
|
|
731
|
-
[dstSlot]: ACVMField[],
|
|
732
|
-
[numEntries]: ACVMField[],
|
|
733
|
-
[scope]: ACVMField[],
|
|
734
|
-
): Promise<ACVMField[]> {
|
|
735
|
-
await this.handlerAsUtility().copyCapsule(
|
|
736
|
-
AztecAddress.fromField(Fr.fromString(contractAddress)),
|
|
737
|
-
Fr.fromString(srcSlot),
|
|
738
|
-
Fr.fromString(dstSlot),
|
|
739
|
-
Fr.fromString(numEntries).toNumber(),
|
|
740
|
-
AztecAddress.fromField(Fr.fromString(scope)),
|
|
741
|
-
);
|
|
742
|
-
return [];
|
|
575
|
+
aztec_utl_deleteCapsule(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
576
|
+
return callHandler({
|
|
577
|
+
oracle: 'aztec_utl_deleteCapsule',
|
|
578
|
+
inputs,
|
|
579
|
+
handler: ([contractAddress, slot, scope]) => {
|
|
580
|
+
this.handlerAsUtility().deleteCapsule(contractAddress, slot, scope);
|
|
581
|
+
},
|
|
582
|
+
});
|
|
743
583
|
}
|
|
744
584
|
|
|
745
585
|
// eslint-disable-next-line camelcase
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
586
|
+
aztec_utl_copyCapsule(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
587
|
+
return callHandler({
|
|
588
|
+
oracle: 'aztec_utl_copyCapsule',
|
|
589
|
+
inputs,
|
|
590
|
+
handler: ([contractAddress, srcSlot, dstSlot, numEntries, scope]) =>
|
|
591
|
+
this.handlerAsUtility().copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, scope),
|
|
592
|
+
});
|
|
749
593
|
}
|
|
750
594
|
|
|
751
595
|
// eslint-disable-next-line camelcase
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
596
|
+
aztec_utl_pushEphemeral(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
597
|
+
return callHandler({
|
|
598
|
+
oracle: 'aztec_utl_pushEphemeral',
|
|
599
|
+
inputs,
|
|
600
|
+
handler: ([slot, elements]) => this.handlerAsUtility().pushEphemeral(slot, elements),
|
|
601
|
+
});
|
|
755
602
|
}
|
|
756
603
|
|
|
757
604
|
// eslint-disable-next-line camelcase
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
605
|
+
aztec_utl_popEphemeral(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
606
|
+
return callHandler({
|
|
607
|
+
oracle: 'aztec_utl_popEphemeral',
|
|
608
|
+
inputs,
|
|
609
|
+
handler: ([slot]) => this.handlerAsUtility().popEphemeral(slot),
|
|
610
|
+
});
|
|
761
611
|
}
|
|
762
612
|
|
|
763
613
|
// eslint-disable-next-line camelcase
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
);
|
|
770
|
-
return Promise.resolve([]);
|
|
614
|
+
aztec_utl_getEphemeral(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
615
|
+
return callHandler({
|
|
616
|
+
oracle: 'aztec_utl_getEphemeral',
|
|
617
|
+
inputs,
|
|
618
|
+
handler: ([slot, index]) => this.handlerAsUtility().getEphemeral(slot, index),
|
|
619
|
+
});
|
|
771
620
|
}
|
|
772
621
|
|
|
773
622
|
// eslint-disable-next-line camelcase
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
623
|
+
aztec_utl_setEphemeral(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
624
|
+
return callHandler({
|
|
625
|
+
oracle: 'aztec_utl_setEphemeral',
|
|
626
|
+
inputs,
|
|
627
|
+
handler: ([slot, index, elements]) => {
|
|
628
|
+
this.handlerAsUtility().setEphemeral(slot, index, elements);
|
|
629
|
+
},
|
|
630
|
+
});
|
|
777
631
|
}
|
|
778
632
|
|
|
779
633
|
// eslint-disable-next-line camelcase
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
634
|
+
aztec_utl_getEphemeralLen(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
635
|
+
return callHandler({
|
|
636
|
+
oracle: 'aztec_utl_getEphemeralLen',
|
|
637
|
+
inputs,
|
|
638
|
+
handler: ([slot]) => this.handlerAsUtility().getEphemeralLen(slot),
|
|
639
|
+
});
|
|
783
640
|
}
|
|
784
641
|
|
|
785
642
|
// eslint-disable-next-line camelcase
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
643
|
+
aztec_utl_removeEphemeral(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
644
|
+
return callHandler({
|
|
645
|
+
oracle: 'aztec_utl_removeEphemeral',
|
|
646
|
+
inputs,
|
|
647
|
+
handler: ([slot, index]) => {
|
|
648
|
+
this.handlerAsUtility().removeEphemeral(slot, index);
|
|
649
|
+
},
|
|
650
|
+
});
|
|
789
651
|
}
|
|
790
652
|
|
|
791
653
|
// eslint-disable-next-line camelcase
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
const symKeyBuffer = fromUintArray(symKey, 8);
|
|
801
|
-
|
|
802
|
-
// Noir Option<BoundedVec> is encoded as [is_some: Field, storage: Field[], length: Field].
|
|
803
|
-
try {
|
|
804
|
-
const plaintext = await this.handlerAsUtility().decryptAes128(ciphertext, ivBuffer, symKeyBuffer);
|
|
805
|
-
const [storage, length] = bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
|
|
806
|
-
return [toACVMField(1), storage, length];
|
|
807
|
-
} catch {
|
|
808
|
-
const zeroStorage = Array(ciphertextBVecStorage.length).fill(toACVMField(0));
|
|
809
|
-
return [toACVMField(0), zeroStorage, toACVMField(0)];
|
|
810
|
-
}
|
|
654
|
+
aztec_utl_clearEphemeral(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
655
|
+
return callHandler({
|
|
656
|
+
oracle: 'aztec_utl_clearEphemeral',
|
|
657
|
+
inputs,
|
|
658
|
+
handler: ([slot]) => {
|
|
659
|
+
this.handlerAsUtility().clearEphemeral(slot);
|
|
660
|
+
},
|
|
661
|
+
});
|
|
811
662
|
}
|
|
812
663
|
|
|
813
664
|
// eslint-disable-next-line camelcase
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
): Promise<ACVMField[]> {
|
|
821
|
-
const secret = await this.handlerAsUtility().getSharedSecret(
|
|
822
|
-
AztecAddress.fromField(Fr.fromString(address)),
|
|
823
|
-
Point.fromFields([ephPKField0, ephPKField1, ephPKField2].map(Fr.fromString)),
|
|
824
|
-
AztecAddress.fromField(Fr.fromString(contractAddress)),
|
|
825
|
-
);
|
|
826
|
-
return [toACVMField(secret)];
|
|
665
|
+
aztec_utl_decryptAes128(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
666
|
+
return callHandler({
|
|
667
|
+
oracle: 'aztec_utl_decryptAes128',
|
|
668
|
+
inputs,
|
|
669
|
+
handler: ([ciphertext, iv, symKey]) => this.handlerAsUtility().decryptAes128(ciphertext, iv, symKey),
|
|
670
|
+
});
|
|
827
671
|
}
|
|
828
672
|
|
|
829
673
|
// eslint-disable-next-line camelcase
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
AztecAddress.fromField(Fr.fromString(contractAddress)),
|
|
838
|
-
scopeAddresses,
|
|
839
|
-
);
|
|
840
|
-
return Promise.resolve([]);
|
|
674
|
+
aztec_utl_getSharedSecrets(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
675
|
+
return callHandler({
|
|
676
|
+
oracle: 'aztec_utl_getSharedSecrets',
|
|
677
|
+
inputs,
|
|
678
|
+
handler: ([address, ephPks, contractAddress]) =>
|
|
679
|
+
this.handlerAsUtility().getSharedSecrets(address, ephPks, contractAddress),
|
|
680
|
+
});
|
|
841
681
|
}
|
|
842
682
|
|
|
843
683
|
// eslint-disable-next-line camelcase
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
684
|
+
aztec_utl_setContractSyncCacheInvalid(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
685
|
+
return callHandler({
|
|
686
|
+
oracle: 'aztec_utl_setContractSyncCacheInvalid',
|
|
687
|
+
inputs,
|
|
688
|
+
handler: ([contractAddress, scopes]) => {
|
|
689
|
+
this.handlerAsUtility().setContractSyncCacheInvalid(contractAddress, scopes);
|
|
690
|
+
},
|
|
691
|
+
});
|
|
847
692
|
}
|
|
848
693
|
|
|
849
694
|
// eslint-disable-next-line camelcase
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
695
|
+
aztec_utl_emitOffchainEffect(...inputs: ACVMField[][]): Promise<(ACVMField | ACVMField[])[]> {
|
|
696
|
+
return callHandler({
|
|
697
|
+
oracle: 'aztec_utl_emitOffchainEffect',
|
|
698
|
+
inputs,
|
|
699
|
+
handler: ([data]) => this.handlerAsUtility().emitOffchainEffect(data),
|
|
700
|
+
});
|
|
854
701
|
}
|
|
855
702
|
|
|
856
703
|
// eslint-disable-next-line camelcase
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
704
|
+
aztec_prv_getSenderForTags(): Promise<(ACVMField | ACVMField[])[]> {
|
|
705
|
+
return callHandler({
|
|
706
|
+
oracle: 'aztec_prv_getSenderForTags',
|
|
707
|
+
inputs: [],
|
|
708
|
+
handler: () => this.handlerAsPrivate().getSenderForTags(),
|
|
709
|
+
});
|
|
860
710
|
}
|
|
861
711
|
}
|