Ejemplo n.º 1
0
        public BaseFeature(NodeSettings nodeSettings,
                           DataFolder dataFolder,
                           INodeLifetime nodeLifetime,
                           ChainIndexer chainIndexer,
                           IChainState chainState,
                           IConnectionManager connectionManager,
                           IChainRepository chainRepository,
                           IFinalizedBlockInfoRepository finalizedBlockInfo,
                           IDateTimeProvider dateTimeProvider,
                           IAsyncProvider asyncProvider,
                           ITimeSyncBehaviorState timeSyncBehaviorState,
                           ILoggerFactory loggerFactory,
                           IInitialBlockDownloadState initialBlockDownloadState,
                           IPeerBanning peerBanning,
                           IPeerAddressManager peerAddressManager,
                           IConsensusManager consensusManager,
                           IConsensusRuleEngine consensusRules,
                           IPartialValidator partialValidator,
                           IBlockPuller blockPuller,
                           IBlockStore blockStore,
                           Network network,
                           ITipsManager tipsManager,
                           NodeDeployments nodeDeployments,
                           IKeyValueRepository keyValueRepo,
                           INodeStats nodeStats,
                           IBroadcasterManager broadcasterManager,
                           IProvenBlockHeaderStore provenBlockHeaderStore = null)
        {
            this.chainState      = Guard.NotNull(chainState, nameof(chainState));
            this.chainRepository = Guard.NotNull(chainRepository, nameof(chainRepository));
            this.finalizedBlockInfoRepository = Guard.NotNull(finalizedBlockInfo, nameof(finalizedBlockInfo));
            this.nodeSettings           = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.dataFolder             = Guard.NotNull(dataFolder, nameof(dataFolder));
            this.nodeLifetime           = Guard.NotNull(nodeLifetime, nameof(nodeLifetime));
            this.chainIndexer           = Guard.NotNull(chainIndexer, nameof(chainIndexer));
            this.connectionManager      = Guard.NotNull(connectionManager, nameof(connectionManager));
            this.consensusManager       = consensusManager;
            this.consensusRules         = consensusRules;
            this.blockPuller            = blockPuller;
            this.blockStore             = blockStore;
            this.network                = network;
            this.nodeStats              = nodeStats;
            this.broadcasterManager     = broadcasterManager;
            this.provenBlockHeaderStore = provenBlockHeaderStore;
            this.partialValidator       = partialValidator;
            this.peerBanning            = Guard.NotNull(peerBanning, nameof(peerBanning));
            this.tipsManager            = Guard.NotNull(tipsManager, nameof(tipsManager));
            this.keyValueRepo           = Guard.NotNull(keyValueRepo, nameof(keyValueRepo));
            this.nodeDeployments        = nodeDeployments;

            this.peerAddressManager = Guard.NotNull(peerAddressManager, nameof(peerAddressManager));
            this.peerAddressManager.PeerFilePath = this.dataFolder;

            this.initialBlockDownloadState = initialBlockDownloadState;
            this.dateTimeProvider          = dateTimeProvider;
            this.asyncProvider             = asyncProvider;
            this.timeSyncBehaviorState     = timeSyncBehaviorState;
            this.loggerFactory             = loggerFactory;
            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
        }
Ejemplo n.º 2
0
 public static void Start(IChainRepository repository)
 {
     WebHost.CreateDefaultBuilder()
     .UseUrls("http://0.0.0.0:5001")
     .ConfigureServices(servicesCollection =>
     {
         servicesCollection.AddSingleton <IChainRepository>(repository);
     })
     .UseStartup <Startup>()
     .Build()
     .Run();
 }
Ejemplo n.º 3
0
 public FlushUtxosetRule(
     IInitialBlockDownloadState initialBlockDownloadState,
     IChainRepository chainRepository,
     ChainIndexer chainIndexer,
     INodeLifetime nodeLifetime,
     IChainState chainState)
 {
     this.initialBlockDownloadState = initialBlockDownloadState;
     this.chainRepository           = chainRepository;
     this.chainIndexer = chainIndexer;
     this.nodeLifetime = nodeLifetime;
     this.chainState   = chainState;
 }
Ejemplo n.º 4
0
 public static void Start(IChainRepository repository, string endpoint)
 {
     WebHost.CreateDefaultBuilder()
     .UseUrls(endpoint)
     .ConfigureServices(servicesCollection =>
     {
         servicesCollection.AddSingleton <IChainRepository>(repository);
     })
     .UseStartup <Startup>()
     .UseSerilog()
     .Build()
     .Run();
 }
