update locked -> pending balance

This commit is contained in:
woodser 2022-08-17 11:50:30 -04:00
parent cb10a65a83
commit f464110fb5
23 changed files with 72 additions and 72 deletions

View file

@ -553,14 +553,14 @@ class CoreWalletsService {
if (reservedBalance == null)
throw new IllegalStateException("reserved balance is not yet available");
var lockedBalance = balances.getLockedBalance().get();
if (lockedBalance == null)
var pendingBalance = balances.getPendingBalance().get();
if (pendingBalance == null)
throw new IllegalStateException("locked balance is not yet available");
return new BtcBalanceInfo(availableBalance.value,
reservedBalance.value,
availableBalance.add(reservedBalance).value,
lockedBalance.value);
pendingBalance.value);
}
private XmrBalanceInfo getXmrBalances() {
@ -571,8 +571,8 @@ class CoreWalletsService {
if (availableBalance == null)
throw new IllegalStateException("available balance is not yet available");
var lockedBalance = balances.getLockedBalance().get();
if (lockedBalance == null)
var pendingBalance = balances.getPendingBalance().get();
if (pendingBalance == null)
throw new IllegalStateException("locked balance is not yet available");
var reservedOfferBalance = balances.getReservedOfferBalance().get();
@ -583,9 +583,9 @@ class CoreWalletsService {
if (reservedTradeBalance == null)
throw new IllegalStateException("reserved trade balance is not yet available");
return new XmrBalanceInfo(availableBalance.longValue() + lockedBalance.longValue(),
return new XmrBalanceInfo(availableBalance.longValue() + pendingBalance.longValue(),
availableBalance.longValue(),
lockedBalance.longValue(),
pendingBalance.longValue(),
reservedOfferBalance.longValue(),
reservedTradeBalance.longValue());
}

View file

@ -17,8 +17,8 @@ public class XmrBalanceInfo implements Payload {
// all balances are in atomic units
private final long balance;
private final long unlockedBalance;
private final long lockedBalance;
private final long availableBalance;
private final long pendingBalance;
private final long reservedOfferBalance;
private final long reservedTradeBalance;
@ -28,21 +28,21 @@ public class XmrBalanceInfo implements Payload {
long reservedOfferBalance,
long reservedTradeBalance) {
this.balance = balance;
this.unlockedBalance = unlockedBalance;
this.lockedBalance = lockedBalance;
this.availableBalance = unlockedBalance;
this.pendingBalance = lockedBalance;
this.reservedOfferBalance = reservedOfferBalance;
this.reservedTradeBalance = reservedTradeBalance;
}
@VisibleForTesting
public static XmrBalanceInfo valueOf(long balance,
long unlockedBalance,
long lockedBalance,
long availableBalance,
long pendingBalance,
long reservedOfferBalance,
long reservedTradeBalance) {
return new XmrBalanceInfo(balance,
unlockedBalance,
lockedBalance,
availableBalance,
pendingBalance,
reservedOfferBalance,
reservedTradeBalance);
}
@ -55,8 +55,8 @@ public class XmrBalanceInfo implements Payload {
public bisq.proto.grpc.XmrBalanceInfo toProtoMessage() {
return bisq.proto.grpc.XmrBalanceInfo.newBuilder()
.setBalance(balance)
.setUnlockedBalance(unlockedBalance)
.setLockedBalance(lockedBalance)
.setAvailableBalance(availableBalance)
.setPendingBalance(pendingBalance)
.setReservedOfferBalance(reservedOfferBalance)
.setReservedTradeBalance(reservedTradeBalance)
.build();
@ -64,8 +64,8 @@ public class XmrBalanceInfo implements Payload {
public static XmrBalanceInfo fromProto(bisq.proto.grpc.XmrBalanceInfo proto) {
return new XmrBalanceInfo(proto.getBalance(),
proto.getUnlockedBalance(),
proto.getLockedBalance(),
proto.getAvailableBalance(),
proto.getPendingBalance(),
proto.getReservedOfferBalance(),
proto.getReservedTradeBalance());
}
@ -74,8 +74,8 @@ public class XmrBalanceInfo implements Payload {
public String toString() {
return "XmrBalanceInfo{" +
"balance=" + balance +
"unlockedBalance=" + unlockedBalance +
", lockedBalance=" + lockedBalance +
"unlockedBalance=" + availableBalance +
", lockedBalance=" + pendingBalance +
", reservedOfferBalance=" + reservedOfferBalance +
", reservedTradeBalance=" + reservedTradeBalance +
'}';

View file

@ -58,7 +58,7 @@ public class Balances {
@Getter
private final ObjectProperty<Coin> availableBalance = new SimpleObjectProperty<>();
@Getter
private final ObjectProperty<Coin> lockedBalance = new SimpleObjectProperty<>();
private final ObjectProperty<Coin> pendingBalance = new SimpleObjectProperty<>();
@Getter
private final ObjectProperty<Coin> reservedOfferBalance = new SimpleObjectProperty<>();
@Getter
@ -98,7 +98,7 @@ public class Balances {
// Need to delay a bit to get the balances correct
UserThread.execute(() -> { // TODO (woodser): running on user thread because JFX properties updated for legacy app
updateAvailableBalance();
updateLockedBalance();
updatePendingBalance();
updateReservedOfferBalance();
updateReservedTradeBalance();
updateReservedBalance();
@ -111,10 +111,10 @@ public class Balances {
availableBalance.set(Coin.valueOf(xmrWalletService.getWallet() == null ? 0 : xmrWalletService.getWallet().getUnlockedBalance(0).longValueExact()));
}
private void updateLockedBalance() {
private void updatePendingBalance() {
BigInteger balance = xmrWalletService.getWallet() == null ? new BigInteger("0") : xmrWalletService.getWallet().getBalance(0);
BigInteger unlockedBalance = xmrWalletService.getWallet() == null ? new BigInteger("0") : xmrWalletService.getWallet().getUnlockedBalance(0);
lockedBalance.set(Coin.valueOf(balance.subtract(unlockedBalance).longValueExact()));
pendingBalance.set(Coin.valueOf(balance.subtract(unlockedBalance).longValueExact()));
}
private void updateReservedOfferBalance() {

View file

@ -36,22 +36,21 @@ public class BalancePresentation {
@Getter
private final StringProperty availableBalance = new SimpleStringProperty();
@Getter
private final StringProperty reservedBalance = new SimpleStringProperty();
private final StringProperty pendingBalance = new SimpleStringProperty();
@Getter
private final StringProperty lockedBalance = new SimpleStringProperty();
private final StringProperty reservedBalance = new SimpleStringProperty();
@Inject
public BalancePresentation(Balances balances) {
balances.getAvailableBalance().addListener((observable, oldValue, newValue) -> {
availableBalance.set(longToXmr(newValue.value));
});
balances.getPendingBalance().addListener((observable, oldValue, newValue) -> {
pendingBalance.set(longToXmr(newValue.value));
});
balances.getReservedBalance().addListener((observable, oldValue, newValue) -> {
reservedBalance.set(longToXmr(newValue.value));
});
balances.getLockedBalance().addListener((observable, oldValue, newValue) -> {
lockedBalance.set(longToXmr(newValue.value));
});
}
// TODO: truncate full precision with ellipses to not break layout?