@aztec/pxe 0.0.1-commit.1bb068fb5 → 0.0.1-commit.1de2a32

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.
Files changed (133) hide show
  1. package/dest/config/index.d.ts +2 -2
  2. package/dest/config/index.d.ts.map +1 -1
  3. package/dest/config/index.js +1 -1
  4. package/dest/config/package_info.js +1 -1
  5. package/dest/contract_function_simulator/contract_function_simulator.d.ts +1 -1
  6. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  7. package/dest/contract_function_simulator/contract_function_simulator.js +12 -12
  8. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -5
  9. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  10. package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -3
  11. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -3
  12. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  13. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +5 -4
  14. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +1 -1
  15. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  16. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -3
  17. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +2 -4
  18. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +3 -5
  20. package/dest/contract_function_simulator/oracle/interfaces.d.ts +48 -45
  21. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/oracle/oracle.d.ts +43 -44
  23. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  24. package/dest/contract_function_simulator/oracle/oracle.js +129 -91
  25. package/dest/contract_function_simulator/oracle/private_execution.js +1 -1
  26. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +20 -34
  27. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +37 -64
  29. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +36 -34
  30. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  31. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +48 -50
  32. package/dest/contract_logging.d.ts +22 -0
  33. package/dest/contract_logging.d.ts.map +1 -0
  34. package/dest/contract_logging.js +23 -0
  35. package/dest/debug/pxe_debug_utils.d.ts +2 -2
  36. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  37. package/dest/debug/pxe_debug_utils.js +4 -4
  38. package/dest/entrypoints/client/bundle/index.d.ts +2 -1
  39. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  40. package/dest/entrypoints/client/bundle/index.js +1 -0
  41. package/dest/entrypoints/client/lazy/index.d.ts +2 -1
  42. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  43. package/dest/entrypoints/client/lazy/index.js +1 -0
  44. package/dest/logs/log_service.d.ts +1 -1
  45. package/dest/logs/log_service.d.ts.map +1 -1
  46. package/dest/logs/log_service.js +4 -4
  47. package/dest/oracle_version.d.ts +2 -2
  48. package/dest/oracle_version.js +3 -3
  49. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  50. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  51. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  52. package/dest/private_kernel/hints/index.d.ts +1 -1
  53. package/dest/private_kernel/hints/index.js +1 -1
  54. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  55. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  56. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +129 -68
  57. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  58. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  59. package/dest/private_kernel/hints/test_utils.js +203 -0
  60. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  61. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  62. package/dest/private_kernel/private_kernel_execution_prover.js +19 -11
  63. package/dest/private_kernel/private_kernel_oracle.d.ts +6 -2
  64. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  65. package/dest/private_kernel/private_kernel_oracle.js +7 -3
  66. package/dest/pxe.d.ts +8 -7
  67. package/dest/pxe.d.ts.map +1 -1
  68. package/dest/pxe.js +37 -29
  69. package/dest/storage/contract_store/contract_store.d.ts +42 -15
  70. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  71. package/dest/storage/contract_store/contract_store.js +140 -64
  72. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  73. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  74. package/dest/storage/tagging_store/sender_tagging_store.d.ts +5 -5
  75. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  76. package/dest/storage/tagging_store/sender_tagging_store.js +4 -4
  77. package/dest/tagging/get_all_logs_by_tags.d.ts +1 -1
  78. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  79. package/dest/tagging/get_all_logs_by_tags.js +17 -3
  80. package/dest/tagging/index.d.ts +2 -2
  81. package/dest/tagging/index.d.ts.map +1 -1
  82. package/dest/tagging/index.js +1 -1
  83. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +4 -5
  84. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  85. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +7 -7
  86. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  87. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +6 -7
  88. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
  89. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +12 -11
  90. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -8
  91. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  92. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +3 -6
  93. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -7
  94. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  95. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +14 -15
  96. package/package.json +16 -16
  97. package/src/config/index.ts +1 -1
  98. package/src/config/package_info.ts +1 -1
  99. package/src/contract_function_simulator/contract_function_simulator.ts +19 -21
  100. package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -5
  101. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +8 -5
  102. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -4
  103. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +3 -6
  104. package/src/contract_function_simulator/oracle/interfaces.ts +48 -54
  105. package/src/contract_function_simulator/oracle/oracle.ts +136 -136
  106. package/src/contract_function_simulator/oracle/private_execution.ts +1 -1
  107. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +42 -80
  108. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +55 -59
  109. package/src/contract_logging.ts +39 -0
  110. package/src/debug/pxe_debug_utils.ts +4 -4
  111. package/src/entrypoints/client/bundle/index.ts +1 -0
  112. package/src/entrypoints/client/lazy/index.ts +1 -0
  113. package/src/logs/log_service.ts +10 -5
  114. package/src/oracle_version.ts +3 -3
  115. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  116. package/src/private_kernel/hints/index.ts +1 -1
  117. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +164 -117
  118. package/src/private_kernel/hints/test_utils.ts +325 -0
  119. package/src/private_kernel/private_kernel_execution_prover.ts +19 -12
  120. package/src/private_kernel/private_kernel_oracle.ts +7 -7
  121. package/src/pxe.ts +41 -34
  122. package/src/storage/contract_store/contract_store.ts +170 -71
  123. package/src/storage/tagging_store/recipient_tagging_store.ts +9 -5
  124. package/src/storage/tagging_store/sender_tagging_store.ts +8 -8
  125. package/src/tagging/get_all_logs_by_tags.ts +28 -4
  126. package/src/tagging/index.ts +1 -1
  127. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +7 -10
  128. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
  129. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +10 -15
  130. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +4 -9
  131. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +11 -20
  132. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  133. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