Ejemplo n.º 5
0
        public BaseFeature(
            NodeSettings nodeSettings,
            DataFolder dataFolder,
            INodeLifetime nodeLifetime,
            ConcurrentChain chain,
            IChainState chainState,
            IConnectionManager connectionManager,
            IChainRepository chainRepository,
            IFinalizedBlockInfoRepository finalizedBlockInfo,
            IDateTimeProvider dateTimeProvider,
            IAsyncLoopFactory asyncLoopFactory,
            ITimeSyncBehaviorState timeSyncBehaviorState,
            DBreezeSerializer dbreezeSerializer,
            ILoggerFactory loggerFactory,
            IInitialBlockDownloadState initialBlockDownloadState,
            IPeerBanning peerBanning,
            IPeerAddressManager peerAddressManager,
            IConsensusManager consensusManager,
            IConsensusRuleEngine consensusRules,
            IPartialValidator partialValidator,
            IBlockPuller blockPuller,
            IBlockStore blockStore,
            Network network)
        {
            this.chainState      = Guard.NotNull(chainState, nameof(chainState));
            this.chainRepository = Guard.NotNull(chainRepository, nameof(chainRepository));
            this.finalizedBlockInfoRepository = Guard.NotNull(finalizedBlockInfo, nameof(finalizedBlockInfo));
            this.nodeSettings      = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.dataFolder        = Guard.NotNull(dataFolder, nameof(dataFolder));
            this.nodeLifetime      = Guard.NotNull(nodeLifetime, nameof(nodeLifetime));
            this.chain             = Guard.NotNull(chain, nameof(chain));
            this.connectionManager = Guard.NotNull(connectionManager, nameof(connectionManager));
            this.consensusManager  = consensusManager;
            this.consensusRules    = consensusRules;
            this.blockPuller       = blockPuller;
            this.blockStore        = blockStore;
            this.network           = network;
            this.partialValidator  = partialValidator;
            this.peerBanning       = Guard.NotNull(peerBanning, nameof(peerBanning));

            this.peerAddressManager = Guard.NotNull(peerAddressManager, nameof(peerAddressManager));
            this.peerAddressManager.PeerFilePath = this.dataFolder;

            this.initialBlockDownloadState = initialBlockDownloadState;
            this.dateTimeProvider          = dateTimeProvider;
            this.asyncLoopFactory          = asyncLoopFactory;
            this.timeSyncBehaviorState     = timeSyncBehaviorState;
            this.loggerFactory             = loggerFactory;
            this.dbreezeSerializer         = dbreezeSerializer;
            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
        }
Ejemplo n.º 6
0
 public ChainService(
     ILogger <IChainRepository> logger,
     IChainRepository chainRepository,
     IApiChainRequestModelValidator chainModelValidator,
     IBOLChainMapper bolchainMapper,
     IDALChainMapper dalchainMapper,
     IBOLLinkMapper bolLinkMapper,
     IDALLinkMapper dalLinkMapper)
     : base(logger,
            chainRepository,
            chainModelValidator,
            bolchainMapper,
            dalchainMapper,
            bolLinkMapper,
            dalLinkMapper)
 {
 }
Ejemplo n.º 7
0
 public AbstractChainService(
     ILogger logger,
     IChainRepository chainRepository,
     IApiChainRequestModelValidator chainModelValidator,
     IBOLChainMapper bolChainMapper,
     IDALChainMapper dalChainMapper,
     IBOLLinkMapper bolLinkMapper,
     IDALLinkMapper dalLinkMapper)
     : base()
 {
     this.ChainRepository     = chainRepository;
     this.ChainModelValidator = chainModelValidator;
     this.BolChainMapper      = bolChainMapper;
     this.DalChainMapper      = dalChainMapper;
     this.BolLinkMapper       = bolLinkMapper;
     this.DalLinkMapper       = dalLinkMapper;
     this.logger = logger;
 }
