Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
b51e908
feat: cleanup publisher
LHerskind Aug 22, 2024
da2eb7a
refactor: get rid of timetraveler from l1-publisher
LHerskind Aug 28, 2024
3388966
feat: revert if timestamp in future
LHerskind Aug 28, 2024
13a60a3
feat: including txhashes explicitly in the rollup attestations
Maddiaa0 Aug 29, 2024
86026f2
temp
Maddiaa0 Aug 30, 2024
f3eac5b
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Aug 30, 2024
fc7a04a
temp
Maddiaa0 Aug 30, 2024
9eed298
temp
Maddiaa0 Sep 2, 2024
cc09455
temp
Maddiaa0 Sep 2, 2024
06f950f
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Sep 2, 2024
4727cd9
temp: get passing with txhash payloads
Maddiaa0 Sep 3, 2024
b4c2a46
fix: make sure transactions are available in the tx pool
Maddiaa0 Sep 5, 2024
4a8d178
chore: remove logs
Maddiaa0 Sep 5, 2024
b4324fc
fmt
Maddiaa0 Sep 5, 2024
052641a
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Sep 5, 2024
a803a94
🪿
Maddiaa0 Sep 5, 2024
164c117
chore: validator tests
Maddiaa0 Sep 6, 2024
27da59d
Add timeouts to individual reqresp connections
Maddiaa0 Sep 6, 2024
9e7d2d8
fix
Maddiaa0 Sep 6, 2024
3c8e1b9
chore: include tests for specific error messages
Maddiaa0 Sep 6, 2024
9a738e5
fmt
Maddiaa0 Sep 6, 2024
c10260c
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Sep 6, 2024
045af5a
clean
Maddiaa0 Sep 6, 2024
73d26ec
🧹
Maddiaa0 Sep 6, 2024
d358228
chore: fix sequencing tests
Maddiaa0 Sep 7, 2024
4b31953
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Sep 7, 2024
2f82a8f
Merge branch 'md/check-tx-requests-before-signing' into md/09-06-add_…
Maddiaa0 Sep 7, 2024
f673593
fmt
Maddiaa0 Sep 7, 2024
a15ab17
fmt
Maddiaa0 Sep 7, 2024
2e3f80b
fmt solidity
Maddiaa0 Sep 7, 2024
ae2a05e
Merge branch 'md/check-tx-requests-before-signing' into md/09-06-add_…
Maddiaa0 Sep 7, 2024
5734006
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Sep 7, 2024
1bde1fe
fix: test hash
Maddiaa0 Sep 8, 2024
c775b26
Merge branch 'md/check-tx-requests-before-signing' into md/09-06-add_…
Maddiaa0 Sep 8, 2024
7a50a2b
exp: adjust test nodes
Maddiaa0 Sep 8, 2024
72f98bd
Merge branch 'md/check-tx-requests-before-signing' into md/09-06-add_…
Maddiaa0 Sep 8, 2024
998f38c
chore: add reqresp configuration values to p2p config
Maddiaa0 Sep 8, 2024
1c2b151
fix: use abi.encode vs encodePacked
Maddiaa0 Sep 11, 2024
e6e7f6b
fix
Maddiaa0 Sep 11, 2024
6f417fc
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Sep 11, 2024
cde6283
fix: merge fix
Maddiaa0 Sep 11, 2024
8290c99
fmt
Maddiaa0 Sep 11, 2024
b13ca93
Merge branch 'md/check-tx-requests-before-signing' into md/09-06-add_…
Maddiaa0 Sep 11, 2024
1452017
Merge branch 'master' into md/check-tx-requests-before-signing
Maddiaa0 Sep 11, 2024
120c9a3
Merge branch 'md/check-tx-requests-before-signing' into md/09-06-add_…
Maddiaa0 Sep 11, 2024
b189270
feat: initial rate limiter impl
Maddiaa0 Sep 11, 2024
9b90fe1
Merge branch 'master' into md/09-06-add_timeouts_to_individual_reqres…
Maddiaa0 Sep 11, 2024
b7d815f
Merge branch 'md/09-06-add_timeouts_to_individual_reqresp_connections…
Maddiaa0 Sep 11, 2024
97a6a14
feat: tests + documentation
Maddiaa0 Sep 11, 2024
0e22558
test: add to reqresp.test.ts
Maddiaa0 Sep 11, 2024
b464dcf
Merge branch 'master' into md/add-rate-limits-to-reqresp-peers
Maddiaa0 Sep 11, 2024
d0da214
fix: add todo pr number
Maddiaa0 Sep 11, 2024
2b46268
feat: introduce new light signer
Maddiaa0 Sep 12, 2024
65d009a
chore: migrations
Maddiaa0 Sep 12, 2024
69aa4a0
chore: proliferate
Maddiaa0 Sep 12, 2024
d109853
chore: remove signature lib from leonidas
Maddiaa0 Sep 12, 2024
d3cf4b8
fmt
Maddiaa0 Sep 12, 2024
dc06395
Merge branch 'master' into md/replace-viem-in-validator
Maddiaa0 Sep 13, 2024
d762096
fmt + fix test
Maddiaa0 Sep 13, 2024
afb46ca
fmt
Maddiaa0 Sep 13, 2024
37929f5
document secp256 helpers
Maddiaa0 Sep 13, 2024
1cb6687
clean
Maddiaa0 Sep 13, 2024
62b7c72
clean
Maddiaa0 Sep 13, 2024
421470e
fix: validator pk validation
Maddiaa0 Sep 16, 2024
f0f87a4
fix: reinstante eip712
Maddiaa0 Sep 16, 2024
40303d0
Merge branch 'master' into md/replace-viem-in-validator
Maddiaa0 Sep 16, 2024
7a33bef
refactor: remove multiple public dbs
Maddiaa0 Sep 16, 2024
9ec4fb1
fix
Maddiaa0 Sep 16, 2024
6f35ee8
fix
Maddiaa0 Sep 16, 2024
e81590c
Merge branch 'master' into md/remove-multiple-dbs-in-public
Maddiaa0 Sep 18, 2024
d2b4d82
fix: add public naming
Maddiaa0 Sep 18, 2024
89ce60b
Merge branch 'master' into md/remove-multiple-dbs-in-public
Maddiaa0 Sep 19, 2024
d826cf1
fmt
Maddiaa0 Sep 19, 2024
c50d967
fmt
Maddiaa0 Sep 19, 2024
11a7329
Merge branch 'master' into md/remove-multiple-dbs-in-public
Maddiaa0 Sep 19, 2024
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
2 changes: 1 addition & 1 deletion yarn-project/aztec-node/src/aztec-node/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -761,7 +761,7 @@ export class AztecNodeService implements AztecNode {
const txValidators: TxValidator<Tx | ProcessedTx>[] = [
new DataTxValidator(),
new MetadataTxValidator(new Fr(this.l1ChainId), new Fr(blockNumber)),
new DoubleSpendTxValidator(new WorldStateDB(this.worldStateSynchronizer.getLatest())),
new DoubleSpendTxValidator(new WorldStateDB(this.worldStateSynchronizer.getLatest(), this.contractDataSource)),
];

if (!isSimulation) {
Expand Down
12 changes: 5 additions & 7 deletions yarn-project/bb-prover/src/avm_proving.test.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import { AvmCircuitInputs, AvmVerificationKeyData, FunctionSelector, Gas, GlobalVariables } from '@aztec/circuits.js';
import { Fr } from '@aztec/foundation/fields';
import { createDebugLogger } from '@aztec/foundation/log';
import { AvmSimulator, type PublicContractsDB, PublicSideEffectTrace, type PublicStateDB } from '@aztec/simulator';
import { AvmSimulator, type PublicContractsDB, PublicSideEffectTrace, type WorldStateDB } from '@aztec/simulator';
import {
getAvmTestContractBytecode,
initContext,
initExecutionEnvironment,
initHostStorage,
initPersistableStateManager,
resolveAvmTestContractAssertionMessage,
} from '@aztec/simulator/avm/fixtures';
Expand Down Expand Up @@ -70,16 +69,15 @@ const proveAndVerifyAvmTestContract = async (
}).withAddress(environment.address);
contractsDb.getContractInstance.mockResolvedValue(Promise.resolve(contractInstance));

const storageDb = mock<PublicStateDB>();
const worldStateDB = mock<WorldStateDB>();
const storageValue = new Fr(5);
storageDb.storageRead.mockResolvedValue(Promise.resolve(storageValue));
worldStateDB.storageRead.mockResolvedValue(Promise.resolve(storageValue));

const hostStorage = initHostStorage({ contractsDb });
const trace = new PublicSideEffectTrace(startSideEffectCounter);
const persistableState = initPersistableStateManager({ hostStorage, trace });
const persistableState = initPersistableStateManager({ worldStateDB, trace });
const context = initContext({ env: environment, persistableState });
const nestedCallBytecode = getAvmTestContractBytecode('add_args_return');
jest.spyOn(hostStorage.contractsDb, 'getBytecode').mockResolvedValue(nestedCallBytecode);
jest.spyOn(worldStateDB, 'getBytecode').mockResolvedValue(nestedCallBytecode);

const startGas = new Gas(context.machineState.gasLeft.daGas, context.machineState.gasLeft.l2Gas);

Expand Down
12 changes: 5 additions & 7 deletions yarn-project/ivc-integration/src/avm_integration.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,11 @@ import { Fr } from '@aztec/foundation/fields';
import { createDebugLogger } from '@aztec/foundation/log';
import { BufferReader } from '@aztec/foundation/serialize';
import { type FixedLengthArray } from '@aztec/noir-protocol-circuits-types/types';
import { AvmSimulator, type PublicContractsDB, PublicSideEffectTrace, type PublicStateDB } from '@aztec/simulator';
import { AvmSimulator, type PublicContractsDB, PublicSideEffectTrace, type WorldStateDB } from '@aztec/simulator';
import {
getAvmTestContractBytecode,
initContext,
initExecutionEnvironment,
initHostStorage,
initPersistableStateManager,
resolveAvmTestContractAssertionMessage,
} from '@aztec/simulator/avm/fixtures';
Expand Down Expand Up @@ -146,16 +145,15 @@ const proveAvmTestContract = async (
}).withAddress(environment.address);
contractsDb.getContractInstance.mockResolvedValue(await Promise.resolve(contractInstance));

