mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-08-27 14:11:04 +02:00
Merge branch '0-19-2-branch-rc1-9989' into 0-19-2-branch-rc1
This commit is contained in:
@@ -36,6 +36,10 @@
|
||||
|
||||
## Functional Enhancements
|
||||
|
||||
- [Adds](https://github.com/lightningnetwork/lnd/pull/9989) a method
|
||||
`FeeForWeightRoundUp` to the `chainfee` package which rounds up a calculated
|
||||
fee value to the nearest satoshi.
|
||||
|
||||
## RPC Additions
|
||||
|
||||
* When querying
|
||||
@@ -89,6 +93,7 @@ much more slowly.
|
||||
|
||||
* Abdulkbk
|
||||
* djkazic
|
||||
* hieblmi
|
||||
* Olaoluwa Osuntokun
|
||||
* Yong Yu
|
||||
* Ziggie
|
||||
|
@@ -71,6 +71,14 @@ func (s SatPerKWeight) FeeForWeight(wu lntypes.WeightUnit) btcutil.Amount {
|
||||
return btcutil.Amount(s) * btcutil.Amount(wu) / 1000
|
||||
}
|
||||
|
||||
// FeeForWeightRoundUp calculates the fee resulting from this fee rate and the
|
||||
// given weight in weight units (wu), rounding up to the nearest satoshi.
|
||||
func (s SatPerKWeight) FeeForWeightRoundUp(
|
||||
wu lntypes.WeightUnit) btcutil.Amount {
|
||||
|
||||
return (btcutil.Amount(s)*btcutil.Amount(wu) + 999) / 1000
|
||||
}
|
||||
|
||||
// FeeForVByte calculates the fee resulting from this fee rate and the given
|
||||
// size in vbytes (vb).
|
||||
func (s SatPerKWeight) FeeForVByte(vb lntypes.VByte) btcutil.Amount {
|
||||
|
@@ -3,6 +3,7 @@ package chainfee
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/lightningnetwork/lnd/lntypes"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@@ -20,3 +21,13 @@ func TestSatPerVByteConversion(t *testing.T) {
|
||||
// 1 sat/vb should be equal to 250 sat/kw.
|
||||
require.Equal(t, SatPerKWeight(250), rate.FeePerKWeight())
|
||||
}
|
||||
|
||||
// TestFeeForWeightRoundUp checks that the FeeForWeightRoundUp method correctly
|
||||
// rounds up the fee for a given weight.
|
||||
func TestFeeForWeightRoundUp(t *testing.T) {
|
||||
feeRate := SatPerVByte(1).FeePerKWeight()
|
||||
txWeight := lntypes.WeightUnit(674) // 674 weight units is 168.5 vb.
|
||||
|
||||
require.EqualValues(t, 168, feeRate.FeeForWeight(txWeight))
|
||||
require.EqualValues(t, 169, feeRate.FeeForWeightRoundUp(txWeight))
|
||||
}
|
||||
|
Reference in New Issue
Block a user