Browse Source

lnd+lnwallet: make capacity check stricter by adding fee

Also patches breacharbiter tests by using the correct commitment
fee and balances.
master
eugene 3 years ago
parent
commit
bc238ee84c
No known key found for this signature in database
GPG Key ID: 118759E83439A9B1
  1. 10
      breacharbiter_test.go
  2. 4
      lnwallet/commitment.go

10
breacharbiter_test.go

@ -1843,22 +1843,24 @@ func createInitChannels(revocationWindow int) (*lnwallet.LightningChannel, *lnwa
return nil, nil, nil, err
}
commitFee := feePerKw.FeeForWeight(input.CommitWeight)
// TODO(roasbeef): need to factor in commit fee?
aliceCommit := channeldb.ChannelCommitment{
CommitHeight: 0,
LocalBalance: lnwire.NewMSatFromSatoshis(channelBal),
LocalBalance: lnwire.NewMSatFromSatoshis(channelBal - commitFee),
RemoteBalance: lnwire.NewMSatFromSatoshis(channelBal),
FeePerKw: btcutil.Amount(feePerKw),
CommitFee: 8688,
CommitFee: commitFee,
CommitTx: aliceCommitTx,
CommitSig: bytes.Repeat([]byte{1}, 71),
}
bobCommit := channeldb.ChannelCommitment{
CommitHeight: 0,
LocalBalance: lnwire.NewMSatFromSatoshis(channelBal),
RemoteBalance: lnwire.NewMSatFromSatoshis(channelBal),
RemoteBalance: lnwire.NewMSatFromSatoshis(channelBal - commitFee),
FeePerKw: btcutil.Amount(feePerKw),
CommitFee: 8688,
CommitFee: commitFee,
CommitTx: bobCommitTx,
CommitSig: bytes.Repeat([]byte{1}, 71),
}

4
lnwallet/commitment.go

@ -589,11 +589,11 @@ func (cb *CommitmentBuilder) createUnsignedCommitmentTx(ourBalance,
for _, txOut := range commitTx.TxOut {
totalOut += btcutil.Amount(txOut.Value)
}
if totalOut > cb.chanState.Capacity {
if totalOut+commitFee > cb.chanState.Capacity {
return nil, fmt.Errorf("height=%v, for ChannelPoint(%v) "+
"attempts to consume %v while channel capacity is %v",
height, cb.chanState.FundingOutpoint,
totalOut, cb.chanState.Capacity)
totalOut+commitFee, cb.chanState.Capacity)
}
return &unsignedCommitmentTx{

Loading…
Cancel
Save