mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Don't let people send more XRP than they have.
This commit is contained in:
@@ -1383,8 +1383,15 @@ TER LedgerEntrySet::accountSend(const uint160& uSenderID, const uint160& uReceiv
|
|||||||
|
|
||||||
if (sleSender)
|
if (sleSender)
|
||||||
{
|
{
|
||||||
sleSender->setFieldAmount(sfBalance, sleSender->getFieldAmount(sfBalance) - saAmount);
|
if (sleSender->getFieldAmount(sfBalance) < saAmount)
|
||||||
entryModify(sleSender);
|
{
|
||||||
|
terResult = isSetBit(mParams, tapOPEN_LEDGER) ? telFAILED_PROCESSING : tecFAILED_PROCESSING;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sleSender->setFieldAmount(sfBalance, sleSender->getFieldAmount(sfBalance) - saAmount);
|
||||||
|
entryModify(sleSender);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sleReceiver)
|
if (sleReceiver)
|
||||||
|
|||||||
@@ -2322,7 +2322,7 @@ TER RippleCalc::calcNodeAccountFwd(
|
|||||||
saCurDeliverAct = std::min(saCurDeliverAct, psCur.saInReq-psCur.saInAct);
|
saCurDeliverAct = std::min(saCurDeliverAct, psCur.saInReq-psCur.saInAct);
|
||||||
|
|
||||||
// Limit XRP by available. No limit for non-XRP as issuer.
|
// Limit XRP by available. No limit for non-XRP as issuer.
|
||||||
if (!uCurAccountID)
|
if (!uCurrencyID)
|
||||||
saCurDeliverAct = std::min(saCurDeliverAct, lesActive.accountHolds(uCurAccountID, CURRENCY_XRP, ACCOUNT_XRP));
|
saCurDeliverAct = std::min(saCurDeliverAct, lesActive.accountHolds(uCurAccountID, CURRENCY_XRP, ACCOUNT_XRP));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user