public DeltaCache(IHashProvider hashProvider, IMemoryCache memoryCache, IDeltaDfsReader dfsReader, IDeltaCacheChangeTokenProvider changeTokenProvider, IStorageProvider storageProvider, IStateProvider stateProvider, ISnapshotableDb stateDb, IDeltaIndexService deltaIndexService, ILogger logger) { _deltaIndexService = deltaIndexService; stateProvider.CreateAccount(TruffleTestAccount, 1_000_000_000.Kat()); stateProvider.CreateAccount(CatalystTruffleTestAccount, 1_000_000_000.Kat()); storageProvider.Commit(); stateProvider.Commit(CatalystGenesisSpec.Instance); storageProvider.CommitTrees(); stateProvider.CommitTree(); stateDb.Commit(); var genesisDelta = new Delta { TimeStamp = Timestamp.FromDateTime(DateTime.UnixEpoch), StateRoot = ByteString.CopyFrom(stateProvider.StateRoot.Bytes), }; GenesisHash = hashProvider.ComputeMultiHash(genesisDelta).ToCid(); _dfsReader = dfsReader; _logger = logger; _entryOptions = () => new MemoryCacheEntryOptions() .AddExpirationToken(changeTokenProvider.GetChangeToken()) .RegisterPostEvictionCallback(EvictionCallback); _memoryCache = memoryCache; _memoryCache.Set(GenesisHash, genesisDelta); }
public DeltaCache(IHashProvider hashProvider, IMemoryCache memoryCache, IDeltaDfsReader dfsReader, IDeltaCacheChangeTokenProvider changeTokenProvider, ILogger logger) { var genesisDelta = new Delta { TimeStamp = Timestamp.FromDateTime(DateTime.MinValue.ToUniversalTime()) }; GenesisHash = hashProvider.ComputeMultiHash(genesisDelta).CreateCid(); _dfsReader = dfsReader; _logger = logger; _entryOptions = () => new MemoryCacheEntryOptions() .AddExpirationToken(changeTokenProvider.GetChangeToken()) .RegisterPostEvictionCallback(EvictionCallback); _memoryCache = memoryCache; _memoryCache.Set(GenesisHash, genesisDelta); }