mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
Signed-off-by: JCW <a1q123456@users.noreply.github.com> Co-authored-by: Bart <bthomee@users.noreply.github.com> Co-authored-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <xrpl/protocol/XRPAmount.h>
|
|
|
|
namespace xrpl {
|
|
|
|
// Deprecated constant for backwards compatibility with pre-XRPFees amendment.
|
|
// This was the reference fee units used in the old fee calculation.
|
|
inline constexpr std::uint32_t FEE_UNITS_DEPRECATED = 10;
|
|
|
|
/** Reflects the fee settings for a particular ledger.
|
|
|
|
The fees are always the same for any transactions applied
|
|
to a ledger. Changes to fees occur in between ledgers.
|
|
*/
|
|
struct Fees
|
|
{
|
|
/** @brief Cost of a reference transaction in drops. */
|
|
XRPAmount base{0};
|
|
|
|
/** @brief Minimum XRP an account must hold to exist on the ledger. */
|
|
XRPAmount reserve{0};
|
|
|
|
/** @brief Additional XRP reserve required per owned ledger object. */
|
|
XRPAmount increment{0};
|
|
|
|
explicit Fees() = default;
|
|
Fees(Fees const&) = default;
|
|
Fees&
|
|
operator=(Fees const&) = default;
|
|
|
|
Fees(XRPAmount base_, XRPAmount reserve_, XRPAmount increment_)
|
|
: base(base_), reserve(reserve_), increment(increment_)
|
|
{
|
|
}
|
|
|
|
/** Returns the account reserve given the owner count, in drops.
|
|
|
|
The reserve is calculated as the reserve base plus
|
|
the reserve increment times the number of increments.
|
|
*/
|
|
XRPAmount
|
|
accountReserve(std::size_t ownerCount) const
|
|
{
|
|
return reserve + ownerCount * increment;
|
|
}
|
|
};
|
|
|
|
} // namespace xrpl
|