multi: apply the new type lntypes.WeightUnit
This commit is contained in:
36 files changed
+178
-133
No files matched your search
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"github.com/btcsuite/btcd/wire"
|
||||
"github.com/lightningnetwork/lnd/input"
|
||||
"github.com/lightningnetwork/lnd/lntypes"
|
||||
"github.com/lightningnetwork/lnd/lnwallet"
|
||||
"github.com/lightningnetwork/lnd/lnwire"
|
||||
)
|
||||
@@ -115,7 +116,7 @@ func (c CommitmentType) ToRemoteWitnessType() (input.WitnessType, error) {
|
||||
|
||||
// ToRemoteWitnessSize is the size of the witness that will be required to spend
|
||||
// the to_remote output.
|
||||
func (c CommitmentType) ToRemoteWitnessSize() (int, error) {
|
||||
func (c CommitmentType) ToRemoteWitnessSize() (lntypes.WeightUnit, error) {
|
||||
switch c {
|
||||
// Legacy channels (both tweaked and non-tweaked) spend from P2WKH
|
||||
// output.
|
||||
@@ -137,7 +138,7 @@ func (c CommitmentType) ToRemoteWitnessSize() (int, error) {
|
||||
|
||||
// ToLocalWitnessSize is the size of the witness that will be required to spend
|
||||
// the to_local output.
|
||||
func (c CommitmentType) ToLocalWitnessSize() (int, error) {
|
||||
func (c CommitmentType) ToLocalWitnessSize() (lntypes.WeightUnit, error) {
|
||||
switch c {
|
||||
// An older ToLocalPenaltyWitnessSize constant used to underestimate the
|
||||
// size by one byte. The difference in weight can cause different output
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/btcsuite/btcd/wire"
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
"github.com/lightningnetwork/lnd/input"
|
||||
"github.com/lightningnetwork/lnd/lntypes"
|
||||
"github.com/lightningnetwork/lnd/watchtower/blob"
|
||||
"github.com/lightningnetwork/lnd/watchtower/wtdb"
|
||||
)
|
||||
@@ -123,7 +124,7 @@ func (p *JusticeDescriptor) commitToRemoteInput() (*breachedInput, error) {
|
||||
// assembleJusticeTxn accepts the breached inputs recovered from state update
|
||||
// and attempts to construct the justice transaction that sweeps the victims
|
||||
// funds to their wallet and claims the watchtower's reward.
|
||||
func (p *JusticeDescriptor) assembleJusticeTxn(txWeight int64,
|
||||
func (p *JusticeDescriptor) assembleJusticeTxn(txWeight lntypes.WeightUnit,
|
||||
inputs ...*breachedInput) (*wire.MsgTx, error) {
|
||||
|
||||
justiceTxn := wire.NewMsgTx(2)
|
||||
@@ -287,7 +288,7 @@ func (p *JusticeDescriptor) CreateJusticeTxn() (*wire.MsgTx, error) {
|
||||
|
||||
// TODO(conner): sweep htlc outputs
|
||||
|
||||
txWeight := int64(weightEstimate.Weight())
|
||||
txWeight := weightEstimate.Weight()
|
||||
|
||||
return p.assembleJusticeTxn(txWeight, sweepInputs...)
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ func testJusticeDescriptor(t *testing.T, blobType blob.Type) {
|
||||
}
|
||||
|
||||
outputs, err := policy.ComputeJusticeTxOuts(
|
||||
totalAmount, int64(txWeight), justiceKit.SweepAddress(),
|
||||
totalAmount, txWeight, justiceKit.SweepAddress(),
|
||||
sessionInfo.RewardAddress,
|
||||
)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -216,7 +216,7 @@ func (t *backupTask) bindSession(session *wtdb.ClientSessionBody,
|
||||
// Now, compute the output values depending on whether FlagReward is set
|
||||
// in the current session's policy.
|
||||
outputs, err := session.Policy.ComputeJusticeTxOuts(
|
||||
t.totalAmt, int64(weightEstimate.Weight()),
|
||||
t.totalAmt, weightEstimate.Weight(),
|
||||
t.sweepPkScript, session.RewardPkScript,
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
|
||||
"github.com/btcsuite/btcd/btcutil"
|
||||
"github.com/btcsuite/btcd/wire"
|
||||
"github.com/lightningnetwork/lnd/lntypes"
|
||||
"github.com/lightningnetwork/lnd/lnwallet"
|
||||
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
|
||||
"github.com/lightningnetwork/lnd/lnwire"
|
||||
@@ -180,8 +181,9 @@ func (p *Policy) Validate() error {
|
||||
// that pays no reward to the tower. The value is computed using the weight of
|
||||
// of the justice transaction and subtracting an amount that satisfies the
|
||||
// policy's fee rate.
|
||||
func (p *Policy) ComputeAltruistOutput(totalAmt btcutil.Amount,
|
||||
txWeight int64, sweepScript []byte) (btcutil.Amount, error) {
|
||||
func (p *Policy) ComputeAltruistOutput(
|
||||
totalAmt btcutil.Amount, txWeight lntypes.WeightUnit,
|
||||
sweepScript []byte) (btcutil.Amount, error) {
|
||||
|
||||
txFee := p.SweepFeeRate.FeeForWeight(txWeight)
|
||||
if txFee > totalAmt {
|
||||
@@ -204,7 +206,7 @@ func (p *Policy) ComputeAltruistOutput(totalAmt btcutil.Amount,
|
||||
// and reward rate. The reward to he tower is subtracted first, before
|
||||
// splitting the remaining balance amongst the victim and fees.
|
||||
func (p *Policy) ComputeRewardOutputs(totalAmt btcutil.Amount,
|
||||
txWeight int64,
|
||||
txWeight lntypes.WeightUnit,
|
||||
rewardScript []byte) (btcutil.Amount, btcutil.Amount, error) {
|
||||
|
||||
txFee := p.SweepFeeRate.FeeForWeight(txWeight)
|
||||
@@ -266,7 +268,8 @@ func ComputeRewardAmount(total btcutil.Amount, base, rate uint32) btcutil.Amount
|
||||
// rewardPkScript is the pkScript of the tower where its reward will be
|
||||
// deposited, and will be
|
||||
// ignored if the blob type does not specify a reward.
|
||||
func (p *Policy) ComputeJusticeTxOuts(totalAmt btcutil.Amount, txWeight int64,
|
||||
func (p *Policy) ComputeJusticeTxOuts(
|
||||
totalAmt btcutil.Amount, txWeight lntypes.WeightUnit,
|
||||
sweepPkScript, rewardPkScript []byte) ([]*wire.TxOut, error) {
|
||||
|
||||
var outputs []*wire.TxOut
|
||||
|
||||
Reference in new issue
Block a user