@aztec/txe 0.0.1-commit.2f68f620 → 0.0.1-commit.3100065
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-W2NSX64C.js → chunk-PDOEF22H.js} +2 -2
- package/dest/{chunk-W2NSX64C.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/dispatcher_pool.d.ts +2 -2
- package/dest/dispatcher_pool.d.ts.map +1 -1
- package/dest/dispatcher_pool.js +5 -3
- package/dest/index.d.ts +2 -136
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -3
- package/dest/metafile.json +10346 -7008
- 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 +21 -7
- 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 +47 -24
- 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 +16 -8
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +116 -54
- 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 +21 -4
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +150 -80
- 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 +5 -2
- package/dest/state_machine/dummy_p2p_client.d.ts.map +1 -1
- package/dest/state_machine/dummy_p2p_client.js +9 -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 +41 -19
- 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 +26 -18
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +148 -38
- 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/dispatcher_pool.ts +4 -3
- package/src/index.ts +6 -4
- 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 +121 -41
- package/src/oracle/txe_oracle_public_context.ts +16 -14
- package/src/oracle/txe_oracle_registry.ts +154 -16
- package/src/oracle/txe_oracle_top_level_context.ts +157 -55
- package/src/oracle/txe_oracle_version.ts +3 -3
- package/src/rpc_translator.ts +205 -107
- package/src/state_machine/archiver.ts +0 -1
- package/src/state_machine/dummy_p2p_client.ts +13 -0
- package/src/state_machine/global_variable_builder.ts +2 -16
- package/src/state_machine/index.ts +50 -34
- package/src/state_machine/synchronizer.ts +8 -2
- package/src/txe_session.ts +263 -42
- 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/ContractClassRegistry-PII7Q556.js +0 -3
- package/dest/ContractClassRegistry-PII7Q556.js.map +0 -7
- package/dest/ContractInstanceRegistry-3MHLGFNZ.js +0 -3
- package/dest/ContractInstanceRegistry-3MHLGFNZ.js.map +0 -7
- package/dest/FeeJuice-TQV5AQK7.js +0 -3
- package/dest/FeeJuice-TQV5AQK7.js.map +0 -7
- package/dest/MultiCallEntrypoint-SBJUIJY7.js +0 -3
- package/dest/MultiCallEntrypoint-SBJUIJY7.js.map +0 -7
- package/dest/SchnorrAccount-MQXPIZ44.js +0 -3
- package/dest/SchnorrAccount-MQXPIZ44.js.map +0 -7
- package/dest/chunk-CDITIZHX.js +0 -257
- package/dest/chunk-CDITIZHX.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
package/dest/txe_session.js
CHANGED
|
@@ -3,8 +3,8 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { KeyStore } from '@aztec/key-store';
|
|
5
5
|
import { openEphemeralStore } from '@aztec/kv-store/lmdb-v2';
|
|
6
|
-
import { AddressStore, AnchorBlockStore, CapsuleService, CapsuleStore, JobCoordinator, NoteService, NoteStore, PrivateEventStore, RecipientTaggingStore,
|
|
7
|
-
import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache,
|
|
6
|
+
import { AddressStore, AnchorBlockStore, AnchoredContractData, CapsuleService, CapsuleStore, FactService, FactStore, JobCoordinator, NoteService, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderTaggingStore, TaggingSecretSourcesStore, composeHooks } from '@aztec/pxe/server';
|
|
7
|
+
import { ExecutionNoteCache, ExecutionTaggingIndexCache, HashedValuesCache, LEGACY_ORACLE_REGISTRY, TransientArrayService, UtilityExecutionOracle, buildACIRCallback } from '@aztec/pxe/simulator';
|
|
8
8
|
import { ExecutionError, WASMSimulator, createSimulationError, extractCallStack, resolveAssertionMessageFromError, toACVMWitness } from '@aztec/simulator/client';
|
|
9
9
|
import { STANDARD_AUTH_REGISTRY_ADDRESS } from '@aztec/standard-contracts/auth-registry/constants';
|
|
10
10
|
import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
|
|
@@ -14,11 +14,13 @@ import { makeGlobalVariables } from '@aztec/stdlib/testing';
|
|
|
14
14
|
import { CallContext, OFFCHAIN_MESSAGE_IDENTIFIER, TxContext } from '@aztec/stdlib/tx';
|
|
15
15
|
import { z } from 'zod';
|
|
16
16
|
import { DEFAULT_ADDRESS, MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY, MAX_OFFCHAIN_EFFECT_LEN } from './constants.js';
|
|
17
|
+
import { makeResolveTaggingSecretStrategyHook } from './oracle/tagging_secret_strategy.js';
|
|
17
18
|
import { TXEOraclePublicContext } from './oracle/txe_oracle_public_context.js';
|
|
19
|
+
import { callTxeLegacyHandler } from './oracle/txe_oracle_registry.js';
|
|
18
20
|
import { TXEOracleTopLevelContext } from './oracle/txe_oracle_top_level_context.js';
|
|
19
21
|
import { TXE_ORACLE_VERSION_MAJOR, TXE_ORACLE_VERSION_MINOR } from './oracle/txe_oracle_version.js';
|
|
20
22
|
import { TXEPrivateExecutionOracle } from './oracle/txe_private_execution_oracle.js';
|
|
21
|
-
import { RPCTranslator } from './rpc_translator.js';
|
|
23
|
+
import { RPCTranslator, UnavailableOracleError } from './rpc_translator.js';
|
|
22
24
|
import { TXEArchiver } from './state_machine/archiver.js';
|
|
23
25
|
import { TXEStateMachine } from './state_machine/index.js';
|
|
24
26
|
import { getSingleTxBlockRequestHash, insertTxEffectIntoWorldTrees, makeTXEBlock } from './utils/block_creation.js';
|
|
@@ -47,8 +49,9 @@ function emptyLastCallState() {
|
|
|
47
49
|
accountStore;
|
|
48
50
|
senderTaggingStore;
|
|
49
51
|
recipientTaggingStore;
|
|
50
|
-
|
|
52
|
+
taggingSecretSourcesStore;
|
|
51
53
|
capsuleStore;
|
|
54
|
+
factStore;
|
|
52
55
|
privateEventStore;
|
|
53
56
|
jobCoordinator;
|
|
54
57
|
currentJobId;
|
|
@@ -60,10 +63,11 @@ function emptyLastCallState() {
|
|
|
60
63
|
packageName;
|
|
61
64
|
state;
|
|
62
65
|
authwits;
|
|
66
|
+
taggingSecretStrategies;
|
|
63
67
|
lastCallInfo;
|
|
64
68
|
txeOracleVersion;
|
|
65
69
|
disposed;
|
|
66
|
-
constructor(logger, sessionStore, stateMachine, oracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore,
|
|
70
|
+
constructor(logger, sessionStore, stateMachine, oracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, jobCoordinator, currentJobId, chainId, version, nextBlockTimestamp, artifactResolver, rootPath, packageName){
|
|
67
71
|
this.logger = logger;
|
|
68
72
|
this.sessionStore = sessionStore;
|
|
69
73
|
this.stateMachine = stateMachine;
|
|
@@ -75,8 +79,9 @@ function emptyLastCallState() {
|
|
|
75
79
|
this.accountStore = accountStore;
|
|
76
80
|
this.senderTaggingStore = senderTaggingStore;
|
|
77
81
|
this.recipientTaggingStore = recipientTaggingStore;
|
|
78
|
-
this.
|
|
82
|
+
this.taggingSecretSourcesStore = taggingSecretSourcesStore;
|
|
79
83
|
this.capsuleStore = capsuleStore;
|
|
84
|
+
this.factStore = factStore;
|
|
80
85
|
this.privateEventStore = privateEventStore;
|
|
81
86
|
this.jobCoordinator = jobCoordinator;
|
|
82
87
|
this.currentJobId = currentJobId;
|
|
@@ -90,6 +95,7 @@ function emptyLastCallState() {
|
|
|
90
95
|
name: 'TOP_LEVEL'
|
|
91
96
|
};
|
|
92
97
|
this.authwits = new Map();
|
|
98
|
+
this.taggingSecretStrategies = new Map();
|
|
93
99
|
this.lastCallInfo = emptyLastCallState();
|
|
94
100
|
this.disposed = false;
|
|
95
101
|
}
|
|
@@ -123,13 +129,15 @@ function emptyLastCallState() {
|
|
|
123
129
|
const noteStore = new NoteStore(store);
|
|
124
130
|
const senderTaggingStore = new SenderTaggingStore(store);
|
|
125
131
|
const recipientTaggingStore = new RecipientTaggingStore(store);
|
|
126
|
-
const
|
|
132
|
+
const taggingSecretSourcesStore = new TaggingSecretSourcesStore(store);
|
|
127
133
|
const capsuleStore = new CapsuleStore(store);
|
|
134
|
+
const factStore = new FactStore(store);
|
|
128
135
|
const keyStore = new KeyStore(store);
|
|
129
136
|
const accountStore = new TXEAccountStore(store);
|
|
130
137
|
const jobCoordinator = new JobCoordinator(store);
|
|
131
138
|
jobCoordinator.registerStores([
|
|
132
139
|
capsuleStore,
|
|
140
|
+
factStore,
|
|
133
141
|
senderTaggingStore,
|
|
134
142
|
recipientTaggingStore,
|
|
135
143
|
privateEventStore,
|
|
@@ -143,11 +151,11 @@ function emptyLastCallState() {
|
|
|
143
151
|
const chainId = new Fr(await stateMachine.node.getChainId());
|
|
144
152
|
const initialJobId = jobCoordinator.beginJob();
|
|
145
153
|
const logger = createLogger('txe:session');
|
|
146
|
-
const topLevelOracleHandler = new TXEOracleTopLevelContext(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore,
|
|
154
|
+
const topLevelOracleHandler = new TXEOracleTopLevelContext(stateMachine, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, nextBlockTimestamp, version, chainId, new Map(), new Map(), artifactResolver, rootPath, packageName);
|
|
147
155
|
await topLevelOracleHandler.mineDeploymentNullifiers([
|
|
148
156
|
STANDARD_AUTH_REGISTRY_ADDRESS
|
|
149
157
|
]);
|
|
150
|
-
return new TXESession(logger, store, stateMachine, topLevelOracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore,
|
|
158
|
+
return new TXESession(logger, store, stateMachine, topLevelOracleHandler, contractStore, noteStore, keyStore, addressStore, accountStore, senderTaggingStore, recipientTaggingStore, taggingSecretSourcesStore, capsuleStore, factStore, privateEventStore, jobCoordinator, initialJobId, version, chainId, nextBlockTimestamp, artifactResolver, rootPath, packageName);
|
|
151
159
|
}
|
|
152
160
|
/**
|
|
153
161
|
* Processes an oracle function invoked by the Noir test associated to this session.
|
|
@@ -156,6 +164,13 @@ function emptyLastCallState() {
|
|
|
156
164
|
* @returns The oracle return values.
|
|
157
165
|
*/ processFunction(functionName, inputs) {
|
|
158
166
|
try {
|
|
167
|
+
// Oracles retired into the PXE legacy registry have no translator method; dispatch them through the same
|
|
168
|
+
// buildACIRCallback legacy path that contract execution uses, keeping TXE's two oracle paths in sync.
|
|
169
|
+
// Use an own-property check: `in` would match inherited `Object.prototype` keys (e.g. `constructor`), routing
|
|
170
|
+
// them into the legacy path instead of letting them fall through to the unknown-oracle error.
|
|
171
|
+
if (Object.hasOwn(LEGACY_ORACLE_REGISTRY, functionName)) {
|
|
172
|
+
return callTxeLegacyHandler(functionName, inputs, this.oracleHandler);
|
|
173
|
+
}
|
|
159
174
|
const translator = new RPCTranslator(this, this.oracleHandler);
|
|
160
175
|
// We perform a runtime validation to check that the function name corresponds to a real oracle handler.
|
|
161
176
|
const validatedFunctionName = z.string().refine((fn)=>typeof translator[fn] === 'function' && !fn.startsWith('handlerAs') && fn !== 'constructor').parse(functionName);
|
|
@@ -178,9 +193,6 @@ function emptyLastCallState() {
|
|
|
178
193
|
}
|
|
179
194
|
}
|
|
180
195
|
}
|
|
181
|
-
getCurrentJob() {
|
|
182
|
-
return this.currentJobId;
|
|
183
|
-
}
|
|
184
196
|
/** Commits the current job and begins a new one. Returns the new job ID. */ async cycleJob() {
|
|
185
197
|
await this.jobCoordinator.commitJob(this.currentJobId);
|
|
186
198
|
this.currentJobId = this.jobCoordinator.beginJob();
|
|
@@ -229,6 +241,73 @@ function emptyLastCallState() {
|
|
|
229
241
|
anchorBlockTimestamp
|
|
230
242
|
};
|
|
231
243
|
}
|
|
244
|
+
async executePrivateCall(from, targetContractAddress, functionSelector, args, argsHash, isStaticCall, additionalScopes, authorizedUtilityCallTargets, gasSettings) {
|
|
245
|
+
const handler = this.handlerAsTxe();
|
|
246
|
+
return await this.withTopLevelCallTracking(async ()=>{
|
|
247
|
+
const { returnValues, offchainEffects } = await handler.privateCallNewFlow(from?.value, targetContractAddress, functionSelector, args, argsHash, isStaticCall, additionalScopes, this.currentJobId, authorizedUtilityCallTargets, gasSettings);
|
|
248
|
+
// Private execution collects offchain effects inside PXE's PrivateExecutionOracle rather than round-tripping
|
|
249
|
+
// them through `aztec_utl_emitOffchainEffect`, so the session buffer is empty at this point. Drain the effects
|
|
250
|
+
// from the execution tree into the session buffer so the next `env.offchain_messages()` call in the test sees
|
|
251
|
+
// them.
|
|
252
|
+
for (const data of offchainEffects){
|
|
253
|
+
this.recordOffchainEffect(data);
|
|
254
|
+
}
|
|
255
|
+
await this.cycleJob();
|
|
256
|
+
if (isStaticCall) {
|
|
257
|
+
// Static calls revert their checkpoint and mine no block, so there is no tx hash to tag offchain effects
|
|
258
|
+
// with. Querying `getLastTxEffects()` here would return an unrelated predecessor tx.
|
|
259
|
+
return {
|
|
260
|
+
result: returnValues
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
const { txHash } = await handler.getLastTxEffects();
|
|
264
|
+
return {
|
|
265
|
+
result: returnValues,
|
|
266
|
+
txHash: txHash.hash
|
|
267
|
+
};
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
async executeUtilityFunction(from, targetContractAddress, functionSelector, args, authorizedUtilityCallTargets) {
|
|
271
|
+
const handler = this.handlerAsTxe();
|
|
272
|
+
return await this.withTopLevelCallTracking(async ()=>{
|
|
273
|
+
const returnValues = await handler.executeUtilityFunction(from?.value, targetContractAddress, functionSelector, args, this.currentJobId, authorizedUtilityCallTargets);
|
|
274
|
+
await this.cycleJob();
|
|
275
|
+
return {
|
|
276
|
+
result: returnValues
|
|
277
|
+
};
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
async executePublicCall(from, targetContractAddress, calldata, isStaticCall, gasSettings) {
|
|
281
|
+
const handler = this.handlerAsTxe();
|
|
282
|
+
return await this.withTopLevelCallTracking(async ()=>{
|
|
283
|
+
const returnValues = await handler.publicCallNewFlow(from?.value, targetContractAddress, calldata, isStaticCall, gasSettings);
|
|
284
|
+
await this.cycleJob();
|
|
285
|
+
if (isStaticCall) {
|
|
286
|
+
// See the equivalent branch in `executePrivateCall`.
|
|
287
|
+
return {
|
|
288
|
+
result: returnValues
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
const { txHash } = await handler.getLastTxEffects();
|
|
292
|
+
return {
|
|
293
|
+
result: returnValues,
|
|
294
|
+
txHash: txHash.hash
|
|
295
|
+
};
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
async getPrivateEvents(selector, contractAddress, scope) {
|
|
299
|
+
const handler = this.handlerAsTxe();
|
|
300
|
+
await handler.syncContractNonOracleMethod(contractAddress, scope, this.currentJobId);
|
|
301
|
+
// Cycle the job to commit the stores after the contract sync.
|
|
302
|
+
await this.cycleJob();
|
|
303
|
+
return handler.getPrivateEvents(selector, contractAddress, scope);
|
|
304
|
+
}
|
|
305
|
+
handlerAsTxe() {
|
|
306
|
+
if (!('isTxe' in this.oracleHandler)) {
|
|
307
|
+
throw new UnavailableOracleError('Txe');
|
|
308
|
+
}
|
|
309
|
+
return this.oracleHandler;
|
|
310
|
+
}
|
|
232
311
|
setTxeOracleVersion(major, minor) {
|
|
233
312
|
if (major !== TXE_ORACLE_VERSION_MAJOR) {
|
|
234
313
|
const hint = major > TXE_ORACLE_VERSION_MAJOR ? 'The test was compiled with a newer version of Aztec.nr than your test environment supports. Upgrade your test environment to a compatible version.' : 'The test was compiled with an older version of Aztec.nr than your test environment supports. Recompile the test with a compatible version of Aztec.nr.';
|
|
@@ -268,7 +347,7 @@ function emptyLastCallState() {
|
|
|
268
347
|
}
|
|
269
348
|
// Commit all staged stores from the job that was just completed, then begin a new job
|
|
270
349
|
await this.cycleJob();
|
|
271
|
-
this.oracleHandler = new TXEOracleTopLevelContext(this.stateMachine, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.accountStore, this.senderTaggingStore, this.recipientTaggingStore, this.
|
|
350
|
+
this.oracleHandler = new TXEOracleTopLevelContext(this.stateMachine, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.accountStore, this.senderTaggingStore, this.recipientTaggingStore, this.taggingSecretSourcesStore, this.capsuleStore, this.factStore, this.privateEventStore, this.nextBlockTimestamp, this.version, this.chainId, this.authwits, this.taggingSecretStrategies, this.artifactResolver, this.rootPath, this.packageName);
|
|
272
351
|
this.state = {
|
|
273
352
|
name: 'TOP_LEVEL'
|
|
274
353
|
};
|
|
@@ -296,9 +375,12 @@ function emptyLastCallState() {
|
|
|
296
375
|
const noteCache = new ExecutionNoteCache(protocolNullifier);
|
|
297
376
|
const taggingIndexCache = new ExecutionTaggingIndexCache();
|
|
298
377
|
const utilityExecutor = this.utilityExecutorForContractSync(anchorBlock);
|
|
378
|
+
const transientArrayService = new TransientArrayService();
|
|
379
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlock);
|
|
299
380
|
this.oracleHandler = new TXEPrivateExecutionOracle({
|
|
300
381
|
argsHash: Fr.ZERO,
|
|
301
382
|
txContext: new TxContext(this.chainId, this.version, gasSettings),
|
|
383
|
+
txRequestSalt: Fr.ZERO,
|
|
302
384
|
callContext: new CallContext(AztecAddress.ZERO, contractAddress, FunctionSelector.empty(), false),
|
|
303
385
|
anchorBlockHeader: anchorBlock,
|
|
304
386
|
utilityExecutor,
|
|
@@ -307,22 +389,27 @@ function emptyLastCallState() {
|
|
|
307
389
|
executionCache: new HashedValuesCache(),
|
|
308
390
|
noteCache,
|
|
309
391
|
taggingIndexCache,
|
|
310
|
-
|
|
392
|
+
anchoredContractData,
|
|
311
393
|
noteStore: this.noteStore,
|
|
312
394
|
keyStore: this.keyStore,
|
|
313
395
|
addressStore: this.addressStore,
|
|
314
396
|
aztecNode: this.stateMachine.node,
|
|
315
397
|
senderTaggingStore: this.senderTaggingStore,
|
|
316
398
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
317
|
-
|
|
399
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
318
400
|
capsuleService: new CapsuleService(this.capsuleStore, await this.keyStore.getAccounts()),
|
|
401
|
+
factService: new FactService(this.factStore, await this.keyStore.getAccounts()),
|
|
319
402
|
privateEventStore: this.privateEventStore,
|
|
320
403
|
contractSyncService: this.stateMachine.contractSyncService,
|
|
321
404
|
l2TipsStore: this.stateMachine.l2TipsProvider,
|
|
322
405
|
jobId: this.currentJobId,
|
|
323
406
|
scopes: await this.keyStore.getAccounts(),
|
|
324
|
-
|
|
325
|
-
simulator: new WASMSimulator()
|
|
407
|
+
txResolver: this.stateMachine.txResolver,
|
|
408
|
+
simulator: new WASMSimulator(),
|
|
409
|
+
hooks: composeHooks({
|
|
410
|
+
resolveTaggingSecretStrategy: makeResolveTaggingSecretStrategyHook(this.taggingSecretStrategies)
|
|
411
|
+
}),
|
|
412
|
+
transientArrayService
|
|
326
413
|
});
|
|
327
414
|
// We store the note and tagging index caches fed into the PrivateExecutionOracle (along with some other auxiliary
|
|
328
415
|
// data) in order to refer to it later, mimicking the way this object is used by the ContractFunctionSimulator. The
|
|
@@ -374,26 +461,35 @@ function emptyLastCallState() {
|
|
|
374
461
|
// TODO(#12553): make the synchronizer sync here instead and remove this
|
|
375
462
|
await new NoteService(this.noteStore, this.stateMachine.node, anchorBlockHeader, this.currentJobId).syncNoteNullifiers(contractAddress, await this.keyStore.getAccounts());
|
|
376
463
|
this.oracleHandler = new UtilityExecutionOracle({
|
|
377
|
-
|
|
464
|
+
callContext: CallContext.from({
|
|
465
|
+
msgSender: AztecAddress.NULL_MSG_SENDER,
|
|
466
|
+
contractAddress,
|
|
467
|
+
// No specific function is being executed in this inlined utility context, hence the empty selector.
|
|
468
|
+
functionSelector: FunctionSelector.empty(),
|
|
469
|
+
isStaticCall: true
|
|
470
|
+
}),
|
|
378
471
|
authWitnesses: [],
|
|
379
472
|
capsules: [],
|
|
380
473
|
anchorBlockHeader,
|
|
381
|
-
|
|
474
|
+
anchoredContractData: new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlockHeader),
|
|
382
475
|
noteStore: this.noteStore,
|
|
383
476
|
keyStore: this.keyStore,
|
|
384
477
|
addressStore: this.addressStore,
|
|
385
478
|
aztecNode: this.stateMachine.node,
|
|
386
479
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
387
|
-
|
|
480
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
388
481
|
capsuleService: new CapsuleService(this.capsuleStore, await this.keyStore.getAccounts()),
|
|
482
|
+
factService: new FactService(this.factStore, await this.keyStore.getAccounts()),
|
|
389
483
|
privateEventStore: this.privateEventStore,
|
|
390
|
-
|
|
484
|
+
txResolver: this.stateMachine.txResolver,
|
|
391
485
|
contractSyncService: this.stateMachine.contractSyncService,
|
|
392
486
|
l2TipsStore: this.stateMachine.l2TipsProvider,
|
|
393
487
|
jobId: this.currentJobId,
|
|
394
488
|
scopes: await this.keyStore.getAccounts(),
|
|
395
489
|
simulator: new WASMSimulator(),
|
|
396
|
-
utilityExecutor: this.utilityExecutorForContractSync(anchorBlockHeader)
|
|
490
|
+
utilityExecutor: this.utilityExecutorForContractSync(anchorBlockHeader),
|
|
491
|
+
// Execution-tree root (top-level utility run): own store; nested frames inherit it.
|
|
492
|
+
transientArrayService: new TransientArrayService()
|
|
397
493
|
});
|
|
398
494
|
this.state = {
|
|
399
495
|
name: 'UTILITY'
|
|
@@ -407,15 +503,17 @@ function emptyLastCallState() {
|
|
|
407
503
|
throw new Error(`Expected to be in state 'TOP_LEVEL', but got '${this.state.name}' instead`);
|
|
408
504
|
}
|
|
409
505
|
// Note that while all public and private contexts do is build a single block that we then process when exiting
|
|
410
|
-
//
|
|
411
|
-
//
|
|
412
|
-
//
|
|
413
|
-
//
|
|
414
|
-
//
|
|
415
|
-
//
|
|
416
|
-
// the
|
|
417
|
-
//
|
|
418
|
-
|
|
506
|
+
// them, the top level context does most of its work as it goes: it creates empty blocks (via `advanceBlocksBy`
|
|
507
|
+
// and `deploy`), creates blocks with transactions (via `privateCallNewFlow` and `publicCallNewFlow`), adds
|
|
508
|
+
// accounts to PXE (via `addAccount`), etc. This is a slight inconsistency in the working model of this class, but
|
|
509
|
+
// is not too bad. The `close` call below therefore only hands back the session-scoped values that a test
|
|
510
|
+
// sets directly at the top level, outside any contract execution (e.g. via `advanceTimestampBy`,
|
|
511
|
+
// `addAuthWitness`, `setTaggingSecretStrategies`). The oracle handler is discarded on every state transition,
|
|
512
|
+
// so the session must seed these values into the contexts it creates later.
|
|
513
|
+
// TODO: persisting authwits this way is quite unfortunate: they create a temporary utility context that would
|
|
514
|
+
// otherwise reset them, so we'd not be able to pass more than one per execution. Ideally authwits would be passed
|
|
515
|
+
// alongside a contract call instead of pre-seeded.
|
|
516
|
+
[this.nextBlockTimestamp, this.authwits, this.taggingSecretStrategies] = this.oracleHandler.close();
|
|
419
517
|
}
|
|
420
518
|
async exitPrivateState() {
|
|
421
519
|
if (this.state.name != 'PRIVATE') {
|
|
@@ -454,35 +552,47 @@ function emptyLastCallState() {
|
|
|
454
552
|
}
|
|
455
553
|
utilityExecutorForContractSync(anchorBlock) {
|
|
456
554
|
return async (call, scopes)=>{
|
|
457
|
-
const
|
|
555
|
+
const anchoredContractData = new AnchoredContractData(this.contractStore, this.stateMachine.contractClassService, anchorBlock);
|
|
556
|
+
const entryPointArtifact = await anchoredContractData.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
|
|
557
|
+
if (!entryPointArtifact) {
|
|
558
|
+
throw new Error(`Cannot run function ${call.selector} on ${call.to}: the contract is not registered.`);
|
|
559
|
+
}
|
|
458
560
|
if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
|
|
459
561
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
|
|
460
562
|
}
|
|
461
563
|
try {
|
|
462
564
|
const simulator = new WASMSimulator();
|
|
463
565
|
const oracle = new UtilityExecutionOracle({
|
|
464
|
-
|
|
566
|
+
callContext: CallContext.from({
|
|
567
|
+
msgSender: AztecAddress.NULL_MSG_SENDER,
|
|
568
|
+
contractAddress: call.to,
|
|
569
|
+
functionSelector: call.selector,
|
|
570
|
+
isStaticCall: true
|
|
571
|
+
}),
|
|
465
572
|
authWitnesses: [],
|
|
466
573
|
capsules: [],
|
|
467
574
|
anchorBlockHeader: anchorBlock,
|
|
468
|
-
|
|
575
|
+
anchoredContractData,
|
|
469
576
|
noteStore: this.noteStore,
|
|
470
577
|
keyStore: this.keyStore,
|
|
471
578
|
addressStore: this.addressStore,
|
|
472
579
|
aztecNode: this.stateMachine.node,
|
|
473
580
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
474
|
-
|
|
581
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
475
582
|
capsuleService: new CapsuleService(this.capsuleStore, scopes),
|
|
583
|
+
factService: new FactService(this.factStore, scopes),
|
|
476
584
|
privateEventStore: this.privateEventStore,
|
|
477
|
-
|
|
585
|
+
txResolver: this.stateMachine.txResolver,
|
|
478
586
|
contractSyncService: this.stateMachine.contractSyncService,
|
|
479
587
|
l2TipsStore: this.stateMachine.l2TipsProvider,
|
|
480
588
|
jobId: this.currentJobId,
|
|
481
589
|
scopes,
|
|
482
590
|
simulator,
|
|
483
|
-
utilityExecutor: this.utilityExecutorForContractSync(anchorBlock)
|
|
591
|
+
utilityExecutor: this.utilityExecutorForContractSync(anchorBlock),
|
|
592
|
+
// Top-level utility entrypoint: gets a fresh store. Nested frames inherit it via UtilityExecutionOracle.
|
|
593
|
+
transientArrayService: new TransientArrayService()
|
|
484
594
|
});
|
|
485
|
-
await simulator.executeUserCircuit(toACVMWitness(0, call.args), entryPointArtifact,
|
|
595
|
+
await simulator.executeUserCircuit(toACVMWitness(0, call.args), entryPointArtifact, buildACIRCallback(oracle)).catch((err)=>{
|
|
486
596
|
err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
|
|
487
597
|
throw new ExecutionError(err.message, {
|
|
488
598
|
contractAddress: call.to,
|
|
@@ -9,7 +9,7 @@ import { BlockHeader, GlobalVariables, TxEffect } from '@aztec/stdlib/tx';
|
|
|
9
9
|
* @returns The transaction request hash.
|
|
10
10
|
*/
|
|
11
11
|
export declare function getSingleTxBlockRequestHash(blockNumber: BlockNumber): Fr;
|
|
12
|
-
export declare function insertTxEffectIntoWorldTrees(txEffect: TxEffect, worldTrees: MerkleTreeWriteOperations): Promise<void>;
|
|
12
|
+
export declare function insertTxEffectIntoWorldTrees(txEffect: TxEffect, worldTrees: MerkleTreeWriteOperations, l1ToL2Messages?: Fr[]): Promise<void>;
|
|
13
13
|
export declare function makeTXEBlockHeader(worldTrees: MerkleTreeWriteOperations, globalVariables: GlobalVariables): Promise<BlockHeader>;
|
|
14
14
|
/**
|
|
15
15
|
* Creates an L2Block with proper archive chaining.
|
|
@@ -25,4 +25,4 @@ export declare function makeTXEBlockHeader(worldTrees: MerkleTreeWriteOperations
|
|
|
25
25
|
* @returns The created L2Block with proper archive chaining
|
|
26
26
|
*/
|
|
27
27
|
export declare function makeTXEBlock(worldTrees: MerkleTreeWriteOperations, globalVariables: GlobalVariables, txEffects: TxEffect[]): Promise<L2Block>;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfY3JlYXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9ibG9ja19jcmVhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsV0FBVyxFQUEyQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXZHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQVEsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUF3QyxLQUFLLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUU7Ozs7R0FJRztBQUNILHdCQUFnQiwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLEVBQUUsQ0FFeEU7QUFFRCx3QkFBc0IsNEJBQTRCLENBQ2hELFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsY0FBYyxHQUFFLEVBQUUsRUFBTyxHQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLENBa0JmO0FBRUQsd0JBQXNCLGtCQUFrQixDQUN0QyxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLGVBQWUsRUFBRSxlQUFlLEdBQy9CLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FZdEI7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCx3QkFBc0IsWUFBWSxDQUNoQyxVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FDcEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWlCbEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_creation.d.ts","sourceRoot":"","sources":["../../src/utils/block_creation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAA2C,MAAM,iCAAiC,CAAC;AAEvG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAwC,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,CAExE;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,yBAAyB,
|
|
1
|
+
{"version":3,"file":"block_creation.d.ts","sourceRoot":"","sources":["../../src/utils/block_creation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAA2C,MAAM,iCAAiC,CAAC;AAEvG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAwC,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,EAAE,CAExE;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,yBAAyB,EACrC,cAAc,GAAE,EAAE,EAAO,GACxB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
|
|
@@ -12,10 +12,10 @@ import { BlockHeader } from '@aztec/stdlib/tx';
|
|
|
12
12
|
*/ export function getSingleTxBlockRequestHash(blockNumber) {
|
|
13
13
|
return new Fr(blockNumber + 9999); // Why does this need to be a high number? Why do small numbered nullifiers already exist?
|
|
14
14
|
}
|
|
15
|
-
export async function insertTxEffectIntoWorldTrees(txEffect, worldTrees) {
|
|
15
|
+
export async function insertTxEffectIntoWorldTrees(txEffect, worldTrees, l1ToL2Messages = []) {
|
|
16
16
|
await worldTrees.appendLeaves(MerkleTreeId.NOTE_HASH_TREE, padArrayEnd(txEffect.noteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX));
|
|
17
17
|
await worldTrees.batchInsert(MerkleTreeId.NULLIFIER_TREE, padArrayEnd(txEffect.nullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX).map((nullifier)=>nullifier.toBuffer()), NULLIFIER_SUBTREE_HEIGHT);
|
|
18
|
-
await worldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, padArrayEnd(
|
|
18
|
+
await worldTrees.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
|
|
19
19
|
// We do not need to add public data writes because we apply them as we go.
|
|
20
20
|
}
|
|
21
21
|
export async function makeTXEBlockHeader(worldTrees, globalVariables) {
|
package/dest/utils/encoding.d.ts
CHANGED
|
@@ -159,11 +159,10 @@ export declare const ForeignCallArgsSchema: z.ZodArray<z.ZodUnion<readonly [z.Zo
|
|
|
159
159
|
name: z.ZodString;
|
|
160
160
|
}, z.core.$strip>>;
|
|
161
161
|
}, z.core.$strip>>;
|
|
162
|
-
}, z.core.$strip>, z.ZodIntersection<z.ZodObject<{
|
|
162
|
+
}, z.core.$strip>, z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
|
|
163
163
|
version: z.ZodLiteral<2>;
|
|
164
164
|
salt: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
165
165
|
deployer: import("@aztec/foundation/schemas").ZodFor<AztecAddress>;
|
|
166
|
-
currentContractClassId: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
167
166
|
originalContractClassId: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
168
167
|
initializationHash: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
169
168
|
immutablesHash: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
@@ -183,9 +182,11 @@ export declare const ForeignCallArgsSchema: z.ZodArray<z.ZodUnion<readonly [z.Zo
|
|
|
183
182
|
fbpkMHash: Fr;
|
|
184
183
|
}>>;
|
|
185
184
|
}, z.core.$strip>, z.ZodObject<{
|
|
185
|
+
currentContractClassId: import("@aztec/foundation/schemas").ZodFor<Fr>;
|
|
186
|
+
}, z.core.$strip>>, z.ZodObject<{
|
|
186
187
|
address: import("@aztec/foundation/schemas").ZodFor<AztecAddress>;
|
|
187
188
|
}, z.core.$strip>>]>>;
|
|
188
189
|
export declare const ForeignCallResultSchema: z.ZodObject<{
|
|
189
190
|
values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
190
191
|
}, z.core.$strip>;
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTBCLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSywyQkFBMkIsRUFBcUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFFdkMsTUFBTSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBRXhDLE1BQU0sTUFBTSxlQUFlLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRywyQkFBMkIsQ0FBQyxFQUFFLENBQUM7QUFFeEgsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztDQUNsRCxDQUFDO0FBRUYsd0JBQWdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLE1BRWhEO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxpQkFBaUIsZ0JBRXZEO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxpQkFBaUIsYUFFekQ7QUFFRCx3QkFBZ0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsUUFFOUM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBTWhGO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FPcEg7QUFJRCx3QkFBZ0IsUUFBUSxDQUN0QixLQUFLLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxFQUFFLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUN6RSxpQkFBaUIsQ0FZbkI7QUFFRCx3QkFBZ0IsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxnQkFBZ0IsQ0FFcEQ7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLHFCQUUvQztBQUVELHdCQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FFaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixXQUFXLEVBQUUsZ0JBQWdCLEVBQzdCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxDQVl2QztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEVBQy9CLE1BQU0sRUFBRSxNQUFNLEVBQ2QsaUJBQWlCLEVBQUUsTUFBTSxHQUN4QixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBc0J2QztBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFOztFQUVoRjtBQUVELGVBQU8sTUFBTSx1QkFBdUIsYUFBYSxDQUFDO0FBRWxELGVBQU8sTUFBTSxzQkFBc0IseUJBQXNCLENBQUM7QUFFMUQsZUFBTyxNQUFNLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBRWpDLENBQUM7QUFFRixlQUFPLE1BQU0sdUJBQXVCOztpQkFFbEMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,2BAA2B,EAAqC,MAAM,wBAAwB,CAAC;AAE7G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,2BAA2B,CAAC,EAAE,CAAC;AAExH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;CAClD,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,MAEhD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,gBAEvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,aAEzD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,gBAAgB,QAE9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAOpH;AAID,wBAAgB,QAAQ,CACtB,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GACzE,iBAAiB,CAYnB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,qBAE/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,GACb,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAYvC;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,gBAAgB,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACxB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAsBvC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE;;EAEhF;AAED,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,yBAAsB,CAAC;AAE1D,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,2BAA2B,EAAqC,MAAM,wBAAwB,CAAC;AAE7G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,2BAA2B,CAAC,EAAE,CAAC;AAExH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;CAClD,CAAC;AAEF,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,MAEhD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,gBAEvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,aAEzD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,gBAAgB,QAE9C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAOpH;AAID,wBAAgB,QAAQ,CACtB,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GACzE,iBAAiB,CAYnB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,qBAE/C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,gBAAgB,EAC7B,MAAM,EAAE,MAAM,GACb,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAYvC;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,gBAAgB,EAAE,EAC/B,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACxB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAsBvC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE;;EAEhF;AAED,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,yBAAsB,CAAC;AAE1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAEjC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;iBAElC,CAAC"}
|
|
@@ -2,4 +2,4 @@ import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
|
2
2
|
import type { ExecutionNoteCache } from '@aztec/pxe/simulator';
|
|
3
3
|
import { TxEffect } from '@aztec/stdlib/tx';
|
|
4
4
|
export declare function makeTxEffect(noteCache: ExecutionNoteCache, txBlockNumber: BlockNumber): Promise<TxEffect>;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfZWZmZWN0X2NyZWF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdHhfZWZmZWN0X2NyZWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxRQUFRLEVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCx3QkFBc0IsWUFBWSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FxQi9HIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_effect_creation.d.ts","sourceRoot":"","sources":["../../src/utils/tx_effect_creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAU,MAAM,kBAAkB,CAAC;AAEpD,wBAAsB,YAAY,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"tx_effect_creation.d.ts","sourceRoot":"","sources":["../../src/utils/tx_effect_creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAU,MAAM,kBAAkB,CAAC;AAEpD,wBAAsB,YAAY,CAAC,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqB/G"}
|
|
@@ -3,7 +3,6 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash } from '@azte
|
|
|
3
3
|
import { TxEffect, TxHash } from '@aztec/stdlib/tx';
|
|
4
4
|
export async function makeTxEffect(noteCache, txBlockNumber) {
|
|
5
5
|
const txEffect = TxEffect.empty();
|
|
6
|
-
noteCache.finish();
|
|
7
6
|
const nonceGenerator = noteCache.getNonceGenerator();
|
|
8
7
|
txEffect.noteHashes = await Promise.all(noteCache.getAllNotes().map(async (pendingNote, i)=>computeUniqueNoteHash(await computeNoteHashNonce(nonceGenerator, i), await siloNoteHash(pendingNote.note.contractAddress, pendingNote.noteHashForConsumption))));
|
|
9
8
|
// Nullifiers are already siloed
|
|
@@ -17,4 +17,4 @@ export declare class TXEPublicContractDataSource implements ContractDataSource {
|
|
|
17
17
|
getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
18
18
|
registerContractFunctionSignatures(_signatures: []): Promise<void>;
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX3B1YmxpY19jb250cmFjdF9kYXRhX3NvdXJjZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3R4ZV9wdWJsaWNfY29udHJhY3RfZGF0YV9zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkgscUJBQWEsMkJBQTRCLFlBQVcsa0JBQWtCO0lBRWxFLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxhQUFhO0lBRnZCLFlBQ1UsV0FBVyxFQUFFLFdBQVcsRUFDeEIsYUFBYSxFQUFFLGFBQWEsRUFDbEM7SUFFSixjQUFjLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUVyQztJQUVLLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQVl2RTtJQUVLLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FHM0Q7SUFFSyxXQUFXLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDLENBSXpGO0lBRUQsbUJBQW1CLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRW5DO0lBRUssbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBR3RGO0lBRUssb0JBQW9CLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FHekc7SUFFRCxrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFakU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txe_public_contract_data_source.d.ts","sourceRoot":"","sources":["../../src/utils/txe_public_contract_data_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAEnH,qBAAa,2BAA4B,YAAW,kBAAkB;IAElE,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IAFvB,YACU,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAClC;IAEJ,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAErC;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAYvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"txe_public_contract_data_source.d.ts","sourceRoot":"","sources":["../../src/utils/txe_public_contract_data_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAEnH,qBAAa,2BAA4B,YAAW,kBAAkB;IAElE,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IAFvB,YACU,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAClC;IAEJ,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAErC;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAYvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAIzF;IAED,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEnC;IAEK,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGtF;IAEK,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGzG;IAED,kCAAkC,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;CACF"}
|
|
@@ -27,20 +27,23 @@ export class TXEPublicContractDataSource {
|
|
|
27
27
|
}
|
|
28
28
|
async getContract(address) {
|
|
29
29
|
const instance = await this.contractStore.getContractInstance(address);
|
|
30
|
+
// TXE has no contract updates, so the current class always equals the original.
|
|
30
31
|
return instance && {
|
|
31
32
|
...instance,
|
|
32
|
-
address
|
|
33
|
+
address,
|
|
34
|
+
currentContractClassId: instance.originalContractClassId
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
37
|
getContractClassIds() {
|
|
36
38
|
throw new Error('Method not implemented.');
|
|
37
39
|
}
|
|
38
40
|
async getContractArtifact(address) {
|
|
39
|
-
const instance = await this.
|
|
40
|
-
return instance && this.contractStore.getContractArtifact(instance.
|
|
41
|
+
const instance = await this.getContract(address);
|
|
42
|
+
return instance && this.contractStore.getContractArtifact(instance.originalContractClassId);
|
|
41
43
|
}
|
|
42
44
|
async getDebugFunctionName(address, selector) {
|
|
43
|
-
|
|
45
|
+
const instance = await this.getContract(address);
|
|
46
|
+
return instance && this.contractStore.getDebugFunctionName(instance.originalContractClassId, selector);
|
|
44
47
|
}
|
|
45
48
|
registerContractFunctionSignatures(_signatures) {
|
|
46
49
|
return Promise.resolve();
|
package/dest/worker.bundle.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __txeCreateRequire } from 'node:module';
|
|
2
2
|
const require = __txeCreateRequire(import.meta.url);
|
|
3
|
-
import{TXEDispatcher,activeSessionCount,createLogger}from"./chunk-
|
|
3
|
+
import{TXEDispatcher,activeSessionCount,createLogger}from"./chunk-YP4ODNMQ.js";import{__name}from"./chunk-BJVAAXNA.js";import{BackendType,Barretenberg,BarretenbergSync}from"@aztec/bb.js";import{parentPort,workerData}from"node:worker_threads";Barretenberg.initSingleton({backend:BackendType.Wasm,skipSrsInit:!0,threads:1});BarretenbergSync.initSingleton({backend:BackendType.Wasm});if(!parentPort)throw new Error("worker.ts must be loaded as a worker_thread");var port=parentPort,logger=createLogger("txe:worker"),dispatcherOpts={contractStoreSourceDir:workerData.contractStoreSourceDir,schnorrClassId:workerData.schnorrClassId},dispatcher=new TXEDispatcher(logger,dispatcherOpts);function serializeError(err){return err instanceof Error?{message:err.message,name:err.name,stack:err.stack}:{message:String(err)}}__name(serializeError,"serializeError");process.env.TXE_WORKER_MEMSTAT==="1"&&setInterval(()=>{let m=process.memoryUsage();port.postMessage({type:"memstat",sessions:activeSessionCount(),rss:m.rss,heapTotal:m.heapTotal,heapUsed:m.heapUsed,external:m.external,arrayBuffers:m.arrayBuffers})},2e3).unref();port.on("message",msg=>{switch(msg.type){case"foreign-call":(async()=>{try{let value=await dispatcher.resolve_foreign_call(msg.callData);port.postMessage({type:"result",requestId:msg.requestId,ok:!0,value})}catch(err){port.postMessage({type:"result",requestId:msg.requestId,ok:!1,error:serializeError(err)})}})();return;case"dispose-session":dispatcher.disposeSession(msg.sessionId).catch(err=>logger.warn("disposeSession failed",err));return}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/txe",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.3100065",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": {
|
|
@@ -69,22 +69,22 @@
|
|
|
69
69
|
]
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
73
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
74
|
-
"@aztec/aztec-node": "0.0.1-commit.
|
|
75
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
76
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
77
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
78
|
-
"@aztec/constants": "0.0.1-commit.
|
|
79
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
80
|
-
"@aztec/key-store": "0.0.1-commit.
|
|
81
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
82
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
83
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
84
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
85
|
-
"@aztec/standard-contracts": "0.0.1-commit.
|
|
86
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
87
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
72
|
+
"@aztec/accounts": "0.0.1-commit.3100065",
|
|
73
|
+
"@aztec/archiver": "0.0.1-commit.3100065",
|
|
74
|
+
"@aztec/aztec-node": "0.0.1-commit.3100065",
|
|
75
|
+
"@aztec/aztec.js": "0.0.1-commit.3100065",
|
|
76
|
+
"@aztec/bb-prover": "0.0.1-commit.3100065",
|
|
77
|
+
"@aztec/bb.js": "0.0.1-commit.3100065",
|
|
78
|
+
"@aztec/constants": "0.0.1-commit.3100065",
|
|
79
|
+
"@aztec/foundation": "0.0.1-commit.3100065",
|
|
80
|
+
"@aztec/key-store": "0.0.1-commit.3100065",
|
|
81
|
+
"@aztec/kv-store": "0.0.1-commit.3100065",
|
|
82
|
+
"@aztec/protocol-contracts": "0.0.1-commit.3100065",
|
|
83
|
+
"@aztec/pxe": "0.0.1-commit.3100065",
|
|
84
|
+
"@aztec/simulator": "0.0.1-commit.3100065",
|
|
85
|
+
"@aztec/standard-contracts": "0.0.1-commit.3100065",
|
|
86
|
+
"@aztec/stdlib": "0.0.1-commit.3100065",
|
|
87
|
+
"@aztec/world-state": "0.0.1-commit.3100065",
|
|
88
88
|
"msgpackr": "^1.11.2",
|
|
89
89
|
"zod": "^4"
|
|
90
90
|
},
|
|
@@ -5,8 +5,8 @@ import { startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
|
5
5
|
import { createOracleTestRpcServer } from '../oracle/test-resolver/index.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Starts an HTTP RPC server that resolves oracle foreign calls using
|
|
9
|
-
*
|
|
8
|
+
* Starts an HTTP RPC server that resolves oracle foreign calls using auto-synthesized fixture scenarios. Used by
|
|
9
|
+
* `nargo test --oracle-resolver` to run `#[generate_oracle_tests]` serialization tests against a dedicated resolver.
|
|
10
10
|
* Logs fixture coverage on shutdown.
|
|
11
11
|
*/
|
|
12
12
|
async function main() {
|