Implement new amendment majority semantics :

This implements the tracking of when an amendment achieved a majority
in the ledger, ensuring that there's always network-wide agreement
on which amendments have achieved a majority and how long they've
held it.

* New fields
* Change transactor changes
* AmendmentTable API and implementation changes
* Update amendment enabled status on validated ledgers
* Reinstate support for ledger sequence in fee transactions
This commit is contained in:
JoelKatz
2015-01-30 12:57:57 -08:00
committed by Vinnie Falco
parent 3078c6da12
commit efc2159441
18 changed files with 814 additions and 412 deletions

View File

@@ -87,11 +87,14 @@ LedgerFormats::LedgerFormats ()
<< SOElement (sfHashes, SOE_REQUIRED)
;
add ("EnabledAmendments", ltAMENDMENTS)
<< SOElement (sfAmendments, SOE_REQUIRED)
add ("Amendments", ltAMENDMENTS)
<< SOElement (sfLedgerSequence, SOE_OPTIONAL)
<< SOElement (sfAmendments, SOE_OPTIONAL) // Enabled
<< SOElement (sfMajorities, SOE_OPTIONAL)
;
add ("FeeSettings", ltFEE_SETTINGS)
<< SOElement (sfLedgerSequence, SOE_OPTIONAL)
<< SOElement (sfBaseFee, SOE_REQUIRED)
<< SOElement (sfReferenceFeeUnits, SOE_REQUIRED)
<< SOElement (sfReserveBase, SOE_REQUIRED)