bump nbx and make balance return decimal

This commit is contained in:
Kukks 2019-12-02 09:57:38 +01:00
parent e31e600144
commit bc2a039ea2
4 changed files with 10 additions and 11 deletions

View file

@ -5,6 +5,6 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.9" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" /> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.9" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />
<FrameworkReference Include="Microsoft.AspNetCore.App" Condition="'$(TargetFramework)' != 'netcoreapp2.1'" /> <FrameworkReference Include="Microsoft.AspNetCore.App" Condition="'$(TargetFramework)' != 'netcoreapp2.1'" />
<PackageReference Include="NBXplorer.Client" Version="3.0.0" /> <PackageReference Include="NBXplorer.Client" Version="3.0.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -252,7 +252,7 @@ namespace BTCPayServer.Controllers
vm.Id = tx.TransactionId.ToString(); vm.Id = tx.TransactionId.ToString();
vm.Link = string.Format(CultureInfo.InvariantCulture, paymentMethod.Network.BlockExplorerLink, vm.Id); vm.Link = string.Format(CultureInfo.InvariantCulture, paymentMethod.Network.BlockExplorerLink, vm.Id);
vm.Timestamp = tx.Timestamp; vm.Timestamp = tx.Timestamp;
vm.Positive = tx.BalanceChange.GetValue(wallet.Network) >= Money.Zero; vm.Positive = tx.BalanceChange.GetValue(wallet.Network) >= 0;
vm.Balance = tx.BalanceChange.ToString(); vm.Balance = tx.BalanceChange.ToString();
vm.IsConfirmed = tx.Confirmations != 0; vm.IsConfirmed = tx.Confirmations != 0;
@ -313,7 +313,7 @@ namespace BTCPayServer.Controllers
var feeProvider = _feeRateProvider.CreateFeeProvider(network); var feeProvider = _feeRateProvider.CreateFeeProvider(network);
var recommendedFees = feeProvider.GetFeeRateAsync(); var recommendedFees = feeProvider.GetFeeRateAsync();
var balance = _walletProvider.GetWallet(network).GetBalance(paymentMethod.AccountDerivation); var balance = _walletProvider.GetWallet(network).GetBalance(paymentMethod.AccountDerivation);
model.CurrentBalance = (await balance).ToDecimal(MoneyUnit.BTC); model.CurrentBalance = await balance;
model.RecommendedSatoshiPerByte = (int)(await recommendedFees).GetFee(1).Satoshi; model.RecommendedSatoshiPerByte = (int)(await recommendedFees).GetFee(1).Satoshi;
model.FeeSatoshiPerByte = model.RecommendedSatoshiPerByte; model.FeeSatoshiPerByte = model.RecommendedSatoshiPerByte;
model.SupportRBF = network.SupportRBF; model.SupportRBF = network.SupportRBF;

View file

@ -1,19 +1,18 @@
using System; using System;
using System.Linq;
using NBitcoin; using NBitcoin;
namespace BTCPayServer namespace BTCPayServer
{ {
public static class MoneyExtensions public static class MoneyExtensions
{ {
public static Money GetValue(this IMoney m, BTCPayNetwork network = null) public static decimal GetValue(this IMoney m, BTCPayNetwork network = null)
{ {
switch (m) switch (m)
{ {
case Money money: case Money money:
return money; return money.ToDecimal(MoneyUnit.BTC);
case MoneyBag mb: // case MoneyBag mb:
return mb.Select(money => money.GetValue(network)).Sum(); // return mb.Select(money => money.GetValue(network)).Sum();
// case AssetMoney assetMoney: // case AssetMoney assetMoney:
// if (network is ElementsBTCPayNetwork elementsBTCPayNetwork) // if (network is ElementsBTCPayNetwork elementsBTCPayNetwork)
// { // {

View file

@ -178,10 +178,10 @@ namespace BTCPayServer.Services.Wallets
}).ToArray(); }).ToArray();
} }
public async Task<Money> GetBalance(DerivationStrategyBase derivationStrategy, CancellationToken cancellation = default(CancellationToken)) public async Task<decimal> GetBalance(DerivationStrategyBase derivationStrategy, CancellationToken cancellation = default(CancellationToken))
{ {
UTXOChanges changes = await GetUTXOChanges(derivationStrategy, cancellation); var result = await _Client.GetBalanceAsync(derivationStrategy, cancellation);
return changes.GetUnspentUTXOs().Select(c => c.Value.GetValue(_Network)).Sum(); return result.Total.GetValue(_Network);
} }
} }
} }