/// <summary>
        ///     Constructor,
        /// </summary>
        /// <param name="gameRoundDataManager">Game Round Data Manager</param>
        /// <param name="gameManager">Game manager</param>
        /// <param name="ethereumAccountManager">Ethereum account manager.</param>
        /// <param name="transactionLoader">Transaction Loader.</param>
        /// <param name="contractInfoRegistry">Contract info registry.</param>
        /// <param name="eventSignatureFactory">Event signature factory.</param>
        /// <param name="eventHandlerFactory">Event Handler Factory.</param>
        /// <param name="eventDataManager">Event data manager.</param>
        /// <param name="eventDecoder">Event Decoder.</param>
        /// <param name="confirmationsReadinessChecker">Confirmations readiness checker.</param>
        /// <param name="dateTimeSource">Source of time.</param>
        /// <param name="logger">Logging.</param>
        public BrokenGameRecovery(IGameRoundDataManager gameRoundDataManager,
                                  IGameManager gameManager,
                                  IEthereumAccountManager ethereumAccountManager,
                                  ITransactionLoader transactionLoader,
                                  IContractInfoRegistry contractInfoRegistry,
                                  IEventSignatureFactory eventSignatureFactory,
                                  IEventHandlerFactory eventHandlerFactory,
                                  IEventDataManager eventDataManager,
                                  IEventDecoder eventDecoder,
                                  IConfirmationsReadinessChecker confirmationsReadinessChecker,
                                  IDateTimeSource dateTimeSource,
                                  ILogger <BrokenGameRecovery> logger)
        {
            this._gameRoundDataManager          = gameRoundDataManager ?? throw new ArgumentNullException(nameof(gameRoundDataManager));
            this._gameManager                   = gameManager ?? throw new ArgumentNullException(nameof(gameManager));
            this._ethereumAccountManager        = ethereumAccountManager ?? throw new ArgumentNullException(nameof(ethereumAccountManager));
            this._transactionLoader             = transactionLoader ?? throw new ArgumentNullException(nameof(transactionLoader));
            this._eventSignatureFactory         = eventSignatureFactory ?? throw new ArgumentNullException(nameof(eventSignatureFactory));
            this._eventHandlerFactory           = eventHandlerFactory ?? throw new ArgumentNullException(nameof(eventHandlerFactory));
            this._eventDataManager              = eventDataManager ?? throw new ArgumentNullException(nameof(eventDataManager));
            this._eventDecoder                  = eventDecoder ?? throw new ArgumentNullException(nameof(eventDecoder));
            this._confirmationsReadinessChecker = confirmationsReadinessChecker ?? throw new ArgumentNullException(nameof(confirmationsReadinessChecker));
            this._dateTimeSource                = dateTimeSource ?? throw new ArgumentNullException(nameof(dateTimeSource));
            this._logger = logger ?? throw new ArgumentNullException(nameof(logger));

            this._contractInfo = contractInfoRegistry.FindContractInfo(WellKnownContracts.GameManager);
        }
コード例 #2
0
 public DataModel(ITransactionLoader transactionLoader, ITransactionSaver transactionSaver)
 {
     _transactionLoader = transactionLoader;
     _transactionSaver  = transactionSaver;
     _transactions.TransactionsChanged += _transactions_TransactionsChanged;
 }
コード例 #3
0
 public TransactionRepository(ITransactionLoader loader)
 {
     _data = loader.Load();
 }