rippled
Loading...
Searching...
No Matches
FeeVote.h
1#pragma once
2
3#include <xrpl/ledger/ReadView.h>
4#include <xrpl/protocol/STValidation.h>
5#include <xrpl/shamap/SHAMap.h>
6
7namespace xrpl {
8
11{
12public:
13 virtual ~FeeVote() = default;
14
20 virtual void
21 doValidation(Fees const& lastFees, Rules const& rules, STValidation& val) = 0;
22
28 virtual void
30 std::shared_ptr<ReadView const> const& lastClosedLedger,
31 std::vector<std::shared_ptr<STValidation>> const& parentValidations,
32 std::shared_ptr<SHAMap> const& initialPosition) = 0;
33};
34
35struct FeeSetup;
41make_FeeVote(FeeSetup const& setup, beast::Journal journal);
42
43} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:40
Manager to process fee votes.
Definition FeeVote.h:11
virtual ~FeeVote()=default
virtual void doValidation(Fees const &lastFees, Rules const &rules, STValidation &val)=0
Add local fee preference to validation.
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.
Rules controlling protocol behavior.
Definition Rules.h:18
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
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:48
Reflects the fee settings for a particular ledger.