Ejemplo n.º 1
0
 public void Setup()
 {
     _dataRequestFactory = Substitute.For <IDataRequestFactory>();
     _depositProvider    = Substitute.For <IDepositProvider>();
     _kycVerifier        = Substitute.For <IKycVerifier>();
     _wallet             = Substitute.For <IWallet>();
     _providerService    = Substitute.For <IProviderService>();
     _timestamper        = new Timestamper(Date);
     _sessionRepository  = Substitute.For <IConsumerSessionRepository>();
     _consumerNotifier   = Substitute.For <IConsumerNotifier>();
     _dataRequestService = new DataRequestService(_dataRequestFactory, _depositProvider, _kycVerifier, _wallet,
                                                  _providerService, _timestamper, _sessionRepository, _consumerNotifier, LimboLogs.Instance);
 }
Ejemplo n.º 2
0
 public DataRequestService(IDataRequestFactory dataRequestFactory, IDepositProvider depositProvider,
                           IKycVerifier kycVerifier, IWallet wallet, IProviderService providerService, ITimestamper timestamper,
                           IConsumerSessionRepository sessionRepository, IConsumerNotifier consumerNotifier, ILogManager logManager)
 {
     _dataRequestFactory = dataRequestFactory;
     _depositProvider    = depositProvider;
     _kycVerifier        = kycVerifier;
     _wallet             = wallet;
     _providerService    = providerService;
     _timestamper        = timestamper;
     _sessionRepository  = sessionRepository;
     _consumerNotifier   = consumerNotifier;
     _logger             = logManager.GetClassLogger();
 }
Ejemplo n.º 3
0
        public void Setup()
        {
            DataAssetProvider provider = new DataAssetProvider(_providerAddress, "provider");

            _asset                 = new DataAsset(Keccak.Compute("1"), "name", "desc", 1, DataAssetUnitType.Unit, 1000, 10000, new DataAssetRules(new DataAssetRule(1)), provider, state: DataAssetState.Published);
            _closedAsset           = new DataAsset(Keccak.Compute("2"), "name", "desc", 1, DataAssetUnitType.Unit, 1000, 10000, new DataAssetRules(new DataAssetRule(1)), provider, state: DataAssetState.Closed);
            _assetUnderMaintenance = new DataAsset(Keccak.Compute("3"), "name", "desc", 1, DataAssetUnitType.Unit, 1000, 10000, new DataAssetRules(new DataAssetRule(1)), provider, state: DataAssetState.UnderMaintenance);
            _withKyc               = new DataAsset(Keccak.Compute("4"), "name", "desc", 1, DataAssetUnitType.Unit, 1000, 10000, new DataAssetRules(new DataAssetRule(1)), provider, state: DataAssetState.Published, kycRequired: true);

            _deposit = new Deposit(Keccak.Zero, 1, 2, 3);
            _details = new DepositDetails(_deposit, _asset, Address.Zero, new byte[0], 1, new TransactionInfo[0]);

            INdmBlockchainBridge blockchainBridge = BlockchainBridgeBuilder.BuildABridge();

            _wallet = new DevWallet(new WalletConfig(), LimboLogs.Instance);
            DepositService             depositService     = new DepositService(blockchainBridge, new AbiEncoder(), _wallet, Address.Zero);
            IConsumerSessionRepository sessionRepository  = new ConsumerSessionInMemoryRepository();
            DepositUnitsCalculator     unitsCalculator    = new DepositUnitsCalculator(sessionRepository, Timestamper.Default);
            DepositsInMemoryDb         depositsInMemoryDb = new DepositsInMemoryDb();

            depositsInMemoryDb.Add(_details);

            IProviderRepository     providerRepository     = new ProviderInMemoryRepository(depositsInMemoryDb);
            IConsumerNotifier       notifier               = new ConsumerNotifier(Substitute.For <INdmNotifier>());
            DataAssetService        dataAssetService       = new DataAssetService(providerRepository, notifier, LimboLogs.Instance);
            IDepositUnitsCalculator depositUnitsCalculator = Substitute.For <IDepositUnitsCalculator>();
            INdmPeer peer = Substitute.For <INdmPeer>();

            peer.NodeId.Returns(TestItem.PublicKeyB);
            peer.ProviderAddress.Returns(_providerAddress);

            dataAssetService.AddDiscovered(_asset, peer);
            dataAssetService.AddDiscovered(_closedAsset, peer);
            dataAssetService.AddDiscovered(_assetUnderMaintenance, peer);
            dataAssetService.AddDiscovered(_withKyc, peer);

            _kycVerifier = Substitute.For <IKycVerifier>();
            ProviderService providerService = new ProviderService(providerRepository, notifier, LimboLogs.Instance);

            providerService.Add(peer);

            _depositManager = new DepositManager(depositService, unitsCalculator, dataAssetService, _kycVerifier, providerService, new AbiEncoder(), new CryptoRandom(), _wallet, Substitute.For <IGasPriceService>(), new DepositDetailsInMemoryRepository(depositsInMemoryDb, depositUnitsCalculator), Timestamper.Default, LimboLogs.Instance, 6, false);
        }
Ejemplo n.º 4
0
 public DepositManager(IDepositService depositService, IDepositUnitsCalculator depositUnitsCalculator,
                       IDataAssetService dataAssetService, IKycVerifier kycVerifier, IProviderService providerService,
                       IAbiEncoder abiEncoder, ICryptoRandom cryptoRandom, IWallet wallet,
                       IDepositDetailsRepository depositRepository, IConsumerSessionRepository sessionRepository,
                       ITimestamper timestamper, ILogManager logManager, uint requiredBlockConfirmations)
 {
     _depositService             = depositService;
     _depositUnitsCalculator     = depositUnitsCalculator;
     _depositRepository          = depositRepository;
     _sessionRepository          = sessionRepository;
     _dataAssetService           = dataAssetService;
     _kycVerifier                = kycVerifier;
     _providerService            = providerService;
     _abiEncoder                 = abiEncoder;
     _cryptoRandom               = cryptoRandom;
     _timestamper                = timestamper;
     _requiredBlockConfirmations = requiredBlockConfirmations;
     _wallet = wallet;
     _logger = logManager.GetClassLogger();
 }
Ejemplo n.º 5
0
 public DepositManager(IDepositService depositService, IDepositUnitsCalculator depositUnitsCalculator,
                       IDataAssetService dataAssetService, IKycVerifier kycVerifier, IProviderService providerService,
                       IAbiEncoder abiEncoder, ICryptoRandom cryptoRandom, IWallet wallet, IGasPriceService gasPriceService,
                       IDepositDetailsRepository depositRepository, ITimestamper timestamper, ILogManager logManager,
                       uint requiredBlockConfirmations, bool disableSendingDepositTransaction = false)
 {
     _depositService                   = depositService;
     _depositUnitsCalculator           = depositUnitsCalculator;
     _depositRepository                = depositRepository;
     _dataAssetService                 = dataAssetService;
     _kycVerifier                      = kycVerifier;
     _providerService                  = providerService;
     _abiEncoder                       = abiEncoder;
     _cryptoRandom                     = cryptoRandom;
     _timestamper                      = timestamper;
     _requiredBlockConfirmations       = requiredBlockConfirmations;
     _disableSendingDepositTransaction = disableSendingDepositTransaction;
     _wallet          = wallet;
     _gasPriceService = gasPriceService;
     _logger          = logManager.GetClassLogger();
 }