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

@@ -226,6 +226,7 @@ SField const sfSignerEntry = make::one(&sfSignerEntry, STI_OBJEC
// inner object (uncommon)
SField const sfSigningAccount = make::one(&sfSigningAccount, STI_OBJECT, 16, "SigningAccount");
SField const sfSigningFor = make::one(&sfSigningFor, STI_OBJECT, 17, "SigningFor");
SField const sfMajority = make::one(&sfMajority, STI_OBJECT, 18, "Majority");
// array of objects
// ARRAY/1 is reserved for end of array
@@ -238,6 +239,9 @@ SField const sfSufficient = make::one(&sfSufficient, STI_ARRAY, 7, "Su
SField const sfAffectedNodes = make::one(&sfAffectedNodes, STI_ARRAY, 8, "AffectedNodes");
SField const sfMemos = make::one(&sfMemos, STI_ARRAY, 9, "Memos");
// array of objects (uncommon)
SField const sfMajorities = make::one(&sfMajorities, STI_ARRAY, 16, "Majorities");
SField::SField (SerializedTypeID tid, int fv, const char* fn,
int meta, IsSigning signing)
: fieldCode (field_code (tid, fv))