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());