Skip to content

Commit

Permalink
chore: rename enqueued call side effect trace (#11574)
Browse files Browse the repository at this point in the history
  • Loading branch information
dbanks12 authored Jan 28, 2025
1 parent a836786 commit 6c3d742
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 24 deletions.
4 changes: 2 additions & 2 deletions yarn-project/simulator/src/avm/avm_simulator.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ import { MerkleTrees } from '@aztec/world-state';
import { randomInt } from 'crypto';
import { mock } from 'jest-mock-extended';

import { PublicEnqueuedCallSideEffectTrace } from '../public/enqueued_call_side_effect_trace.js';
import { type WorldStateDB } from '../public/public_db_sources.js';
import { SideEffectTrace } from '../public/side_effect_trace.js';
import { type PublicSideEffectTraceInterface } from '../public/side_effect_trace_interface.js';
import { type AvmContext } from './avm_context.js';
import { type AvmExecutionEnvironment } from './avm_execution_environment.js';
Expand Down Expand Up @@ -1038,7 +1038,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
});

describe('Side effect trace errors on overflow', () => {
const trace = new PublicEnqueuedCallSideEffectTrace();
const trace = new SideEffectTrace();
const persistableState = initPersistableStateManager({ worldStateDB, trace });

it.each([
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import {
initExecutionEnvironment,
resolveContractAssertionMessage,
} from '../../avm/fixtures/index.js';
import { PublicEnqueuedCallSideEffectTrace } from '../../public/enqueued_call_side_effect_trace.js';
import { WorldStateDB } from '../../public/public_db_sources.js';
import { SideEffectTrace } from '../../public/side_effect_trace.js';
import { AvmPersistableStateManager, AvmSimulator } from '../../server.js';
import { BaseAvmSimulationTester } from './base_avm_simulation_tester.js';
import { SimpleContractDataSource } from './simple_contract_data_source.js';
Expand All @@ -42,10 +42,10 @@ export class AvmSimulationTester extends BaseAvmSimulationTester {
const contractDataSource = new SimpleContractDataSource();
const merkleTrees = await (await MerkleTrees.new(openTmpStore())).fork();
const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
const trace = new PublicEnqueuedCallSideEffectTrace();
const trace = new SideEffectTrace();
const firstNullifier = new Fr(420000);
// FIXME: merkle ops should work, but I'm seeing frequent (but inconsistent) bytecode retrieval
// failures on 2nd call to simulateEnqueuedCall with merkle ops on
// failures on 2nd call to simulateCall with merkle ops on
const stateManager = await AvmPersistableStateManager.create(
worldStateDB,
trace,
Expand Down
2 changes: 1 addition & 1 deletion yarn-project/simulator/src/public/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ export { type EnqueuedPublicCallExecutionResult, type PublicFunctionCallResult }
export * from './fee_payment.js';
export * from './public_db_sources.js';
export { PublicProcessor, PublicProcessorFactory } from './public_processor.js';
export { PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
export { SideEffectTrace } from './side_effect_trace.js';
export { getExecutionRequestsByPhase } from './utils.js';
10 changes: 4 additions & 6 deletions yarn-project/simulator/src/public/public_tx_context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ import { strict as assert } from 'assert';
import { inspect } from 'util';

import { AvmPersistableStateManager } from '../avm/index.js';
import { PublicEnqueuedCallSideEffectTrace, SideEffectArrayLengths } from './enqueued_call_side_effect_trace.js';
import { type WorldStateDB } from './public_db_sources.js';
import { SideEffectArrayLengths, SideEffectTrace } from './side_effect_trace.js';
import { generateAvmCircuitPublicInputs } from './transitional_adapters.js';
import { getCallRequestsByPhase, getExecutionRequestsByPhase } from './utils.js';

Expand Down Expand Up @@ -77,7 +77,7 @@ export class PublicTxContext {
public readonly nonRevertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData,
public readonly revertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData,
public readonly feePayer: AztecAddress,
public trace: PublicEnqueuedCallSideEffectTrace, // FIXME(dbanks12): should be private
public trace: SideEffectTrace, // FIXME(dbanks12): should be private
) {
this.log = createLogger(`simulator:public_tx_context`);
}
Expand All @@ -99,10 +99,8 @@ export class PublicTxContext {
countAccumulatedItems(nonRevertibleAccumulatedDataFromPrivate.l2ToL1Msgs),
/*publicLogs*/ 0,
);
const trace = new PublicEnqueuedCallSideEffectTrace(
/*startSideEffectCounter=*/ 0,
previousAccumulatedDataArrayLengths,
);

const trace = new SideEffectTrace(/*startSideEffectCounter=*/ 0, previousAccumulatedDataArrayLengths);

const firstNullifier = nonRevertibleAccumulatedDataFromPrivate.nullifiers[0];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ import { Fr } from '@aztec/foundation/fields';

import { randomInt } from 'crypto';

import { PublicEnqueuedCallSideEffectTrace, SideEffectArrayLengths } from './enqueued_call_side_effect_trace.js';
import { SideEffectLimitReachedError } from './side_effect_errors.js';
import { SideEffectArrayLengths, SideEffectTrace } from './side_effect_trace.js';

describe('Enqueued-call Side Effect Trace', () => {
describe('Public Side Effect Trace', () => {
const bytecode = Buffer.from('0xdeadbeef');
const utxo = Fr.random();
const leafIndex = Fr.random();
Expand All @@ -49,14 +49,14 @@ describe('Enqueued-call Side Effect Trace', () => {

let startCounter: number;
let startCounterPlus1: number;
let trace: PublicEnqueuedCallSideEffectTrace;
let trace: SideEffectTrace;
let address: AztecAddress;

beforeEach(async () => {
address = await AztecAddress.random();
startCounter = randomInt(/*max=*/ 1000000);
startCounterPlus1 = startCounter + 1;
trace = new PublicEnqueuedCallSideEffectTrace(startCounter);
trace = new SideEffectTrace(startCounter);
});

it('Should trace storage reads', () => {
Expand Down Expand Up @@ -371,7 +371,7 @@ describe('Enqueued-call Side Effect Trace', () => {
});

it('PreviousValidationRequestArrayLengths and PreviousAccumulatedDataArrayLengths contribute to limits', async () => {
trace = new PublicEnqueuedCallSideEffectTrace(
trace = new SideEffectTrace(
0,
new SideEffectArrayLengths(
MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
Expand Down Expand Up @@ -403,7 +403,7 @@ describe('Enqueued-call Side Effect Trace', () => {
it(`${reverted ? 'Reverted' : 'Successful'} forked trace should be merged properly`, async () => {
const existsDefault = true;

const nestedTrace = new PublicEnqueuedCallSideEffectTrace(startCounter);
const nestedTrace = new SideEffectTrace(startCounter);
let testCounter = startCounter;
const leafPreimage = new PublicDataTreeLeafPreimage(slot, value, Fr.ZERO, 0n);
const lowLeafPreimage = new NullifierLeafPreimage(utxo, Fr.ZERO, 0n);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,10 @@ export class SideEffectArrayLengths {
}

/**
* Trace side effects for an entire enqueued call.
* Trace side effects for an enqueued public call's execution.
*/
export class PublicEnqueuedCallSideEffectTrace implements PublicSideEffectTraceInterface {
public log = createLogger('simulator:public_enqueued_call_side_effect_trace');
export class SideEffectTrace implements PublicSideEffectTraceInterface {
public log = createLogger('simulator:side_effect_trace');

/** The side effect counter increments with every call to the trace. */
private sideEffectCounter: number;
Expand Down Expand Up @@ -136,7 +136,7 @@ export class PublicEnqueuedCallSideEffectTrace implements PublicSideEffectTraceI
}

public fork() {
return new PublicEnqueuedCallSideEffectTrace(
return new SideEffectTrace(
this.sideEffectCounter,
new SideEffectArrayLengths(
this.previousSideEffectArrayLengths.publicDataWrites + this.userPublicDataWritesLength,
Expand Down
4 changes: 2 additions & 2 deletions yarn-project/simulator/src/public/transitional_adapters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ import {
import { padArrayEnd } from '@aztec/foundation/collection';
import { assertLength } from '@aztec/foundation/serialize';

import { type PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
import { type SideEffectTrace } from './side_effect_trace.js';

export function generateAvmCircuitPublicInputs(
trace: PublicEnqueuedCallSideEffectTrace,
trace: SideEffectTrace,
globalVariables: GlobalVariables,
startStateReference: StateReference,
startGasUsed: Gas,
Expand Down

0 comments on commit 6c3d742

Please sign in to comment.