public BlockNotification(ConcurrentChain chain, ILookaheadBlockPuller puller, ISignals signals)
        {
            Guard.NotNull(chain, nameof(chain));
            Guard.NotNull(puller, nameof(puller));
            Guard.NotNull(signals, nameof(signals));

            this.Chain   = chain;
            this.Puller  = puller;
            this.signals = signals;
        }
        private static Task GetPrefetchingTask(CacheCoinView cache, ILookaheadBlockPuller lookaheadPuller, ConsensusFlags flags)
        {
            Task prefetching = Task.FromResult <bool>(true);

            if (cache != null && lookaheadPuller != null)
            {
                var nextBlock = lookaheadPuller.TryGetLookahead(0);
                if (nextBlock != null)
                {
                    prefetching = Task.Run(() => cache.FetchCoins(GetIdsToFetch(nextBlock, flags.EnforceBIP30)));
                }
            }
            return(prefetching);
        }
        public BlockNotification(ConcurrentChain chain, ILookaheadBlockPuller puller, ISignals signals,
                                 IAsyncLoopFactory asyncLoopFactory, INodeLifetime nodeLifetime)
        {
            Guard.NotNull(chain, nameof(chain));
            Guard.NotNull(puller, nameof(puller));
            Guard.NotNull(signals, nameof(signals));
            Guard.NotNull(asyncLoopFactory, nameof(asyncLoopFactory));

            this.Chain            = chain;
            this.Puller           = puller;
            this.signals          = signals;
            this.asyncLoopFactory = asyncLoopFactory;
            this.nodeLifetime     = nodeLifetime;
        }
 public SmartContractConsensusRules(
     ConcurrentChain chain,
     ICheckpoints checkpoints,
     ConsensusSettings consensusSettings,
     IDateTimeProvider dateTimeProvider,
     ISmartContractExecutorFactory executorFactory,
     ILoggerFactory loggerFactory,
     Network network,
     NodeDeployments nodeDeployments,
     ContractStateRepositoryRoot originalStateRoot,
     ILookaheadBlockPuller puller,
     ICoinView utxoSet,
     ISmartContractReceiptStorage receiptStorage)
     : base(network, loggerFactory, dateTimeProvider, chain, nodeDeployments, consensusSettings, checkpoints, utxoSet, puller)
 {
     this.ExecutorFactory   = executorFactory;
     this.OriginalStateRoot = originalStateRoot;
     this.ReceiptStorage    = receiptStorage;
 }
        public BlockNotification(ConcurrentChain chain, ILookaheadBlockPuller puller, Signals signals)
        {
            if (chain == null)
            {
                throw new ArgumentNullException("chain");
            }
            if (puller == null)
            {
                throw new ArgumentNullException("puller");
            }
            if (signals == null)
            {
                throw new ArgumentNullException("signals");
            }

            this.Chain   = chain;
            this.Puller  = puller;
            this.signals = signals;
        }
        public BlockNotification(
            ILoggerFactory loggerFactory,
            ConcurrentChain chain,
            ILookaheadBlockPuller puller,
            ISignals signals,
            IAsyncLoopFactory asyncLoopFactory,
            INodeLifetime nodeLifetime)
        {
            Guard.NotNull(loggerFactory, nameof(loggerFactory));
            Guard.NotNull(chain, nameof(chain));
            Guard.NotNull(puller, nameof(puller));
            Guard.NotNull(signals, nameof(signals));
            Guard.NotNull(asyncLoopFactory, nameof(asyncLoopFactory));

            this.Chain            = chain;
            this.Puller           = puller;
            this.signals          = signals;
            this.asyncLoopFactory = asyncLoopFactory;
            this.nodeLifetime     = nodeLifetime;
            this.logger           = loggerFactory.CreateLogger(this.GetType().FullName);
        }
Пример #7
0
 public SmartContractPosConsensusRuleEngine(
     ConcurrentChain chain,
     ICheckpoints checkpoints,
     ConsensusSettings consensusSettings,
     IDateTimeProvider dateTimeProvider,
     ISmartContractExecutorFactory executorFactory,
     ILoggerFactory loggerFactory,
     Network network,
     NodeDeployments nodeDeployments,
     IContractStateRoot originalStateRoot,
     ILookaheadBlockPuller puller,
     IReceiptRepository receiptRepository,
     ISenderRetriever senderRetriever,
     IStakeChain stakeChain,
     IStakeValidator stakeValidator,
     ICoinView utxoSet)
     : base(network, loggerFactory, dateTimeProvider, chain, nodeDeployments, consensusSettings, checkpoints, utxoSet, puller, stakeChain, stakeValidator)
 {
     this.ExecutorFactory   = executorFactory;
     this.OriginalStateRoot = originalStateRoot;
     this.ReceiptRepository = receiptRepository;
     this.SenderRetriever   = senderRetriever;
 }
Пример #8
0
 /// <summary>
 /// Initializes an instance of the object.
 /// </summary>
 public PosConsensusRules(Network network, ILoggerFactory loggerFactory, IDateTimeProvider dateTimeProvider, ConcurrentChain chain, NodeDeployments nodeDeployments, ConsensusSettings consensusSettings, ICheckpoints checkpoints, ICoinView utxoSet, ILookaheadBlockPuller puller, IStakeChain stakeChain, IStakeValidator stakeValidator)
     : base(network, loggerFactory, dateTimeProvider, chain, nodeDeployments, consensusSettings, checkpoints, utxoSet, puller)
 {
     this.StakeChain     = stakeChain;
     this.StakeValidator = stakeValidator;
 }
Пример #9
0
 /// <summary>
 /// Initializes an instance of the object.
 /// </summary>
 public PowConsensusRules(Network network, ILoggerFactory loggerFactory, IDateTimeProvider dateTimeProvider, ConcurrentChain chain, NodeDeployments nodeDeployments, ConsensusSettings consensusSettings, ICheckpoints checkpoints, ICoinView utxoSet, ILookaheadBlockPuller puller)
     : base(network, loggerFactory, dateTimeProvider, chain, nodeDeployments, consensusSettings, checkpoints)
 {
     this.UtxoSet = utxoSet;
     this.Puller  = puller;
 }
 public TestPosConsensusRules(Network network, ILoggerFactory loggerFactory, IDateTimeProvider dateTimeProvider, ConcurrentChain chain, NodeDeployments nodeDeployments, ConsensusSettings consensusSettings, ICheckpoints checkpoints, CoinView uxtoSet, ILookaheadBlockPuller lookaheadBlockPuller, IStakeChain stakeChain, IStakeValidator stakeValidator)
     : base(network, loggerFactory, dateTimeProvider, chain, nodeDeployments, consensusSettings, checkpoints, uxtoSet, lookaheadBlockPuller, stakeChain, stakeValidator)
 {
     this.ruleRegistration = new Mock <IRuleRegistration>();
 }
 public TestContractRulesEngine(Network network, ILoggerFactory loggerFactory, IDateTimeProvider dateTimeProvider, ConcurrentChain chain, NodeDeployments nodeDeployments, ConsensusSettings consensusSettings, ICheckpoints checkpoints, ICoinView utxoSet, ILookaheadBlockPuller puller)
     : base(network, loggerFactory, dateTimeProvider, chain, nodeDeployments, consensusSettings, checkpoints, utxoSet, puller)
 {
 }