Ejemplo n.º 8
0
        public ChainService(
            ILogger <IChainService> logger,
            MediatR.IMediator mediator,
            IChainRepository chainRepository,
            IApiChainServerRequestModelValidator chainModelValidator,
            IDALChainMapper dalChainMapper,
            IDALClaspMapper dalClaspMapper,
            IDALLinkMapper dalLinkMapper)
            : base()
        {
            this.ChainRepository     = chainRepository;
            this.ChainModelValidator = chainModelValidator;
            this.DalChainMapper      = dalChainMapper;
            this.DalClaspMapper      = dalClaspMapper;
            this.DalLinkMapper       = dalLinkMapper;
            this.logger = logger;

            this.mediator = mediator;
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Initializes a new instance of the object.
        /// </summary>
        /// <param name="nodeSettings">User defined node settings.</param>
        /// <param name="dataFolder">Locations of important folders and files on disk.</param>
        /// <param name="nodeLifetime">Global application life cycle control - triggers when application shuts down.</param>
        /// <param name="chain">Thread safe access to the best chain of block headers (that the node is aware of) from genesis.</param>
        /// <param name="chainState">Information about node's chain.</param>
        /// <param name="connectionManager">Manager of node's network connections.</param>
        /// <param name="finalizedBlockHeight"><inheritdoc cref="IFinalizedBlockHeight"/></param>
        /// <param name="chainRepository">Access to the database of blocks.</param>
        /// <param name="dateTimeProvider">Provider of time functions.</param>
        /// <param name="asyncLoopFactory">Factory for creating background async loop tasks.</param>
        /// <param name="timeSyncBehaviorState">State of time synchronization feature that stores collected data samples.</param>
        /// <param name="dbreezeSerializer">Provider of binary (de)serialization for data stored in the database.</param>
        /// <param name="loggerFactory">Factory to be used to create logger for the node.</param>
        /// <param name="initialBlockDownloadState">Provider of IBD state.</param>
        /// <param name="bestChainSelector">Selects the best available chain based on tips provided by the peers and switches to it.</param>
        public BaseFeature(
            NodeSettings nodeSettings,
            DataFolder dataFolder,
            INodeLifetime nodeLifetime,
            ConcurrentChain chain,
            IChainState chainState,
            IConnectionManager connectionManager,
            IChainRepository chainRepository,
            IFinalizedBlockHeight finalizedBlockHeight,
            IDateTimeProvider dateTimeProvider,
            IAsyncLoopFactory asyncLoopFactory,
            ITimeSyncBehaviorState timeSyncBehaviorState,
            DBreezeSerializer dbreezeSerializer,
            ILoggerFactory loggerFactory,
            IInitialBlockDownloadState initialBlockDownloadState,
            IPeerBanning peerBanning,
            IPeerAddressManager peerAddressManager,
            BestChainSelector bestChainSelector)
        {
            this.chainState           = Guard.NotNull(chainState, nameof(chainState));
            this.chainRepository      = Guard.NotNull(chainRepository, nameof(chainRepository));
            this.finalizedBlockHeight = Guard.NotNull(finalizedBlockHeight, nameof(finalizedBlockHeight));
            this.nodeSettings         = Guard.NotNull(nodeSettings, nameof(nodeSettings));
            this.dataFolder           = Guard.NotNull(dataFolder, nameof(dataFolder));
            this.nodeLifetime         = Guard.NotNull(nodeLifetime, nameof(nodeLifetime));
            this.chain             = Guard.NotNull(chain, nameof(chain));
            this.connectionManager = Guard.NotNull(connectionManager, nameof(connectionManager));
            this.bestChainSelector = bestChainSelector;
            this.peerBanning       = Guard.NotNull(peerBanning, nameof(peerBanning));

            this.peerAddressManager = Guard.NotNull(peerAddressManager, nameof(peerAddressManager));
            this.peerAddressManager.PeerFilePath = this.dataFolder;

            this.initialBlockDownloadState = initialBlockDownloadState;
            this.dateTimeProvider          = dateTimeProvider;
            this.asyncLoopFactory          = asyncLoopFactory;
            this.timeSyncBehaviorState     = timeSyncBehaviorState;
            this.loggerFactory             = loggerFactory;
            this.dbreezeSerializer         = dbreezeSerializer;
            this.logger = loggerFactory.CreateLogger(this.GetType().FullName);
            this.disposableResources = new List <IDisposable>();
        }
Ejemplo n.º 10
0
 public QuotesController(IChainRepository repository)
 {
     this.repository = repository;
 }
 public ApiChainRequestModelValidator(IChainRepository chainRepository)
     : base(chainRepository)
 {
 }
 public OfferBooksController(IChainRepository repository)
 {
     this.repository = repository;
 }
Ejemplo n.º 13
0
 public StatsController(IChainRepository repository)
 {
     this.repository = repository;
 }
Ejemplo n.º 14
0
 public AbstractApiChainRequestModelValidator(IChainRepository chainRepository)
 {
     this.chainRepository = chainRepository;
 }
Ejemplo n.º 15
0
 public CandlesController(IChainRepository repository)
 {
     this.repository = repository;
 }
Ejemplo n.º 16
0
 public BlockController(IFullNode fullNode, IChainRepository chainRepository, IBlockRepository blockRepository)
 {
     this.fullNode        = fullNode;
     this.chainRepository = chainRepository;
     this.blockRepository = blockRepository;
 }
Ejemplo n.º 17
0
 public AddBlockToChain(IChainRepository chainRepository, IBlockRepository blockRepository)
 {
     _chainRepository = chainRepository;
     _blockRepository = blockRepository;
 }
 public TransactionsController(IChainRepository repository)
 {
     this.repository = repository;
 }
Ejemplo n.º 19
0
 public PeersController(IChainRepository repository)
 {
     this.repository = repository;
 }
Ejemplo n.º 20
0
 public WithdrawalsController(IChainRepository repository)
 {
     this.repository = repository;
 }
Ejemplo n.º 21
0
 public BlocksController(IChainRepository repository)
 {
     this.repository = repository;
 }
 public ApiChainServerRequestModelValidator(IChainRepository chainRepository)
 {
     this.ChainRepository = chainRepository;
 }
Ejemplo n.º 23
0
 public CalculadoraDescontos(OrcamentoDTO orcamento)
 {
     chainDiscountRepository = new ChainRepository <OrcamentoDTO>(orcamento);
 }