@aztec/txe 0.0.1-commit.fff30aa → 0.0.1-dev
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/oracle/interfaces.d.ts +10 -4
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.d.ts +12 -7
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +59 -33
- package/dest/rpc_translator.d.ts +20 -6
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +149 -21
- package/dest/state_machine/index.js +1 -1
- package/dest/txe_oracle_version.d.ts +10 -0
- package/dest/txe_oracle_version.d.ts.map +1 -0
- package/dest/txe_oracle_version.js +8 -0
- package/dest/txe_session.d.ts +61 -6
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +93 -21
- package/dest/util/encoding.d.ts +4 -1
- package/dest/util/encoding.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/oracle/interfaces.ts +11 -3
- package/src/oracle/txe_oracle_top_level_context.ts +66 -42
- package/src/rpc_translator.ts +215 -31
- package/src/state_machine/index.ts +1 -1
- package/src/txe_oracle_version.ts +9 -0
- package/src/txe_session.ts +170 -17
package/dest/rpc_translator.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Fr, Point } from '@aztec/aztec.js/fields';
|
|
2
|
-
import { MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX } from '@aztec/constants';
|
|
2
|
+
import { ARCHIVE_HEIGHT, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, PRIVATE_LOG_CIPHERTEXT_LEN, PRIVATE_LOG_SIZE_IN_FIELDS } from '@aztec/constants';
|
|
3
3
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
4
|
+
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
4
5
|
import { packAsHintedNote } from '@aztec/pxe/simulator';
|
|
5
6
|
import { EventSelector, FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
6
7
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
8
|
import { BlockHash } from '@aztec/stdlib/block';
|
|
9
|
+
import { GasSettings } from '@aztec/stdlib/gas';
|
|
10
|
+
import { TXE_ORACLE_VERSION_MAJOR } from './txe_oracle_version.js';
|
|
8
11
|
import { addressFromSingle, arrayOfArraysToBoundedVecOfArrays, arrayToBoundedVec, bufferToU8Array, fromArray, fromSingle, fromUintArray, fromUintBoundedVec, toArray, toForeignCallResult, toSingle } from './util/encoding.js';
|
|
9
12
|
const MAX_EVENT_LEN = 10; // This is MAX_MESSAGE_CONTENT_LEN - PRIVATE_EVENT_MSG_PLAINTEXT_RESERVED_FIELDS_LEN
|
|
10
13
|
const MAX_PRIVATE_EVENTS_PER_TXE_QUERY = 5;
|
|
@@ -60,6 +63,20 @@ export class RPCTranslator {
|
|
|
60
63
|
}
|
|
61
64
|
return this.oracleHandler;
|
|
62
65
|
}
|
|
66
|
+
// eslint-disable-next-line camelcase
|
|
67
|
+
aztec_txe_assertCompatibleOracleVersion(foreignMajor, foreignMinor) {
|
|
68
|
+
const major = fromSingle(foreignMajor).toNumber();
|
|
69
|
+
const minor = fromSingle(foreignMinor).toNumber();
|
|
70
|
+
if (major !== TXE_ORACLE_VERSION_MAJOR) {
|
|
71
|
+
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.';
|
|
72
|
+
throw new Error(`Incompatible test environment version: ${hint} See https://docs.aztec.network/errors/12 (expected test oracle major version ${TXE_ORACLE_VERSION_MAJOR}, got ${major})`);
|
|
73
|
+
}
|
|
74
|
+
this.stateHandler.setTxeOracleVersion({
|
|
75
|
+
major,
|
|
76
|
+
minor
|
|
77
|
+
});
|
|
78
|
+
return toForeignCallResult([]);
|
|
79
|
+
}
|
|
63
80
|
// TXE session state transition functions - these get handled by the state handler
|
|
64
81
|
// eslint-disable-next-line camelcase
|
|
65
82
|
async aztec_txe_setTopLevelTXEContext() {
|
|
@@ -67,10 +84,11 @@ export class RPCTranslator {
|
|
|
67
84
|
return toForeignCallResult([]);
|
|
68
85
|
}
|
|
69
86
|
// eslint-disable-next-line camelcase
|
|
70
|
-
async aztec_txe_setPrivateTXEContext(foreignContractAddressIsSome, foreignContractAddressValue, foreignAnchorBlockNumberIsSome, foreignAnchorBlockNumberValue) {
|
|
87
|
+
async aztec_txe_setPrivateTXEContext(foreignContractAddressIsSome, foreignContractAddressValue, foreignAnchorBlockNumberIsSome, foreignAnchorBlockNumberValue, foreignGasSettings) {
|
|
71
88
|
const contractAddress = fromSingle(foreignContractAddressIsSome).toBool() ? AztecAddress.fromField(fromSingle(foreignContractAddressValue)) : undefined;
|
|
72
89
|
const anchorBlockNumber = fromSingle(foreignAnchorBlockNumberIsSome).toBool() ? BlockNumber(fromSingle(foreignAnchorBlockNumberValue).toNumber()) : undefined;
|
|
73
|
-
const
|
|
90
|
+
const gasSettings = GasSettings.fromFields(fromArray(foreignGasSettings));
|
|
91
|
+
const privateContextInputs = await this.stateHandler.enterPrivateState(contractAddress, anchorBlockNumber, gasSettings);
|
|
74
92
|
return toForeignCallResult(privateContextInputs.toFields().map(toSingle));
|
|
75
93
|
}
|
|
76
94
|
// eslint-disable-next-line camelcase
|
|
@@ -183,11 +201,58 @@ export class RPCTranslator {
|
|
|
183
201
|
}
|
|
184
202
|
// eslint-disable-next-line camelcase
|
|
185
203
|
async aztec_txe_getLastTxEffects() {
|
|
186
|
-
const { txHash, noteHashes, nullifiers } = await this.handlerAsTxe().getLastTxEffects();
|
|
204
|
+
const { txHash, noteHashes, nullifiers, privateLogs } = await this.handlerAsTxe().getLastTxEffects();
|
|
205
|
+
if (privateLogs.length > MAX_PRIVATE_LOGS_PER_TX) {
|
|
206
|
+
throw new Error(`${privateLogs.length} private logs exceed max ${MAX_PRIVATE_LOGS_PER_TX}`);
|
|
207
|
+
}
|
|
208
|
+
// Same workaround as `aztec_txe_getPrivateEvents`: Noir cannot yet return nested structs with arrays, so we return
|
|
209
|
+
// a flat multidimensional array plus per-log lengths and the total count, and reassemble into a
|
|
210
|
+
// `BoundedVec<BoundedVec<T>>` on the Noir side. Each log contributes only its emitted fields. The rest
|
|
211
|
+
// is zero-padded to `PRIVATE_LOG_SIZE_IN_FIELDS`.
|
|
212
|
+
const emittedLogs = privateLogs.map((log)=>log.getEmittedFields());
|
|
213
|
+
const rawLogStorage = emittedLogs.map((fields)=>fields.concat(Array(PRIVATE_LOG_SIZE_IN_FIELDS - fields.length).fill(new Fr(0)))).concat(Array(MAX_PRIVATE_LOGS_PER_TX - emittedLogs.length).fill(Array(PRIVATE_LOG_SIZE_IN_FIELDS).fill(new Fr(0)))).flat();
|
|
214
|
+
const logLengths = emittedLogs.map((fields)=>new Fr(fields.length)).concat(Array(MAX_PRIVATE_LOGS_PER_TX - emittedLogs.length).fill(new Fr(0)));
|
|
215
|
+
const logCount = new Fr(emittedLogs.length);
|
|
187
216
|
return toForeignCallResult([
|
|
188
217
|
toSingle(txHash.hash),
|
|
189
218
|
...arrayToBoundedVec(toArray(noteHashes), MAX_NOTE_HASHES_PER_TX),
|
|
190
|
-
...arrayToBoundedVec(toArray(nullifiers), MAX_NULLIFIERS_PER_TX)
|
|
219
|
+
...arrayToBoundedVec(toArray(nullifiers), MAX_NULLIFIERS_PER_TX),
|
|
220
|
+
toArray(rawLogStorage),
|
|
221
|
+
toArray(logLengths),
|
|
222
|
+
toSingle(logCount)
|
|
223
|
+
]);
|
|
224
|
+
}
|
|
225
|
+
// eslint-disable-next-line camelcase
|
|
226
|
+
aztec_txe_getLastCallOffchainEffects() {
|
|
227
|
+
// This oracle returns all offchain effect payloads (messages, authwit requests, etc.) emitted by the last top-level call,
|
|
228
|
+
// MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY is arbitrarily set at 64 because we need a bound. Nothing inherent about it.
|
|
229
|
+
const MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY = 64;
|
|
230
|
+
// Must match MAX_OFFCHAIN_EFFECT_LEN in txe_oracles.nr.
|
|
231
|
+
const MAX_OFFCHAIN_EFFECT_LEN = 2 + PRIVATE_LOG_CIPHERTEXT_LEN;
|
|
232
|
+
const { effects } = this.stateHandler.getLastCallOffchainEffects();
|
|
233
|
+
if (effects.length > MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY) {
|
|
234
|
+
throw new Error(`${effects.length} offchain effects exceed max ${MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY}`);
|
|
235
|
+
}
|
|
236
|
+
if (effects.some((e)=>e.length > MAX_OFFCHAIN_EFFECT_LEN)) {
|
|
237
|
+
throw new Error(`Some offchain effect has length larger than max ${MAX_OFFCHAIN_EFFECT_LEN}`);
|
|
238
|
+
}
|
|
239
|
+
const rawArrayStorage = effects.map((e)=>e.concat(Array(MAX_OFFCHAIN_EFFECT_LEN - e.length).fill(new Fr(0)))).concat(Array(MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY - effects.length).fill(Array(MAX_OFFCHAIN_EFFECT_LEN).fill(new Fr(0)))).flat();
|
|
240
|
+
const effectLengths = effects.map((e)=>new Fr(e.length)).concat(Array(MAX_OFFCHAIN_EFFECTS_PER_TXE_QUERY - effects.length).fill(new Fr(0)));
|
|
241
|
+
const count = new Fr(effects.length);
|
|
242
|
+
return toForeignCallResult([
|
|
243
|
+
toArray(rawArrayStorage),
|
|
244
|
+
toArray(effectLengths),
|
|
245
|
+
toSingle(count)
|
|
246
|
+
]);
|
|
247
|
+
}
|
|
248
|
+
// eslint-disable-next-line camelcase
|
|
249
|
+
aztec_txe_getLastCallContext() {
|
|
250
|
+
const { txHash, anchorBlockTimestamp } = this.stateHandler.getLastCallContext();
|
|
251
|
+
const isSome = txHash.isZero() ? 0 : 1;
|
|
252
|
+
return toForeignCallResult([
|
|
253
|
+
toSingle(isSome),
|
|
254
|
+
toSingle(txHash),
|
|
255
|
+
toSingle(new Fr(anchorBlockTimestamp))
|
|
191
256
|
]);
|
|
192
257
|
}
|
|
193
258
|
// eslint-disable-next-line camelcase
|
|
@@ -449,6 +514,7 @@ export class RPCTranslator {
|
|
|
449
514
|
}
|
|
450
515
|
return toForeignCallResult(witness.toNoirRepresentation());
|
|
451
516
|
}
|
|
517
|
+
// TODO(https://linear.app/aztec-labs/issue/F-651): drop this
|
|
452
518
|
// eslint-disable-next-line camelcase
|
|
453
519
|
async aztec_utl_getBlockHashMembershipWitness(foreignAnchorBlockHash, foreignBlockHash) {
|
|
454
520
|
const anchorBlockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
|
|
@@ -459,6 +525,18 @@ export class RPCTranslator {
|
|
|
459
525
|
}
|
|
460
526
|
return toForeignCallResult(witness.toNoirRepresentation());
|
|
461
527
|
}
|
|
528
|
+
// TODO(https://linear.app/aztec-labs/issue/F-651): rename to aztec_utl_getBlockHashMembershipWitness
|
|
529
|
+
// eslint-disable-next-line camelcase
|
|
530
|
+
async aztec_utl_getBlockHashMembershipWitnessV2(foreignAnchorBlockHash, foreignBlockHash) {
|
|
531
|
+
const anchorBlockHash = new BlockHash(fromSingle(foreignAnchorBlockHash));
|
|
532
|
+
const blockHash = new BlockHash(fromSingle(foreignBlockHash));
|
|
533
|
+
const witness = await this.handlerAsUtility().getBlockHashMembershipWitness(anchorBlockHash, blockHash);
|
|
534
|
+
const effective = witness ?? MembershipWitness.empty(ARCHIVE_HEIGHT);
|
|
535
|
+
return toForeignCallResult([
|
|
536
|
+
toSingle(new Fr(witness !== undefined ? 1 : 0)),
|
|
537
|
+
...effective.toNoirRepresentation()
|
|
538
|
+
]);
|
|
539
|
+
}
|
|
462
540
|
// eslint-disable-next-line camelcase
|
|
463
541
|
async aztec_utl_getLowNullifierMembershipWitness(foreignBlockHash, foreignNullifier) {
|
|
464
542
|
const blockHash = new BlockHash(fromSingle(foreignBlockHash));
|
|
@@ -694,8 +772,13 @@ export class RPCTranslator {
|
|
|
694
772
|
return Promise.resolve(toForeignCallResult([]));
|
|
695
773
|
}
|
|
696
774
|
// eslint-disable-next-line camelcase
|
|
697
|
-
aztec_utl_emitOffchainEffect(
|
|
698
|
-
|
|
775
|
+
aztec_utl_emitOffchainEffect(foreignData) {
|
|
776
|
+
// Record the raw payload against the currently-executing top-level call. The Noir side
|
|
777
|
+
// (via `env.offchain_messages()`) is responsible for decoding the protocol-reserved prefix
|
|
778
|
+
// (`OFFCHAIN_MESSAGE_IDENTIFIER`, recipient) and turning each payload into an `OffchainMessage` struct suitable
|
|
779
|
+
// for `offchain_receive`.
|
|
780
|
+
this.stateHandler.recordOffchainEffect(fromArray(foreignData));
|
|
781
|
+
return Promise.resolve(toForeignCallResult([]));
|
|
699
782
|
}
|
|
700
783
|
// AVM opcodes
|
|
701
784
|
// eslint-disable-next-line camelcase
|
|
@@ -839,41 +922,86 @@ export class RPCTranslator {
|
|
|
839
922
|
throw new Error('Contract calls are forbidden inside a `TestEnvironment::public_context`, use `public_call` instead');
|
|
840
923
|
}
|
|
841
924
|
// eslint-disable-next-line camelcase
|
|
842
|
-
async aztec_txe_privateCallNewFlow(
|
|
843
|
-
const from = addressFromSingle(
|
|
925
|
+
async aztec_txe_privateCallNewFlow(foreignFromIsSome, foreignFromValue, foreignTargetContractAddress, foreignFunctionSelector, foreignArgs, foreignArgsHash, foreignIsStaticCall, foreignAdditionalScopes, foreignAuthorizedUtilityCallTargets, foreignGasSettings) {
|
|
926
|
+
const from = fromSingle(foreignFromIsSome).toBool() ? addressFromSingle(foreignFromValue) : undefined;
|
|
844
927
|
const targetContractAddress = addressFromSingle(foreignTargetContractAddress);
|
|
845
928
|
const functionSelector = FunctionSelector.fromField(fromSingle(foreignFunctionSelector));
|
|
846
929
|
const args = fromArray(foreignArgs);
|
|
847
930
|
const argsHash = fromSingle(foreignArgsHash);
|
|
848
931
|
const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
|
|
849
|
-
const
|
|
850
|
-
|
|
851
|
-
|
|
932
|
+
const additionalScopes = fromArray(foreignAdditionalScopes).map((field)=>AztecAddress.fromField(field));
|
|
933
|
+
const authorizedUtilityCallTargets = fromArray(foreignAuthorizedUtilityCallTargets).map((field)=>AztecAddress.fromField(field));
|
|
934
|
+
const gasSettings = GasSettings.fromFields(fromArray(foreignGasSettings));
|
|
935
|
+
const returnValues = await this.stateHandler.withTopLevelCallTracking(async ()=>{
|
|
936
|
+
const { returnValues, offchainEffects } = await this.handlerAsTxe().privateCallNewFlow(from, targetContractAddress, functionSelector, args, argsHash, isStaticCall, additionalScopes, this.stateHandler.getCurrentJob(), authorizedUtilityCallTargets, gasSettings);
|
|
937
|
+
// Private execution collects offchain effects inside PXE's PrivateExecutionOracle rather than
|
|
938
|
+
// round-tripping them through `aztec_utl_emitOffchainEffect`, so the session buffer is empty
|
|
939
|
+
// at this point. Drain the effects from the execution tree into the session buffer so the
|
|
940
|
+
// next `env.offchain_messages()` call in the test sees them.
|
|
941
|
+
for (const data of offchainEffects){
|
|
942
|
+
this.stateHandler.recordOffchainEffect(data);
|
|
943
|
+
}
|
|
944
|
+
// TODO(F-335): Avoid doing the following call here.
|
|
945
|
+
await this.stateHandler.cycleJob();
|
|
946
|
+
if (isStaticCall) {
|
|
947
|
+
// Static calls revert their checkpoint and mine no block, so there is no tx hash to tag
|
|
948
|
+
// offchain effects with. Querying `getLastTxEffects()` here would return an unrelated
|
|
949
|
+
// predecessor tx.
|
|
950
|
+
return {
|
|
951
|
+
result: returnValues
|
|
952
|
+
};
|
|
953
|
+
}
|
|
954
|
+
const { txHash } = await this.handlerAsTxe().getLastTxEffects();
|
|
955
|
+
return {
|
|
956
|
+
result: returnValues,
|
|
957
|
+
txHash: txHash.hash
|
|
958
|
+
};
|
|
959
|
+
});
|
|
852
960
|
return toForeignCallResult([
|
|
853
961
|
toArray(returnValues)
|
|
854
962
|
]);
|
|
855
963
|
}
|
|
856
964
|
// eslint-disable-next-line camelcase
|
|
857
|
-
async aztec_txe_executeUtilityFunction(foreignTargetContractAddress, foreignFunctionSelector, foreignArgs) {
|
|
965
|
+
async aztec_txe_executeUtilityFunction(foreignTargetContractAddress, foreignFunctionSelector, foreignArgs, foreignAuthorizedUtilityCallTargets) {
|
|
858
966
|
const targetContractAddress = addressFromSingle(foreignTargetContractAddress);
|
|
859
967
|
const functionSelector = FunctionSelector.fromField(fromSingle(foreignFunctionSelector));
|
|
860
968
|
const args = fromArray(foreignArgs);
|
|
861
|
-
const
|
|
862
|
-
|
|
863
|
-
|
|
969
|
+
const authorizedUtilityCallTargets = fromArray(foreignAuthorizedUtilityCallTargets).map((field)=>AztecAddress.fromField(field));
|
|
970
|
+
const returnValues = await this.stateHandler.withTopLevelCallTracking(async ()=>{
|
|
971
|
+
const returnValues = await this.handlerAsTxe().executeUtilityFunction(targetContractAddress, functionSelector, args, this.stateHandler.getCurrentJob(), authorizedUtilityCallTargets);
|
|
972
|
+
// TODO(F-335): Avoid doing the following call here.
|
|
973
|
+
await this.stateHandler.cycleJob();
|
|
974
|
+
return {
|
|
975
|
+
result: returnValues
|
|
976
|
+
};
|
|
977
|
+
});
|
|
864
978
|
return toForeignCallResult([
|
|
865
979
|
toArray(returnValues)
|
|
866
980
|
]);
|
|
867
981
|
}
|
|
868
982
|
// eslint-disable-next-line camelcase
|
|
869
|
-
async aztec_txe_publicCallNewFlow(
|
|
870
|
-
const from = addressFromSingle(
|
|
983
|
+
async aztec_txe_publicCallNewFlow(foreignFromIsSome, foreignFromValue, foreignAddress, foreignCalldata, foreignIsStaticCall, foreignGasSettings) {
|
|
984
|
+
const from = fromSingle(foreignFromIsSome).toBool() ? addressFromSingle(foreignFromValue) : undefined;
|
|
871
985
|
const address = addressFromSingle(foreignAddress);
|
|
872
986
|
const calldata = fromArray(foreignCalldata);
|
|
873
987
|
const isStaticCall = fromSingle(foreignIsStaticCall).toBool();
|
|
874
|
-
const
|
|
875
|
-
|
|
876
|
-
|
|
988
|
+
const gasSettings = GasSettings.fromFields(fromArray(foreignGasSettings));
|
|
989
|
+
const returnValues = await this.stateHandler.withTopLevelCallTracking(async ()=>{
|
|
990
|
+
const returnValues = await this.handlerAsTxe().publicCallNewFlow(from, address, calldata, isStaticCall, gasSettings);
|
|
991
|
+
// TODO(F-335): Avoid doing the following call here.
|
|
992
|
+
await this.stateHandler.cycleJob();
|
|
993
|
+
if (isStaticCall) {
|
|
994
|
+
// See equivalent branch in `aztec_txe_privateCallNewFlow`.
|
|
995
|
+
return {
|
|
996
|
+
result: returnValues
|
|
997
|
+
};
|
|
998
|
+
}
|
|
999
|
+
const { txHash } = await this.handlerAsTxe().getLastTxEffects();
|
|
1000
|
+
return {
|
|
1001
|
+
result: returnValues,
|
|
1002
|
+
txHash: txHash.hash
|
|
1003
|
+
};
|
|
1004
|
+
});
|
|
877
1005
|
return toForeignCallResult([
|
|
878
1006
|
toArray(returnValues)
|
|
879
1007
|
]);
|
|
@@ -33,7 +33,7 @@ export class TXEStateMachine {
|
|
|
33
33
|
const synchronizer = await TXESynchronizer.create();
|
|
34
34
|
const aztecNodeConfig = {};
|
|
35
35
|
const log = createLogger('txe_node');
|
|
36
|
-
const node = new AztecNodeService(aztecNodeConfig, new DummyP2P(), archiver, archiver, archiver, archiver, synchronizer, undefined, undefined, undefined, undefined, undefined, VERSION, CHAIN_ID, new TXEGlobalVariablesBuilder(), new MockEpochCache(), getPackageVersion()
|
|
36
|
+
const node = new AztecNodeService(aztecNodeConfig, new DummyP2P(), archiver, archiver, archiver, archiver, synchronizer, undefined, undefined, undefined, undefined, undefined, VERSION, CHAIN_ID, new TXEGlobalVariablesBuilder(), new MockEpochCache(), getPackageVersion(), new TestCircuitVerifier(), undefined, log);
|
|
37
37
|
const contractSyncService = new ContractSyncService(node, contractStore, noteStore, createLogger('txe:contract_sync'));
|
|
38
38
|
const messageContextService = new MessageContextService(node);
|
|
39
39
|
return new this(node, synchronizer, archiver, anchorBlockStore, contractSyncService, messageContextService);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TXE oracle version constants are used to check that the oracle interface used for tests is in sync between
|
|
3
|
+
* TXE and Aztec.nr. This is separate from the contract oracle version in `pxe/src/oracle_version.ts`, which covers
|
|
4
|
+
* oracles used during contract execution by PXE.
|
|
5
|
+
*
|
|
6
|
+
* The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TXE_ORACLE_VERSION_MAJOR = 1;
|
|
9
|
+
export declare const TXE_ORACLE_VERSION_MINOR = 0;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX29yYWNsZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHhlX29yYWNsZV92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILGVBQU8sTUFBTSx3QkFBd0IsSUFBSSxDQUFDO0FBQzFDLGVBQU8sTUFBTSx3QkFBd0IsSUFBSSxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"txe_oracle_version.d.ts","sourceRoot":"","sources":["../src/txe_oracle_version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,wBAAwB,IAAI,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The TXE oracle version constants are used to check that the oracle interface used for tests is in sync between
|
|
3
|
+
* TXE and Aztec.nr. This is separate from the contract oracle version in `pxe/src/oracle_version.ts`, which covers
|
|
4
|
+
* oracles used during contract execution by PXE.
|
|
5
|
+
*
|
|
6
|
+
* The Noir counterparts are in `noir-projects/aztec-nr/aztec/src/test/helpers/txe_oracles.nr`.
|
|
7
|
+
*/ export const TXE_ORACLE_VERSION_MAJOR = 1;
|
|
8
|
+
export const TXE_ORACLE_VERSION_MINOR = 0;
|
package/dest/txe_session.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { type Logger } from '@aztec/foundation/log';
|
|
4
4
|
import { KeyStore } from '@aztec/key-store';
|
|
5
|
-
import { AddressStore, CapsuleStore, ContractStore,
|
|
5
|
+
import { AddressStore, CapsuleStore, ContractStore, JobCoordinator, NoteStore, PrivateEventStore, RecipientTaggingStore, SenderAddressBookStore, SenderTaggingStore } from '@aztec/pxe/server';
|
|
6
6
|
import { type IPrivateExecutionOracle, type IUtilityExecutionOracle } from '@aztec/pxe/simulator';
|
|
7
7
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
|
+
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
8
9
|
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
9
10
|
import type { IAvmExecutionOracle, ITxeExecutionOracle } from './oracle/interfaces.js';
|
|
10
11
|
import { RPCTranslator } from './rpc_translator.js';
|
|
@@ -20,12 +21,47 @@ type MethodNames<T> = {
|
|
|
20
21
|
*/
|
|
21
22
|
export type TXEOracleFunctionName = Exclude<MethodNames<RPCTranslator>, 'constructor' | 'handlerAsMisc' | 'handlerAsUtility' | 'handlerAsPrivate' | 'handlerAsAvm' | 'handlerAsTxe'>;
|
|
22
23
|
export interface TXESessionStateHandler {
|
|
24
|
+
/** Records the TXE oracle version reported by the Noir test code for diagnostics. */
|
|
25
|
+
setTxeOracleVersion(version: {
|
|
26
|
+
major: number;
|
|
27
|
+
minor: number;
|
|
28
|
+
}): void;
|
|
23
29
|
enterTopLevelState(): Promise<void>;
|
|
24
30
|
enterPublicState(contractAddress?: AztecAddress): Promise<void>;
|
|
25
|
-
enterPrivateState(contractAddress
|
|
31
|
+
enterPrivateState(contractAddress: AztecAddress | undefined, anchorBlockNumber: BlockNumber | undefined, gasSettings: GasSettings): Promise<PrivateContextInputs>;
|
|
26
32
|
enterUtilityState(contractAddress?: AztecAddress): Promise<void>;
|
|
27
33
|
cycleJob(): Promise<string>;
|
|
28
34
|
getCurrentJob(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Runs an executor-style top-level call (private/public call, utility execution) with last-call tracking.
|
|
37
|
+
*/
|
|
38
|
+
withTopLevelCallTracking<T>(work: () => Promise<{
|
|
39
|
+
result: T;
|
|
40
|
+
txHash?: Fr;
|
|
41
|
+
}>): Promise<T>;
|
|
42
|
+
/**
|
|
43
|
+
* Captures a raw offchain effect payload for consumption from test environment. Called by the `emit_offchain_effect`
|
|
44
|
+
* oracle handler whenever a contract function emits an offchain message, at any call depth.
|
|
45
|
+
*/
|
|
46
|
+
recordOffchainEffect(data: Fr[]): void;
|
|
47
|
+
/**
|
|
48
|
+
* Returns the raw offchain effect payloads emitted by the last top-level call. Each payload follows the protocol
|
|
49
|
+
* convention documented on `OFFCHAIN_MESSAGE_IDENTIFIER`, i.e. `[identifier, recipient, ...ciphertext]`. Decoding into
|
|
50
|
+
* `OffchainMessage` structs happens on the Noir side of the test helper. Marks the buffer as queried so the
|
|
51
|
+
* unqueried-messages warning doesn't fire on the next reset.
|
|
52
|
+
*/
|
|
53
|
+
getLastCallOffchainEffects(): {
|
|
54
|
+
effects: Fr[][];
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Returns the context of the last top-level call: its tx hash (`Fr.ZERO` if the call was tx-less) and the anchor
|
|
58
|
+
* block timestamp captured at the start of the call. Does *not* mark the buffer as queried — context reads are
|
|
59
|
+
* metadata, not effect consumption.
|
|
60
|
+
*/
|
|
61
|
+
getLastCallContext(): {
|
|
62
|
+
txHash: Fr;
|
|
63
|
+
anchorBlockTimestamp: bigint;
|
|
64
|
+
};
|
|
29
65
|
}
|
|
30
66
|
/**
|
|
31
67
|
* A `TXESession` corresponds to a Noir `#[test]` function, and handles all of its oracle calls, stores test-specific
|
|
@@ -50,10 +86,11 @@ export declare class TXESession implements TXESessionStateHandler {
|
|
|
50
86
|
private chainId;
|
|
51
87
|
private version;
|
|
52
88
|
private nextBlockTimestamp;
|
|
53
|
-
private contractSyncService;
|
|
54
89
|
private state;
|
|
55
90
|
private authwits;
|
|
56
|
-
|
|
91
|
+
private lastCallInfo;
|
|
92
|
+
private txeOracleVersion;
|
|
93
|
+
constructor(logger: Logger, stateMachine: TXEStateMachine, oracleHandler: IUtilityExecutionOracle | IPrivateExecutionOracle | IAvmExecutionOracle | ITxeExecutionOracle, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, accountStore: TXEAccountStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, jobCoordinator: JobCoordinator, currentJobId: string, chainId: Fr, version: Fr, nextBlockTimestamp: bigint);
|
|
57
94
|
static init(contractStore: ContractStore): Promise<TXESession>;
|
|
58
95
|
/**
|
|
59
96
|
* Processes an oracle function invoked by the Noir test associated to this session.
|
|
@@ -65,8 +102,26 @@ export declare class TXESession implements TXESessionStateHandler {
|
|
|
65
102
|
getCurrentJob(): string;
|
|
66
103
|
/** Commits the current job and begins a new one. Returns the new job ID. */
|
|
67
104
|
cycleJob(): Promise<string>;
|
|
105
|
+
private resetLastCall;
|
|
106
|
+
recordOffchainEffect(data: Fr[]): void;
|
|
107
|
+
private setLastCallContext;
|
|
108
|
+
withTopLevelCallTracking<T>(work: () => Promise<{
|
|
109
|
+
result: T;
|
|
110
|
+
txHash?: Fr;
|
|
111
|
+
}>): Promise<T>;
|
|
112
|
+
getLastCallOffchainEffects(): {
|
|
113
|
+
effects: Fr[][];
|
|
114
|
+
};
|
|
115
|
+
getLastCallContext(): {
|
|
116
|
+
txHash: Fr;
|
|
117
|
+
anchorBlockTimestamp: bigint;
|
|
118
|
+
};
|
|
119
|
+
setTxeOracleVersion(version: {
|
|
120
|
+
major: number;
|
|
121
|
+
minor: number;
|
|
122
|
+
}): void;
|
|
68
123
|
enterTopLevelState(): Promise<void>;
|
|
69
|
-
enterPrivateState(contractAddress
|
|
124
|
+
enterPrivateState(contractAddress: AztecAddress | undefined, anchorBlockNumber: BlockNumber | undefined, gasSettings: GasSettings): Promise<PrivateContextInputs>;
|
|
70
125
|
enterPublicState(contractAddress?: AztecAddress): Promise<void>;
|
|
71
126
|
enterUtilityState(contractAddress?: AztecAddress): Promise<void>;
|
|
72
127
|
private exitTopLevelState;
|
|
@@ -76,4 +131,4 @@ export declare class TXESession implements TXESessionStateHandler {
|
|
|
76
131
|
private utilityExecutorForContractSync;
|
|
77
132
|
}
|
|
78
133
|
export {};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX3Nlc3Npb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eGVfc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxFQUNMLFlBQVksRUFHWixZQUFZLEVBQ1osYUFBYSxFQUNiLGNBQWMsRUFFZCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ25CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUlMLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssdUJBQXVCLEVBSTdCLE1BQU0sc0JBQXNCLENBQUM7QUFXOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTzVELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUF5QzlELEtBQUssV0FBVyxD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txe_session.d.ts","sourceRoot":"","sources":["../src/txe_session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,YAAY,EAGZ,YAAY,EACZ,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"txe_session.d.ts","sourceRoot":"","sources":["../src/txe_session.ts"],"names":[],"mappings":"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"}
|