@aztec-labs/txe 6.0.0-rc.3 → 6.0.0-rc.4
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-DFZMVVXG.js → AuthRegistry-C3LO5PQT.js} +1 -1
- package/dest/{AuthRegistry-DFZMVVXG.js.map → AuthRegistry-C3LO5PQT.js.map} +2 -2
- package/dest/{ContractClassRegistry-GDIRCLCZ.js → ContractClassRegistry-KVMXSCYB.js} +1 -1
- package/dest/{ContractClassRegistry-GDIRCLCZ.js.map → ContractClassRegistry-KVMXSCYB.js.map} +1 -1
- package/dest/{ContractInstanceRegistry-5NFEHSYT.js → ContractInstanceRegistry-G6UG2R2Y.js} +1 -1
- package/dest/{ContractInstanceRegistry-5NFEHSYT.js.map → ContractInstanceRegistry-G6UG2R2Y.js.map} +1 -1
- package/dest/{FeeJuice-6AV2J3WV.js → FeeJuice-BVKXV3SG.js} +1 -1
- package/dest/{FeeJuice-6AV2J3WV.js.map → FeeJuice-BVKXV3SG.js.map} +1 -1
- package/dest/HandshakeRegistry-PPBWWSQT.js +3 -0
- package/dest/HandshakeRegistry-PPBWWSQT.js.map +7 -0
- package/dest/{MultiCallEntrypoint-OXZWTZ7U.js → MultiCallEntrypoint-IYWSWPCG.js} +1 -1
- package/dest/{MultiCallEntrypoint-OXZWTZ7U.js.map → MultiCallEntrypoint-IYWSWPCG.js.map} +2 -2
- package/dest/SchnorrAccount-5JEEB3OZ.js +3 -0
- package/dest/SchnorrAccount-5JEEB3OZ.js.map +7 -0
- package/dest/SchnorrInitializerlessAccount-J2EBUSWO.js +3 -0
- package/dest/SchnorrInitializerlessAccount-J2EBUSWO.js.map +7 -0
- package/dest/bin/index.js +1 -1
- package/dest/bin/index.js.map +2 -2
- package/dest/bin/oracle_test_server.js +2 -1
- package/dest/{chunk-KKWIRT4P.js → chunk-2RLJ3PK7.js} +6 -6
- package/dest/{chunk-KKWIRT4P.js.map → chunk-2RLJ3PK7.js.map} +3 -3
- package/dest/chunk-CQW7U3VW.js +259 -0
- package/dest/chunk-CQW7U3VW.js.map +7 -0
- package/dest/metafile.json +1759 -800
- package/dest/oracle/test-resolver/default_fixtures.d.ts +1 -1
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -1
- package/dest/oracle/test-resolver/default_fixtures.js +14 -1
- package/dest/oracle/txe_oracle_registry.d.ts +4 -4
- package/dest/oracle/txe_oracle_top_level_context.js +1 -3
- package/dest/rpc_server.d.ts +1 -1
- package/dest/rpc_server.d.ts.map +1 -1
- package/dest/rpc_server.js +2 -1
- package/dest/server.bundle.js +1 -1
- package/dest/state_machine/mock_epoch_cache.d.ts +9 -9
- package/dest/state_machine/mock_epoch_cache.d.ts.map +1 -1
- package/dest/state_machine/mock_epoch_cache.js +22 -10
- package/dest/utils/encoding.d.ts +2 -1
- package/dest/utils/encoding.d.ts.map +1 -1
- package/dest/utils/encoding.js +1 -0
- package/dest/worker.bundle.js +1 -1
- package/dest/worker.bundle.js.map +2 -2
- package/dest/worker.js +2 -1
- package/package.json +17 -17
- package/src/bin/index.ts +3 -1
- package/src/bin/oracle_test_server.ts +2 -1
- package/src/oracle/test-resolver/default_fixtures.ts +9 -0
- package/src/oracle/txe_oracle_top_level_context.ts +1 -1
- package/src/rpc_server.ts +2 -1
- package/src/state_machine/mock_epoch_cache.ts +22 -19
- package/src/utils/encoding.ts +1 -0
- package/src/worker.ts +2 -1
- package/dest/HandshakeRegistry-BYEKQ34Z.js +0 -3
- package/dest/HandshakeRegistry-BYEKQ34Z.js.map +0 -7
- package/dest/SchnorrAccount-Q7DS65TU.js +0 -3
- package/dest/SchnorrAccount-Q7DS65TU.js.map +0 -7
- package/dest/SchnorrInitializerlessAccount-K3SZTZ34.js +0 -3
- package/dest/SchnorrInitializerlessAccount-K3SZTZ34.js.map +0 -7
- package/dest/chunk-4E62VKCC.js +0 -259
- package/dest/chunk-4E62VKCC.js.map +0 -7
|
@@ -13,4 +13,4 @@ export declare const SCALAR_MAPPINGS: TypeMapping<any>[];
|
|
|
13
13
|
* for types without a test-value impl.
|
|
14
14
|
*/
|
|
15
15
|
export declare function testValueFor(type: TypeMapping<any>, seed: number): unknown;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9maXh0dXJlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29yYWNsZS90ZXN0LXJlc29sdmVyL2RlZmF1bHRfZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQWdCTCxLQUFLLG1CQUFtQixFQUl4QixLQUFLLFdBQVcsRUFhakIsTUFBTSwyQkFBMkIsQ0FBQztBQVFuQyxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RDs7OztHQUlHO0FBQ0gsd0JBQWdCLHlCQUF5QixDQUN2QyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxHQUM1QyxNQUFNLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FXdEM7QUFtRUQsNkRBQTZEO0FBQzdELGVBQU8sTUFBTSxlQUFlLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUEyQyxDQUFDO0FBOEYxRjs7O0dBR0c7QUFDSCx3QkFBZ0IsWUFBWSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBRTFFIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default_fixtures.d.ts","sourceRoot":"","sources":["../../../src/oracle/test-resolver/default_fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"default_fixtures.d.ts","sourceRoot":"","sources":["../../../src/oracle/test-resolver/default_fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,EAgBL,KAAK,mBAAmB,EAIxB,KAAK,WAAW,EAajB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC5C,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAWtC;AAmED,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,EAA2C,CAAC;AA8F1F;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BlockNumber, SlotNumber } from '@aztec-labs/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec-labs/foundation/curves/bn254';
|
|
3
3
|
import { EthAddress } from '@aztec-labs/foundation/eth-address';
|
|
4
|
-
import { AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BoundedVec, DELIVERY_MODE, ETH_ADDRESS, FIELD, FUNCTION_SELECTOR, LEAF_INDEX, NOTE_SELECTOR, Option, SLOT_NUMBER, TX_HASH, U8, U32, U64, U128, isArrayMapping, isBoundedVecMapping, isFixedArrayMapping, isFixedBoundedVecMapping, isOptionMapping, isStructMapping, isVectorMapping, tryFieldWidth } from '@aztec-labs/pxe/simulator';
|
|
4
|
+
import { AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BoundedVec, DELIVERY_MODE, ETH_ADDRESS, FACT_SCOPE, FIELD, FUNCTION_SELECTOR, LEAF_INDEX, NOTE_SELECTOR, Option, SLOT_NUMBER, TX_HASH, U8, U32, U64, U128, isArrayMapping, isBoundedVecMapping, isFixedArrayMapping, isFixedBoundedVecMapping, isOptionMapping, isStructMapping, isVectorMapping, tryFieldWidth } from '@aztec-labs/pxe/simulator';
|
|
5
5
|
import { EventSelector, FunctionSelector, NoteSelector } from '@aztec-labs/stdlib/abi';
|
|
6
6
|
import { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
7
7
|
import { BlockHash } from '@aztec-labs/stdlib/block';
|
|
@@ -65,6 +65,19 @@ import { EVENT_SELECTOR } from '../txe_oracle_registry.js';
|
|
|
65
65
|
maxLength: BOUNDED_VEC_MAX_LENGTH
|
|
66
66
|
}))
|
|
67
67
|
]),
|
|
68
|
+
// A leaf rather than a combinator, but with one scenario per scope kind, as each serializes differently.
|
|
69
|
+
{
|
|
70
|
+
match: (type)=>type === FACT_SCOPE,
|
|
71
|
+
scenarios: (_type, seed)=>[
|
|
72
|
+
named({
|
|
73
|
+
type: 'account',
|
|
74
|
+
account: testValueFor(AZTEC_ADDRESS, seed)
|
|
75
|
+
}, 'account'),
|
|
76
|
+
named({
|
|
77
|
+
type: 'public'
|
|
78
|
+
}, 'public')
|
|
79
|
+
]
|
|
80
|
+
},
|
|
68
81
|
composite(isStructMapping, (type, seed)=>[
|
|
69
82
|
unnamed(structValue(type, seed))
|
|
70
83
|
]),
|
|
@@ -50,10 +50,10 @@ export declare const TXE_ORACLE_REGISTRY: {
|
|
|
50
50
|
aztec_utl_getSharedSecrets: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"address", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"ephPks", import("@aztec-labs/pxe/simulator").EphemeralArray<import("@aztec-labs/pxe/simulator").EmbeddedCurvePoint>>, import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>], import("@aztec-labs/pxe/simulator").EphemeralArray<Fr>>;
|
|
51
51
|
aztec_utl_setContractSyncCacheInvalid: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scopes", import("@aztec-labs/pxe/simulator").BoundedVec<import("@aztec-labs/stdlib/aztec-address").AztecAddress>>], any>;
|
|
52
52
|
aztec_utl_emitOffchainEffect: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"data", Fr[]>], any>;
|
|
53
|
-
aztec_utl_recordFact: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/
|
|
54
|
-
aztec_utl_deleteFactCollection: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/
|
|
55
|
-
aztec_utl_getFactCollection: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/
|
|
56
|
-
aztec_utl_getFactCollectionsByType: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/
|
|
53
|
+
aztec_utl_recordFact: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/pxe/server").FactScope>, import("@aztec-labs/pxe/simulator").NamedValue<"factCollectionTypeId", Fr>, import("@aztec-labs/pxe/simulator").NamedValue<"factCollectionId", Fr>, import("@aztec-labs/pxe/simulator").NamedValue<"factTypeId", Fr>, import("@aztec-labs/pxe/simulator").NamedValue<"payload", import("@aztec-labs/pxe/simulator").EphemeralArray<Fr>>, import("@aztec-labs/pxe/simulator").NamedValue<"originBlock", Option<import("@aztec-labs/pxe/server").BlockReference>>], any>;
|
|
54
|
+
aztec_utl_deleteFactCollection: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/pxe/server").FactScope>, import("@aztec-labs/pxe/simulator").NamedValue<"factCollectionTypeId", Fr>, import("@aztec-labs/pxe/simulator").NamedValue<"factCollectionId", Fr>], any>;
|
|
55
|
+
aztec_utl_getFactCollection: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/pxe/server").FactScope>, import("@aztec-labs/pxe/simulator").NamedValue<"factCollectionTypeId", Fr>, import("@aztec-labs/pxe/simulator").NamedValue<"factCollectionId", Fr>], Option<import("@aztec-labs/pxe/simulator").FactCollection>>;
|
|
56
|
+
aztec_utl_getFactCollectionsByType: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"scope", import("@aztec-labs/pxe/server").FactScope>, import("@aztec-labs/pxe/simulator").NamedValue<"factCollectionTypeId", Fr>], import("@aztec-labs/pxe/simulator").EphemeralArray<import("@aztec-labs/pxe/simulator").FactCollection>>;
|
|
57
57
|
aztec_utl_callUtilityFunction: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"contractAddress", import("@aztec-labs/stdlib/aztec-address").AztecAddress>, import("@aztec-labs/pxe/simulator").NamedValue<"functionSelector", import("@aztec-labs/stdlib/abi").FunctionSelector>, import("@aztec-labs/pxe/simulator").NamedValue<"args", Fr[]>], Fr[]>;
|
|
58
58
|
aztec_utl_pushEphemeral: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"slot", Fr>, import("@aztec-labs/pxe/simulator").NamedValue<"elements", Fr[]>], number>;
|
|
59
59
|
aztec_utl_popEphemeral: OracleRegistryEntry<[import("@aztec-labs/pxe/simulator").NamedValue<"slot", Fr>], Fr[]>;
|
|
@@ -169,9 +169,7 @@ export class TXEOracleTopLevelContext {
|
|
|
169
169
|
throw new Error(`Invalid log level: ${level}`);
|
|
170
170
|
}
|
|
171
171
|
const levelName = LogLevels[level];
|
|
172
|
-
this.logger[levelName](
|
|
173
|
-
module: `${this.logger.module}:debug_log`
|
|
174
|
-
});
|
|
172
|
+
this.logger.createChild('debug_log')[levelName](applyStringFormatting(message, fields));
|
|
175
173
|
return Promise.resolve();
|
|
176
174
|
}
|
|
177
175
|
getDefaultAddress() {
|
package/dest/rpc_server.d.ts
CHANGED
|
@@ -11,4 +11,4 @@ import type { Logger } from '@aztec-labs/foundation/log';
|
|
|
11
11
|
* Lives in its own module so the worker bundle does not pull in the HTTP server stack.
|
|
12
12
|
*/
|
|
13
13
|
export declare function createTXERpcServer(logger: Logger): Promise<import("@aztec-labs/foundation/json-rpc/server").SafeJsonRpcServer>;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjX3NlcnZlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwY19zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFjekQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSwrRUE0Q3REIn0=
|
package/dest/rpc_server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc_server.d.ts","sourceRoot":"","sources":["../src/rpc_server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rpc_server.d.ts","sourceRoot":"","sources":["../src/rpc_server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAczD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,+EA4CtD"}
|
package/dest/rpc_server.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getEnv } from '@aztec-labs/foundation/config/env';
|
|
1
2
|
import { createSafeJsonRpcServer } from '@aztec-labs/foundation/json-rpc/server';
|
|
2
3
|
import { TXEDispatcherPool, buildSharedContractStore } from './dispatcher_pool.js';
|
|
3
4
|
import { TXEDispatcher, TXEDispatcherApiSchema } from './index.js';
|
|
@@ -16,7 +17,7 @@ import { TXEDispatcher, TXEDispatcherApiSchema } from './index.js';
|
|
|
16
17
|
*
|
|
17
18
|
* Lives in its own module so the worker bundle does not pull in the HTTP server stack.
|
|
18
19
|
*/ export async function createTXERpcServer(logger) {
|
|
19
|
-
const workerCount = Number(
|
|
20
|
+
const workerCount = Number(getEnv().TXE_WORKERS);
|
|
20
21
|
let dispatcher;
|
|
21
22
|
if (workerCount === 1) {
|
|
22
23
|
const { dataDir, schnorrClassId } = await buildSharedContractStore();
|
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-2RLJ3PK7.js";import"./chunk-CQW7U3VW.js";import"./chunk-32UHX7YY.js";export{createTXERpcServer};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { EpochAndSlot, EpochCacheInterface,
|
|
1
|
+
import type { CommitteeLookup, CommitteeMembershipLookup, EpochAndSlot, EpochCacheInterface, EscapeHatchLookup, ProposerLookup, SlotTag } from '@aztec-labs/epoch-cache';
|
|
2
2
|
import { EpochNumber, SlotNumber } from '@aztec-labs/foundation/branded-types';
|
|
3
|
-
import { EthAddress } from '@aztec-labs/foundation/eth-address';
|
|
3
|
+
import type { EthAddress } from '@aztec-labs/foundation/eth-address';
|
|
4
4
|
import { type L1RollupConstants } from '@aztec-labs/stdlib/epoch-helpers';
|
|
5
5
|
/**
|
|
6
6
|
* Mock implementation of the EpochCacheInterface used to satisfy dependencies of AztecNodeService.
|
|
7
7
|
* Since in TXE we don't validate transactions, mock suffices here.
|
|
8
8
|
*/
|
|
9
9
|
export declare class MockEpochCache implements EpochCacheInterface {
|
|
10
|
-
getCommittee(_slot?: SlotTag): Promise<
|
|
10
|
+
getCommittee(_slot?: SlotTag): Promise<CommitteeLookup>;
|
|
11
11
|
getSlotNow(): SlotNumber;
|
|
12
12
|
getTargetSlot(): SlotNumber;
|
|
13
13
|
getEpochNow(): EpochNumber;
|
|
@@ -31,13 +31,13 @@ export declare class MockEpochCache implements EpochCacheInterface {
|
|
|
31
31
|
targetSlot: SlotNumber;
|
|
32
32
|
nextSlot: SlotNumber;
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
lookupProposer(_slot: SlotNumber): Promise<ProposerLookup>;
|
|
35
|
+
lookupMembership(_slot: SlotTag, _validator: EthAddress): Promise<CommitteeMembershipLookup<boolean>>;
|
|
36
36
|
getRegisteredValidators(): Promise<EthAddress[]>;
|
|
37
|
-
filterInCommittee(_slot: SlotTag, _validators: EthAddress[]): Promise<EthAddress[]
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
filterInCommittee(_slot: SlotTag, _validators: EthAddress[]): Promise<CommitteeMembershipLookup<EthAddress[]>>;
|
|
38
|
+
lookupEscapeHatch(_epoch: EpochNumber): Promise<EscapeHatchLookup>;
|
|
39
|
+
lookupEscapeHatchAtSlot(_slot: SlotTag): Promise<EscapeHatchLookup>;
|
|
40
40
|
getL1Constants(): L1RollupConstants;
|
|
41
41
|
getLagInEpochsForValidatorSet(): number;
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19lcG9jaF9jYWNoZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRlX21hY2hpbmUvbW9ja19lcG9jaF9jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVixlQUFlLEVBQ2YseUJBQXlCLEVBQ3pCLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxPQUFPLEVBQ1IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBMEIsS0FBSyxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWxHOzs7R0FHRztBQUNILHFCQUFhLGNBQWUsWUFBVyxtQkFBbUI7SUFDeEQsWUFBWSxDQUFDLEtBQUssR0FBRSxPQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUU3RDtJQUVELFVBQVUsSUFBSSxVQUFVLENBRXZCO0lBRUQsYUFBYSxJQUFJLFVBQVUsQ0FFMUI7SUFFRCxXQUFXLElBQUksV0FBVyxDQUV6QjtJQUVELGNBQWMsSUFBSSxXQUFXLENBRTVCO0lBRUQsa0JBQWtCLElBQUksWUFBWSxHQUFHO1FBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBT3JEO0lBRUQsMkJBQTJCLElBQUksWUFBWSxHQUFHO1FBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBT25FO0lBRUQsaUNBQWlDLElBQUksWUFBWSxHQUFHO1FBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBRXpFO0lBRUQsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FFN0Y7SUFFRCxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFakc7SUFFRCxxQkFBcUIsSUFBSTtRQUFFLFdBQVcsRUFBRSxVQUFVLENBQUM7UUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFBO0tBQUUsQ0FLekU7SUFFRCxvQkFBb0IsSUFBSTtRQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFBO0tBQUUsQ0FLdkU7SUFFRCxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBRXpEO0lBRUQsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUVwRztJQUVELHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUUvQztJQUVELGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBRTdHO0lBRUQsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FFakU7SUFFRCx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUVsRTtJQUVELGNBQWMsSUFBSSxpQkFBaUIsQ0FFbEM7SUFFRCw2QkFBNkIsSUFBSSxNQUFNLENBRXRDO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_epoch_cache.d.ts","sourceRoot":"","sources":["../../src/state_machine/mock_epoch_cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mock_epoch_cache.d.ts","sourceRoot":"","sources":["../../src/state_machine/mock_epoch_cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,OAAO,EACR,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAElG;;;GAGG;AACH,qBAAa,cAAe,YAAW,mBAAmB;IACxD,YAAY,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAE7D;IAED,UAAU,IAAI,UAAU,CAEvB;IAED,aAAa,IAAI,UAAU,CAE1B;IAED,WAAW,IAAI,WAAW,CAEzB;IAED,cAAc,IAAI,WAAW,CAE5B;IAED,kBAAkB,IAAI,YAAY,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAOrD;IAED,2BAA2B,IAAI,YAAY,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAOnE;IAED,iCAAiC,IAAI,YAAY,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAEzE;IAED,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAE7F;IAED,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjG;IAED,qBAAqB,IAAI;QAAE,WAAW,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,CAKzE;IAED,oBAAoB,IAAI;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,CAKvE;IAED,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAEzD;IAED,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAEpG;IAED,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAE/C;IAED,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,UAAU,EAAE,CAAC,CAAC,CAE7G;IAED,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEjE;IAED,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAElE;IAED,cAAc,IAAI,iBAAiB,CAElC;IAED,6BAA6B,IAAI,MAAM,CAEtC;CACF"}
|
|
@@ -6,7 +6,7 @@ import { EmptyL1RollupConstants } from '@aztec-labs/stdlib/epoch-helpers';
|
|
|
6
6
|
*/ export class MockEpochCache {
|
|
7
7
|
getCommittee(_slot = 'now') {
|
|
8
8
|
return Promise.resolve({
|
|
9
|
-
|
|
9
|
+
state: 'none',
|
|
10
10
|
seed: 0n,
|
|
11
11
|
epoch: EpochNumber.ZERO,
|
|
12
12
|
isEscapeHatchOpen: false
|
|
@@ -61,23 +61,35 @@ import { EmptyL1RollupConstants } from '@aztec-labs/stdlib/epoch-helpers';
|
|
|
61
61
|
nextSlot: SlotNumber(0)
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
return Promise.resolve(
|
|
64
|
+
lookupProposer(_slot) {
|
|
65
|
+
return Promise.resolve({
|
|
66
|
+
state: 'none'
|
|
67
|
+
});
|
|
66
68
|
}
|
|
67
|
-
|
|
68
|
-
return Promise.resolve(
|
|
69
|
+
lookupMembership(_slot, _validator) {
|
|
70
|
+
return Promise.resolve({
|
|
71
|
+
state: 'none'
|
|
72
|
+
});
|
|
69
73
|
}
|
|
70
74
|
getRegisteredValidators() {
|
|
71
75
|
return Promise.resolve([]);
|
|
72
76
|
}
|
|
73
77
|
filterInCommittee(_slot, _validators) {
|
|
74
|
-
return Promise.resolve(
|
|
78
|
+
return Promise.resolve({
|
|
79
|
+
state: 'none'
|
|
80
|
+
});
|
|
75
81
|
}
|
|
76
|
-
|
|
77
|
-
return Promise.resolve(
|
|
82
|
+
lookupEscapeHatch(_epoch) {
|
|
83
|
+
return Promise.resolve({
|
|
84
|
+
state: 'none',
|
|
85
|
+
isEscapeHatchOpen: false
|
|
86
|
+
});
|
|
78
87
|
}
|
|
79
|
-
|
|
80
|
-
return Promise.resolve(
|
|
88
|
+
lookupEscapeHatchAtSlot(_slot) {
|
|
89
|
+
return Promise.resolve({
|
|
90
|
+
state: 'none',
|
|
91
|
+
isEscapeHatchOpen: false
|
|
92
|
+
});
|
|
81
93
|
}
|
|
82
94
|
getL1Constants() {
|
|
83
95
|
return EmptyL1RollupConstants;
|
package/dest/utils/encoding.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { type ContractArtifact } from '@aztec-labs/stdlib/abi';
|
|
|
4
4
|
import { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
5
5
|
import { BlockHash } from '@aztec-labs/stdlib/block';
|
|
6
6
|
import { type ContractInstanceWithAddress } from '@aztec-labs/stdlib/contract';
|
|
7
|
+
import { Buffer } from 'buffer';
|
|
7
8
|
import { z } from 'zod';
|
|
8
9
|
export type ForeignCallSingle = string;
|
|
9
10
|
export type ForeignCallArray = string[];
|
|
@@ -191,4 +192,4 @@ export declare const ForeignCallArgsSchema: z.ZodArray<z.ZodUnion<readonly [z.Zo
|
|
|
191
192
|
export declare const ForeignCallResultSchema: z.ZodObject<{
|
|
192
193
|
values: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
193
194
|
}, z.core.$strip>;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTBCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSywyQkFBMkIsRUFBcUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUV2QyxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFFeEMsTUFBTSxNQUFNLGVBQWUsR0FBRyxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLDJCQUEyQixDQUFDLEVBQUUsQ0FBQztBQUV4SCxNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIsTUFBTSxFQUFFLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO0NBQ2xELENBQUM7QUFFRix3QkFBZ0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsTUFFaEQ7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsR0FBRyxFQUFFLGlCQUFpQixnQkFFdkQ7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGlCQUFpQixhQUV6RDtBQUVELHdCQUFnQixTQUFTLENBQUMsR0FBRyxFQUFFLGdCQUFnQixRQUU5QztBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FNaEY7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQU9wSDtBQUlELHdCQUFnQixRQUFRLENBQ3RCLEtBQUssRUFBRSxZQUFZLEdBQUcsVUFBVSxHQUFHLEVBQUUsR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQ3pFLGlCQUFpQixDQVluQjtBQUVELHdCQUFnQixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLGdCQUFnQixDQUVwRDtBQUVELHdCQUFnQixlQUFlLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUscUJBRS9DO0FBRUQsd0JBQWdCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLGdCQUFnQixDQUVoRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQy9CLFdBQVcsRUFBRSxnQkFBZ0IsRUFDN0IsTUFBTSxFQUFFLE1BQU0sR0FDYixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBWXZDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGlDQUFpQyxDQUMvQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsRUFDL0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxpQkFBaUIsRUFBRSxNQUFNLEdBQ3hCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsQ0FzQnZDO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLEVBQUU7O0VBRWhGO0FBRUQsZUFBTyxNQUFNLHVCQUF1QixhQUFhLENBQUM7QUFFbEQsZUFBTyxNQUFNLHNCQUFzQix5QkFBc0IsQ0FBQztBQUUxRCxlQUFPLE1BQU0scUJBQXFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FCQUVqQyxDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1Qjs7aUJBRWxDLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,KAAK,2BAA2B,EAAqC,MAAM,6BAA6B,CAAC;AAClH,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"}
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,EAAE,KAAK,gBAAgB,EAA0B,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,KAAK,2BAA2B,EAAqC,MAAM,6BAA6B,CAAC;AAClH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,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"}
|
package/dest/utils/encoding.js
CHANGED
|
@@ -4,6 +4,7 @@ import { ContractArtifactSchema } from '@aztec-labs/stdlib/abi';
|
|
|
4
4
|
import { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
5
5
|
import { BlockHash } from '@aztec-labs/stdlib/block';
|
|
6
6
|
import { ContractInstanceWithAddressSchema } from '@aztec-labs/stdlib/contract';
|
|
7
|
+
import { Buffer } from 'buffer';
|
|
7
8
|
import { z } from 'zod';
|
|
8
9
|
export function fromSingle(obj) {
|
|
9
10
|
return Fr.fromBuffer(Buffer.from(obj, 'hex'));
|
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,getEnv}from"./chunk-CQW7U3VW.js";import{__name}from"./chunk-32UHX7YY.js";import{BackendType,Barretenberg,BarretenbergSync}from"@aztec-foundation/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");getEnv().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}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/worker.ts"],
|
|
4
|
-
"sourcesContent": ["import { BackendType, Barretenberg, BarretenbergSync } from '@aztec-foundation/bb.js';\n\nimport { type Logger, createLogger } from '@aztec-labs/foundation/log';\nimport { parentPort, workerData } from 'node:worker_threads';\n\n// Importing `./index.js` registers the msgpackr Fr extension transitively (via\n// ./msgpackr_fr_extension.js); this must happen before any `sendMessage` call.\nimport { TXEDispatcher, type TXEDispatcherOptions, type TXEForeignCallInput, activeSessionCount } from './index.js';\n\n// Seed both bb.js singletons with the WASM backend before any crypto call. `initSingleton`\n// binds the singleton to whichever backend the first call requests, so this pre-empts the\n// implicit `Barretenberg.initSingleton()` inside `poseidon2Hash` from `@aztec-labs/foundation/crypto`.\n// TXE only needs hashing (no proving, no verification), so WASM is sufficient and\n// `skipSrsInit: true` skips the CRS load. `threads: 1` keeps the WASM backend on a single\n// thread \u2014 additional threads would each spawn a nested worker_thread, multiplying memory cost\n// per pool worker.\nvoid Barretenberg.initSingleton({ backend: BackendType.Wasm, skipSrsInit: true, threads: 1 });\nvoid BarretenbergSync.initSingleton({ backend: BackendType.Wasm });\n\nif (!parentPort) {\n throw new Error('worker.ts must be loaded as a worker_thread');\n}\n\nconst port = parentPort;\nconst logger: Logger = createLogger('txe:worker');\n\n// The pool builds a template LMDB containing the protocol contracts + the SchnorrAccount\n// artifact on the main thread and passes its data dir via `workerData`. The dispatcher clones\n// that LMDB into a per-worker store on first use, so this worker gets a writable copy already\n// populated.\nconst dispatcherOpts: TXEDispatcherOptions = {\n contractStoreSourceDir: workerData.contractStoreSourceDir,\n schnorrClassId: workerData.schnorrClassId,\n};\nconst dispatcher = new TXEDispatcher(logger, dispatcherOpts);\n\ninterface ForeignCallRequest {\n type: 'foreign-call';\n requestId: number;\n callData: TXEForeignCallInput;\n}\n\ninterface DisposeSessionMessage {\n type: 'dispose-session';\n sessionId: number;\n}\n\ntype IncomingMessage = ForeignCallRequest | DisposeSessionMessage;\n\ninterface SerializedError {\n message: string;\n name?: string;\n stack?: string;\n}\n\nfunction serializeError(err: unknown): SerializedError {\n if (err instanceof Error) {\n return { message: err.message, name: err.name, stack: err.stack };\n }\n return { message: String(err) };\n}\n\n// Periodic memstat for diagnostic builds \u2014 set TXE_WORKER_MEMSTAT=1 to enable. Posts JS-heap\n// breakdown + active-session count back to the dispatcher so we can attribute RSS growth\n// between V8 heap (would show in heapUsed) and native (LMDB / world-state / WASM).\nif (
|
|
5
|
-
"mappings": ";;
|
|
4
|
+
"sourcesContent": ["import { BackendType, Barretenberg, BarretenbergSync } from '@aztec-foundation/bb.js';\n\nimport { getEnv } from '@aztec-labs/foundation/config/env';\nimport { type Logger, createLogger } from '@aztec-labs/foundation/log';\nimport { parentPort, workerData } from 'node:worker_threads';\n\n// Importing `./index.js` registers the msgpackr Fr extension transitively (via\n// ./msgpackr_fr_extension.js); this must happen before any `sendMessage` call.\nimport { TXEDispatcher, type TXEDispatcherOptions, type TXEForeignCallInput, activeSessionCount } from './index.js';\n\n// Seed both bb.js singletons with the WASM backend before any crypto call. `initSingleton`\n// binds the singleton to whichever backend the first call requests, so this pre-empts the\n// implicit `Barretenberg.initSingleton()` inside `poseidon2Hash` from `@aztec-labs/foundation/crypto`.\n// TXE only needs hashing (no proving, no verification), so WASM is sufficient and\n// `skipSrsInit: true` skips the CRS load. `threads: 1` keeps the WASM backend on a single\n// thread \u2014 additional threads would each spawn a nested worker_thread, multiplying memory cost\n// per pool worker.\nvoid Barretenberg.initSingleton({ backend: BackendType.Wasm, skipSrsInit: true, threads: 1 });\nvoid BarretenbergSync.initSingleton({ backend: BackendType.Wasm });\n\nif (!parentPort) {\n throw new Error('worker.ts must be loaded as a worker_thread');\n}\n\nconst port = parentPort;\nconst logger: Logger = createLogger('txe:worker');\n\n// The pool builds a template LMDB containing the protocol contracts + the SchnorrAccount\n// artifact on the main thread and passes its data dir via `workerData`. The dispatcher clones\n// that LMDB into a per-worker store on first use, so this worker gets a writable copy already\n// populated.\nconst dispatcherOpts: TXEDispatcherOptions = {\n contractStoreSourceDir: workerData.contractStoreSourceDir,\n schnorrClassId: workerData.schnorrClassId,\n};\nconst dispatcher = new TXEDispatcher(logger, dispatcherOpts);\n\ninterface ForeignCallRequest {\n type: 'foreign-call';\n requestId: number;\n callData: TXEForeignCallInput;\n}\n\ninterface DisposeSessionMessage {\n type: 'dispose-session';\n sessionId: number;\n}\n\ntype IncomingMessage = ForeignCallRequest | DisposeSessionMessage;\n\ninterface SerializedError {\n message: string;\n name?: string;\n stack?: string;\n}\n\nfunction serializeError(err: unknown): SerializedError {\n if (err instanceof Error) {\n return { message: err.message, name: err.name, stack: err.stack };\n }\n return { message: String(err) };\n}\n\n// Periodic memstat for diagnostic builds \u2014 set TXE_WORKER_MEMSTAT=1 to enable. Posts JS-heap\n// breakdown + active-session count back to the dispatcher so we can attribute RSS growth\n// between V8 heap (would show in heapUsed) and native (LMDB / world-state / WASM).\nif (getEnv().TXE_WORKER_MEMSTAT === '1') {\n setInterval(() => {\n const m = process.memoryUsage();\n port.postMessage({\n type: 'memstat',\n sessions: activeSessionCount(),\n rss: m.rss,\n heapTotal: m.heapTotal,\n heapUsed: m.heapUsed,\n external: m.external,\n arrayBuffers: m.arrayBuffers,\n });\n }, 2000).unref();\n}\n\nport.on('message', (msg: IncomingMessage) => {\n switch (msg.type) {\n case 'foreign-call':\n void (async () => {\n try {\n const value = await dispatcher.resolve_foreign_call(msg.callData);\n port.postMessage({ type: 'result', requestId: msg.requestId, ok: true, value });\n } catch (err) {\n port.postMessage({ type: 'result', requestId: msg.requestId, ok: false, error: serializeError(err) });\n }\n })();\n return;\n case 'dispose-session':\n // Fire-and-forget; the main thread does not wait for confirmation.\n void dispatcher.disposeSession(msg.sessionId).catch(err => logger.warn(`disposeSession failed`, err));\n return;\n }\n});\n"],
|
|
5
|
+
"mappings": ";;8HAAA,OAAS,YAAa,aAAc,qBAAwB,0BAI5D,OAAS,WAAY,eAAkB,sBAalC,aAAa,cAAc,CAAE,QAAS,YAAY,KAAM,YAAa,GAAM,QAAS,CAAE,CAAC,EACvF,iBAAiB,cAAc,CAAE,QAAS,YAAY,IAAK,CAAC,EAEjE,GAAI,CAAC,WACH,MAAM,IAAI,MAAM,6CAA6C,EAG/D,IAAM,KAAO,WACP,OAAiB,aAAa,YAAY,EAM1C,eAAuC,CAC3C,uBAAwB,WAAW,uBACnC,eAAgB,WAAW,cAC7B,EACM,WAAa,IAAI,cAAc,OAAQ,cAAc,EAqB3D,SAAS,eAAe,IAA+B,CACrD,OAAI,eAAe,MACV,CAAE,QAAS,IAAI,QAAS,KAAM,IAAI,KAAM,MAAO,IAAI,KAAM,EAE3D,CAAE,QAAS,OAAO,GAAG,CAAE,CAChC,CALS,wCAUL,OAAO,EAAE,qBAAuB,KAClC,YAAY,IAAM,CAChB,IAAM,EAAI,QAAQ,YAAY,EAC9B,KAAK,YAAY,CACf,KAAM,UACN,SAAU,mBAAmB,EAC7B,IAAK,EAAE,IACP,UAAW,EAAE,UACb,SAAU,EAAE,SACZ,SAAU,EAAE,SACZ,aAAc,EAAE,YAClB,CAAC,CACH,EAAG,GAAI,EAAE,MAAM,EAGjB,KAAK,GAAG,UAAY,KAAyB,CAC3C,OAAQ,IAAI,KAAM,CAChB,IAAK,gBACG,SAAY,CAChB,GAAI,CACF,IAAM,MAAQ,MAAM,WAAW,qBAAqB,IAAI,QAAQ,EAChE,KAAK,YAAY,CAAE,KAAM,SAAU,UAAW,IAAI,UAAW,GAAI,GAAM,KAAM,CAAC,CAChF,OAAS,IAAK,CACZ,KAAK,YAAY,CAAE,KAAM,SAAU,UAAW,IAAI,UAAW,GAAI,GAAO,MAAO,eAAe,GAAG,CAAE,CAAC,CACtG,CACF,GAAG,EACH,OACF,IAAK,kBAEE,WAAW,eAAe,IAAI,SAAS,EAAE,MAAM,KAAO,OAAO,KAAK,wBAAyB,GAAG,CAAC,EACpG,MACJ,CACF,CAAC",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dest/worker.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BackendType, Barretenberg, BarretenbergSync } from '@aztec-foundation/bb.js';
|
|
2
|
+
import { getEnv } from '@aztec-labs/foundation/config/env';
|
|
2
3
|
import { createLogger } from '@aztec-labs/foundation/log';
|
|
3
4
|
import { parentPort, workerData } from 'node:worker_threads';
|
|
4
5
|
// Importing `./index.js` registers the msgpackr Fr extension transitively (via
|
|
@@ -48,7 +49,7 @@ function serializeError(err) {
|
|
|
48
49
|
// Periodic memstat for diagnostic builds — set TXE_WORKER_MEMSTAT=1 to enable. Posts JS-heap
|
|
49
50
|
// breakdown + active-session count back to the dispatcher so we can attribute RSS growth
|
|
50
51
|
// between V8 heap (would show in heapUsed) and native (LMDB / world-state / WASM).
|
|
51
|
-
if (
|
|
52
|
+
if (getEnv().TXE_WORKER_MEMSTAT === '1') {
|
|
52
53
|
setInterval(()=>{
|
|
53
54
|
const m = process.memoryUsage();
|
|
54
55
|
port.postMessage({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec-labs/txe",
|
|
3
|
-
"version": "6.0.0-rc.
|
|
3
|
+
"version": "6.0.0-rc.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": {
|
|
@@ -69,21 +69,21 @@
|
|
|
69
69
|
]
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@aztec-foundation/bb.js": "6.0.0-rc.
|
|
73
|
-
"@aztec-labs/accounts": "6.0.0-rc.
|
|
74
|
-
"@aztec-labs/archiver": "6.0.0-rc.
|
|
75
|
-
"@aztec-labs/aztec-node": "6.0.0-rc.
|
|
76
|
-
"@aztec-labs/bb-prover": "6.0.0-rc.
|
|
77
|
-
"@aztec-labs/constants": "6.0.0-rc.
|
|
78
|
-
"@aztec-labs/foundation": "6.0.0-rc.
|
|
79
|
-
"@aztec-labs/key-store": "6.0.0-rc.
|
|
80
|
-
"@aztec-labs/kv-store": "6.0.0-rc.
|
|
81
|
-
"@aztec-labs/protocol-contracts": "6.0.0-rc.
|
|
82
|
-
"@aztec-labs/pxe": "6.0.0-rc.
|
|
83
|
-
"@aztec-labs/simulator": "6.0.0-rc.
|
|
84
|
-
"@aztec-labs/standard-contracts": "6.0.0-rc.
|
|
85
|
-
"@aztec-labs/stdlib": "6.0.0-rc.
|
|
86
|
-
"@aztec-labs/world-state": "6.0.0-rc.
|
|
72
|
+
"@aztec-foundation/bb.js": "6.0.0-rc.7",
|
|
73
|
+
"@aztec-labs/accounts": "6.0.0-rc.4",
|
|
74
|
+
"@aztec-labs/archiver": "6.0.0-rc.4",
|
|
75
|
+
"@aztec-labs/aztec-node": "6.0.0-rc.4",
|
|
76
|
+
"@aztec-labs/bb-prover": "6.0.0-rc.4",
|
|
77
|
+
"@aztec-labs/constants": "6.0.0-rc.4",
|
|
78
|
+
"@aztec-labs/foundation": "6.0.0-rc.4",
|
|
79
|
+
"@aztec-labs/key-store": "6.0.0-rc.4",
|
|
80
|
+
"@aztec-labs/kv-store": "6.0.0-rc.4",
|
|
81
|
+
"@aztec-labs/protocol-contracts": "6.0.0-rc.4",
|
|
82
|
+
"@aztec-labs/pxe": "6.0.0-rc.4",
|
|
83
|
+
"@aztec-labs/simulator": "6.0.0-rc.4",
|
|
84
|
+
"@aztec-labs/standard-contracts": "6.0.0-rc.4",
|
|
85
|
+
"@aztec-labs/stdlib": "6.0.0-rc.4",
|
|
86
|
+
"@aztec-labs/world-state": "6.0.0-rc.4",
|
|
87
87
|
"msgpackr": "^1.11.2",
|
|
88
88
|
"zod": "~4.4.3"
|
|
89
89
|
},
|
|
@@ -110,6 +110,6 @@
|
|
|
110
110
|
"!*.test.*"
|
|
111
111
|
],
|
|
112
112
|
"engines": {
|
|
113
|
-
"node": ">=20.
|
|
113
|
+
"node": ">=20.16"
|
|
114
114
|
}
|
|
115
115
|
}
|
package/src/bin/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings
|
|
2
|
+
import { getEnv } from '@aztec-labs/foundation/config/env';
|
|
2
3
|
import { startHttpRpcServer } from '@aztec-labs/foundation/json-rpc/server';
|
|
3
4
|
import { createLogger } from '@aztec-labs/foundation/log';
|
|
4
5
|
|
|
@@ -11,13 +12,14 @@ import { createTXERpcServer } from '../rpc_server.js';
|
|
|
11
12
|
// CAVEAT: HARDWARE_CONCURRENCY is process-global — bb prove/verify, the LMDB reader pool, and
|
|
12
13
|
// the world-state native thread pool all read it. Safe at 2 today because TXE never proves or
|
|
13
14
|
// verifies and only performs light tree updates; raise it if that ever changes.
|
|
15
|
+
// eslint-disable-next-line no-restricted-properties -- sets a variable of the Node.js process
|
|
14
16
|
process.env.HARDWARE_CONCURRENCY ??= '2';
|
|
15
17
|
|
|
16
18
|
/**
|
|
17
19
|
* Create and start a new TXE HTTP Server
|
|
18
20
|
*/
|
|
19
21
|
async function main() {
|
|
20
|
-
const { TXE_PORT = 8080 } =
|
|
22
|
+
const { TXE_PORT = 8080 } = getEnv();
|
|
21
23
|
|
|
22
24
|
process.on('SIGTERM', () => {
|
|
23
25
|
logger.info('Received SIGTERM.');
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings
|
|
2
|
+
import { getEnv } from '@aztec-labs/foundation/config/env';
|
|
2
3
|
import { startHttpRpcServer } from '@aztec-labs/foundation/json-rpc/server';
|
|
3
4
|
import { createLogger } from '@aztec-labs/foundation/log';
|
|
4
5
|
|
|
@@ -10,7 +11,7 @@ import { createOracleTestRpcServer } from '../oracle/test-resolver/index.js';
|
|
|
10
11
|
* Logs fixture coverage on shutdown.
|
|
11
12
|
*/
|
|
12
13
|
async function main() {
|
|
13
|
-
const { ORACLE_TEST_PORT = 14830 } =
|
|
14
|
+
const { ORACLE_TEST_PORT = 14830 } = getEnv();
|
|
14
15
|
|
|
15
16
|
const logger = createLogger('txe:oracle-test');
|
|
16
17
|
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
type CompositeMapping,
|
|
12
12
|
DELIVERY_MODE,
|
|
13
13
|
ETH_ADDRESS,
|
|
14
|
+
FACT_SCOPE,
|
|
14
15
|
FIELD,
|
|
15
16
|
FUNCTION_SELECTOR,
|
|
16
17
|
LEAF_INDEX,
|
|
@@ -109,6 +110,14 @@ const COMPOSITE_IMPLS: CompositeImpl[] = [
|
|
|
109
110
|
}),
|
|
110
111
|
),
|
|
111
112
|
]),
|
|
113
|
+
// A leaf rather than a combinator, but with one scenario per scope kind, as each serializes differently.
|
|
114
|
+
{
|
|
115
|
+
match: type => type === FACT_SCOPE,
|
|
116
|
+
scenarios: (_type, seed) => [
|
|
117
|
+
named({ type: 'account', account: testValueFor(AZTEC_ADDRESS, seed) }, 'account'),
|
|
118
|
+
named({ type: 'public' }, 'public'),
|
|
119
|
+
],
|
|
120
|
+
},
|
|
112
121
|
composite(isStructMapping, (type, seed) => [unnamed(structValue(type, seed))]),
|
|
113
122
|
// A fixed-length array uses its real (signature) length, unlike the generic-length ARRAY which is pinned to
|
|
114
123
|
// DEFAULT_ARRAY_LENGTH.
|
|
@@ -193,7 +193,7 @@ export class TXEOracleTopLevelContext implements IMiscOracle, ITxeExecutionOracl
|
|
|
193
193
|
}
|
|
194
194
|
const levelName = LogLevels[level];
|
|
195
195
|
|
|
196
|
-
this.logger[levelName](
|
|
196
|
+
this.logger.createChild('debug_log')[levelName](applyStringFormatting(message, fields));
|
|
197
197
|
return Promise.resolve();
|
|
198
198
|
}
|
|
199
199
|
|
package/src/rpc_server.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getEnv } from '@aztec-labs/foundation/config/env';
|
|
1
2
|
import { createSafeJsonRpcServer } from '@aztec-labs/foundation/json-rpc/server';
|
|
2
3
|
import type { Logger } from '@aztec-labs/foundation/log';
|
|
3
4
|
import type { Socket } from 'node:net';
|
|
@@ -25,7 +26,7 @@ type TaggedSocket = Socket & { [SESSION_SYMBOL]?: number };
|
|
|
25
26
|
* Lives in its own module so the worker bundle does not pull in the HTTP server stack.
|
|
26
27
|
*/
|
|
27
28
|
export async function createTXERpcServer(logger: Logger) {
|
|
28
|
-
const workerCount = Number(
|
|
29
|
+
const workerCount = Number(getEnv().TXE_WORKERS);
|
|
29
30
|
let dispatcher: TXEDispatcher | TXEDispatcherPool;
|
|
30
31
|
if (workerCount === 1) {
|
|
31
32
|
const { dataDir, schnorrClassId } = await buildSharedContractStore();
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
CommitteeLookup,
|
|
3
|
+
CommitteeMembershipLookup,
|
|
4
|
+
EpochAndSlot,
|
|
5
|
+
EpochCacheInterface,
|
|
6
|
+
EscapeHatchLookup,
|
|
7
|
+
ProposerLookup,
|
|
8
|
+
SlotTag,
|
|
9
|
+
} from '@aztec-labs/epoch-cache';
|
|
2
10
|
import { EpochNumber, SlotNumber } from '@aztec-labs/foundation/branded-types';
|
|
3
|
-
import { EthAddress } from '@aztec-labs/foundation/eth-address';
|
|
11
|
+
import type { EthAddress } from '@aztec-labs/foundation/eth-address';
|
|
4
12
|
import { EmptyL1RollupConstants, type L1RollupConstants } from '@aztec-labs/stdlib/epoch-helpers';
|
|
5
13
|
|
|
6
14
|
/**
|
|
@@ -8,13 +16,8 @@ import { EmptyL1RollupConstants, type L1RollupConstants } from '@aztec-labs/stdl
|
|
|
8
16
|
* Since in TXE we don't validate transactions, mock suffices here.
|
|
9
17
|
*/
|
|
10
18
|
export class MockEpochCache implements EpochCacheInterface {
|
|
11
|
-
getCommittee(_slot: SlotTag = 'now'): Promise<
|
|
12
|
-
return Promise.resolve({
|
|
13
|
-
committee: undefined,
|
|
14
|
-
seed: 0n,
|
|
15
|
-
epoch: EpochNumber.ZERO,
|
|
16
|
-
isEscapeHatchOpen: false,
|
|
17
|
-
});
|
|
19
|
+
getCommittee(_slot: SlotTag = 'now'): Promise<CommitteeLookup> {
|
|
20
|
+
return Promise.resolve({ state: 'none', seed: 0n, epoch: EpochNumber.ZERO, isEscapeHatchOpen: false });
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
getSlotNow(): SlotNumber {
|
|
@@ -77,28 +80,28 @@ export class MockEpochCache implements EpochCacheInterface {
|
|
|
77
80
|
};
|
|
78
81
|
}
|
|
79
82
|
|
|
80
|
-
|
|
81
|
-
return Promise.resolve(
|
|
83
|
+
lookupProposer(_slot: SlotNumber): Promise<ProposerLookup> {
|
|
84
|
+
return Promise.resolve({ state: 'none' });
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
|
|
85
|
-
return Promise.resolve(
|
|
87
|
+
lookupMembership(_slot: SlotTag, _validator: EthAddress): Promise<CommitteeMembershipLookup<boolean>> {
|
|
88
|
+
return Promise.resolve({ state: 'none' });
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
getRegisteredValidators(): Promise<EthAddress[]> {
|
|
89
92
|
return Promise.resolve([]);
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
filterInCommittee(_slot: SlotTag, _validators: EthAddress[]): Promise<EthAddress[]
|
|
93
|
-
return Promise.resolve(
|
|
95
|
+
filterInCommittee(_slot: SlotTag, _validators: EthAddress[]): Promise<CommitteeMembershipLookup<EthAddress[]>> {
|
|
96
|
+
return Promise.resolve({ state: 'none' });
|
|
94
97
|
}
|
|
95
98
|
|
|
96
|
-
|
|
97
|
-
return Promise.resolve(false);
|
|
99
|
+
lookupEscapeHatch(_epoch: EpochNumber): Promise<EscapeHatchLookup> {
|
|
100
|
+
return Promise.resolve({ state: 'none', isEscapeHatchOpen: false });
|
|
98
101
|
}
|
|
99
102
|
|
|
100
|
-
|
|
101
|
-
return Promise.resolve(false);
|
|
103
|
+
lookupEscapeHatchAtSlot(_slot: SlotTag): Promise<EscapeHatchLookup> {
|
|
104
|
+
return Promise.resolve({ state: 'none', isEscapeHatchOpen: false });
|
|
102
105
|
}
|
|
103
106
|
|
|
104
107
|
getL1Constants(): L1RollupConstants {
|
package/src/utils/encoding.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { type ContractArtifact, ContractArtifactSchema } from '@aztec-labs/stdli
|
|
|
5
5
|
import { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
6
6
|
import { BlockHash } from '@aztec-labs/stdlib/block';
|
|
7
7
|
import { type ContractInstanceWithAddress, ContractInstanceWithAddressSchema } from '@aztec-labs/stdlib/contract';
|
|
8
|
+
import { Buffer } from 'buffer';
|
|
8
9
|
import { z } from 'zod';
|
|
9
10
|
|
|
10
11
|
export type ForeignCallSingle = string;
|
package/src/worker.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BackendType, Barretenberg, BarretenbergSync } from '@aztec-foundation/bb.js';
|
|
2
2
|
|
|
3
|
+
import { getEnv } from '@aztec-labs/foundation/config/env';
|
|
3
4
|
import { type Logger, createLogger } from '@aztec-labs/foundation/log';
|
|
4
5
|
import { parentPort, workerData } from 'node:worker_threads';
|
|
5
6
|
|
|
@@ -63,7 +64,7 @@ function serializeError(err: unknown): SerializedError {
|
|
|
63
64
|
// Periodic memstat for diagnostic builds — set TXE_WORKER_MEMSTAT=1 to enable. Posts JS-heap
|
|
64
65
|
// breakdown + active-session count back to the dispatcher so we can attribute RSS growth
|
|
65
66
|
// between V8 heap (would show in heapUsed) and native (LMDB / world-state / WASM).
|
|
66
|
-
if (
|
|
67
|
+
if (getEnv().TXE_WORKER_MEMSTAT === '1') {
|
|
67
68
|
setInterval(() => {
|
|
68
69
|
const m = process.memoryUsage();
|
|
69
70
|
port.postMessage({
|