xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
xrpld
app
misc
FeeVote.h
1
#pragma once
2
3
#include <xrpl/beast/utility/Journal.h>
4
#include <xrpl/ledger/ReadView.h>
5
#include <xrpl/protocol/Fees.h>
6
#include <xrpl/protocol/Rules.h>
7
#include <xrpl/protocol/STValidation.h>
8
#include <xrpl/shamap/SHAMap.h>
9
10
#include <
memory
>
11
#include <
vector
>
12
13
namespace
xrpl
{
14
18
class
FeeVote
19
{
20
public
:
21
virtual
~FeeVote
() =
default
;
22
29
virtual
void
30
doValidation
(
Fees
const
& lastFees,
Rules
const
& rules,
STValidation
& val) = 0;
31
38
virtual
void
39
doVoting
(
40
std::shared_ptr<ReadView const>
const
& lastClosedLedger,
41
std::vector
<
std::shared_ptr<STValidation>
>
const
& parentValidations,
42
std::shared_ptr<SHAMap>
const
& initialPosition) = 0;
43
};
44
45
struct
FeeSetup
;
51
std::unique_ptr<FeeVote>
52
makeFeeVote
(
FeeSetup
const
& setup,
beast::Journal
journal);
53
54
}
// namespace xrpl
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
xrpl::FeeVote
Manager to process fee votes.
Definition
FeeVote.h:19
xrpl::FeeVote::~FeeVote
virtual ~FeeVote()=default
xrpl::FeeVote::doValidation
virtual void doValidation(Fees const &lastFees, Rules const &rules, STValidation &val)=0
Add local fee preference to validation.
xrpl::FeeVote::doVoting
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.
xrpl::Rules
Rules controlling protocol behavior.
Definition
Rules.h:40
xrpl::STValidation
Definition
STValidation.h:40
memory
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::makeFeeVote
std::unique_ptr< FeeVote > makeFeeVote(FeeSetup const &setup, beast::Journal journal)
Create an instance of the FeeVote logic.
Definition
FeeVoteImpl.cpp:314
std::shared_ptr
xrpl::FeeSetup
Fee schedule for startup / standalone, and to vote for.
Definition
src/xrpld/core/Config.h:54
xrpl::Fees
Reflects the fee settings for a particular ledger.
Definition
protocol/Fees.h:20
std::unique_ptr
vector
Generated by
1.17.0