コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }
コード例 #4
0
 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;
 }
コード例 #5
0
        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;
        }
コード例 #6
0
        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
ファイル: ConsensusRules.cs プロジェクト: MM2010/X42-FullNode
 /// <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
ファイル: ConsensusRules.cs プロジェクト: MM2010/X42-FullNode
 /// <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;
 }
コード例 #10
0
 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>();
 }
コード例 #11
0
 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)
 {
 }