mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-21 04:38:51 -04:00
update locked -> pending balance
This commit is contained in:
parent
cb10a65a83
commit
f464110fb5
23 changed files with 72 additions and 72 deletions
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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 +
|
||||
'}';
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue