Invariant: A transaction must not create XRP and should only destroy XRP, up to the transaction fee.
class XRPNotCreated
Name |
Description |
---|---|
For this check, we start with a signed 64-bit integer set to zero. As we go through the ledger entries, look only at account roots, escrow payments, and payment channels. Remove from the total any previous XRP values and add to the total any new XRP values. The net balance of a payment channel is computed from two fields (amount and balance) and deletions are ignored for paychan and escrow because the amount fields have not been adjusted for those in the case of deletion.
The final total must be less than or equal to zero and greater than or equal to the negative of the tx fee.
#include <ripple/app/tx/impl/InvariantCheck.h>