rippled
Classes | Public Member Functions | List of all members
ripple::AmendmentTable Class Referenceabstract

The amendment table stores the list of enabled and potential amendments. More...

Inheritance diagram for ripple::AmendmentTable:
Inheritance graph
[legend]

Classes

struct  FeatureInfo
 

Public Member Functions

virtual ~AmendmentTable ()=default
 
virtual uint256 find (std::string const &name) const =0
 
virtual bool veto (uint256 const &amendment)=0
 
virtual bool unVeto (uint256 const &amendment)=0
 
virtual bool enable (uint256 const &amendment)=0
 
virtual bool isEnabled (uint256 const &amendment) const =0
 
virtual bool isSupported (uint256 const &amendment) const =0
 
virtual bool hasUnsupportedEnabled () const =0
 returns true if one or more amendments on the network have been enabled that this server does not support More...
 
virtual std::optional< NetClock::time_pointfirstUnsupportedExpected () const =0
 
virtual Json::Value getJson () const =0
 
virtual Json::Value getJson (uint256 const &amendment) const =0
 Returns a Json::objectValue. More...
 
void doValidatedLedger (std::shared_ptr< ReadView const > const &lastValidatedLedger)
 Called when a new fully-validated ledger is accepted. More...
 
virtual bool needValidatedLedger (LedgerIndex seq) const =0
 Called to determine whether the amendment logic needs to process a new validated ledger. More...
 
virtual void doValidatedLedger (LedgerIndex ledgerSeq, std::set< uint256 > const &enabled, majorityAmendments_t const &majority)=0
 
virtual std::map< uint256, std::uint32_tdoVoting (Rules const &rules, NetClock::time_point closeTime, std::set< uint256 > const &enabledAmendments, majorityAmendments_t const &majorityAmendments, std::vector< std::shared_ptr< STValidation >> const &valSet)=0
 
virtual std::vector< uint256doValidation (std::set< uint256 > const &enabled) const =0
 
virtual std::vector< uint256getDesired () const =0
 
void doVoting (std::shared_ptr< ReadView const > const &lastClosedLedger, std::vector< std::shared_ptr< STValidation >> const &parentValidations, std::shared_ptr< SHAMap > const &initialPosition)
 

Detailed Description

The amendment table stores the list of enabled and potential amendments.

Individuals amendments are voted on by validators during the consensus process.

Definition at line 37 of file AmendmentTable.h.

Constructor & Destructor Documentation

◆ ~AmendmentTable()

virtual ripple::AmendmentTable::~AmendmentTable ( )
virtualdefault

Member Function Documentation

◆ find()

virtual uint256 ripple::AmendmentTable::find ( std::string const &  name) const
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ veto()

virtual bool ripple::AmendmentTable::veto ( uint256 const &  amendment)
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ unVeto()

virtual bool ripple::AmendmentTable::unVeto ( uint256 const &  amendment)
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ enable()

virtual bool ripple::AmendmentTable::enable ( uint256 const &  amendment)
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ isEnabled()

virtual bool ripple::AmendmentTable::isEnabled ( uint256 const &  amendment) const
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ isSupported()

virtual bool ripple::AmendmentTable::isSupported ( uint256 const &  amendment) const
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ hasUnsupportedEnabled()

virtual bool ripple::AmendmentTable::hasUnsupportedEnabled ( ) const
pure virtual

returns true if one or more amendments on the network have been enabled that this server does not support

Returns
true if an unsupported feature is enabled on the network

Implemented in ripple::AmendmentTableImpl.

◆ firstUnsupportedExpected()

virtual std::optional<NetClock::time_point> ripple::AmendmentTable::firstUnsupportedExpected ( ) const
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ getJson() [1/2]

virtual Json::Value ripple::AmendmentTable::getJson ( ) const
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ getJson() [2/2]

virtual Json::Value ripple::AmendmentTable::getJson ( uint256 const &  amendment) const
pure virtual

Returns a Json::objectValue.

Implemented in ripple::AmendmentTableImpl.

◆ doValidatedLedger() [1/2]

void ripple::AmendmentTable::doValidatedLedger ( std::shared_ptr< ReadView const > const &  lastValidatedLedger)

Called when a new fully-validated ledger is accepted.

Definition at line 92 of file AmendmentTable.h.

◆ needValidatedLedger()

virtual bool ripple::AmendmentTable::needValidatedLedger ( LedgerIndex  seq) const
pure virtual

Called to determine whether the amendment logic needs to process a new validated ledger.

(If it could have changed things.)

Implemented in ripple::AmendmentTableImpl.

◆ doValidatedLedger() [2/2]

virtual void ripple::AmendmentTable::doValidatedLedger ( LedgerIndex  ledgerSeq,
std::set< uint256 > const &  enabled,
majorityAmendments_t const &  majority 
)
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ doVoting() [1/2]

virtual std::map<uint256, std::uint32_t> ripple::AmendmentTable::doVoting ( Rules const &  rules,
NetClock::time_point  closeTime,
std::set< uint256 > const &  enabledAmendments,
majorityAmendments_t const &  majorityAmendments,
std::vector< std::shared_ptr< STValidation >> const &  valSet 
)
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ doValidation()

virtual std::vector<uint256> ripple::AmendmentTable::doValidation ( std::set< uint256 > const &  enabled) const
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ getDesired()

virtual std::vector<uint256> ripple::AmendmentTable::getDesired ( ) const
pure virtual

Implemented in ripple::AmendmentTableImpl.

◆ doVoting() [2/2]

void ripple::AmendmentTable::doVoting ( std::shared_ptr< ReadView const > const &  lastClosedLedger,
std::vector< std::shared_ptr< STValidation >> const &  parentValidations,
std::shared_ptr< SHAMap > const &  initialPosition 
)

Definition at line 143 of file AmendmentTable.h.