public PortfolioProviderContext(UserContext context, IBalanceProvider provider, Asset baseAsset, int frequency = 15000) { Context = context; Provider = provider; BaseAsset = baseAsset; Frequency = frequency; }
private static async Task <BalanceResults> CheckedBalancesAsync(IBalanceProvider provider, NetworkProviderPrivateContext context) { var r = await provider.GetBalancesAsync(context).ConfigureAwait(false); if (r == null) { return(null); } r.RemoveAll(x => x.AvailableAndReserved == 0 && x.Available == 0 && x.Reserved == 0); return(r); }
private void GetBalancesTest(IBalanceProvider provider) { var ctx = new NetworkProviderPrivateContext(UserContext.Testing); var balances = AsyncContext.Run(() => provider.GetBalancesAsync(ctx)); Assert.True(balances != null); OutputWriter.WriteLine("User balances: "); foreach (var b in balances.OrderByDescending(x => x.AvailableAndReserved.ToDecimalValue())) { OutputWriter.WriteLine($"{b.Asset}: {b.Available} available, {b.Reserved} reserved, {b.AvailableAndReserved} total"); } }
private void GetBalances(IBalanceProvider provider) { var ctx = new NetworkProviderPrivateContext(UserContext.Current); try { var balances = AsyncContext.Run(() => provider.GetBalancesAsync(ctx)); Assert.IsTrue(balances != null); Trace.WriteLine("User balances: "); foreach (var b in balances) { Trace.WriteLine($"{b.Asset}: {b.Available} available, {b.Balance} balance, {b.Reserved} reserved"); } } catch (Exception e) { Assert.Fail(e.Message); } }
private PortfolioLineItem CreateLineItem(BalanceResult balance, IBalanceProvider provider) { try { var pli = new PortfolioLineItem() { Asset = balance.Asset, Network = provider.Network, AvailableBalance = balance.Available, PendingBalance = balance.Reserved, ReservedBalance = balance.Reserved, Total = new Money((decimal)balance.Available + (decimal)balance.Reserved, balance.Available.Asset), ChangePercentage = 0 }; return(pli); } catch (Exception e) { L.Error(e, $"in {GetType()} @ {nameof(CreateLineItem)}"); } return(null); }
public RulesController(IBalanceProvider balance, IMonthlyJobProvider monthlyJob) { this._balance = balance; this._MonthlyJob = monthlyJob; }
public static Task <ApiResponse <BalanceResults> > GetBalancesAsync(IBalanceProvider provider, NetworkProviderPrivateContext context) { return(ApiHelpers.WrapExceptionAsync(() => CheckedBalancesAsync(provider, context), nameof(GetBalances), provider, context)); }
public WalletAddress(IBalanceProvider service, Asset asset) : this() { Network = service?.Network; Asset = asset; }
public static ApiResponse <BalanceResults> GetBalances(IBalanceProvider provider, NetworkProviderPrivateContext context) { return(AsyncContext.Run(() => GetBalancesAsync(provider, context))); }
public BalanceResults(IBalanceProvider provider) { ProviderSource = provider; }
public WalletAddress(IBalanceProvider service, Asset asset) { Network = service.Network; UtcCreated = UtcLastChecked = DateTime.UtcNow; Asset = asset; }
public BasicSynth(MidiInterpretation interpretation, IAdsrEnvelopeProvider adsrEnvelopeProvider = null, IBalanceProvider balanceProvider = null) : base(interpretation) { AdsrEnvelopeProvider = adsrEnvelopeProvider ?? new DefaultAdsrEnvelopeProvider(AdsrParameters.Short); BalanceProvider = balanceProvider ?? new DefaultBalanceProvider(); }