MCPcopy Create free account
hub / github.com/Bitcoin-ABC/bitcoin-abc / GetFee

Function GetFee

src/feerate.cpp:23–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21
22template <bool ceil>
23static Amount GetFee(size_t nBytes_, Amount nSatoshisPerK) {
24 assert(nBytes_ <= uint64_t(std::numeric_limits<int64_t>::max()));
25 int64_t nSize = int64_t(nBytes_);
26
27 // Ensure fee is rounded up when truncated if ceil is true.
28 Amount nFee = Amount::zero();
29 if (ceil) {
30 nFee = Amount(nSize * nSatoshisPerK % 1000 > Amount::zero()
31 ? nSize * nSatoshisPerK / 1000 + SATOSHI
32 : nSize * nSatoshisPerK / 1000);
33 } else {
34 nFee = nSize * nSatoshisPerK / 1000;
35 }
36
37 if (nFee == Amount::zero() && nSize != 0) {
38 if (nSatoshisPerK > Amount::zero()) {
39 nFee = SATOSHI;
40 }
41 if (nSatoshisPerK < Amount::zero()) {
42 nFee = -SATOSHI;
43 }
44 }
45
46 return nFee;
47}
48
49Amount CFeeRate::GetFee(size_t nBytes) const {
50 return ::GetFee<false>(nBytes, nSatoshisPerK);

Callers 1

GetFeePerKMethod · 0.85

Calls 2

maxFunction · 0.85
AmountClass · 0.70

Tested by

no test coverage detected