public AddressIndexer(StoreSettings storeSettings, DataFolder dataFolder, ILoggerFactory loggerFactory, Network network, INodeStats nodeStats, IConsensusManager consensusManager, IAsyncProvider asyncProvider, ChainIndexer chainIndexer, IDateTimeProvider dateTimeProvider, IUtxoIndexer utxoIndexer) { this.storeSettings = storeSettings; this.network = network; this.nodeStats = nodeStats; this.dataFolder = dataFolder; this.consensusManager = consensusManager; this.asyncProvider = asyncProvider; this.dateTimeProvider = dateTimeProvider; this.utxoIndexer = utxoIndexer; this.loggerFactory = loggerFactory; this.scriptAddressReader = new ScriptAddressReader(); this.lockObject = new object(); this.flushChangesInterval = TimeSpan.FromMinutes(2); this.lastFlushTime = this.dateTimeProvider.GetUtcNow(); this.cancellation = new CancellationTokenSource(); this.chainIndexer = chainIndexer; this.logger = loggerFactory.CreateLogger(this.GetType().FullName); this.averageTimePerBlock = new AverageCalculator(200); int maxReorgLength = GetMaxReorgOrFallbackMaxReorg(this.network); this.compactionTriggerDistance = maxReorgLength * 2 + SyncBuffer + 1000; }
public BlockStoreController( Network network, ILoggerFactory loggerFactory, IBlockStore blockStore, IChainState chainState, ChainIndexer chainIndexer, IAddressIndexer addressIndexer, IUtxoIndexer utxoIndexer, IStakeChain stakeChain = null) { Guard.NotNull(network, nameof(network)); Guard.NotNull(loggerFactory, nameof(loggerFactory)); Guard.NotNull(chainState, nameof(chainState)); Guard.NotNull(addressIndexer, nameof(addressIndexer)); Guard.NotNull(utxoIndexer, nameof(utxoIndexer)); this.addressIndexer = addressIndexer; this.network = network; this.blockStore = blockStore; this.chainState = chainState; this.chainIndexer = chainIndexer; this.utxoIndexer = utxoIndexer; this.stakeChain = stakeChain; this.logger = loggerFactory.CreateLogger(this.GetType().FullName); }
/// <summary> /// Constructs the cold staking manager which is used by the cold staking controller. /// </summary> /// <param name="network">The network that the manager is running on.</param> /// <param name="chainIndexer">Thread safe class representing a chain of headers from genesis.</param> /// <param name="walletSettings">The wallet settings.</param> /// <param name="dataFolder">Contains path locations to folders and files on disk.</param> /// <param name="walletFeePolicy">The wallet fee policy.</param> /// <param name="asyncProvider">Factory for creating and also possibly starting application defined tasks inside async loop.</param> /// <param name="nodeLifeTime">Allows consumers to perform cleanup during a graceful shutdown.</param> /// <param name="scriptAddressReader">A reader for extracting an address from a <see cref="Script"/>.</param> /// <param name="loggerFactory">The logger factory to use to create the custom logger.</param> /// <param name="dateTimeProvider">Provider of time functions.</param> /// <param name="broadcasterManager">The broadcaster manager.</param> public ColdStakingManager( Network network, ChainIndexer chainIndexer, WalletSettings walletSettings, DataFolder dataFolder, IWalletFeePolicy walletFeePolicy, IAsyncProvider asyncProvider, INodeLifetime nodeLifeTime, IScriptAddressReader scriptAddressReader, ILoggerFactory loggerFactory, IDateTimeProvider dateTimeProvider, ISignals signals = null, IBroadcasterManager broadcasterManager = null, IUtxoIndexer utxoIndexer = null) : base( loggerFactory, network, chainIndexer, walletSettings, dataFolder, walletFeePolicy, asyncProvider, nodeLifeTime, dateTimeProvider, scriptAddressReader, signals, broadcasterManager, utxoIndexer) { Guard.NotNull(loggerFactory, nameof(loggerFactory)); Guard.NotNull(dateTimeProvider, nameof(dateTimeProvider)); this.logger = loggerFactory.CreateLogger(this.GetType().FullName); this.dateTimeProvider = dateTimeProvider; }
public ColdStakingWalletService( ILoggerFactory loggerFactory, IWalletManager walletManager, IConsensusManager consensusManager, IWalletTransactionHandler walletTransactionHandler, IWalletSyncManager walletSyncManager, IConnectionManager connectionManager, Network network, ChainIndexer chainIndexer, IBroadcasterManager broadcasterManager, IDateTimeProvider dateTimeProvider, IUtxoIndexer utxoIndexer, IWalletFeePolicy walletFeePolicy, NodeSettings nodeSettings) : base(loggerFactory, walletManager, consensusManager, walletTransactionHandler, walletSyncManager, connectionManager, network, chainIndexer, broadcasterManager, dateTimeProvider, utxoIndexer, walletFeePolicy, nodeSettings) { }