lnd+lnwallet: make capacity check stricter by adding fee
Also patches breacharbiter tests by using the correct commitment fee and balances.
This commit is contained in:
parent
c9ed5927f6
commit
bc238ee84c
@ -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),
|
||||
}
|
||||
|
@ -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…
Reference in New Issue
Block a user