Example #1
0
        public virtual void Setup()
        {
            ILogManager logger = LimboLogs.Instance;

            ISnapshotableDb beamSyncDb     = new StateDb(new BeamSyncDb(new MemDb(), LimboLogs.Instance));
            IDb             beamSyncCodeDb = new BeamSyncDb(new MemDb(), LimboLogs.Instance);
            IDb             codeDb         = UseBeamSync ? beamSyncCodeDb : new StateDb();

            _stateDb       = UseBeamSync ? beamSyncDb : new StateDb();
            TestState      = new StateProvider(_stateDb, codeDb, logger);
            Storage        = new StorageProvider(_stateDb, TestState, logger);
            _ethereumEcdsa = new EthereumEcdsa(SpecProvider, logger);
            IBlockhashProvider blockhashProvider = TestBlockhashProvider.Instance;

            Machine    = new VirtualMachine(TestState, Storage, blockhashProvider, SpecProvider, logger);
            _processor = new TransactionProcessor(SpecProvider, TestState, Storage, Machine, logger);
        }
        public virtual void Setup()
        {
            ILogManager logManager = GetLogManager();

            MemDb beamStateDb    = new MemDb();
            IDb   beamSyncDb     = new BeamSyncDb(new MemDb(), beamStateDb, StaticSelector.Full, logManager);
            IDb   beamSyncCodeDb = new BeamSyncDb(new MemDb(), beamStateDb, StaticSelector.Full, logManager);
            IDb   codeDb         = UseBeamSync ? beamSyncCodeDb : new MemDb();

            _stateDb = UseBeamSync ? beamSyncDb : new MemDb();
            var trieStore = new TrieStore(_stateDb, logManager);

            TestState      = new StateProvider(trieStore, codeDb, logManager);
            Storage        = new StorageProvider(trieStore, TestState, logManager);
            _ethereumEcdsa = new EthereumEcdsa(SpecProvider.ChainId, logManager);
            IBlockhashProvider blockhashProvider = TestBlockhashProvider.Instance;

            Machine    = new VirtualMachine(TestState, Storage, blockhashProvider, SpecProvider, logManager);
            _processor = new TransactionProcessor(SpecProvider, TestState, Storage, Machine, logManager);
        }