@aztec/txe 5.0.0-rc.1 → 5.0.0
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-FSRZIMX6.js +3 -0
- package/dest/AuthRegistry-FSRZIMX6.js.map +7 -0
- package/dest/ContractClassRegistry-N6NA3SFA.js +3 -0
- package/dest/ContractClassRegistry-N6NA3SFA.js.map +7 -0
- package/dest/ContractInstanceRegistry-NADDSLGL.js +3 -0
- package/dest/ContractInstanceRegistry-NADDSLGL.js.map +7 -0
- package/dest/FeeJuice-QBH5JWJV.js +3 -0
- package/dest/FeeJuice-QBH5JWJV.js.map +7 -0
- package/dest/HandshakeRegistry-KKUEU7XW.js +3 -0
- package/dest/HandshakeRegistry-KKUEU7XW.js.map +7 -0
- package/dest/MultiCallEntrypoint-TGICA67H.js +3 -0
- package/dest/MultiCallEntrypoint-TGICA67H.js.map +7 -0
- package/dest/SchnorrAccount-J5T6OKR3.js +3 -0
- package/dest/SchnorrAccount-J5T6OKR3.js.map +7 -0
- package/dest/SchnorrInitializerlessAccount-OOES6Q4F.js +3 -0
- package/dest/SchnorrInitializerlessAccount-OOES6Q4F.js.map +7 -0
- package/dest/bin/index.js +1 -1
- package/dest/bin/oracle_test_server.js +2 -2
- package/dest/{chunk-UPW55EJX.js → chunk-PDOEF22H.js} +2 -2
- package/dest/{chunk-UPW55EJX.js.map → chunk-PDOEF22H.js.map} +3 -3
- package/dest/chunk-YP4ODNMQ.js +268 -0
- package/dest/chunk-YP4ODNMQ.js.map +7 -0
- package/dest/constants.d.ts +1 -1
- package/dest/constants.d.ts.map +1 -1
- package/dest/constants.js +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -3
- package/dest/metafile.json +9768 -8714
- package/dest/oracle/interfaces.d.ts +19 -10
- 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 +9 -0
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -0
- package/dest/oracle/test-resolver/default_fixtures.js +207 -0
- package/dest/oracle/test-resolver/index.d.ts +1 -1
- package/dest/oracle/test-resolver/index.d.ts.map +1 -1
- package/dest/oracle/test-resolver/index.js +1 -2
- package/dest/oracle/test-resolver/resolver.d.ts +22 -8
- package/dest/oracle/test-resolver/resolver.d.ts.map +1 -1
- package/dest/oracle/test-resolver/resolver.js +100 -33
- package/dest/oracle/txe_oracle_public_context.d.ts +9 -9
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +15 -9
- package/dest/oracle/txe_oracle_registry.d.ts +159 -3
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_registry.js +221 -34
- package/dest/oracle/txe_oracle_top_level_context.d.ts +22 -8
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +107 -49
- package/dest/oracle/txe_oracle_version.d.ts +3 -3
- package/dest/oracle/txe_oracle_version.js +3 -3
- package/dest/rpc_translator.d.ts +14 -4
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +91 -11
- package/dest/server.bundle.js +1 -1
- package/dest/state_machine/archiver.d.ts +1 -1
- package/dest/state_machine/archiver.d.ts.map +1 -1
- package/dest/state_machine/archiver.js +1 -2
- package/dest/state_machine/dummy_p2p_client.d.ts +4 -2
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +6 -0
- package/dest/state_machine/global_variable_builder.d.ts +3 -4
- package/dest/state_machine/global_variable_builder.d.ts.map +1 -1
- package/dest/state_machine/global_variable_builder.js +0 -3
- package/dest/state_machine/index.d.ts +8 -6
- package/dest/state_machine/index.d.ts.map +1 -1
- package/dest/state_machine/index.js +40 -12
- package/dest/state_machine/synchronizer.d.ts +5 -2
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +6 -2
- package/dest/txe_session.d.ts +8 -6
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +72 -32
- 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 +4 -3
- package/dest/utils/encoding.d.ts.map +1 -1
- 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/utils/txe_public_contract_data_source.d.ts +1 -1
- package/dest/utils/txe_public_contract_data_source.d.ts.map +1 -1
- package/dest/utils/txe_public_contract_data_source.js +7 -4
- package/dest/worker.bundle.js +1 -1
- package/package.json +17 -17
- package/src/bin/oracle_test_server.ts +2 -2
- package/src/constants.ts +1 -1
- package/src/index.ts +5 -3
- package/src/oracle/interfaces.ts +21 -8
- package/src/oracle/tagging_secret_strategy.ts +25 -0
- package/src/oracle/test-resolver/default_fixtures.ts +282 -0
- package/src/oracle/test-resolver/index.ts +1 -2
- package/src/oracle/test-resolver/resolver.ts +122 -42
- package/src/oracle/txe_oracle_public_context.ts +16 -14
- package/src/oracle/txe_oracle_registry.ts +156 -18
- package/src/oracle/txe_oracle_top_level_context.ts +147 -50
- package/src/oracle/txe_oracle_version.ts +3 -3
- package/src/rpc_translator.ts +119 -11
- package/src/state_machine/archiver.ts +0 -1
- package/src/state_machine/dummy_p2p_client.ts +9 -0
- package/src/state_machine/global_variable_builder.ts +2 -16
- package/src/state_machine/index.ts +49 -30
- package/src/state_machine/synchronizer.ts +8 -2
- package/src/txe_session.ts +104 -27
- package/src/utils/block_creation.ts +2 -1
- package/src/utils/tx_effect_creation.ts +0 -2
- package/src/utils/txe_public_contract_data_source.ts +6 -4
- package/dest/AuthRegistry-CPGFQR26.js +0 -3
- package/dest/AuthRegistry-CPGFQR26.js.map +0 -7
- package/dest/ContractClassRegistry-EHVIHGEK.js +0 -3
- package/dest/ContractClassRegistry-EHVIHGEK.js.map +0 -7
- package/dest/ContractInstanceRegistry-DWZDXHRG.js +0 -3
- package/dest/ContractInstanceRegistry-DWZDXHRG.js.map +0 -7
- package/dest/FeeJuice-MI32ZO7B.js +0 -3
- package/dest/FeeJuice-MI32ZO7B.js.map +0 -7
- package/dest/HandshakeRegistry-3KSP3ITH.js +0 -3
- package/dest/HandshakeRegistry-3KSP3ITH.js.map +0 -7
- package/dest/MultiCallEntrypoint-IU7HYFYE.js +0 -3
- package/dest/MultiCallEntrypoint-IU7HYFYE.js.map +0 -7
- package/dest/SchnorrAccount-6TUE7JX4.js +0 -3
- package/dest/SchnorrAccount-6TUE7JX4.js.map +0 -7
- package/dest/SchnorrInitializerlessAccount-S3DU2DJK.js +0 -3
- package/dest/SchnorrInitializerlessAccount-S3DU2DJK.js.map +0 -7
- package/dest/chunk-5U25VAFR.js +0 -265
- package/dest/chunk-5U25VAFR.js.map +0 -7
- package/dest/oracle/test-resolver/fixtures.d.ts +0 -43
- package/dest/oracle/test-resolver/fixtures.d.ts.map +0 -1
- package/dest/oracle/test-resolver/fixtures.js +0 -39
- package/src/oracle/test-resolver/fixtures.ts +0 -84
|
@@ -4,8 +4,8 @@ import { Schnorr } from '@aztec/foundation/crypto/schnorr';
|
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
5
|
import { LogLevels, applyStringFormatting, createLogger } from '@aztec/foundation/log';
|
|
6
6
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
7
|
-
import { CapsuleService, ORACLE_VERSION_MAJOR, composeHooks, enrichPublicSimulationError } from '@aztec/pxe/server';
|
|
8
|
-
import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, PrivateExecutionOracle, TransientArrayService, UtilityExecutionOracle, buildACIRCallback, executePrivateFunction, generateSimulatedProvingResult } from '@aztec/pxe/simulator';
|
|
7
|
+
import { AnchoredContractData, CapsuleService, FactService, ORACLE_VERSION_MAJOR, composeHooks, enrichPublicSimulationError } from '@aztec/pxe/server';
|
|
8
|
+
import { CONTRACT_INSTANCE, ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, PrivateExecutionOracle, TransientArrayService, UtilityExecutionOracle, buildACIRCallback, executePrivateFunction, generateSimulatedProvingResult } from '@aztec/pxe/simulator';
|
|
9
9
|
import { ExecutionError, WASMSimulator, createSimulationError, extractCallStack, resolveAssertionMessageFromError, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
|
|
10
10
|
import { CppPublicTxSimulator, GuardedMerkleTreeOperations, PublicContractsDB, PublicProcessor } from '@aztec/simulator/server';
|
|
11
11
|
import { FunctionCall, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
|
|
@@ -16,7 +16,9 @@ import { computePartialAddress } from '@aztec/stdlib/contract';
|
|
|
16
16
|
import { Gas, GasFees } from '@aztec/stdlib/gas';
|
|
17
17
|
import { computeCalldataHash, computeProtocolNullifier, siloNullifier } from '@aztec/stdlib/hash';
|
|
18
18
|
import { PartialPrivateTailPublicInputsForPublic, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PublicCallRequest } from '@aztec/stdlib/kernel';
|
|
19
|
-
import { hashPublicKey } from '@aztec/stdlib/keys';
|
|
19
|
+
import { deriveKeys, hashPublicKey } from '@aztec/stdlib/keys';
|
|
20
|
+
import { AppTaggingSecretKind } from '@aztec/stdlib/logs';
|
|
21
|
+
import { L1Actor, L1ToL2Message, L2Actor } from '@aztec/stdlib/messaging';
|
|
20
22
|
import { ChonkProof } from '@aztec/stdlib/proofs';
|
|
21
23
|
import { makeGlobalVariables } from '@aztec/stdlib/testing';
|
|
22
24
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
@@ -25,6 +27,7 @@ import { ForkCheckpoint } from '@aztec/world-state/native';
|
|
|
25
27
|
import { DEFAULT_ADDRESS, MAX_PRIVATE_EVENTS_PER_TXE_QUERY, MAX_PRIVATE_EVENT_LEN } from '../constants.js';
|
|
26
28
|
import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlock } from '../utils/block_creation.js';
|
|
27
29
|
import { TXEPublicContractDataSource } from '../utils/txe_public_contract_data_source.js';
|
|
30
|
+
import { makeResolveTaggingSecretStrategyHook } from './tagging_secret_strategy.js';
|
|
28
31
|
export class TXEOracleTopLevelContext {
|
|
29
32
|
stateMachine;
|
|
30
33
|
contractStore;
|
|
@@ -34,20 +37,22 @@ export class TXEOracleTopLevelContext {
|
|
|
34
37
|
accountStore;
|
|
35
38
|
senderTaggingStore;
|
|
36
39
|
recipientTaggingStore;
|
|
37
|
-
|
|
40
|
+
taggingSecretSourcesStore;
|
|
38
41
|
capsuleStore;
|
|
42
|
+
factStore;
|
|
39
43
|
privateEventStore;
|
|
40
44
|
nextBlockTimestamp;
|
|
41
45
|
version;
|
|
42
46
|
chainId;
|
|
43
47
|
authwits;
|
|
48
|
+
taggingSecretStrategies;
|
|
44
49
|
artifactResolver;
|
|
45
50
|
rootPath;
|
|
46
51
|
packageName;
|
|
47
52
|
isMisc;
|
|
48
53
|
isTxe;
|
|
49
54
|
logger;
|
|
50
|
-
constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore,
|
|
55
|
+
constructor(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, authwits, taggingSecretStrategies, artifactResolver, rootPath, packageName){
|
|
51
56
|
this.stateMachine = stateMachine;
|
|
52
57
|
this.contractStore = contractStore;
|
|
53
58
|
this.noteStore = noteStore;
|
|
@@ -56,13 +61,15 @@ export class TXEOracleTopLevelContext {
|
|
|
56
61
|
this.accountStore = accountStore;
|
|
57
62
|
this.senderTaggingStore = senderTaggingStore;
|
|
58
63
|
this.recipientTaggingStore = recipientTaggingStore;
|
|
59
|
-
this.
|
|
64
|
+
this.taggingSecretSourcesStore = taggingSecretSourcesStore;
|
|
60
65
|
this.capsuleStore = capsuleStore;
|
|
66
|
+
this.factStore = factStore;
|
|
61
67
|
this.privateEventStore = privateEventStore;
|
|
62
68
|
this.nextBlockTimestamp = nextBlockTimestamp;
|
|
63
69
|
this.version = version;
|
|
64
70
|
this.chainId = chainId;
|
|
65
71
|
this.authwits = authwits;
|
|
72
|
+
this.taggingSecretStrategies = taggingSecretStrategies;
|
|
66
73
|
this.artifactResolver = artifactResolver;
|
|
67
74
|
this.rootPath = rootPath;
|
|
68
75
|
this.packageName = packageName;
|
|
@@ -142,7 +149,10 @@ export class TXEOracleTopLevelContext {
|
|
|
142
149
|
}
|
|
143
150
|
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
144
151
|
await this.stateMachine.contractSyncService.ensureContractSynced(contractAddress, null, async (call, execScopes)=>{
|
|
145
|
-
await this.executeUtilityCall(call,
|
|
152
|
+
await this.executeUtilityCall(call, {
|
|
153
|
+
scopes: execScopes,
|
|
154
|
+
jobId
|
|
155
|
+
});
|
|
146
156
|
}, blockHeader, jobId, [
|
|
147
157
|
scope
|
|
148
158
|
]);
|
|
@@ -175,7 +185,7 @@ export class TXEOracleTopLevelContext {
|
|
|
175
185
|
this.nextBlockTimestamp += duration;
|
|
176
186
|
}
|
|
177
187
|
deploymentNullifier(address) {
|
|
178
|
-
return siloNullifier(AztecAddress.
|
|
188
|
+
return siloNullifier(AztecAddress.fromNumberUnsafe(CONTRACT_INSTANCE_REGISTRY_CONTRACT_ADDRESS), address.toField());
|
|
179
189
|
}
|
|
180
190
|
async deploy(contractPath, initializer, args, secret, salt, deployer) {
|
|
181
191
|
const { artifact, instance } = await this.artifactResolver.resolveDeployArtifact({
|
|
@@ -201,14 +211,7 @@ export class TXEOracleTopLevelContext {
|
|
|
201
211
|
await this.contractStore.addContractArtifact(artifact);
|
|
202
212
|
this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
|
|
203
213
|
}
|
|
204
|
-
return
|
|
205
|
-
instance.salt,
|
|
206
|
-
instance.deployer.toField(),
|
|
207
|
-
instance.currentContractClassId,
|
|
208
|
-
instance.initializationHash,
|
|
209
|
-
instance.immutablesHash,
|
|
210
|
-
...instance.publicKeys.toFields()
|
|
211
|
-
];
|
|
214
|
+
return CONTRACT_INSTANCE.serialization.fn(instance).flat();
|
|
212
215
|
}
|
|
213
216
|
/**
|
|
214
217
|
* Mines a single block containing only the deployment nullifiers for the contracts at the given addresses.
|
|
@@ -226,7 +229,7 @@ export class TXEOracleTopLevelContext {
|
|
|
226
229
|
this.logger.debug(`Deployed ${artifact.name} at ${instance.address}`);
|
|
227
230
|
await this.contractStore.addContractInstance(instance);
|
|
228
231
|
await this.contractStore.addContractArtifact(artifact);
|
|
229
|
-
const completeAddress = await this.keyStore.addAccount(secret, partialAddress);
|
|
232
|
+
const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), partialAddress);
|
|
230
233
|
await this.accountStore.setAccount(completeAddress.address, completeAddress);
|
|
231
234
|
await this.addressStore.addCompleteAddress(completeAddress);
|
|
232
235
|
this.logger.debug(`Created account ${completeAddress.address}`);
|
|
@@ -234,7 +237,7 @@ export class TXEOracleTopLevelContext {
|
|
|
234
237
|
}
|
|
235
238
|
async createAccount(secret) {
|
|
236
239
|
// This is a foot gun !
|
|
237
|
-
const completeAddress = await this.keyStore.addAccount(secret, secret);
|
|
240
|
+
const completeAddress = await this.keyStore.addAccount(await deriveKeys(secret), secret);
|
|
238
241
|
await this.accountStore.setAccount(completeAddress.address, completeAddress);
|
|
239
242
|
await this.addressStore.addCompleteAddress(completeAddress);
|
|
240
243
|
this.logger.debug(`Created account ${completeAddress.address}`);
|
|
@@ -249,6 +252,29 @@ export class TXEOracleTopLevelContext {
|
|
|
249
252
|
const authWitness = new AuthWitness(messageHash, signature.toLimbFields());
|
|
250
253
|
this.authwits.set(authWitness.requestHash.toString(), authWitness);
|
|
251
254
|
}
|
|
255
|
+
setTaggingSecretStrategies(unconstrainedStrategy, constrainedStrategy) {
|
|
256
|
+
const apply = (mode, strategy)=>{
|
|
257
|
+
if (strategy.isSome()) {
|
|
258
|
+
this.taggingSecretStrategies.set(mode, strategy.value);
|
|
259
|
+
} else {
|
|
260
|
+
this.taggingSecretStrategies.delete(mode);
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
apply(AppTaggingSecretKind.UNCONSTRAINED, unconstrainedStrategy);
|
|
264
|
+
apply(AppTaggingSecretKind.CONSTRAINED, constrainedStrategy);
|
|
265
|
+
}
|
|
266
|
+
async sendL1ToL2Message(content, secretHash, sender, recipient) {
|
|
267
|
+
// Messages are appended to the tree, so the next free slot is simply the current tree size.
|
|
268
|
+
const { size } = await this.stateMachine.synchronizer.getCommitted().getTreeInfo(MerkleTreeId.L1_TO_L2_MESSAGE_TREE);
|
|
269
|
+
const leafIndex = new Fr(size);
|
|
270
|
+
const message = new L1ToL2Message(new L1Actor(sender, this.chainId.toNumber()), new L2Actor(recipient, this.version.toNumber()), content, secretHash, leafIndex);
|
|
271
|
+
await this.mineBlock({
|
|
272
|
+
l1ToL2Messages: [
|
|
273
|
+
message.hash()
|
|
274
|
+
]
|
|
275
|
+
});
|
|
276
|
+
return leafIndex;
|
|
277
|
+
}
|
|
252
278
|
async mineBlock(options = {}) {
|
|
253
279
|
const blockNumber = await this.getNextBlockNumber();
|
|
254
280
|
const txEffect = TxEffect.empty();
|
|
@@ -258,7 +284,7 @@ export class TXEOracleTopLevelContext {
|
|
|
258
284
|
];
|
|
259
285
|
txEffect.txHash = new TxHash(new Fr(blockNumber));
|
|
260
286
|
const forkedWorldTrees = await this.stateMachine.synchronizer.nativeWorldStateService.fork();
|
|
261
|
-
await insertTxEffectIntoWorldTrees(txEffect, forkedWorldTrees);
|
|
287
|
+
await insertTxEffectIntoWorldTrees(txEffect, forkedWorldTrees, options.l1ToL2Messages ?? []);
|
|
262
288
|
const globals = makeGlobalVariables(undefined, {
|
|
263
289
|
blockNumber,
|
|
264
290
|
timestamp: this.nextBlockTimestamp,
|
|
@@ -270,11 +296,13 @@ export class TXEOracleTopLevelContext {
|
|
|
270
296
|
]);
|
|
271
297
|
await forkedWorldTrees.close();
|
|
272
298
|
this.logger.info(`Created block ${blockNumber} with timestamp ${block.header.globalVariables.timestamp}`);
|
|
273
|
-
await this.stateMachine.handleL2Block(block);
|
|
299
|
+
await this.stateMachine.handleL2Block(block, options.l1ToL2Messages ?? []);
|
|
274
300
|
}
|
|
275
301
|
async privateCallNewFlow(from, targetContractAddress = AztecAddress.zero(), functionSelector = FunctionSelector.empty(), args, argsHash = Fr.zero(), isStaticCall = false, additionalScopes = [], jobId, authorizedUtilityCallTargets, gasSettings) {
|
|
276
|
-
|
|
277
|
-
const
|
|
302
|
+
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
303
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
|
|
304
|
+
this.logger.verbose(`Executing external function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, functionSelector)}@${targetContractAddress} isStaticCall=${isStaticCall}`);
|
|
305
|
+
const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
|
|
278
306
|
if (!artifact) {
|
|
279
307
|
const message = functionSelector.equals(await FunctionSelector.fromSignature('verify_private_authwit(Field)')) ? 'Found no account contract artifact for a private authwit check - use `create_contract_account` instead of `create_light_account` for authwit support.' : 'Function Artifact does not exist';
|
|
280
308
|
throw new Error(message);
|
|
@@ -285,9 +313,11 @@ export class TXEOracleTopLevelContext {
|
|
|
285
313
|
];
|
|
286
314
|
// Sync notes before executing private function to discover notes from previous transactions
|
|
287
315
|
const utilityExecutor = async (call, execScopes)=>{
|
|
288
|
-
await this.executeUtilityCall(call,
|
|
316
|
+
await this.executeUtilityCall(call, {
|
|
317
|
+
scopes: execScopes,
|
|
318
|
+
jobId
|
|
319
|
+
});
|
|
289
320
|
};
|
|
290
|
-
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
291
321
|
await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, utilityExecutor, blockHeader, jobId, scopes);
|
|
292
322
|
const blockNumber = await this.getNextBlockNumber();
|
|
293
323
|
const msgSender = from ?? AztecAddress.NULL_MSG_SENDER;
|
|
@@ -306,6 +336,8 @@ export class TXEOracleTopLevelContext {
|
|
|
306
336
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
307
337
|
argsHash,
|
|
308
338
|
txContext,
|
|
339
|
+
// The TXE does not run the init kernel's salt binding, so no tx-request salt is in scope.
|
|
340
|
+
txRequestSalt: Fr.ZERO,
|
|
309
341
|
callContext,
|
|
310
342
|
anchorBlockHeader: blockHeader,
|
|
311
343
|
utilityExecutor,
|
|
@@ -316,15 +348,16 @@ export class TXEOracleTopLevelContext {
|
|
|
316
348
|
]),
|
|
317
349
|
noteCache,
|
|
318
350
|
taggingIndexCache,
|
|
319
|
-
|
|
351
|
+
anchoredContractData,
|
|
320
352
|
noteStore: this.noteStore,
|
|
321
353
|
keyStore: this.keyStore,
|
|
322
354
|
addressStore: this.addressStore,
|
|
323
355
|
aztecNode: this.stateMachine.node,
|
|
324
356
|
senderTaggingStore: this.senderTaggingStore,
|
|
325
357
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
326
|
-
|
|
358
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
327
359
|
capsuleService: new CapsuleService(this.capsuleStore, scopes),
|
|
360
|
+
factService: new FactService(this.factStore, scopes),
|
|
328
361
|
privateEventStore: this.privateEventStore,
|
|
329
362
|
contractSyncService: this.stateMachine.contractSyncService,
|
|
330
363
|
jobId,
|
|
@@ -335,10 +368,11 @@ export class TXEOracleTopLevelContext {
|
|
|
335
368
|
// contract would perform, including setting senderForTags.
|
|
336
369
|
senderForTags: from,
|
|
337
370
|
simulator,
|
|
338
|
-
|
|
371
|
+
txResolver: this.stateMachine.txResolver,
|
|
339
372
|
l2TipsStore: this.stateMachine.l2TipsProvider,
|
|
340
373
|
hooks: composeHooks({
|
|
341
|
-
authorizeUtilityCall: this.buildAuthorizeUtilityCallHook(isStaticCall ? 'private view' : 'private', authorizedUtilityCallTargets)
|
|
374
|
+
authorizeUtilityCall: this.buildAuthorizeUtilityCallHook(isStaticCall ? 'private view' : 'private', authorizedUtilityCallTargets),
|
|
375
|
+
resolveTaggingSecretStrategy: makeResolveTaggingSecretStrategyHook(this.taggingSecretStrategies)
|
|
342
376
|
}),
|
|
343
377
|
transientArrayService
|
|
344
378
|
});
|
|
@@ -356,7 +390,6 @@ export class TXEOracleTopLevelContext {
|
|
|
356
390
|
const calldata = await privateExecutionOracle.getHashPreimage(r.calldataHash);
|
|
357
391
|
return new HashedValues(calldata, r.calldataHash);
|
|
358
392
|
}));
|
|
359
|
-
noteCache.finish();
|
|
360
393
|
const nonceGenerator = noteCache.getNonceGenerator();
|
|
361
394
|
result = new PrivateExecutionResult(executionResult, nonceGenerator, publicFunctionsCalldata);
|
|
362
395
|
} catch (err) {
|
|
@@ -365,7 +398,7 @@ export class TXEOracleTopLevelContext {
|
|
|
365
398
|
// According to the protocol rules, there must be at least one nullifier in the tx. The first nullifier is used as
|
|
366
399
|
// the nonce generator for the note hashes.
|
|
367
400
|
// We pass the non-zero minRevertibleSideEffectCounter to make sure the side effects are split correctly.
|
|
368
|
-
const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>
|
|
401
|
+
const { publicInputs } = await generateSimulatedProvingResult(result, (addr, sel)=>anchoredContractData.getDebugFunctionName(addr, sel), this.stateMachine.node, minRevertibleSideEffectCounter);
|
|
369
402
|
const globals = makeGlobalVariables();
|
|
370
403
|
globals.blockNumber = blockNumber;
|
|
371
404
|
globals.timestamp = this.nextBlockTimestamp;
|
|
@@ -404,7 +437,7 @@ export class TXEOracleTopLevelContext {
|
|
|
404
437
|
} else if (!processedTx.revertCode.isOK()) {
|
|
405
438
|
if (processedTx.revertReason) {
|
|
406
439
|
try {
|
|
407
|
-
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
|
|
440
|
+
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, await this.stateMachine.anchorBlockStore.getBlockHeader(), this.logger);
|
|
408
441
|
// eslint-disable-next-line no-empty
|
|
409
442
|
} catch {}
|
|
410
443
|
throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
|
|
@@ -447,10 +480,11 @@ export class TXEOracleTopLevelContext {
|
|
|
447
480
|
};
|
|
448
481
|
}
|
|
449
482
|
async publicCallNewFlow(from, targetContractAddress, calldata, isStaticCall, gasSettings) {
|
|
450
|
-
|
|
483
|
+
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
484
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
|
|
485
|
+
this.logger.verbose(`Executing public function ${await anchoredContractData.getDebugFunctionName(targetContractAddress, FunctionSelector.fromField(calldata[0]))}@${targetContractAddress} isStaticCall=${isStaticCall}`);
|
|
451
486
|
const blockNumber = await this.getNextBlockNumber();
|
|
452
487
|
const txContext = new TxContext(this.chainId, this.version, gasSettings);
|
|
453
|
-
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
454
488
|
const calldataHash = await computeCalldataHash(calldata);
|
|
455
489
|
const calldataHashedValues = new HashedValues(calldata, calldataHash);
|
|
456
490
|
const globals = makeGlobalVariables();
|
|
@@ -507,7 +541,7 @@ export class TXEOracleTopLevelContext {
|
|
|
507
541
|
} else if (!processedTx.revertCode.isOK()) {
|
|
508
542
|
if (processedTx.revertReason) {
|
|
509
543
|
try {
|
|
510
|
-
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.logger);
|
|
544
|
+
await enrichPublicSimulationError(processedTx.revertReason, this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader, this.logger);
|
|
511
545
|
// eslint-disable-next-line no-empty
|
|
512
546
|
} catch {}
|
|
513
547
|
throw new Error(`Contract execution has reverted: ${processedTx.revertReason.getMessage()}`);
|
|
@@ -537,15 +571,19 @@ export class TXEOracleTopLevelContext {
|
|
|
537
571
|
await forkedWorldTrees.close();
|
|
538
572
|
return returnValues ?? [];
|
|
539
573
|
}
|
|
540
|
-
async executeUtilityFunction(targetContractAddress, functionSelector, args, jobId, authorizedUtilityCallTargets) {
|
|
541
|
-
const
|
|
574
|
+
async executeUtilityFunction(from, targetContractAddress, functionSelector, args, jobId, authorizedUtilityCallTargets) {
|
|
575
|
+
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
576
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, blockHeader);
|
|
577
|
+
const artifact = await anchoredContractData.getFunctionArtifact(targetContractAddress, functionSelector);
|
|
542
578
|
if (!artifact) {
|
|
543
579
|
throw new Error(`Cannot call ${functionSelector} as there is no artifact found at ${targetContractAddress}.`);
|
|
544
580
|
}
|
|
545
581
|
// Sync notes before executing utility function to discover notes from previous transactions
|
|
546
|
-
const blockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
547
582
|
await this.stateMachine.contractSyncService.ensureContractSynced(targetContractAddress, functionSelector, async (call, execScopes)=>{
|
|
548
|
-
await this.executeUtilityCall(call,
|
|
583
|
+
await this.executeUtilityCall(call, {
|
|
584
|
+
scopes: execScopes,
|
|
585
|
+
jobId
|
|
586
|
+
});
|
|
549
587
|
}, blockHeader, jobId, await this.keyStore.getAccounts());
|
|
550
588
|
const call = FunctionCall.from({
|
|
551
589
|
name: artifact.name,
|
|
@@ -557,10 +595,20 @@ export class TXEOracleTopLevelContext {
|
|
|
557
595
|
args,
|
|
558
596
|
returnTypes: []
|
|
559
597
|
});
|
|
560
|
-
return this.executeUtilityCall(call,
|
|
598
|
+
return this.executeUtilityCall(call, {
|
|
599
|
+
from,
|
|
600
|
+
scopes: await this.keyStore.getAccounts(),
|
|
601
|
+
jobId,
|
|
602
|
+
authorizedUtilityCallTargets
|
|
603
|
+
});
|
|
561
604
|
}
|
|
562
|
-
async executeUtilityCall(call, scopes, jobId, authorizedUtilityCallTargets = []) {
|
|
563
|
-
const
|
|
605
|
+
async executeUtilityCall(call, { from = AztecAddress.NULL_MSG_SENDER, scopes, jobId, authorizedUtilityCallTargets = [] }) {
|
|
606
|
+
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
607
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader);
|
|
608
|
+
const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
|
|
609
|
+
if (!entryPointArtifact) {
|
|
610
|
+
throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered.`);
|
|
611
|
+
}
|
|
564
612
|
if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
|
|
565
613
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
|
|
566
614
|
}
|
|
@@ -569,35 +617,44 @@ export class TXEOracleTopLevelContext {
|
|
|
569
617
|
selector: call.selector
|
|
570
618
|
});
|
|
571
619
|
try {
|
|
572
|
-
const anchorBlockHeader = await this.stateMachine.anchorBlockStore.getBlockHeader();
|
|
573
620
|
const simulator = new WASMSimulator();
|
|
574
621
|
const utilityExecutor = async (syncCall, execScopes)=>{
|
|
575
|
-
await this.executeUtilityCall(syncCall,
|
|
622
|
+
await this.executeUtilityCall(syncCall, {
|
|
623
|
+
scopes: execScopes,
|
|
624
|
+
jobId,
|
|
625
|
+
authorizedUtilityCallTargets
|
|
626
|
+
});
|
|
576
627
|
};
|
|
577
628
|
const oracle = new UtilityExecutionOracle({
|
|
578
|
-
|
|
629
|
+
callContext: CallContext.from({
|
|
630
|
+
msgSender: from,
|
|
631
|
+
contractAddress: call.to,
|
|
632
|
+
functionSelector: call.selector,
|
|
633
|
+
isStaticCall: true
|
|
634
|
+
}),
|
|
579
635
|
authWitnesses: [],
|
|
580
636
|
capsules: [],
|
|
581
637
|
anchorBlockHeader,
|
|
582
|
-
|
|
638
|
+
anchoredContractData,
|
|
583
639
|
noteStore: this.noteStore,
|
|
584
640
|
keyStore: this.keyStore,
|
|
585
641
|
addressStore: this.addressStore,
|
|
586
642
|
aztecNode: this.stateMachine.node,
|
|
587
643
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
588
|
-
|
|
644
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
589
645
|
capsuleService: new CapsuleService(this.capsuleStore, scopes),
|
|
646
|
+
factService: new FactService(this.factStore, scopes),
|
|
590
647
|
privateEventStore: this.privateEventStore,
|
|
591
|
-
|
|
648
|
+
txResolver: this.stateMachine.txResolver,
|
|
592
649
|
contractSyncService: this.stateMachine.contractSyncService,
|
|
593
650
|
l2TipsStore: this.stateMachine.l2TipsProvider,
|
|
594
651
|
jobId,
|
|
595
652
|
scopes,
|
|
596
653
|
simulator,
|
|
654
|
+
utilityExecutor,
|
|
597
655
|
hooks: composeHooks({
|
|
598
656
|
authorizeUtilityCall: this.buildAuthorizeUtilityCallHook('utility', authorizedUtilityCallTargets)
|
|
599
657
|
}),
|
|
600
|
-
utilityExecutor,
|
|
601
658
|
// Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
|
|
602
659
|
transientArrayService: new TransientArrayService()
|
|
603
660
|
});
|
|
@@ -620,7 +677,8 @@ export class TXEOracleTopLevelContext {
|
|
|
620
677
|
this.logger.debug('Exiting Top Level Context');
|
|
621
678
|
return [
|
|
622
679
|
this.nextBlockTimestamp,
|
|
623
|
-
this.authwits
|
|
680
|
+
this.authwits,
|
|
681
|
+
this.taggingSecretStrategies
|
|
624
682
|
];
|
|
625
683
|
}
|
|
626
684
|
async getLastBlockNumber() {
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
*
|
|
6
6
|
* The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
|
|
7
7
|
*/
|
|
8
|
-
export declare const TXE_ORACLE_VERSION_MAJOR =
|
|
9
|
-
export declare const TXE_ORACLE_VERSION_MINOR =
|
|
8
|
+
export declare const TXE_ORACLE_VERSION_MAJOR = 3;
|
|
9
|
+
export declare const TXE_ORACLE_VERSION_MINOR = 0;
|
|
10
10
|
/**
|
|
11
11
|
* This hash is computed from the TXE oracle interfaces (IAvmExecutionOracle and ITxeExecutionOracle) and is used to
|
|
12
12
|
* detect when those interfaces change. When it does, bump:
|
|
13
13
|
* - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
|
|
14
14
|
* - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
|
|
15
15
|
*/
|
|
16
|
-
export declare const TXE_ORACLE_INTERFACE_HASH = "
|
|
16
|
+
export declare const TXE_ORACLE_INTERFACE_HASH = "bea75bd85baebd7aa1438efb1defab496d27540bc805a8d854bb74b8d45fd859";
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JhY2xlL3R4ZV9vcmFjbGVfdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUMxQyxlQUFPLE1BQU0sd0JBQXdCLElBQUksQ0FBQztBQUUxQzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSx5QkFBeUIscUVBQXFFLENBQUMifQ==
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* oracles used during contract execution by PXE.
|
|
5
5
|
*
|
|
6
6
|
* The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
|
|
7
|
-
*/ export const TXE_ORACLE_VERSION_MAJOR =
|
|
8
|
-
export const TXE_ORACLE_VERSION_MINOR =
|
|
7
|
+
*/ export const TXE_ORACLE_VERSION_MAJOR = 3;
|
|
8
|
+
export const TXE_ORACLE_VERSION_MINOR = 0;
|
|
9
9
|
/**
|
|
10
10
|
* This hash is computed from the TXE oracle interfaces (IAvmExecutionOracle and ITxeExecutionOracle) and is used to
|
|
11
11
|
* detect when those interfaces change. When it does, bump:
|
|
12
12
|
* - TXE_ORACLE_VERSION_MAJOR (and reset MINOR to 0) for breaking changes, or
|
|
13
13
|
* - TXE_ORACLE_VERSION_MINOR for additive changes (new oracle method added).
|
|
14
|
-
*/ export const TXE_ORACLE_INTERFACE_HASH = '
|
|
14
|
+
*/ export const TXE_ORACLE_INTERFACE_HASH = 'bea75bd85baebd7aa1438efb1defab496d27540bc805a8d854bb74b8d45fd859';
|
package/dest/rpc_translator.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ export declare class RPCTranslator {
|
|
|
37
37
|
aztec_txe_createAccount(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
38
38
|
aztec_txe_addAccount(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
39
39
|
aztec_txe_addAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
40
|
+
aztec_txe_sendL1ToL2Message(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
41
|
+
aztec_txe_setTaggingSecretStrategies(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
40
42
|
aztec_misc_assertCompatibleOracleVersion(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
41
43
|
aztec_misc_getRandomField(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
42
44
|
aztec_txe_getLastBlockTimestamp(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
@@ -60,6 +62,7 @@ export declare class RPCTranslator {
|
|
|
60
62
|
aztec_utl_getKeyValidationRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
61
63
|
aztec_prv_callPrivateFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
62
64
|
aztec_utl_getNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
65
|
+
aztec_utl_getL1ToL2MembershipWitnessV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
63
66
|
aztec_utl_getAuthWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
64
67
|
aztec_prv_assertValidPublicCalldata(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
65
68
|
aztec_prv_notifyRevertiblePhaseStart(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
@@ -68,11 +71,12 @@ export declare class RPCTranslator {
|
|
|
68
71
|
aztec_utl_getBlockHeader(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
69
72
|
aztec_utl_getNoteHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
70
73
|
aztec_utl_getBlockHashMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
74
|
+
aztec_utl_areBlockHashesInArchive(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
71
75
|
aztec_utl_getLowNullifierMembershipWitness(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
72
|
-
|
|
76
|
+
aztec_utl_getPendingTaggedLogsV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
73
77
|
aztec_utl_validateAndStoreEnqueuedNotesAndEvents(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
aztec_utl_getLogsByTagV2(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
79
|
+
aztec_utl_getResolvedTxs(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
76
80
|
aztec_utl_setCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
77
81
|
aztec_utl_getCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
78
82
|
aztec_utl_deleteCapsule(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
@@ -95,6 +99,10 @@ export declare class RPCTranslator {
|
|
|
95
99
|
aztec_utl_getSharedSecrets(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
96
100
|
aztec_utl_setContractSyncCacheInvalid(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
97
101
|
aztec_utl_emitOffchainEffect(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
102
|
+
aztec_utl_recordFact(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
103
|
+
aztec_utl_deleteFactCollection(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
104
|
+
aztec_utl_getFactCollection(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
105
|
+
aztec_utl_getFactCollectionsByType(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
98
106
|
aztec_avm_emitPublicLog(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
99
107
|
aztec_avm_storageRead(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
100
108
|
aztec_avm_storageWrite(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
@@ -121,7 +129,9 @@ export declare class RPCTranslator {
|
|
|
121
129
|
aztec_txe_executeUtilityFunction(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
122
130
|
aztec_txe_publicCallNewFlow(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
123
131
|
aztec_prv_getSenderForTags(): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
132
|
+
aztec_prv_resolveTaggingStrategy(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
133
|
+
aztec_prv_resolveCustomRequest(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
124
134
|
aztec_prv_getAppTaggingSecret(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
125
135
|
aztec_prv_getNextTaggingIndex(...inputs: ForeignCallArgs): Promise<import("./utils/encoding.js").ForeignCallResult>;
|
|
126
136
|
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3RyYW5zbGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ycGNfdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0QscUJBQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxZQUFZLFVBQVUsRUFBRSxNQUFNLEVBRTdCO0NBQ0Y7QUFFRCxxQkFBYSxhQUFhO0lBV3RCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBWHZCOzs7Ozs7OztPQVFHO0lBQ0gsWUFDVSxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNyQjtJQUtKLE9BQU8sQ0FBQyxhQUFhO0lBUXJCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGdCQUFnQjtJQVF4QixPQUFPLENBQUMsWUFBWTtJQVFwQixPQUFPLENBQUMsWUFBWTtJQVNwQix1Q0FBdUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQVFqRTtJQUtELCtCQUErQiw2REFNOUI7SUFHRCw4QkFBOEIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxlQUFlLDREQU94RDtJQUdELDZCQUE2QixDQUFDLEdBQUcsTUFBTSxFQUFFLGVBQWUsNERBTXZEO0lBR0QsOEJBQThCLENBQUMsR0FBRyxNQUFNLEVBQUUsZUFBZSw0REFN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rpc_translator.d.ts","sourceRoot":"","sources":["../src/rpc_translator.ts"],"names":[],"mappings":"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"}
|