multi: make sure CPFP won't exceed max allowed fee rate
This commit updates the `fee()` method in `weightEstimator` to make sure when doing CPFP we are not exceeding the max allowed fee rate. In order to use the max fee rate, we need to modify several methods to pass the configured value to the estimator.
This commit is contained in:
1 parent
42ff52bbfb
commit
24fa35ec80
12 files changed
+132
-48
No files matched your search
@@ -180,11 +180,12 @@ type DeliveryAddr struct {
|
||||
// output, as specified by the change address. The sweep transaction will be
|
||||
// crafted with the target fee rate, and will use the utxoSource and
|
||||
// outpointLocker as sources for wallet funds.
|
||||
func CraftSweepAllTx(feeRate chainfee.SatPerKWeight, blockHeight uint32,
|
||||
deliveryAddrs []DeliveryAddr, changeAddr btcutil.Address,
|
||||
coinSelectLocker CoinSelectionLocker, utxoSource UtxoSource,
|
||||
outpointLocker OutpointLocker, feeEstimator chainfee.Estimator,
|
||||
signer input.Signer, minConfs int32) (*WalletSweepPackage, error) {
|
||||
func CraftSweepAllTx(feeRate, maxFeeRate chainfee.SatPerKWeight,
|
||||
blockHeight uint32, deliveryAddrs []DeliveryAddr,
|
||||
changeAddr btcutil.Address, coinSelectLocker CoinSelectionLocker,
|
||||
utxoSource UtxoSource, outpointLocker OutpointLocker,
|
||||
feeEstimator chainfee.Estimator, signer input.Signer,
|
||||
minConfs int32) (*WalletSweepPackage, error) {
|
||||
|
||||
// TODO(roasbeef): turn off ATPL as well when available?
|
||||
|
||||
@@ -320,8 +321,8 @@ func CraftSweepAllTx(feeRate chainfee.SatPerKWeight, blockHeight uint32,
|
||||
// Finally, we'll ask the sweeper to craft a sweep transaction which
|
||||
// respects our fee preference and targets all the UTXOs of the wallet.
|
||||
sweepTx, err := createSweepTx(
|
||||
inputsToSweep, txOuts, changePkScript, blockHeight, feeRate,
|
||||
signer,
|
||||
inputsToSweep, txOuts, changePkScript, blockHeight,
|
||||
feeRate, maxFeeRate, signer,
|
||||
)
|
||||
if err != nil {
|
||||
unlockOutputs()
|
||||
|
||||
Reference in new issue
Block a user