Exemple #1
0
 public PortfolioProviderContext(UserContext context, IBalanceProvider provider, Asset baseAsset, int frequency = 15000)
 {
     Context   = context;
     Provider  = provider;
     BaseAsset = baseAsset;
     Frequency = frequency;
 }
Exemple #2
0
        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);
        }
Exemple #3
0
        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");
            }
        }
Exemple #4
0
        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;
 }
Exemple #7
0
 public static Task <ApiResponse <BalanceResults> > GetBalancesAsync(IBalanceProvider provider, NetworkProviderPrivateContext context)
 {
     return(ApiHelpers.WrapExceptionAsync(() => CheckedBalancesAsync(provider, context), nameof(GetBalances), provider, context));
 }
Exemple #8
0
 public WalletAddress(IBalanceProvider service, Asset asset) : this()
 {
     Network = service?.Network;
     Asset   = asset;
 }
Exemple #9
0
 public static ApiResponse <BalanceResults> GetBalances(IBalanceProvider provider, NetworkProviderPrivateContext context)
 {
     return(AsyncContext.Run(() => GetBalancesAsync(provider, context)));
 }
Exemple #10
0
 public BalanceResults(IBalanceProvider provider)
 {
     ProviderSource = provider;
 }
Exemple #11
0
 public WalletAddress(IBalanceProvider service, Asset asset)
 {
     Network    = service.Network;
     UtcCreated = UtcLastChecked = DateTime.UtcNow;
     Asset      = asset;
 }
Exemple #12
0
 public BasicSynth(MidiInterpretation interpretation, IAdsrEnvelopeProvider adsrEnvelopeProvider = null, IBalanceProvider balanceProvider = null) : base(interpretation)
 {
     AdsrEnvelopeProvider = adsrEnvelopeProvider ?? new DefaultAdsrEnvelopeProvider(AdsrParameters.Short);
     BalanceProvider      = balanceProvider ?? new DefaultBalanceProvider();
 }