chainfee: create new chainfee package extracting fees from lnwallet
In this commit, we create a new chainfee package, that houses all fee related functionality used within the codebase. The creation of this new package furthers our long-term goal of extracting functionality from the bloated `lnwallet` package into new distinct packages. Additionally, this new packages resolves a class of import cycle that could arise if a new package that was imported by something in `lnwallet` wanted to use the existing fee related functions in the prior `lnwallet` package.
This commit is contained in:
47 files changed
+536
-400
No files matched your search
@@ -5,12 +5,15 @@ import (
|
||||
|
||||
"github.com/btcsuite/btcutil"
|
||||
"github.com/lightningnetwork/lnd/input"
|
||||
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
|
||||
)
|
||||
|
||||
// fundingFee is a helper method that returns the fee estimate used for a tx
|
||||
// with the given number of inputs and the optional change output. This matches
|
||||
// the estimate done by the wallet.
|
||||
func fundingFee(feeRate SatPerKWeight, numInput int, change bool) btcutil.Amount {
|
||||
func fundingFee(feeRate chainfee.SatPerKWeight, numInput int, // nolint:unparam
|
||||
change bool) btcutil.Amount {
|
||||
|
||||
var weightEstimate input.TxWeightEstimator
|
||||
|
||||
// All inputs.
|
||||
@@ -39,7 +42,7 @@ func fundingFee(feeRate SatPerKWeight, numInput int, change bool) btcutil.Amount
|
||||
func TestCoinSelect(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
const feeRate = SatPerKWeight(100)
|
||||
const feeRate = chainfee.SatPerKWeight(100)
|
||||
const dust = btcutil.Amount(100)
|
||||
|
||||
type testCase struct {
|
||||
@@ -185,7 +188,7 @@ func TestCoinSelect(t *testing.T) {
|
||||
func TestCoinSelectSubtractFees(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
const feeRate = SatPerKWeight(100)
|
||||
const feeRate = chainfee.SatPerKWeight(100)
|
||||
const dustLimit = btcutil.Amount(1000)
|
||||
const dust = btcutil.Amount(100)
|
||||
|
||||
|
||||
Reference in new issue
Block a user