const storageDb = mock<PublicStateDB>();
const worldStateDB = mock<WorldStateDB>();
const storageValue = new Fr(5);
storageDb.storageRead.mockResolvedValue(await Promise.resolve(storageValue));
worldStateDB.storageRead.mockResolvedValue(await Promise.resolve(storageValue));

const hostStorage = initHostStorage({ contractsDb });
const trace = new PublicSideEffectTrace(startSideEffectCounter);
const persistableState = initPersistableStateManager({ hostStorage, trace });
const persistableState = initPersistableStateManager({ worldStateDB, trace });
const context = initContext({ env: environment, persistableState });
const nestedCallBytecode = getAvmTestContractBytecode('add_args_return');
jest.spyOn(hostStorage.contractsDb, 'getBytecode').mockResolvedValue(nestedCallBytecode);
jest.spyOn(worldStateDB, 'getBytecode').mockResolvedValue(nestedCallBytecode);

const startGas = new Gas(context.machineState.gasLeft.daGas, context.machineState.gasLeft.l2Gas);

Expand Down
15 changes: 5 additions & 10 deletions yarn-project/prover-client/src/mocks/test_context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,14 @@ import { type Fr } from '@aztec/foundation/fields';
import { type DebugLogger } from '@aztec/foundation/log';
import { openTmpStore } from '@aztec/kv-store/utils';
import {
type ContractsDataSourcePublicDB,
type PublicExecutionResult,
PublicExecutionResultBuilder,
type PublicExecutor,
PublicProcessor,
RealPublicKernelCircuitSimulator,
type SimulationProvider,
WASMSimulator,
type WorldStatePublicDB,
type WorldStateDB,
} from '@aztec/simulator';
import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
import { MerkleTrees } from '@aztec/world-state';
Expand All @@ -41,8 +40,7 @@ import { getEnvironmentConfig, getSimulationProvider, makeGlobals } from './fixt
export class TestContext {
constructor(
public publicExecutor: MockProxy<PublicExecutor>,
public publicContractsDB: MockProxy<ContractsDataSourcePublicDB>,
public publicWorldStateDB: MockProxy<WorldStatePublicDB>,
public worldStateDB: MockProxy<WorldStateDB>,
public publicProcessor: PublicProcessor,
public simulationProvider: SimulationProvider,
public globalVariables: GlobalVariables,
Expand Down Expand Up @@ -71,8 +69,7 @@ export class TestContext {
const globalVariables = makeGlobals(blockNumber);

const publicExecutor = mock<PublicExecutor>();
const publicContractsDB = mock<ContractsDataSourcePublicDB>();
const publicWorldStateDB = mock<WorldStatePublicDB>();
const worldStateDB = mock<WorldStateDB>();
const publicKernel = new RealPublicKernelCircuitSimulator(new WASMSimulator());
const telemetry = new NoopTelemetryClient();

Expand All @@ -94,8 +91,7 @@ export class TestContext {
publicKernel,
GlobalVariables.empty(),
Header.empty(),
publicContractsDB,
publicWorldStateDB,
worldStateDB,
telemetry,
);

Expand Down Expand Up @@ -130,8 +126,7 @@ export class TestContext {

return new this(
publicExecutor,
publicContractsDB,
publicWorldStateDB,
worldStateDB,
processor,
simulationProvider,
globalVariables,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { type AllowedElement, type ProcessedTx, type Tx, type TxValidator } from
import { type GlobalVariables } from '@aztec/circuits.js';
import { AggregateTxValidator, DataTxValidator, DoubleSpendTxValidator, MetadataTxValidator } from '@aztec/p2p';
import { FeeJuiceAddress } from '@aztec/protocol-contracts/fee-juice';
import { WorldStateDB, WorldStatePublicDB } from '@aztec/simulator';
import { WorldStateDB } from '@aztec/simulator';
import { type ContractDataSource } from '@aztec/types/contracts';
import { type MerkleTreeOperations } from '@aztec/world-state';

Expand All @@ -17,16 +17,17 @@ export class TxValidatorFactory {
) {}

validatorForNewTxs(globalVariables: GlobalVariables, setupAllowList: AllowedElement[]): TxValidator<Tx> {
const worldStateDB = new WorldStateDB(this.merkleTreeDb, this.contractDataSource);
return new AggregateTxValidator(
new DataTxValidator(),
new MetadataTxValidator(globalVariables.chainId, globalVariables.blockNumber),
new DoubleSpendTxValidator(new WorldStateDB(this.merkleTreeDb)),
new DoubleSpendTxValidator(worldStateDB),
new PhasesTxValidator(this.contractDataSource, setupAllowList),
new GasTxValidator(new WorldStatePublicDB(this.merkleTreeDb), FeeJuiceAddress, this.enforceFees),
new GasTxValidator(worldStateDB, FeeJuiceAddress, this.enforceFees),
);
}

validatorForProcessedTxs(): TxValidator<ProcessedTx> {
return new DoubleSpendTxValidator(new WorldStateDB(this.merkleTreeDb));
return new DoubleSpendTxValidator(new WorldStateDB(this.merkleTreeDb, this.contractDataSource));
}
}
33 changes: 16 additions & 17 deletions yarn-project/simulator/src/avm/avm_simulator.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { type Fieldable } from '@aztec/foundation/serialize';
import { randomInt } from 'crypto';
import { mock } from 'jest-mock-extended';

import { type WorldStateDB } from '../public/public_db_sources.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 All @@ -22,15 +23,13 @@ import {
initContext,
initExecutionEnvironment,
initGlobalVariables,
initHostStorage,
initMachineState,
initPersistableStateManager,
randomMemoryBytes,
randomMemoryFields,
randomMemoryUint64s,
resolveAvmTestContractAssertionMessage,
} from './fixtures/index.js';
import { type HostStorage } from './journal/host_storage.js';
import { type AvmPersistableStateManager } from './journal/journal.js';
import { Add, CalldataCopy, Return, Set } from './opcodes/index.js';
import { encodeToBytecode } from './serialization/bytecode_serialization.js';
Expand Down Expand Up @@ -395,14 +394,14 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const value0 = new Fr(420);
const value1 = new Fr(69);

let hostStorage: HostStorage;
let worldStateDB: WorldStateDB;
let trace: PublicSideEffectTraceInterface;
let persistableState: AvmPersistableStateManager;

beforeEach(() => {
hostStorage = initHostStorage();
worldStateDB = mock<WorldStateDB>();
trace = mock<PublicSideEffectTraceInterface>();
persistableState = initPersistableStateManager({ hostStorage, trace });
persistableState = initPersistableStateManager({ worldStateDB, trace });
});

const createContext = (calldata: Fr[] = []) => {
Expand All @@ -429,7 +428,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const context = createContext(calldata);
const bytecode = getAvmTestContractBytecode('note_hash_exists');
if (mockAtLeafIndex !== undefined) {
mockNoteHashExists(hostStorage, mockAtLeafIndex, value0);
mockNoteHashExists(worldStateDB, mockAtLeafIndex, value0);
}

const results = await new AvmSimulator(context).executeBytecode(bytecode);
Expand All @@ -454,7 +453,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const bytecode = getAvmTestContractBytecode('nullifier_exists');

if (exists) {
mockNullifierExists(hostStorage, leafIndex, value0);
mockNullifierExists(worldStateDB, leafIndex, value0);
}

const results = await new AvmSimulator(context).executeBytecode(bytecode);
Expand Down Expand Up @@ -493,7 +492,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const context = createContext(calldata);
const bytecode = getAvmTestContractBytecode('l1_to_l2_msg_exists');
if (mockAtLeafIndex !== undefined) {
mockL1ToL2MessageExists(hostStorage, mockAtLeafIndex, value0, /*valueAtOtherIndices=*/ value1);
mockL1ToL2MessageExists(worldStateDB, mockAtLeafIndex, value0, /*valueAtOtherIndices=*/ value1);
}

const results = await new AvmSimulator(context).executeBytecode(bytecode);
Expand Down Expand Up @@ -631,7 +630,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {

it('Should read value in storage (single)', async () => {
const context = createContext();
mockStorageRead(hostStorage, value0);
mockStorageRead(worldStateDB, value0);

const bytecode = getAvmTestContractBytecode('read_storage_single');

Expand Down Expand Up @@ -694,7 +693,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
[listSlot0.toBigInt(), value0],
[listSlot1.toBigInt(), value1],
]);
mockStorageReadWithMap(hostStorage, mockedStorage);
mockStorageReadWithMap(worldStateDB, mockedStorage);

const bytecode = getAvmTestContractBytecode('read_storage_list');

Expand Down Expand Up @@ -768,7 +767,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const calldata = [storageAddress];

const context = createContext(calldata);
mockStorageRead(hostStorage, value0);
mockStorageRead(worldStateDB, value0);
const bytecode = getAvmTestContractBytecode('read_storage_map');

const results = await new AvmSimulator(context).executeBytecode(bytecode);
Expand Down Expand Up @@ -800,7 +799,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
initializationHash: new Fr(0x101112),
publicKeysHash: new Fr(0x161718),
};
mockGetContractInstance(hostStorage, contractInstance);
mockGetContractInstance(worldStateDB, contractInstance);

const bytecode = getAvmTestContractBytecode('test_get_contract_instance_raw');

Expand Down Expand Up @@ -844,7 +843,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const context = createContext(calldata);
const callBytecode = getAvmTestContractBytecode('nested_call_to_add');
const addBytecode = getAvmTestContractBytecode('add_args_return');
mockGetBytecode(hostStorage, addBytecode);
mockGetBytecode(worldStateDB, addBytecode);
const nestedTrace = mock<PublicSideEffectTraceInterface>();
mockTraceFork(trace, nestedTrace);

Expand All @@ -860,7 +859,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const context = createContext(calldata);
const callBytecode = getAvmTestContractBytecode('nested_static_call_to_add');
const addBytecode = getAvmTestContractBytecode('add_args_return');
mockGetBytecode(hostStorage, addBytecode);
mockGetBytecode(worldStateDB, addBytecode);
const nestedTrace = mock<PublicSideEffectTraceInterface>();
mockTraceFork(trace, nestedTrace);

Expand All @@ -877,7 +876,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const context = createContext(calldata);
const callBytecode = getAvmTestContractBytecode('nested_call_to_add_with_gas');
const addBytecode = getAvmTestContractBytecode('add_args_return');
mockGetBytecode(hostStorage, addBytecode);
mockGetBytecode(worldStateDB, addBytecode);
mockTraceFork(trace);

const results = await new AvmSimulator(context).executeBytecode(callBytecode);
Expand All @@ -896,7 +895,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const context = createContext();
const callBytecode = getAvmTestContractBytecode('nested_static_call_to_set_storage');
const nestedBytecode = getAvmTestContractBytecode('set_storage_single');
mockGetBytecode(hostStorage, nestedBytecode);
mockGetBytecode(worldStateDB, nestedBytecode);
mockTraceFork(trace);

const results = await new AvmSimulator(context).executeBytecode(callBytecode);
Expand All @@ -920,7 +919,7 @@ describe('AVM simulator: transpiled Noir contracts', () => {
const callBytecode = getAvmTestContractBytecode('nested_call_to_add');
// We actually don't pass the function ADD, but it's ok because the signature is the same.
const nestedBytecode = getAvmTestContractBytecode('assert_same');
mockGetBytecode(hostStorage, nestedBytecode);
mockGetBytecode(worldStateDB, nestedBytecode);

const results = await new AvmSimulator(context).executeBytecode(callBytecode);
expect(results.reverted).toBe(true); // The outer call should revert.
Expand Down
32 changes: 6 additions & 26 deletions yarn-project/simulator/src/avm/fixtures/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,13 @@ import { strict as assert } from 'assert';
import { mock } from 'jest-mock-extended';
import merge from 'lodash.merge';

import {
type CommitmentsDB,
type PublicContractsDB,
type PublicStateDB,
resolveAssertionMessage,
traverseCauseChain,
} from '../../index.js';
import { type WorldStateDB, resolveAssertionMessage, traverseCauseChain } from '../../index.js';
import { type PublicSideEffectTraceInterface } from '../../public/side_effect_trace_interface.js';
import { AvmContext } from '../avm_context.js';
import { AvmContextInputs, AvmExecutionEnvironment } from '../avm_execution_environment.js';
import { AvmMachineState } from '../avm_machine_state.js';
import { Field, Uint8, Uint64 } from '../avm_memory_types.js';
import { type AvmRevertReason } from '../errors.js';
import { HostStorage } from '../journal/host_storage.js';
import { AvmPersistableStateManager } from '../journal/journal.js';
import { NullifierManager } from '../journal/nullifiers.js';
import { PublicStorage } from '../journal/public_storage.js';
Expand All @@ -43,32 +36,19 @@ export function initContext(overrides?: {
);
}

/** Creates an empty host storage with mocked dbs. */
export function initHostStorage(overrides?: {
publicDb?: PublicStateDB;
contractsDb?: PublicContractsDB;
commitmentsDb?: CommitmentsDB;
}): HostStorage {
return new HostStorage(
overrides?.publicDb || mock<PublicStateDB>(),
overrides?.contractsDb || mock<PublicContractsDB>(),
overrides?.commitmentsDb || mock<CommitmentsDB>(),
);
}

/** Creates an empty state manager with mocked host storage. */
export function initPersistableStateManager(overrides?: {
hostStorage?: HostStorage;
worldStateDB?: WorldStateDB;
trace?: PublicSideEffectTraceInterface;
publicStorage?: PublicStorage;
nullifiers?: NullifierManager;
}): AvmPersistableStateManager {
const hostStorage = overrides?.hostStorage || initHostStorage();
const worldStateDB = overrides?.worldStateDB || mock<WorldStateDB>();
return new AvmPersistableStateManager(
hostStorage,
worldStateDB,
overrides?.trace || mock<PublicSideEffectTraceInterface>(),
overrides?.publicStorage || new PublicStorage(hostStorage.publicStateDb),
overrides?.nullifiers || new NullifierManager(hostStorage.commitmentsDb),
overrides?.publicStorage || new PublicStorage(worldStateDB),
overrides?.nullifiers || new NullifierManager(worldStateDB),
);
}

Expand Down
14 changes: 0 additions & 14 deletions yarn-project/simulator/src/avm/journal/host_storage.ts

This file was deleted.

1 change: 0 additions & 1 deletion yarn-project/simulator/src/avm/journal/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
export * from './host_storage.js';
export * from './journal.js';
Loading