mirror of
https://github.com/boldsuck/haveno.git
synced 2024-12-22 20:19:21 +00:00
update locked -> pending balance
This commit is contained in:
parent
cb10a65a83
commit
f464110fb5
23 changed files with 72 additions and 72 deletions
|
@ -53,6 +53,7 @@ class BtcBalanceTableBuilder extends AbstractTableBuilder {
|
||||||
this.colLockedBalance = new SatoshiColumn(COL_HEADER_LOCKED_BALANCE);
|
this.colLockedBalance = new SatoshiColumn(COL_HEADER_LOCKED_BALANCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Table build() {
|
public Table build() {
|
||||||
BtcBalanceInfo balance = (BtcBalanceInfo) protos.get(0);
|
BtcBalanceInfo balance = (BtcBalanceInfo) protos.get(0);
|
||||||
|
|
||||||
|
|
|
@ -553,14 +553,14 @@ class CoreWalletsService {
|
||||||
if (reservedBalance == null)
|
if (reservedBalance == null)
|
||||||
throw new IllegalStateException("reserved balance is not yet available");
|
throw new IllegalStateException("reserved balance is not yet available");
|
||||||
|
|
||||||
var lockedBalance = balances.getLockedBalance().get();
|
var pendingBalance = balances.getPendingBalance().get();
|
||||||
if (lockedBalance == null)
|
if (pendingBalance == null)
|
||||||
throw new IllegalStateException("locked balance is not yet available");
|
throw new IllegalStateException("locked balance is not yet available");
|
||||||
|
|
||||||
return new BtcBalanceInfo(availableBalance.value,
|
return new BtcBalanceInfo(availableBalance.value,
|
||||||
reservedBalance.value,
|
reservedBalance.value,
|
||||||
availableBalance.add(reservedBalance).value,
|
availableBalance.add(reservedBalance).value,
|
||||||
lockedBalance.value);
|
pendingBalance.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private XmrBalanceInfo getXmrBalances() {
|
private XmrBalanceInfo getXmrBalances() {
|
||||||
|
@ -571,8 +571,8 @@ class CoreWalletsService {
|
||||||
if (availableBalance == null)
|
if (availableBalance == null)
|
||||||
throw new IllegalStateException("available balance is not yet available");
|
throw new IllegalStateException("available balance is not yet available");
|
||||||
|
|
||||||
var lockedBalance = balances.getLockedBalance().get();
|
var pendingBalance = balances.getPendingBalance().get();
|
||||||
if (lockedBalance == null)
|
if (pendingBalance == null)
|
||||||
throw new IllegalStateException("locked balance is not yet available");
|
throw new IllegalStateException("locked balance is not yet available");
|
||||||
|
|
||||||
var reservedOfferBalance = balances.getReservedOfferBalance().get();
|
var reservedOfferBalance = balances.getReservedOfferBalance().get();
|
||||||
|
@ -583,9 +583,9 @@ class CoreWalletsService {
|
||||||
if (reservedTradeBalance == null)
|
if (reservedTradeBalance == null)
|
||||||
throw new IllegalStateException("reserved trade balance is not yet available");
|
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(),
|
availableBalance.longValue(),
|
||||||
lockedBalance.longValue(),
|
pendingBalance.longValue(),
|
||||||
reservedOfferBalance.longValue(),
|
reservedOfferBalance.longValue(),
|
||||||
reservedTradeBalance.longValue());
|
reservedTradeBalance.longValue());
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,8 @@ public class XmrBalanceInfo implements Payload {
|
||||||
|
|
||||||
// all balances are in atomic units
|
// all balances are in atomic units
|
||||||
private final long balance;
|
private final long balance;
|
||||||
private final long unlockedBalance;
|
private final long availableBalance;
|
||||||
private final long lockedBalance;
|
private final long pendingBalance;
|
||||||
private final long reservedOfferBalance;
|
private final long reservedOfferBalance;
|
||||||
private final long reservedTradeBalance;
|
private final long reservedTradeBalance;
|
||||||
|
|
||||||
|
@ -28,21 +28,21 @@ public class XmrBalanceInfo implements Payload {
|
||||||
long reservedOfferBalance,
|
long reservedOfferBalance,
|
||||||
long reservedTradeBalance) {
|
long reservedTradeBalance) {
|
||||||
this.balance = balance;
|
this.balance = balance;
|
||||||
this.unlockedBalance = unlockedBalance;
|
this.availableBalance = unlockedBalance;
|
||||||
this.lockedBalance = lockedBalance;
|
this.pendingBalance = lockedBalance;
|
||||||
this.reservedOfferBalance = reservedOfferBalance;
|
this.reservedOfferBalance = reservedOfferBalance;
|
||||||
this.reservedTradeBalance = reservedTradeBalance;
|
this.reservedTradeBalance = reservedTradeBalance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public static XmrBalanceInfo valueOf(long balance,
|
public static XmrBalanceInfo valueOf(long balance,
|
||||||
long unlockedBalance,
|
long availableBalance,
|
||||||
long lockedBalance,
|
long pendingBalance,
|
||||||
long reservedOfferBalance,
|
long reservedOfferBalance,
|
||||||
long reservedTradeBalance) {
|
long reservedTradeBalance) {
|
||||||
return new XmrBalanceInfo(balance,
|
return new XmrBalanceInfo(balance,
|
||||||
unlockedBalance,
|
availableBalance,
|
||||||
lockedBalance,
|
pendingBalance,
|
||||||
reservedOfferBalance,
|
reservedOfferBalance,
|
||||||
reservedTradeBalance);
|
reservedTradeBalance);
|
||||||
}
|
}
|
||||||
|
@ -55,8 +55,8 @@ public class XmrBalanceInfo implements Payload {
|
||||||
public bisq.proto.grpc.XmrBalanceInfo toProtoMessage() {
|
public bisq.proto.grpc.XmrBalanceInfo toProtoMessage() {
|
||||||
return bisq.proto.grpc.XmrBalanceInfo.newBuilder()
|
return bisq.proto.grpc.XmrBalanceInfo.newBuilder()
|
||||||
.setBalance(balance)
|
.setBalance(balance)
|
||||||
.setUnlockedBalance(unlockedBalance)
|
.setAvailableBalance(availableBalance)
|
||||||
.setLockedBalance(lockedBalance)
|
.setPendingBalance(pendingBalance)
|
||||||
.setReservedOfferBalance(reservedOfferBalance)
|
.setReservedOfferBalance(reservedOfferBalance)
|
||||||
.setReservedTradeBalance(reservedTradeBalance)
|
.setReservedTradeBalance(reservedTradeBalance)
|
||||||
.build();
|
.build();
|
||||||
|
@ -64,8 +64,8 @@ public class XmrBalanceInfo implements Payload {
|
||||||
|
|
||||||
public static XmrBalanceInfo fromProto(bisq.proto.grpc.XmrBalanceInfo proto) {
|
public static XmrBalanceInfo fromProto(bisq.proto.grpc.XmrBalanceInfo proto) {
|
||||||
return new XmrBalanceInfo(proto.getBalance(),
|
return new XmrBalanceInfo(proto.getBalance(),
|
||||||
proto.getUnlockedBalance(),
|
proto.getAvailableBalance(),
|
||||||
proto.getLockedBalance(),
|
proto.getPendingBalance(),
|
||||||
proto.getReservedOfferBalance(),
|
proto.getReservedOfferBalance(),
|
||||||
proto.getReservedTradeBalance());
|
proto.getReservedTradeBalance());
|
||||||
}
|
}
|
||||||
|
@ -74,8 +74,8 @@ public class XmrBalanceInfo implements Payload {
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "XmrBalanceInfo{" +
|
return "XmrBalanceInfo{" +
|
||||||
"balance=" + balance +
|
"balance=" + balance +
|
||||||
"unlockedBalance=" + unlockedBalance +
|
"unlockedBalance=" + availableBalance +
|
||||||
", lockedBalance=" + lockedBalance +
|
", lockedBalance=" + pendingBalance +
|
||||||
", reservedOfferBalance=" + reservedOfferBalance +
|
", reservedOfferBalance=" + reservedOfferBalance +
|
||||||
", reservedTradeBalance=" + reservedTradeBalance +
|
", reservedTradeBalance=" + reservedTradeBalance +
|
||||||
'}';
|
'}';
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class Balances {
|
||||||
@Getter
|
@Getter
|
||||||
private final ObjectProperty<Coin> availableBalance = new SimpleObjectProperty<>();
|
private final ObjectProperty<Coin> availableBalance = new SimpleObjectProperty<>();
|
||||||
@Getter
|
@Getter
|
||||||
private final ObjectProperty<Coin> lockedBalance = new SimpleObjectProperty<>();
|
private final ObjectProperty<Coin> pendingBalance = new SimpleObjectProperty<>();
|
||||||
@Getter
|
@Getter
|
||||||
private final ObjectProperty<Coin> reservedOfferBalance = new SimpleObjectProperty<>();
|
private final ObjectProperty<Coin> reservedOfferBalance = new SimpleObjectProperty<>();
|
||||||
@Getter
|
@Getter
|
||||||
|
@ -98,7 +98,7 @@ public class Balances {
|
||||||
// Need to delay a bit to get the balances correct
|
// 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
|
UserThread.execute(() -> { // TODO (woodser): running on user thread because JFX properties updated for legacy app
|
||||||
updateAvailableBalance();
|
updateAvailableBalance();
|
||||||
updateLockedBalance();
|
updatePendingBalance();
|
||||||
updateReservedOfferBalance();
|
updateReservedOfferBalance();
|
||||||
updateReservedTradeBalance();
|
updateReservedTradeBalance();
|
||||||
updateReservedBalance();
|
updateReservedBalance();
|
||||||
|
@ -111,10 +111,10 @@ public class Balances {
|
||||||
availableBalance.set(Coin.valueOf(xmrWalletService.getWallet() == null ? 0 : xmrWalletService.getWallet().getUnlockedBalance(0).longValueExact()));
|
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 balance = xmrWalletService.getWallet() == null ? new BigInteger("0") : xmrWalletService.getWallet().getBalance(0);
|
||||||
BigInteger unlockedBalance = xmrWalletService.getWallet() == null ? new BigInteger("0") : xmrWalletService.getWallet().getUnlockedBalance(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() {
|
private void updateReservedOfferBalance() {
|
||||||
|
|
|
@ -36,22 +36,21 @@ public class BalancePresentation {
|
||||||
@Getter
|
@Getter
|
||||||
private final StringProperty availableBalance = new SimpleStringProperty();
|
private final StringProperty availableBalance = new SimpleStringProperty();
|
||||||
@Getter
|
@Getter
|
||||||
private final StringProperty reservedBalance = new SimpleStringProperty();
|
private final StringProperty pendingBalance = new SimpleStringProperty();
|
||||||
@Getter
|
@Getter
|
||||||
private final StringProperty lockedBalance = new SimpleStringProperty();
|
private final StringProperty reservedBalance = new SimpleStringProperty();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public BalancePresentation(Balances balances) {
|
public BalancePresentation(Balances balances) {
|
||||||
balances.getAvailableBalance().addListener((observable, oldValue, newValue) -> {
|
balances.getAvailableBalance().addListener((observable, oldValue, newValue) -> {
|
||||||
availableBalance.set(longToXmr(newValue.value));
|
availableBalance.set(longToXmr(newValue.value));
|
||||||
});
|
});
|
||||||
|
balances.getPendingBalance().addListener((observable, oldValue, newValue) -> {
|
||||||
|
pendingBalance.set(longToXmr(newValue.value));
|
||||||
|
});
|
||||||
balances.getReservedBalance().addListener((observable, oldValue, newValue) -> {
|
balances.getReservedBalance().addListener((observable, oldValue, newValue) -> {
|
||||||
reservedBalance.set(longToXmr(newValue.value));
|
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?
|
// TODO: truncate full precision with ellipses to not break layout?
|
||||||
|
|
|
@ -251,9 +251,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=There is no market price from ext
|
||||||
mainView.marketPrice.tooltip=Market price is provided by {0}{1}\nLast update: {2}\nProvider node URL: {3}
|
mainView.marketPrice.tooltip=Market price is provided by {0}{1}\nLast update: {2}\nProvider node URL: {3}
|
||||||
mainView.balance.available=Available balance
|
mainView.balance.available=Available balance
|
||||||
mainView.balance.reserved=Reserved in offers
|
mainView.balance.reserved=Reserved in offers
|
||||||
mainView.balance.locked=Locked in trades
|
mainView.balance.pending=Pending balance
|
||||||
mainView.balance.reserved.short=Reserved
|
mainView.balance.reserved.short=Reserved
|
||||||
mainView.balance.locked.short=Locked
|
mainView.balance.pending.short=Pending
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Neexistují tržní ceny od exter
|
||||||
mainView.marketPrice.tooltip=Tržní cena je poskytována {0}{1}\nPoslední aktualizace: {2}\nURL uzlu poskytovatele: {3}
|
mainView.marketPrice.tooltip=Tržní cena je poskytována {0}{1}\nPoslední aktualizace: {2}\nURL uzlu poskytovatele: {3}
|
||||||
mainView.balance.available=Dostupný zůstatek
|
mainView.balance.available=Dostupný zůstatek
|
||||||
mainView.balance.reserved=Rezervováno v nabídkách
|
mainView.balance.reserved=Rezervováno v nabídkách
|
||||||
mainView.balance.locked=Zamčené v obchodech
|
mainView.balance.pending=Zamčené v obchodech
|
||||||
mainView.balance.reserved.short=Rezervováno
|
mainView.balance.reserved.short=Rezervováno
|
||||||
mainView.balance.locked.short=Zamčeno
|
mainView.balance.pending.short=Zamčeno
|
||||||
|
|
||||||
mainView.footer.usingTor=(přes Tor)
|
mainView.footer.usingTor=(přes Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Es ist kein Marktpreis von extern
|
||||||
mainView.marketPrice.tooltip=Marktpreis bereitgestellt von {0}{1}\nLetzte Aktualisierung: {2}\nURL des Knoten-Anbieters: {3}
|
mainView.marketPrice.tooltip=Marktpreis bereitgestellt von {0}{1}\nLetzte Aktualisierung: {2}\nURL des Knoten-Anbieters: {3}
|
||||||
mainView.balance.available=Verfügbarer Betrag
|
mainView.balance.available=Verfügbarer Betrag
|
||||||
mainView.balance.reserved=In Angeboten reserviert
|
mainView.balance.reserved=In Angeboten reserviert
|
||||||
mainView.balance.locked=In Trades gesperrt
|
mainView.balance.pending=In Trades gesperrt
|
||||||
mainView.balance.reserved.short=Reserviert
|
mainView.balance.reserved.short=Reserviert
|
||||||
mainView.balance.locked.short=Gesperrt
|
mainView.balance.pending.short=Gesperrt
|
||||||
|
|
||||||
mainView.footer.usingTor=(über Tor)
|
mainView.footer.usingTor=(über Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=No existe un precio de mercado di
|
||||||
mainView.marketPrice.tooltip=Precio de mercado ofrecido por {0}{1}\nÚltima actualización: {2}\nURL del nodo proveedor: {3}
|
mainView.marketPrice.tooltip=Precio de mercado ofrecido por {0}{1}\nÚltima actualización: {2}\nURL del nodo proveedor: {3}
|
||||||
mainView.balance.available=Saldo disponible
|
mainView.balance.available=Saldo disponible
|
||||||
mainView.balance.reserved=Reservado en ofertas
|
mainView.balance.reserved=Reservado en ofertas
|
||||||
mainView.balance.locked=Bloqueado en intercambios
|
mainView.balance.pending=Bloqueado en intercambios
|
||||||
mainView.balance.reserved.short=Reservado
|
mainView.balance.reserved.short=Reservado
|
||||||
mainView.balance.locked.short=Bloqueado
|
mainView.balance.pending.short=Bloqueado
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=قیمت بازارهای خار
|
||||||
mainView.marketPrice.tooltip=قیمت بازار توسط {0}{1} ارائه شده است\nآخرین به روز رسانی: {2}\nURL لینک Node ارائه دهنده: {3}
|
mainView.marketPrice.tooltip=قیمت بازار توسط {0}{1} ارائه شده است\nآخرین به روز رسانی: {2}\nURL لینک Node ارائه دهنده: {3}
|
||||||
mainView.balance.available=موجودی در دسترس
|
mainView.balance.available=موجودی در دسترس
|
||||||
mainView.balance.reserved=رزرو شده در پیشنهادها
|
mainView.balance.reserved=رزرو شده در پیشنهادها
|
||||||
mainView.balance.locked=قفل شده در معاملات
|
mainView.balance.pending=قفل شده در معاملات
|
||||||
mainView.balance.reserved.short=اندوخته
|
mainView.balance.reserved.short=اندوخته
|
||||||
mainView.balance.locked.short=قفل شده
|
mainView.balance.pending.short=قفل شده
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(لوکال هاست)
|
mainView.footer.localhostBitcoinNode=(لوکال هاست)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Il n'y a pas de cours de marché
|
||||||
mainView.marketPrice.tooltip=Le prix de marché est fourni par {0}{1}\nDernière mise à jour: {2}\nURL du noeud: {3}
|
mainView.marketPrice.tooltip=Le prix de marché est fourni par {0}{1}\nDernière mise à jour: {2}\nURL du noeud: {3}
|
||||||
mainView.balance.available=Solde disponible
|
mainView.balance.available=Solde disponible
|
||||||
mainView.balance.reserved=Réservé en ordres
|
mainView.balance.reserved=Réservé en ordres
|
||||||
mainView.balance.locked=Bloqué en transactions
|
mainView.balance.pending=Bloqué en transactions
|
||||||
mainView.balance.reserved.short=Réservé
|
mainView.balance.reserved.short=Réservé
|
||||||
mainView.balance.locked.short=Vérouillé
|
mainView.balance.pending.short=Vérouillé
|
||||||
|
|
||||||
mainView.footer.usingTor=(à travers Tor)
|
mainView.footer.usingTor=(à travers Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Non è disponibile alcun prezzo d
|
||||||
mainView.marketPrice.tooltip=Il prezzo di mercato é fornito da {0}{1}\nUltimo aggiornamento: {2}\nURL del nodo del provider: {3}
|
mainView.marketPrice.tooltip=Il prezzo di mercato é fornito da {0}{1}\nUltimo aggiornamento: {2}\nURL del nodo del provider: {3}
|
||||||
mainView.balance.available=Saldo disponibile
|
mainView.balance.available=Saldo disponibile
|
||||||
mainView.balance.reserved=Riservati nelle offerte
|
mainView.balance.reserved=Riservati nelle offerte
|
||||||
mainView.balance.locked=Bloccati in scambi
|
mainView.balance.pending=Bloccati in scambi
|
||||||
mainView.balance.reserved.short=Riservati
|
mainView.balance.reserved.short=Riservati
|
||||||
mainView.balance.locked.short=Bloccati
|
mainView.balance.pending.short=Bloccati
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=利用可能な外部価格フィ
|
||||||
mainView.marketPrice.tooltip=市場価格は{0}{1}に提供されています\n最終更新: {2}\n提供者のノードのURL: {3}
|
mainView.marketPrice.tooltip=市場価格は{0}{1}に提供されています\n最終更新: {2}\n提供者のノードのURL: {3}
|
||||||
mainView.balance.available=利用可能残高
|
mainView.balance.available=利用可能残高
|
||||||
mainView.balance.reserved=オファーのために予約済み
|
mainView.balance.reserved=オファーのために予約済み
|
||||||
mainView.balance.locked=トレードにロック中
|
mainView.balance.pending=トレードにロック中
|
||||||
mainView.balance.reserved.short=予約済
|
mainView.balance.reserved.short=予約済
|
||||||
mainView.balance.locked.short=ロック中
|
mainView.balance.pending.short=ロック中
|
||||||
|
|
||||||
mainView.footer.usingTor=(Tor経由で)
|
mainView.footer.usingTor=(Tor経由で)
|
||||||
mainView.footer.localhostBitcoinNode=(ローカルホスト)
|
mainView.footer.localhostBitcoinNode=(ローカルホスト)
|
||||||
|
|
|
@ -246,9 +246,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Não foi encontrado preço de mer
|
||||||
mainView.marketPrice.tooltip=Preço de Mercado fornecido por {0}{1}\nÚltima atualização: {2}\nURL do provedor: {3}
|
mainView.marketPrice.tooltip=Preço de Mercado fornecido por {0}{1}\nÚltima atualização: {2}\nURL do provedor: {3}
|
||||||
mainView.balance.available=Saldo disponível
|
mainView.balance.available=Saldo disponível
|
||||||
mainView.balance.reserved=Reservado em ofertas
|
mainView.balance.reserved=Reservado em ofertas
|
||||||
mainView.balance.locked=Travado em negociações
|
mainView.balance.pending=Travado em negociações
|
||||||
mainView.balance.reserved.short=Reservado
|
mainView.balance.reserved.short=Reservado
|
||||||
mainView.balance.locked.short=Travado
|
mainView.balance.pending.short=Travado
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Não há preço de mercado de for
|
||||||
mainView.marketPrice.tooltip=O preço de mercado é fornecido por {0} {1}\nÚltima atualização: {2}\nURL do nó do provedor: {3}
|
mainView.marketPrice.tooltip=O preço de mercado é fornecido por {0} {1}\nÚltima atualização: {2}\nURL do nó do provedor: {3}
|
||||||
mainView.balance.available=Saldo disponível
|
mainView.balance.available=Saldo disponível
|
||||||
mainView.balance.reserved=Reservado em ofertas
|
mainView.balance.reserved=Reservado em ofertas
|
||||||
mainView.balance.locked=Bloqueado em negócios
|
mainView.balance.pending=Bloqueado em negócios
|
||||||
mainView.balance.reserved.short=Reservado
|
mainView.balance.reserved.short=Reservado
|
||||||
mainView.balance.locked.short=Bloqueado
|
mainView.balance.pending.short=Bloqueado
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(localhost)
|
mainView.footer.localhostBitcoinNode=(localhost)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Нет данных от исто
|
||||||
mainView.marketPrice.tooltip=Рыночный курс предоставлен {0}{1}\nОбновление: {2}\nURL источника данных: {3}
|
mainView.marketPrice.tooltip=Рыночный курс предоставлен {0}{1}\nОбновление: {2}\nURL источника данных: {3}
|
||||||
mainView.balance.available=Доступный баланс
|
mainView.balance.available=Доступный баланс
|
||||||
mainView.balance.reserved=Выделено на предложения
|
mainView.balance.reserved=Выделено на предложения
|
||||||
mainView.balance.locked=Используется в сделках
|
mainView.balance.pending=Используется в сделках
|
||||||
mainView.balance.reserved.short=Выделено
|
mainView.balance.reserved.short=Выделено
|
||||||
mainView.balance.locked.short=В сделках
|
mainView.balance.pending.short=В сделках
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(локальный узел)
|
mainView.footer.localhostBitcoinNode=(локальный узел)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=ไม่มีราคาตล
|
||||||
mainView.marketPrice.tooltip=ราคาตลาดจัดทำโดย {0} {1} \nอัปเดตล่าสุด: {2} \nnode URL ของผู้ให้บริการ: {3}
|
mainView.marketPrice.tooltip=ราคาตลาดจัดทำโดย {0} {1} \nอัปเดตล่าสุด: {2} \nnode URL ของผู้ให้บริการ: {3}
|
||||||
mainView.balance.available=ยอดคงเหลือที่พร้อมใช้งาน
|
mainView.balance.available=ยอดคงเหลือที่พร้อมใช้งาน
|
||||||
mainView.balance.reserved=ข้อเสนอได้รับการจองแล้ว
|
mainView.balance.reserved=ข้อเสนอได้รับการจองแล้ว
|
||||||
mainView.balance.locked=ล็อคในการซื้อขาย
|
mainView.balance.pending=ล็อคในการซื้อขาย
|
||||||
mainView.balance.reserved.short=จองแล้ว
|
mainView.balance.reserved.short=จองแล้ว
|
||||||
mainView.balance.locked.short=ถูกล็อคไว้
|
mainView.balance.pending.short=ถูกล็อคไว้
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(แม่ข่ายเฉพาะที่)
|
mainView.footer.localhostBitcoinNode=(แม่ข่ายเฉพาะที่)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=Không có giá thị trường t
|
||||||
mainView.marketPrice.tooltip=Giá thị trường được cung cấp bởi {0}{1}\nCập nhật mới nhất: {2}\nURL nút nhà cung cấp: {3}
|
mainView.marketPrice.tooltip=Giá thị trường được cung cấp bởi {0}{1}\nCập nhật mới nhất: {2}\nURL nút nhà cung cấp: {3}
|
||||||
mainView.balance.available=Số dư hiện có
|
mainView.balance.available=Số dư hiện có
|
||||||
mainView.balance.reserved=Phần được bảo lưu trong báo giá
|
mainView.balance.reserved=Phần được bảo lưu trong báo giá
|
||||||
mainView.balance.locked=Khóa trong giao dịch
|
mainView.balance.pending=Khóa trong giao dịch
|
||||||
mainView.balance.reserved.short=Bảo lưu
|
mainView.balance.reserved.short=Bảo lưu
|
||||||
mainView.balance.locked.short=Bị khóa
|
mainView.balance.pending.short=Bị khóa
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(Máy chủ nội bộ)
|
mainView.footer.localhostBitcoinNode=(Máy chủ nội bộ)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=外部交易所供应商没有可
|
||||||
mainView.marketPrice.tooltip=交易所价格提供者 {0}{1}\n最后更新:{2}\n提供者节点 URL:{3}
|
mainView.marketPrice.tooltip=交易所价格提供者 {0}{1}\n最后更新:{2}\n提供者节点 URL:{3}
|
||||||
mainView.balance.available=可用余额
|
mainView.balance.available=可用余额
|
||||||
mainView.balance.reserved=保证金
|
mainView.balance.reserved=保证金
|
||||||
mainView.balance.locked=冻结余额
|
mainView.balance.pending=冻结余额
|
||||||
mainView.balance.reserved.short=保证
|
mainView.balance.reserved.short=保证
|
||||||
mainView.balance.locked.short=冻结
|
mainView.balance.pending.short=冻结
|
||||||
|
|
||||||
mainView.footer.usingTor=(通过 Tor)
|
mainView.footer.usingTor=(通过 Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(本地主机)
|
mainView.footer.localhostBitcoinNode=(本地主机)
|
||||||
|
|
|
@ -243,9 +243,9 @@ mainView.marketPrice.tooltip.bisqInternalPrice=外部交易所供應商沒有可
|
||||||
mainView.marketPrice.tooltip=交易所價格提供者 {0}{1}\n最後更新:{2}\n提供者節點 URL:{3}
|
mainView.marketPrice.tooltip=交易所價格提供者 {0}{1}\n最後更新:{2}\n提供者節點 URL:{3}
|
||||||
mainView.balance.available=可用餘額
|
mainView.balance.available=可用餘額
|
||||||
mainView.balance.reserved=保證金
|
mainView.balance.reserved=保證金
|
||||||
mainView.balance.locked=凍結餘額
|
mainView.balance.pending=凍結餘額
|
||||||
mainView.balance.reserved.short=保證
|
mainView.balance.reserved.short=保證
|
||||||
mainView.balance.locked.short=凍結
|
mainView.balance.pending.short=凍結
|
||||||
|
|
||||||
mainView.footer.usingTor=(via Tor)
|
mainView.footer.usingTor=(via Tor)
|
||||||
mainView.footer.localhostBitcoinNode=(本地主機)
|
mainView.footer.localhostBitcoinNode=(本地主機)
|
||||||
|
|
|
@ -278,21 +278,21 @@ public class MainView extends InitializableView<StackPane, MainViewModel> {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
Tuple2<Label, VBox> lockedBalanceBox = getBalanceBox(Res.get("mainView.balance.locked.short"));
|
Tuple2<Label, VBox> pendingBalanceBox = getBalanceBox(Res.get("mainView.balance.pending.short"));
|
||||||
lockedBalanceBox.first.textProperty().bind(model.getLockedBalance());
|
pendingBalanceBox.first.textProperty().bind(model.getPendingBalance());
|
||||||
lockedBalanceBox.first.tooltipProperty().bind(new ObjectBinding<>() {
|
pendingBalanceBox.first.tooltipProperty().bind(new ObjectBinding<>() {
|
||||||
{
|
{
|
||||||
bind(model.getLockedBalance());
|
bind(model.getPendingBalance());
|
||||||
bind(model.getMarketPrice());
|
bind(model.getMarketPrice());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Tooltip computeValue() {
|
protected Tooltip computeValue() {
|
||||||
String tooltipText = Res.get("mainView.balance.locked");
|
String tooltipText = Res.get("mainView.balance.pending");
|
||||||
try {
|
try {
|
||||||
String preferredTradeCurrency = model.getPreferences().getPreferredTradeCurrency().getCode();
|
String preferredTradeCurrency = model.getPreferences().getPreferredTradeCurrency().getCode();
|
||||||
double lockedBalance = Double.parseDouble(
|
double lockedBalance = Double.parseDouble(
|
||||||
model.getLockedBalance().getValue().replace("XMR", ""));
|
model.getPendingBalance().getValue().replace("XMR", ""));
|
||||||
double marketPrice = Double.parseDouble(model.getMarketPrice(preferredTradeCurrency).getValue());
|
double marketPrice = Double.parseDouble(model.getMarketPrice(preferredTradeCurrency).getValue());
|
||||||
tooltipText += "\n" + currencyFormat.format(lockedBalance * marketPrice) +
|
tooltipText += "\n" + currencyFormat.format(lockedBalance * marketPrice) +
|
||||||
" " + preferredTradeCurrency;
|
" " + preferredTradeCurrency;
|
||||||
|
@ -318,7 +318,7 @@ public class MainView extends InitializableView<StackPane, MainViewModel> {
|
||||||
secondaryNav.setAlignment(Pos.CENTER);
|
secondaryNav.setAlignment(Pos.CENTER);
|
||||||
|
|
||||||
HBox priceAndBalance = new HBox(marketPriceBox.second, getNavigationSeparator(), availableBalanceBox.second,
|
HBox priceAndBalance = new HBox(marketPriceBox.second, getNavigationSeparator(), availableBalanceBox.second,
|
||||||
getNavigationSeparator(), lockedBalanceBox.second, getNavigationSeparator(), reservedBalanceBox.second);
|
getNavigationSeparator(), pendingBalanceBox.second, getNavigationSeparator(), reservedBalanceBox.second);
|
||||||
priceAndBalance.setMaxHeight(41);
|
priceAndBalance.setMaxHeight(41);
|
||||||
|
|
||||||
priceAndBalance.setAlignment(Pos.CENTER);
|
priceAndBalance.setAlignment(Pos.CENTER);
|
||||||
|
|
|
@ -653,8 +653,8 @@ public class MainViewModel implements ViewModel, HavenoSetup.HavenoSetupListener
|
||||||
return balancePresentation.getReservedBalance();
|
return balancePresentation.getReservedBalance();
|
||||||
}
|
}
|
||||||
|
|
||||||
StringProperty getLockedBalance() {
|
StringProperty getPendingBalance() {
|
||||||
return balancePresentation.getLockedBalance();
|
return balancePresentation.getPendingBalance();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1126,8 +1126,8 @@ message BtcBalanceInfo {
|
||||||
|
|
||||||
message XmrBalanceInfo {
|
message XmrBalanceInfo {
|
||||||
uint64 balance = 1 [jstype = JS_STRING];
|
uint64 balance = 1 [jstype = JS_STRING];
|
||||||
uint64 unlocked_balance = 2 [jstype = JS_STRING];
|
uint64 available_balance = 2 [jstype = JS_STRING];
|
||||||
uint64 locked_balance = 3 [jstype = JS_STRING];
|
uint64 pending_balance = 3 [jstype = JS_STRING];
|
||||||
uint64 reserved_offer_balance = 4 [jstype = JS_STRING];
|
uint64 reserved_offer_balance = 4 [jstype = JS_STRING];
|
||||||
uint64 reserved_trade_balance = 5 [jstype = JS_STRING];
|
uint64 reserved_trade_balance = 5 [jstype = JS_STRING];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue