mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Disallow rippling to self.
This commit is contained in:
@@ -1337,13 +1337,18 @@ TER LedgerEntrySet::trustDelete(SLE::ref sleRippleState, const uint160& uLowAcco
|
|||||||
// Direct send w/o fees:
|
// Direct send w/o fees:
|
||||||
// - Redeeming IOUs and/or sending sender's own IOUs.
|
// - Redeeming IOUs and/or sending sender's own IOUs.
|
||||||
// - Create trust line of needed.
|
// - Create trust line of needed.
|
||||||
|
// --> bCheckIssuer : normally require issuer to be involved.
|
||||||
TER LedgerEntrySet::rippleCredit(const uint160& uSenderID, const uint160& uReceiverID, const STAmount& saAmount, bool bCheckIssuer)
|
TER LedgerEntrySet::rippleCredit(const uint160& uSenderID, const uint160& uReceiverID, const STAmount& saAmount, bool bCheckIssuer)
|
||||||
{
|
{
|
||||||
uint160 uIssuerID = saAmount.getIssuer();
|
uint160 uIssuerID = saAmount.getIssuer();
|
||||||
uint160 uCurrencyID = saAmount.getCurrency();
|
uint160 uCurrencyID = saAmount.getCurrency();
|
||||||
|
|
||||||
|
// Make sure issuer is involved.
|
||||||
assert(!bCheckIssuer || uSenderID == uIssuerID || uReceiverID == uIssuerID);
|
assert(!bCheckIssuer || uSenderID == uIssuerID || uReceiverID == uIssuerID);
|
||||||
|
|
||||||
|
// Disallow sending to self.
|
||||||
|
assert(uSenderID != uReceiverID);
|
||||||
|
|
||||||
bool bSenderHigh = uSenderID > uReceiverID;
|
bool bSenderHigh = uSenderID > uReceiverID;
|
||||||
uint256 uIndex = Ledger::getRippleStateIndex(uSenderID, uReceiverID, saAmount.getCurrency());
|
uint256 uIndex = Ledger::getRippleStateIndex(uSenderID, uReceiverID, saAmount.getCurrency());
|
||||||
SLE::pointer sleRippleState = entryCache(ltRIPPLE_STATE, uIndex);
|
SLE::pointer sleRippleState = entryCache(ltRIPPLE_STATE, uIndex);
|
||||||
@@ -1447,6 +1452,7 @@ TER LedgerEntrySet::rippleSend(const uint160& uSenderID, const uint160& uReceive
|
|||||||
TER terResult;
|
TER terResult;
|
||||||
|
|
||||||
assert(!!uSenderID && !!uReceiverID);
|
assert(!!uSenderID && !!uReceiverID);
|
||||||
|
assert(uSenderID != uReceiverID);
|
||||||
|
|
||||||
if (uSenderID == uIssuerID || uReceiverID == uIssuerID || uIssuerID == ACCOUNT_ONE)
|
if (uSenderID == uIssuerID || uReceiverID == uIssuerID || uIssuerID == ACCOUNT_ONE)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user