@@ -6,8 +6,9 @@ import { MembershipWitness } from '@aztec/foundation/trees';
6
6
  import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
7
7
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
8
8
  import { BlockHash } from '@aztec/stdlib/block';
9
- import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
9
+ import type { ContractInstance, PartialAddress } from '@aztec/stdlib/contract';
10
10
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
11
+ import type { PublicKeys } from '@aztec/stdlib/keys';
11
12
  import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
12
13
  import type { Note, NoteStatus } from '@aztec/stdlib/note';
13
14
  import { type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
@@ -52,9 +53,9 @@ export interface NoteData {
52
53
  export interface IMiscOracle {
53
54
  isMisc: true;
54
55
 
55
- utilityGetRandomField(): Fr;
56
- utilityAssertCompatibleOracleVersion(version: number): void;
57
- utilityLog(level: number, message: string, fields: Fr[]): Promise<void>;
56
+ getRandomField(): Fr;
57
+ assertCompatibleOracleVersion(version: number): void;
58
+ log(level: number, message: string, fields: Fr[]): Promise<void>;
58
59
  }
59
60
 
60
61
  /**
@@ -64,30 +65,32 @@ export interface IMiscOracle {
64
65
  export interface IUtilityExecutionOracle {
65
66
  isUtility: true;
66
67
 
67
- utilityGetUtilityContext(): UtilityContext;
68
- utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
69
- utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
70
- utilityGetNoteHashMembershipWitness(
68
+ getUtilityContext(): UtilityContext;
69
+ getKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
70
+ getContractInstance(address: AztecAddress): Promise<ContractInstance>;
71
+ getNoteHashMembershipWitness(
71
72
  anchorBlockHash: BlockHash,
72
73
  noteHash: Fr,
73
74
  ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
74
- utilityGetBlockHashMembershipWitness(
75
+ getBlockHashMembershipWitness(
75
76
  anchorBlockHash: BlockHash,
76
77
  blockHash: BlockHash,
77
78
  ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
78
- utilityGetNullifierMembershipWitness(
79
+ getNullifierMembershipWitness(
79
80
  anchorBlockHash: BlockHash,
80
81
  nullifier: Fr,
81
82
  ): Promise<NullifierMembershipWitness | undefined>;
82
- utilityGetPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
83
- utilityGetLowNullifierMembershipWitness(
83
+ getPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
84
+ getLowNullifierMembershipWitness(
84
85
  anchorBlockHash: BlockHash,
85
86
  nullifier: Fr,
86
87
  ): Promise<NullifierMembershipWitness | undefined>;
87
- utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
88
- utilityTryGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress | undefined>;
89
- utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
90
- utilityGetNotes(
88
+ getBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
89
+ tryGetPublicKeysAndPartialAddress(
90
+ account: AztecAddress,
91
+ ): Promise<{ publicKeys: PublicKeys; partialAddress: PartialAddress } | undefined>;
92
+ getAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
93
+ getNotes(
91
94
  owner: AztecAddress | undefined,
92
95
  storageSlot: Fr,
93
96
  numSelects: number,
@@ -104,35 +107,37 @@ export interface IUtilityExecutionOracle {
104
107
  offset: number,
105
108
  status: NoteStatus,
106
109
  ): Promise<NoteData[]>;
107
- utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean>;
108
- utilityGetL1ToL2MembershipWitness(
110
+ checkNullifierExists(innerNullifier: Fr): Promise<boolean>;
111
+ getL1ToL2MembershipWitness(
109
112
  contractAddress: AztecAddress,
110
113
  messageHash: Fr,
111
114
  secret: Fr,
112
115
  ): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
113
- utilityStorageRead(
116
+ storageRead(
114
117
  anchorBlockHash: BlockHash,
115
118
  contractAddress: AztecAddress,
116
119
  startStorageSlot: Fr,
117
120
  numberOfElements: number,
118
121
  ): Promise<Fr[]>;
119
- utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
120
- utilityValidateAndStoreEnqueuedNotesAndEvents(
122
+ fetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
123
+ validateAndStoreEnqueuedNotesAndEvents(
121
124
  contractAddress: AztecAddress,
122
125
  noteValidationRequestsArrayBaseSlot: Fr,
123
126
  eventValidationRequestsArrayBaseSlot: Fr,
127
+ maxNotePackedLen: number,
128
+ maxEventSerializedLen: number,
124
129
  ): Promise<void>;
125
- utilityBulkRetrieveLogs(
130
+ bulkRetrieveLogs(
126
131
  contractAddress: AztecAddress,
127
132
  logRetrievalRequestsArrayBaseSlot: Fr,
128
133
  logRetrievalResponsesArrayBaseSlot: Fr,
129
134
  ): Promise<void>;
130
- utilityStoreCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
131
- utilityLoadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
132
- utilityDeleteCapsule(contractAddress: AztecAddress, key: Fr): Promise<void>;
133
- utilityCopyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
134
- utilityAes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
135
- utilityGetSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
135
+ storeCapsule(contractAddress: AztecAddress, key: Fr, capsule: Fr[]): Promise<void>;
136
+ loadCapsule(contractAddress: AztecAddress, key: Fr): Promise<Fr[] | null>;
137
+ deleteCapsule(contractAddress: AztecAddress, key: Fr): Promise<void>;
138
+ copyCapsule(contractAddress: AztecAddress, srcKey: Fr, dstKey: Fr, numEntries: number): Promise<void>;
139
+ aes128Decrypt(ciphertext: Buffer, iv: Buffer, symKey: Buffer): Promise<Buffer>;
140
+ getSharedSecret(address: AztecAddress, ephPk: Point): Promise<Point>;
136
141
  }
137
142
 
138
143
  /**
@@ -142,9 +147,9 @@ export interface IUtilityExecutionOracle {
142
147
  export interface IPrivateExecutionOracle {
143
148
  isPrivate: true;
144
149
 
145
- privateStoreInExecutionCache(values: Fr[], hash: Fr): void;
146
- privateLoadFromExecutionCache(hash: Fr): Promise<Fr[]>;
147
- privateNotifyCreatedNote(
150
+ storeInExecutionCache(values: Fr[], hash: Fr): void;
151
+ loadFromExecutionCache(hash: Fr): Promise<Fr[]>;
152
+ notifyCreatedNote(
148
153
  owner: AztecAddress,
149
154
  storageSlot: Fr,
150
155
  randomness: Fr,
@@ -153,33 +158,22 @@ export interface IPrivateExecutionOracle {
153
158
  noteHash: Fr,
154
159
  counter: number,
155
160
  ): void;
156
- privateNotifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
157
- privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
158
- privateIsNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
159
- privateNotifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
160
- privateCallPrivateFunction(
161
+ notifyNullifiedNote(innerNullifier: Fr, noteHash: Fr, counter: number): Promise<void>;
162
+ notifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
163
+ isNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
164
+ notifyCreatedContractClassLog(log: ContractClassLog, counter: number): void;
165
+ callPrivateFunction(
161
166
  targetContractAddress: AztecAddress,
162
167
  functionSelector: FunctionSelector,
163
168
  argsHash: Fr,
164
169
  sideEffectCounter: number,
165
170
  isStaticCall: boolean,
166
171
  ): Promise<{ endSideEffectCounter: Fr; returnsHash: Fr }>;
167
- privateNotifyEnqueuedPublicFunctionCall(
168
- targetContractAddress: AztecAddress,
169
- calldataHash: Fr,
170
- sideEffectCounter: number,
171
- isStaticCall: boolean,
172
- ): Promise<void>;
173
- privateNotifySetPublicTeardownFunctionCall(
174
- targetContractAddress: AztecAddress,
175
- calldataHash: Fr,
176
- sideEffectCounter: number,
177
- isStaticCall: boolean,
178
- ): Promise<void>;
179
- privateNotifySetMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
180
- privateIsSideEffectCounterRevertible(sideEffectCounter: number): Promise<boolean>;
181
- privateGetSenderForTags(): Promise<AztecAddress | undefined>;
182
- privateSetSenderForTags(senderForTags: AztecAddress): Promise<void>;
183
- privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
184
- utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
172
+ validatePublicCalldata(calldataHash: Fr): Promise<void>;
173
+ notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
174
+ inRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
175
+ getSenderForTags(): Promise<AztecAddress | undefined>;
176
+ setSenderForTags(senderForTags: AztecAddress): Promise<void>;
177
+ getNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
178
+ emitOffchainEffect(data: Fr[]): Promise<void>;
185
179
  }