@aztec/txe 0.0.1-commit.24de95ac → 0.0.1-commit.2606882
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/ContractClassRegistry-PII7Q556.js +3 -0
- package/dest/ContractClassRegistry-PII7Q556.js.map +7 -0
- package/dest/ContractInstanceRegistry-3MHLGFNZ.js +3 -0
- package/dest/ContractInstanceRegistry-3MHLGFNZ.js.map +7 -0
- package/dest/FeeJuice-TQV5AQK7.js +3 -0
- package/dest/FeeJuice-TQV5AQK7.js.map +7 -0
- package/dest/MultiCallEntrypoint-SBJUIJY7.js +3 -0
- package/dest/MultiCallEntrypoint-SBJUIJY7.js.map +7 -0
- package/dest/SchnorrAccount-MQXPIZ44.js +3 -0
- package/dest/SchnorrAccount-MQXPIZ44.js.map +7 -0
- package/dest/bin/check_txe_oracle_version.d.ts +2 -0
- package/dest/bin/check_txe_oracle_version.d.ts.map +1 -0
- package/dest/bin/check_txe_oracle_version.js +61 -0
- package/dest/bin/index.d.ts +1 -1
- package/dest/bin/index.js +3 -30
- package/dest/bin/index.js.map +7 -0
- package/dest/bin/oracle_test_server.d.ts +3 -0
- package/dest/bin/oracle_test_server.d.ts.map +1 -0
- package/dest/bin/oracle_test_server.js +41 -0
- package/dest/chunk-3VX4QA7B.js +265 -0
- package/dest/chunk-3VX4QA7B.js.map +7 -0
- package/dest/chunk-BJVAAXNA.js +3 -0
- package/dest/chunk-BJVAAXNA.js.map +7 -0
- package/dest/chunk-FU3LBVE4.js +304 -0
- package/dest/chunk-FU3LBVE4.js.map +7 -0
- package/dest/constants.d.ts +7 -0
- package/dest/constants.d.ts.map +1 -0
- package/dest/constants.js +10 -0
- package/dest/dispatcher_pool.d.ts +67 -0
- package/dest/dispatcher_pool.d.ts.map +1 -0
- package/dest/dispatcher_pool.js +284 -0
- package/dest/index.d.ts +185 -7
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +73 -158
- package/dest/metafile.json +38352 -0
- package/dest/msgpackr_fr_extension.d.ts +2 -0
- package/dest/msgpackr_fr_extension.d.ts.map +1 -0
- package/dest/msgpackr_fr_extension.js +21 -0
- package/dest/oracle/interfaces.d.ts +60 -31
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/test-resolver/fixtures.d.ts +43 -0
- package/dest/oracle/test-resolver/fixtures.d.ts.map +1 -0
- package/dest/oracle/test-resolver/fixtures.js +39 -0
- package/dest/oracle/test-resolver/index.d.ts +9 -0
- package/dest/oracle/test-resolver/index.d.ts.map +1 -0
- package/dest/oracle/test-resolver/index.js +33 -0
- package/dest/oracle/test-resolver/resolver.d.ts +34 -0
- package/dest/oracle/test-resolver/resolver.d.ts.map +1 -0
- package/dest/oracle/test-resolver/resolver.js +114 -0
- package/dest/oracle/txe_oracle_public_context.d.ts +41 -17
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +63 -23
- package/dest/oracle/txe_oracle_registry.d.ts +147 -0
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_registry.js +562 -0
- package/dest/oracle/txe_oracle_top_level_context.d.ts +57 -28
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +342 -131
- package/dest/oracle/txe_oracle_version.d.ts +17 -0
- package/dest/oracle/txe_oracle_version.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_version.js +14 -0
- package/dest/oracle/txe_private_execution_oracle.d.ts +17 -0
- package/dest/oracle/txe_private_execution_oracle.d.ts.map +1 -0
- package/dest/oracle/txe_private_execution_oracle.js +15 -0
- package/dest/rpc_server.d.ts +14 -0
- package/dest/rpc_server.d.ts.map +1 -0
- package/dest/rpc_server.js +78 -0
- package/dest/rpc_translator.d.ts +96 -213
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +815 -550
- package/dest/server.bundle.js +3 -0
- package/dest/server.bundle.js.map +7 -0
- package/dest/state_machine/archiver.d.ts +23 -52
- package/dest/state_machine/archiver.d.ts.map +1 -1
- package/dest/state_machine/archiver.js +77 -99
- package/dest/state_machine/dummy_p2p_client.d.ts +28 -15
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +54 -22
- package/dest/state_machine/global_variable_builder.d.ts +11 -4
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
- package/dest/state_machine/global_variable_builder.js +21 -3
- package/dest/state_machine/index.d.ts +11 -7
- package/dest/state_machine/index.d.ts.map +1 -1
- package/dest/state_machine/index.js +60 -25
- package/dest/state_machine/mock_epoch_cache.d.ts +29 -12
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
- package/dest/state_machine/mock_epoch_cache.js +50 -15
- package/dest/state_machine/synchronizer.d.ts +6 -5
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +9 -8
- package/dest/txe_session.d.ts +94 -21
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +314 -68
- package/dest/utils/block_creation.d.ts +21 -6
- package/dest/utils/block_creation.d.ts.map +1 -1
- package/dest/utils/block_creation.js +38 -4
- package/dest/utils/encoding.d.ts +191 -0
- package/dest/utils/encoding.d.ts.map +1 -0
- package/dest/{util → utils}/encoding.js +8 -3
- package/dest/utils/expected_failure_error.d.ts +4 -0
- package/dest/utils/expected_failure_error.d.ts.map +1 -0
- package/dest/utils/tx_effect_creation.d.ts +3 -3
- package/dest/utils/tx_effect_creation.d.ts.map +1 -1
- package/dest/utils/tx_effect_creation.js +4 -7
- package/dest/utils/txe_account_store.d.ts +10 -0
- package/dest/utils/txe_account_store.d.ts.map +1 -0
- package/dest/{util/txe_account_data_provider.js → utils/txe_account_store.js} +1 -1
- package/dest/utils/txe_artifact_resolver.d.ts +37 -0
- package/dest/utils/txe_artifact_resolver.d.ts.map +1 -0
- package/dest/utils/txe_artifact_resolver.js +161 -0
- package/dest/utils/txe_public_contract_data_source.d.ts +20 -0
- package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -0
- package/dest/utils/txe_public_contract_data_source.js +48 -0
- package/dest/worker.bundle.js +3 -0
- package/dest/worker.bundle.js.map +7 -0
- package/dest/worker.d.ts +2 -0
- package/dest/worker.d.ts.map +1 -0
- package/dest/worker.js +92 -0
- package/package.json +40 -22
- package/src/bin/check_txe_oracle_version.ts +70 -0
- package/src/bin/index.ts +11 -2
- package/src/bin/oracle_test_server.ts +51 -0
- package/src/constants.ts +13 -0
- package/src/dispatcher_pool.ts +316 -0
- package/src/index.ts +111 -201
- package/src/msgpackr_fr_extension.ts +23 -0
- package/src/oracle/interfaces.ts +62 -36
- package/src/oracle/test-resolver/fixtures.ts +84 -0
- package/src/oracle/test-resolver/index.ts +45 -0
- package/src/oracle/test-resolver/resolver.ts +165 -0
- package/src/oracle/txe_oracle_public_context.ts +81 -28
- package/src/oracle/txe_oracle_registry.ts +401 -0
- package/src/oracle/txe_oracle_top_level_context.ts +419 -179
- package/src/oracle/txe_oracle_version.ts +17 -0
- package/src/oracle/txe_private_execution_oracle.ts +30 -0
- package/src/rpc_server.ts +87 -0
- package/src/rpc_translator.ts +999 -909
- package/src/state_machine/archiver.ts +83 -115
- package/src/state_machine/dummy_p2p_client.ts +83 -33
- package/src/state_machine/global_variable_builder.ts +39 -6
- package/src/state_machine/index.ts +82 -24
- package/src/state_machine/mock_epoch_cache.ts +63 -23
- package/src/state_machine/synchronizer.ts +10 -9
- package/src/txe_session.ts +486 -119
- package/src/utils/block_creation.ts +49 -14
- package/src/{util → utils}/encoding.ts +9 -3
- package/src/utils/tx_effect_creation.ts +5 -12
- package/src/{util/txe_account_data_provider.ts → utils/txe_account_store.ts} +1 -1
- package/src/utils/txe_artifact_resolver.ts +217 -0
- package/src/utils/txe_public_contract_data_source.ts +58 -0
- package/src/worker.ts +98 -0
- package/dest/util/encoding.d.ts +0 -121
- package/dest/util/encoding.d.ts.map +0 -1
- package/dest/util/expected_failure_error.d.ts +0 -4
- package/dest/util/expected_failure_error.d.ts.map +0 -1
- package/dest/util/txe_account_data_provider.d.ts +0 -10
- package/dest/util/txe_account_data_provider.d.ts.map +0 -1
- package/dest/util/txe_contract_data_provider.d.ts +0 -12
- package/dest/util/txe_contract_data_provider.d.ts.map +0 -1
- package/dest/util/txe_contract_data_provider.js +0 -22
- package/dest/util/txe_public_contract_data_source.d.ts +0 -20
- package/dest/util/txe_public_contract_data_source.d.ts.map +0 -1
- package/dest/util/txe_public_contract_data_source.js +0 -67
- package/src/util/txe_contract_data_provider.ts +0 -36
- package/src/util/txe_public_contract_data_source.ts +0 -85
- /package/dest/{util → utils}/expected_failure_error.js +0 -0
- /package/src/{util → utils}/expected_failure_error.ts +0 -0
package/src/rpc_translator.ts
CHANGED
|
@@ -1,33 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { Fr, Point } from '@aztec/aztec.js/fields';
|
|
3
|
-
import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX } from '@aztec/constants';
|
|
4
|
-
import {
|
|
5
|
-
type IMiscOracle,
|
|
6
|
-
type IPrivateExecutionOracle,
|
|
7
|
-
type IUtilityExecutionOracle,
|
|
8
|
-
packAsRetrievedNote,
|
|
9
|
-
} from '@aztec/pxe/simulator';
|
|
10
|
-
import { type ContractArtifact, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
11
|
-
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
12
|
-
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
1
|
+
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from '@aztec/pxe/simulator';
|
|
13
2
|
|
|
14
3
|
import type { IAvmExecutionOracle, ITxeExecutionOracle } from './oracle/interfaces.js';
|
|
4
|
+
import { callTxeHandler } from './oracle/txe_oracle_registry.js';
|
|
15
5
|
import type { TXESessionStateHandler } from './txe_session.js';
|
|
16
|
-
import {
|
|
17
|
-
type ForeignCallArray,
|
|
18
|
-
type ForeignCallSingle,
|
|
19
|
-
addressFromSingle,
|
|
20
|
-
arrayOfArraysToBoundedVecOfArrays,
|
|
21
|
-
arrayToBoundedVec,
|
|
22
|
-
bufferToU8Array,
|
|
23
|
-
fromArray,
|
|
24
|
-
fromSingle,
|
|
25
|
-
fromUintArray,
|
|
26
|
-
fromUintBoundedVec,
|
|
27
|
-
toArray,
|
|
28
|
-
toForeignCallResult,
|
|
29
|
-
toSingle,
|
|
30
|
-
} from './util/encoding.js';
|
|
6
|
+
import type { ForeignCallArgs } from './utils/encoding.js';
|
|
31
7
|
|
|
32
8
|
export class UnavailableOracleError extends Error {
|
|
33
9
|
constructor(oracleName: string) {
|
|
@@ -98,916 +74,1030 @@ export class RPCTranslator {
|
|
|
98
74
|
return this.oracleHandler;
|
|
99
75
|
}
|
|
100
76
|
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
77
|
+
// eslint-disable-next-line camelcase
|
|
78
|
+
aztec_txe_assertCompatibleOracleVersion(...inputs: ForeignCallArgs) {
|
|
79
|
+
return callTxeHandler({
|
|
80
|
+
oracle: 'aztec_txe_assertCompatibleOracleVersion',
|
|
81
|
+
inputs,
|
|
82
|
+
handler: ([major, minor]) => {
|
|
83
|
+
this.stateHandler.setTxeOracleVersion(major, minor);
|
|
84
|
+
},
|
|
85
|
+
});
|
|
107
86
|
}
|
|
108
87
|
|
|
109
|
-
|
|
110
|
-
foreignContractAddressIsSome: ForeignCallSingle,
|
|
111
|
-
foreignContractAddressValue: ForeignCallSingle,
|
|
112
|
-
foreignAnchorBlockNumberIsSome: ForeignCallSingle,
|
|
113
|
-
foreignAnchorBlockNumberValue: ForeignCallSingle,
|
|
114
|
-
) {
|
|
115
|
-
const contractAddress = fromSingle(foreignContractAddressIsSome).toBool()
|
|
116
|
-
? AztecAddress.fromField(fromSingle(foreignContractAddressValue))
|
|
117
|
-
: undefined;
|
|
118
|
-
|
|
119
|
-
const anchorBlockNumber = fromSingle(foreignAnchorBlockNumberIsSome).toBool()
|
|
120
|
-
? fromSingle(foreignAnchorBlockNumberValue).toNumber()
|
|
121
|
-
: undefined;
|
|
122
|
-
|
|
123
|
-
const privateContextInputs = await this.stateHandler.enterPrivateState(contractAddress, anchorBlockNumber);
|
|
88
|
+
// TXE session state transition functions - these get handled by the state handler
|
|
124
89
|
|
|
125
|
-
|
|
90
|
+
// eslint-disable-next-line camelcase
|
|
91
|
+
aztec_txe_setTopLevelTXEContext() {
|
|
92
|
+
return callTxeHandler({
|
|
93
|
+
oracle: 'aztec_txe_setTopLevelTXEContext',
|
|
94
|
+
inputs: [],
|
|
95
|
+
handler: () => this.stateHandler.enterTopLevelState(),
|
|
96
|
+
});
|
|
126
97
|
}
|
|
127
98
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
await this.stateHandler.enterPublicState(contractAddress);
|
|
137
|
-
|
|
138
|
-
return toForeignCallResult([]);
|
|
99
|
+
// eslint-disable-next-line camelcase
|
|
100
|
+
aztec_txe_setPrivateTXEContext(...inputs: ForeignCallArgs) {
|
|
101
|
+
return callTxeHandler({
|
|
102
|
+
oracle: 'aztec_txe_setPrivateTXEContext',
|
|
103
|
+
inputs,
|
|
104
|
+
handler: ([contractAddress, anchorBlockNumber, gasSettings]) =>
|
|
105
|
+
this.stateHandler.enterPrivateState(contractAddress, anchorBlockNumber, gasSettings),
|
|
106
|
+
});
|
|
139
107
|
}
|
|
140
108
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
await this.stateHandler.enterUtilityState(contractAddress);
|
|
109
|
+
// eslint-disable-next-line camelcase
|
|
110
|
+
aztec_txe_setPublicTXEContext(...inputs: ForeignCallArgs) {
|
|
111
|
+
return callTxeHandler({
|
|
112
|
+
oracle: 'aztec_txe_setPublicTXEContext',
|
|
113
|
+
inputs,
|
|
114
|
+
handler: ([contractAddress]) => this.stateHandler.enterPublicState(contractAddress),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
150
117
|
|
|
151
|
-
|
|
118
|
+
// eslint-disable-next-line camelcase
|
|
119
|
+
aztec_txe_setUtilityTXEContext(...inputs: ForeignCallArgs) {
|
|
120
|
+
return callTxeHandler({
|
|
121
|
+
oracle: 'aztec_txe_setUtilityTXEContext',
|
|
122
|
+
inputs,
|
|
123
|
+
handler: ([contractAddress]) => this.stateHandler.enterUtilityState(contractAddress),
|
|
124
|
+
});
|
|
152
125
|
}
|
|
153
126
|
|
|
154
127
|
// Other oracles - these get handled by the oracle handler
|
|
155
128
|
|
|
156
129
|
// TXE-specific oracles
|
|
157
130
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
131
|
+
// eslint-disable-next-line camelcase
|
|
132
|
+
aztec_txe_getDefaultAddress() {
|
|
133
|
+
return callTxeHandler({
|
|
134
|
+
oracle: 'aztec_txe_getDefaultAddress',
|
|
135
|
+
inputs: [],
|
|
136
|
+
handler: () => this.handlerAsTxe().getDefaultAddress(),
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// eslint-disable-next-line camelcase
|
|
141
|
+
aztec_txe_getNextBlockNumber() {
|
|
142
|
+
return callTxeHandler({
|
|
143
|
+
oracle: 'aztec_txe_getNextBlockNumber',
|
|
144
|
+
inputs: [],
|
|
145
|
+
handler: () => this.handlerAsTxe().getNextBlockNumber(),
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// eslint-disable-next-line camelcase
|
|
150
|
+
aztec_txe_getNextBlockTimestamp() {
|
|
151
|
+
return callTxeHandler({
|
|
152
|
+
oracle: 'aztec_txe_getNextBlockTimestamp',
|
|
153
|
+
inputs: [],
|
|
154
|
+
handler: () => this.handlerAsTxe().getNextBlockTimestamp(),
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// eslint-disable-next-line camelcase
|
|
159
|
+
aztec_txe_advanceBlocksBy(...inputs: ForeignCallArgs) {
|
|
160
|
+
return callTxeHandler({
|
|
161
|
+
oracle: 'aztec_txe_advanceBlocksBy',
|
|
162
|
+
inputs,
|
|
163
|
+
handler: ([blocks]) => this.handlerAsTxe().advanceBlocksBy(blocks),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// eslint-disable-next-line camelcase
|
|
168
|
+
aztec_txe_advanceTimestampBy(...inputs: ForeignCallArgs) {
|
|
169
|
+
return callTxeHandler({
|
|
170
|
+
oracle: 'aztec_txe_advanceTimestampBy',
|
|
171
|
+
inputs,
|
|
172
|
+
handler: ([duration]) => this.handlerAsTxe().advanceTimestampBy(duration),
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// eslint-disable-next-line camelcase
|
|
177
|
+
aztec_txe_deploy(...inputs: ForeignCallArgs) {
|
|
178
|
+
return callTxeHandler({
|
|
179
|
+
oracle: 'aztec_txe_deploy',
|
|
180
|
+
inputs,
|
|
181
|
+
handler: ([contractPath, initializer, _, args, secret, salt, deployer]) =>
|
|
182
|
+
this.handlerAsTxe().deploy(contractPath, initializer, args, secret, salt, deployer),
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// eslint-disable-next-line camelcase
|
|
187
|
+
aztec_txe_createAccount(...inputs: ForeignCallArgs) {
|
|
188
|
+
return callTxeHandler({
|
|
189
|
+
oracle: 'aztec_txe_createAccount',
|
|
190
|
+
inputs,
|
|
191
|
+
handler: ([secret]) => this.handlerAsTxe().createAccount(secret),
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// eslint-disable-next-line camelcase
|
|
196
|
+
aztec_txe_addAccount(...inputs: ForeignCallArgs) {
|
|
197
|
+
return callTxeHandler({
|
|
198
|
+
oracle: 'aztec_txe_addAccount',
|
|
199
|
+
inputs,
|
|
200
|
+
handler: ([secret]) => this.handlerAsTxe().addAccount(secret),
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// eslint-disable-next-line camelcase
|
|
205
|
+
aztec_txe_addAuthWitness(...inputs: ForeignCallArgs) {
|
|
206
|
+
return callTxeHandler({
|
|
207
|
+
oracle: 'aztec_txe_addAuthWitness',
|
|
208
|
+
inputs,
|
|
209
|
+
handler: ([address, messageHash]) => this.handlerAsTxe().addAuthWitness(address, messageHash),
|
|
210
|
+
});
|
|
235
211
|
}
|
|
236
212
|
|
|
237
213
|
// PXE oracles
|
|
238
214
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
return
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
selectByOffsets,
|
|
383
|
-
selectByLengths,
|
|
384
|
-
selectValues,
|
|
385
|
-
selectComparators,
|
|
386
|
-
sortByIndexes,
|
|
387
|
-
sortByOffsets,
|
|
388
|
-
sortByLengths,
|
|
389
|
-
sortOrder,
|
|
390
|
-
limit,
|
|
391
|
-
offset,
|
|
392
|
-
status,
|
|
393
|
-
);
|
|
394
|
-
|
|
395
|
-
const returnDataAsArrayOfArrays = noteDatas.map(packAsRetrievedNote);
|
|
396
|
-
|
|
397
|
-
// Now we convert each sub-array to an array of ForeignCallSingles
|
|
398
|
-
const returnDataAsArrayOfForeignCallSingleArrays = returnDataAsArrayOfArrays.map(subArray =>
|
|
399
|
-
subArray.map(toSingle),
|
|
400
|
-
);
|
|
401
|
-
|
|
402
|
-
// At last we convert the array of arrays to a bounded vec of arrays
|
|
403
|
-
return toForeignCallResult(
|
|
404
|
-
arrayOfArraysToBoundedVecOfArrays(
|
|
405
|
-
returnDataAsArrayOfForeignCallSingleArrays,
|
|
215
|
+
// eslint-disable-next-line camelcase
|
|
216
|
+
aztec_misc_assertCompatibleOracleVersion(...inputs: ForeignCallArgs) {
|
|
217
|
+
return callTxeHandler({
|
|
218
|
+
oracle: 'aztec_misc_assertCompatibleOracleVersion',
|
|
219
|
+
inputs,
|
|
220
|
+
handler: ([major, minor]) => this.handlerAsMisc().assertCompatibleOracleVersion(major, minor),
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// eslint-disable-next-line camelcase
|
|
225
|
+
aztec_misc_getRandomField() {
|
|
226
|
+
return callTxeHandler({
|
|
227
|
+
oracle: 'aztec_misc_getRandomField',
|
|
228
|
+
inputs: [],
|
|
229
|
+
handler: () => this.handlerAsMisc().getRandomField(),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
// eslint-disable-next-line camelcase
|
|
234
|
+
aztec_txe_getLastBlockTimestamp() {
|
|
235
|
+
return callTxeHandler({
|
|
236
|
+
oracle: 'aztec_txe_getLastBlockTimestamp',
|
|
237
|
+
inputs: [],
|
|
238
|
+
handler: () => this.handlerAsTxe().getLastBlockTimestamp(),
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// eslint-disable-next-line camelcase
|
|
243
|
+
aztec_txe_getLastTxEffects() {
|
|
244
|
+
return callTxeHandler({
|
|
245
|
+
oracle: 'aztec_txe_getLastTxEffects',
|
|
246
|
+
inputs: [],
|
|
247
|
+
handler: () => this.handlerAsTxe().getLastTxEffects(),
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// eslint-disable-next-line camelcase
|
|
252
|
+
aztec_txe_getLastCallOffchainEffects() {
|
|
253
|
+
return callTxeHandler({
|
|
254
|
+
oracle: 'aztec_txe_getLastCallOffchainEffects',
|
|
255
|
+
inputs: [],
|
|
256
|
+
handler: () => this.stateHandler.getLastCallOffchainEffects(),
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// eslint-disable-next-line camelcase
|
|
261
|
+
aztec_txe_getLastCallContext() {
|
|
262
|
+
return callTxeHandler({
|
|
263
|
+
oracle: 'aztec_txe_getLastCallContext',
|
|
264
|
+
inputs: [],
|
|
265
|
+
handler: () => this.stateHandler.getLastCallContext(),
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// eslint-disable-next-line camelcase
|
|
270
|
+
aztec_txe_getPrivateEvents(...inputs: ForeignCallArgs) {
|
|
271
|
+
return callTxeHandler({
|
|
272
|
+
oracle: 'aztec_txe_getPrivateEvents',
|
|
273
|
+
inputs,
|
|
274
|
+
handler: async ([selector, contractAddress, scope]) => {
|
|
275
|
+
// TODO(F-335): Avoid doing the following 2 calls here.
|
|
276
|
+
{
|
|
277
|
+
await this.handlerAsTxe().syncContractNonOracleMethod(
|
|
278
|
+
contractAddress,
|
|
279
|
+
scope,
|
|
280
|
+
this.stateHandler.getCurrentJob(),
|
|
281
|
+
);
|
|
282
|
+
// We cycle job to commit the stores after the contract sync.
|
|
283
|
+
await this.stateHandler.cycleJob();
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return this.handlerAsTxe().getPrivateEvents(selector, contractAddress, scope);
|
|
287
|
+
},
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// eslint-disable-next-line camelcase
|
|
292
|
+
aztec_prv_setHashPreimage(...inputs: ForeignCallArgs) {
|
|
293
|
+
return callTxeHandler({
|
|
294
|
+
oracle: 'aztec_prv_setHashPreimage',
|
|
295
|
+
inputs,
|
|
296
|
+
handler: ([values, hash]) => this.handlerAsPrivate().setHashPreimage(values, hash),
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// eslint-disable-next-line camelcase
|
|
301
|
+
aztec_prv_getHashPreimage(...inputs: ForeignCallArgs) {
|
|
302
|
+
return callTxeHandler({
|
|
303
|
+
oracle: 'aztec_prv_getHashPreimage',
|
|
304
|
+
inputs,
|
|
305
|
+
handler: ([hash]) => this.handlerAsPrivate().getHashPreimage(hash),
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// eslint-disable-next-line camelcase
|
|
310
|
+
aztec_misc_log(...inputs: ForeignCallArgs) {
|
|
311
|
+
return callTxeHandler({
|
|
312
|
+
oracle: 'aztec_misc_log',
|
|
313
|
+
inputs,
|
|
314
|
+
handler: ([level, message, fieldsSize, fields]) => this.handlerAsMisc().log(level, message, fieldsSize, fields),
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// eslint-disable-next-line camelcase
|
|
319
|
+
aztec_utl_getFromPublicStorage(...inputs: ForeignCallArgs) {
|
|
320
|
+
return callTxeHandler({
|
|
321
|
+
oracle: 'aztec_utl_getFromPublicStorage',
|
|
322
|
+
inputs,
|
|
323
|
+
handler: ([blockHash, contractAddress, startStorageSlot, numberOfElements]) =>
|
|
324
|
+
this.handlerAsUtility().getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements),
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
// eslint-disable-next-line camelcase
|
|
329
|
+
aztec_utl_getPublicDataWitness(...inputs: ForeignCallArgs) {
|
|
330
|
+
return callTxeHandler({
|
|
331
|
+
oracle: 'aztec_utl_getPublicDataWitness',
|
|
332
|
+
inputs,
|
|
333
|
+
handler: ([blockHash, leafSlot]) => this.handlerAsUtility().getPublicDataWitness(blockHash, leafSlot),
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// eslint-disable-next-line camelcase
|
|
338
|
+
aztec_utl_getNotes(...inputs: ForeignCallArgs) {
|
|
339
|
+
return callTxeHandler({
|
|
340
|
+
oracle: 'aztec_utl_getNotes',
|
|
341
|
+
inputs,
|
|
342
|
+
handler: ([
|
|
343
|
+
owner,
|
|
344
|
+
storageSlot,
|
|
345
|
+
numSelects,
|
|
346
|
+
selectByIndexes,
|
|
347
|
+
selectByOffsets,
|
|
348
|
+
selectByLengths,
|
|
349
|
+
selectValues,
|
|
350
|
+
selectComparators,
|
|
351
|
+
sortByIndexes,
|
|
352
|
+
sortByOffsets,
|
|
353
|
+
sortByLengths,
|
|
354
|
+
sortOrder,
|
|
355
|
+
limit,
|
|
356
|
+
offset,
|
|
357
|
+
status,
|
|
406
358
|
maxNotes,
|
|
407
|
-
|
|
408
|
-
)
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
return
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
) {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
) {
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
return
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
return
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
359
|
+
packedHintedNoteLength,
|
|
360
|
+
]) =>
|
|
361
|
+
this.handlerAsUtility().getNotes(
|
|
362
|
+
owner,
|
|
363
|
+
storageSlot,
|
|
364
|
+
numSelects,
|
|
365
|
+
selectByIndexes,
|
|
366
|
+
selectByOffsets,
|
|
367
|
+
selectByLengths,
|
|
368
|
+
selectValues,
|
|
369
|
+
selectComparators,
|
|
370
|
+
sortByIndexes,
|
|
371
|
+
sortByOffsets,
|
|
372
|
+
sortByLengths,
|
|
373
|
+
sortOrder,
|
|
374
|
+
limit,
|
|
375
|
+
offset,
|
|
376
|
+
status,
|
|
377
|
+
maxNotes,
|
|
378
|
+
packedHintedNoteLength,
|
|
379
|
+
),
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// eslint-disable-next-line camelcase
|
|
384
|
+
aztec_prv_notifyCreatedNote(...inputs: ForeignCallArgs) {
|
|
385
|
+
return callTxeHandler({
|
|
386
|
+
oracle: 'aztec_prv_notifyCreatedNote',
|
|
387
|
+
inputs,
|
|
388
|
+
handler: ([owner, storageSlot, randomness, noteTypeId, note, noteHash, counter]) =>
|
|
389
|
+
this.handlerAsPrivate().notifyCreatedNote(owner, storageSlot, randomness, noteTypeId, note, noteHash, counter),
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// eslint-disable-next-line camelcase
|
|
394
|
+
aztec_prv_notifyNullifiedNote(...inputs: ForeignCallArgs) {
|
|
395
|
+
return callTxeHandler({
|
|
396
|
+
oracle: 'aztec_prv_notifyNullifiedNote',
|
|
397
|
+
inputs,
|
|
398
|
+
handler: ([innerNullifier, noteHash, counter]) =>
|
|
399
|
+
this.handlerAsPrivate().notifyNullifiedNote(innerNullifier, noteHash, counter),
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// eslint-disable-next-line camelcase
|
|
404
|
+
aztec_prv_notifyCreatedNullifier(...inputs: ForeignCallArgs) {
|
|
405
|
+
return callTxeHandler({
|
|
406
|
+
oracle: 'aztec_prv_notifyCreatedNullifier',
|
|
407
|
+
inputs,
|
|
408
|
+
handler: ([innerNullifier]) => this.handlerAsPrivate().notifyCreatedNullifier(innerNullifier),
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
// eslint-disable-next-line camelcase
|
|
413
|
+
aztec_prv_isNullifierPending(...inputs: ForeignCallArgs) {
|
|
414
|
+
return callTxeHandler({
|
|
415
|
+
oracle: 'aztec_prv_isNullifierPending',
|
|
416
|
+
inputs,
|
|
417
|
+
handler: ([innerNullifier, contractAddress]) =>
|
|
418
|
+
this.handlerAsPrivate().isNullifierPending(innerNullifier, contractAddress),
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
// eslint-disable-next-line camelcase
|
|
423
|
+
aztec_utl_doesNullifierExist(...inputs: ForeignCallArgs) {
|
|
424
|
+
return callTxeHandler({
|
|
425
|
+
oracle: 'aztec_utl_doesNullifierExist',
|
|
426
|
+
inputs,
|
|
427
|
+
handler: ([innerNullifier]) => this.handlerAsUtility().doesNullifierExist(innerNullifier),
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
// eslint-disable-next-line camelcase
|
|
432
|
+
aztec_utl_getContractInstance(...inputs: ForeignCallArgs) {
|
|
433
|
+
return callTxeHandler({
|
|
434
|
+
oracle: 'aztec_utl_getContractInstance',
|
|
435
|
+
inputs,
|
|
436
|
+
handler: ([address]) => this.handlerAsUtility().getContractInstance(address),
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// eslint-disable-next-line camelcase
|
|
441
|
+
aztec_utl_getPublicKeysAndPartialAddress(...inputs: ForeignCallArgs) {
|
|
442
|
+
return callTxeHandler({
|
|
443
|
+
oracle: 'aztec_utl_getPublicKeysAndPartialAddress',
|
|
444
|
+
inputs,
|
|
445
|
+
handler: ([address]) => this.handlerAsUtility().getPublicKeysAndPartialAddress(address),
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
// eslint-disable-next-line camelcase
|
|
450
|
+
aztec_utl_getKeyValidationRequest(...inputs: ForeignCallArgs) {
|
|
451
|
+
return callTxeHandler({
|
|
452
|
+
oracle: 'aztec_utl_getKeyValidationRequest',
|
|
453
|
+
inputs,
|
|
454
|
+
handler: ([pkMHash]) => this.handlerAsUtility().getKeyValidationRequest(pkMHash),
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
// eslint-disable-next-line camelcase
|
|
459
|
+
aztec_prv_callPrivateFunction(...inputs: ForeignCallArgs) {
|
|
460
|
+
return callTxeHandler({
|
|
461
|
+
oracle: 'aztec_prv_callPrivateFunction',
|
|
462
|
+
inputs,
|
|
463
|
+
handler: ([contractAddress, functionSelector, argsHash, sideEffectCounter, isStaticCall]) =>
|
|
464
|
+
this.handlerAsPrivate().callPrivateFunction(
|
|
465
|
+
contractAddress,
|
|
466
|
+
functionSelector,
|
|
467
|
+
argsHash,
|
|
468
|
+
sideEffectCounter,
|
|
469
|
+
isStaticCall,
|
|
470
|
+
),
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// eslint-disable-next-line camelcase
|
|
475
|
+
aztec_utl_getNullifierMembershipWitness(...inputs: ForeignCallArgs) {
|
|
476
|
+
return callTxeHandler({
|
|
477
|
+
oracle: 'aztec_utl_getNullifierMembershipWitness',
|
|
478
|
+
inputs,
|
|
479
|
+
handler: ([blockHash, nullifier]) => this.handlerAsUtility().getNullifierMembershipWitness(blockHash, nullifier),
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// eslint-disable-next-line camelcase
|
|
484
|
+
aztec_utl_getAuthWitness(...inputs: ForeignCallArgs) {
|
|
485
|
+
return callTxeHandler({
|
|
486
|
+
oracle: 'aztec_utl_getAuthWitness',
|
|
487
|
+
inputs,
|
|
488
|
+
handler: ([messageHash]) => this.handlerAsUtility().getAuthWitness(messageHash),
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
// eslint-disable-next-line camelcase
|
|
493
|
+
aztec_prv_assertValidPublicCalldata(...inputs: ForeignCallArgs) {
|
|
494
|
+
return callTxeHandler({
|
|
495
|
+
oracle: 'aztec_prv_assertValidPublicCalldata',
|
|
496
|
+
inputs,
|
|
497
|
+
handler: ([calldataHash]) => this.handlerAsPrivate().assertValidPublicCalldata(calldataHash),
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
// eslint-disable-next-line camelcase
|
|
502
|
+
aztec_prv_notifyRevertiblePhaseStart(...inputs: ForeignCallArgs) {
|
|
503
|
+
return callTxeHandler({
|
|
504
|
+
oracle: 'aztec_prv_notifyRevertiblePhaseStart',
|
|
505
|
+
inputs,
|
|
506
|
+
handler: ([minRevertibleSideEffectCounter]) =>
|
|
507
|
+
this.handlerAsPrivate().notifyRevertiblePhaseStart(minRevertibleSideEffectCounter),
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// eslint-disable-next-line camelcase
|
|
512
|
+
aztec_prv_isExecutionInRevertiblePhase(...inputs: ForeignCallArgs) {
|
|
513
|
+
return callTxeHandler({
|
|
514
|
+
oracle: 'aztec_prv_isExecutionInRevertiblePhase',
|
|
515
|
+
inputs,
|
|
516
|
+
handler: ([sideEffectCounter]) => this.handlerAsPrivate().isExecutionInRevertiblePhase(sideEffectCounter),
|
|
517
|
+
});
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
// eslint-disable-next-line camelcase
|
|
521
|
+
aztec_utl_getUtilityContext() {
|
|
522
|
+
return callTxeHandler({
|
|
523
|
+
oracle: 'aztec_utl_getUtilityContext',
|
|
524
|
+
inputs: [],
|
|
525
|
+
handler: () => this.handlerAsUtility().getUtilityContext(),
|
|
526
|
+
});
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
// eslint-disable-next-line camelcase
|
|
530
|
+
aztec_utl_getBlockHeader(...inputs: ForeignCallArgs) {
|
|
531
|
+
return callTxeHandler({
|
|
532
|
+
oracle: 'aztec_utl_getBlockHeader',
|
|
533
|
+
inputs,
|
|
534
|
+
handler: ([blockNumber]) => this.handlerAsUtility().getBlockHeader(blockNumber),
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
// eslint-disable-next-line camelcase
|
|
539
|
+
aztec_utl_getNoteHashMembershipWitness(...inputs: ForeignCallArgs) {
|
|
540
|
+
return callTxeHandler({
|
|
541
|
+
oracle: 'aztec_utl_getNoteHashMembershipWitness',
|
|
542
|
+
inputs,
|
|
543
|
+
handler: ([blockHash, noteHash]) => this.handlerAsUtility().getNoteHashMembershipWitness(blockHash, noteHash),
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
// eslint-disable-next-line camelcase
|
|
548
|
+
aztec_utl_getBlockHashMembershipWitness(...inputs: ForeignCallArgs) {
|
|
549
|
+
return callTxeHandler({
|
|
550
|
+
oracle: 'aztec_utl_getBlockHashMembershipWitness',
|
|
551
|
+
inputs,
|
|
552
|
+
handler: ([anchorBlockHash, blockHash]) =>
|
|
553
|
+
this.handlerAsUtility().getBlockHashMembershipWitness(anchorBlockHash, blockHash),
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
// eslint-disable-next-line camelcase
|
|
558
|
+
aztec_utl_getLowNullifierMembershipWitness(...inputs: ForeignCallArgs) {
|
|
559
|
+
return callTxeHandler({
|
|
560
|
+
oracle: 'aztec_utl_getLowNullifierMembershipWitness',
|
|
561
|
+
inputs,
|
|
562
|
+
handler: ([blockHash, nullifier]) =>
|
|
563
|
+
this.handlerAsUtility().getLowNullifierMembershipWitness(blockHash, nullifier),
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
// eslint-disable-next-line camelcase
|
|
568
|
+
aztec_utl_getPendingTaggedLogs(...inputs: ForeignCallArgs) {
|
|
569
|
+
return callTxeHandler({
|
|
570
|
+
oracle: 'aztec_utl_getPendingTaggedLogs',
|
|
571
|
+
inputs,
|
|
572
|
+
handler: ([scope, providedSecrets]) => this.handlerAsUtility().getPendingTaggedLogs(scope, providedSecrets),
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
// eslint-disable-next-line camelcase
|
|
577
|
+
aztec_utl_validateAndStoreEnqueuedNotesAndEvents(...inputs: ForeignCallArgs) {
|
|
578
|
+
return callTxeHandler({
|
|
579
|
+
oracle: 'aztec_utl_validateAndStoreEnqueuedNotesAndEvents',
|
|
580
|
+
inputs,
|
|
581
|
+
handler: ([noteValidationRequests, eventValidationRequests, scope]) =>
|
|
582
|
+
this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(
|
|
583
|
+
noteValidationRequests,
|
|
584
|
+
eventValidationRequests,
|
|
585
|
+
scope,
|
|
586
|
+
),
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
// eslint-disable-next-line camelcase
|
|
591
|
+
aztec_utl_getLogsByTag(...inputs: ForeignCallArgs) {
|
|
592
|
+
return callTxeHandler({
|
|
593
|
+
oracle: 'aztec_utl_getLogsByTag',
|
|
594
|
+
inputs,
|
|
595
|
+
handler: ([requestArrayBaseSlot]) => this.handlerAsUtility().getLogsByTag(requestArrayBaseSlot),
|
|
596
|
+
});
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
// eslint-disable-next-line camelcase
|
|
600
|
+
aztec_utl_getMessageContextsByTxHash(...inputs: ForeignCallArgs) {
|
|
601
|
+
return callTxeHandler({
|
|
602
|
+
oracle: 'aztec_utl_getMessageContextsByTxHash',
|
|
603
|
+
inputs,
|
|
604
|
+
handler: ([requestArrayBaseSlot]) => this.handlerAsUtility().getMessageContextsByTxHash(requestArrayBaseSlot),
|
|
605
|
+
});
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
// eslint-disable-next-line camelcase
|
|
609
|
+
aztec_utl_setCapsule(...inputs: ForeignCallArgs) {
|
|
610
|
+
return callTxeHandler({
|
|
611
|
+
oracle: 'aztec_utl_setCapsule',
|
|
612
|
+
inputs,
|
|
613
|
+
handler: ([contractAddress, slot, capsule, scope]) =>
|
|
614
|
+
this.handlerAsUtility().setCapsule(contractAddress, slot, capsule, scope),
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
// eslint-disable-next-line camelcase
|
|
619
|
+
aztec_utl_getCapsule(...inputs: ForeignCallArgs) {
|
|
620
|
+
return callTxeHandler({
|
|
621
|
+
oracle: 'aztec_utl_getCapsule',
|
|
622
|
+
inputs,
|
|
623
|
+
handler: ([contractAddress, slot, tSize, scope]) =>
|
|
624
|
+
this.handlerAsUtility().getCapsule(contractAddress, slot, tSize, scope),
|
|
625
|
+
});
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
// eslint-disable-next-line camelcase
|
|
629
|
+
aztec_utl_deleteCapsule(...inputs: ForeignCallArgs) {
|
|
630
|
+
return callTxeHandler({
|
|
631
|
+
oracle: 'aztec_utl_deleteCapsule',
|
|
632
|
+
inputs,
|
|
633
|
+
handler: ([contractAddress, slot, scope]) => this.handlerAsUtility().deleteCapsule(contractAddress, slot, scope),
|
|
634
|
+
});
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
// eslint-disable-next-line camelcase
|
|
638
|
+
aztec_utl_copyCapsule(...inputs: ForeignCallArgs) {
|
|
639
|
+
return callTxeHandler({
|
|
640
|
+
oracle: 'aztec_utl_copyCapsule',
|
|
641
|
+
inputs,
|
|
642
|
+
handler: ([contractAddress, srcSlot, dstSlot, numEntries, scope]) =>
|
|
643
|
+
this.handlerAsUtility().copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, scope),
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
// eslint-disable-next-line camelcase
|
|
648
|
+
aztec_utl_pushEphemeral(...inputs: ForeignCallArgs) {
|
|
649
|
+
return callTxeHandler({
|
|
650
|
+
oracle: 'aztec_utl_pushEphemeral',
|
|
651
|
+
inputs,
|
|
652
|
+
handler: ([slot, elements]) => this.handlerAsUtility().pushEphemeral(slot, elements),
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
// eslint-disable-next-line camelcase
|
|
657
|
+
aztec_utl_popEphemeral(...inputs: ForeignCallArgs) {
|
|
658
|
+
return callTxeHandler({
|
|
659
|
+
oracle: 'aztec_utl_popEphemeral',
|
|
660
|
+
inputs,
|
|
661
|
+
handler: ([slot]) => this.handlerAsUtility().popEphemeral(slot),
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
// eslint-disable-next-line camelcase
|
|
666
|
+
aztec_utl_getEphemeral(...inputs: ForeignCallArgs) {
|
|
667
|
+
return callTxeHandler({
|
|
668
|
+
oracle: 'aztec_utl_getEphemeral',
|
|
669
|
+
inputs,
|
|
670
|
+
handler: ([slot, index]) => this.handlerAsUtility().getEphemeral(slot, index),
|
|
671
|
+
});
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
// eslint-disable-next-line camelcase
|
|
675
|
+
aztec_utl_setEphemeral(...inputs: ForeignCallArgs) {
|
|
676
|
+
return callTxeHandler({
|
|
677
|
+
oracle: 'aztec_utl_setEphemeral',
|
|
678
|
+
inputs,
|
|
679
|
+
handler: ([slot, index, elements]) => this.handlerAsUtility().setEphemeral(slot, index, elements),
|
|
680
|
+
});
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
// eslint-disable-next-line camelcase
|
|
684
|
+
aztec_utl_getEphemeralLen(...inputs: ForeignCallArgs) {
|
|
685
|
+
return callTxeHandler({
|
|
686
|
+
oracle: 'aztec_utl_getEphemeralLen',
|
|
687
|
+
inputs,
|
|
688
|
+
handler: ([slot]) => this.handlerAsUtility().getEphemeralLen(slot),
|
|
689
|
+
});
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
// eslint-disable-next-line camelcase
|
|
693
|
+
aztec_utl_removeEphemeral(...inputs: ForeignCallArgs) {
|
|
694
|
+
return callTxeHandler({
|
|
695
|
+
oracle: 'aztec_utl_removeEphemeral',
|
|
696
|
+
inputs,
|
|
697
|
+
handler: ([slot, index]) => this.handlerAsUtility().removeEphemeral(slot, index),
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
// eslint-disable-next-line camelcase
|
|
702
|
+
aztec_utl_clearEphemeral(...inputs: ForeignCallArgs) {
|
|
703
|
+
return callTxeHandler({
|
|
704
|
+
oracle: 'aztec_utl_clearEphemeral',
|
|
705
|
+
inputs,
|
|
706
|
+
handler: ([slot]) => this.handlerAsUtility().clearEphemeral(slot),
|
|
707
|
+
});
|
|
706
708
|
}
|
|
707
709
|
|
|
708
710
|
// TODO: I forgot to add a corresponding function here, when I introduced an oracle method to txe_oracle.ts.
|
|
709
711
|
// The compiler didn't throw an error, so it took me a while to learn of the existence of this file, and that I need
|
|
710
712
|
// to implement this function here. Isn't there a way to programmatically identify that this is missing, given the
|
|
711
713
|
// existence of a txe_oracle method?
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
714
|
+
// eslint-disable-next-line camelcase
|
|
715
|
+
aztec_utl_decryptAes128(...inputs: ForeignCallArgs) {
|
|
716
|
+
return callTxeHandler({
|
|
717
|
+
oracle: 'aztec_utl_decryptAes128',
|
|
718
|
+
inputs,
|
|
719
|
+
handler: ([ciphertext, iv, symKey]) => this.handlerAsUtility().decryptAes128(ciphertext, iv, symKey),
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
// eslint-disable-next-line camelcase
|
|
724
|
+
aztec_utl_getSharedSecrets(...inputs: ForeignCallArgs) {
|
|
725
|
+
return callTxeHandler({
|
|
726
|
+
oracle: 'aztec_utl_getSharedSecrets',
|
|
727
|
+
inputs,
|
|
728
|
+
handler: ([address, ephPksSlot, contractAddress]) =>
|
|
729
|
+
this.handlerAsUtility().getSharedSecrets(address, ephPksSlot, contractAddress),
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
// eslint-disable-next-line camelcase
|
|
734
|
+
aztec_utl_setContractSyncCacheInvalid(...inputs: ForeignCallArgs) {
|
|
735
|
+
return callTxeHandler({
|
|
736
|
+
oracle: 'aztec_utl_setContractSyncCacheInvalid',
|
|
737
|
+
inputs,
|
|
738
|
+
handler: ([contractAddress, scopes]) =>
|
|
739
|
+
this.handlerAsUtility().setContractSyncCacheInvalid(contractAddress, scopes),
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
// eslint-disable-next-line camelcase
|
|
744
|
+
aztec_utl_emitOffchainEffect(...inputs: ForeignCallArgs) {
|
|
745
|
+
return callTxeHandler({
|
|
746
|
+
oracle: 'aztec_utl_emitOffchainEffect',
|
|
747
|
+
inputs,
|
|
748
|
+
handler: ([data]) => {
|
|
749
|
+
// Record the raw payload against the currently-executing top-level call. The Noir side
|
|
750
|
+
// (via `env.offchain_messages()`) is responsible for decoding the protocol-reserved prefix
|
|
751
|
+
// (`OFFCHAIN_MESSAGE_IDENTIFIER`, recipient) and turning each payload into an `OffchainMessage` struct suitable
|
|
752
|
+
// for `offchain_receive`.
|
|
753
|
+
this.stateHandler.recordOffchainEffect(data);
|
|
754
|
+
},
|
|
755
|
+
});
|
|
749
756
|
}
|
|
750
757
|
|
|
751
758
|
// AVM opcodes
|
|
752
759
|
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
return
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
return
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
}
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
) {
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
args
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
760
|
+
// eslint-disable-next-line camelcase
|
|
761
|
+
aztec_avm_emitPublicLog() {
|
|
762
|
+
return callTxeHandler({
|
|
763
|
+
oracle: 'aztec_avm_emitPublicLog',
|
|
764
|
+
inputs: [],
|
|
765
|
+
// TODO(#8811): Implement
|
|
766
|
+
handler: () => {},
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
// eslint-disable-next-line camelcase
|
|
771
|
+
aztec_avm_storageRead(...inputs: ForeignCallArgs) {
|
|
772
|
+
return callTxeHandler({
|
|
773
|
+
oracle: 'aztec_avm_storageRead',
|
|
774
|
+
inputs,
|
|
775
|
+
handler: ([slot, contractAddress]) => this.handlerAsAvm().storageRead(slot, contractAddress),
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
// eslint-disable-next-line camelcase
|
|
780
|
+
aztec_avm_storageWrite(...inputs: ForeignCallArgs) {
|
|
781
|
+
return callTxeHandler({
|
|
782
|
+
oracle: 'aztec_avm_storageWrite',
|
|
783
|
+
inputs,
|
|
784
|
+
handler: ([slot, value]) => this.handlerAsAvm().storageWrite(slot, value),
|
|
785
|
+
});
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
// eslint-disable-next-line camelcase
|
|
789
|
+
aztec_avm_getContractInstanceDeployer(...inputs: ForeignCallArgs) {
|
|
790
|
+
return callTxeHandler({
|
|
791
|
+
oracle: 'aztec_avm_getContractInstanceDeployer',
|
|
792
|
+
inputs,
|
|
793
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceDeployer(address),
|
|
794
|
+
});
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
// eslint-disable-next-line camelcase
|
|
798
|
+
aztec_avm_getContractInstanceClassId(...inputs: ForeignCallArgs) {
|
|
799
|
+
return callTxeHandler({
|
|
800
|
+
oracle: 'aztec_avm_getContractInstanceClassId',
|
|
801
|
+
inputs,
|
|
802
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceClassId(address),
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
// eslint-disable-next-line camelcase
|
|
807
|
+
aztec_avm_getContractInstanceInitializationHash(...inputs: ForeignCallArgs) {
|
|
808
|
+
return callTxeHandler({
|
|
809
|
+
oracle: 'aztec_avm_getContractInstanceInitializationHash',
|
|
810
|
+
inputs,
|
|
811
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceInitializationHash(address),
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
// eslint-disable-next-line camelcase
|
|
816
|
+
aztec_avm_getContractInstanceImmutablesHash(...inputs: ForeignCallArgs) {
|
|
817
|
+
return callTxeHandler({
|
|
818
|
+
oracle: 'aztec_avm_getContractInstanceImmutablesHash',
|
|
819
|
+
inputs,
|
|
820
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceImmutablesHash(address),
|
|
821
|
+
});
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
// eslint-disable-next-line camelcase
|
|
825
|
+
aztec_avm_sender() {
|
|
826
|
+
return callTxeHandler({
|
|
827
|
+
oracle: 'aztec_avm_sender',
|
|
828
|
+
inputs: [],
|
|
829
|
+
handler: () => this.handlerAsAvm().sender(),
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
// eslint-disable-next-line camelcase
|
|
834
|
+
aztec_avm_emitNullifier(...inputs: ForeignCallArgs) {
|
|
835
|
+
return callTxeHandler({
|
|
836
|
+
oracle: 'aztec_avm_emitNullifier',
|
|
837
|
+
inputs,
|
|
838
|
+
handler: ([nullifier]) => this.handlerAsAvm().emitNullifier(nullifier),
|
|
839
|
+
});
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
// eslint-disable-next-line camelcase
|
|
843
|
+
aztec_avm_emitNoteHash(...inputs: ForeignCallArgs) {
|
|
844
|
+
return callTxeHandler({
|
|
845
|
+
oracle: 'aztec_avm_emitNoteHash',
|
|
846
|
+
inputs,
|
|
847
|
+
handler: ([noteHash]) => this.handlerAsAvm().emitNoteHash(noteHash),
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
// eslint-disable-next-line camelcase
|
|
852
|
+
aztec_avm_nullifierExists(...inputs: ForeignCallArgs) {
|
|
853
|
+
return callTxeHandler({
|
|
854
|
+
oracle: 'aztec_avm_nullifierExists',
|
|
855
|
+
inputs,
|
|
856
|
+
handler: ([siloedNullifier]) => this.handlerAsAvm().nullifierExists(siloedNullifier),
|
|
857
|
+
});
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
// eslint-disable-next-line camelcase
|
|
861
|
+
aztec_avm_address() {
|
|
862
|
+
return callTxeHandler({
|
|
863
|
+
oracle: 'aztec_avm_address',
|
|
864
|
+
inputs: [],
|
|
865
|
+
handler: () => this.handlerAsAvm().address(),
|
|
866
|
+
});
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
// eslint-disable-next-line camelcase
|
|
870
|
+
aztec_avm_blockNumber() {
|
|
871
|
+
return callTxeHandler({
|
|
872
|
+
oracle: 'aztec_avm_blockNumber',
|
|
873
|
+
inputs: [],
|
|
874
|
+
handler: () => this.handlerAsAvm().blockNumber(),
|
|
875
|
+
});
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
// eslint-disable-next-line camelcase
|
|
879
|
+
aztec_avm_timestamp() {
|
|
880
|
+
return callTxeHandler({
|
|
881
|
+
oracle: 'aztec_avm_timestamp',
|
|
882
|
+
inputs: [],
|
|
883
|
+
handler: () => this.handlerAsAvm().timestamp(),
|
|
884
|
+
});
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
// eslint-disable-next-line camelcase
|
|
888
|
+
aztec_avm_isStaticCall() {
|
|
889
|
+
return callTxeHandler({
|
|
890
|
+
oracle: 'aztec_avm_isStaticCall',
|
|
891
|
+
inputs: [],
|
|
892
|
+
handler: () => this.handlerAsAvm().isStaticCall(),
|
|
893
|
+
});
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
// eslint-disable-next-line camelcase
|
|
897
|
+
aztec_avm_chainId() {
|
|
898
|
+
return callTxeHandler({
|
|
899
|
+
oracle: 'aztec_avm_chainId',
|
|
900
|
+
inputs: [],
|
|
901
|
+
handler: () => this.handlerAsAvm().chainId(),
|
|
902
|
+
});
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
// eslint-disable-next-line camelcase
|
|
906
|
+
aztec_avm_version() {
|
|
907
|
+
return callTxeHandler({
|
|
908
|
+
oracle: 'aztec_avm_version',
|
|
909
|
+
inputs: [],
|
|
910
|
+
handler: () => this.handlerAsAvm().version(),
|
|
911
|
+
});
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
// eslint-disable-next-line camelcase
|
|
915
|
+
aztec_avm_returndataSize() {
|
|
916
|
+
return callTxeHandler({
|
|
917
|
+
oracle: 'aztec_avm_returndataSize',
|
|
918
|
+
inputs: [],
|
|
919
|
+
handler: () => this.handlerAsAvm().returndataSize(),
|
|
920
|
+
});
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
// eslint-disable-next-line camelcase
|
|
924
|
+
aztec_avm_returndataCopy(...inputs: ForeignCallArgs) {
|
|
925
|
+
return callTxeHandler({
|
|
926
|
+
oracle: 'aztec_avm_returndataCopy',
|
|
927
|
+
inputs,
|
|
928
|
+
handler: ([rdOffset, copySize]) => this.handlerAsAvm().returndataCopy(rdOffset, copySize),
|
|
929
|
+
});
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
// eslint-disable-next-line camelcase
|
|
933
|
+
aztec_avm_call(...inputs: ForeignCallArgs) {
|
|
934
|
+
return callTxeHandler({
|
|
935
|
+
oracle: 'aztec_avm_call',
|
|
936
|
+
inputs,
|
|
937
|
+
handler: ([l2Gas, daGas, address, argsLength, args]) =>
|
|
938
|
+
this.handlerAsAvm().call(l2Gas, daGas, address, argsLength, args),
|
|
939
|
+
});
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
// eslint-disable-next-line camelcase
|
|
943
|
+
aztec_avm_staticCall(...inputs: ForeignCallArgs) {
|
|
944
|
+
return callTxeHandler({
|
|
945
|
+
oracle: 'aztec_avm_staticCall',
|
|
946
|
+
inputs,
|
|
947
|
+
handler: ([l2Gas, daGas, address, argsLength, args]) =>
|
|
948
|
+
this.handlerAsAvm().staticCall(l2Gas, daGas, address, argsLength, args),
|
|
949
|
+
});
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
// eslint-disable-next-line camelcase
|
|
953
|
+
aztec_avm_successCopy() {
|
|
954
|
+
return callTxeHandler({
|
|
955
|
+
oracle: 'aztec_avm_successCopy',
|
|
956
|
+
inputs: [],
|
|
957
|
+
handler: () => this.handlerAsAvm().successCopy(),
|
|
958
|
+
});
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
// TODO(F-674): Move orchestration logic into the handler so the transport layer is pure serialize->delegate->deserialize.
|
|
962
|
+
// eslint-disable-next-line camelcase
|
|
963
|
+
aztec_txe_privateCallNewFlow(...inputs: ForeignCallArgs) {
|
|
964
|
+
return callTxeHandler({
|
|
965
|
+
oracle: 'aztec_txe_privateCallNewFlow',
|
|
966
|
+
inputs,
|
|
967
|
+
handler: async ([
|
|
968
|
+
from,
|
|
969
|
+
targetContractAddress,
|
|
970
|
+
functionSelector,
|
|
971
|
+
args,
|
|
972
|
+
argsHash,
|
|
973
|
+
isStaticCall,
|
|
974
|
+
additionalScopes,
|
|
975
|
+
authorizedUtilityCallTargets,
|
|
976
|
+
gasSettings,
|
|
977
|
+
]) => {
|
|
978
|
+
const returnValues = await this.stateHandler.withTopLevelCallTracking(async () => {
|
|
979
|
+
const { returnValues, offchainEffects } = await this.handlerAsTxe().privateCallNewFlow(
|
|
980
|
+
from?.value,
|
|
981
|
+
targetContractAddress,
|
|
982
|
+
functionSelector,
|
|
983
|
+
args,
|
|
984
|
+
argsHash,
|
|
985
|
+
isStaticCall,
|
|
986
|
+
additionalScopes,
|
|
987
|
+
this.stateHandler.getCurrentJob(),
|
|
988
|
+
authorizedUtilityCallTargets,
|
|
989
|
+
gasSettings,
|
|
990
|
+
);
|
|
991
|
+
|
|
992
|
+
// Private execution collects offchain effects inside PXE's PrivateExecutionOracle rather than
|
|
993
|
+
// round-tripping them through `aztec_utl_emitOffchainEffect`, so the session buffer is empty
|
|
994
|
+
// at this point. Drain the effects from the execution tree into the session buffer so the
|
|
995
|
+
// next `env.offchain_messages()` call in the test sees them.
|
|
996
|
+
for (const data of offchainEffects) {
|
|
997
|
+
this.stateHandler.recordOffchainEffect(data);
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
// TODO(F-335): Avoid doing the following call here.
|
|
1001
|
+
await this.stateHandler.cycleJob();
|
|
1002
|
+
|
|
1003
|
+
if (isStaticCall) {
|
|
1004
|
+
// Static calls revert their checkpoint and mine no block, so there is no tx hash to tag
|
|
1005
|
+
// offchain effects with. Querying `getLastTxEffects()` here would return an unrelated
|
|
1006
|
+
// predecessor tx.
|
|
1007
|
+
return { result: returnValues };
|
|
1008
|
+
}
|
|
1009
|
+
const { txHash } = await this.handlerAsTxe().getLastTxEffects();
|
|
1010
|
+
return { result: returnValues, txHash: txHash.hash };
|
|
1011
|
+
});
|
|
1012
|
+
|
|
1013
|
+
return returnValues;
|
|
1014
|
+
},
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
// TODO(F-674): Move orchestration logic into the handler so the transport layer is pure serialize->delegate->deserialize.
|
|
1019
|
+
// eslint-disable-next-line camelcase
|
|
1020
|
+
aztec_txe_executeUtilityFunction(...inputs: ForeignCallArgs) {
|
|
1021
|
+
return callTxeHandler({
|
|
1022
|
+
oracle: 'aztec_txe_executeUtilityFunction',
|
|
1023
|
+
inputs,
|
|
1024
|
+
handler: async ([targetContractAddress, functionSelector, args, authorizedUtilityCallTargets]) => {
|
|
1025
|
+
const returnValues = await this.stateHandler.withTopLevelCallTracking(async () => {
|
|
1026
|
+
const returnValues = await this.handlerAsTxe().executeUtilityFunction(
|
|
1027
|
+
targetContractAddress,
|
|
1028
|
+
functionSelector,
|
|
1029
|
+
args,
|
|
1030
|
+
this.stateHandler.getCurrentJob(),
|
|
1031
|
+
authorizedUtilityCallTargets,
|
|
1032
|
+
);
|
|
1033
|
+
|
|
1034
|
+
// TODO(F-335): Avoid doing the following call here.
|
|
1035
|
+
await this.stateHandler.cycleJob();
|
|
1036
|
+
|
|
1037
|
+
return { result: returnValues };
|
|
1038
|
+
});
|
|
1039
|
+
|
|
1040
|
+
return returnValues;
|
|
1041
|
+
},
|
|
1042
|
+
});
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
// TODO(F-674): Move orchestration logic into the handler so the transport layer is pure serialize->delegate->deserialize.
|
|
1046
|
+
// eslint-disable-next-line camelcase
|
|
1047
|
+
aztec_txe_publicCallNewFlow(...inputs: ForeignCallArgs) {
|
|
1048
|
+
return callTxeHandler({
|
|
1049
|
+
oracle: 'aztec_txe_publicCallNewFlow',
|
|
1050
|
+
inputs,
|
|
1051
|
+
handler: async ([from, address, calldata, isStaticCall, gasSettings]) => {
|
|
1052
|
+
const returnValues = await this.stateHandler.withTopLevelCallTracking(async () => {
|
|
1053
|
+
const returnValues = await this.handlerAsTxe().publicCallNewFlow(
|
|
1054
|
+
from?.value,
|
|
1055
|
+
address,
|
|
1056
|
+
calldata,
|
|
1057
|
+
isStaticCall,
|
|
1058
|
+
gasSettings,
|
|
1059
|
+
);
|
|
1060
|
+
|
|
1061
|
+
// TODO(F-335): Avoid doing the following call here.
|
|
1062
|
+
await this.stateHandler.cycleJob();
|
|
1063
|
+
|
|
1064
|
+
if (isStaticCall) {
|
|
1065
|
+
// See equivalent branch in `aztec_txe_privateCallNewFlow`.
|
|
1066
|
+
return { result: returnValues };
|
|
1067
|
+
}
|
|
1068
|
+
const { txHash } = await this.handlerAsTxe().getLastTxEffects();
|
|
1069
|
+
return { result: returnValues, txHash: txHash.hash };
|
|
1070
|
+
});
|
|
1071
|
+
|
|
1072
|
+
return returnValues;
|
|
1073
|
+
},
|
|
1074
|
+
});
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
// eslint-disable-next-line camelcase
|
|
1078
|
+
aztec_prv_getSenderForTags() {
|
|
1079
|
+
return callTxeHandler({
|
|
1080
|
+
oracle: 'aztec_prv_getSenderForTags',
|
|
1081
|
+
inputs: [],
|
|
1082
|
+
handler: () => this.handlerAsPrivate().getSenderForTags(),
|
|
1083
|
+
});
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
// eslint-disable-next-line camelcase
|
|
1087
|
+
aztec_prv_getAppTaggingSecret(...inputs: ForeignCallArgs) {
|
|
1088
|
+
return callTxeHandler({
|
|
1089
|
+
oracle: 'aztec_prv_getAppTaggingSecret',
|
|
1090
|
+
inputs,
|
|
1091
|
+
handler: ([sender, recipient]) => this.handlerAsPrivate().getAppTaggingSecret(sender, recipient),
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
// eslint-disable-next-line camelcase
|
|
1096
|
+
aztec_prv_getNextTaggingIndex(...inputs: ForeignCallArgs) {
|
|
1097
|
+
return callTxeHandler({
|
|
1098
|
+
oracle: 'aztec_prv_getNextTaggingIndex',
|
|
1099
|
+
inputs,
|
|
1100
|
+
handler: ([secret, deliveryMode]) => this.handlerAsPrivate().getNextTaggingIndex(secret, deliveryMode),
|
|
1101
|
+
});
|
|
1012
1102
|
}
|
|
1013
1103
|
}
|