diff --git a/wallet/wallet.go b/wallet/wallet.go index e006fba..4f5330b 100644 --- a/wallet/wallet.go +++ b/wallet/wallet.go @@ -3385,7 +3385,7 @@ func (w *Wallet) publishTransaction(tx *wire.MsgTx) (*chainhash.Hash, error) { return nil, err } - txid, err := chainClient.SendRawTransaction(tx, false) + _, err = chainClient.SendRawTransaction(tx, false) // Determine if this was an RPC error thrown due to the transaction // already confirming. @@ -3394,9 +3394,10 @@ func (w *Wallet) publishTransaction(tx *wire.MsgTx) (*chainhash.Hash, error) { rpcTxConfirmed = rpcErr.Code == btcjson.ErrRPCTxAlreadyInChain } + txid := tx.TxHash() switch { case err == nil: - return txid, nil + return &txid, nil // Since we have different backends that can be used with the wallet, // we'll need to check specific errors for each one. @@ -3415,7 +3416,7 @@ func (w *Wallet) publishTransaction(tx *wire.MsgTx) (*chainhash.Hash, error) { case strings.Contains( strings.ToLower(err.Error()), "txn-already-in-mempool", ): - return txid, nil + return &txid, nil // If the transaction has already confirmed, we can safely remove it // from the unconfirmed store as it should already exist within the @@ -3450,7 +3451,7 @@ func (w *Wallet) publishTransaction(tx *wire.MsgTx) (*chainhash.Hash, error) { "from unconfirmed store: %v", tx.TxHash(), dbErr) } - return txid, nil + return &txid, nil // If the transaction was rejected for whatever other reason, then we'll // remove it from the transaction store, as otherwise, we'll attempt to