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


Public Member Functions | |
| AmendmentTableImpl (Application &app, 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 More... | |
| std::optional< NetClock::time_point > | firstUnsupportedExpected () const override |
| Json::Value | getJson () const override |
| Json::Value | getJson (uint256 const &) const override |
| Returns a Json::objectValue. More... | |
| bool | needValidatedLedger (LedgerIndex seq) const override |
| Called to determine whether the amendment logic needs to process a new validated ledger. More... | |
| void | doValidatedLedger (LedgerIndex seq, std::set< uint256 > const &enabled, majorityAmendments_t const &majority) 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. More... | |
| void | doVoting (std::shared_ptr< ReadView const > const &lastClosedLedger, std::vector< std::shared_ptr< STValidation >> const &parentValidations, std::shared_ptr< SHAMap > const &initialPosition) |
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, 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_ |
| const std::chrono::seconds | majorityTime_ |
| std::unique_ptr< AmendmentSet > | lastVote_ |
| bool | unsupportedEnabled_ |
| std::optional< NetClock::time_point > | firstUnsupportedExpected_ |
| const beast::Journal | 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 198 of file AmendmentTable.cpp.
| ripple::AmendmentTableImpl::AmendmentTableImpl | ( | Application & | app, |
| std::chrono::seconds | majorityTime, | ||
| std::vector< FeatureInfo > const & | supported, | ||
| Section const & | enabled, | ||
| Section const & | vetoed, | ||
| beast::Journal | journal | ||
| ) |
Definition at line 314 of file AmendmentTable.cpp.
|
private |
Definition at line 440 of file AmendmentTable.cpp.
|
private |
Definition at line 449 of file AmendmentTable.cpp.
|
private |
Definition at line 459 of file AmendmentTable.cpp.
|
private |
Definition at line 727 of file AmendmentTable.cpp.
|
private |
Definition at line 487 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 473 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 497 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 510 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 523 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 544 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 552 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 ripple::AmendmentTable.
Definition at line 560 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 567 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 755 of file AmendmentTable.cpp.
|
overridevirtual |
Returns a Json::objectValue.
Implements ripple::AmendmentTable.
Definition at line 773 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 ripple::AmendmentTable.
Definition at line 679 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 690 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 574 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 601 of file AmendmentTable.cpp.
|
overridevirtual |
Implements ripple::AmendmentTable.
Definition at line 608 of file AmendmentTable.cpp.
|
inherited |
Called when a new fully-validated ledger is accepted.
Definition at line 92 of file AmendmentTable.h.
|
inherited |
Definition at line 143 of file AmendmentTable.h.
|
mutableprivate |
Definition at line 201 of file AmendmentTable.cpp.
|
private |
Definition at line 203 of file AmendmentTable.cpp.
|
private |
Definition at line 204 of file AmendmentTable.cpp.
|
private |
Definition at line 207 of file AmendmentTable.cpp.
|
private |
Definition at line 211 of file AmendmentTable.cpp.
|
private |
Definition at line 214 of file AmendmentTable.cpp.
|
private |
Definition at line 219 of file AmendmentTable.cpp.
|
private |
Definition at line 221 of file AmendmentTable.cpp.
|
private |
Definition at line 224 of file AmendmentTable.cpp.
1.8.17