|
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 398 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 517 of file AmendmentTable.cpp.
|
private |
Definition at line 649 of file AmendmentTable.cpp.
|
private |
Definition at line 656 of file AmendmentTable.cpp.
|
private |
Definition at line 664 of file AmendmentTable.cpp.
|
private |
Definition at line 959 of file AmendmentTable.cpp.
|
private |
Definition at line 690 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 676 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 703 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 716 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 729 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 749 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 757 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 765 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 772 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 998 of file AmendmentTable.cpp.
|
overridevirtual |
Returns a json::ValueType::Object.
Implements xrpl::AmendmentTable.
Definition at line 1017 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 904 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 915 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 952 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 779 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 806 of file AmendmentTable.cpp.
|
overridevirtual |
Implements xrpl::AmendmentTable.
Definition at line 813 of file AmendmentTable.cpp.
|
inherited |
Called when a new fully-validated ledger is accepted.
Definition at line 104 of file AmendmentTable.h.
|
inherited |
Definition at line 161 of file AmendmentTable.h.
|
mutableprivate |
Definition at line 401 of file AmendmentTable.cpp.
|
private |
Definition at line 403 of file AmendmentTable.cpp.
|
private |
Definition at line 404 of file AmendmentTable.cpp.
|
private |
Definition at line 407 of file AmendmentTable.cpp.
|
private |
Definition at line 410 of file AmendmentTable.cpp.
|
private |
Definition at line 414 of file AmendmentTable.cpp.
|
private |
Definition at line 417 of file AmendmentTable.cpp.
|
private |
Definition at line 422 of file AmendmentTable.cpp.
|
private |
Definition at line 424 of file AmendmentTable.cpp.
|
private |
Definition at line 427 of file AmendmentTable.cpp.