rippled
Loading...
Searching...
No Matches
FeeVote.h
1#ifndef XRPL_APP_MISC_FEEVOTE_H_INCLUDED
2#define XRPL_APP_MISC_FEEVOTE_H_INCLUDED
3
4#include <xrpl/ledger/ReadView.h>
5#include <xrpl/protocol/STValidation.h>
6#include <xrpl/shamap/SHAMap.h>
7
8namespace ripple {
9
12{
13public:
14 virtual ~FeeVote() = default;
15
21 virtual void
23 Fees const& lastFees,
24 Rules const& rules,
25 STValidation& val) = 0;
26
32 virtual void
34 std::shared_ptr<ReadView const> const& lastClosedLedger,
35 std::vector<std::shared_ptr<STValidation>> const& parentValidations,
36 std::shared_ptr<SHAMap> const& initialPosition) = 0;
37};
38
39struct FeeSetup;
45make_FeeVote(FeeSetup const& setup, beast::Journal journal);
46
47} // namespace ripple
48
49#endif
A generic endpoint for log messages.
Definition Journal.h:41
Manager to process fee votes.
Definition FeeVote.h:12
virtual void doVoting(std::shared_ptr< ReadView const > const &lastClosedLedger, std::vector< std::shared_ptr< STValidation > > const &parentValidations, std::shared_ptr< SHAMap > const &initialPosition)=0
Cast our local vote on the fee.
virtual ~FeeVote()=default
virtual void doValidation(Fees const &lastFees, Rules const &rules, STValidation &val)=0
Add local fee preference to validation.
Rules controlling protocol behavior.
Definition Rules.h:19
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6
std::unique_ptr< FeeVote > make_FeeVote(FeeSetup const &setup, beast::Journal journal)
Create an instance of the FeeVote logic.
Fee schedule for startup / standalone, and to vote for.
Definition Config.h:47
Reflects the fee settings for a particular ledger.