Merge pull request #2430 from cfromknecht/remove-breach-txn-from-retribution
lnwallet: Remove breach txn from NewBreachRetribution
This commit is contained in:
commit
043631e59f
@ -1181,7 +1181,7 @@ func TestBreachSecondLevelTransfer(t *testing.T) {
|
||||
|
||||
// Notify the breach arbiter about the breach.
|
||||
retribution, err := lnwallet.NewBreachRetribution(
|
||||
alice.State(), height, forceCloseTx, 1)
|
||||
alice.State(), height, 1)
|
||||
if err != nil {
|
||||
t.Fatalf("unable to create breach retribution: %v", err)
|
||||
}
|
||||
|
@ -725,18 +725,14 @@ func (c *chainWatcher) dispatchContractBreach(spendEvent *chainntnfs.SpendDetail
|
||||
return fmt.Errorf("unable to mark channel as borked: %v", err)
|
||||
}
|
||||
|
||||
var (
|
||||
commitTxBroadcast = spendEvent.SpendingTx
|
||||
spendHeight = uint32(spendEvent.SpendingHeight)
|
||||
)
|
||||
spendHeight := uint32(spendEvent.SpendingHeight)
|
||||
|
||||
// Create a new reach retribution struct which contains all the data
|
||||
// needed to swiftly bring the cheating peer to justice.
|
||||
//
|
||||
// TODO(roasbeef): move to same package
|
||||
retribution, err := lnwallet.NewBreachRetribution(
|
||||
c.cfg.chanState, broadcastStateNum, commitTxBroadcast,
|
||||
spendHeight,
|
||||
c.cfg.chanState, broadcastStateNum, spendHeight,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to create breach retribution: %v", err)
|
||||
|
@ -1897,11 +1897,8 @@ type BreachRetribution struct {
|
||||
// passed channel, at a particular revoked state number, and one which targets
|
||||
// the passed commitment transaction.
|
||||
func NewBreachRetribution(chanState *channeldb.OpenChannel, stateNum uint64,
|
||||
broadcastCommitment *wire.MsgTx,
|
||||
breachHeight uint32) (*BreachRetribution, error) {
|
||||
|
||||
commitHash := broadcastCommitment.TxHash()
|
||||
|
||||
// Query the on-disk revocation log for the snapshot which was recorded
|
||||
// at this particular state num.
|
||||
revokedSnapshot, err := chanState.FindPreviousState(stateNum)
|
||||
@ -1909,6 +1906,8 @@ func NewBreachRetribution(chanState *channeldb.OpenChannel, stateNum uint64,
|
||||
return nil, err
|
||||
}
|
||||
|
||||
commitHash := revokedSnapshot.CommitTx.TxHash()
|
||||
|
||||
// With the state number broadcast known, we can now derive/restore the
|
||||
// proper revocation preimage necessary to sweep the remote party's
|
||||
// output.
|
||||
@ -1952,7 +1951,7 @@ func NewBreachRetribution(chanState *channeldb.OpenChannel, stateNum uint64,
|
||||
remoteOutpoint := wire.OutPoint{
|
||||
Hash: commitHash,
|
||||
}
|
||||
for i, txOut := range broadcastCommitment.TxOut {
|
||||
for i, txOut := range revokedSnapshot.CommitTx.TxOut {
|
||||
switch {
|
||||
case bytes.Equal(txOut.PkScript, localPkScript):
|
||||
localOutpoint.Index = uint32(i)
|
||||
@ -2090,7 +2089,7 @@ func NewBreachRetribution(chanState *channeldb.OpenChannel, stateNum uint64,
|
||||
// swiftly bring justice to the cheating remote party.
|
||||
return &BreachRetribution{
|
||||
ChainHash: chanState.ChainHash,
|
||||
BreachTransaction: broadcastCommitment,
|
||||
BreachTransaction: revokedSnapshot.CommitTx,
|
||||
BreachHeight: breachHeight,
|
||||
RevokedStateNum: stateNum,
|
||||
PendingHTLCs: revokedSnapshot.Htlcs,
|
||||
|
@ -5389,7 +5389,6 @@ func TestNewBreachRetributionSkipsDustHtlcs(t *testing.T) {
|
||||
|
||||
// At this point, we'll capture the current state number, as well as
|
||||
// the current commitment.
|
||||
revokedCommit := bobChannel.channelState.LocalCommitment.CommitTx
|
||||
revokedStateNum := aliceChannel.channelState.LocalCommitment.CommitHeight
|
||||
|
||||
// We'll now have Bob settle those HTLC's to Alice and then advance
|
||||
@ -5411,7 +5410,7 @@ func TestNewBreachRetributionSkipsDustHtlcs(t *testing.T) {
|
||||
// At this point, we'll now simulate a contract breach by Bob using the
|
||||
// NewBreachRetribution method.
|
||||
breachRet, err := NewBreachRetribution(
|
||||
aliceChannel.channelState, revokedStateNum, revokedCommit, 100,
|
||||
aliceChannel.channelState, revokedStateNum, 100,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatalf("unable to create breach retribution: %v", err)
|
||||
|
Loading…
Reference in New Issue
Block a user