Skip to content

Commit ae2ed42

Browse files
committed
fixup! refactor: rename addContracts -> addContractsFromLogs on PublicContractsDB
- Rename addContractOverrides -> addContracts for symmetry with addContractsFromLogs - Add createContractsDB() to factory; accept contractsDB as param in create() so callers can populate it before construction without exposing it from processor - Revert contractsDB to protected on PublicProcessor
1 parent aad9443 commit ae2ed42

3 files changed

Lines changed: 14 additions & 10 deletions

File tree

yarn-project/aztec-node/src/aztec-node/server.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1382,10 +1382,11 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
13821382
maxDebugLogMemoryReads: this.config.rpcSimulatePublicMaxDebugLogMemoryReads,
13831383
}),
13841384
});
1385-
const processor = publicProcessorFactory.create(merkleTreeFork, newGlobalVariables, config);
1385+
const contractsDB = publicProcessorFactory.createContractsDB();
13861386
if (contractOverrides) {
1387-
processor.contractsDB.addContractOverrides(contractOverrides);
1387+
contractsDB.addContracts(contractOverrides);
13881388
}
1389+
const processor = publicProcessorFactory.create(merkleTreeFork, newGlobalVariables, config, contractsDB);
13891390

13901391
// REFACTOR: Consider merging ProcessReturnValues into ProcessedTx
13911392
const [processedTxs, failedTxs, _usedTxs, returns, debugLogs] = await processor.process([tx]);

yarn-project/simulator/src/public/public_db_sources.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ export class PublicContractsDB implements PublicContractsDBInterface {
7777
this.addContractsFromLogs(contractDeploymentData.getRevertibleContractDeploymentData());
7878
}
7979

80-
/** Injects contract class and instance overrides directly into the current checkpoint. */
81-
public addContractOverrides(overrides: PublicContractOverrides): void {
80+
/** Inserts typed contract classes and instances directly into the current checkpoint. */
81+
public addContracts(overrides: PublicContractOverrides): void {
8282
const currentState = this.getCurrentState();
8383
for (const contractClass of overrides.contractClasses ?? []) {
8484
currentState.addClass(contractClass.id, contractClass);

yarn-project/simulator/src/public/public_processor/public_processor.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,20 +73,23 @@ export class PublicProcessorFactory {
7373
this.log = createLogger('simulator:public-processor-factory', bindings);
7474
}
7575

76+
/** Creates a fresh PublicContractsDB backed by this factory's data source. */
77+
public createContractsDB(): PublicContractsDB {
78+
return new PublicContractsDB(this.contractDataSource, this.log.getBindings());
79+
}
80+
7681
/**
7782
* Creates a new instance of a PublicProcessor.
7883
* @param globalVariables - The global variables for the block being processed.
79-
* @param skipFeeEnforcement - Allows disabling balance checks for fee estimations.
84+
* @param contractsDB - Optional pre-populated contracts DB; a fresh one is created if omitted.
8085
* @returns A new instance of a PublicProcessor.
8186
*/
8287
public create(
8388
merkleTree: MerkleTreeWriteOperations,
8489
globalVariables: GlobalVariables,
8590
config: PublicSimulatorConfig,
91+
contractsDB: PublicContractsDB = this.createContractsDB(),
8692
): PublicProcessor {
87-
const bindings = this.log.getBindings();
88-
const contractsDB = new PublicContractsDB(this.contractDataSource, bindings);
89-
9093
const guardedFork = new GuardedMerkleTreeOperations(merkleTree);
9194
const publicTxSimulator = this.createPublicTxSimulator(guardedFork, contractsDB, globalVariables, config);
9295

@@ -97,7 +100,7 @@ export class PublicProcessorFactory {
97100
publicTxSimulator,
98101
this.dateProvider,
99102
this.telemetryClient,
100-
createLogger('simulator:public-processor', bindings),
103+
createLogger('simulator:public-processor', this.log.getBindings()),
101104
);
102105
}
103106

@@ -134,7 +137,7 @@ export class PublicProcessor implements Traceable {
134137
constructor(
135138
protected globalVariables: GlobalVariables,
136139
private guardedMerkleTree: GuardedMerkleTreeOperations,
137-
public readonly contractsDB: PublicContractsDB,
140+
protected contractsDB: PublicContractsDB,
138141
protected publicTxSimulator: PublicTxSimulatorInterface,
139142
private dateProvider: DateProvider,
140143
telemetryClient: TelemetryClient = getTelemetryClient(),

0 commit comments

Comments
 (0)