lnd/lnwallet/rebroadcaster.go

28 lines
777 B
Go
Raw Permalink Normal View History

package lnwallet
import (
"github.com/btcsuite/btcd/chaincfg/chainhash"
"github.com/btcsuite/btcd/wire"
)
// Rebroadcaster is an abstract rebroadcaster instance that'll continually
// rebroadcast transactions in the background until they're confirmed.
type Rebroadcaster interface {
// Start launches all goroutines the rebroadcaster needs to operate.
Start() error
// Started returns true if the broadcaster is already active.
Started() bool
// Stop terminates the rebroadcaster and all goroutines it spawned.
Stop()
// Broadcast enqueues a transaction to be rebroadcast until it's been
// confirmed.
Broadcast(tx *wire.MsgTx) error
// MarkAsConfirmed marks a transaction as confirmed, so it won't be
// rebroadcast.
MarkAsConfirmed(txid chainhash.Hash)
}