From 71a7dec649d4e2283be9113f5c99044374657049 Mon Sep 17 00:00:00 2001 From: Andras Banki-Horvath Date: Mon, 24 Aug 2020 20:46:02 +0200 Subject: [PATCH] sweeper: set sequence to be able to sweep htlc v2 utxo --- loopin.go | 5 +++-- loopout.go | 4 ++-- sweep/sweeper.go | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/loopin.go b/loopin.go index 00f2eb0..0b818cb 100644 --- a/loopin.go +++ b/loopin.go @@ -759,9 +759,10 @@ func (s *loopInSwap) publishTimeoutTx(ctx context.Context, return s.htlc.GenTimeoutWitness(sig), nil } + sequence := uint32(0) timeoutTx, err := s.sweeper.CreateSweepTx( - ctx, s.height, s.htlc, *htlcOutpoint, s.SenderKey, witnessFunc, - htlcValue, fee, s.timeoutAddr, + ctx, s.height, sequence, s.htlc, *htlcOutpoint, s.SenderKey, + witnessFunc, htlcValue, fee, s.timeoutAddr, ) if err != nil { return err diff --git a/loopout.go b/loopout.go index 60cd377..b183977 100644 --- a/loopout.go +++ b/loopout.go @@ -937,8 +937,8 @@ func (s *loopOutSwap) sweep(ctx context.Context, // Create sweep tx. sweepTx, err := s.sweeper.CreateSweepTx( - ctx, s.height, s.htlc, htlcOutpoint, s.ReceiverKey, witnessFunc, - htlcValue, fee, s.DestAddr, + ctx, s.height, s.htlc.SuccessSequence(), s.htlc, htlcOutpoint, + s.ReceiverKey, witnessFunc, htlcValue, fee, s.DestAddr, ) if err != nil { return err diff --git a/sweep/sweeper.go b/sweep/sweeper.go index 2cd4884..c22b8da 100644 --- a/sweep/sweeper.go +++ b/sweep/sweeper.go @@ -21,7 +21,7 @@ type Sweeper struct { // CreateSweepTx creates an htlc sweep tx. func (s *Sweeper) CreateSweepTx( - globalCtx context.Context, height int32, + globalCtx context.Context, height int32, sequence uint32, htlc *swap.Htlc, htlcOutpoint wire.OutPoint, keyBytes [33]byte, witnessFunc func(sig []byte) (wire.TxWitness, error), @@ -37,6 +37,7 @@ func (s *Sweeper) CreateSweepTx( sweepTx.AddTxIn(&wire.TxIn{ PreviousOutPoint: htlcOutpoint, SignatureScript: htlc.SigScript, + Sequence: sequence, }) // Add output for the destination address.