lnd/watchtower/wtdb/client_chan_summary.go
Conner Fromknecht 25fc464a6e
watchtower/wtdb/client_chan_summary: add ClientChanSummary
A ClientChanSummary will be inserted for each channel registered with
the client, which for now will just track the sweep pkscript to use. In
the future, this will be extended with additional information to enable
the client to efficiently compute which historical states need to be
backed up under a given policy.
2019-05-23 20:48:36 -07:00

33 lines
1003 B
Go

package wtdb
import (
"io"
"github.com/lightningnetwork/lnd/lnwire"
)
// ChannelSummaries is a map for a given channel id to it's ClientChanSummary.
type ChannelSummaries map[lnwire.ChannelID]ClientChanSummary
// ClientChanSummary tracks channel-specific information. A new
// ClientChanSummary is inserted in the database the first time the client
// encounters a particular channel.
type ClientChanSummary struct {
// SweepPkScript is the pkscript to which all justice transactions will
// deposit recovered funds for this particular channel.
SweepPkScript []byte
// TODO(conner): later extend with info about initial commit height,
// ineligible states, etc.
}
// Encode writes the ClientChanSummary to the passed io.Writer.
func (s *ClientChanSummary) Encode(w io.Writer) error {
return WriteElement(w, s.SweepPkScript)
}
// Decode reads a ClientChanSummary form the passed io.Reader.
func (s *ClientChanSummary) Decode(r io.Reader) error {
return ReadElement(r, &s.SweepPkScript)
}