@aztec/pxe 0.0.1-commit.e0f15ab9b → 0.0.1-commit.e304674f1
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/block_synchronizer/block_synchronizer.d.ts +1 -1
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +6 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +3 -4
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +4 -3
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -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 +2 -5
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +2 -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 -5
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +19 -19
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +18 -22
- package/dest/contract_function_simulator/oracle/oracle.d.ts +38 -19
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +60 -39
- package/dest/contract_function_simulator/oracle/private_execution.js +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +7 -8
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +16 -7
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +30 -29
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +115 -79
- package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +9 -2
- package/dest/contract_logging.d.ts +9 -4
- package/dest/contract_logging.d.ts.map +1 -1
- package/dest/contract_logging.js +21 -6
- package/dest/contract_sync/contract_sync_service.d.ts +3 -4
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
- package/dest/contract_sync/contract_sync_service.js +12 -22
- 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 +7 -2
- package/dest/debug/pxe_debug_utils.d.ts +3 -3
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.d.ts +1 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +0 -1
- package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +2 -2
- package/dest/entrypoints/client/lazy/index.d.ts +1 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +0 -1
- 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 +2 -2
- package/dest/entrypoints/pxe_creation_options.d.ts +3 -1
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/pxe_creation_options.js +3 -1
- package/dest/entrypoints/server/index.d.ts +1 -2
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +0 -1
- package/dest/entrypoints/server/utils.d.ts +2 -2
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +2 -2
- package/dest/events/event_service.d.ts +3 -2
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +16 -4
- package/dest/logs/log_service.d.ts +6 -7
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +32 -30
- package/dest/messages/message_context_service.d.ts +3 -3
- package/dest/messages/message_context_service.d.ts.map +1 -1
- package/dest/messages/message_context_service.js +3 -3
- package/dest/notes/note_service.d.ts +4 -5
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +14 -5
- package/dest/notes_filter.d.ts +2 -3
- package/dest/notes_filter.d.ts.map +1 -1
- package/dest/oracle_version.d.ts +2 -2
- package/dest/oracle_version.js +2 -2
- package/dest/pxe.d.ts +4 -5
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +6 -4
- package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
- package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_service.js +50 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_store.js +33 -28
- package/dest/storage/capsule_store/index.d.ts +2 -1
- package/dest/storage/capsule_store/index.d.ts.map +1 -1
- package/dest/storage/capsule_store/index.js +1 -0
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/note_store/note_store.d.ts +1 -1
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +2 -2
- package/package.json +16 -16
- package/src/block_synchronizer/block_synchronizer.ts +6 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +6 -6
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +0 -3
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +0 -3
- package/src/contract_function_simulator/oracle/interfaces.ts +26 -17
- package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +13 -50
- package/src/contract_function_simulator/oracle/oracle.ts +79 -33
- package/src/contract_function_simulator/oracle/private_execution.ts +1 -1
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +19 -10
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +204 -91
- package/src/contract_function_simulator/pick_notes.ts +9 -2
- package/src/contract_logging.ts +18 -5
- package/src/contract_sync/contract_sync_service.ts +32 -43
- package/src/contract_sync/helpers.ts +4 -4
- package/src/debug/pxe_debug_utils.ts +3 -3
- package/src/entrypoints/client/bundle/index.ts +0 -1
- package/src/entrypoints/client/bundle/utils.ts +2 -3
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +2 -3
- package/src/entrypoints/pxe_creation_options.ts +7 -0
- package/src/entrypoints/server/index.ts +0 -1
- package/src/entrypoints/server/utils.ts +2 -3
- package/src/events/event_service.ts +17 -4
- package/src/logs/log_service.ts +63 -48
- package/src/messages/message_context_service.ts +3 -4
- package/src/notes/note_service.ts +18 -8
- package/src/notes_filter.ts +1 -3
- package/src/oracle_version.ts +2 -2
- package/src/pxe.ts +11 -10
- package/src/storage/capsule_store/capsule_service.ts +90 -0
- package/src/storage/capsule_store/capsule_store.ts +34 -26
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/note_store.ts +2 -5
- package/dest/access_scopes.d.ts +0 -9
- package/dest/access_scopes.d.ts.map +0 -1
- package/dest/access_scopes.js +0 -6
- package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts +0 -16
- package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts.map +0 -1
- package/dest/contract_function_simulator/noir-structs/message_tx_context.js +0 -57
- package/src/access_scopes.ts +0 -9
- package/src/contract_function_simulator/noir-structs/message_tx_context.ts +0 -55
|
@@ -5,6 +5,25 @@ export declare class UnavailableOracleError extends Error {
|
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* A data source that has all the apis required by Aztec.nr.
|
|
8
|
+
*
|
|
9
|
+
* ## Oracle naming conventions
|
|
10
|
+
*
|
|
11
|
+
* We try to keep oracle naming consistent, please see below the conventions we adhere to.
|
|
12
|
+
*
|
|
13
|
+
* Each oracle method name has the form `aztec_{scope}_{verb}{Object}`, where:
|
|
14
|
+
*
|
|
15
|
+
* - **Scope prefix** indicates the execution context required:
|
|
16
|
+
* - `aztec_prv_` — available only during private function execution.
|
|
17
|
+
* - `aztec_utl_` — available during both utility and private execution.
|
|
18
|
+
*
|
|
19
|
+
* - **Verb** signals the operation's semantics (verb-first, then object):
|
|
20
|
+
* - `get` — read / lookup / get data from oracle into contract.
|
|
21
|
+
* - `does`/`is`/`has` — predicate (returns boolean).
|
|
22
|
+
* - `emit`/`notify` — propagate data from contract to oracle.
|
|
23
|
+
* - `set` — contract driven oracle state mutation (capsules, execution cache, tagging, etc).
|
|
24
|
+
* - `call` — trigger nested execution (control flow).
|
|
25
|
+
* - `assert` — validate a condition, throw on failure.
|
|
26
|
+
* - Standalone verbs (`delete`, `copy`, `decrypt`, `log`, etc) are used when no generic verb fits.
|
|
8
27
|
*/
|
|
9
28
|
export declare class Oracle {
|
|
10
29
|
private handler;
|
|
@@ -15,8 +34,8 @@ export declare class Oracle {
|
|
|
15
34
|
toACIRCallback(): ACIRCallback;
|
|
16
35
|
aztec_utl_assertCompatibleOracleVersion([version]: ACVMField[]): Promise<never[]>;
|
|
17
36
|
aztec_utl_getRandomField(): Promise<ACVMField[]>;
|
|
18
|
-
|
|
19
|
-
|
|
37
|
+
aztec_prv_setHashPreimage(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]>;
|
|
38
|
+
aztec_prv_getHashPreimage([returnsHash]: ACVMField[]): Promise<ACVMField[][]>;
|
|
20
39
|
aztec_utl_getUtilityContext(): Promise<(ACVMField | ACVMField[])[]>;
|
|
21
40
|
aztec_utl_getKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
|
|
22
41
|
aztec_utl_getContractInstance([address]: ACVMField[]): Promise<ACVMField[]>;
|
|
@@ -27,35 +46,35 @@ export declare class Oracle {
|
|
|
27
46
|
aztec_utl_getPublicDataWitness([blockHash]: ACVMField[], [leafSlot]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
28
47
|
aztec_utl_getBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
|
|
29
48
|
aztec_utl_getAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]>;
|
|
30
|
-
|
|
49
|
+
aztec_utl_getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
31
50
|
aztec_utl_getNotes([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[])[]>;
|
|
32
51
|
aztec_prv_notifyCreatedNote([owner]: ACVMField[], [storageSlot]: ACVMField[], [randomness]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
33
52
|
aztec_prv_notifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
34
53
|
aztec_prv_notifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
|
|
35
54
|
aztec_prv_isNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]>;
|
|
36
|
-
|
|
55
|
+
aztec_utl_doesNullifierExist([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
|
|
37
56
|
aztec_utl_getL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
38
|
-
|
|
57
|
+
aztec_utl_getFromPublicStorage([blockHash]: ACVMField[], [contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[][]>;
|
|
39
58
|
aztec_prv_notifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [length]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
|
|
40
59
|
aztec_utl_log(level: ACVMField[], message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): Promise<ACVMField[]>;
|
|
41
60
|
aztec_prv_callPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[][]>;
|
|
42
|
-
|
|
61
|
+
aztec_prv_assertValidPublicCalldata([calldataHash]: ACVMField[]): Promise<ACVMField[]>;
|
|
43
62
|
aztec_prv_notifyRevertiblePhaseStart([minRevertibleSideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
|
|
44
|
-
|
|
63
|
+
aztec_prv_isExecutionInRevertiblePhase([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
|
|
45
64
|
aztec_prv_getNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
|
|
46
|
-
|
|
47
|
-
aztec_utl_validateAndStoreEnqueuedNotesAndEvents([contractAddress]: ACVMField[], [noteValidationRequestsArrayBaseSlot]: ACVMField[], [eventValidationRequestsArrayBaseSlot]: ACVMField[], [maxNotePackedLen]: ACVMField[], [maxEventSerializedLen]: ACVMField[]): Promise<ACVMField[]>;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
aztec_utl_deleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<ACVMField[]>;
|
|
53
|
-
aztec_utl_copyCapsule([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[]): Promise<ACVMField[]>;
|
|
54
|
-
|
|
55
|
-
aztec_utl_getSharedSecret([address]: ACVMField[], [ephPKField0]: ACVMField[], [ephPKField1]: ACVMField[], [ephPKField2]: ACVMField[]): Promise<ACVMField[]>;
|
|
56
|
-
|
|
65
|
+
aztec_utl_getPendingTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[], [scope]: ACVMField[]): Promise<ACVMField[]>;
|
|
66
|
+
aztec_utl_validateAndStoreEnqueuedNotesAndEvents([contractAddress]: ACVMField[], [noteValidationRequestsArrayBaseSlot]: ACVMField[], [eventValidationRequestsArrayBaseSlot]: ACVMField[], [maxNotePackedLen]: ACVMField[], [maxEventSerializedLen]: ACVMField[], [scope]: ACVMField[]): Promise<ACVMField[]>;
|
|
67
|
+
aztec_utl_getLogsByTag([contractAddress]: ACVMField[], [logRetrievalRequestsArrayBaseSlot]: ACVMField[], [logRetrievalResponsesArrayBaseSlot]: ACVMField[], [scope]: ACVMField[]): Promise<ACVMField[]>;
|
|
68
|
+
aztec_utl_getMessageContextsByTxHash([contractAddress]: ACVMField[], [messageContextRequestsArrayBaseSlot]: ACVMField[], [messageContextResponsesArrayBaseSlot]: ACVMField[], [scope]: ACVMField[]): Promise<ACVMField[]>;
|
|
69
|
+
aztec_utl_setCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[], [scope]: ACVMField[]): Promise<ACVMField[]>;
|
|
70
|
+
aztec_utl_getCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[], [scope]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
71
|
+
aztec_utl_deleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [scope]: ACVMField[]): Promise<ACVMField[]>;
|
|
72
|
+
aztec_utl_copyCapsule([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[], [scope]: ACVMField[]): Promise<ACVMField[]>;
|
|
73
|
+
aztec_utl_decryptAes128(ciphertextBVecStorage: ACVMField[], [ciphertextLength]: ACVMField[], iv: ACVMField[], symKey: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
|
|
74
|
+
aztec_utl_getSharedSecret([address]: ACVMField[], [ephPKField0]: ACVMField[], [ephPKField1]: ACVMField[], [ephPKField2]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]>;
|
|
75
|
+
aztec_utl_setContractSyncCacheInvalid([contractAddress]: ACVMField[], scopes: ACVMField[], [scopeCount]: ACVMField[]): Promise<ACVMField[]>;
|
|
57
76
|
aztec_utl_emitOffchainEffect(data: ACVMField[]): Promise<never[]>;
|
|
58
77
|
aztec_prv_getSenderForTags(): Promise<ACVMField[]>;
|
|
59
78
|
aztec_prv_setSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]>;
|
|
60
79
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFNBQVMsRUFNZixNQUFNLHlCQUF5QixDQUFDO0FBTWpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXJHLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILHFCQUFhLE1BQU07SUFDTCxPQUFPLENBQUMsT0FBTztJQUEzQixZQUFvQixPQUFPLEVBQUUsV0FBVyxHQUFHLHVCQUF1QixHQUFHLHVCQUF1QixFQUFJO0lBRWhHLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixjQUFjLElBQUksWUFBWSxDQXNDN0I7SUFHRCx1Q0FBdUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxvQkFHN0Q7SUFHRCx3QkFBd0IsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FHL0M7SUFHRCx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FHeEY7SUFHSyx5QkFBeUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBR2xGO0lBR0QsMkJBQTJCLElBQUksT0FBTyxDQUFDLENBQUMsU0FBUyxH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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;AAIrG,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED
|
|
1
|
+
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,25 @@ export class UnavailableOracleError extends Error {
|
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* A data source that has all the apis required by Aztec.nr.
|
|
18
|
+
*
|
|
19
|
+
* ## Oracle naming conventions
|
|
20
|
+
*
|
|
21
|
+
* We try to keep oracle naming consistent, please see below the conventions we adhere to.
|
|
22
|
+
*
|
|
23
|
+
* Each oracle method name has the form `aztec_{scope}_{verb}{Object}`, where:
|
|
24
|
+
*
|
|
25
|
+
* - **Scope prefix** indicates the execution context required:
|
|
26
|
+
* - `aztec_prv_` — available only during private function execution.
|
|
27
|
+
* - `aztec_utl_` — available during both utility and private execution.
|
|
28
|
+
*
|
|
29
|
+
* - **Verb** signals the operation's semantics (verb-first, then object):
|
|
30
|
+
* - `get` — read / lookup / get data from oracle into contract.
|
|
31
|
+
* - `does`/`is`/`has` — predicate (returns boolean).
|
|
32
|
+
* - `emit`/`notify` — propagate data from contract to oracle.
|
|
33
|
+
* - `set` — contract driven oracle state mutation (capsules, execution cache, tagging, etc).
|
|
34
|
+
* - `call` — trigger nested execution (control flow).
|
|
35
|
+
* - `assert` — validate a condition, throw on failure.
|
|
36
|
+
* - Standalone verbs (`delete`, `copy`, `decrypt`, `log`, etc) are used when no generic verb fits.
|
|
18
37
|
*/ export class Oracle {
|
|
19
38
|
handler;
|
|
20
39
|
constructor(handler){
|
|
@@ -84,13 +103,13 @@ export class UnavailableOracleError extends Error {
|
|
|
84
103
|
]);
|
|
85
104
|
}
|
|
86
105
|
// eslint-disable-next-line camelcase
|
|
87
|
-
|
|
88
|
-
this.handlerAsPrivate().
|
|
106
|
+
aztec_prv_setHashPreimage(values, [hash]) {
|
|
107
|
+
this.handlerAsPrivate().setHashPreimage(values.map(Fr.fromString), Fr.fromString(hash));
|
|
89
108
|
return Promise.resolve([]);
|
|
90
109
|
}
|
|
91
110
|
// eslint-disable-next-line camelcase
|
|
92
|
-
async
|
|
93
|
-
const values = await this.handlerAsPrivate().
|
|
111
|
+
async aztec_prv_getHashPreimage([returnsHash]) {
|
|
112
|
+
const values = await this.handlerAsPrivate().getHashPreimage(Fr.fromString(returnsHash));
|
|
94
113
|
return [
|
|
95
114
|
values.map(toACVMField)
|
|
96
115
|
];
|
|
@@ -187,9 +206,9 @@ export class UnavailableOracleError extends Error {
|
|
|
187
206
|
];
|
|
188
207
|
}
|
|
189
208
|
// eslint-disable-next-line camelcase
|
|
190
|
-
async
|
|
209
|
+
async aztec_utl_getPublicKeysAndPartialAddress([address]) {
|
|
191
210
|
const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
|
|
192
|
-
const result = await this.handlerAsUtility().
|
|
211
|
+
const result = await this.handlerAsUtility().getPublicKeysAndPartialAddress(parsedAddress);
|
|
193
212
|
// We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
|
|
194
213
|
// with two fields: `some` (a boolean) and `value` (a field array in this case).
|
|
195
214
|
if (result === undefined) {
|
|
@@ -251,8 +270,8 @@ export class UnavailableOracleError extends Error {
|
|
|
251
270
|
];
|
|
252
271
|
}
|
|
253
272
|
// eslint-disable-next-line camelcase
|
|
254
|
-
async
|
|
255
|
-
const exists = await this.handlerAsUtility().
|
|
273
|
+
async aztec_utl_doesNullifierExist([innerNullifier]) {
|
|
274
|
+
const exists = await this.handlerAsUtility().doesNullifierExist(Fr.fromString(innerNullifier));
|
|
256
275
|
return [
|
|
257
276
|
toACVMField(exists)
|
|
258
277
|
];
|
|
@@ -263,8 +282,8 @@ export class UnavailableOracleError extends Error {
|
|
|
263
282
|
return message.toNoirRepresentation();
|
|
264
283
|
}
|
|
265
284
|
// eslint-disable-next-line camelcase
|
|
266
|
-
async
|
|
267
|
-
const values = await this.handlerAsUtility().
|
|
285
|
+
async aztec_utl_getFromPublicStorage([blockHash], [contractAddress], [startStorageSlot], [numberOfElements]) {
|
|
286
|
+
const values = await this.handlerAsUtility().getFromPublicStorage(BlockHash.fromString(blockHash), new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), +numberOfElements);
|
|
268
287
|
return [
|
|
269
288
|
values.map(toACVMField)
|
|
270
289
|
];
|
|
@@ -297,8 +316,8 @@ export class UnavailableOracleError extends Error {
|
|
|
297
316
|
];
|
|
298
317
|
}
|
|
299
318
|
// eslint-disable-next-line camelcase
|
|
300
|
-
async
|
|
301
|
-
await this.handlerAsPrivate().
|
|
319
|
+
async aztec_prv_assertValidPublicCalldata([calldataHash]) {
|
|
320
|
+
await this.handlerAsPrivate().assertValidPublicCalldata(Fr.fromString(calldataHash));
|
|
302
321
|
return [];
|
|
303
322
|
}
|
|
304
323
|
// eslint-disable-next-line camelcase
|
|
@@ -307,8 +326,8 @@ export class UnavailableOracleError extends Error {
|
|
|
307
326
|
return Promise.resolve([]);
|
|
308
327
|
}
|
|
309
328
|
// eslint-disable-next-line camelcase
|
|
310
|
-
async
|
|
311
|
-
const isRevertible = await this.handlerAsPrivate().
|
|
329
|
+
async aztec_prv_isExecutionInRevertiblePhase([sideEffectCounter]) {
|
|
330
|
+
const isRevertible = await this.handlerAsPrivate().isExecutionInRevertiblePhase(Fr.fromString(sideEffectCounter).toNumber());
|
|
312
331
|
return Promise.resolve([
|
|
313
332
|
toACVMField(isRevertible)
|
|
314
333
|
]);
|
|
@@ -321,33 +340,33 @@ export class UnavailableOracleError extends Error {
|
|
|
321
340
|
];
|
|
322
341
|
}
|
|
323
342
|
// eslint-disable-next-line camelcase
|
|
324
|
-
async
|
|
325
|
-
await this.handlerAsUtility().
|
|
343
|
+
async aztec_utl_getPendingTaggedLogs([pendingTaggedLogArrayBaseSlot], [scope]) {
|
|
344
|
+
await this.handlerAsUtility().getPendingTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot), AztecAddress.fromString(scope));
|
|
326
345
|
return [];
|
|
327
346
|
}
|
|
328
347
|
// eslint-disable-next-line camelcase
|
|
329
|
-
async aztec_utl_validateAndStoreEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot], [maxNotePackedLen], [maxEventSerializedLen]) {
|
|
330
|
-
await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot), Fr.fromString(maxNotePackedLen).toNumber(), Fr.fromString(maxEventSerializedLen).toNumber());
|
|
348
|
+
async aztec_utl_validateAndStoreEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot], [maxNotePackedLen], [maxEventSerializedLen], [scope]) {
|
|
349
|
+
await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot), Fr.fromString(maxNotePackedLen).toNumber(), Fr.fromString(maxEventSerializedLen).toNumber(), AztecAddress.fromString(scope));
|
|
331
350
|
return [];
|
|
332
351
|
}
|
|
333
352
|
// eslint-disable-next-line camelcase
|
|
334
|
-
async
|
|
335
|
-
await this.handlerAsUtility().
|
|
353
|
+
async aztec_utl_getLogsByTag([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot], [scope]) {
|
|
354
|
+
await this.handlerAsUtility().getLogsByTag(AztecAddress.fromString(contractAddress), Fr.fromString(logRetrievalRequestsArrayBaseSlot), Fr.fromString(logRetrievalResponsesArrayBaseSlot), AztecAddress.fromString(scope));
|
|
336
355
|
return [];
|
|
337
356
|
}
|
|
338
357
|
// eslint-disable-next-line camelcase
|
|
339
|
-
async
|
|
340
|
-
await this.handlerAsUtility().
|
|
358
|
+
async aztec_utl_getMessageContextsByTxHash([contractAddress], [messageContextRequestsArrayBaseSlot], [messageContextResponsesArrayBaseSlot], [scope]) {
|
|
359
|
+
await this.handlerAsUtility().getMessageContextsByTxHash(AztecAddress.fromString(contractAddress), Fr.fromString(messageContextRequestsArrayBaseSlot), Fr.fromString(messageContextResponsesArrayBaseSlot), AztecAddress.fromString(scope));
|
|
341
360
|
return [];
|
|
342
361
|
}
|
|
343
362
|
// eslint-disable-next-line camelcase
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
return [];
|
|
363
|
+
aztec_utl_setCapsule([contractAddress], [slot], capsule, [scope]) {
|
|
364
|
+
this.handlerAsUtility().setCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), capsule.map(Fr.fromString), AztecAddress.fromField(Fr.fromString(scope)));
|
|
365
|
+
return Promise.resolve([]);
|
|
347
366
|
}
|
|
348
367
|
// eslint-disable-next-line camelcase
|
|
349
|
-
async
|
|
350
|
-
const values = await this.handlerAsUtility().
|
|
368
|
+
async aztec_utl_getCapsule([contractAddress], [slot], [tSize], [scope]) {
|
|
369
|
+
const values = await this.handlerAsUtility().getCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), AztecAddress.fromField(Fr.fromString(scope)));
|
|
351
370
|
// We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
|
|
352
371
|
// with two fields: `some` (a boolean) and `value` (a field array in this case).
|
|
353
372
|
if (values === null) {
|
|
@@ -365,23 +384,23 @@ export class UnavailableOracleError extends Error {
|
|
|
365
384
|
}
|
|
366
385
|
}
|
|
367
386
|
// eslint-disable-next-line camelcase
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
return [];
|
|
387
|
+
aztec_utl_deleteCapsule([contractAddress], [slot], [scope]) {
|
|
388
|
+
this.handlerAsUtility().deleteCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), AztecAddress.fromField(Fr.fromString(scope)));
|
|
389
|
+
return Promise.resolve([]);
|
|
371
390
|
}
|
|
372
391
|
// eslint-disable-next-line camelcase
|
|
373
|
-
async aztec_utl_copyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries]) {
|
|
374
|
-
await this.handlerAsUtility().copyCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(srcSlot), Fr.fromString(dstSlot), Fr.fromString(numEntries).toNumber());
|
|
392
|
+
async aztec_utl_copyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries], [scope]) {
|
|
393
|
+
await this.handlerAsUtility().copyCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(srcSlot), Fr.fromString(dstSlot), Fr.fromString(numEntries).toNumber(), AztecAddress.fromField(Fr.fromString(scope)));
|
|
375
394
|
return [];
|
|
376
395
|
}
|
|
377
396
|
// eslint-disable-next-line camelcase
|
|
378
|
-
async
|
|
397
|
+
async aztec_utl_decryptAes128(ciphertextBVecStorage, [ciphertextLength], iv, symKey) {
|
|
379
398
|
const ciphertext = fromUintBoundedVec(ciphertextBVecStorage, ciphertextLength, 8);
|
|
380
399
|
const ivBuffer = fromUintArray(iv, 8);
|
|
381
400
|
const symKeyBuffer = fromUintArray(symKey, 8);
|
|
382
401
|
// Noir Option<BoundedVec> is encoded as [is_some: Field, storage: Field[], length: Field].
|
|
383
402
|
try {
|
|
384
|
-
const plaintext = await this.handlerAsUtility().
|
|
403
|
+
const plaintext = await this.handlerAsUtility().decryptAes128(ciphertext, ivBuffer, symKeyBuffer);
|
|
385
404
|
const [storage, length] = bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
|
|
386
405
|
return [
|
|
387
406
|
toACVMField(1),
|
|
@@ -398,18 +417,20 @@ export class UnavailableOracleError extends Error {
|
|
|
398
417
|
}
|
|
399
418
|
}
|
|
400
419
|
// eslint-disable-next-line camelcase
|
|
401
|
-
async aztec_utl_getSharedSecret([address], [ephPKField0], [ephPKField1], [ephPKField2]) {
|
|
420
|
+
async aztec_utl_getSharedSecret([address], [ephPKField0], [ephPKField1], [ephPKField2], [contractAddress]) {
|
|
402
421
|
const secret = await this.handlerAsUtility().getSharedSecret(AztecAddress.fromField(Fr.fromString(address)), Point.fromFields([
|
|
403
422
|
ephPKField0,
|
|
404
423
|
ephPKField1,
|
|
405
424
|
ephPKField2
|
|
406
|
-
].map(Fr.fromString)));
|
|
407
|
-
return
|
|
425
|
+
].map(Fr.fromString)), AztecAddress.fromField(Fr.fromString(contractAddress)));
|
|
426
|
+
return [
|
|
427
|
+
toACVMField(secret)
|
|
428
|
+
];
|
|
408
429
|
}
|
|
409
430
|
// eslint-disable-next-line camelcase
|
|
410
|
-
|
|
431
|
+
aztec_utl_setContractSyncCacheInvalid([contractAddress], scopes, [scopeCount]) {
|
|
411
432
|
const scopeAddresses = scopes.slice(0, +scopeCount).map((s)=>AztecAddress.fromField(Fr.fromString(s)));
|
|
412
|
-
this.handlerAsUtility().
|
|
433
|
+
this.handlerAsUtility().setContractSyncCacheInvalid(AztecAddress.fromField(Fr.fromString(contractAddress)), scopeAddresses);
|
|
413
434
|
return Promise.resolve([]);
|
|
414
435
|
}
|
|
415
436
|
// eslint-disable-next-line camelcase
|
|
@@ -45,7 +45,7 @@ import { Oracle } from './oracle.js';
|
|
|
45
45
|
appCircuitName: functionName
|
|
46
46
|
});
|
|
47
47
|
const contractClassLogs = privateExecutionOracle.getContractClassLogs();
|
|
48
|
-
const rawReturnValues = await privateExecutionOracle.
|
|
48
|
+
const rawReturnValues = await privateExecutionOracle.getHashPreimage(publicInputs.returnsHash);
|
|
49
49
|
const newNotes = privateExecutionOracle.getNewNotes();
|
|
50
50
|
const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
|
|
51
51
|
const offchainEffects = privateExecutionOracle.getOffchainEffects();
|
|
@@ -7,7 +7,6 @@ import { type ContractClassLog, type TaggingIndexRange } from '@aztec/stdlib/log
|
|
|
7
7
|
import { Tag } from '@aztec/stdlib/logs';
|
|
8
8
|
import { type NoteStatus } from '@aztec/stdlib/note';
|
|
9
9
|
import { CallContext, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
|
|
10
|
-
import type { AccessScopes } from '../../access_scopes.js';
|
|
11
10
|
import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
|
|
12
11
|
import type { ExecutionNoteCache } from '../execution_note_cache.js';
|
|
13
12
|
import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
|
|
@@ -20,7 +19,7 @@ export type PrivateExecutionOracleArgs = Omit<UtilityExecutionOracleArgs, 'contr
|
|
|
20
19
|
txContext: TxContext;
|
|
21
20
|
callContext: CallContext;
|
|
22
21
|
/** Needed to trigger contract synchronization before nested calls */
|
|
23
|
-
utilityExecutor: (call: FunctionCall, scopes:
|
|
22
|
+
utilityExecutor: (call: FunctionCall, scopes: AztecAddress[]) => Promise<void>;
|
|
24
23
|
executionCache: HashedValuesCache;
|
|
25
24
|
noteCache: ExecutionNoteCache;
|
|
26
25
|
taggingIndexCache: ExecutionTaggingIndexCache;
|
|
@@ -120,14 +119,14 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
120
119
|
* @param values - Values to store.
|
|
121
120
|
* @returns The hash of the values.
|
|
122
121
|
*/
|
|
123
|
-
|
|
122
|
+
setHashPreimage(values: Fr[], hash: Fr): void;
|
|
124
123
|
/**
|
|
125
124
|
* Gets values from the execution cache.
|
|
126
125
|
* @param hash - Hash of the values.
|
|
127
126
|
* @returns The values.
|
|
128
127
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
getHashPreimage(hash: Fr): Promise<Fr[]>;
|
|
129
|
+
doesNullifierExist(innerNullifier: Fr): Promise<boolean>;
|
|
131
130
|
/**
|
|
132
131
|
* Gets some notes for a storage slot.
|
|
133
132
|
*
|
|
@@ -206,10 +205,10 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
206
205
|
returnsHash: Fr;
|
|
207
206
|
}>;
|
|
208
207
|
/** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */
|
|
209
|
-
|
|
208
|
+
assertValidPublicCalldata(calldataHash: Fr): Promise<void>;
|
|
210
209
|
notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
|
|
211
|
-
|
|
210
|
+
isExecutionInRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
|
|
212
211
|
private deriveCallContext;
|
|
213
212
|
getDebugFunctionName(): Promise<string>;
|
|
214
213
|
}
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsS0FBSyxZQUFZLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLFlBQVksRUFFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVDLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekMsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixLQUFLLFNBQVMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRzFCLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,YAAY,EACjB,gBAAgB,EAChB,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,gBAAgB,EAAuC,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxH,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -142,6 +142,15 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
142
142
|
* @returns An app tag to be used in a log.
|
|
143
143
|
*/ async getNextAppTagAsSender(sender, recipient) {
|
|
144
144
|
const extendedSecret = await this.#calculateExtendedDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
|
|
145
|
+
if (!extendedSecret) {
|
|
146
|
+
// We'd only fail to compute an extended secret if the recipient is an invalid address. To prevent
|
|
147
|
+
// king-of-the-hill attacks, instead of failing we use a random tag. By including a correct-looking tag in the
|
|
148
|
+
// log, the transaction shape is preserved and no privacy is leaked, even if the tag is bogus.
|
|
149
|
+
this.logger.warn(`Computing a tag for invalid recipient ${recipient} - returning a random tag instead`, {
|
|
150
|
+
contractAddress: this.contractAddress
|
|
151
|
+
});
|
|
152
|
+
return new Tag(Fr.random());
|
|
153
|
+
}
|
|
145
154
|
const index = await this.#getIndexToUseForSecret(extendedSecret);
|
|
146
155
|
this.logger.debug(`Incrementing tagging index for sender: ${sender}, recipient: ${recipient}, contract: ${this.contractAddress} to ${index}`);
|
|
147
156
|
this.taggingIndexCache.setLastUsedIndex(extendedSecret, index);
|
|
@@ -175,21 +184,21 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
175
184
|
* Store values in the execution cache.
|
|
176
185
|
* @param values - Values to store.
|
|
177
186
|
* @returns The hash of the values.
|
|
178
|
-
*/
|
|
187
|
+
*/ setHashPreimage(values, hash) {
|
|
179
188
|
return this.executionCache.store(values, hash);
|
|
180
189
|
}
|
|
181
190
|
/**
|
|
182
191
|
* Gets values from the execution cache.
|
|
183
192
|
* @param hash - Hash of the values.
|
|
184
193
|
* @returns The values.
|
|
185
|
-
*/
|
|
194
|
+
*/ getHashPreimage(hash) {
|
|
186
195
|
const preimage = this.executionCache.getPreimage(hash);
|
|
187
196
|
if (!preimage) {
|
|
188
197
|
throw new Error(`Preimage for hash ${hash.toString()} not found in cache`);
|
|
189
198
|
}
|
|
190
199
|
return Promise.resolve(preimage);
|
|
191
200
|
}
|
|
192
|
-
async
|
|
201
|
+
async doesNullifierExist(innerNullifier) {
|
|
193
202
|
// This oracle must be overridden because while utility execution can only meaningfully check if a nullifier exists
|
|
194
203
|
// in the synched block, during private execution there's also the possibility of it being pending, i.e. created
|
|
195
204
|
// in the current transaction.
|
|
@@ -197,7 +206,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
197
206
|
contractAddress: this.contractAddress
|
|
198
207
|
});
|
|
199
208
|
const nullifier = (await siloNullifier(this.contractAddress, innerNullifier)).toBigInt();
|
|
200
|
-
return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.
|
|
209
|
+
return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.doesNullifierExist(innerNullifier);
|
|
201
210
|
}
|
|
202
211
|
/**
|
|
203
212
|
* Gets some notes for a storage slot.
|
|
@@ -379,7 +388,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
379
388
|
senderTaggingStore: this.senderTaggingStore,
|
|
380
389
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
381
390
|
senderAddressBookStore: this.senderAddressBookStore,
|
|
382
|
-
|
|
391
|
+
capsuleService: this.capsuleService,
|
|
383
392
|
privateEventStore: this.privateEventStore,
|
|
384
393
|
messageContextService: this.messageContextService,
|
|
385
394
|
contractSyncService: this.contractSyncService,
|
|
@@ -407,7 +416,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
407
416
|
returnsHash: publicInputs.returnsHash
|
|
408
417
|
};
|
|
409
418
|
}
|
|
410
|
-
/** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */
|
|
419
|
+
/** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */ assertValidPublicCalldata(calldataHash) {
|
|
411
420
|
const calldata = this.executionCache.getPreimage(calldataHash);
|
|
412
421
|
if (!calldata) {
|
|
413
422
|
throw new Error('Calldata for public call not found in cache');
|
|
@@ -421,7 +430,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
421
430
|
notifyRevertiblePhaseStart(minRevertibleSideEffectCounter) {
|
|
422
431
|
return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
|
|
423
432
|
}
|
|
424
|
-
|
|
433
|
+
isExecutionInRevertiblePhase(sideEffectCounter) {
|
|
425
434
|
return Promise.resolve(this.noteCache.isSideEffectCounterRevertible(sideEffectCounter));
|
|
426
435
|
}
|
|
427
436
|
/**
|