Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions yarn-project/simulator/src/public/avm/avm_context.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import type { Fr } from '@aztec/foundation/fields';
import type { AztecAddress } from '@aztec/stdlib/aztec-address';

import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
import type { AvmExecutionEnvironment } from './avm_execution_environment.js';
import { type Gas, gasToGasLeft } from './avm_gas.js';
import { AvmMachineState } from './avm_machine_state.js';
import type { AvmSimulator } from './avm_simulator.js';
import type { AvmPersistableStateManager } from './journal/journal.js';

/**
* An execution context includes the information necessary to initiate AVM
Expand All @@ -20,7 +20,7 @@ export class AvmContext {
* @returns new AvmContext instance
*/
constructor(
public persistableState: AvmPersistableStateManager,
public persistableState: PublicPersistableStateManager,
public environment: AvmExecutionEnvironment,
public machineState: AvmMachineState,
) {}
Expand Down
6 changes: 3 additions & 3 deletions yarn-project/simulator/src/public/avm/avm_simulator.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import { mock } from 'jest-mock-extended';
import { SideEffectTrace } from '../../public/side_effect_trace.js';
import type { PublicSideEffectTraceInterface } from '../../public/side_effect_trace_interface.js';
import { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
import type { AvmContext } from './avm_context.js';
import type { AvmExecutionEnvironment } from './avm_execution_environment.js';
import { type MemoryValue, TypeTag, type Uint8, type Uint64 } from './avm_memory_types.js';
Expand All @@ -57,7 +58,6 @@ import {
resolveContractAssertionMessage,
} from './fixtures/index.js';
import { SimpleContractDataSource } from './fixtures/simple_contract_data_source.js';
import type { AvmPersistableStateManager } from './journal/journal.js';
import {
Add,
CalldataCopy,
Expand Down Expand Up @@ -555,7 +555,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
let treesDB: PublicTreesDB;
let contractsDB: PublicContractsDB;
let trace: PublicSideEffectTraceInterface;
let persistableState: AvmPersistableStateManager;
let persistableState: PublicPersistableStateManager;

beforeAll(async () => {
siloedNullifier0 = await siloNullifier(address, value0);
Expand Down Expand Up @@ -1093,7 +1093,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
let treesDB: PublicTreesDB;
let contractsDB: PublicContractsDB;
let trace: PublicSideEffectTraceInterface;
let persistableState: AvmPersistableStateManager;
let persistableState: PublicPersistableStateManager;

let leafSlot0: Fr;

Expand Down
4 changes: 2 additions & 2 deletions yarn-project/simulator/src/public/avm/avm_simulator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import type { GlobalVariables } from '@aztec/stdlib/tx';
import { strict as assert } from 'assert';

import { SideEffectLimitReachedError } from '../side_effect_errors.js';
import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
import { AvmContext } from './avm_context.js';
import { AvmContractCallResult } from './avm_contract_call_result.js';
import { AvmExecutionEnvironment } from './avm_execution_environment.js';
Expand All @@ -19,7 +20,6 @@ import {
revertReasonFromExceptionalHalt,
revertReasonFromExplicitRevert,
} from './errors.js';
import type { AvmPersistableStateManager } from './journal/journal.js';
import type { Instruction } from './opcodes/instruction.js';
import {
INSTRUCTION_SET,
Expand Down Expand Up @@ -75,7 +75,7 @@ export class AvmSimulator {
}

public static async create(
stateManager: AvmPersistableStateManager,
stateManager: PublicPersistableStateManager,
address: AztecAddress,
sender: AztecAddress,
transactionFee: Fr,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import {
initExecutionEnvironment,
resolveContractAssertionMessage,
} from '../../avm/fixtures/index.js';
import { AvmPersistableStateManager } from '../../avm/journal/journal.js';
import { PublicContractsDB, PublicTreesDB } from '../../public_db_sources.js';
import { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
import { AvmSimulator } from '../avm_simulator.js';
import { BaseAvmSimulationTester } from './base_avm_simulation_tester.js';
import { SimpleContractDataSource } from './simple_contract_data_source.js';
Expand All @@ -34,7 +34,7 @@ export class AvmSimulationTester extends BaseAvmSimulationTester {
constructor(
contractDataSource: SimpleContractDataSource,
merkleTrees: MerkleTreeWriteOperations,
private stateManager: AvmPersistableStateManager,
private stateManager: PublicPersistableStateManager,
) {
super(contractDataSource, merkleTrees);
}
Expand All @@ -47,7 +47,7 @@ export class AvmSimulationTester extends BaseAvmSimulationTester {
const trace = new SideEffectTrace();
const firstNullifier = new Fr(420000);

const stateManager = AvmPersistableStateManager.create(
const stateManager = PublicPersistableStateManager.create(
treesDB,
contractsDB,
trace,
Expand Down
12 changes: 6 additions & 6 deletions yarn-project/simulator/src/public/avm/fixtures/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ import merge from 'lodash.merge';
import { resolveAssertionMessageFromRevertData, traverseCauseChain } from '../../../common/index.js';
import type { PublicContractsDB, PublicTreesDB } from '../../public_db_sources.js';
import type { PublicSideEffectTraceInterface } from '../../side_effect_trace_interface.js';
import { NullifierManager } from '../../state_manager/nullifiers.js';
import { PublicStorage } from '../../state_manager/public_storage.js';
import { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
import { AvmContext } from '../avm_context.js';
import { AvmExecutionEnvironment } from '../avm_execution_environment.js';
import { AvmMachineState } from '../avm_machine_state.js';
import { Field, Uint8, Uint32, Uint64 } from '../avm_memory_types.js';
import { AvmSimulator } from '../avm_simulator.js';
import type { AvmRevertReason } from '../errors.js';
import { AvmPersistableStateManager } from '../journal/journal.js';
import { NullifierManager } from '../journal/nullifiers.js';
import { PublicStorage } from '../journal/public_storage.js';

export const PUBLIC_DISPATCH_FN_NAME = 'public_dispatch';
export const DEFAULT_BLOCK_NUMBER = 42;
Expand All @@ -47,7 +47,7 @@ export const DEFAULT_BLOCK_NUMBER = 42;
* Create a new AVM context with default values.
*/
export function initContext(overrides?: {
persistableState?: AvmPersistableStateManager;
persistableState?: PublicPersistableStateManager;
env?: AvmExecutionEnvironment;
machineState?: AvmMachineState;
}): AvmContext {
Expand All @@ -70,9 +70,9 @@ export function initPersistableStateManager(overrides?: {
doMerkleOperations?: boolean;
firstNullifier?: Fr;
blockNumber?: number;
}): AvmPersistableStateManager {
}): PublicPersistableStateManager {
const treesDB = overrides?.treesDB || mock<PublicTreesDB>();
return new AvmPersistableStateManager(
return new PublicPersistableStateManager(
treesDB,
overrides?.contractsDB || mock<PublicContractsDB>(),
overrides?.trace || mock<PublicSideEffectTraceInterface>(),
Expand Down
1 change: 0 additions & 1 deletion yarn-project/simulator/src/public/avm/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
export * from './avm_simulator.js';
export * from './journal/index.js';
export * from './fixtures/simple_contract_data_source.js';
1 change: 0 additions & 1 deletion yarn-project/simulator/src/public/avm/journal/index.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import { mock } from 'jest-mock-extended';

import type { PublicSideEffectTraceInterface } from '../../../public/side_effect_trace_interface.js';
import type { PublicTreesDB } from '../../public_db_sources.js';
import type { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
import type { AvmContext } from '../avm_context.js';
import { Field, Uint8, Uint32 } from '../avm_memory_types.js';
import { InstructionExecutionError, StaticCallAlterationError } from '../errors.js';
import { initContext, initExecutionEnvironment, initPersistableStateManager } from '../fixtures/index.js';
import type { AvmPersistableStateManager } from '../journal/journal.js';
import {
mockGetNullifierIndex,
mockL1ToL2MessageExists,
Expand All @@ -30,7 +30,7 @@ import {
describe('Accrued Substate', () => {
let treesDB: PublicTreesDB;
let trace: PublicSideEffectTraceInterface;
let persistableState: AvmPersistableStateManager;
let persistableState: PublicPersistableStateManager;
let context: AvmContext;

const address = AztecAddress.fromNumber(1);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { NullifierCollisionError } from '../../state_manager/nullifiers.js';
import type { AvmContext } from '../avm_context.js';
import { TypeTag, Uint1 } from '../avm_memory_types.js';
import { InstructionExecutionError, StaticCallAlterationError } from '../errors.js';
import { NullifierCollisionError } from '../journal/nullifiers.js';
import { Opcode, OperandType } from '../serialization/instruction_serialization.js';
import { Addressing } from './addressing_mode.js';
import { Instruction } from './instruction.js';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import { SerializableContractInstance } from '@aztec/stdlib/contract';

import { mock } from 'jest-mock-extended';

import type { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
import type { AvmContext } from '../avm_context.js';
import { Field, TypeTag, Uint1 } from '../avm_memory_types.js';
import { initContext } from '../fixtures/index.js';
import type { AvmPersistableStateManager } from '../journal/journal.js';
import { ContractInstanceMember, GetContractInstance } from './contract.js';

describe('Contract opcodes', () => {
Expand All @@ -17,7 +17,7 @@ describe('Contract opcodes', () => {
let contractClassId: Fr;
let initializationHash: Fr;

let persistableState: jest.Mocked<AvmPersistableStateManager>;
let persistableState: jest.Mocked<PublicPersistableStateManager>;
let context: AvmContext;

beforeEach(async () => {
Expand All @@ -26,7 +26,7 @@ describe('Contract opcodes', () => {
deployer = contractInstance.deployer;
contractClassId = contractInstance.currentContractClassId;
initializationHash = contractInstance.initializationHash;
persistableState = mock<AvmPersistableStateManager>();
persistableState = mock<PublicPersistableStateManager>();
context = initContext({ persistableState });
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import { mock } from 'jest-mock-extended';

import type { PublicSideEffectTraceInterface } from '../../../public/side_effect_trace_interface.js';
import type { PublicContractsDB, PublicTreesDB } from '../../public_db_sources.js';
import type { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
import type { AvmContext } from '../avm_context.js';
import { Field, TypeTag, Uint1, Uint32 } from '../avm_memory_types.js';
import { initContext, initPersistableStateManager } from '../fixtures/index.js';
import type { AvmPersistableStateManager } from '../journal/journal.js';
import { encodeToBytecode } from '../serialization/bytecode_serialization.js';
import { Opcode } from '../serialization/instruction_serialization.js';
import {
Expand All @@ -30,7 +30,7 @@ describe('External Calls', () => {
let treesDB: PublicTreesDB;
let contractsDB: PublicContractsDB;
let trace: PublicSideEffectTraceInterface;
let persistableState: AvmPersistableStateManager;
let persistableState: PublicPersistableStateManager;

beforeEach(() => {
treesDB = mock<PublicTreesDB>();
Expand Down
6 changes: 3 additions & 3 deletions yarn-project/simulator/src/public/avm/opcodes/storage.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';

import { type MockProxy, mock } from 'jest-mock-extended';

import type { PublicPersistableStateManager } from '../../state_manager/state_manager.js';
import type { AvmContext } from '../avm_context.js';
import { Field } from '../avm_memory_types.js';
import { StaticCallAlterationError } from '../errors.js';
import { initContext, initExecutionEnvironment } from '../fixtures/index.js';
import type { AvmPersistableStateManager } from '../journal/journal.js';
import { SLoad, SStore } from './storage.js';

describe('Storage Instructions', () => {
let context: AvmContext;
let persistableState: MockProxy<AvmPersistableStateManager>;
let persistableState: MockProxy<PublicPersistableStateManager>;
let address: AztecAddress;

beforeEach(async () => {
address = await AztecAddress.random();
persistableState = mock<AvmPersistableStateManager>();
persistableState = mock<PublicPersistableStateManager>();
context = initContext({
persistableState: persistableState,
env: initExecutionEnvironment({ address }),
Expand Down
2 changes: 1 addition & 1 deletion yarn-project/simulator/src/public/avm/test_utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/st
import type { jest } from '@jest/globals';
import { mock } from 'jest-mock-extended';

import type { PublicContractsDB, PublicTreesDB } from '../../public/public_db_sources.js';
import type { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
import type { PublicSideEffectTraceInterface } from '../side_effect_trace_interface.js';

export function mockTraceFork(trace: PublicSideEffectTraceInterface, nestedTrace?: PublicSideEffectTraceInterface) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import type { AvmSimulationStats } from '@aztec/stdlib/stats';
import { type GlobalVariables, PublicCallRequestWithCalldata, Tx, TxExecutionPhase } from '@aztec/stdlib/tx';

import type { AvmFinalizedCallResult } from '../avm/avm_contract_call_result.js';
import type { AvmPersistableStateManager } from '../avm/index.js';
import type { ExecutorMetricsInterface } from '../executor_metrics_interface.js';
import type { PublicContractsDB, PublicTreesDB } from '../public_db_sources.js';
import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
import { PublicTxContext } from './public_tx_context.js';
import { type ProcessedPhase, type PublicTxResult, PublicTxSimulator } from './public_tx_simulator.js';

Expand Down Expand Up @@ -65,7 +65,7 @@ export class MeasuredPublicTxSimulator extends PublicTxSimulator {
}

protected override async simulateEnqueuedCallInternal(
stateManager: AvmPersistableStateManager,
stateManager: PublicPersistableStateManager,
callRequest: PublicCallRequestWithCalldata,
allocatedGas: Gas,
transactionFee: Fr,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ import { strict as assert } from 'assert';
import { inspect } from 'util';

import type { PublicContractsDBInterface } from '../../server.js';
import { AvmPersistableStateManager } from '../avm/index.js';
import { HintingPublicContractsDB, HintingPublicTreesDB } from '../hinting_db_sources.js';
import type { PublicTreesDB } from '../public_db_sources.js';
import { SideEffectArrayLengths, SideEffectTrace } from '../side_effect_trace.js';
import { PublicPersistableStateManager } from '../state_manager/state_manager.js';
import { getCallRequestsWithCalldataByPhase } from '../utils.js';

/**
Expand Down Expand Up @@ -110,7 +110,7 @@ export class PublicTxContext {
const hintingTreesDB = new HintingPublicTreesDB(treesDB, hints);

// Transaction level state manager that will be forked for revertible phases.
const txStateManager = AvmPersistableStateManager.create(
const txStateManager = PublicPersistableStateManager.create(
hintingTreesDB,
hintingContractsDB,
trace,
Expand Down Expand Up @@ -424,9 +424,9 @@ export class PublicTxContext {
class PhaseStateManager {
private log: Logger;

private currentlyActiveStateManager: AvmPersistableStateManager | undefined;
private currentlyActiveStateManager: PublicPersistableStateManager | undefined;

constructor(private readonly txStateManager: AvmPersistableStateManager) {
constructor(private readonly txStateManager: PublicPersistableStateManager) {
this.log = createLogger(`simulator:public_phase_state_manager`);
}

Expand Down
Loading