From 031657878ec26ad731cbe9d402390482fba993bb Mon Sep 17 00:00:00 2001 From: catbref Date: Fri, 29 Mar 2019 10:56:46 +0000 Subject: [PATCH] Added safety feature to prevent negative balances --- src/main/java/org/qora/account/Account.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/qora/account/Account.java b/src/main/java/org/qora/account/Account.java index a3b64f54..d907629e 100644 --- a/src/main/java/org/qora/account/Account.java +++ b/src/main/java/org/qora/account/Account.java @@ -130,6 +130,13 @@ public class Account { } public void setConfirmedBalance(long assetId, BigDecimal balance) throws DataException { + // Safety feature! + if (balance.compareTo(BigDecimal.ZERO) < 0) { + String message = String.format("Refusing to set negative balance %s [assetId %d] for %s", balance.toPlainString(), assetId, this.address); + LOGGER.error(message); + throw new DataException(message); + } + // Can't have a balance without an account - make sure it exists! this.repository.getAccountRepository().ensureAccount(this.buildAccountData());