public async Task <WalletAddresses> GetAddressesAsync(WalletAddressContext context) { var api = ApiProvider.GetApi(context); var body = CreatePoloniexBody(PoloniexBodyType.ReturnDepositAddresses); var addresses = new WalletAddresses(); try { var r = await api.GetDepositAddressesAsync(body).ConfigureAwait(false); foreach (var balance in r) { if (string.IsNullOrWhiteSpace(balance.Value)) { continue; } addresses.Add(new WalletAddress(this, balance.Key.ToAsset(this)) { Address = balance.Value }); } } catch (Exception e) { // "Unable to get deposit addresses, please check that your account is verified" throw new ApiResponseException(e, this); } return(addresses); }
public async Task <WalletAddressesResult> GetAddressesAsync(WalletAddressContext context) { var api = ApiProvider.GetApi(context); var body = CreatePoloniexBody(PoloniexBodyType.ReturnDepositAddresses); var addresses = new WalletAddressesResult(); var rRaw = await api.GetDepositAddressesAsync(body).ConfigureAwait(false); CheckResponseErrors(rRaw); var r = rRaw.GetContent(); foreach (var balance in r) { if (!string.IsNullOrWhiteSpace(balance.Value)) { addresses.Add(new WalletAddress(this, balance.Key.ToAsset(this)) { Address = balance.Value }); } } return(addresses); }
public async Task <WalletAddresses> GetAddressesAsync(WalletAddressContext context) { throw new NotImplementedException(); var api = ApiProvider.GetApi(context); var addresses = new WalletAddresses(); // TODO: re-implement, incorrect implementation. foreach (var assetPair in Pairs) { var adjustedCode = AdjustAssetCode(assetPair.Asset1.ShortCode); var depositAddress = await api.GetUserDepositAddressAsync(adjustedCode).ConfigureAwait(false); depositAddress = depositAddress.Trim('\"'); // BUG: how to convert XBt from Pairs to BTC? addresses.Add(new WalletAddress(this, Asset.Btc) { Address = depositAddress }); } return(addresses); }
public async Task <WalletAddresses> GetAddressesAsync(WalletAddressContext context) { var api = ApiProvider.GetApi(context); var accs = await api.GetAccountsAsync().ConfigureAwait(false); var addresses = new WalletAddresses(); var accountIds = accs.data.Select(x => new KeyValuePair <string, string>(x.currency, x.id)); foreach (var kvp in accountIds) { var r = await api.GetAddressesAsync(kvp.Value).ConfigureAwait(false); foreach (var rAddress in r.data) { if (string.IsNullOrWhiteSpace(rAddress.address)) { continue; } addresses.Add(new WalletAddress(this, kvp.Key.ToAsset(this)) { Address = rAddress.address }); } } return(addresses); }
public void GetDepositAddresses() { var provider = Networks.I.Providers.OfType <BittrexProvider>().FirstProvider(); var ctx = new WalletAddressAssetContext("BTC".ToAsset(provider), UserContext.Current); var ctxAll = new WalletAddressContext(UserContext.Current); var addresses = AsyncContext.Run(() => provider.GetAddressesForAssetAsync(ctx)); var addressesAll = AsyncContext.Run(() => provider.GetAddressesAsync(ctxAll)); try { System.Console.WriteLine("Addresses for 1 asset"); foreach (var address in addresses) { System.Console.WriteLine($"{address.Asset} : {address.Address}"); } System.Console.WriteLine("Addresses for all assets"); foreach (var address in addressesAll) { System.Console.WriteLine($"{address.Asset} : {address.Address}"); } } catch (Exception e) { System.Console.WriteLine(e); throw; } }
public override void TestGetAddresses() { // BUG: EFunding:Too many addresses. Should investigate that. var context = new WalletAddressContext(UserContext.Current); base.TestGetAddresses(context); }
public void TestGetAddresses(WalletAddressContext context) { var p = IsType <IDepositProvider>(); if (p.Success) { GetAddresses(p.Provider, context); } }
private void GetAddresses(IDepositProvider provider, WalletAddressContext context) { if (context == null) { return; } var r = AsyncContext.Run(() => provider.GetAddressesAsync(context)); Assert.IsTrue(r != null); Trace.WriteLine("All deposit addresses:"); foreach (var walletAddress in r) { Trace.WriteLine($"{walletAddress.Asset}: \"{walletAddress.Address}\""); } }
public async Task <WalletAddresses> GetAddressesAsync(WalletAddressContext context) { var addresses = new WalletAddresses(); var wac = new WalletAddressAssetContext("ETH".ToAsset(this), context.UserContext, context.L); addresses.AddRange(await GetAddressesForAssetAsync(wac).ConfigureAwait(false)); wac.Asset = "BTC".ToAsset(this); addresses.AddRange(await GetAddressesForAssetAsync(wac).ConfigureAwait(false)); wac.Asset = "XRP".ToAsset(this); addresses.AddRange(await GetAddressesForAssetAsync(wac).ConfigureAwait(false)); wac.Asset = "LTC".ToAsset(this); addresses.AddRange(await GetAddressesForAssetAsync(wac).ConfigureAwait(false)); return(addresses); }
public async Task <WalletAddresses> GetAddressesAsync(WalletAddressContext context) { var api = ApiProvider.GetApi(context); var r = await api.GetAllBalancesAsync().ConfigureAwait(false); CheckResponseErrors(r); var addresses = new WalletAddresses(); foreach (var rBalance in r.result) { addresses.Add(new WalletAddress(this, rBalance.Currency.ToAsset(this)) { Address = rBalance.CryptoAddress }); } return(addresses); }
public void GetAllAddressesAsync() { var provider = Networks.I.Providers.OfType <KrakenProvider>().FirstProvider(); var ctx = new WalletAddressContext(UserContext.Testing); try { var addresses = AsyncContext.Run(() => provider.GetAddressesAsync(ctx)); foreach (var walletAddress in addresses.WalletAddresses) { System.Console.WriteLine($"{walletAddress.Asset} : {walletAddress.Address}"); } } catch (Exception e) { System.Console.WriteLine(e.Message); // throw; } }
public void GetAllDepositAddresses() { var provider = Networks.I.Providers.OfType <BitMexProvider>().FirstProvider(); var ctx = new WalletAddressContext(UserContext.Current); try { var addresses = AsyncContext.Run(() => provider.GetAddressesAsync(ctx)); Console.WriteLine("All addresses:"); foreach (var address in addresses) { Console.WriteLine($"{address.Asset}: {address.Address}"); } } catch (Exception e) { Console.WriteLine(e.Message); throw; } }
public async Task <WalletAddressesResult> GetAddressesAsync(WalletAddressContext context) { var api = ApiProvider.GetApi(context); var assets = await GetAssetPairsAsync(context).ConfigureAwait(false); var addresses = new WalletAddressesResult(); foreach (var pair in assets) { var fundingMethod = await GetFundingMethodAsync(context, pair.Asset1).ConfigureAwait(false); if (fundingMethod == null) { throw new NullReferenceException("No funding method is found"); } var localAddresses = await GetAddressesLocalAsync(api, fundingMethod, pair.Asset1).ConfigureAwait(false); addresses.AddRange(localAddresses.WalletAddresses); } return(addresses); }
public Task <WalletAddressesResult> GetAddressesAsync(WalletAddressContext context) { throw new NotImplementedException(); // var api = ApiProvider.GetApi(context); // var addresses = new WalletAddressesResult(); // // foreach (var assetPair in Pairs) // { // var adjustedCode = AdjustAssetCode(assetPair.Asset1.ShortCode); // // var depositAddress = await api.GetUserDepositAddressAsync(adjustedCode).ConfigureAwait(false); // // depositAddress = depositAddress.Trim('\"'); // // // BUG: how to convert XBt from Pairs to BTC? // addresses.Add(new WalletAddress(this, Asset.Btc) // { // Address = depositAddress // }); // } // // return addresses; }
public override void TestGetAddresses() { var context = new WalletAddressContext(UserContext.Testing); base.PretestGetAddresses(context); }
public override void TestGetAddresses() { var context = new WalletAddressContext(UserContext.Current); base.TestGetAddresses(context); }
public Task <WalletAddressesResult> GetAddressesAsync(WalletAddressContext context) { return(Task.FromResult <WalletAddressesResult>(null)); }
public Task <WalletAddresses> GetAddressesAsync(WalletAddressContext context) { throw new NotImplementedException(); }