Cache and apply account credits after payment processing (RIPD-821):

Credits made to any account during the processing of a payment are delayed until
the payment completes, enforcing a new invariant: liquidity for any paths
during a payment's execution may never increase. This eliminates the need for special
code to handle a variety of corner cases where consuming liquidity in one path
increases liquidity in others.
This commit is contained in:
seelabs
2015-03-11 07:54:34 -07:00
committed by Tom Ritchford
parent fd1135315c
commit 8377f2516b
11 changed files with 740 additions and 17 deletions

View File

@@ -23,6 +23,7 @@
#include <ripple/app/ledger/AcceptedLedger.cpp>
#include <ripple/app/ledger/DirectoryEntryIterator.cpp>
#include <ripple/app/ledger/OrderBookIterator.cpp>
#include <ripple/app/ledger/DeferredCredits.cpp>
#include <ripple/app/consensus/DisputedTx.cpp>
#include <ripple/app/misc/HashRouter.cpp>
#include <ripple/app/paths/AccountCurrencies.cpp>
@@ -31,3 +32,4 @@
#include <ripple/app/paths/Pathfinder.cpp>
#include <ripple/app/misc/AmendmentTableImpl.cpp>
#include <ripple/app/misc/tests/AmendmentTable.test.cpp>
#include <ripple/app/ledger/tests/DeferredCredits.test.cpp>