|
rippled
|
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::objectValue. | |
| 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::lock_guard< std::mutex > const &lock) |
| AmendmentState * | get (uint256 const &amendment, std::lock_guard< std::mutex > const &lock) |
| AmendmentState const * | get (uint256 const &amendment, std::lock_guard< std::mutex > const &lock) const |
| void | injectJson (Json::Value &v, uint256 const &amendment, AmendmentState const &state, bool isAdmin, std::lock_guard< 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 356 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 475 of file AmendmentTable.cpp.
|
private |
Definition at line 607 of file AmendmentTable.cpp.
|
private |
Definition at line 614 of file AmendmentTable.cpp.
|
private |
Definition at line 621 of file AmendmentTable.cpp.
|
private |
Definition at line 916 of file AmendmentTable.cpp.
|
private |
Definition at line 647 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 633 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 660 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 673 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 686 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 706 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 714 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 722 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 729 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 955 of file AmendmentTable.cpp.
|
overridevirtual |
Returns a Json::objectValue.
Implements xrpl::AmendmentTable.
Definition at line 970 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 861 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 872 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 909 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 736 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 763 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 770 of file AmendmentTable.cpp.
|
inherited |
Called when a new fully-validated ledger is accepted.
Definition at line 75 of file AmendmentTable.h.
|
inherited |
Definition at line 129 of file AmendmentTable.h.
|
mutableprivate |
Definition at line 359 of file AmendmentTable.cpp.
|
private |
Definition at line 361 of file AmendmentTable.cpp.
|
private |
Definition at line 362 of file AmendmentTable.cpp.
|
private |
Definition at line 365 of file AmendmentTable.cpp.
|
private |
Definition at line 368 of file AmendmentTable.cpp.
|
private |
Definition at line 372 of file AmendmentTable.cpp.
|
private |
Definition at line 375 of file AmendmentTable.cpp.
|
private |
Definition at line 380 of file AmendmentTable.cpp.
|
private |
Definition at line 382 of file AmendmentTable.cpp.
|
private |
Definition at line 385 of file AmendmentTable.cpp.