Bitcoin Core  22.99.0
P2P Digital Currency
Public Member Functions | Private Attributes | Friends | List of all members
CFeeRate Class Reference

Fee rate in satoshis per kilobyte: CAmount / kB. More...

#include <feerate.h>

Public Member Functions

 CFeeRate ()
 Fee rate of 0 satoshis per kB. More...
 
template<typename I >
 CFeeRate (const I _nSatoshisPerK)
 
 CFeeRate (const CAmount &nFeePaid, uint32_t num_bytes)
 Constructor for a fee rate in satoshis per kvB (sat/kvB). More...
 
CAmount GetFee (uint32_t num_bytes) const
 Return the fee in satoshis for the given size in bytes. More...
 
CAmount GetFeePerK () const
 Return the fee in satoshis for a size of 1000 bytes. More...
 
CFeeRateoperator+= (const CFeeRate &a)
 
std::string ToString (const FeeEstimateMode &fee_estimate_mode=FeeEstimateMode::BTC_KVB) const
 
 SERIALIZE_METHODS (CFeeRate, obj)
 

Private Attributes

CAmount nSatoshisPerK
 

Friends

bool operator< (const CFeeRate &a, const CFeeRate &b)
 
bool operator> (const CFeeRate &a, const CFeeRate &b)
 
bool operator== (const CFeeRate &a, const CFeeRate &b)
 
bool operator<= (const CFeeRate &a, const CFeeRate &b)
 
bool operator>= (const CFeeRate &a, const CFeeRate &b)
 
bool operator!= (const CFeeRate &a, const CFeeRate &b)
 

Detailed Description

Fee rate in satoshis per kilobyte: CAmount / kB.

Definition at line 29 of file feerate.h.

Constructor & Destructor Documentation

◆ CFeeRate() [1/3]

CFeeRate::CFeeRate ( )
inline

Fee rate of 0 satoshis per kB.

Definition at line 36 of file feerate.h.

◆ CFeeRate() [2/3]

template<typename I >
CFeeRate::CFeeRate ( const I  _nSatoshisPerK)
inlineexplicit

Definition at line 38 of file feerate.h.

◆ CFeeRate() [3/3]

CFeeRate::CFeeRate ( const CAmount nFeePaid,
uint32_t  num_bytes 
)

Constructor for a fee rate in satoshis per kvB (sat/kvB).

Passing a num_bytes value of COIN (1e8) returns a fee rate in satoshis per vB (sat/vB), e.g. (nFeePaid * 1e8 / 1e3) == (nFeePaid / 1e5), where 1e5 is the ratio to convert from BTC/kvB to sat/vB.

Definition at line 12 of file feerate.cpp.

Member Function Documentation

◆ GetFee()

CAmount CFeeRate::GetFee ( uint32_t  num_bytes) const

Return the fee in satoshis for the given size in bytes.

If the calculated fee would have fractional satoshis, then the returned fee will always be rounded up to the nearest satoshi.

Definition at line 23 of file feerate.cpp.

Here is the caller graph for this function:

◆ GetFeePerK()

CAmount CFeeRate::GetFeePerK ( ) const
inline

Return the fee in satoshis for a size of 1000 bytes.

Definition at line 57 of file feerate.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator+=()

CFeeRate& CFeeRate::operator+= ( const CFeeRate a)
inline

Definition at line 64 of file feerate.h.

◆ SERIALIZE_METHODS()

CFeeRate::SERIALIZE_METHODS ( CFeeRate  ,
obj   
)
inline

Definition at line 67 of file feerate.h.

◆ ToString()

std::string CFeeRate::ToString ( const FeeEstimateMode fee_estimate_mode = FeeEstimateMode::BTC_KVB) const

Definition at line 39 of file feerate.cpp.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const CFeeRate a,
const CFeeRate b 
)
friend

Definition at line 63 of file feerate.h.

◆ operator<

bool operator< ( const CFeeRate a,
const CFeeRate b 
)
friend

Definition at line 58 of file feerate.h.

◆ operator<=

bool operator<= ( const CFeeRate a,
const CFeeRate b 
)
friend

Definition at line 61 of file feerate.h.

◆ operator==

bool operator== ( const CFeeRate a,
const CFeeRate b 
)
friend

Definition at line 60 of file feerate.h.

◆ operator>

bool operator> ( const CFeeRate a,
const CFeeRate b 
)
friend

Definition at line 59 of file feerate.h.

◆ operator>=

bool operator>= ( const CFeeRate a,
const CFeeRate b 
)
friend

Definition at line 62 of file feerate.h.

Member Data Documentation

◆ nSatoshisPerK

CAmount CFeeRate::nSatoshisPerK
private

Definition at line 32 of file feerate.h.


The documentation for this class was generated from the following files: