|
xrpld
|
Track the list of "amendments". More...


Public Member Functions | |
| AmendmentTableImpl (ServiceRegistry ®istry, std::chrono::seconds majorityTime, std::vector< FeatureInfo > const &supported, Section const &enabled, Section const &vetoed, beast::Journal journal) | |
| uint256 | find (std::string const &name) const override |
| bool | veto (uint256 const &amendment) override |
| bool | unVeto (uint256 const &amendment) override |
| bool | enable (uint256 const &amendment) override |
| bool | isEnabled (uint256 const &amendment) const override |
| bool | isSupported (uint256 const &amendment) const override |
| bool | hasUnsupportedEnabled () const override |
| returns true if one or more amendments on the network have been enabled that this server does not support | |
| std::optional< NetClock::time_point > | firstUnsupportedExpected () const override |
| json::Value | getJson (bool isAdmin) const override |
| json::Value | getJson (uint256 const &, bool isAdmin) const override |
| Returns a json::ValueType::Object. | |
| bool | needValidatedLedger (LedgerIndex seq) const override |
| Called to determine whether the amendment logic needs to process a new validated ledger. | |
| void | doValidatedLedger (LedgerIndex seq, std::set< uint256 > const &enabled, majorityAmendments_t const &majority) override |
| void | trustChanged (hash_set< PublicKey > const &allTrusted) override |
| std::vector< uint256 > | doValidation (std::set< uint256 > const &enabledAmendments) const override |
| std::vector< uint256 > | getDesired () const override |
| std::map< uint256, std::uint32_t > | doVoting (Rules const &rules, NetClock::time_point closeTime, std::set< uint256 > const &enabledAmendments, majorityAmendments_t const &majorityAmendments, std::vector< std::shared_ptr< STValidation > > const &validations) override |
| void | doValidatedLedger (std::shared_ptr< ReadView const > const &lastValidatedLedger) |
| Called when a new fully-validated ledger is accepted. | |
| void | doVoting (std::shared_ptr< ReadView const > const &lastClosedLedger, std::vector< std::shared_ptr< STValidation > > const &parentValidations, std::shared_ptr< SHAMap > const &initialPosition, beast::Journal j) |
Private Member Functions | |
| AmendmentState & | add (uint256 const &amendment, std::scoped_lock< std::mutex > const &lock) |
| AmendmentState * | get (uint256 const &amendment, std::scoped_lock< std::mutex > const &lock) |
| AmendmentState const * | get (uint256 const &amendment, std::scoped_lock< std::mutex > const &lock) const |
| void | injectJson (json::Value &v, uint256 const &amendment, AmendmentState const &state, bool isAdmin, std::scoped_lock< std::mutex > const &lock) const |
| void | persistVote (uint256 const &amendment, std::string const &name, AmendmentVote vote) const |
Private Attributes | |
| std::mutex | mutex_ |
| hash_map< uint256, AmendmentState > | amendmentMap_ |
| std::uint32_t | lastUpdateSeq_ {0} |
| TrustedVotes | previousTrustedVotes_ |
| std::chrono::seconds const | majorityTime_ |
| std::unique_ptr< AmendmentSet > | lastVote_ |
| bool | unsupportedEnabled_ {false} |
| std::optional< NetClock::time_point > | firstUnsupportedExpected_ |
| beast::Journal const | j_ |
| DatabaseCon & | db_ |
Track the list of "amendments".
An "amendment" is an option that can affect transaction processing rules. Amendments are proposed and then adopted or rejected by the network. An Amendment is uniquely identified by its AmendmentID, a 256-bit key.
Definition at line 385 of file AmendmentTable.cpp.
| xrpl::AmendmentTableImpl::AmendmentTableImpl | ( | ServiceRegistry & | registry, |
| std::chrono::seconds | majorityTime, | ||
| std::vector< FeatureInfo > const & | supported, | ||
| Section const & | enabled, | ||
| Section const & | vetoed, | ||
| beast::Journal | journal ) |
Definition at line 504 of file AmendmentTable.cpp.
|
private |
Definition at line 636 of file AmendmentTable.cpp.
|
private |
Definition at line 643 of file AmendmentTable.cpp.
|
private |
Definition at line 650 of file AmendmentTable.cpp.
|
private |
Definition at line 945 of file AmendmentTable.cpp.
|
private |
Definition at line 676 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 662 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 689 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 702 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 715 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 735 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 743 of file AmendmentTable.cpp.
|
overridevirtual |
returns true if one or more amendments on the network have been enabled that this server does not support
Implements xrpl::AmendmentTable.
Definition at line 751 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 758 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 984 of file AmendmentTable.cpp.
|
overridevirtual |
Returns a json::ValueType::Object.
Implements xrpl::AmendmentTable.
Definition at line 1003 of file AmendmentTable.cpp.
|
overridevirtual |
Called to determine whether the amendment logic needs to process a new validated ledger.
(If it could have changed things.)
Implements xrpl::AmendmentTable.
Definition at line 890 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 901 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 938 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 765 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 792 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 799 of file AmendmentTable.cpp.
|
inherited |
Called when a new fully-validated ledger is accepted.
Definition at line 76 of file AmendmentTable.h.
|
inherited |
Definition at line 132 of file AmendmentTable.h.
|
mutableprivate |
Definition at line 388 of file AmendmentTable.cpp.
|
private |
Definition at line 390 of file AmendmentTable.cpp.
|
private |
Definition at line 391 of file AmendmentTable.cpp.
|
private |
Definition at line 394 of file AmendmentTable.cpp.
|
private |
Definition at line 397 of file AmendmentTable.cpp.
|
private |
Definition at line 401 of file AmendmentTable.cpp.
|
private |
Definition at line 404 of file AmendmentTable.cpp.
|
private |
Definition at line 409 of file AmendmentTable.cpp.
|
private |
Definition at line 411 of file AmendmentTable.cpp.
|
private |
Definition at line 414 of file AmendmentTable.cpp.