@aztec/txe 0.0.1-commit.a89ec08 → 0.0.1-commit.aa0c64f
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/AuthRegistry-QVGDDH5X.js +3 -0
- package/dest/AuthRegistry-QVGDDH5X.js.map +7 -0
- package/dest/ContractClassRegistry-VWR3F42P.js +3 -0
- package/dest/ContractClassRegistry-VWR3F42P.js.map +7 -0
- package/dest/ContractInstanceRegistry-FHIWE33X.js +3 -0
- package/dest/ContractInstanceRegistry-FHIWE33X.js.map +7 -0
- package/dest/FeeJuice-SAOWVGG7.js +3 -0
- package/dest/FeeJuice-SAOWVGG7.js.map +7 -0
- package/dest/HandshakeRegistry-GY5CPEPS.js +3 -0
- package/dest/HandshakeRegistry-GY5CPEPS.js.map +7 -0
- package/dest/MultiCallEntrypoint-QG5H33ZZ.js +3 -0
- package/dest/MultiCallEntrypoint-QG5H33ZZ.js.map +7 -0
- package/dest/SchnorrAccount-NME3E45O.js +3 -0
- package/dest/SchnorrAccount-NME3E45O.js.map +7 -0
- package/dest/SchnorrInitializerlessAccount-WTGXU6SW.js +3 -0
- package/dest/SchnorrInitializerlessAccount-WTGXU6SW.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 +53 -0
- 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-2XE2OXLY.js +260 -0
- package/dest/chunk-2XE2OXLY.js.map +7 -0
- package/dest/chunk-32UHX7YY.js +3 -0
- package/dest/chunk-32UHX7YY.js.map +7 -0
- package/dest/chunk-543AD4I4.js +304 -0
- package/dest/chunk-543AD4I4.js.map +7 -0
- package/dest/constants.d.ts +5 -1
- package/dest/constants.d.ts.map +1 -1
- package/dest/constants.js +9 -1
- package/dest/dispatcher_pool.d.ts +67 -0
- package/dest/dispatcher_pool.d.ts.map +1 -0
- package/dest/dispatcher_pool.js +286 -0
- package/dest/index.d.ts +51 -7
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +72 -190
- package/dest/metafile.json +38759 -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 +47 -9
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/tagging_secret_strategy.d.ts +12 -0
- package/dest/oracle/tagging_secret_strategy.d.ts.map +1 -0
- package/dest/oracle/tagging_secret_strategy.js +12 -0
- package/dest/oracle/test-resolver/default_fixtures.d.ts +16 -0
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -0
- package/dest/oracle/test-resolver/default_fixtures.js +200 -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 +32 -0
- package/dest/oracle/test-resolver/resolver.d.ts +48 -0
- package/dest/oracle/test-resolver/resolver.d.ts.map +1 -0
- package/dest/oracle/test-resolver/resolver.js +181 -0
- package/dest/oracle/txe_oracle_public_context.d.ts +26 -2
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +49 -1
- package/dest/oracle/txe_oracle_registry.d.ts +172 -0
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -0
- package/dest/oracle/txe_oracle_registry.js +767 -0
- package/dest/oracle/txe_oracle_top_level_context.d.ts +52 -17
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +542 -299
- 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 +115 -266
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +785 -731
- package/dest/server.bundle.js +3 -0
- package/dest/server.bundle.js.map +7 -0
- package/dest/state_machine/archiver.d.ts +4 -3
- package/dest/state_machine/archiver.d.ts.map +1 -1
- package/dest/state_machine/archiver.js +24 -14
- package/dest/state_machine/dummy_p2p_client.d.ts +16 -7
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +25 -4
- package/dest/state_machine/global_variable_builder.d.ts +10 -6
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
- package/dest/state_machine/global_variable_builder.js +8 -5
- 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 +50 -14
- package/dest/state_machine/mock_epoch_cache.d.ts +16 -3
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
- package/dest/state_machine/mock_epoch_cache.js +29 -2
- package/dest/state_machine/synchronizer.d.ts +10 -2
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +19 -6
- package/dest/txe_session.d.ts +90 -20
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +316 -66
- package/dest/utils/block_creation.d.ts +2 -2
- package/dest/utils/block_creation.d.ts.map +1 -1
- package/dest/utils/block_creation.js +2 -2
- package/dest/utils/encoding.d.ts +192 -0
- package/dest/utils/encoding.d.ts.map +1 -0
- package/dest/{util → utils}/encoding.js +7 -2
- package/dest/{util → utils}/expected_failure_error.d.ts +1 -1
- package/dest/utils/expected_failure_error.d.ts.map +1 -0
- package/dest/utils/tx_effect_creation.d.ts +1 -1
- package/dest/utils/tx_effect_creation.d.ts.map +1 -1
- package/dest/utils/tx_effect_creation.js +0 -1
- package/dest/{util → utils}/txe_account_store.d.ts +1 -1
- package/dest/utils/txe_account_store.d.ts.map +1 -0
- 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/{util → utils}/txe_public_contract_data_source.js +8 -7
- 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 +38 -21
- package/src/bin/check_txe_oracle_version.ts +67 -0
- package/src/bin/index.ts +11 -2
- package/src/bin/oracle_test_server.ts +51 -0
- package/src/constants.ts +11 -1
- package/src/dispatcher_pool.ts +317 -0
- package/src/index.ts +99 -227
- package/src/msgpackr_fr_extension.ts +23 -0
- package/src/oracle/interfaces.ts +47 -8
- package/src/oracle/tagging_secret_strategy.ts +25 -0
- package/src/oracle/test-resolver/default_fixtures.ts +271 -0
- package/src/oracle/test-resolver/index.ts +44 -0
- package/src/oracle/test-resolver/resolver.ts +245 -0
- package/src/oracle/txe_oracle_public_context.ts +62 -0
- package/src/oracle/txe_oracle_registry.ts +556 -0
- package/src/oracle/txe_oracle_top_level_context.ts +344 -114
- 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 +867 -1020
- package/src/state_machine/archiver.ts +37 -16
- package/src/state_machine/dummy_p2p_client.ts +44 -11
- package/src/state_machine/global_variable_builder.ts +12 -11
- package/src/state_machine/index.ts +62 -31
- package/src/state_machine/mock_epoch_cache.ts +38 -3
- package/src/state_machine/synchronizer.ts +27 -6
- package/src/txe_session.ts +548 -79
- package/src/utils/block_creation.ts +2 -1
- package/src/{util → utils}/encoding.ts +8 -2
- package/src/utils/tx_effect_creation.ts +0 -2
- package/src/utils/txe_artifact_resolver.ts +217 -0
- package/src/{util → utils}/txe_public_contract_data_source.ts +6 -6
- package/src/worker.ts +98 -0
- package/dest/util/encoding.d.ts +0 -719
- package/dest/util/encoding.d.ts.map +0 -1
- package/dest/util/expected_failure_error.d.ts.map +0 -1
- package/dest/util/txe_account_store.d.ts.map +0 -1
- 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 → utils}/expected_failure_error.js +0 -0
- /package/dest/{util → utils}/txe_account_store.js +0 -0
- /package/src/{util → utils}/expected_failure_error.ts +0 -0
- /package/src/{util → utils}/txe_account_store.ts +0 -0
package/src/rpc_translator.ts
CHANGED
|
@@ -1,37 +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 { BlockNumber } from '@aztec/foundation/branded-types';
|
|
5
|
-
import {
|
|
6
|
-
type IMiscOracle,
|
|
7
|
-
type IPrivateExecutionOracle,
|
|
8
|
-
type IUtilityExecutionOracle,
|
|
9
|
-
packAsHintedNote,
|
|
10
|
-
} from '@aztec/pxe/simulator';
|
|
11
|
-
import { type ContractArtifact, EventSelector, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
12
|
-
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
13
|
-
import { BlockHash } from '@aztec/stdlib/block';
|
|
1
|
+
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from '@aztec/pxe/simulator';
|
|
14
2
|
|
|
15
3
|
import type { IAvmExecutionOracle, ITxeExecutionOracle } from './oracle/interfaces.js';
|
|
4
|
+
import { callTxeHandler } from './oracle/txe_oracle_registry.js';
|
|
16
5
|
import type { TXESessionStateHandler } from './txe_session.js';
|
|
17
|
-
import {
|
|
18
|
-
type ForeignCallArray,
|
|
19
|
-
type ForeignCallSingle,
|
|
20
|
-
addressFromSingle,
|
|
21
|
-
arrayOfArraysToBoundedVecOfArrays,
|
|
22
|
-
arrayToBoundedVec,
|
|
23
|
-
bufferToU8Array,
|
|
24
|
-
fromArray,
|
|
25
|
-
fromSingle,
|
|
26
|
-
fromUintArray,
|
|
27
|
-
fromUintBoundedVec,
|
|
28
|
-
toArray,
|
|
29
|
-
toForeignCallResult,
|
|
30
|
-
toSingle,
|
|
31
|
-
} from './util/encoding.js';
|
|
32
|
-
|
|
33
|
-
const MAX_EVENT_LEN = 10; // This is MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN
|
|
34
|
-
const MAX_PRIVATE_EVENTS_PER_TXE_QUERY = 5;
|
|
6
|
+
import type { ForeignCallArgs } from './utils/encoding.js';
|
|
35
7
|
|
|
36
8
|
export class UnavailableOracleError extends Error {
|
|
37
9
|
constructor(oracleName: string) {
|
|
@@ -102,61 +74,54 @@ export class RPCTranslator {
|
|
|
102
74
|
return this.oracleHandler;
|
|
103
75
|
}
|
|
104
76
|
|
|
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
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
105
88
|
// TXE session state transition functions - these get handled by the state handler
|
|
106
89
|
|
|
107
90
|
// eslint-disable-next-line camelcase
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
91
|
+
aztec_txe_setTopLevelTXEContext() {
|
|
92
|
+
return callTxeHandler({
|
|
93
|
+
oracle: 'aztec_txe_setTopLevelTXEContext',
|
|
94
|
+
inputs: [],
|
|
95
|
+
handler: () => this.stateHandler.enterTopLevelState(),
|
|
96
|
+
});
|
|
112
97
|
}
|
|
113
98
|
|
|
114
99
|
// eslint-disable-next-line camelcase
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
? AztecAddress.fromField(fromSingle(foreignContractAddressValue))
|
|
123
|
-
: undefined;
|
|
124
|
-
|
|
125
|
-
const anchorBlockNumber = fromSingle(foreignAnchorBlockNumberIsSome).toBool()
|
|
126
|
-
? BlockNumber(fromSingle(foreignAnchorBlockNumberValue).toNumber())
|
|
127
|
-
: undefined;
|
|
128
|
-
|
|
129
|
-
const privateContextInputs = await this.stateHandler.enterPrivateState(contractAddress, anchorBlockNumber);
|
|
130
|
-
|
|
131
|
-
return toForeignCallResult(privateContextInputs.toFields().map(toSingle));
|
|
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
|
+
});
|
|
132
107
|
}
|
|
133
108
|
|
|
134
109
|
// eslint-disable-next-line camelcase
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
: undefined;
|
|
142
|
-
|
|
143
|
-
await this.stateHandler.enterPublicState(contractAddress);
|
|
144
|
-
|
|
145
|
-
return toForeignCallResult([]);
|
|
110
|
+
aztec_txe_setPublicTXEContext(...inputs: ForeignCallArgs) {
|
|
111
|
+
return callTxeHandler({
|
|
112
|
+
oracle: 'aztec_txe_setPublicTXEContext',
|
|
113
|
+
inputs,
|
|
114
|
+
handler: ([contractAddress]) => this.stateHandler.enterPublicState(contractAddress),
|
|
115
|
+
});
|
|
146
116
|
}
|
|
147
117
|
|
|
148
118
|
// eslint-disable-next-line camelcase
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
: undefined;
|
|
156
|
-
|
|
157
|
-
await this.stateHandler.enterUtilityState(contractAddress);
|
|
158
|
-
|
|
159
|
-
return toForeignCallResult([]);
|
|
119
|
+
aztec_txe_setUtilityTXEContext(...inputs: ForeignCallArgs) {
|
|
120
|
+
return callTxeHandler({
|
|
121
|
+
oracle: 'aztec_txe_setUtilityTXEContext',
|
|
122
|
+
inputs,
|
|
123
|
+
handler: ([contractAddress]) => this.stateHandler.enterUtilityState(contractAddress),
|
|
124
|
+
});
|
|
160
125
|
}
|
|
161
126
|
|
|
162
127
|
// Other oracles - these get handled by the oracle handler
|
|
@@ -165,842 +130,690 @@ export class RPCTranslator {
|
|
|
165
130
|
|
|
166
131
|
// eslint-disable-next-line camelcase
|
|
167
132
|
aztec_txe_getDefaultAddress() {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
133
|
+
return callTxeHandler({
|
|
134
|
+
oracle: 'aztec_txe_getDefaultAddress',
|
|
135
|
+
inputs: [],
|
|
136
|
+
handler: () => this.handlerAsTxe().getDefaultAddress(),
|
|
137
|
+
});
|
|
171
138
|
}
|
|
172
139
|
|
|
173
140
|
// eslint-disable-next-line camelcase
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
141
|
+
aztec_txe_getNextBlockNumber() {
|
|
142
|
+
return callTxeHandler({
|
|
143
|
+
oracle: 'aztec_txe_getNextBlockNumber',
|
|
144
|
+
inputs: [],
|
|
145
|
+
handler: () => this.handlerAsTxe().getNextBlockNumber(),
|
|
146
|
+
});
|
|
178
147
|
}
|
|
179
148
|
|
|
180
149
|
// eslint-disable-next-line camelcase
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
150
|
+
aztec_txe_getNextBlockTimestamp() {
|
|
151
|
+
return callTxeHandler({
|
|
152
|
+
oracle: 'aztec_txe_getNextBlockTimestamp',
|
|
153
|
+
inputs: [],
|
|
154
|
+
handler: () => this.handlerAsTxe().getNextBlockTimestamp(),
|
|
155
|
+
});
|
|
185
156
|
}
|
|
186
157
|
|
|
187
158
|
// eslint-disable-next-line camelcase
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
159
|
+
aztec_txe_advanceBlocksBy(...inputs: ForeignCallArgs) {
|
|
160
|
+
return callTxeHandler({
|
|
161
|
+
oracle: 'aztec_txe_advanceBlocksBy',
|
|
162
|
+
inputs,
|
|
163
|
+
handler: ([blocks]) => this.handlerAsTxe().advanceBlocksBy(blocks),
|
|
164
|
+
});
|
|
194
165
|
}
|
|
195
166
|
|
|
196
167
|
// eslint-disable-next-line camelcase
|
|
197
|
-
aztec_txe_advanceTimestampBy(
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
168
|
+
aztec_txe_advanceTimestampBy(...inputs: ForeignCallArgs) {
|
|
169
|
+
return callTxeHandler({
|
|
170
|
+
oracle: 'aztec_txe_advanceTimestampBy',
|
|
171
|
+
inputs,
|
|
172
|
+
handler: ([duration]) => this.handlerAsTxe().advanceTimestampBy(duration),
|
|
173
|
+
});
|
|
203
174
|
}
|
|
204
175
|
|
|
205
176
|
// eslint-disable-next-line camelcase
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
await this.handlerAsTxe().deploy(artifact, instance, secret);
|
|
214
|
-
|
|
215
|
-
return toForeignCallResult([
|
|
216
|
-
toArray([
|
|
217
|
-
instance.salt,
|
|
218
|
-
instance.deployer.toField(),
|
|
219
|
-
instance.currentContractClassId,
|
|
220
|
-
instance.initializationHash,
|
|
221
|
-
...instance.publicKeys.toFields(),
|
|
222
|
-
]),
|
|
223
|
-
]);
|
|
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
|
+
});
|
|
224
184
|
}
|
|
225
185
|
|
|
226
186
|
// eslint-disable-next-line camelcase
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
toSingle(completeAddress.address),
|
|
234
|
-
...completeAddress.publicKeys.toFields().map(toSingle),
|
|
235
|
-
]);
|
|
187
|
+
aztec_txe_createAccount(...inputs: ForeignCallArgs) {
|
|
188
|
+
return callTxeHandler({
|
|
189
|
+
oracle: 'aztec_txe_createAccount',
|
|
190
|
+
inputs,
|
|
191
|
+
handler: ([secret, partialAddress]) => this.handlerAsTxe().createAccount(secret, partialAddress),
|
|
192
|
+
});
|
|
236
193
|
}
|
|
237
194
|
|
|
238
195
|
// eslint-disable-next-line camelcase
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const completeAddress = await this.handlerAsTxe().addAccount(artifact, instance, secret);
|
|
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
|
+
}
|
|
247
203
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
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
|
+
});
|
|
252
211
|
}
|
|
253
212
|
|
|
254
213
|
// eslint-disable-next-line camelcase
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
214
|
+
aztec_txe_sendL1ToL2Message(...inputs: ForeignCallArgs) {
|
|
215
|
+
return callTxeHandler({
|
|
216
|
+
oracle: 'aztec_txe_sendL1ToL2Message',
|
|
217
|
+
inputs,
|
|
218
|
+
handler: ([content, secretHash, sender, recipient]) =>
|
|
219
|
+
this.handlerAsTxe().sendL1ToL2Message(content, secretHash, sender, recipient),
|
|
220
|
+
});
|
|
221
|
+
}
|
|
258
222
|
|
|
259
|
-
|
|
223
|
+
// eslint-disable-next-line camelcase
|
|
224
|
+
aztec_txe_setTaggingSecretStrategies(...inputs: ForeignCallArgs) {
|
|
225
|
+
return callTxeHandler({
|
|
226
|
+
oracle: 'aztec_txe_setTaggingSecretStrategies',
|
|
227
|
+
inputs,
|
|
228
|
+
handler: ([unconstrainedStrategy, constrainedStrategy]) =>
|
|
229
|
+
this.handlerAsTxe().setTaggingSecretStrategies(unconstrainedStrategy, constrainedStrategy),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
260
232
|
|
|
261
|
-
|
|
233
|
+
// eslint-disable-next-line camelcase
|
|
234
|
+
aztec_txe_setAuthorizeAllUtilityCallTargets(...inputs: ForeignCallArgs) {
|
|
235
|
+
return callTxeHandler({
|
|
236
|
+
oracle: 'aztec_txe_setAuthorizeAllUtilityCallTargets',
|
|
237
|
+
inputs,
|
|
238
|
+
handler: ([authorizeAll]) => this.handlerAsTxe().setAuthorizeAllUtilityCallTargets(authorizeAll),
|
|
239
|
+
});
|
|
262
240
|
}
|
|
263
241
|
|
|
264
242
|
// PXE oracles
|
|
265
243
|
|
|
266
244
|
// eslint-disable-next-line camelcase
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
return toForeignCallResult([]);
|
|
245
|
+
aztec_misc_assertCompatibleOracleVersion(...inputs: ForeignCallArgs) {
|
|
246
|
+
return callTxeHandler({
|
|
247
|
+
oracle: 'aztec_misc_assertCompatibleOracleVersion',
|
|
248
|
+
inputs,
|
|
249
|
+
handler: ([major, minor]) => this.handlerAsMisc().assertCompatibleOracleVersion(major, minor),
|
|
250
|
+
});
|
|
274
251
|
}
|
|
275
252
|
|
|
276
253
|
// eslint-disable-next-line camelcase
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
254
|
+
aztec_misc_getRandomField() {
|
|
255
|
+
return callTxeHandler({
|
|
256
|
+
oracle: 'aztec_misc_getRandomField',
|
|
257
|
+
inputs: [],
|
|
258
|
+
handler: () => this.handlerAsMisc().getRandomField(),
|
|
259
|
+
});
|
|
281
260
|
}
|
|
282
261
|
|
|
283
262
|
// eslint-disable-next-line camelcase
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
263
|
+
aztec_txe_getLastBlockTimestamp() {
|
|
264
|
+
return callTxeHandler({
|
|
265
|
+
oracle: 'aztec_txe_getLastBlockTimestamp',
|
|
266
|
+
inputs: [],
|
|
267
|
+
handler: () => this.handlerAsTxe().getLastBlockTimestamp(),
|
|
268
|
+
});
|
|
288
269
|
}
|
|
289
270
|
|
|
290
271
|
// eslint-disable-next-line camelcase
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
...arrayToBoundedVec(toArray(nullifiers), MAX_NULLIFIERS_PER_TX),
|
|
298
|
-
]);
|
|
272
|
+
aztec_txe_getLastTxEffects() {
|
|
273
|
+
return callTxeHandler({
|
|
274
|
+
oracle: 'aztec_txe_getLastTxEffects',
|
|
275
|
+
inputs: [],
|
|
276
|
+
handler: () => this.handlerAsTxe().getLastTxEffects(),
|
|
277
|
+
});
|
|
299
278
|
}
|
|
300
279
|
|
|
301
280
|
// eslint-disable-next-line camelcase
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
const contractAddress = addressFromSingle(foreignContractAddress);
|
|
309
|
-
const scope = addressFromSingle(foreignScope);
|
|
310
|
-
|
|
311
|
-
// TODO(F-335): Avoid doing the following 2 calls here.
|
|
312
|
-
{
|
|
313
|
-
await this.handlerAsTxe().syncContractNonOracleMethod(contractAddress, scope, this.stateHandler.getCurrentJob());
|
|
314
|
-
// We cycle job to commit the stores after the contract sync.
|
|
315
|
-
await this.stateHandler.cycleJob();
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
const events = await this.handlerAsTxe().getPrivateEvents(selector, contractAddress, scope);
|
|
319
|
-
|
|
320
|
-
if (events.length > MAX_PRIVATE_EVENTS_PER_TXE_QUERY) {
|
|
321
|
-
throw new Error(`Array of length ${events.length} larger than maxLen ${MAX_PRIVATE_EVENTS_PER_TXE_QUERY}`);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
if (events.some(e => e.length > MAX_EVENT_LEN)) {
|
|
325
|
-
throw new Error(`Some private event has length larger than maxLen ${MAX_EVENT_LEN}`);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
// This is a workaround as Noir does not currently let us return nested structs with arrays. We instead return a raw
|
|
329
|
-
// multidimensional array in get_private_events_oracle and create the BoundedVecs here.
|
|
330
|
-
const rawArrayStorage = events
|
|
331
|
-
.map(e => e.concat(Array(MAX_EVENT_LEN - e.length).fill(new Fr(0))))
|
|
332
|
-
.concat(Array(MAX_PRIVATE_EVENTS_PER_TXE_QUERY - events.length).fill(Array(MAX_EVENT_LEN).fill(new Fr(0))))
|
|
333
|
-
.flat();
|
|
334
|
-
const eventLengths = events
|
|
335
|
-
.map(e => new Fr(e.length))
|
|
336
|
-
.concat(Array(MAX_PRIVATE_EVENTS_PER_TXE_QUERY - events.length).fill(new Fr(0)));
|
|
337
|
-
const queryLength = new Fr(events.length);
|
|
338
|
-
|
|
339
|
-
return toForeignCallResult([toArray(rawArrayStorage), toArray(eventLengths), toSingle(queryLength)]);
|
|
281
|
+
aztec_txe_getLastCallOffchainEffects() {
|
|
282
|
+
return callTxeHandler({
|
|
283
|
+
oracle: 'aztec_txe_getLastCallOffchainEffects',
|
|
284
|
+
inputs: [],
|
|
285
|
+
handler: () => this.stateHandler.getLastCallOffchainEffects(),
|
|
286
|
+
});
|
|
340
287
|
}
|
|
341
288
|
|
|
342
289
|
// eslint-disable-next-line camelcase
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
return toForeignCallResult([]);
|
|
290
|
+
aztec_txe_getLastCallContext() {
|
|
291
|
+
return callTxeHandler({
|
|
292
|
+
oracle: 'aztec_txe_getLastCallContext',
|
|
293
|
+
inputs: [],
|
|
294
|
+
handler: () => this.stateHandler.getLastCallContext(),
|
|
295
|
+
});
|
|
350
296
|
}
|
|
351
297
|
|
|
352
298
|
// eslint-disable-next-line camelcase
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
299
|
+
aztec_txe_getPrivateEvents(...inputs: ForeignCallArgs) {
|
|
300
|
+
return callTxeHandler({
|
|
301
|
+
oracle: 'aztec_txe_getPrivateEvents',
|
|
302
|
+
inputs,
|
|
303
|
+
handler: ([selector, contractAddress, scope]) =>
|
|
304
|
+
this.stateHandler.getPrivateEvents(selector, contractAddress, scope),
|
|
305
|
+
});
|
|
359
306
|
}
|
|
360
307
|
|
|
361
|
-
// When the argument is a slice, noir automatically adds a length field to oracle call.
|
|
362
|
-
// When the argument is an array, we add the field length manually to the signature.
|
|
363
308
|
// eslint-disable-next-line camelcase
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
const level = fromSingle(foreignLevel).toNumber();
|
|
371
|
-
const message = fromArray(foreignMessage)
|
|
372
|
-
.map(field => String.fromCharCode(field.toNumber()))
|
|
373
|
-
.join('');
|
|
374
|
-
const fields = fromArray(foreignFields);
|
|
375
|
-
|
|
376
|
-
await this.handlerAsMisc().log(level, message, fields);
|
|
377
|
-
|
|
378
|
-
return toForeignCallResult([]);
|
|
309
|
+
aztec_prv_setHashPreimage(...inputs: ForeignCallArgs) {
|
|
310
|
+
return callTxeHandler({
|
|
311
|
+
oracle: 'aztec_prv_setHashPreimage',
|
|
312
|
+
inputs,
|
|
313
|
+
handler: ([values, hash]) => this.handlerAsPrivate().setHashPreimage(values, hash),
|
|
314
|
+
});
|
|
379
315
|
}
|
|
380
316
|
|
|
381
317
|
// eslint-disable-next-line camelcase
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
const blockHash = new BlockHash(fromSingle(foreignBlockHash));
|
|
389
|
-
const contractAddress = addressFromSingle(foreignContractAddress);
|
|
390
|
-
const startStorageSlot = fromSingle(foreignStartStorageSlot);
|
|
391
|
-
const numberOfElements = fromSingle(foreignNumberOfElements).toNumber();
|
|
392
|
-
|
|
393
|
-
const values = await this.handlerAsUtility().getFromPublicStorage(
|
|
394
|
-
blockHash,
|
|
395
|
-
contractAddress,
|
|
396
|
-
startStorageSlot,
|
|
397
|
-
numberOfElements,
|
|
398
|
-
);
|
|
399
|
-
|
|
400
|
-
return toForeignCallResult([toArray(values)]);
|
|
318
|
+
aztec_prv_getHashPreimage(...inputs: ForeignCallArgs) {
|
|
319
|
+
return callTxeHandler({
|
|
320
|
+
oracle: 'aztec_prv_getHashPreimage',
|
|
321
|
+
inputs,
|
|
322
|
+
handler: ([hash]) => this.handlerAsPrivate().getHashPreimage(hash),
|
|
323
|
+
});
|
|
401
324
|
}
|
|
402
325
|
|
|
403
326
|
// eslint-disable-next-line camelcase
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
if (!witness) {
|
|
411
|
-
throw new Error(`Public data witness not found for slot ${leafSlot} at block ${blockHash.toString()}.`);
|
|
412
|
-
}
|
|
413
|
-
return toForeignCallResult(witness.toNoirRepresentation());
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
// eslint-disable-next-line camelcase
|
|
417
|
-
async aztec_utl_getNotes(
|
|
418
|
-
foreignOwnerIsSome: ForeignCallSingle,
|
|
419
|
-
foreignOwnerValue: ForeignCallSingle,
|
|
420
|
-
foreignStorageSlot: ForeignCallSingle,
|
|
421
|
-
foreignNumSelects: ForeignCallSingle,
|
|
422
|
-
foreignSelectByIndexes: ForeignCallArray,
|
|
423
|
-
foreignSelectByOffsets: ForeignCallArray,
|
|
424
|
-
foreignSelectByLengths: ForeignCallArray,
|
|
425
|
-
foreignSelectValues: ForeignCallArray,
|
|
426
|
-
foreignSelectComparators: ForeignCallArray,
|
|
427
|
-
foreignSortByIndexes: ForeignCallArray,
|
|
428
|
-
foreignSortByOffsets: ForeignCallArray,
|
|
429
|
-
foreignSortByLengths: ForeignCallArray,
|
|
430
|
-
foreignSortOrder: ForeignCallArray,
|
|
431
|
-
foreignLimit: ForeignCallSingle,
|
|
432
|
-
foreignOffset: ForeignCallSingle,
|
|
433
|
-
foreignStatus: ForeignCallSingle,
|
|
434
|
-
foreignMaxNotes: ForeignCallSingle,
|
|
435
|
-
foreignPackedHintedNoteLength: ForeignCallSingle,
|
|
436
|
-
) {
|
|
437
|
-
// Parse Option<AztecAddress>: ownerIsSome is 0 for None, 1 for Some
|
|
438
|
-
const owner = fromSingle(foreignOwnerIsSome).toBool()
|
|
439
|
-
? AztecAddress.fromField(fromSingle(foreignOwnerValue))
|
|
440
|
-
: undefined;
|
|
441
|
-
const storageSlot = fromSingle(foreignStorageSlot);
|
|
442
|
-
const numSelects = fromSingle(foreignNumSelects).toNumber();
|
|
443
|
-
const selectByIndexes = fromArray(foreignSelectByIndexes).map(fr => fr.toNumber());
|
|
444
|
-
const selectByOffsets = fromArray(foreignSelectByOffsets).map(fr => fr.toNumber());
|
|
445
|
-
const selectByLengths = fromArray(foreignSelectByLengths).map(fr => fr.toNumber());
|
|
446
|
-
const selectValues = fromArray(foreignSelectValues);
|
|
447
|
-
const selectComparators = fromArray(foreignSelectComparators).map(fr => fr.toNumber());
|
|
448
|
-
const sortByIndexes = fromArray(foreignSortByIndexes).map(fr => fr.toNumber());
|
|
449
|
-
const sortByOffsets = fromArray(foreignSortByOffsets).map(fr => fr.toNumber());
|
|
450
|
-
const sortByLengths = fromArray(foreignSortByLengths).map(fr => fr.toNumber());
|
|
451
|
-
const sortOrder = fromArray(foreignSortOrder).map(fr => fr.toNumber());
|
|
452
|
-
const limit = fromSingle(foreignLimit).toNumber();
|
|
453
|
-
const offset = fromSingle(foreignOffset).toNumber();
|
|
454
|
-
const status = fromSingle(foreignStatus).toNumber();
|
|
455
|
-
const maxNotes = fromSingle(foreignMaxNotes).toNumber();
|
|
456
|
-
const packedHintedNoteLength = fromSingle(foreignPackedHintedNoteLength).toNumber();
|
|
457
|
-
|
|
458
|
-
const noteDatas = await this.handlerAsUtility().getNotes(
|
|
459
|
-
owner,
|
|
460
|
-
storageSlot,
|
|
461
|
-
numSelects,
|
|
462
|
-
selectByIndexes,
|
|
463
|
-
selectByOffsets,
|
|
464
|
-
selectByLengths,
|
|
465
|
-
selectValues,
|
|
466
|
-
selectComparators,
|
|
467
|
-
sortByIndexes,
|
|
468
|
-
sortByOffsets,
|
|
469
|
-
sortByLengths,
|
|
470
|
-
sortOrder,
|
|
471
|
-
limit,
|
|
472
|
-
offset,
|
|
473
|
-
status,
|
|
474
|
-
);
|
|
475
|
-
|
|
476
|
-
const returnDataAsArrayOfArrays = noteDatas.map(noteData =>
|
|
477
|
-
packAsHintedNote({
|
|
478
|
-
contractAddress: noteData.contractAddress,
|
|
479
|
-
owner: noteData.owner,
|
|
480
|
-
randomness: noteData.randomness,
|
|
481
|
-
storageSlot: noteData.storageSlot,
|
|
482
|
-
noteNonce: noteData.noteNonce,
|
|
483
|
-
isPending: noteData.isPending,
|
|
484
|
-
note: noteData.note,
|
|
485
|
-
}),
|
|
486
|
-
);
|
|
487
|
-
|
|
488
|
-
// Now we convert each sub-array to an array of ForeignCallSingles
|
|
489
|
-
const returnDataAsArrayOfForeignCallSingleArrays = returnDataAsArrayOfArrays.map(subArray =>
|
|
490
|
-
subArray.map(toSingle),
|
|
491
|
-
);
|
|
492
|
-
|
|
493
|
-
// At last we convert the array of arrays to a bounded vec of arrays
|
|
494
|
-
return toForeignCallResult(
|
|
495
|
-
arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfForeignCallSingleArrays, maxNotes, packedHintedNoteLength),
|
|
496
|
-
);
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
// eslint-disable-next-line camelcase
|
|
500
|
-
aztec_prv_notifyCreatedNote(
|
|
501
|
-
foreignOwner: ForeignCallSingle,
|
|
502
|
-
foreignStorageSlot: ForeignCallSingle,
|
|
503
|
-
foreignRandomness: ForeignCallSingle,
|
|
504
|
-
foreignNoteTypeId: ForeignCallSingle,
|
|
505
|
-
foreignNote: ForeignCallArray,
|
|
506
|
-
foreignNoteHash: ForeignCallSingle,
|
|
507
|
-
foreignCounter: ForeignCallSingle,
|
|
508
|
-
) {
|
|
509
|
-
const owner = addressFromSingle(foreignOwner);
|
|
510
|
-
const storageSlot = fromSingle(foreignStorageSlot);
|
|
511
|
-
const randomness = fromSingle(foreignRandomness);
|
|
512
|
-
const noteTypeId = NoteSelector.fromField(fromSingle(foreignNoteTypeId));
|
|
513
|
-
const note = fromArray(foreignNote);
|
|
514
|
-
const noteHash = fromSingle(foreignNoteHash);
|
|
515
|
-
const counter = fromSingle(foreignCounter).toNumber();
|
|
516
|
-
|
|
517
|
-
this.handlerAsPrivate().notifyCreatedNote(owner, storageSlot, randomness, noteTypeId, note, noteHash, counter);
|
|
518
|
-
|
|
519
|
-
return toForeignCallResult([]);
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
// eslint-disable-next-line camelcase
|
|
523
|
-
async aztec_prv_notifyNullifiedNote(
|
|
524
|
-
foreignInnerNullifier: ForeignCallSingle,
|
|
525
|
-
foreignNoteHash: ForeignCallSingle,
|
|
526
|
-
foreignCounter: ForeignCallSingle,
|
|
527
|
-
) {
|
|
528
|
-
const innerNullifier = fromSingle(foreignInnerNullifier);
|
|
529
|
-
const noteHash = fromSingle(foreignNoteHash);
|
|
530
|
-
const counter = fromSingle(foreignCounter).toNumber();
|
|
531
|
-
|
|
532
|
-
await this.handlerAsPrivate().notifyNullifiedNote(innerNullifier, noteHash, counter);
|
|
533
|
-
|
|
534
|
-
return toForeignCallResult([]);
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
// eslint-disable-next-line camelcase
|
|
538
|
-
async aztec_prv_notifyCreatedNullifier(foreignInnerNullifier: ForeignCallSingle) {
|
|
539
|
-
const innerNullifier = fromSingle(foreignInnerNullifier);
|
|
540
|
-
|
|
541
|
-
await this.handlerAsPrivate().notifyCreatedNullifier(innerNullifier);
|
|
542
|
-
|
|
543
|
-
return toForeignCallResult([]);
|
|
327
|
+
aztec_misc_log(...inputs: ForeignCallArgs) {
|
|
328
|
+
return callTxeHandler({
|
|
329
|
+
oracle: 'aztec_misc_log',
|
|
330
|
+
inputs,
|
|
331
|
+
handler: ([level, message, fieldsSize, fields]) => this.handlerAsMisc().log(level, message, fieldsSize, fields),
|
|
332
|
+
});
|
|
544
333
|
}
|
|
545
334
|
|
|
546
335
|
// eslint-disable-next-line camelcase
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
const isPending = await this.handlerAsPrivate().isNullifierPending(innerNullifier, contractAddress);
|
|
555
|
-
|
|
556
|
-
return toForeignCallResult([toSingle(new Fr(isPending))]);
|
|
336
|
+
aztec_utl_getFromPublicStorage(...inputs: ForeignCallArgs) {
|
|
337
|
+
return callTxeHandler({
|
|
338
|
+
oracle: 'aztec_utl_getFromPublicStorage',
|
|
339
|
+
inputs,
|
|
340
|
+
handler: ([blockHash, contractAddress, startStorageSlot, numberOfElements]) =>
|
|
341
|
+
this.handlerAsUtility().getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements),
|
|
342
|
+
});
|
|
557
343
|
}
|
|
558
344
|
|
|
559
345
|
// eslint-disable-next-line camelcase
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
346
|
+
aztec_utl_getPublicDataWitness(...inputs: ForeignCallArgs) {
|
|
347
|
+
return callTxeHandler({
|
|
348
|
+
oracle: 'aztec_utl_getPublicDataWitness',
|
|
349
|
+
inputs,
|
|
350
|
+
handler: ([blockHash, leafSlot]) => this.handlerAsUtility().getPublicDataWitness(blockHash, leafSlot),
|
|
351
|
+
});
|
|
566
352
|
}
|
|
567
353
|
|
|
568
354
|
// eslint-disable-next-line camelcase
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
355
|
+
aztec_utl_getNotes(...inputs: ForeignCallArgs) {
|
|
356
|
+
return callTxeHandler({
|
|
357
|
+
oracle: 'aztec_utl_getNotes',
|
|
358
|
+
inputs,
|
|
359
|
+
handler: ([
|
|
360
|
+
owner,
|
|
361
|
+
storageSlot,
|
|
362
|
+
numSelects,
|
|
363
|
+
selectByIndexes,
|
|
364
|
+
selectByOffsets,
|
|
365
|
+
selectByLengths,
|
|
366
|
+
selectValues,
|
|
367
|
+
selectComparators,
|
|
368
|
+
sortByIndexes,
|
|
369
|
+
sortByOffsets,
|
|
370
|
+
sortByLengths,
|
|
371
|
+
sortOrder,
|
|
372
|
+
limit,
|
|
373
|
+
offset,
|
|
374
|
+
status,
|
|
375
|
+
maxNotes,
|
|
376
|
+
packedHintedNoteLength,
|
|
377
|
+
]) =>
|
|
378
|
+
this.handlerAsUtility().getNotes(
|
|
379
|
+
owner,
|
|
380
|
+
storageSlot,
|
|
381
|
+
numSelects,
|
|
382
|
+
selectByIndexes,
|
|
383
|
+
selectByOffsets,
|
|
384
|
+
selectByLengths,
|
|
385
|
+
selectValues,
|
|
386
|
+
selectComparators,
|
|
387
|
+
sortByIndexes,
|
|
388
|
+
sortByOffsets,
|
|
389
|
+
sortByLengths,
|
|
390
|
+
sortOrder,
|
|
391
|
+
limit,
|
|
392
|
+
offset,
|
|
393
|
+
status,
|
|
394
|
+
maxNotes,
|
|
395
|
+
packedHintedNoteLength,
|
|
396
|
+
),
|
|
397
|
+
});
|
|
583
398
|
}
|
|
584
399
|
|
|
585
400
|
// eslint-disable-next-line camelcase
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
401
|
+
aztec_prv_notifyCreatedNote(...inputs: ForeignCallArgs) {
|
|
402
|
+
return callTxeHandler({
|
|
403
|
+
oracle: 'aztec_prv_notifyCreatedNote',
|
|
404
|
+
inputs,
|
|
405
|
+
handler: ([owner, storageSlot, randomness, noteTypeId, note, noteHash, counter]) =>
|
|
406
|
+
this.handlerAsPrivate().notifyCreatedNote(owner, storageSlot, randomness, noteTypeId, note, noteHash, counter),
|
|
407
|
+
});
|
|
408
|
+
}
|
|
590
409
|
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
toSingle(new Fr(1)),
|
|
600
|
-
toArray([...result.publicKeys.toFields(), result.partialAddress]),
|
|
601
|
-
]);
|
|
602
|
-
}
|
|
410
|
+
// eslint-disable-next-line camelcase
|
|
411
|
+
aztec_prv_notifyNullifiedNote(...inputs: ForeignCallArgs) {
|
|
412
|
+
return callTxeHandler({
|
|
413
|
+
oracle: 'aztec_prv_notifyNullifiedNote',
|
|
414
|
+
inputs,
|
|
415
|
+
handler: ([innerNullifier, noteHash, counter]) =>
|
|
416
|
+
this.handlerAsPrivate().notifyNullifiedNote(innerNullifier, noteHash, counter),
|
|
417
|
+
});
|
|
603
418
|
}
|
|
604
419
|
|
|
605
420
|
// eslint-disable-next-line camelcase
|
|
606
|
-
|
|
607
|
-
|
|
421
|
+
aztec_prv_notifyCreatedNullifier(...inputs: ForeignCallArgs) {
|
|
422
|
+
return callTxeHandler({
|
|
423
|
+
oracle: 'aztec_prv_notifyCreatedNullifier',
|
|
424
|
+
inputs,
|
|
425
|
+
handler: ([innerNullifier]) => this.handlerAsPrivate().notifyCreatedNullifier(innerNullifier),
|
|
426
|
+
});
|
|
427
|
+
}
|
|
608
428
|
|
|
609
|
-
|
|
429
|
+
// eslint-disable-next-line camelcase
|
|
430
|
+
aztec_prv_isNullifierPending(...inputs: ForeignCallArgs) {
|
|
431
|
+
return callTxeHandler({
|
|
432
|
+
oracle: 'aztec_prv_isNullifierPending',
|
|
433
|
+
inputs,
|
|
434
|
+
handler: ([innerNullifier, contractAddress]) =>
|
|
435
|
+
this.handlerAsPrivate().isNullifierPending(innerNullifier, contractAddress),
|
|
436
|
+
});
|
|
437
|
+
}
|
|
610
438
|
|
|
611
|
-
|
|
439
|
+
// eslint-disable-next-line camelcase
|
|
440
|
+
aztec_utl_doesNullifierExist(...inputs: ForeignCallArgs) {
|
|
441
|
+
return callTxeHandler({
|
|
442
|
+
oracle: 'aztec_utl_doesNullifierExist',
|
|
443
|
+
inputs,
|
|
444
|
+
handler: ([innerNullifier]) => this.handlerAsUtility().doesNullifierExist(innerNullifier),
|
|
445
|
+
});
|
|
612
446
|
}
|
|
613
447
|
|
|
614
448
|
// eslint-disable-next-line camelcase
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
) {
|
|
622
|
-
throw new Error(
|
|
623
|
-
'Contract calls are forbidden inside a `TestEnvironment::private_context`, use `private_call` instead',
|
|
624
|
-
);
|
|
449
|
+
aztec_utl_getContractInstance(...inputs: ForeignCallArgs) {
|
|
450
|
+
return callTxeHandler({
|
|
451
|
+
oracle: 'aztec_utl_getContractInstance',
|
|
452
|
+
inputs,
|
|
453
|
+
handler: ([address]) => this.handlerAsUtility().getContractInstance(address),
|
|
454
|
+
});
|
|
625
455
|
}
|
|
626
456
|
|
|
627
457
|
// eslint-disable-next-line camelcase
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
458
|
+
aztec_utl_getPublicKeysAndPartialAddress(...inputs: ForeignCallArgs) {
|
|
459
|
+
return callTxeHandler({
|
|
460
|
+
oracle: 'aztec_utl_getPublicKeysAndPartialAddress',
|
|
461
|
+
inputs,
|
|
462
|
+
handler: ([address]) => this.handlerAsUtility().getPublicKeysAndPartialAddress(address),
|
|
463
|
+
});
|
|
464
|
+
}
|
|
634
465
|
|
|
635
|
-
|
|
466
|
+
// eslint-disable-next-line camelcase
|
|
467
|
+
aztec_utl_getKeyValidationRequest(...inputs: ForeignCallArgs) {
|
|
468
|
+
return callTxeHandler({
|
|
469
|
+
oracle: 'aztec_utl_getKeyValidationRequest',
|
|
470
|
+
inputs,
|
|
471
|
+
handler: ([pkMHash, keyIndex]) => this.handlerAsUtility().getKeyValidationRequest(pkMHash, keyIndex),
|
|
472
|
+
});
|
|
473
|
+
}
|
|
636
474
|
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
475
|
+
// eslint-disable-next-line camelcase
|
|
476
|
+
aztec_prv_callPrivateFunction(...inputs: ForeignCallArgs) {
|
|
477
|
+
return callTxeHandler({
|
|
478
|
+
oracle: 'aztec_prv_callPrivateFunction',
|
|
479
|
+
inputs,
|
|
480
|
+
handler: ([contractAddress, functionSelector, argsHash, sideEffectCounter, isStaticCall]) =>
|
|
481
|
+
this.handlerAsPrivate().callPrivateFunction(
|
|
482
|
+
contractAddress,
|
|
483
|
+
functionSelector,
|
|
484
|
+
argsHash,
|
|
485
|
+
sideEffectCounter,
|
|
486
|
+
isStaticCall,
|
|
487
|
+
),
|
|
488
|
+
});
|
|
641
489
|
}
|
|
642
490
|
|
|
643
491
|
// eslint-disable-next-line camelcase
|
|
644
|
-
|
|
645
|
-
|
|
492
|
+
aztec_utl_getNullifierMembershipWitness(...inputs: ForeignCallArgs) {
|
|
493
|
+
return callTxeHandler({
|
|
494
|
+
oracle: 'aztec_utl_getNullifierMembershipWitness',
|
|
495
|
+
inputs,
|
|
496
|
+
handler: ([blockHash, nullifier]) => this.handlerAsUtility().getNullifierMembershipWitness(blockHash, nullifier),
|
|
497
|
+
});
|
|
498
|
+
}
|
|
646
499
|
|
|
647
|
-
|
|
500
|
+
// eslint-disable-next-line camelcase
|
|
501
|
+
aztec_utl_getL1ToL2MembershipWitnessV2(...inputs: ForeignCallArgs) {
|
|
502
|
+
return callTxeHandler({
|
|
503
|
+
oracle: 'aztec_utl_getL1ToL2MembershipWitnessV2',
|
|
504
|
+
inputs,
|
|
505
|
+
handler: ([messageHash, nullifier]) =>
|
|
506
|
+
this.handlerAsUtility().getL1ToL2MembershipWitnessV2(messageHash, nullifier),
|
|
507
|
+
});
|
|
508
|
+
}
|
|
648
509
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
510
|
+
// eslint-disable-next-line camelcase
|
|
511
|
+
aztec_utl_getAuthWitness(...inputs: ForeignCallArgs) {
|
|
512
|
+
return callTxeHandler({
|
|
513
|
+
oracle: 'aztec_utl_getAuthWitness',
|
|
514
|
+
inputs,
|
|
515
|
+
handler: ([messageHash]) => this.handlerAsUtility().getAuthWitness(messageHash),
|
|
516
|
+
});
|
|
653
517
|
}
|
|
654
518
|
|
|
655
519
|
// eslint-disable-next-line camelcase
|
|
656
|
-
|
|
657
|
-
|
|
520
|
+
aztec_prv_assertValidPublicCalldata(...inputs: ForeignCallArgs) {
|
|
521
|
+
return callTxeHandler({
|
|
522
|
+
oracle: 'aztec_prv_assertValidPublicCalldata',
|
|
523
|
+
inputs,
|
|
524
|
+
handler: ([calldataHash]) => this.handlerAsPrivate().assertValidPublicCalldata(calldataHash),
|
|
525
|
+
});
|
|
658
526
|
}
|
|
659
527
|
|
|
660
528
|
// eslint-disable-next-line camelcase
|
|
661
|
-
|
|
662
|
-
|
|
529
|
+
aztec_prv_notifyRevertiblePhaseStart(...inputs: ForeignCallArgs) {
|
|
530
|
+
return callTxeHandler({
|
|
531
|
+
oracle: 'aztec_prv_notifyRevertiblePhaseStart',
|
|
532
|
+
inputs,
|
|
533
|
+
handler: ([minRevertibleSideEffectCounter]) =>
|
|
534
|
+
this.handlerAsPrivate().notifyRevertiblePhaseStart(minRevertibleSideEffectCounter),
|
|
535
|
+
});
|
|
663
536
|
}
|
|
664
537
|
|
|
665
538
|
// eslint-disable-next-line camelcase
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
539
|
+
aztec_prv_isExecutionInRevertiblePhase(...inputs: ForeignCallArgs) {
|
|
540
|
+
return callTxeHandler({
|
|
541
|
+
oracle: 'aztec_prv_isExecutionInRevertiblePhase',
|
|
542
|
+
inputs,
|
|
543
|
+
handler: ([sideEffectCounter]) => this.handlerAsPrivate().isExecutionInRevertiblePhase(sideEffectCounter),
|
|
544
|
+
});
|
|
670
545
|
}
|
|
671
546
|
|
|
672
547
|
// eslint-disable-next-line camelcase
|
|
673
548
|
aztec_utl_getUtilityContext() {
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
549
|
+
return callTxeHandler({
|
|
550
|
+
oracle: 'aztec_utl_getUtilityContext',
|
|
551
|
+
inputs: [],
|
|
552
|
+
handler: () => this.handlerAsUtility().getUtilityContext(),
|
|
553
|
+
});
|
|
677
554
|
}
|
|
678
555
|
|
|
679
556
|
// eslint-disable-next-line camelcase
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
throw new Error(`Block header not found for block ${blockNumber}.`);
|
|
687
|
-
}
|
|
688
|
-
return toForeignCallResult(header.toFields().map(toSingle));
|
|
557
|
+
aztec_utl_getBlockHeader(...inputs: ForeignCallArgs) {
|
|
558
|
+
return callTxeHandler({
|
|
559
|
+
oracle: 'aztec_utl_getBlockHeader',
|
|
560
|
+
inputs,
|
|
561
|
+
handler: ([blockNumber]) => this.handlerAsUtility().getBlockHeader(blockNumber),
|
|
562
|
+
});
|
|
689
563
|
}
|
|
690
564
|
|
|
691
565
|
// eslint-disable-next-line camelcase
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
const witness = await this.handlerAsUtility().getNoteHashMembershipWitness(blockHash, noteHash);
|
|
700
|
-
|
|
701
|
-
if (!witness) {
|
|
702
|
-
throw new Error(`Note hash ${noteHash} not found in the note hash tree at block ${blockHash.toString()}.`);
|
|
703
|
-
}
|
|
704
|
-
return toForeignCallResult(witness.toNoirRepresentation());
|
|
566
|
+
aztec_utl_getNoteHashMembershipWitness(...inputs: ForeignCallArgs) {
|
|
567
|
+
return callTxeHandler({
|
|
568
|
+
oracle: 'aztec_utl_getNoteHashMembershipWitness',
|
|
569
|
+
inputs,
|
|
570
|
+
handler: ([blockHash, noteHash]) => this.handlerAsUtility().getNoteHashMembershipWitness(blockHash, noteHash),
|
|
571
|
+
});
|
|
705
572
|
}
|
|
706
573
|
|
|
707
574
|
// eslint-disable-next-line camelcase
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
const witness = await this.handlerAsUtility().getBlockHashMembershipWitness(anchorBlockHash, blockHash);
|
|
716
|
-
|
|
717
|
-
if (!witness) {
|
|
718
|
-
throw new Error(
|
|
719
|
-
`Block hash ${blockHash.toString()} not found in the archive tree at anchor block ${anchorBlockHash.toString()}.`,
|
|
720
|
-
);
|
|
721
|
-
}
|
|
722
|
-
return toForeignCallResult(witness.toNoirRepresentation());
|
|
575
|
+
aztec_utl_getBlockHashMembershipWitness(...inputs: ForeignCallArgs) {
|
|
576
|
+
return callTxeHandler({
|
|
577
|
+
oracle: 'aztec_utl_getBlockHashMembershipWitness',
|
|
578
|
+
inputs,
|
|
579
|
+
handler: ([anchorBlockHash, blockHash]) =>
|
|
580
|
+
this.handlerAsUtility().getBlockHashMembershipWitness(anchorBlockHash, blockHash),
|
|
581
|
+
});
|
|
723
582
|
}
|
|
724
583
|
|
|
725
584
|
// eslint-disable-next-line camelcase
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
const witness = await this.handlerAsUtility().getLowNullifierMembershipWitness(blockHash, nullifier);
|
|
734
|
-
|
|
735
|
-
if (!witness) {
|
|
736
|
-
throw new Error(`Low nullifier witness not found for nullifier ${nullifier} at block ${blockHash}.`);
|
|
737
|
-
}
|
|
738
|
-
return toForeignCallResult(witness.toNoirRepresentation());
|
|
585
|
+
aztec_utl_areBlockHashesInArchive(...inputs: ForeignCallArgs) {
|
|
586
|
+
return callTxeHandler({
|
|
587
|
+
oracle: 'aztec_utl_areBlockHashesInArchive',
|
|
588
|
+
inputs,
|
|
589
|
+
handler: ([anchorBlockHash, blockHashes]) =>
|
|
590
|
+
this.handlerAsUtility().areBlockHashesInArchive(anchorBlockHash, blockHashes),
|
|
591
|
+
});
|
|
739
592
|
}
|
|
740
593
|
|
|
741
594
|
// eslint-disable-next-line camelcase
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
await this.handlerAsUtility().getPendingTaggedLogs(pendingTaggedLogArrayBaseSlot, scope);
|
|
750
|
-
|
|
751
|
-
return toForeignCallResult([]);
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
// eslint-disable-next-line camelcase
|
|
755
|
-
async aztec_utl_getPendingTaggedLogs_v2(foreignScope: ForeignCallSingle) {
|
|
756
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
757
|
-
const slot = await this.handlerAsUtility().getPendingTaggedLogsV2(scope);
|
|
758
|
-
return toForeignCallResult([toSingle(slot)]);
|
|
595
|
+
aztec_utl_getLowNullifierMembershipWitness(...inputs: ForeignCallArgs) {
|
|
596
|
+
return callTxeHandler({
|
|
597
|
+
oracle: 'aztec_utl_getLowNullifierMembershipWitness',
|
|
598
|
+
inputs,
|
|
599
|
+
handler: ([blockHash, nullifier]) =>
|
|
600
|
+
this.handlerAsUtility().getLowNullifierMembershipWitness(blockHash, nullifier),
|
|
601
|
+
});
|
|
759
602
|
}
|
|
760
603
|
|
|
761
604
|
// eslint-disable-next-line camelcase
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
foreignScope: ForeignCallSingle,
|
|
769
|
-
) {
|
|
770
|
-
const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
|
|
771
|
-
const noteValidationRequestsArrayBaseSlot = fromSingle(foreignNoteValidationRequestsArrayBaseSlot);
|
|
772
|
-
const eventValidationRequestsArrayBaseSlot = fromSingle(foreignEventValidationRequestsArrayBaseSlot);
|
|
773
|
-
const maxNotePackedLen = fromSingle(foreignMaxNotePackedLen).toNumber();
|
|
774
|
-
const maxEventSerializedLen = fromSingle(foreignMaxEventSerializedLen).toNumber();
|
|
775
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
776
|
-
|
|
777
|
-
await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(
|
|
778
|
-
contractAddress,
|
|
779
|
-
noteValidationRequestsArrayBaseSlot,
|
|
780
|
-
eventValidationRequestsArrayBaseSlot,
|
|
781
|
-
maxNotePackedLen,
|
|
782
|
-
maxEventSerializedLen,
|
|
783
|
-
scope,
|
|
784
|
-
);
|
|
785
|
-
|
|
786
|
-
return toForeignCallResult([]);
|
|
605
|
+
aztec_utl_getPendingTaggedLogsV2(...inputs: ForeignCallArgs) {
|
|
606
|
+
return callTxeHandler({
|
|
607
|
+
oracle: 'aztec_utl_getPendingTaggedLogsV2',
|
|
608
|
+
inputs,
|
|
609
|
+
handler: ([scope, providedSecrets]) => this.handlerAsUtility().getPendingTaggedLogsV2(scope, providedSecrets),
|
|
610
|
+
});
|
|
787
611
|
}
|
|
788
612
|
|
|
789
613
|
// eslint-disable-next-line camelcase
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
802
|
-
|
|
803
|
-
await this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEventsV2(
|
|
804
|
-
noteValidationRequestsArrayBaseSlot,
|
|
805
|
-
eventValidationRequestsArrayBaseSlot,
|
|
806
|
-
maxNotePackedLen,
|
|
807
|
-
maxEventSerializedLen,
|
|
808
|
-
scope,
|
|
809
|
-
);
|
|
810
|
-
|
|
811
|
-
return toForeignCallResult([]);
|
|
614
|
+
aztec_utl_validateAndStoreEnqueuedNotesAndEvents(...inputs: ForeignCallArgs) {
|
|
615
|
+
return callTxeHandler({
|
|
616
|
+
oracle: 'aztec_utl_validateAndStoreEnqueuedNotesAndEvents',
|
|
617
|
+
inputs,
|
|
618
|
+
handler: ([noteValidationRequests, eventValidationRequests, scope]) =>
|
|
619
|
+
this.handlerAsUtility().validateAndStoreEnqueuedNotesAndEvents(
|
|
620
|
+
noteValidationRequests,
|
|
621
|
+
eventValidationRequests,
|
|
622
|
+
scope,
|
|
623
|
+
),
|
|
624
|
+
});
|
|
812
625
|
}
|
|
813
626
|
|
|
814
627
|
// eslint-disable-next-line camelcase
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
|
|
822
|
-
const logRetrievalRequestsArrayBaseSlot = fromSingle(foreignLogRetrievalRequestsArrayBaseSlot);
|
|
823
|
-
const logRetrievalResponsesArrayBaseSlot = fromSingle(foreignLogRetrievalResponsesArrayBaseSlot);
|
|
824
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
825
|
-
|
|
826
|
-
await this.handlerAsUtility().getLogsByTag(
|
|
827
|
-
contractAddress,
|
|
828
|
-
logRetrievalRequestsArrayBaseSlot,
|
|
829
|
-
logRetrievalResponsesArrayBaseSlot,
|
|
830
|
-
scope,
|
|
831
|
-
);
|
|
832
|
-
|
|
833
|
-
return toForeignCallResult([]);
|
|
628
|
+
aztec_utl_getLogsByTagV2(...inputs: ForeignCallArgs) {
|
|
629
|
+
return callTxeHandler({
|
|
630
|
+
oracle: 'aztec_utl_getLogsByTagV2',
|
|
631
|
+
inputs,
|
|
632
|
+
handler: ([requestArrayBaseSlot]) => this.handlerAsUtility().getLogsByTagV2(requestArrayBaseSlot),
|
|
633
|
+
});
|
|
834
634
|
}
|
|
835
635
|
|
|
836
636
|
// eslint-disable-next-line camelcase
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
const messageContextRequestsArrayBaseSlot = fromSingle(foreignMessageContextRequestsArrayBaseSlot);
|
|
845
|
-
const messageContextResponsesArrayBaseSlot = fromSingle(foreignMessageContextResponsesArrayBaseSlot);
|
|
846
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
637
|
+
aztec_utl_getResolvedTxs(...inputs: ForeignCallArgs) {
|
|
638
|
+
return callTxeHandler({
|
|
639
|
+
oracle: 'aztec_utl_getResolvedTxs',
|
|
640
|
+
inputs,
|
|
641
|
+
handler: ([requestArrayBaseSlot]) => this.handlerAsUtility().getResolvedTxs(requestArrayBaseSlot),
|
|
642
|
+
});
|
|
643
|
+
}
|
|
847
644
|
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
}
|
|
857
|
-
|
|
858
|
-
// eslint-disable-next-line camelcase
|
|
859
|
-
async aztec_utl_getLogsByTag_v2(foreignRequestArrayBaseSlot: ForeignCallSingle) {
|
|
860
|
-
const requestArrayBaseSlot = fromSingle(foreignRequestArrayBaseSlot);
|
|
861
|
-
const responseSlot = await this.handlerAsUtility().getLogsByTagV2(requestArrayBaseSlot);
|
|
862
|
-
return toForeignCallResult([toSingle(responseSlot)]);
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
// eslint-disable-next-line camelcase
|
|
866
|
-
async aztec_utl_getMessageContextsByTxHash_v2(foreignRequestArrayBaseSlot: ForeignCallSingle) {
|
|
867
|
-
const requestArrayBaseSlot = fromSingle(foreignRequestArrayBaseSlot);
|
|
868
|
-
const responseSlot = await this.handlerAsUtility().getMessageContextsByTxHashV2(requestArrayBaseSlot);
|
|
869
|
-
return toForeignCallResult([toSingle(responseSlot)]);
|
|
870
|
-
}
|
|
871
|
-
|
|
872
|
-
// eslint-disable-next-line camelcase
|
|
873
|
-
aztec_utl_setCapsule(
|
|
874
|
-
foreignContractAddress: ForeignCallSingle,
|
|
875
|
-
foreignSlot: ForeignCallSingle,
|
|
876
|
-
foreignCapsule: ForeignCallArray,
|
|
877
|
-
foreignScope: ForeignCallSingle,
|
|
878
|
-
) {
|
|
879
|
-
const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
|
|
880
|
-
const slot = fromSingle(foreignSlot);
|
|
881
|
-
const capsule = fromArray(foreignCapsule);
|
|
882
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
645
|
+
// eslint-disable-next-line camelcase
|
|
646
|
+
aztec_utl_getTxEffects(...inputs: ForeignCallArgs) {
|
|
647
|
+
return callTxeHandler({
|
|
648
|
+
oracle: 'aztec_utl_getTxEffects',
|
|
649
|
+
inputs,
|
|
650
|
+
handler: ([txHashes]) => this.handlerAsUtility().getTxEffects(txHashes),
|
|
651
|
+
});
|
|
652
|
+
}
|
|
883
653
|
|
|
884
|
-
|
|
654
|
+
// eslint-disable-next-line camelcase
|
|
655
|
+
aztec_utl_setCapsule(...inputs: ForeignCallArgs) {
|
|
656
|
+
return callTxeHandler({
|
|
657
|
+
oracle: 'aztec_utl_setCapsule',
|
|
658
|
+
inputs,
|
|
659
|
+
handler: ([contractAddress, slot, capsule, scope]) =>
|
|
660
|
+
this.handlerAsUtility().setCapsule(contractAddress, slot, capsule, scope),
|
|
661
|
+
});
|
|
662
|
+
}
|
|
885
663
|
|
|
886
|
-
|
|
664
|
+
// eslint-disable-next-line camelcase
|
|
665
|
+
aztec_utl_getCapsule(...inputs: ForeignCallArgs) {
|
|
666
|
+
return callTxeHandler({
|
|
667
|
+
oracle: 'aztec_utl_getCapsule',
|
|
668
|
+
inputs,
|
|
669
|
+
handler: ([contractAddress, slot, tSize, scope]) =>
|
|
670
|
+
this.handlerAsUtility().getCapsule(contractAddress, slot, tSize, scope),
|
|
671
|
+
});
|
|
887
672
|
}
|
|
888
673
|
|
|
889
|
-
// eslint-disable-next-line camelcase
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
const slot = fromSingle(foreignSlot);
|
|
898
|
-
const tSize = fromSingle(foreignTSize).toNumber();
|
|
899
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
674
|
+
// eslint-disable-next-line camelcase
|
|
675
|
+
aztec_utl_deleteCapsule(...inputs: ForeignCallArgs) {
|
|
676
|
+
return callTxeHandler({
|
|
677
|
+
oracle: 'aztec_utl_deleteCapsule',
|
|
678
|
+
inputs,
|
|
679
|
+
handler: ([contractAddress, slot, scope]) => this.handlerAsUtility().deleteCapsule(contractAddress, slot, scope),
|
|
680
|
+
});
|
|
681
|
+
}
|
|
900
682
|
|
|
901
|
-
|
|
683
|
+
// eslint-disable-next-line camelcase
|
|
684
|
+
aztec_utl_copyCapsule(...inputs: ForeignCallArgs) {
|
|
685
|
+
return callTxeHandler({
|
|
686
|
+
oracle: 'aztec_utl_copyCapsule',
|
|
687
|
+
inputs,
|
|
688
|
+
handler: ([contractAddress, srcSlot, dstSlot, numEntries, scope]) =>
|
|
689
|
+
this.handlerAsUtility().copyCapsule(contractAddress, srcSlot, dstSlot, numEntries, scope),
|
|
690
|
+
});
|
|
691
|
+
}
|
|
902
692
|
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
return toForeignCallResult([toSingle(new Fr(1)), toArray(values)]);
|
|
911
|
-
}
|
|
693
|
+
// eslint-disable-next-line camelcase
|
|
694
|
+
aztec_utl_pushEphemeral(...inputs: ForeignCallArgs) {
|
|
695
|
+
return callTxeHandler({
|
|
696
|
+
oracle: 'aztec_utl_pushEphemeral',
|
|
697
|
+
inputs,
|
|
698
|
+
handler: ([slot, elements]) => this.handlerAsUtility().pushEphemeral(slot, elements),
|
|
699
|
+
});
|
|
912
700
|
}
|
|
913
701
|
|
|
914
702
|
// eslint-disable-next-line camelcase
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
703
|
+
aztec_utl_popEphemeral(...inputs: ForeignCallArgs) {
|
|
704
|
+
return callTxeHandler({
|
|
705
|
+
oracle: 'aztec_utl_popEphemeral',
|
|
706
|
+
inputs,
|
|
707
|
+
handler: ([slot]) => this.handlerAsUtility().popEphemeral(slot),
|
|
708
|
+
});
|
|
709
|
+
}
|
|
923
710
|
|
|
924
|
-
|
|
711
|
+
// eslint-disable-next-line camelcase
|
|
712
|
+
aztec_utl_getEphemeral(...inputs: ForeignCallArgs) {
|
|
713
|
+
return callTxeHandler({
|
|
714
|
+
oracle: 'aztec_utl_getEphemeral',
|
|
715
|
+
inputs,
|
|
716
|
+
handler: ([slot, index]) => this.handlerAsUtility().getEphemeral(slot, index),
|
|
717
|
+
});
|
|
718
|
+
}
|
|
925
719
|
|
|
926
|
-
|
|
720
|
+
// eslint-disable-next-line camelcase
|
|
721
|
+
aztec_utl_setEphemeral(...inputs: ForeignCallArgs) {
|
|
722
|
+
return callTxeHandler({
|
|
723
|
+
oracle: 'aztec_utl_setEphemeral',
|
|
724
|
+
inputs,
|
|
725
|
+
handler: ([slot, index, elements]) => this.handlerAsUtility().setEphemeral(slot, index, elements),
|
|
726
|
+
});
|
|
927
727
|
}
|
|
928
728
|
|
|
929
729
|
// eslint-disable-next-line camelcase
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
|
|
938
|
-
const srcSlot = fromSingle(foreignSrcSlot);
|
|
939
|
-
const dstSlot = fromSingle(foreignDstSlot);
|
|
940
|
-
const numEntries = fromSingle(foreignNumEntries).toNumber();
|
|
941
|
-
const scope = AztecAddress.fromField(fromSingle(foreignScope));
|
|
730
|
+
aztec_utl_getEphemeralLen(...inputs: ForeignCallArgs) {
|
|
731
|
+
return callTxeHandler({
|
|
732
|
+
oracle: 'aztec_utl_getEphemeralLen',
|
|
733
|
+
inputs,
|
|
734
|
+
handler: ([slot]) => this.handlerAsUtility().getEphemeralLen(slot),
|
|
735
|
+
});
|
|
736
|
+
}
|
|
942
737
|
|
|
943
|
-
|
|
738
|
+
// eslint-disable-next-line camelcase
|
|
739
|
+
aztec_utl_removeEphemeral(...inputs: ForeignCallArgs) {
|
|
740
|
+
return callTxeHandler({
|
|
741
|
+
oracle: 'aztec_utl_removeEphemeral',
|
|
742
|
+
inputs,
|
|
743
|
+
handler: ([slot, index]) => this.handlerAsUtility().removeEphemeral(slot, index),
|
|
744
|
+
});
|
|
745
|
+
}
|
|
944
746
|
|
|
945
|
-
|
|
747
|
+
// eslint-disable-next-line camelcase
|
|
748
|
+
aztec_utl_clearEphemeral(...inputs: ForeignCallArgs) {
|
|
749
|
+
return callTxeHandler({
|
|
750
|
+
oracle: 'aztec_utl_clearEphemeral',
|
|
751
|
+
inputs,
|
|
752
|
+
handler: ([slot]) => this.handlerAsUtility().clearEphemeral(slot),
|
|
753
|
+
});
|
|
946
754
|
}
|
|
947
755
|
|
|
948
756
|
// eslint-disable-next-line camelcase
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
757
|
+
aztec_utl_pushTransient(...inputs: ForeignCallArgs) {
|
|
758
|
+
return callTxeHandler({
|
|
759
|
+
oracle: 'aztec_utl_pushTransient',
|
|
760
|
+
inputs,
|
|
761
|
+
handler: ([slot, elements]) => this.handlerAsUtility().pushTransient(slot, elements),
|
|
762
|
+
});
|
|
954
763
|
}
|
|
955
764
|
|
|
956
765
|
// eslint-disable-next-line camelcase
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
766
|
+
aztec_utl_popTransient(...inputs: ForeignCallArgs) {
|
|
767
|
+
return callTxeHandler({
|
|
768
|
+
oracle: 'aztec_utl_popTransient',
|
|
769
|
+
inputs,
|
|
770
|
+
handler: ([slot]) => this.handlerAsUtility().popTransient(slot),
|
|
771
|
+
});
|
|
961
772
|
}
|
|
962
773
|
|
|
963
774
|
// eslint-disable-next-line camelcase
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
775
|
+
aztec_utl_getTransient(...inputs: ForeignCallArgs) {
|
|
776
|
+
return callTxeHandler({
|
|
777
|
+
oracle: 'aztec_utl_getTransient',
|
|
778
|
+
inputs,
|
|
779
|
+
handler: ([slot, index]) => this.handlerAsUtility().getTransient(slot, index),
|
|
780
|
+
});
|
|
969
781
|
}
|
|
970
782
|
|
|
971
783
|
// eslint-disable-next-line camelcase
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
const index = fromSingle(foreignIndex).toNumber();
|
|
979
|
-
const elements = fromArray(foreignElements);
|
|
980
|
-
this.handlerAsUtility().setEphemeral(slot, index, elements);
|
|
981
|
-
return toForeignCallResult([]);
|
|
784
|
+
aztec_utl_setTransient(...inputs: ForeignCallArgs) {
|
|
785
|
+
return callTxeHandler({
|
|
786
|
+
oracle: 'aztec_utl_setTransient',
|
|
787
|
+
inputs,
|
|
788
|
+
handler: ([slot, index, elements]) => this.handlerAsUtility().setTransient(slot, index, elements),
|
|
789
|
+
});
|
|
982
790
|
}
|
|
983
791
|
|
|
984
792
|
// eslint-disable-next-line camelcase
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
793
|
+
aztec_utl_getTransientLen(...inputs: ForeignCallArgs) {
|
|
794
|
+
return callTxeHandler({
|
|
795
|
+
oracle: 'aztec_utl_getTransientLen',
|
|
796
|
+
inputs,
|
|
797
|
+
handler: ([slot]) => this.handlerAsUtility().getTransientLen(slot),
|
|
798
|
+
});
|
|
989
799
|
}
|
|
990
800
|
|
|
991
801
|
// eslint-disable-next-line camelcase
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
802
|
+
aztec_utl_removeTransient(...inputs: ForeignCallArgs) {
|
|
803
|
+
return callTxeHandler({
|
|
804
|
+
oracle: 'aztec_utl_removeTransient',
|
|
805
|
+
inputs,
|
|
806
|
+
handler: ([slot, index]) => this.handlerAsUtility().removeTransient(slot, index),
|
|
807
|
+
});
|
|
997
808
|
}
|
|
998
809
|
|
|
999
810
|
// eslint-disable-next-line camelcase
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
811
|
+
aztec_utl_clearTransient(...inputs: ForeignCallArgs) {
|
|
812
|
+
return callTxeHandler({
|
|
813
|
+
oracle: 'aztec_utl_clearTransient',
|
|
814
|
+
inputs,
|
|
815
|
+
handler: ([slot]) => this.handlerAsUtility().clearTransient(slot),
|
|
816
|
+
});
|
|
1004
817
|
}
|
|
1005
818
|
|
|
1006
819
|
// TODO: I forgot to add a corresponding function here, when I introduced an oracle method to txe_oracle.ts.
|
|
@@ -1008,365 +821,399 @@ export class RPCTranslator {
|
|
|
1008
821
|
// to implement this function here. Isn't there a way to programmatically identify that this is missing, given the
|
|
1009
822
|
// existence of a txe_oracle method?
|
|
1010
823
|
// eslint-disable-next-line camelcase
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
const ciphertext = fromUintBoundedVec(foreignCiphertextBVecStorage, foreignCiphertextLength, 8);
|
|
1018
|
-
const iv = fromUintArray(foreignIv, 8);
|
|
1019
|
-
const symKey = fromUintArray(foreignSymKey, 8);
|
|
1020
|
-
|
|
1021
|
-
// Noir Option<BoundedVec> is encoded as [is_some: Field, storage: Field[], length: Field].
|
|
1022
|
-
try {
|
|
1023
|
-
const plaintextBuffer = await this.handlerAsUtility().decryptAes128(ciphertext, iv, symKey);
|
|
1024
|
-
const [storage, length] = arrayToBoundedVec(
|
|
1025
|
-
bufferToU8Array(plaintextBuffer),
|
|
1026
|
-
foreignCiphertextBVecStorage.length,
|
|
1027
|
-
);
|
|
1028
|
-
return toForeignCallResult([toSingle(new Fr(1)), storage, length]);
|
|
1029
|
-
} catch {
|
|
1030
|
-
const zeroStorage = toArray(Array(foreignCiphertextBVecStorage.length).fill(new Fr(0)));
|
|
1031
|
-
return toForeignCallResult([toSingle(new Fr(0)), zeroStorage, toSingle(new Fr(0))]);
|
|
1032
|
-
}
|
|
824
|
+
aztec_utl_decryptAes128(...inputs: ForeignCallArgs) {
|
|
825
|
+
return callTxeHandler({
|
|
826
|
+
oracle: 'aztec_utl_decryptAes128',
|
|
827
|
+
inputs,
|
|
828
|
+
handler: ([ciphertext, iv, symKey]) => this.handlerAsUtility().decryptAes128(ciphertext, iv, symKey),
|
|
829
|
+
});
|
|
1033
830
|
}
|
|
1034
831
|
|
|
1035
832
|
// eslint-disable-next-line camelcase
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
const address = AztecAddress.fromField(fromSingle(foreignAddress));
|
|
1044
|
-
const ephPK = Point.fromFields([
|
|
1045
|
-
fromSingle(foreignEphPKField0),
|
|
1046
|
-
fromSingle(foreignEphPKField1),
|
|
1047
|
-
fromSingle(foreignEphPKField2),
|
|
1048
|
-
]);
|
|
1049
|
-
const contractAddress = AztecAddress.fromField(fromSingle(foreignContractAddress));
|
|
1050
|
-
|
|
1051
|
-
const secret = await this.handlerAsUtility().getSharedSecret(address, ephPK, contractAddress);
|
|
1052
|
-
|
|
1053
|
-
return toForeignCallResult([toSingle(secret)]);
|
|
833
|
+
aztec_utl_getSharedSecrets(...inputs: ForeignCallArgs) {
|
|
834
|
+
return callTxeHandler({
|
|
835
|
+
oracle: 'aztec_utl_getSharedSecrets',
|
|
836
|
+
inputs,
|
|
837
|
+
handler: ([address, ephPksSlot, contractAddress]) =>
|
|
838
|
+
this.handlerAsUtility().getSharedSecrets(address, ephPksSlot, contractAddress),
|
|
839
|
+
});
|
|
1054
840
|
}
|
|
1055
841
|
|
|
1056
842
|
// eslint-disable-next-line camelcase
|
|
1057
|
-
aztec_utl_setContractSyncCacheInvalid(
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
const scopes = fromArray(foreignScopes)
|
|
1065
|
-
.slice(0, count)
|
|
1066
|
-
.map(f => new AztecAddress(f));
|
|
1067
|
-
|
|
1068
|
-
this.handlerAsUtility().setContractSyncCacheInvalid(contractAddress, scopes);
|
|
1069
|
-
|
|
1070
|
-
return Promise.resolve(toForeignCallResult([]));
|
|
843
|
+
aztec_utl_setContractSyncCacheInvalid(...inputs: ForeignCallArgs) {
|
|
844
|
+
return callTxeHandler({
|
|
845
|
+
oracle: 'aztec_utl_setContractSyncCacheInvalid',
|
|
846
|
+
inputs,
|
|
847
|
+
handler: ([contractAddress, scopes]) =>
|
|
848
|
+
this.handlerAsUtility().setContractSyncCacheInvalid(contractAddress, scopes),
|
|
849
|
+
});
|
|
1071
850
|
}
|
|
1072
851
|
|
|
1073
852
|
// eslint-disable-next-line camelcase
|
|
1074
|
-
aztec_utl_emitOffchainEffect(
|
|
1075
|
-
|
|
853
|
+
aztec_utl_emitOffchainEffect(...inputs: ForeignCallArgs) {
|
|
854
|
+
return callTxeHandler({
|
|
855
|
+
oracle: 'aztec_utl_emitOffchainEffect',
|
|
856
|
+
inputs,
|
|
857
|
+
handler: ([data]) => {
|
|
858
|
+
// Record the raw payload against the currently-executing top-level call. The Noir side
|
|
859
|
+
// (via `env.offchain_messages()`) is responsible for decoding the protocol-reserved prefix
|
|
860
|
+
// (`OFFCHAIN_MESSAGE_IDENTIFIER`, recipient) and turning each payload into an `OffchainMessage` struct suitable
|
|
861
|
+
// for `offchain_receive`.
|
|
862
|
+
this.stateHandler.recordOffchainEffect(data);
|
|
863
|
+
},
|
|
864
|
+
});
|
|
1076
865
|
}
|
|
1077
866
|
|
|
1078
|
-
// AVM opcodes
|
|
1079
|
-
|
|
1080
867
|
// eslint-disable-next-line camelcase
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
868
|
+
aztec_utl_recordFact(...inputs: ForeignCallArgs) {
|
|
869
|
+
return callTxeHandler({
|
|
870
|
+
oracle: 'aztec_utl_recordFact',
|
|
871
|
+
inputs,
|
|
872
|
+
handler: ([contractAddress, scope, factCollectionTypeId, factCollectionId, factTypeId, payload, originBlock]) =>
|
|
873
|
+
this.handlerAsUtility().recordFact(
|
|
874
|
+
contractAddress,
|
|
875
|
+
scope,
|
|
876
|
+
factCollectionTypeId,
|
|
877
|
+
factCollectionId,
|
|
878
|
+
factTypeId,
|
|
879
|
+
payload,
|
|
880
|
+
originBlock,
|
|
881
|
+
),
|
|
882
|
+
});
|
|
1084
883
|
}
|
|
1085
884
|
|
|
1086
885
|
// eslint-disable-next-line camelcase
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
886
|
+
aztec_utl_deleteFactCollection(...inputs: ForeignCallArgs) {
|
|
887
|
+
return callTxeHandler({
|
|
888
|
+
oracle: 'aztec_utl_deleteFactCollection',
|
|
889
|
+
inputs,
|
|
890
|
+
handler: ([contractAddress, scope, factCollectionTypeId, factCollectionId]) =>
|
|
891
|
+
this.handlerAsUtility().deleteFactCollection(contractAddress, scope, factCollectionTypeId, factCollectionId),
|
|
892
|
+
});
|
|
1094
893
|
}
|
|
1095
894
|
|
|
1096
895
|
// eslint-disable-next-line camelcase
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
896
|
+
aztec_utl_getFactCollection(...inputs: ForeignCallArgs) {
|
|
897
|
+
return callTxeHandler({
|
|
898
|
+
oracle: 'aztec_utl_getFactCollection',
|
|
899
|
+
inputs,
|
|
900
|
+
handler: ([contractAddress, scope, factCollectionTypeId, factCollectionId]) =>
|
|
901
|
+
this.handlerAsUtility().getFactCollection(contractAddress, scope, factCollectionTypeId, factCollectionId),
|
|
902
|
+
});
|
|
1104
903
|
}
|
|
1105
904
|
|
|
1106
905
|
// eslint-disable-next-line camelcase
|
|
1107
|
-
|
|
1108
|
-
|
|
906
|
+
aztec_utl_getFactCollectionsByType(...inputs: ForeignCallArgs) {
|
|
907
|
+
return callTxeHandler({
|
|
908
|
+
oracle: 'aztec_utl_getFactCollectionsByType',
|
|
909
|
+
inputs,
|
|
910
|
+
handler: ([contractAddress, scope, factCollectionTypeId]) =>
|
|
911
|
+
this.handlerAsUtility().getFactCollectionsByType(contractAddress, scope, factCollectionTypeId),
|
|
912
|
+
});
|
|
913
|
+
}
|
|
1109
914
|
|
|
1110
|
-
|
|
915
|
+
// AVM opcodes
|
|
1111
916
|
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
917
|
+
// eslint-disable-next-line camelcase
|
|
918
|
+
aztec_avm_emitPublicLog() {
|
|
919
|
+
return callTxeHandler({
|
|
920
|
+
oracle: 'aztec_avm_emitPublicLog',
|
|
921
|
+
inputs: [],
|
|
922
|
+
// TODO(#8811): Implement
|
|
923
|
+
handler: () => {},
|
|
924
|
+
});
|
|
1117
925
|
}
|
|
1118
926
|
|
|
1119
927
|
// eslint-disable-next-line camelcase
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
toSingle(instance.currentContractClassId),
|
|
1127
|
-
// AVM requires an extra boolean indicating the instance was found
|
|
1128
|
-
toSingle(new Fr(1)),
|
|
1129
|
-
]);
|
|
928
|
+
aztec_avm_storageRead(...inputs: ForeignCallArgs) {
|
|
929
|
+
return callTxeHandler({
|
|
930
|
+
oracle: 'aztec_avm_storageRead',
|
|
931
|
+
inputs,
|
|
932
|
+
handler: ([slot, contractAddress]) => this.handlerAsAvm().storageRead(slot, contractAddress),
|
|
933
|
+
});
|
|
1130
934
|
}
|
|
1131
935
|
|
|
1132
936
|
// eslint-disable-next-line camelcase
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
toSingle(instance.initializationHash),
|
|
1140
|
-
// AVM requires an extra boolean indicating the instance was found
|
|
1141
|
-
toSingle(new Fr(1)),
|
|
1142
|
-
]);
|
|
937
|
+
aztec_avm_storageWrite(...inputs: ForeignCallArgs) {
|
|
938
|
+
return callTxeHandler({
|
|
939
|
+
oracle: 'aztec_avm_storageWrite',
|
|
940
|
+
inputs,
|
|
941
|
+
handler: ([slot, value]) => this.handlerAsAvm().storageWrite(slot, value),
|
|
942
|
+
});
|
|
1143
943
|
}
|
|
1144
944
|
|
|
1145
945
|
// eslint-disable-next-line camelcase
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
946
|
+
aztec_avm_getContractInstanceDeployer(...inputs: ForeignCallArgs) {
|
|
947
|
+
return callTxeHandler({
|
|
948
|
+
oracle: 'aztec_avm_getContractInstanceDeployer',
|
|
949
|
+
inputs,
|
|
950
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceDeployer(address),
|
|
951
|
+
});
|
|
1150
952
|
}
|
|
1151
953
|
|
|
1152
954
|
// eslint-disable-next-line camelcase
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
955
|
+
aztec_avm_getContractInstanceClassId(...inputs: ForeignCallArgs) {
|
|
956
|
+
return callTxeHandler({
|
|
957
|
+
oracle: 'aztec_avm_getContractInstanceClassId',
|
|
958
|
+
inputs,
|
|
959
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceClassId(address),
|
|
960
|
+
});
|
|
1159
961
|
}
|
|
1160
962
|
|
|
1161
963
|
// eslint-disable-next-line camelcase
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
964
|
+
aztec_avm_getContractInstanceInitializationHash(...inputs: ForeignCallArgs) {
|
|
965
|
+
return callTxeHandler({
|
|
966
|
+
oracle: 'aztec_avm_getContractInstanceInitializationHash',
|
|
967
|
+
inputs,
|
|
968
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceInitializationHash(address),
|
|
969
|
+
});
|
|
1168
970
|
}
|
|
1169
971
|
|
|
1170
972
|
// eslint-disable-next-line camelcase
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
973
|
+
aztec_avm_getContractInstanceImmutablesHash(...inputs: ForeignCallArgs) {
|
|
974
|
+
return callTxeHandler({
|
|
975
|
+
oracle: 'aztec_avm_getContractInstanceImmutablesHash',
|
|
976
|
+
inputs,
|
|
977
|
+
handler: ([address]) => this.handlerAsAvm().getContractInstanceImmutablesHash(address),
|
|
978
|
+
});
|
|
1177
979
|
}
|
|
1178
980
|
|
|
1179
981
|
// eslint-disable-next-line camelcase
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
982
|
+
aztec_avm_sender() {
|
|
983
|
+
return callTxeHandler({
|
|
984
|
+
oracle: 'aztec_avm_sender',
|
|
985
|
+
inputs: [],
|
|
986
|
+
handler: () => this.handlerAsAvm().sender(),
|
|
987
|
+
});
|
|
1184
988
|
}
|
|
1185
989
|
|
|
1186
990
|
// eslint-disable-next-line camelcase
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
991
|
+
aztec_avm_emitNullifier(...inputs: ForeignCallArgs) {
|
|
992
|
+
return callTxeHandler({
|
|
993
|
+
oracle: 'aztec_avm_emitNullifier',
|
|
994
|
+
inputs,
|
|
995
|
+
handler: ([nullifier]) => this.handlerAsAvm().emitNullifier(nullifier),
|
|
996
|
+
});
|
|
1191
997
|
}
|
|
1192
998
|
|
|
1193
999
|
// eslint-disable-next-line camelcase
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1000
|
+
aztec_avm_emitNoteHash(...inputs: ForeignCallArgs) {
|
|
1001
|
+
return callTxeHandler({
|
|
1002
|
+
oracle: 'aztec_avm_emitNoteHash',
|
|
1003
|
+
inputs,
|
|
1004
|
+
handler: ([noteHash]) => this.handlerAsAvm().emitNoteHash(noteHash),
|
|
1005
|
+
});
|
|
1198
1006
|
}
|
|
1199
1007
|
|
|
1200
1008
|
// eslint-disable-next-line camelcase
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1009
|
+
aztec_avm_nullifierExists(...inputs: ForeignCallArgs) {
|
|
1010
|
+
return callTxeHandler({
|
|
1011
|
+
oracle: 'aztec_avm_nullifierExists',
|
|
1012
|
+
inputs,
|
|
1013
|
+
handler: ([siloedNullifier]) => this.handlerAsAvm().nullifierExists(siloedNullifier),
|
|
1014
|
+
});
|
|
1205
1015
|
}
|
|
1206
1016
|
|
|
1207
1017
|
// eslint-disable-next-line camelcase
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1018
|
+
aztec_avm_address() {
|
|
1019
|
+
return callTxeHandler({
|
|
1020
|
+
oracle: 'aztec_avm_address',
|
|
1021
|
+
inputs: [],
|
|
1022
|
+
handler: () => this.handlerAsAvm().address(),
|
|
1023
|
+
});
|
|
1212
1024
|
}
|
|
1213
1025
|
|
|
1214
1026
|
// eslint-disable-next-line camelcase
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1027
|
+
aztec_avm_blockNumber() {
|
|
1028
|
+
return callTxeHandler({
|
|
1029
|
+
oracle: 'aztec_avm_blockNumber',
|
|
1030
|
+
inputs: [],
|
|
1031
|
+
handler: () => this.handlerAsAvm().blockNumber(),
|
|
1032
|
+
});
|
|
1219
1033
|
}
|
|
1220
1034
|
|
|
1221
1035
|
// eslint-disable-next-line camelcase
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1036
|
+
aztec_avm_timestamp() {
|
|
1037
|
+
return callTxeHandler({
|
|
1038
|
+
oracle: 'aztec_avm_timestamp',
|
|
1039
|
+
inputs: [],
|
|
1040
|
+
handler: () => this.handlerAsAvm().timestamp(),
|
|
1041
|
+
});
|
|
1226
1042
|
}
|
|
1227
1043
|
|
|
1228
1044
|
// eslint-disable-next-line camelcase
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1045
|
+
aztec_avm_isStaticCall() {
|
|
1046
|
+
return callTxeHandler({
|
|
1047
|
+
oracle: 'aztec_avm_isStaticCall',
|
|
1048
|
+
inputs: [],
|
|
1049
|
+
handler: () => this.handlerAsAvm().isStaticCall(),
|
|
1050
|
+
});
|
|
1233
1051
|
}
|
|
1234
1052
|
|
|
1235
1053
|
// eslint-disable-next-line camelcase
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
) {
|
|
1243
|
-
throw new Error(
|
|
1244
|
-
'Contract calls are forbidden inside a `TestEnvironment::public_context`, use `public_call` instead',
|
|
1245
|
-
);
|
|
1054
|
+
aztec_avm_chainId() {
|
|
1055
|
+
return callTxeHandler({
|
|
1056
|
+
oracle: 'aztec_avm_chainId',
|
|
1057
|
+
inputs: [],
|
|
1058
|
+
handler: () => this.handlerAsAvm().chainId(),
|
|
1059
|
+
});
|
|
1246
1060
|
}
|
|
1247
1061
|
|
|
1248
1062
|
// eslint-disable-next-line camelcase
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
) {
|
|
1256
|
-
throw new Error(
|
|
1257
|
-
'Contract calls are forbidden inside a `TestEnvironment::public_context`, use `public_call` instead',
|
|
1258
|
-
);
|
|
1063
|
+
aztec_avm_version() {
|
|
1064
|
+
return callTxeHandler({
|
|
1065
|
+
oracle: 'aztec_avm_version',
|
|
1066
|
+
inputs: [],
|
|
1067
|
+
handler: () => this.handlerAsAvm().version(),
|
|
1068
|
+
});
|
|
1259
1069
|
}
|
|
1260
1070
|
|
|
1261
1071
|
// eslint-disable-next-line camelcase
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
// eslint-disable-next-line camelcase
|
|
1269
|
-
async aztec_txe_privateCallNewFlow(
|
|
1270
|
-
foreignFrom: ForeignCallSingle,
|
|
1271
|
-
foreignTargetContractAddress: ForeignCallSingle,
|
|
1272
|
-
foreignFunctionSelector: ForeignCallSingle,
|
|
1273
|
-
foreignArgs: ForeignCallArray,
|
|
1274
|
-
foreignArgsHash: ForeignCallSingle,
|
|
1275
|
-
foreignIsStaticCall: ForeignCallSingle,
|
|
1276
|
-
) {
|
|
1277
|
-
const from = addressFromSingle(foreignFrom);
|
|
1278
|
-
const targetContractAddress = addressFromSingle(foreignTargetContractAddress);
|
|
1279
|
-
const functionSelector = FunctionSelector.fromField(fromSingle(foreignFunctionSelector));
|
|
1280
|
-
const args = fromArray(foreignArgs);
|
|
1281
|
-
const argsHash = fromSingle(foreignArgsHash);
|
|
1282
|
-
const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
|
|
1283
|
-
|
|
1284
|
-
const returnValues = await this.handlerAsTxe().privateCallNewFlow(
|
|
1285
|
-
from,
|
|
1286
|
-
targetContractAddress,
|
|
1287
|
-
functionSelector,
|
|
1288
|
-
args,
|
|
1289
|
-
argsHash,
|
|
1290
|
-
isStaticCall,
|
|
1291
|
-
this.stateHandler.getCurrentJob(),
|
|
1292
|
-
);
|
|
1293
|
-
|
|
1294
|
-
// TODO(F-335): Avoid doing the following call here.
|
|
1295
|
-
await this.stateHandler.cycleJob();
|
|
1296
|
-
return toForeignCallResult([toArray(returnValues)]);
|
|
1297
|
-
}
|
|
1298
|
-
|
|
1299
|
-
// eslint-disable-next-line camelcase
|
|
1300
|
-
async aztec_txe_executeUtilityFunction(
|
|
1301
|
-
foreignTargetContractAddress: ForeignCallSingle,
|
|
1302
|
-
foreignFunctionSelector: ForeignCallSingle,
|
|
1303
|
-
foreignArgs: ForeignCallArray,
|
|
1304
|
-
) {
|
|
1305
|
-
const targetContractAddress = addressFromSingle(foreignTargetContractAddress);
|
|
1306
|
-
const functionSelector = FunctionSelector.fromField(fromSingle(foreignFunctionSelector));
|
|
1307
|
-
const args = fromArray(foreignArgs);
|
|
1308
|
-
|
|
1309
|
-
const returnValues = await this.handlerAsTxe().executeUtilityFunction(
|
|
1310
|
-
targetContractAddress,
|
|
1311
|
-
functionSelector,
|
|
1312
|
-
args,
|
|
1313
|
-
this.stateHandler.getCurrentJob(),
|
|
1314
|
-
);
|
|
1315
|
-
|
|
1316
|
-
// TODO(F-335): Avoid doing the following call here.
|
|
1317
|
-
await this.stateHandler.cycleJob();
|
|
1318
|
-
return toForeignCallResult([toArray(returnValues)]);
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
// eslint-disable-next-line camelcase
|
|
1322
|
-
async aztec_txe_publicCallNewFlow(
|
|
1323
|
-
foreignFrom: ForeignCallSingle,
|
|
1324
|
-
foreignAddress: ForeignCallSingle,
|
|
1325
|
-
foreignCalldata: ForeignCallArray,
|
|
1326
|
-
foreignIsStaticCall: ForeignCallSingle,
|
|
1327
|
-
) {
|
|
1328
|
-
const from = addressFromSingle(foreignFrom);
|
|
1329
|
-
const address = addressFromSingle(foreignAddress);
|
|
1330
|
-
const calldata = fromArray(foreignCalldata);
|
|
1331
|
-
const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
|
|
1332
|
-
|
|
1333
|
-
const returnValues = await this.handlerAsTxe().publicCallNewFlow(from, address, calldata, isStaticCall);
|
|
1334
|
-
|
|
1335
|
-
// TODO(F-335): Avoid doing the following call here.
|
|
1336
|
-
await this.stateHandler.cycleJob();
|
|
1337
|
-
return toForeignCallResult([toArray(returnValues)]);
|
|
1338
|
-
}
|
|
1339
|
-
|
|
1340
|
-
// eslint-disable-next-line camelcase
|
|
1341
|
-
async aztec_prv_getSenderForTags() {
|
|
1342
|
-
const sender = await this.handlerAsPrivate().getSenderForTags();
|
|
1343
|
-
|
|
1344
|
-
// Return a Noir Option struct with `some` and `value` fields
|
|
1345
|
-
if (sender === undefined) {
|
|
1346
|
-
// No sender found, return Option with some=0 and value=0
|
|
1347
|
-
return toForeignCallResult([toSingle(0), toSingle(0)]);
|
|
1348
|
-
} else {
|
|
1349
|
-
// Sender found, return Option with some=1 and value=sender address
|
|
1350
|
-
return toForeignCallResult([toSingle(1), toSingle(sender)]);
|
|
1351
|
-
}
|
|
1072
|
+
aztec_avm_returndataSize() {
|
|
1073
|
+
return callTxeHandler({
|
|
1074
|
+
oracle: 'aztec_avm_returndataSize',
|
|
1075
|
+
inputs: [],
|
|
1076
|
+
handler: () => this.handlerAsAvm().returndataSize(),
|
|
1077
|
+
});
|
|
1352
1078
|
}
|
|
1353
1079
|
|
|
1354
1080
|
// eslint-disable-next-line camelcase
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1081
|
+
aztec_avm_returndataCopy(...inputs: ForeignCallArgs) {
|
|
1082
|
+
return callTxeHandler({
|
|
1083
|
+
oracle: 'aztec_avm_returndataCopy',
|
|
1084
|
+
inputs,
|
|
1085
|
+
handler: ([rdOffset, copySize]) => this.handlerAsAvm().returndataCopy(rdOffset, copySize),
|
|
1086
|
+
});
|
|
1361
1087
|
}
|
|
1362
1088
|
|
|
1363
1089
|
// eslint-disable-next-line camelcase
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1090
|
+
aztec_avm_call(...inputs: ForeignCallArgs) {
|
|
1091
|
+
return callTxeHandler({
|
|
1092
|
+
oracle: 'aztec_avm_call',
|
|
1093
|
+
inputs,
|
|
1094
|
+
handler: ([l2Gas, daGas, address, argsLength, args]) =>
|
|
1095
|
+
this.handlerAsAvm().call(l2Gas, daGas, address, argsLength, args),
|
|
1096
|
+
});
|
|
1097
|
+
}
|
|
1367
1098
|
|
|
1368
|
-
|
|
1099
|
+
// eslint-disable-next-line camelcase
|
|
1100
|
+
aztec_avm_staticCall(...inputs: ForeignCallArgs) {
|
|
1101
|
+
return callTxeHandler({
|
|
1102
|
+
oracle: 'aztec_avm_staticCall',
|
|
1103
|
+
inputs,
|
|
1104
|
+
handler: ([l2Gas, daGas, address, argsLength, args]) =>
|
|
1105
|
+
this.handlerAsAvm().staticCall(l2Gas, daGas, address, argsLength, args),
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1369
1108
|
|
|
1370
|
-
|
|
1109
|
+
// eslint-disable-next-line camelcase
|
|
1110
|
+
aztec_avm_successCopy() {
|
|
1111
|
+
return callTxeHandler({
|
|
1112
|
+
oracle: 'aztec_avm_successCopy',
|
|
1113
|
+
inputs: [],
|
|
1114
|
+
handler: () => this.handlerAsAvm().successCopy(),
|
|
1115
|
+
});
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
// eslint-disable-next-line camelcase
|
|
1119
|
+
aztec_txe_privateCallNewFlow(...inputs: ForeignCallArgs) {
|
|
1120
|
+
return callTxeHandler({
|
|
1121
|
+
oracle: 'aztec_txe_privateCallNewFlow',
|
|
1122
|
+
inputs,
|
|
1123
|
+
handler: ([
|
|
1124
|
+
from,
|
|
1125
|
+
targetContractAddress,
|
|
1126
|
+
functionSelector,
|
|
1127
|
+
args,
|
|
1128
|
+
argsHash,
|
|
1129
|
+
isStaticCall,
|
|
1130
|
+
additionalScopes,
|
|
1131
|
+
authorizedUtilityCallTargets,
|
|
1132
|
+
gasSettings,
|
|
1133
|
+
]) =>
|
|
1134
|
+
this.stateHandler.executePrivateCall(
|
|
1135
|
+
from,
|
|
1136
|
+
targetContractAddress,
|
|
1137
|
+
functionSelector,
|
|
1138
|
+
args,
|
|
1139
|
+
argsHash,
|
|
1140
|
+
isStaticCall,
|
|
1141
|
+
additionalScopes,
|
|
1142
|
+
authorizedUtilityCallTargets,
|
|
1143
|
+
gasSettings,
|
|
1144
|
+
),
|
|
1145
|
+
});
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
// eslint-disable-next-line camelcase
|
|
1149
|
+
aztec_txe_executeUtilityFunction(...inputs: ForeignCallArgs) {
|
|
1150
|
+
return callTxeHandler({
|
|
1151
|
+
oracle: 'aztec_txe_executeUtilityFunction',
|
|
1152
|
+
inputs,
|
|
1153
|
+
handler: ([from, targetContractAddress, functionSelector, args, authorizedUtilityCallTargets]) =>
|
|
1154
|
+
this.stateHandler.executeUtilityFunction(
|
|
1155
|
+
from,
|
|
1156
|
+
targetContractAddress,
|
|
1157
|
+
functionSelector,
|
|
1158
|
+
args,
|
|
1159
|
+
authorizedUtilityCallTargets,
|
|
1160
|
+
),
|
|
1161
|
+
});
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
// eslint-disable-next-line camelcase
|
|
1165
|
+
aztec_txe_publicCallNewFlow(...inputs: ForeignCallArgs) {
|
|
1166
|
+
return callTxeHandler({
|
|
1167
|
+
oracle: 'aztec_txe_publicCallNewFlow',
|
|
1168
|
+
inputs,
|
|
1169
|
+
handler: ([from, address, calldata, isStaticCall, gasSettings]) =>
|
|
1170
|
+
this.stateHandler.executePublicCall(from, address, calldata, isStaticCall, gasSettings),
|
|
1171
|
+
});
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
// eslint-disable-next-line camelcase
|
|
1175
|
+
aztec_prv_getSenderForTags() {
|
|
1176
|
+
return callTxeHandler({
|
|
1177
|
+
oracle: 'aztec_prv_getSenderForTags',
|
|
1178
|
+
inputs: [],
|
|
1179
|
+
handler: () => this.handlerAsPrivate().getSenderForTags(),
|
|
1180
|
+
});
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
// eslint-disable-next-line camelcase
|
|
1184
|
+
aztec_prv_resolveTaggingStrategy(...inputs: ForeignCallArgs) {
|
|
1185
|
+
return callTxeHandler({
|
|
1186
|
+
oracle: 'aztec_prv_resolveTaggingStrategy',
|
|
1187
|
+
inputs,
|
|
1188
|
+
handler: ([sender, recipient, deliveryMode]) =>
|
|
1189
|
+
this.handlerAsPrivate().resolveTaggingStrategy(sender, recipient, deliveryMode),
|
|
1190
|
+
});
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
// eslint-disable-next-line camelcase
|
|
1194
|
+
aztec_prv_resolveCustomRequest(...inputs: ForeignCallArgs) {
|
|
1195
|
+
return callTxeHandler({
|
|
1196
|
+
oracle: 'aztec_prv_resolveCustomRequest',
|
|
1197
|
+
inputs,
|
|
1198
|
+
handler: ([kind, payload]) => this.handlerAsPrivate().resolveCustomRequest(kind, payload),
|
|
1199
|
+
});
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
// eslint-disable-next-line camelcase
|
|
1203
|
+
aztec_prv_getAppTaggingSecret(...inputs: ForeignCallArgs) {
|
|
1204
|
+
return callTxeHandler({
|
|
1205
|
+
oracle: 'aztec_prv_getAppTaggingSecret',
|
|
1206
|
+
inputs,
|
|
1207
|
+
handler: ([sender, recipient]) => this.handlerAsPrivate().getAppTaggingSecret(sender, recipient),
|
|
1208
|
+
});
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
// eslint-disable-next-line camelcase
|
|
1212
|
+
aztec_prv_getNextTaggingIndex(...inputs: ForeignCallArgs) {
|
|
1213
|
+
return callTxeHandler({
|
|
1214
|
+
oracle: 'aztec_prv_getNextTaggingIndex',
|
|
1215
|
+
inputs,
|
|
1216
|
+
handler: ([secret, deliveryMode]) => this.handlerAsPrivate().getNextTaggingIndex(secret, deliveryMode),
|
|
1217
|
+
});
|
|
1371
1218
|
}
|
|
1372
1219
|
}
|