@aztec/txe 0.0.1-commit.fce3e4f → 0.0.1-commit.ff7989d6c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dest/constants.d.ts +3 -0
  2. package/dest/constants.d.ts.map +1 -0
  3. package/dest/constants.js +2 -0
  4. package/dest/index.d.ts +1 -1
  5. package/dest/index.d.ts.map +1 -1
  6. package/dest/index.js +85 -52
  7. package/dest/oracle/interfaces.d.ts +12 -9
  8. package/dest/oracle/interfaces.d.ts.map +1 -1
  9. package/dest/oracle/txe_oracle_public_context.d.ts +7 -7
  10. package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
  11. package/dest/oracle/txe_oracle_public_context.js +10 -12
  12. package/dest/oracle/txe_oracle_top_level_context.d.ts +23 -14
  13. package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
  14. package/dest/oracle/txe_oracle_top_level_context.js +177 -79
  15. package/dest/rpc_translator.d.ts +30 -18
  16. package/dest/rpc_translator.d.ts.map +1 -1
  17. package/dest/rpc_translator.js +127 -60
  18. package/dest/state_machine/archiver.d.ts +21 -52
  19. package/dest/state_machine/archiver.d.ts.map +1 -1
  20. package/dest/state_machine/archiver.js +63 -94
  21. package/dest/state_machine/dummy_p2p_client.d.ts +19 -14
  22. package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
  23. package/dest/state_machine/dummy_p2p_client.js +41 -24
  24. package/dest/state_machine/global_variable_builder.d.ts +6 -5
  25. package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
  26. package/dest/state_machine/global_variable_builder.js +13 -1
  27. package/dest/state_machine/index.d.ts +7 -7
  28. package/dest/state_machine/index.d.ts.map +1 -1
  29. package/dest/state_machine/index.js +40 -23
  30. package/dest/state_machine/mock_epoch_cache.d.ts +9 -6
  31. package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
  32. package/dest/state_machine/mock_epoch_cache.js +14 -7
  33. package/dest/state_machine/synchronizer.d.ts +3 -2
  34. package/dest/state_machine/synchronizer.d.ts.map +1 -1
  35. package/dest/state_machine/synchronizer.js +5 -4
  36. package/dest/txe_session.d.ts +21 -15
  37. package/dest/txe_session.d.ts.map +1 -1
  38. package/dest/txe_session.js +151 -52
  39. package/dest/util/encoding.d.ts +618 -19
  40. package/dest/util/encoding.d.ts.map +1 -1
  41. package/dest/util/encoding.js +1 -1
  42. package/dest/util/txe_account_store.d.ts +10 -0
  43. package/dest/util/txe_account_store.d.ts.map +1 -0
  44. package/dest/util/{txe_account_data_provider.js → txe_account_store.js} +1 -1
  45. package/dest/util/txe_public_contract_data_source.d.ts +8 -8
  46. package/dest/util/txe_public_contract_data_source.d.ts.map +1 -1
  47. package/dest/util/txe_public_contract_data_source.js +12 -29
  48. package/dest/utils/block_creation.d.ts +21 -6
  49. package/dest/utils/block_creation.d.ts.map +1 -1
  50. package/dest/utils/block_creation.js +38 -4
  51. package/dest/utils/tx_effect_creation.d.ts +3 -3
  52. package/dest/utils/tx_effect_creation.d.ts.map +1 -1
  53. package/dest/utils/tx_effect_creation.js +4 -7
  54. package/package.json +18 -18
  55. package/src/constants.ts +3 -0
  56. package/src/index.ts +97 -60
  57. package/src/oracle/interfaces.ts +11 -8
  58. package/src/oracle/txe_oracle_public_context.ts +12 -19
  59. package/src/oracle/txe_oracle_top_level_context.ts +213 -124
  60. package/src/rpc_translator.ts +156 -60
  61. package/src/state_machine/archiver.ts +59 -114
  62. package/src/state_machine/dummy_p2p_client.ts +57 -32
  63. package/src/state_machine/global_variable_builder.ts +21 -4
  64. package/src/state_machine/index.ts +60 -21
  65. package/src/state_machine/mock_epoch_cache.ts +15 -11
  66. package/src/state_machine/synchronizer.ts +6 -5
  67. package/src/txe_session.ts +207 -100
  68. package/src/util/encoding.ts +1 -1
  69. package/src/util/{txe_account_data_provider.ts → txe_account_store.ts} +1 -1
  70. package/src/util/txe_public_contract_data_source.ts +20 -45
  71. package/src/utils/block_creation.ts +49 -15
  72. package/src/utils/tx_effect_creation.ts +5 -12
  73. package/dest/util/txe_account_data_provider.d.ts +0 -10
  74. package/dest/util/txe_account_data_provider.d.ts.map +0 -1
  75. package/dest/util/txe_contract_data_provider.d.ts +0 -12
  76. package/dest/util/txe_contract_data_provider.d.ts.map +0 -1
  77. package/dest/util/txe_contract_data_provider.js +0 -22
  78. package/src/util/txe_contract_data_provider.ts +0 -36
