@aztec/txe 0.0.1-commit.a5db02d → 0.0.1-commit.aa0c64f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/AuthRegistry-QVGDDH5X.js +3 -0
- package/dest/{AuthRegistry-56AMRLSQ.js.map → AuthRegistry-QVGDDH5X.js.map} +2 -2
- package/dest/ContractClassRegistry-VWR3F42P.js +3 -0
- package/dest/ContractClassRegistry-VWR3F42P.js.map +7 -0
- package/dest/{ContractInstanceRegistry-NADDSLGL.js → ContractInstanceRegistry-FHIWE33X.js} +1 -1
- package/dest/{ContractInstanceRegistry-NADDSLGL.js.map → ContractInstanceRegistry-FHIWE33X.js.map} +2 -2
- package/dest/FeeJuice-SAOWVGG7.js +3 -0
- package/dest/FeeJuice-SAOWVGG7.js.map +7 -0
- package/dest/HandshakeRegistry-GY5CPEPS.js +3 -0
- package/dest/HandshakeRegistry-GY5CPEPS.js.map +7 -0
- package/dest/{MultiCallEntrypoint-MIDICLQB.js → MultiCallEntrypoint-QG5H33ZZ.js} +1 -1
- package/dest/{MultiCallEntrypoint-MIDICLQB.js.map → MultiCallEntrypoint-QG5H33ZZ.js.map} +2 -2
- package/dest/SchnorrAccount-NME3E45O.js +3 -0
- package/dest/SchnorrAccount-NME3E45O.js.map +7 -0
- package/dest/SchnorrInitializerlessAccount-WTGXU6SW.js +3 -0
- package/dest/SchnorrInitializerlessAccount-WTGXU6SW.js.map +7 -0
- package/dest/bin/check_txe_oracle_version.js +7 -15
- package/dest/bin/index.js +1 -1
- package/dest/chunk-2XE2OXLY.js +260 -0
- package/dest/chunk-2XE2OXLY.js.map +7 -0
- package/dest/chunk-32UHX7YY.js +3 -0
- package/dest/{chunk-RELAEYUE.js → chunk-543AD4I4.js} +2 -2
- package/dest/metafile.json +1451 -2657
- package/dest/oracle/interfaces.d.ts +2 -2
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/test-resolver/default_fixtures.d.ts +9 -2
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -1
- package/dest/oracle/test-resolver/default_fixtures.js +32 -39
- package/dest/oracle/test-resolver/resolver.d.ts +1 -1
- package/dest/oracle/test-resolver/resolver.d.ts.map +1 -1
- package/dest/oracle/test-resolver/resolver.js +2 -2
- package/dest/oracle/txe_oracle_registry.d.ts +3 -3
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_registry.js +37 -27
- package/dest/oracle/txe_oracle_top_level_context.d.ts +2 -2
- package/dest/oracle/txe_oracle_top_level_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_top_level_context.js +352 -264
- package/dest/oracle/txe_oracle_version.d.ts +3 -3
- package/dest/oracle/txe_oracle_version.js +3 -3
- package/dest/rpc_translator.js +1 -1
- package/dest/server.bundle.js +1 -1
- package/dest/state_machine/synchronizer.d.ts +6 -1
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +12 -3
- package/dest/txe_session.d.ts +3 -3
- package/dest/txe_session.d.ts.map +1 -1
- package/dest/txe_session.js +10 -2
- package/dest/worker.bundle.js +1 -1
- package/package.json +17 -17
- package/src/bin/check_txe_oracle_version.ts +9 -12
- package/src/oracle/interfaces.ts +1 -1
- package/src/oracle/test-resolver/default_fixtures.ts +58 -69
- package/src/oracle/test-resolver/resolver.ts +2 -2
- package/src/oracle/txe_oracle_registry.ts +38 -25
- package/src/oracle/txe_oracle_top_level_context.ts +27 -20
- package/src/oracle/txe_oracle_version.ts +3 -3
- package/src/rpc_translator.ts +1 -1
- package/src/state_machine/synchronizer.ts +18 -3
- package/src/txe_session.ts +10 -2
- package/dest/AuthRegistry-56AMRLSQ.js +0 -3
- package/dest/ContractClassRegistry-N6NA3SFA.js +0 -3
- package/dest/ContractClassRegistry-N6NA3SFA.js.map +0 -7
- package/dest/FeeJuice-QBH5JWJV.js +0 -3
- package/dest/FeeJuice-QBH5JWJV.js.map +0 -7
- package/dest/HandshakeRegistry-D2W3AOPD.js +0 -3
- package/dest/HandshakeRegistry-D2W3AOPD.js.map +0 -7
- package/dest/SchnorrAccount-HNL7EN7Y.js +0 -3
- package/dest/SchnorrAccount-HNL7EN7Y.js.map +0 -7
- package/dest/SchnorrInitializerlessAccount-TFAFXZW6.js +0 -3
- package/dest/SchnorrInitializerlessAccount-TFAFXZW6.js.map +0 -7
- package/dest/chunk-BJVAAXNA.js +0 -3
- package/dest/chunk-EKHK6CRD.js +0 -268
- package/dest/chunk-EKHK6CRD.js.map +0 -7
- /package/dest/{chunk-BJVAAXNA.js.map → chunk-32UHX7YY.js.map} +0 -0
- /package/dest/{chunk-RELAEYUE.js.map → chunk-543AD4I4.js.map} +0 -0
|
@@ -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 =
|
|
8
|
+
export declare const TXE_ORACLE_VERSION_MAJOR = 4;
|
|
9
9
|
export declare const TXE_ORACLE_VERSION_MINOR = 1;
|
|
10
10
|
/**
|
|
11
|
-
* This hash is computed from the TXE
|
|
11
|
+
* This hash is computed from the TXE-specific entries in `TXE_ORACLE_REGISTRY` 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 = "1a6c578d0a47cd8dd7dae07fd00abe781225a73920c596d873afcc061c0e4284";
|
|
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 =
|
|
7
|
+
*/ export const TXE_ORACLE_VERSION_MAJOR = 4;
|
|
8
8
|
export const TXE_ORACLE_VERSION_MINOR = 1;
|
|
9
9
|
/**
|
|
10
|
-
* This hash is computed from the TXE
|
|
10
|
+
* This hash is computed from the TXE-specific entries in `TXE_ORACLE_REGISTRY` 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 = '1a6c578d0a47cd8dd7dae07fd00abe781225a73920c596d873afcc061c0e4284';
|
package/dest/rpc_translator.js
CHANGED
|
@@ -149,7 +149,7 @@ export class RPCTranslator {
|
|
|
149
149
|
return callTxeHandler({
|
|
150
150
|
oracle: 'aztec_txe_createAccount',
|
|
151
151
|
inputs,
|
|
152
|
-
handler: ([secret])=>this.handlerAsTxe().createAccount(secret)
|
|
152
|
+
handler: ([secret, partialAddress])=>this.handlerAsTxe().createAccount(secret, partialAddress)
|
|
153
153
|
});
|
|
154
154
|
}
|
|
155
155
|
// eslint-disable-next-line camelcase
|
package/dest/server.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{createTXERpcServer}from"./chunk-
|
|
3
|
+
import{createTXERpcServer}from"./chunk-543AD4I4.js";import"./chunk-2XE2OXLY.js";import"./chunk-32UHX7YY.js";export{createTXERpcServer};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { AvmSimulatorPool } from '@aztec/simulator/server';
|
|
3
4
|
import type { BlockHash, L2Block } from '@aztec/stdlib/block';
|
|
4
5
|
import type { MerkleTreeReadOperations, MerkleTreeWriteOperations, SnapshotDataKeys, WorldStateSynchronizer, WorldStateSynchronizerStatus } from '@aztec/stdlib/interfaces/server';
|
|
5
6
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
6
7
|
export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
7
8
|
nativeWorldStateService: NativeWorldStateService;
|
|
8
9
|
private blockNumber;
|
|
10
|
+
/** AVM execution backend (simulator pool + CDB server) shared across all public simulations. */
|
|
11
|
+
avmSimulator: AvmSimulatorPool;
|
|
9
12
|
constructor(nativeWorldStateService: NativeWorldStateService);
|
|
10
13
|
static create(): Promise<TXESynchronizer>;
|
|
11
14
|
handleL2Block(block: L2Block, l1ToL2Messages?: Fr[]): Promise<void>;
|
|
@@ -32,5 +35,7 @@ export declare class TXESynchronizer implements WorldStateSynchronizer {
|
|
|
32
35
|
stopSync(): Promise<void>;
|
|
33
36
|
resumeSync(): void;
|
|
34
37
|
clear(): Promise<void>;
|
|
38
|
+
/** Clean up IPC resources. */
|
|
39
|
+
closeIpc(): Promise<void>;
|
|
35
40
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGVfbWFjaGluZS9zeW5jaHJvbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQ1Ysd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUM3QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBFLHFCQUFhLGVBQWdCLFlBQVcsc0JBQXNCO0lBT3pDLHVCQUF1QixFQUFFLHVCQUF1QjtJQUxuRSxPQUFPLENBQUMsV0FBVyxDQUFvQjtJQUV2QyxnR0FBZ0c7SUFDekYsWUFBWSxFQUFHLGdCQUFnQixDQUFDO0lBRXZDLFlBQW1CLHVCQUF1QixFQUFFLHVCQUF1QixFQUFJO0lBRXZFLE9BQWEsTUFBTSw2QkFVbEI7SUFFWSxhQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxjQUFjLEdBQUUsRUFBRSxFQUFPLGlCQU9uRTtJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUVoRztJQUVELCtGQUErRjtJQUN4RixZQUFZLElBQUksd0JBQXdCLENBRTlDO0lBRUQscUZBQXFGO0lBQzlFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBRTlEO0lBRUQsdUZBQXVGO0lBQ2hGLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxHQUFHLHdCQUF3QixDQUVoRTtJQUVELDBHQUEwRztJQUNuRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBRXhHO0lBRUQseUNBQXlDO0lBQ2xDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUVsSDtJQUVNLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVCO0lBRU0sTUFBTSxJQUFJLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUVyRDtJQUVZLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRWpDO0lBRU0sUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFL0I7SUFFTSxVQUFVLElBQUksSUFBSSxDQUV4QjtJQUVNLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVCO0lBRUQsOEJBQThCO0lBQ2pCLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXJDO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/state_machine/synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,YAAW,sBAAsB;
|
|
1
|
+
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/state_machine/synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,qBAAa,eAAgB,YAAW,sBAAsB;IAOzC,uBAAuB,EAAE,uBAAuB;IALnE,OAAO,CAAC,WAAW,CAAoB;IAEvC,gGAAgG;IACzF,YAAY,EAAG,gBAAgB,CAAC;IAEvC,YAAmB,uBAAuB,EAAE,uBAAuB,EAAI;IAEvE,OAAa,MAAM,6BAUlB;IAEY,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,GAAE,EAAE,EAAO,iBAOnE;IAED;;;;;OAKG;IACI,aAAa,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAEhG;IAED,+FAA+F;IACxF,YAAY,IAAI,wBAAwB,CAE9C;IAED,qFAAqF;IAC9E,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAE9D;IAED,uFAAuF;IAChF,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAEhE;IAED,0GAA0G;IACnG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAExG;IAED,yCAAyC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAElH;IAEM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5B;IAEM,MAAM,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAErD;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEjC;IAEM,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEM,UAAU,IAAI,IAAI,CAExB;IAEM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5B;IAED,8BAA8B;IACjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;CACF"}
|
|
@@ -2,18 +2,24 @@ import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
|
|
|
2
2
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
|
+
import { AvmSimulatorPool } from '@aztec/simulator/server';
|
|
5
6
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
6
7
|
export class TXESynchronizer {
|
|
7
8
|
nativeWorldStateService;
|
|
8
9
|
// This works when set to 1 as well.
|
|
9
10
|
blockNumber;
|
|
11
|
+
/** AVM execution backend (simulator pool + CDB server) shared across all public simulations. */ avmSimulator;
|
|
10
12
|
constructor(nativeWorldStateService){
|
|
11
13
|
this.nativeWorldStateService = nativeWorldStateService;
|
|
12
14
|
this.blockNumber = BlockNumber.ZERO;
|
|
13
15
|
}
|
|
14
16
|
static async create() {
|
|
15
17
|
const nativeWorldStateService = await NativeWorldStateService.ephemeral();
|
|
16
|
-
|
|
18
|
+
const synchronizer = new this(nativeWorldStateService);
|
|
19
|
+
synchronizer.avmSimulator = await AvmSimulatorPool.spawn({
|
|
20
|
+
wsdbIpcPath: nativeWorldStateService.getIpcPath()
|
|
21
|
+
});
|
|
22
|
+
return synchronizer;
|
|
17
23
|
}
|
|
18
24
|
async handleL2Block(block, l1ToL2Messages = []) {
|
|
19
25
|
await this.nativeWorldStateService.handleL2BlockAndMessages(block, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
|
|
@@ -48,8 +54,8 @@ export class TXESynchronizer {
|
|
|
48
54
|
status() {
|
|
49
55
|
throw new Error('TXE Synchronizer does not implement "status"');
|
|
50
56
|
}
|
|
51
|
-
stop() {
|
|
52
|
-
|
|
57
|
+
async stop() {
|
|
58
|
+
await this.closeIpc();
|
|
53
59
|
}
|
|
54
60
|
stopSync() {
|
|
55
61
|
throw new Error('TXE Synchronizer does not implement "stopSync"');
|
|
@@ -60,4 +66,7 @@ export class TXESynchronizer {
|
|
|
60
66
|
clear() {
|
|
61
67
|
throw new Error('TXE Synchronizer does not implement "clear"');
|
|
62
68
|
}
|
|
69
|
+
/** Clean up IPC resources. */ async closeIpc() {
|
|
70
|
+
await this.avmSimulator?.[Symbol.asyncDispose]();
|
|
71
|
+
}
|
|
63
72
|
}
|
package/dest/txe_session.d.ts
CHANGED
|
@@ -105,8 +105,8 @@ export declare class TXESession implements TXESessionStateHandler {
|
|
|
105
105
|
private disposed;
|
|
106
106
|
constructor(logger: Logger, sessionStore: AztecAsyncKVStore, stateMachine: TXEStateMachine, oracleHandler: IMiscOracle | IUtilityExecutionOracle | IPrivateExecutionOracle | IAvmExecutionOracle | ITxeExecutionOracle, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, accountStore: TXEAccountStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, taggingSecretSourcesStore: TaggingSecretSourcesStore, capsuleStore: CapsuleStore, factStore: FactStore, privateEventStore: PrivateEventStore, jobCoordinator: JobCoordinator, currentJobId: string, chainId: Fr, version: Fr, nextBlockTimestamp: bigint, artifactResolver: TXEArtifactResolver, rootPath: string, packageName: string);
|
|
107
107
|
/**
|
|
108
|
-
*
|
|
109
|
-
* Called via IPC when the dispatcher detects the end of a test. Idempotent.
|
|
108
|
+
* Tears down the per-session AVM simulator (process pool + CDB server), the `NativeWorldStateService`,
|
|
109
|
+
* and the `txe-session` LMDB. Called via IPC when the dispatcher detects the end of a test. Idempotent.
|
|
110
110
|
*/
|
|
111
111
|
dispose(): Promise<void>;
|
|
112
112
|
static init(contractStore: ContractStore, artifactResolver: TXEArtifactResolver, rootPath: string, packageName: string): Promise<TXESession>;
|
|
@@ -146,4 +146,4 @@ export declare class TXESession implements TXESessionStateHandler {
|
|
|
146
146
|
private utilityExecutorForContractSync;
|
|
147
147
|
}
|
|
148
148
|
export {};
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhlX3Nlc3Npb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eGVfc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsWUFBWSxFQUlaLFlBQVksRUFDWixhQUFhLEVBRWIsU0FBUyxFQUNULGNBQWMsRUFFZCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBRTFCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUlMLEtBQUssV0FBVyxFQUNoQixLQUFLLHVCQUF1QixFQUM1QixLQUFLLHVCQUF1QixFQUU1QixNQUFNLEVBSVAsTUFBTSxzQkFBc0IsQ0FBQztBQVU5QixPQUFPLEVBQUUsYUFBYSxFQUFnQixnQkFBZ0IsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPNUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVV2RixPQUFPLEVBQUUsYUFBYSxFQUEwQixNQUFNLHFCQUFxQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQXVDNUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxJQUFJO0tBQ25CLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUs7Q0FDakUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRVg7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixHQUFHLE9BQU8sQ0FDekMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUMxQixhQUFhLEdBQUcsZUFBZSxHQUFHLGtCQUFrQixHQUFHLGtCQUFrQixHQUFHLGNBQWMsR0FBRyxjQUFjLENBQzVHLENBQUM7QUFFRixNQUFNLFdBQVcsc0JBQXNCO0lBQ3JDLHFGQUFxRjtJQUNyRixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBRXhELGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RSxpQkFBaUIsQ0FDZixlQUFlLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUNyQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ3RDLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2pDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhFOzs7T0FHRztJQUNILGtCQUFrQixDQUNoQixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUMxQixxQkFBcUIsRUFBRSxZQUFZLEVBQ25DLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQ1YsUUFBUSxFQUFFLEVBQUUsRUFDWixZQUFZLEVBQUUsT0FBTyxFQUNyQixnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsRUFDaEMsNEJBQTRCLEVBQUUsWUFBWSxFQUFFLEVBQzVDLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWpCLGlFQUFpRTtJQUNqRSxzQkFBc0IsQ0FDcEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDMUIscUJBQXFCLEVBQUUsWUFBWSxFQUNuQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUNWLDRCQUE0QixFQUFFLFlBQVksRUFBRSxHQUMzQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVqQjs7O09BR0c7SUFDSCxpQkFBaUIsQ0FDZixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUMxQixxQkFBcUIsRUFBRSxZQUFZLEVBQ25DLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFDZCxZQUFZLEVBQUUsT0FBTyxFQUNyQixXQUFXLEVBQUUsV0FBVyxHQUN2QixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVqQixpSEFBaUg7SUFDakgsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUvRzs7O09BR0c7SUFDSCxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRXZDOzs7OztPQUtHO0lBQ0gsMEJBQTBCLElBQUk7UUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQTtLQUFFLENBQUM7SUFFbEQ7Ozs7T0FJRztJQUNILGtCQUFrQixJQUFJO1FBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUM7Q0FDcEU7QUFtQ0Q7OztHQUdHO0FBQ0gscUJBQWEsVUFBVyxZQUFXLHNCQUFzQjtJQVdyRCxPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxhQUFhO0lBTXJCLE9BQU8sQ0FBQyxhQUFhO0lBQ3JCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLHFCQUFxQjtJQUM3QixPQUFPLENBQUMseUJBQXlCO0lBQ2pDLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxpQkFBaUI7SUFDekIsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLE9BQU87SUFDZixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0I7SUFDakMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQXJDOUIsT0FBTyxDQUFDLEtBQUssQ0FBdUM7SUFDcEQsT0FBTyxDQUFDLFFBQVEsQ0FBdUM7SUFDdkQsT0FBTyxDQUFDLHVCQUF1QixDQUF5QztJQUN4RSxPQUFPLENBQUMsOEJBQThCLENBQVM7SUFDL0MsT0FBTyxDQUFDLFlBQVksQ0FBdUM7SUFDM0QsT0FBTyxDQUFDLGdCQUFnQixDQUErQztJQUV2RSxPQUFPLENBQUMsUUFBUSxDQUFTO0lBRXpCLFlBQ1UsTUFBTSxFQUFFLE1BQU0sRUFDZCxZQUFZLEVBQUUsaUJBQWlCLEVBQy9CLFlBQVksRUFBRSxlQUFlLEVBQzdCLGFBQWEsRUFDakIsV0FBVyxHQUNYLHVCQUF1QixHQUN2Qix1QkFBdUIsR0FDdkIsbUJBQW1CLEdBQ25CLG1CQUFtQixFQUNmLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFlBQVksRUFBRSxZQUFZLEVBQzFCLFlBQVksRUFBRSxlQUFlLEVBQzdCLGtCQUFrQixFQUFFLGtCQUFrQixFQUN0QyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFDNUMseUJBQXlCLEVBQUUseUJBQXlCLEVBQ3BELFlBQVksRUFBRSxZQUFZLEVBQzFCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxjQUFjLEVBQUUsY0FBYyxFQUM5QixZQUFZLEVBQUUsTUFBTSxFQUNwQixPQUFPLEVBQUUsRUFBRSxFQUNYLE9BQU8sRUFBRSxFQUFFLEVBQ1gsa0JBQWtCLEVBQUUsTUFBTSxFQUNqQixnQkFBZ0IsRUFBRSxtQkFBbUIsRUFDckMsUUFBUSxFQUFFLE1BQU0sRUFDaEIsV0FBVyxFQUFFLE1BQU0sRUFDbEM7SUFFSjs7O09BR0c7SUFDRyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQXVCN0I7SUFFRCxPQUFhLElBQUksQ0FDZixhQUFhLEVBQUUsYUFBYSxFQUM1QixnQkFBZ0IsRUFBRSxtQkFBbUIsRUFDckMsUUFBUSxFQUFFLE1BQU0sRUFDaEIsV0FBVyxFQUFFLE1BQU0sdUJBNEZwQjtJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsZUFBZSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQXdEeEc7WUFHYSxRQUFRO0lBTXRCLE9BQU8sQ0FBQyxhQUFhO0lBZXJCLG9CQUFvQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBRXJDO0lBRUQsT0FBTyxDQUFDLGtCQUFrQjtZQUtaLHdCQUF3QjtJQVd0QywwQkFBMEIsSUFBSTtRQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFBO0tBQUUsQ0FZaEQ7SUFFRCxrQkFBa0IsSUFBSTtRQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUdqRTtJQUVLLGtCQUFrQixDQUN0QixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUMxQixxQkFBcUIsRUFBRSxZQUFZLEVBQ25DLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQ1YsUUFBUSxFQUFFLEVBQUUsRUFDWixZQUFZLEVBQUUsT0FBTyxFQUNyQixnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsRUFDaEMsNEJBQTRCLEVBQUUsWUFBWSxFQUFFLEVBQzVDLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQWtDZjtJQUVLLHNCQUFzQixDQUMxQixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUMxQixxQkFBcUIsRUFBRSxZQUFZLEVBQ25DLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQ1YsNEJBQTRCLEVBQUUsWUFBWSxFQUFFLEdBQzNDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQWdCZjtJQUVLLGlCQUFpQixDQUNyQixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUMxQixxQkFBcUIsRUFBRSxZQUFZLEVBQ25DLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFDZCxZQUFZLEVBQUUsT0FBTyxFQUNyQixXQUFXLEVBQUUsV0FBVyxHQUN2QixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FvQmY7SUFFSyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQU1uSDtJQUVELE9BQU8sQ0FBQyxZQUFZO0lBT3BCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBYXREO0lBRUssa0JBQWtCLGtCQW1EdkI7SUFFSyxpQkFBaUIsQ0FDckIsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUN4QyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ3pDLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQXFGL0I7SUFFSyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQTRCOUQ7SUFFSyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLGlCQStEL0Q7SUFFRCxPQUFPLENBQUMsaUJBQWlCO1lBeUJYLGdCQUFnQjtZQTZCaEIsZUFBZTtJQVM3QixPQUFPLENBQUMsa0JBQWtCO0lBTTFCLE9BQU8sQ0FBQyw4QkFBOEI7Q0FxRXZDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txe_session.d.ts","sourceRoot":"","sources":["../src/txe_session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"txe_session.d.ts","sourceRoot":"","sources":["../src/txe_session.ts"],"names":[],"mappings":"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"}
|
package/dest/txe_session.js
CHANGED
|
@@ -102,13 +102,21 @@ function emptyLastCallState() {
|
|
|
102
102
|
this.disposed = false;
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
|
-
*
|
|
106
|
-
* Called via IPC when the dispatcher detects the end of a test. Idempotent.
|
|
105
|
+
* Tears down the per-session AVM simulator (process pool + CDB server), the `NativeWorldStateService`,
|
|
106
|
+
* and the `txe-session` LMDB. Called via IPC when the dispatcher detects the end of a test. Idempotent.
|
|
107
107
|
*/ async dispose() {
|
|
108
108
|
if (this.disposed) {
|
|
109
109
|
return;
|
|
110
110
|
}
|
|
111
111
|
this.disposed = true;
|
|
112
|
+
// Dispose the AVM pool before the world state: it kills the bb-avm-sim processes so they release their
|
|
113
|
+
// connection to the WSDB server, letting it shut down cleanly. Skipping this leaks a bb-avm-sim process
|
|
114
|
+
// (and keeps its WSDB alive) per session.
|
|
115
|
+
try {
|
|
116
|
+
await this.stateMachine.synchronizer.closeIpc();
|
|
117
|
+
} catch (err) {
|
|
118
|
+
this.logger.warn(`Error closing AVM simulator during session dispose`, err);
|
|
119
|
+
}
|
|
112
120
|
try {
|
|
113
121
|
await this.stateMachine.synchronizer.nativeWorldStateService.close();
|
|
114
122
|
} catch (err) {
|
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-2XE2OXLY.js";import{__name}from"./chunk-32UHX7YY.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.aa0c64f",
|
|
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.aa0c64f",
|
|
73
|
+
"@aztec/archiver": "0.0.1-commit.aa0c64f",
|
|
74
|
+
"@aztec/aztec-node": "0.0.1-commit.aa0c64f",
|
|
75
|
+
"@aztec/aztec.js": "0.0.1-commit.aa0c64f",
|
|
76
|
+
"@aztec/bb-prover": "0.0.1-commit.aa0c64f",
|
|
77
|
+
"@aztec/bb.js": "0.0.1-commit.aa0c64f",
|
|
78
|
+
"@aztec/constants": "0.0.1-commit.aa0c64f",
|
|
79
|
+
"@aztec/foundation": "0.0.1-commit.aa0c64f",
|
|
80
|
+
"@aztec/key-store": "0.0.1-commit.aa0c64f",
|
|
81
|
+
"@aztec/kv-store": "0.0.1-commit.aa0c64f",
|
|
82
|
+
"@aztec/protocol-contracts": "0.0.1-commit.aa0c64f",
|
|
83
|
+
"@aztec/pxe": "0.0.1-commit.aa0c64f",
|
|
84
|
+
"@aztec/simulator": "0.0.1-commit.aa0c64f",
|
|
85
|
+
"@aztec/standard-contracts": "0.0.1-commit.aa0c64f",
|
|
86
|
+
"@aztec/stdlib": "0.0.1-commit.aa0c64f",
|
|
87
|
+
"@aztec/world-state": "0.0.1-commit.aa0c64f",
|
|
88
88
|
"msgpackr": "^1.11.2",
|
|
89
89
|
"zod": "^4"
|
|
90
90
|
},
|
|
@@ -1,32 +1,29 @@
|
|
|
1
1
|
import { keccak256String } from '@aztec/foundation/crypto/keccak';
|
|
2
|
-
import {
|
|
2
|
+
import { getOracleRegistrySignature, readNumericGlobal } from '@aztec/pxe/bin';
|
|
3
|
+
import { ORACLE_REGISTRY, type OracleRegistryEntry } from '@aztec/pxe/simulator';
|
|
3
4
|
|
|
4
5
|
import { dirname, join } from 'path';
|
|
5
6
|
import { fileURLToPath } from 'url';
|
|
6
7
|
|
|
8
|
+
import { TXE_ORACLE_REGISTRY } from '../oracle/txe_oracle_registry.js';
|
|
7
9
|
import { TXE_ORACLE_INTERFACE_HASH, TXE_ORACLE_VERSION_MAJOR } from '../oracle/txe_oracle_version.js';
|
|
8
10
|
|
|
9
11
|
/**
|
|
10
12
|
* Verifies that the TXE oracle interfaces match the expected interface hash.
|
|
11
13
|
*
|
|
12
14
|
* The TXE oracle interfaces need to be versioned to ensure compatibility between Aztec.nr tests and TXE. This function
|
|
13
|
-
* computes a hash of the TXE
|
|
15
|
+
* computes a hash of the TXE-specific entries in `TXE_ORACLE_REGISTRY` (the shared PXE entries are covered by the PXE
|
|
16
|
+
* oracle version check) and compares it against a known hash. If they don't match, it means an
|
|
14
17
|
* interface has changed and the TXE oracle version needs to be bumped:
|
|
15
18
|
* - If the change is backward-breaking (e.g. removing/renaming an oracle), bump TXE_ORACLE_VERSION_MAJOR.
|
|
16
19
|
* - If the change is an oracle addition (non-breaking), bump TXE_ORACLE_VERSION_MINOR.
|
|
17
20
|
*/
|
|
18
21
|
function assertTxeOracleInterfaceMatches(): void {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const targets = ['IAvmExecutionOracle', 'ITxeExecutionOracle'];
|
|
24
|
-
// Not an oracle foreign call handler (see TODO(F-335) in interfaces.ts).
|
|
25
|
-
const excludedMembers = ['syncContractNonOracleMethod'];
|
|
26
|
-
|
|
27
|
-
const txeOracleInterfaceSignature = getOracleInterfaceSignature(interfacesSourcePath, targets, excludedMembers);
|
|
22
|
+
const txeOnlyEntries: Record<string, OracleRegistryEntry> = Object.fromEntries(
|
|
23
|
+
Object.entries(TXE_ORACLE_REGISTRY).filter(([name]) => !(name in ORACLE_REGISTRY)),
|
|
24
|
+
);
|
|
28
25
|
|
|
29
|
-
const txeOracleInterfaceHash = keccak256String(
|
|
26
|
+
const txeOracleInterfaceHash = keccak256String(getOracleRegistrySignature(txeOnlyEntries));
|
|
30
27
|
if (txeOracleInterfaceHash !== TXE_ORACLE_INTERFACE_HASH) {
|
|
31
28
|
throw new Error(
|
|
32
29
|
`The TXE oracle interface has changed. Update TXE_ORACLE_INTERFACE_HASH to ${txeOracleInterfaceHash} in txe/src/oracle/txe_oracle_version.ts and bump the TXE oracle version (TXE_ORACLE_VERSION_MAJOR for breaking changes, TXE_ORACLE_VERSION_MINOR for oracle additions).`,
|
package/src/oracle/interfaces.ts
CHANGED
|
@@ -69,7 +69,7 @@ export interface ITxeExecutionOracle {
|
|
|
69
69
|
salt: Fr,
|
|
70
70
|
deployer: AztecAddress,
|
|
71
71
|
): Promise<Fr[]>;
|
|
72
|
-
createAccount(secret: Fr): Promise<CompleteAddress>;
|
|
72
|
+
createAccount(secret: Fr, partialAddress: Fr): Promise<CompleteAddress>;
|
|
73
73
|
addAccount(secret: Fr): Promise<CompleteAddress>;
|
|
74
74
|
addAuthWitness(address: AztecAddress, messageHash: Fr): Promise<void>;
|
|
75
75
|
sendL1ToL2Message(content: Fr, secretHash: Fr, sender: EthAddress, recipient: AztecAddress): Promise<Fr>;
|
|
@@ -8,19 +8,29 @@ import {
|
|
|
8
8
|
BLOCK_HASH,
|
|
9
9
|
BLOCK_NUMBER,
|
|
10
10
|
BOOL,
|
|
11
|
-
BYTE,
|
|
12
11
|
BoundedVec,
|
|
12
|
+
type CompositeMapping,
|
|
13
13
|
DELIVERY_MODE,
|
|
14
14
|
ETH_ADDRESS,
|
|
15
15
|
FIELD,
|
|
16
16
|
FUNCTION_SELECTOR,
|
|
17
|
+
LEAF_INDEX,
|
|
17
18
|
NOTE_SELECTOR,
|
|
18
19
|
Option,
|
|
19
20
|
type OracleRegistryEntry,
|
|
20
21
|
SLOT_NUMBER,
|
|
21
|
-
type
|
|
22
|
+
type StructMapping,
|
|
22
23
|
type TypeMapping,
|
|
24
|
+
U8,
|
|
23
25
|
U32,
|
|
26
|
+
U64,
|
|
27
|
+
U128,
|
|
28
|
+
isArrayMapping,
|
|
29
|
+
isBoundedVecMapping,
|
|
30
|
+
isFixedArrayMapping,
|
|
31
|
+
isFixedBoundedVecMapping,
|
|
32
|
+
isOptionMapping,
|
|
33
|
+
isStructMapping,
|
|
24
34
|
tryFieldWidth,
|
|
25
35
|
} from '@aztec/pxe/simulator';
|
|
26
36
|
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
@@ -50,15 +60,18 @@ export function synthesizeDefaultFixtures(
|
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
/**
|
|
53
|
-
* The test-value implementations,
|
|
54
|
-
* `
|
|
63
|
+
* The scalar test-value implementations, mirroring the Noir synthesizer's `scalars` table in
|
|
64
|
+
* `noir-projects/aztec-nr/.../macros/oracle_testing.nr` exactly.
|
|
55
65
|
*/
|
|
56
|
-
const
|
|
66
|
+
const SCALAR_IMPLS: ScalarImpl[] = [
|
|
57
67
|
scalar(FIELD, seed => new Fr(seed)),
|
|
58
68
|
scalar(U32, seed => seed),
|
|
59
69
|
scalar(BLOCK_NUMBER, seed => BlockNumber(seed)),
|
|
60
70
|
scalar(BIGINT, seed => BigInt(seed)),
|
|
61
|
-
scalar(
|
|
71
|
+
scalar(U64, seed => BigInt(seed)),
|
|
72
|
+
scalar(U128, seed => BigInt(seed)),
|
|
73
|
+
scalar(LEAF_INDEX, seed => seed),
|
|
74
|
+
scalar(U8, seed => seed),
|
|
62
75
|
scalar(BOOL, seed => seed % 2 !== 0),
|
|
63
76
|
scalar(AZTEC_ADDRESS, seed => AztecAddress.fromNumberUnsafe(seed)),
|
|
64
77
|
scalar(ETH_ADDRESS, seed => EthAddress.fromField(new Fr(seed))),
|
|
@@ -70,12 +83,18 @@ const TEST_VALUE_IMPLS: TestValueImpl[] = [
|
|
|
70
83
|
scalar(DELIVERY_MODE, seed =>
|
|
71
84
|
seed % 2 === 0 ? AppTaggingSecretKind.UNCONSTRAINED : AppTaggingSecretKind.CONSTRAINED,
|
|
72
85
|
),
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* The composite test-value implementations, one per combinator, mirroring the Noir synthesizer's `synthesizers` table.
|
|
90
|
+
*/
|
|
91
|
+
const COMPOSITE_IMPLS: CompositeImpl[] = [
|
|
92
|
+
composite(isOptionMapping, (type, seed) => [
|
|
93
|
+
named(Option.some(testValueFor(type.inner, seed)), 'some'),
|
|
94
|
+
named(Option.none(testValueFor(type.inner, seed)), 'none'),
|
|
76
95
|
]),
|
|
77
|
-
composite(
|
|
78
|
-
composite(
|
|
96
|
+
composite(isArrayMapping, (type, seed) => [unnamed(collectionData(type.inner, seed, DEFAULT_ARRAY_LENGTH))]),
|
|
97
|
+
composite(isBoundedVecMapping, (type, seed) => [
|
|
79
98
|
unnamed(
|
|
80
99
|
BoundedVec.from({
|
|
81
100
|
data: collectionData(type.inner, seed, DEFAULT_ARRAY_LENGTH),
|
|
@@ -83,17 +102,20 @@ const TEST_VALUE_IMPLS: TestValueImpl[] = [
|
|
|
83
102
|
}),
|
|
84
103
|
),
|
|
85
104
|
]),
|
|
86
|
-
composite(
|
|
105
|
+
composite(isStructMapping, (type, seed) => [unnamed(structValue(type, seed))]),
|
|
87
106
|
// A fixed-length array uses its real (signature) length, unlike the generic-length ARRAY which is pinned to
|
|
88
107
|
// DEFAULT_ARRAY_LENGTH.
|
|
89
|
-
composite(
|
|
108
|
+
composite(isFixedArrayMapping, (type, seed) => [unnamed(collectionData(type.inner, seed, type.length))]),
|
|
90
109
|
// Same for a fixed-capacity bounded vec: real capacity, DEFAULT_ARRAY_LENGTH elements (its value type is a plain
|
|
91
110
|
// element array, unlike the two-slot BOUNDED_VEC), clamped to the capacity so small vecs stay valid.
|
|
92
|
-
composite(
|
|
111
|
+
composite(isFixedBoundedVecMapping, (type, seed) => [
|
|
93
112
|
unnamed(collectionData(type.inner, seed, Math.min(DEFAULT_ARRAY_LENGTH, type.maxLength))),
|
|
94
113
|
]),
|
|
95
114
|
];
|
|
96
115
|
|
|
116
|
+
/** The scalar mappings with a registered test-value impl. */
|
|
117
|
+
export const SCALAR_MAPPINGS: TypeMapping<any>[] = SCALAR_IMPLS.map(impl => impl.mapping);
|
|
118
|
+
|
|
97
119
|
/**
|
|
98
120
|
* The base every seed is offset by, applied once where a parameter's position becomes its seed, so generated values
|
|
99
121
|
* stay clear of 0. Must match `SEED_BASE` in the Noir `oracle_testing.nr`.
|
|
@@ -125,32 +147,34 @@ function named(value: unknown, name: string): Scenario {
|
|
|
125
147
|
return { value, name };
|
|
126
148
|
}
|
|
127
149
|
|
|
128
|
-
/**
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
150
|
+
/** An impl for the single scalar `mapping` it synthesizes for. */
|
|
151
|
+
type ScalarImpl = {
|
|
152
|
+
mapping: TypeMapping<any>;
|
|
153
|
+
scenarios: (type: TypeMapping<any>, seed: number) => Scenario[];
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/** An impl for a whole family of composite mappings, selected by its `kind` type guard. */
|
|
157
|
+
type CompositeImpl = {
|
|
134
158
|
match: (type: TypeMapping<any>) => boolean;
|
|
135
159
|
scenarios: (type: TypeMapping<any>, seed: number) => Scenario[];
|
|
136
|
-
}
|
|
160
|
+
};
|
|
137
161
|
|
|
138
|
-
/** A scalar impl
|
|
139
|
-
function scalar(
|
|
140
|
-
return {
|
|
162
|
+
/** A scalar impl yielding a single unnamed scenario. */
|
|
163
|
+
function scalar(mapping: TypeMapping<any>, value: (seed: number) => unknown): ScalarImpl {
|
|
164
|
+
return { mapping, scenarios: (_type, seed) => [unnamed(value(seed))] };
|
|
141
165
|
}
|
|
142
166
|
|
|
143
|
-
/** A composite impl
|
|
167
|
+
/** A composite impl, recursing through the matched mapping's element/inner mapping. */
|
|
144
168
|
function composite<K extends CompositeMapping>(
|
|
145
169
|
guard: (type: TypeMapping<any>) => type is K,
|
|
146
170
|
scenarios: (type: K, seed: number) => Scenario[],
|
|
147
|
-
):
|
|
171
|
+
): CompositeImpl {
|
|
148
172
|
return { match: guard, scenarios: (type, seed) => scenarios(type as K, seed) };
|
|
149
173
|
}
|
|
150
174
|
|
|
151
175
|
/** Synthesized element values for a collection. */
|
|
152
176
|
function collectionData(element: TypeMapping<any>, seed: number, length: number): unknown[] {
|
|
153
|
-
return Array.from({ length }, (_, i) =>
|
|
177
|
+
return Array.from({ length }, (_, i) => testValueFor(element, seed + i));
|
|
154
178
|
}
|
|
155
179
|
|
|
156
180
|
/**
|
|
@@ -161,7 +185,7 @@ function structValue(type: StructMapping, seed: number): Record<string, unknown>
|
|
|
161
185
|
const value: Record<string, unknown> = {};
|
|
162
186
|
let offset = 0;
|
|
163
187
|
for (const field of type.fields) {
|
|
164
|
-
value[field.name] =
|
|
188
|
+
value[field.name] = testValueFor(field.type, seed + offset);
|
|
165
189
|
const width = tryFieldWidth(field.type.shape);
|
|
166
190
|
if (width === undefined) {
|
|
167
191
|
// A variable-width field has no flat offset to seed the next field at, so only this oracle is unsynthesizable.
|
|
@@ -177,15 +201,18 @@ function structValue(type: StructMapping, seed: number): Record<string, unknown>
|
|
|
177
201
|
* dispatcher. Throws if the type has no matching impl.
|
|
178
202
|
*/
|
|
179
203
|
function scenariosForType(type: TypeMapping<any>, seed: number): Scenario[] {
|
|
180
|
-
const impl =
|
|
204
|
+
const impl = SCALAR_IMPLS.find(i => i.mapping === type) ?? COMPOSITE_IMPLS.find(i => i.match(type));
|
|
181
205
|
if (!impl) {
|
|
182
206
|
throw new UnsynthesizableTypeError(type);
|
|
183
207
|
}
|
|
184
208
|
return impl.scenarios(type, seed);
|
|
185
209
|
}
|
|
186
210
|
|
|
187
|
-
/**
|
|
188
|
-
|
|
211
|
+
/**
|
|
212
|
+
* The test value of `type` at `seed`, matching what the Noir synthesizer produces for the same type and seed. Throws
|
|
213
|
+
* for types without a test-value impl.
|
|
214
|
+
*/
|
|
215
|
+
export function testValueFor(type: TypeMapping<any>, seed: number): unknown {
|
|
189
216
|
return scenariosForType(type, seed)[0].value;
|
|
190
217
|
}
|
|
191
218
|
|
|
@@ -242,41 +269,3 @@ function synthesizeScenariosOrThrow(entry: OracleRegistryEntry): OracleTestScena
|
|
|
242
269
|
}
|
|
243
270
|
return scenarios;
|
|
244
271
|
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* The composite `TypeMapping`s (`ARRAY`/`BOUNDED_VEC`/`OPTION`/`STRUCT`/`FIXED_ARRAY`/`FIXED_BOUNDED_VEC`),
|
|
248
|
-
* discriminated by `kind`. The combinators attach `kind` plus the inner mapping(s) at construction; the registry
|
|
249
|
-
* erases params to the base `TypeMapping`, so the guards below recover the structure for recursion.
|
|
250
|
-
*/
|
|
251
|
-
type ArrayMapping = TypeMapping & { kind: 'array'; inner: TypeMapping };
|
|
252
|
-
type BoundedVecMapping = TypeMapping & { kind: 'bounded-vec'; inner: TypeMapping };
|
|
253
|
-
type OptionMapping = TypeMapping & { kind: 'option'; inner: TypeMapping };
|
|
254
|
-
type StructMapping = TypeMapping & { kind: 'struct'; fields: readonly StructField[] };
|
|
255
|
-
type FixedArrayMapping = TypeMapping & { kind: 'fixed-array'; inner: TypeMapping; length: number };
|
|
256
|
-
type FixedBoundedVecMapping = TypeMapping & { kind: 'fixed-bounded-vec'; inner: TypeMapping; maxLength: number };
|
|
257
|
-
type CompositeMapping =
|
|
258
|
-
| ArrayMapping
|
|
259
|
-
| BoundedVecMapping
|
|
260
|
-
| OptionMapping
|
|
261
|
-
| StructMapping
|
|
262
|
-
| FixedArrayMapping
|
|
263
|
-
| FixedBoundedVecMapping;
|
|
264
|
-
|
|
265
|
-
function isArray(type: TypeMapping<any>): type is ArrayMapping {
|
|
266
|
-
return 'kind' in type && type.kind === 'array';
|
|
267
|
-
}
|
|
268
|
-
function isBoundedVec(type: TypeMapping<any>): type is BoundedVecMapping {
|
|
269
|
-
return 'kind' in type && type.kind === 'bounded-vec';
|
|
270
|
-
}
|
|
271
|
-
function isOption(type: TypeMapping<any>): type is OptionMapping {
|
|
272
|
-
return 'kind' in type && type.kind === 'option';
|
|
273
|
-
}
|
|
274
|
-
function isStruct(type: TypeMapping<any>): type is StructMapping {
|
|
275
|
-
return 'kind' in type && type.kind === 'struct';
|
|
276
|
-
}
|
|
277
|
-
function isFixedArray(type: TypeMapping<any>): type is FixedArrayMapping {
|
|
278
|
-
return 'kind' in type && type.kind === 'fixed-array';
|
|
279
|
-
}
|
|
280
|
-
function isFixedBoundedVec(type: TypeMapping<any>): type is FixedBoundedVecMapping {
|
|
281
|
-
return 'kind' in type && type.kind === 'fixed-bounded-vec';
|
|
282
|
-
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import type { Logger } from '@aztec/foundation/log';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { withoutHexPrefix } from '@aztec/foundation/string';
|
|
5
|
-
import { BOUNDED_VEC,
|
|
5
|
+
import { BOUNDED_VEC, BoundedVec, Option, type OracleRegistryEntry, U8, makeEntry } from '@aztec/pxe/simulator';
|
|
6
6
|
|
|
7
7
|
import type { ForeignCallArgs, ForeignCallResult } from '../../utils/encoding.js';
|
|
8
8
|
import { toInputSlots } from '../txe_oracle_registry.js';
|
|
@@ -10,7 +10,7 @@ import { synthesizeDefaultFixtures } from './default_fixtures.js';
|
|
|
10
10
|
|
|
11
11
|
/** Name of the meta-oracle that Noir tests call to announce the next call's scenario by name. */
|
|
12
12
|
const SET_SCENARIO_ORACLE = 'aztec_oracle_test_set_scenario';
|
|
13
|
-
export const SET_SCENARIO_ENTRY = makeEntry({ params: [{ name: 'name', type: BOUNDED_VEC(
|
|
13
|
+
export const SET_SCENARIO_ENTRY = makeEntry({ params: [{ name: 'name', type: BOUNDED_VEC(U8) }] });
|
|
14
14
|
|
|
15
15
|
export type OracleTestCallInput = {
|
|
16
16
|
session_id: number;
|