From b5af507c6b3479288454246f2bf9752cc32bec0e Mon Sep 17 00:00:00 2001 From: Slyghtning Date: Thu, 27 Mar 2025 15:58:51 +0100 Subject: [PATCH] staticaddr: don't ignore output-already-spent publish error --- staticaddr/withdraw/manager.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/staticaddr/withdraw/manager.go b/staticaddr/withdraw/manager.go index 0df9ca1e..eb9b84fc 100644 --- a/staticaddr/withdraw/manager.go +++ b/staticaddr/withdraw/manager.go @@ -16,6 +16,7 @@ import ( "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/wire" + "github.com/btcsuite/btcwallet/chain" "github.com/lightninglabs/lndclient" "github.com/lightninglabs/loop/staticaddr/deposit" staticaddressrpc "github.com/lightninglabs/loop/swapserverrpc" @@ -564,11 +565,17 @@ func (m *Manager) publishFinalizedWithdrawalTx(ctx context.Context, // Publish the withdrawal sweep transaction. err := m.cfg.WalletKit.PublishTransaction(ctx, tx, txLabel) if err != nil { - if !strings.Contains(err.Error(), "output already spent") && - !strings.Contains(err.Error(), "insufficient fee") { + if !strings.Contains(err.Error(), chain.ErrSameNonWitnessData.Error()) && + !strings.Contains(err.Error(), "output already spent") && + !strings.Contains(err.Error(), chain.ErrInsufficientFee.Error()) { return false, err } else { + if strings.Contains(err.Error(), "output already spent") { + log.Warnf("output already spent, tx %v, %v", + tx.TxHash(), err) + } + return false, nil } } else {