@@ -37,6 +37,9 @@ export declare class RPCTranslator {
37
37
  txeSetUtilityTXEContext(foreignContractAddressIsSome: ForeignCallSingle, foreignContractAddressValue: ForeignCallSingle): Promise<{
38
38
  values: (string | ForeignCallArray)[];
39
39
  }>;
40
+ txeGetDefaultAddress(): {
41
+ values: (string | ForeignCallArray)[];
42
+ };
40
43
  txeGetNextBlockNumber(): Promise<{
41
44
  values: (string | ForeignCallArray)[];
42
45
  }>;
@@ -73,25 +76,28 @@ export declare class RPCTranslator {
73
76
  txeGetLastTxEffects(): Promise<{
74
77
  values: (string | ForeignCallArray)[];
75
78
  }>;
79
+ txeGetPrivateEvents(foreignSelector: ForeignCallSingle, foreignContractAddress: ForeignCallSingle, foreignScope: ForeignCallSingle): Promise<{
80
+ values: (string | ForeignCallArray)[];
81
+ }>;
76
82
  privateStoreInExecutionCache(foreignValues: ForeignCallArray, foreignHash: ForeignCallSingle): {
77
83
  values: (string | ForeignCallArray)[];
78
84
  };
79
85
  privateLoadFromExecutionCache(foreignHash: ForeignCallSingle): Promise<{
80
86
  values: (string | ForeignCallArray)[];
81
87
  }>;
82
- utilityDebugLog(foreignLevel: ForeignCallSingle, foreignMessage: ForeignCallArray, _foreignLength: ForeignCallSingle, foreignFields: ForeignCallArray): {
88
+ utilityLog(foreignLevel: ForeignCallSingle, foreignMessage: ForeignCallArray, _foreignLength: ForeignCallSingle, foreignFields: ForeignCallArray): Promise<{
83
89
  values: (string | ForeignCallArray)[];
84
- };
85
- utilityStorageRead(foreignContractAddress: ForeignCallSingle, foreignStartStorageSlot: ForeignCallSingle, foreignBlockNumber: ForeignCallSingle, foreignNumberOfElements: ForeignCallSingle): Promise<{
90
+ }>;
91
+ utilityStorageRead(foreignBlockHash: ForeignCallSingle, foreignContractAddress: ForeignCallSingle, foreignStartStorageSlot: ForeignCallSingle, foreignNumberOfElements: ForeignCallSingle): Promise<{
86
92
  values: (string | ForeignCallArray)[];
87
93
  }>;
88
- utilityGetPublicDataWitness(foreignBlockNumber: ForeignCallSingle, foreignLeafSlot: ForeignCallSingle): Promise<{
94
+ utilityGetPublicDataWitness(foreignBlockHash: ForeignCallSingle, foreignLeafSlot: ForeignCallSingle): Promise<{
89
95
  values: (string | ForeignCallArray)[];
90
96
  }>;
91
- utilityGetNotes(foreignStorageSlot: ForeignCallSingle, foreignNumSelects: ForeignCallSingle, foreignSelectByIndexes: ForeignCallArray, foreignSelectByOffsets: ForeignCallArray, foreignSelectByLengths: ForeignCallArray, foreignSelectValues: ForeignCallArray, foreignSelectComparators: ForeignCallArray, foreignSortByIndexes: ForeignCallArray, foreignSortByOffsets: ForeignCallArray, foreignSortByLengths: ForeignCallArray, foreignSortOrder: ForeignCallArray, foreignLimit: ForeignCallSingle, foreignOffset: ForeignCallSingle, foreignStatus: ForeignCallSingle, foreignMaxNotes: ForeignCallSingle, foreignPackedRetrievedNoteLength: ForeignCallSingle): Promise<{
97
+ utilityGetNotes(foreignOwnerIsSome: ForeignCallSingle, foreignOwnerValue: ForeignCallSingle, foreignStorageSlot: ForeignCallSingle, foreignNumSelects: ForeignCallSingle, foreignSelectByIndexes: ForeignCallArray, foreignSelectByOffsets: ForeignCallArray, foreignSelectByLengths: ForeignCallArray, foreignSelectValues: ForeignCallArray, foreignSelectComparators: ForeignCallArray, foreignSortByIndexes: ForeignCallArray, foreignSortByOffsets: ForeignCallArray, foreignSortByLengths: ForeignCallArray, foreignSortOrder: ForeignCallArray, foreignLimit: ForeignCallSingle, foreignOffset: ForeignCallSingle, foreignStatus: ForeignCallSingle, foreignMaxNotes: ForeignCallSingle, foreignPackedHintedNoteLength: ForeignCallSingle): Promise<{
92
98
  values: (string | ForeignCallArray)[];
93
99
  }>;
94
- privateNotifyCreatedNote(foreignStorageSlot: ForeignCallSingle, foreignRandomness: ForeignCallSingle, foreignNoteTypeId: ForeignCallSingle, foreignNote: ForeignCallArray, foreignNoteHash: ForeignCallSingle, foreignCounter: ForeignCallSingle): {
100
+ privateNotifyCreatedNote(foreignOwner: ForeignCallSingle, foreignStorageSlot: ForeignCallSingle, foreignRandomness: ForeignCallSingle, foreignNoteTypeId: ForeignCallSingle, foreignNote: ForeignCallArray, foreignNoteHash: ForeignCallSingle, foreignCounter: ForeignCallSingle): {
95
101
  values: (string | ForeignCallArray)[];
96
102
  };
97
103
  privateNotifyNullifiedNote(foreignInnerNullifier: ForeignCallSingle, foreignNoteHash: ForeignCallSingle, foreignCounter: ForeignCallSingle): Promise<{
@@ -100,20 +106,23 @@ export declare class RPCTranslator {
100
106
  privateNotifyCreatedNullifier(foreignInnerNullifier: ForeignCallSingle): Promise<{
101
107
  values: (string | ForeignCallArray)[];
102
108
  }>;
109
+ privateIsNullifierPending(foreignInnerNullifier: ForeignCallSingle, foreignContractAddress: ForeignCallSingle): Promise<{
110
+ values: (string | ForeignCallArray)[];
111
+ }>;
103
112
  utilityCheckNullifierExists(foreignInnerNullifier: ForeignCallSingle): Promise<{
104
113
  values: (string | ForeignCallArray)[];
105
114
  }>;
106
115
  utilityGetContractInstance(foreignAddress: ForeignCallSingle): Promise<{
107
116
  values: (string | ForeignCallArray)[];
108
117
  }>;
109
- utilityGetPublicKeysAndPartialAddress(foreignAddress: ForeignCallSingle): Promise<{
118
+ utilityTryGetPublicKeysAndPartialAddress(foreignAddress: ForeignCallSingle): Promise<{
110
119
  values: (string | ForeignCallArray)[];
111
120
  }>;
112
121
  utilityGetKeyValidationRequest(foreignPkMHash: ForeignCallSingle): Promise<{
113
122
  values: (string | ForeignCallArray)[];
114
123
  }>;
115
124
  privateCallPrivateFunction(_foreignTargetContractAddress: ForeignCallSingle, _foreignFunctionSelector: ForeignCallSingle, _foreignArgsHash: ForeignCallSingle, _foreignSideEffectCounter: ForeignCallSingle, _foreignIsStaticCall: ForeignCallSingle): void;
116
- utilityGetNullifierMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
125
+ utilityGetNullifierMembershipWitness(foreignBlockHash: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
117
126
  values: (string | ForeignCallArray)[];
118
127
  }>;
119
128
  utilityGetAuthWitness(foreignMessageHash: ForeignCallSingle): Promise<{
@@ -125,22 +134,25 @@ export declare class RPCTranslator {
125
134
  privateIsSideEffectCounterRevertible(foreignSideEffectCounter: ForeignCallSingle): Promise<{
126
135
  values: (string | ForeignCallArray)[];
127
136
  }>;
128
- utilityGetUtilityContext(): Promise<{
137
+ utilityGetUtilityContext(): {
129
138
  values: (string | ForeignCallArray)[];
130
- }>;
139
+ };
131
140
  utilityGetBlockHeader(foreignBlockNumber: ForeignCallSingle): Promise<{
132
141
  values: (string | ForeignCallArray)[];
133
142
  }>;
134
- utilityGetMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignTreeId: ForeignCallSingle, foreignLeafValue: ForeignCallSingle): Promise<{
143
+ utilityGetNoteHashMembershipWitness(foreignAnchorBlockHash: ForeignCallSingle, foreignNoteHash: ForeignCallSingle): Promise<{
144
+ values: (string | ForeignCallArray)[];
145
+ }>;
146
+ utilityGetBlockHashMembershipWitness(foreignAnchorBlockHash: ForeignCallSingle, foreignBlockHash: ForeignCallSingle): Promise<{
135
147
  values: (string | ForeignCallArray)[];
136
148
  }>;
137
- utilityGetLowNullifierMembershipWitness(foreignBlockNumber: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
149
+ utilityGetLowNullifierMembershipWitness(foreignBlockHash: ForeignCallSingle, foreignNullifier: ForeignCallSingle): Promise<{
138
150
  values: (string | ForeignCallArray)[];
139
151
  }>;
140
152
  utilityFetchTaggedLogs(foreignPendingTaggedLogArrayBaseSlot: ForeignCallSingle): Promise<{
141
153
  values: (string | ForeignCallArray)[];
142
154
  }>;
143
- utilityValidateEnqueuedNotesAndEvents(foreignContractAddress: ForeignCallSingle, foreignNoteValidationRequestsArrayBaseSlot: ForeignCallSingle, foreignEventValidationRequestsArrayBaseSlot: ForeignCallSingle): Promise<{
155
+ utilityValidateAndStoreEnqueuedNotesAndEvents(foreignContractAddress: ForeignCallSingle, foreignNoteValidationRequestsArrayBaseSlot: ForeignCallSingle, foreignEventValidationRequestsArrayBaseSlot: ForeignCallSingle): Promise<{
144
156
  values: (string | ForeignCallArray)[];
145
157
  }>;
146
158
  utilityBulkRetrieveLogs(foreignContractAddress: ForeignCallSingle, foreignLogRetrievalRequestsArrayBaseSlot: ForeignCallSingle, foreignLogRetrievalResponsesArrayBaseSlot: ForeignCallSingle): Promise<{
@@ -165,10 +177,10 @@ export declare class RPCTranslator {
165
177
  values: (string | ForeignCallArray)[];
166
178
  }>;
167
179
  emitOffchainEffect(_foreignData: ForeignCallArray): void;
168
- avmOpcodeEmitUnencryptedLog(_foreignMessage: ForeignCallArray): {
180
+ avmOpcodeEmitPublicLog(_foreignMessage: ForeignCallArray): {
169
181
  values: (string | ForeignCallArray)[];
170
182
  };
171
- avmOpcodeStorageRead(foreignSlot: ForeignCallSingle): Promise<{
183
+ avmOpcodeStorageRead(foreignSlot: ForeignCallSingle, foreignContractAddress: ForeignCallSingle): Promise<{
172
184
  values: (string | ForeignCallArray)[];
173
185
  }>;
174
186
  avmOpcodeStorageWrite(foreignSlot: ForeignCallSingle, foreignValue: ForeignCallSingle): Promise<{
@@ -192,7 +204,7 @@ export declare class RPCTranslator {
192
204
  avmOpcodeEmitNoteHash(foreignNoteHash: ForeignCallSingle): Promise<{
193
205
  values: (string | ForeignCallArray)[];
194
206
  }>;
195
- avmOpcodeNullifierExists(foreignInnerNullifier: ForeignCallSingle, foreignTargetAddress: ForeignCallSingle): Promise<{
207
+ avmOpcodeNullifierExists(foreignSiloedNullifier: ForeignCallSingle): Promise<{
196
208
  values: (string | ForeignCallArray)[];
197
209
  }>;
198
210
  avmOpcodeAddress(): Promise<{
@@ -221,7 +233,7 @@ export declare class RPCTranslator {
221
233
  txePrivateCallNewFlow(foreignFrom: ForeignCallSingle, foreignTargetContractAddress: ForeignCallSingle, foreignFunctionSelector: ForeignCallSingle, foreignArgs: ForeignCallArray, foreignArgsHash: ForeignCallSingle, foreignIsStaticCall: ForeignCallSingle): Promise<{
222
234
  values: (string | ForeignCallArray)[];
223
235
  }>;
224
- txeSimulateUtilityFunction(foreignTargetContractAddress: ForeignCallSingle, foreignFunctionSelector: ForeignCallSingle, foreignArgs: ForeignCallArray): Promise<{
236
+ txeExecuteUtilityFunction(foreignTargetContractAddress: ForeignCallSingle, foreignFunctionSelector: ForeignCallSingle, foreignArgs: ForeignCallArray): Promise<{
225
237
  values: (string | ForeignCallArray)[];
226
238
  }>;
227
239
  txePublicCallNewFlow(foreignFrom: ForeignCallSingle, foreignAddress: ForeignCallSingle, foreignCalldata: ForeignCallArray, foreignIsStaticCall: ForeignCallSingle): Promise<{
@@ -237,4 +249,4 @@ export declare class RPCTranslator {
237
249
  values: (string | ForeignCallArray)[];
238
250
  }>;
239
251
  }
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzdFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyx1QkFBdUIsRUFFN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBa0MsTUFBTSxtQkFBbUIsQ0FBQztBQUkxRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBWXZCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVVkLHdCQUF3Qjs7T0FJN0I7SUFFSyx1QkFBdUIsQ0FDM0IsNEJBQTRCLEVBQUUsaUJBQWlCLEVB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
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTdFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyx1QkFBdUIsRUFFN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBaUQsTUFBTSxtQkFBbUIsQ0FBQztBQUl6RyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBWXZCLE1BQU0sb0JBQW9CLENBQUM7QUFLNUIscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVVkLHdCQUF3Qjs7T0FJN0I7SUFFSyx1QkFBdUIsQ0FDM0IsNEJBQTRCLEVBQUUsaUJBQWlCLEVB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
@@ -1 +1 @@
1
- {"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { Fr, Point } from '@aztec/aztec.js/fields';
2
2
  import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX } from '@aztec/constants';
3
- import { packAsRetrievedNote } from '@aztec/pxe/simulator';
4
- import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
4
+ import { packAsHintedNote } from '@aztec/pxe/simulator';
5
+ import { EventSelector, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
5
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
- import { MerkleTreeId } from '@aztec/stdlib/trees';
7
+ import { BlockHash } from '@aztec/stdlib/block';
7
8
  import { addressFromSingle, arrayOfArraysToBoundedVecOfArrays, arrayToBoundedVec, bufferToU8Array, fromArray, fromSingle, fromUintArray, fromUintBoundedVec, toArray, toForeignCallResult, toSingle } from './util/encoding.js';
9
+ const MAX_EVENT_LEN = 12; // This is MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_RESERVED_FIELDS
10
+ const MAX_PRIVATE_EVENTS_PER_TXE_QUERY = 5;
8
11
  export class UnavailableOracleError extends Error {
9
12
  constructor(oracleName){
10
13
  super(`${oracleName} oracles not available with the current handler`);
@@ -64,7 +67,7 @@ export class RPCTranslator {
64
67
  }
65
68
  async txeSetPrivateTXEContext(foreignContractAddressIsSome, foreignContractAddressValue, foreignAnchorBlockNumberIsSome, foreignAnchorBlockNumberValue) {
66
69
  const contractAddress = fromSingle(foreignContractAddressIsSome).toBool() ? AztecAddress.fromField(fromSingle(foreignContractAddressValue)) : undefined;
67
- const anchorBlockNumber = fromSingle(foreignAnchorBlockNumberIsSome).toBool() ? fromSingle(foreignAnchorBlockNumberValue).toNumber() : undefined;
70
+ const anchorBlockNumber = fromSingle(foreignAnchorBlockNumberIsSome).toBool() ? BlockNumber(fromSingle(foreignAnchorBlockNumberValue).toNumber()) : undefined;
68
71
  const privateContextInputs = await this.stateHandler.enterPrivateState(contractAddress, anchorBlockNumber);
69
72
  return toForeignCallResult(privateContextInputs.toFields().map(toSingle));
70
73
  }
@@ -80,6 +83,12 @@ export class RPCTranslator {
80
83
  }
81
84
  // Other oracles - these get handled by the oracle handler
82
85
  // TXE-specific oracles
86
+ txeGetDefaultAddress() {
87
+ const defaultAddress = this.handlerAsTxe().txeGetDefaultAddress();
88
+ return toForeignCallResult([
89
+ toSingle(defaultAddress)
90
+ ]);
91
+ }
83
92
  async txeGetNextBlockNumber() {
84
93
  const nextBlockNumber = await this.handlerAsTxe().txeGetNextBlockNumber();
85
94
  return toForeignCallResult([
@@ -163,6 +172,28 @@ export class RPCTranslator {
163
172
  ...arrayToBoundedVec(toArray(nullifiers), MAX_NULLIFIERS_PER_TX)
164
173
  ]);
165
174
  }
175
+ async txeGetPrivateEvents(foreignSelector, foreignContractAddress, foreignScope) {
176
+ const selector = EventSelector.fromField(fromSingle(foreignSelector));
177
+ const contractAddress = addressFromSingle(foreignContractAddress);
178
+ const scope = addressFromSingle(foreignScope);
179
+ const events = await this.handlerAsTxe().txeGetPrivateEvents(selector, contractAddress, scope);
180
+ if (events.length > MAX_PRIVATE_EVENTS_PER_TXE_QUERY) {
181
+ throw new Error(`Array of length ${events.length} larger than maxLen ${MAX_PRIVATE_EVENTS_PER_TXE_QUERY}`);
182
+ }
183
+ if (events.some((e)=>e.length > MAX_EVENT_LEN)) {
184
+ throw new Error(`Some private event has length larger than maxLen ${MAX_EVENT_LEN}`);
185
+ }
186
+ // This is a workaround as Noir does not currently let us return nested structs with arrays. We instead return a raw
187
+ // multidimensional array in get_private_events_oracle and create the BoundedVecs here.
188
+ const rawArrayStorage = events.map((e)=>e.concat(Array(MAX_EVENT_LEN - e.length).fill(new Fr(0)))).concat(Array(MAX_PRIVATE_EVENTS_PER_TXE_QUERY - events.length).fill(Array(MAX_EVENT_LEN).fill(new Fr(0)))).flat();
189
+ const eventLengths = events.map((e)=>new Fr(e.length)).concat(Array(MAX_PRIVATE_EVENTS_PER_TXE_QUERY - events.length).fill(new Fr(0)));
190
+ const queryLength = new Fr(events.length);
191
+ return toForeignCallResult([
192
+ toArray(rawArrayStorage),
193
+ toArray(eventLengths),
194
+ toSingle(queryLength)
195
+ ]);
196
+ }
166
197
  privateStoreInExecutionCache(foreignValues, foreignHash) {
167
198
  const values = fromArray(foreignValues);
168
199
  const hash = fromSingle(foreignHash);
@@ -178,33 +209,35 @@ export class RPCTranslator {
178
209
  }
179
210
  // When the argument is a slice, noir automatically adds a length field to oracle call.
180
211
  // When the argument is an array, we add the field length manually to the signature.
181
- utilityDebugLog(foreignLevel, foreignMessage, _foreignLength, foreignFields) {
212
+ async utilityLog(foreignLevel, foreignMessage, _foreignLength, foreignFields) {
182
213
  const level = fromSingle(foreignLevel).toNumber();
183
214
  const message = fromArray(foreignMessage).map((field)=>String.fromCharCode(field.toNumber())).join('');
184
215
  const fields = fromArray(foreignFields);
185
- this.handlerAsMisc().utilityDebugLog(level, message, fields);
216
+ await this.handlerAsMisc().utilityLog(level, message, fields);
186
217
  return toForeignCallResult([]);
187
218
  }
188
- async utilityStorageRead(foreignContractAddress, foreignStartStorageSlot, foreignBlockNumber, foreignNumberOfElements) {
219
+ async utilityStorageRead(foreignBlockHash, foreignContractAddress, foreignStartStorageSlot, foreignNumberOfElements) {
220
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
189
221
  const contractAddress = addressFromSingle(foreignContractAddress);
190
222
  const startStorageSlot = fromSingle(foreignStartStorageSlot);
191
- const blockNumber = fromSingle(foreignBlockNumber).toNumber();
192
223
  const numberOfElements = fromSingle(foreignNumberOfElements).toNumber();
193
- const values = await this.handlerAsUtility().utilityStorageRead(contractAddress, startStorageSlot, blockNumber, numberOfElements);
224
+ const values = await this.handlerAsUtility().utilityStorageRead(blockHash, contractAddress, startStorageSlot, numberOfElements);
194
225
  return toForeignCallResult([
195
226
  toArray(values)
196
227
  ]);
197
228
  }
198
- async utilityGetPublicDataWitness(foreignBlockNumber, foreignLeafSlot) {
199
- const blockNumber = fromSingle(foreignBlockNumber).toNumber();
229
+ async utilityGetPublicDataWitness(foreignBlockHash, foreignLeafSlot) {
230
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
200
231
  const leafSlot = fromSingle(foreignLeafSlot);
201
- const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(blockNumber, leafSlot);
232
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(blockHash, leafSlot);
202
233
  if (!witness) {
203
- throw new Error(`Public data witness not found for slot ${leafSlot} at block ${blockNumber}.`);
234
+ throw new Error(`Public data witness not found for slot ${leafSlot} at block ${blockHash.toString()}.`);
204
235
  }
205
236
  return toForeignCallResult(witness.toNoirRepresentation());
206
237
  }
207
- async utilityGetNotes(foreignStorageSlot, foreignNumSelects, foreignSelectByIndexes, foreignSelectByOffsets, foreignSelectByLengths, foreignSelectValues, foreignSelectComparators, foreignSortByIndexes, foreignSortByOffsets, foreignSortByLengths, foreignSortOrder, foreignLimit, foreignOffset, foreignStatus, foreignMaxNotes, foreignPackedRetrievedNoteLength) {
238
+ async utilityGetNotes(foreignOwnerIsSome, foreignOwnerValue, foreignStorageSlot, foreignNumSelects, foreignSelectByIndexes, foreignSelectByOffsets, foreignSelectByLengths, foreignSelectValues, foreignSelectComparators, foreignSortByIndexes, foreignSortByOffsets, foreignSortByLengths, foreignSortOrder, foreignLimit, foreignOffset, foreignStatus, foreignMaxNotes, foreignPackedHintedNoteLength) {
239
+ // Parse Option<AztecAddress>: ownerIsSome is 0 for None, 1 for Some
240
+ const owner = fromSingle(foreignOwnerIsSome).toBool() ? AztecAddress.fromField(fromSingle(foreignOwnerValue)) : undefined;
208
241
  const storageSlot = fromSingle(foreignStorageSlot);
209
242
  const numSelects = fromSingle(foreignNumSelects).toNumber();
210
243
  const selectByIndexes = fromArray(foreignSelectByIndexes).map((fr)=>fr.toNumber());
@@ -220,22 +253,31 @@ export class RPCTranslator {
220
253
  const offset = fromSingle(foreignOffset).toNumber();
221
254
  const status = fromSingle(foreignStatus).toNumber();
222
255
  const maxNotes = fromSingle(foreignMaxNotes).toNumber();
223
- const packedRetrievedNoteLength = fromSingle(foreignPackedRetrievedNoteLength).toNumber();
224
- const noteDatas = await this.handlerAsUtility().utilityGetNotes(storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status);
225
- const returnDataAsArrayOfArrays = noteDatas.map(packAsRetrievedNote);
256
+ const packedHintedNoteLength = fromSingle(foreignPackedHintedNoteLength).toNumber();
257
+ const noteDatas = await this.handlerAsUtility().utilityGetNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status);
258
+ const returnDataAsArrayOfArrays = noteDatas.map((noteData)=>packAsHintedNote({
259
+ contractAddress: noteData.contractAddress,
260
+ owner: noteData.owner,
261
+ randomness: noteData.randomness,
262
+ storageSlot: noteData.storageSlot,
263
+ noteNonce: noteData.noteNonce,
264
+ isPending: noteData.isPending,
265
+ note: noteData.note
266
+ }));
226
267
  // Now we convert each sub-array to an array of ForeignCallSingles
227
268
  const returnDataAsArrayOfForeignCallSingleArrays = returnDataAsArrayOfArrays.map((subArray)=>subArray.map(toSingle));
228
269
  // At last we convert the array of arrays to a bounded vec of arrays
229
- return toForeignCallResult(arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfForeignCallSingleArrays, maxNotes, packedRetrievedNoteLength));
270
+ return toForeignCallResult(arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfForeignCallSingleArrays, maxNotes, packedHintedNoteLength));
230
271
  }
231
- privateNotifyCreatedNote(foreignStorageSlot, foreignRandomness, foreignNoteTypeId, foreignNote, foreignNoteHash, foreignCounter) {
272
+ privateNotifyCreatedNote(foreignOwner, foreignStorageSlot, foreignRandomness, foreignNoteTypeId, foreignNote, foreignNoteHash, foreignCounter) {
273
+ const owner = addressFromSingle(foreignOwner);
232
274
  const storageSlot = fromSingle(foreignStorageSlot);
233
275
  const randomness = fromSingle(foreignRandomness);
234
276
  const noteTypeId = NoteSelector.fromField(fromSingle(foreignNoteTypeId));
235
277
  const note = fromArray(foreignNote);
236
278
  const noteHash = fromSingle(foreignNoteHash);
237
279
  const counter = fromSingle(foreignCounter).toNumber();
238
- this.handlerAsPrivate().privateNotifyCreatedNote(storageSlot, randomness, noteTypeId, note, noteHash, counter);
280
+ this.handlerAsPrivate().privateNotifyCreatedNote(owner, storageSlot, randomness, noteTypeId, note, noteHash, counter);
239
281
  return toForeignCallResult([]);
240
282
  }
241
283
  async privateNotifyNullifiedNote(foreignInnerNullifier, foreignNoteHash, foreignCounter) {
@@ -250,6 +292,14 @@ export class RPCTranslator {
250
292
  await this.handlerAsPrivate().privateNotifyCreatedNullifier(innerNullifier);
251
293
  return toForeignCallResult([]);
252
294
  }
295
+ async privateIsNullifierPending(foreignInnerNullifier, foreignContractAddress) {
296
+ const innerNullifier = fromSingle(foreignInnerNullifier);
297
+ const contractAddress = addressFromSingle(foreignContractAddress);
298
+ const isPending = await this.handlerAsPrivate().privateIsNullifierPending(innerNullifier, contractAddress);
299
+ return toForeignCallResult([
300
+ toSingle(new Fr(isPending))
301
+ ]);
302
+ }
253
303
  async utilityCheckNullifierExists(foreignInnerNullifier) {
254
304
  const innerNullifier = fromSingle(foreignInnerNullifier);
255
305
  const exists = await this.handlerAsUtility().utilityCheckNullifierExists(innerNullifier);
@@ -268,15 +318,27 @@ export class RPCTranslator {
268
318
  ...instance.publicKeys.toFields()
269
319
  ].map(toSingle));
270
320
  }
271
- async utilityGetPublicKeysAndPartialAddress(foreignAddress) {
321
+ async utilityTryGetPublicKeysAndPartialAddress(foreignAddress) {
272
322
  const address = addressFromSingle(foreignAddress);
273
- const { publicKeys, partialAddress } = await this.handlerAsUtility().utilityGetPublicKeysAndPartialAddress(address);
274
- return toForeignCallResult([
275
- toArray([
276
- ...publicKeys.toFields(),
277
- partialAddress
278
- ])
279
- ]);
323
+ const result = await this.handlerAsUtility().utilityTryGetPublicKeysAndPartialAddress(address);
324
+ // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
325
+ // with two fields: `some` (a boolean) and `value` (a field array in this case).
326
+ if (result === undefined) {
327
+ // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
328
+ return toForeignCallResult([
329
+ toSingle(new Fr(0)),
330
+ toArray(Array(13).fill(new Fr(0)))
331
+ ]);
332
+ } else {
333
+ // Data was found so we set `some` to 1 and return it along with `value`.
334
+ return toForeignCallResult([
335
+ toSingle(new Fr(1)),
336
+ toArray([
337
+ ...result.publicKeys.toFields(),
338
+ result.partialAddress
339
+ ])
340
+ ]);
341
+ }
280
342
  }
281
343
  async utilityGetKeyValidationRequest(foreignPkMHash) {
282
344
  const pkMHash = fromSingle(foreignPkMHash);
@@ -286,12 +348,12 @@ export class RPCTranslator {
286
348
  privateCallPrivateFunction(_foreignTargetContractAddress, _foreignFunctionSelector, _foreignArgsHash, _foreignSideEffectCounter, _foreignIsStaticCall) {
287
349
  throw new Error('Contract calls are forbidden inside a `TestEnvironment::private_context`, use `private_call` instead');
288
350
  }
289
- async utilityGetNullifierMembershipWitness(foreignBlockNumber, foreignNullifier) {
290
- const blockNumber = fromSingle(foreignBlockNumber).toNumber();
351
+ async utilityGetNullifierMembershipWitness(foreignBlockHash, foreignNullifier) {
352
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
291
353
  const nullifier = fromSingle(foreignNullifier);
292
- const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(blockNumber, nullifier);
354
+ const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(blockHash, nullifier);
293
355
  if (!witness) {
294
- throw new Error(`Nullifier membership witness not found at block ${blockNumber}.`);
356
+ throw new Error(`Nullifier membership witness not found at block ${blockHash}.`);
295
357
  }
296
358
  return toForeignCallResult(witness.toNoirRepresentation());
297
359
  }
@@ -321,37 +383,42 @@ export class RPCTranslator {
321
383
  toSingle(new Fr(isRevertible))
322
384
  ]);
323
385
  }
324
- async utilityGetUtilityContext() {
325
- const context = await this.handlerAsUtility().utilityGetUtilityContext();
386
+ utilityGetUtilityContext() {
387
+ const context = this.handlerAsUtility().utilityGetUtilityContext();
326
388
  return toForeignCallResult(context.toNoirRepresentation());
327
389
  }
328
390
  async utilityGetBlockHeader(foreignBlockNumber) {
329
- const blockNumber = fromSingle(foreignBlockNumber).toNumber();
391
+ const blockNumber = BlockNumber(fromSingle(foreignBlockNumber).toNumber());
330
392
  const header = await this.handlerAsUtility().utilityGetBlockHeader(blockNumber);
331
393
  if (!header) {
332
394
  throw new Error(`Block header not found for block ${blockNumber}.`);
333
395
  }
334
396
  return toForeignCallResult(header.toFields().map(toSingle));
335
397
  }
336
- async utilityGetMembershipWitness(foreignBlockNumber, foreignTreeId, foreignLeafValue) {
337
- const blockNumber = fromSingle(foreignBlockNumber).toNumber();
338
- const treeId = fromSingle(foreignTreeId).toNumber();
339
- const leafValue = fromSingle(foreignLeafValue);
340
- const witness = await this.handlerAsUtility().utilityGetMembershipWitness(blockNumber, treeId, leafValue);
398
+ async utilityGetNoteHashMembershipWitness(foreignAnchorBlockHash, foreignNoteHash) {
399
+ const blockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
400
+ const noteHash = fromSingle(foreignNoteHash);
401
+ const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(blockHash, noteHash);
341
402
  if (!witness) {
342
- throw new Error(`Membership witness in tree ${MerkleTreeId[treeId]} not found for value ${leafValue} at block ${blockNumber}.`);
403
+ throw new Error(`Note hash ${noteHash} not found in the note hash tree at block ${blockHash.toString()}.`);
343
404
  }
344
- return toForeignCallResult([
345
- toSingle(witness[0]),
346
- toArray(witness.slice(1))
347
- ]);
405
+ return toForeignCallResult(witness.toNoirRepresentation());
406
+ }
407
+ async utilityGetBlockHashMembershipWitness(foreignAnchorBlockHash, foreignBlockHash) {
408
+ const anchorBlockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
409
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
410
+ const witness = await this.handlerAsUtility().utilityGetBlockHashMembershipWitness(anchorBlockHash, blockHash);
411
+ if (!witness) {
412
+ throw new Error(`Block hash ${blockHash.toString()} not found in the archive tree at anchor block ${anchorBlockHash.toString()}.`);
413
+ }
414
+ return toForeignCallResult(witness.toNoirRepresentation());
348
415
  }
349
- async utilityGetLowNullifierMembershipWitness(foreignBlockNumber, foreignNullifier) {
350
- const blockNumber = fromSingle(foreignBlockNumber).toNumber();
416
+ async utilityGetLowNullifierMembershipWitness(foreignBlockHash, foreignNullifier) {
417
+ const blockHash = new BlockHash(fromSingle(foreignBlockHash));
351
418
  const nullifier = fromSingle(foreignNullifier);
352
- const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(blockNumber, nullifier);
419
+ const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(blockHash, nullifier);
353
420
  if (!witness) {
354
- throw new Error(`Low nullifier witness not found for nullifier ${nullifier} at block ${blockNumber}.`);
421
+ throw new Error(`Low nullifier witness not found for nullifier ${nullifier} at block ${blockHash}.`);
355
422
  }
356
423
  return toForeignCallResult(witness.toNoirRepresentation());
357
424
  }
@@ -360,11 +427,11 @@ export class RPCTranslator {
360
427
  await this.handlerAsUtility().utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot);
361
428
  return toForeignCallResult([]);
362
429
  }
363
- async utilityValidateEnqueuedNotesAndEvents(foreignContractAddress, foreignNoteValidationRequestsArrayBaseSlot, foreignEventValidationRequestsArrayBaseSlot) {
430
+ async utilityValidateAndStoreEnqueuedNotesAndEvents(foreignContractAddress, foreignNoteValidationRequestsArrayBaseSlot, foreignEventValidationRequestsArrayBaseSlot) {
364
431
  const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
365
432
  const noteValidationRequestsArrayBaseSlot = fromSingle(foreignNoteValidationRequestsArrayBaseSlot);
366
433
  const eventValidationRequestsArrayBaseSlot = fromSingle(foreignEventValidationRequestsArrayBaseSlot);
367
- await this.handlerAsUtility().utilityValidateEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot);
434
+ await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(contractAddress, noteValidationRequestsArrayBaseSlot, eventValidationRequestsArrayBaseSlot);
368
435
  return toForeignCallResult([]);
369
436
  }
370
437
  async utilityBulkRetrieveLogs(foreignContractAddress, foreignLogRetrievalRequestsArrayBaseSlot, foreignLogRetrievalResponsesArrayBaseSlot) {
@@ -441,13 +508,14 @@ export class RPCTranslator {
441
508
  throw new Error('Offchain effects are not yet supported in the TestEnvironment');
442
509
  }
443
510
  // AVM opcodes
444
- avmOpcodeEmitUnencryptedLog(_foreignMessage) {
511
+ avmOpcodeEmitPublicLog(_foreignMessage) {
445
512
  // TODO(#8811): Implement
446
513
  return toForeignCallResult([]);
447
514
  }
448
- async avmOpcodeStorageRead(foreignSlot) {
515
+ async avmOpcodeStorageRead(foreignSlot, foreignContractAddress) {
449
516
  const slot = fromSingle(foreignSlot);
450
- const value = (await this.handlerAsAvm().avmOpcodeStorageRead(slot)).value;
517
+ const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
518
+ const value = (await this.handlerAsAvm().avmOpcodeStorageRead(slot, contractAddress)).value;
451
519
  return toForeignCallResult([
452
520
  toSingle(new Fr(value))
453
521
  ]);
@@ -501,10 +569,9 @@ export class RPCTranslator {
501
569
  await this.handlerAsAvm().avmOpcodeEmitNoteHash(noteHash);
502
570
  return toForeignCallResult([]);
503
571
  }
504
- async avmOpcodeNullifierExists(foreignInnerNullifier, foreignTargetAddress) {
505
- const innerNullifier = fromSingle(foreignInnerNullifier);
506
- const targetAddress = AztecAddress.fromField(fromSingle(foreignTargetAddress));
507
- const exists = await this.handlerAsAvm().avmOpcodeNullifierExists(innerNullifier, targetAddress);
572
+ async avmOpcodeNullifierExists(foreignSiloedNullifier) {
573
+ const siloedNullifier = fromSingle(foreignSiloedNullifier);
574
+ const exists = await this.handlerAsAvm().avmOpcodeNullifierExists(siloedNullifier);
508
575
  return toForeignCallResult([
509
576
  toSingle(new Fr(exists))
510
577
  ]);
@@ -572,11 +639,11 @@ export class RPCTranslator {
572
639
  toArray(returnValues)
573
640
  ]);
574
641
  }
575
- async txeSimulateUtilityFunction(foreignTargetContractAddress, foreignFunctionSelector, foreignArgs) {
642
+ async txeExecuteUtilityFunction(foreignTargetContractAddress, foreignFunctionSelector, foreignArgs) {
576
643
  const targetContractAddress = addressFromSingle(foreignTargetContractAddress);
577
644
  const functionSelector = FunctionSelector.fromField(fromSingle(foreignFunctionSelector));
578
645
  const args = fromArray(foreignArgs);
579
- const returnValues = await this.handlerAsTxe().txeSimulateUtilityFunction(targetContractAddress, functionSelector, args);
646
+ const returnValues = await this.handlerAsTxe().txeExecuteUtilityFunction(targetContractAddress, functionSelector, args);
580
647
  return toForeignCallResult([
581
648
  toArray(returnValues)
582
649
  ]);