public Account( IHdWallet wallet, SecureString password, ICurrenciesProvider currenciesProvider, ISymbolsProvider symbolsProvider) { Wallet = wallet ?? throw new ArgumentNullException(nameof(wallet)); Currencies = currenciesProvider.GetCurrencies(Network); Symbols = symbolsProvider.GetSymbols(Network); DataRepository = new LiteDbAccountDataRepository( pathToDb: $"{Path.GetDirectoryName(Wallet.PathToWallet)}/{DefaultDataFileName}", password: password, currencies: Currencies, network: wallet.Network); CurrencyAccounts = Currencies .ToDictionary( c => c.Name, c => CurrencyAccountCreator.Create( currency: c.Name, wallet: Wallet, dataRepository: DataRepository, currencies: Currencies)); UserSettings = UserSettings.TryLoadFromFile( pathToFile: $"{Path.GetDirectoryName(Wallet.PathToWallet)}/{DefaultUserSettingsFileName}", password: password) ?? UserSettings.DefaultSettings; }
public async void GetSwapByIdTest() { var swapId = await AddSwapTestAsync() .ConfigureAwait(false); var repository = new LiteDbAccountDataRepository( pathToDb: PathToDb, password: Password, currencies: Common.CurrenciesTestNet, symbols: Common.SymbolsTestNet); var swap = await repository .GetSwapByIdAsync(swapId) .ConfigureAwait(false); Assert.NotNull(swap); Assert.NotNull(swap.Symbol); Assert.NotNull(swap.Secret); Assert.NotNull(swap.SecretHash); Assert.NotEqual(swap.TimeStamp, UtcNow); Assert.True(swap.StateFlags.HasFlag(SwapStateFlags.HasPayment)); Assert.True(swap.StateFlags.HasFlag(SwapStateFlags.HasPartyPayment)); Assert.NotNull(swap.PaymentTx); Assert.NotNull(swap.PartyPaymentTx); }
public Account( IHdWallet wallet, SecureString password, ICurrenciesProvider currenciesProvider, ClientType clientType, Action <MigrationActionType> migrationCompleteCallback = null) { Wallet = wallet ?? throw new ArgumentNullException(nameof(wallet)); Currencies = currenciesProvider.GetCurrencies(Network); DataRepository = new LiteDbAccountDataRepository( pathToDb: Path.Combine(Path.GetDirectoryName(Wallet.PathToWallet), DefaultDataFileName), password: password, currencies: Currencies, network: wallet.Network, migrationCompleteCallback); CurrencyAccounts = CurrencyAccountCreator.Create(Currencies, wallet, DataRepository); UserSettings = UserSettings.TryLoadFromFile( pathToFile: $"{Path.GetDirectoryName(Wallet.PathToWallet)}/{DefaultUserSettingsFileName}", password: password) ?? UserSettings.DefaultSettings; _clientType = clientType; }
public void NullPasswordTest() { Assert.Throws <ArgumentNullException>(() => { var _ = new LiteDbAccountDataRepository( pathToDb: PathToDb, password: null, currencies: Common.CurrenciesTestNet, symbols: Common.SymbolsTestNet); }); }
public async Task <long> AddSwapTestAsync() { File.Delete(PathToDb); var repository = new LiteDbAccountDataRepository( pathToDb: PathToDb, password: Password, currencies: Common.CurrenciesTestNet, symbols: Common.SymbolsTestNet); var swap = CreateSwap(); var result = await repository .AddSwapAsync(swap) .ConfigureAwait(false); Assert.True(result); return(swap.Id); }
public async void AddEthereumTransactionTest() { var repository = new LiteDbAccountDataRepository( pathToDb: PathToDb, password: Password, currencies: Common.CurrenciesTestNet, network: Network.TestNet); var id = "abcdefgh"; var tx = new EthereumTransaction { Id = id, Currency = Common.EthTestNet.Name, InternalTxs = new List <EthereumTransaction> { new EthereumTransaction { Currency = Common.EthTestNet.Name } } }; var result = await repository .UpsertTransactionAsync(tx) .ConfigureAwait(false); Assert.True(result); var readTx = await repository .GetTransactionByIdAsync(Common.EthTestNet.Name, id, Common.EthTestNet.TransactionType) .ConfigureAwait(false) as EthereumTransaction; Assert.NotNull(readTx); Assert.NotNull(readTx.InternalTxs); Assert.Equal(id, readTx.Id); }