Calculate the fee in BTC given a feerate is BTC/kvB. Reflects CFeeRate::GetFee
(tx_size, feerate_btc_kvb)
| 390 | |
| 391 | |
| 392 | def get_fee(tx_size, feerate_btc_kvb): |
| 393 | """Calculate the fee in BTC given a feerate is BTC/kvB. Reflects CFeeRate::GetFee""" |
| 394 | feerate_sat_kvb = int(feerate_btc_kvb * Decimal(1e8)) # Fee in sat/kvb as an int to avoid float precision errors |
| 395 | target_fee_sat = ceildiv(feerate_sat_kvb * tx_size, 1000) # Round calculated fee up to nearest sat |
| 396 | return target_fee_sat / Decimal(1e8) # Return result in BTC |
| 397 | |
| 398 | |
| 399 | def satoshi_round(amount: Union[int, float, str], *, rounding: str) -> Decimal: |