Versions in this module Expand all Collapse all v1 v1.0.0 May 10, 2019 Changes in this version + const BreachHintSize + const SessionIDSize + var ErrClientSessionNotFound = errors.New("client session not found") + var ErrCommitUnorderedUpdate = errors.New("update seqnum not monotonic") + var ErrCommittedUpdateNotFound = errors.New("committed update not found") + var ErrIncorrectKeyIndex = errors.New("incorrect key index") + var ErrLastAppliedReversion = errors.New(...) + var ErrNoDBVersion = errors.New("tower db has no version") + var ErrNoReservedKeyIndex = errors.New("key index not reserved") + var ErrNoSessionHintIndex = errors.New("session hint index missing") + var ErrSeqNumAlreadyApplied = errors.New(...) + var ErrSessionAlreadyExists = errors.New("session already exists") + var ErrSessionConsumed = errors.New(...) + var ErrSessionNotFound = errors.New("session not found in db") + var ErrTowerNotFound = errors.New("tower not found") + var ErrUnallocatedLastApplied = errors.New(...) + var ErrUninitializedDB = errors.New("tower db not initialized") + var ErrUpdateAlreadyCommitted = errors.New("update already committed") + var ErrUpdateOutOfOrder = errors.New(...) + func DisableLog() + func ReadElement(r io.Reader, element interface{}) error + func ReadElements(r io.Reader, elements ...interface{}) error + func UseLogger(logger btclog.Logger) + func WriteElement(w io.Writer, element interface{}) error + func WriteElements(w io.Writer, elements ...interface{}) error + type BackupID struct + ChanID lnwire.ChannelID + CommitHeight uint64 + type BreachHint [BreachHintSize]byte + func NewBreachHintFromHash(hash *chainhash.Hash) BreachHint + func (h BreachHint) String() string + type ClientSession struct + AckedUpdates map[uint16]BackupID + CommittedUpdates map[uint16]*CommittedUpdate + ID SessionID + KeyIndex uint32 + Policy wtpolicy.Policy + RewardPkScript []byte + SeqNum uint16 + SessionPrivKey *btcec.PrivateKey + Tower *Tower + TowerID uint64 + TowerLastApplied uint16 + type CommittedUpdate struct + BackupID BackupID + EncryptedBlob []byte + Hint BreachHint + type Match struct + EncryptedBlob []byte + Hint BreachHint + ID SessionID + SeqNum uint16 + SessionInfo *SessionInfo + type SessionID [SessionIDSize]byte + func NewSessionIDFromPubKey(pubKey *btcec.PublicKey) SessionID + func (s SessionID) String() string + type SessionInfo struct + ClientLastApplied uint16 + ID SessionID + LastApplied uint16 + Policy wtpolicy.Policy + RewardAddress []byte + func (s *SessionInfo) AcceptUpdateSequence(seqNum, lastApplied uint16) error + func (s *SessionInfo) Decode(r io.Reader) error + func (s *SessionInfo) Encode(w io.Writer) error + type SessionStateUpdate struct + EncryptedBlob []byte + Hint BreachHint + ID SessionID + LastApplied uint16 + SeqNum uint16 + func (u *SessionStateUpdate) Decode(r io.Reader) error + func (u *SessionStateUpdate) Encode(w io.Writer) error + type Tower struct + Addresses []net.Addr + ID uint64 + IdentityKey *btcec.PublicKey + func (t *Tower) AddAddress(addr net.Addr) + func (t *Tower) LNAddrs() []*lnwire.NetAddress + type TowerDB struct + func OpenTowerDB(dbPath string) (*TowerDB, error) + func (t *TowerDB) Close() error + func (t *TowerDB) DeleteSession(target SessionID) error + func (t *TowerDB) GetLookoutTip() (*chainntnfs.BlockEpoch, error) + func (t *TowerDB) GetSessionInfo(id *SessionID) (*SessionInfo, error) + func (t *TowerDB) InsertSessionInfo(session *SessionInfo) error + func (t *TowerDB) InsertStateUpdate(update *SessionStateUpdate) (uint16, error) + func (t *TowerDB) QueryMatches(breachHints []BreachHint) ([]Match, error) + func (t *TowerDB) SetLookoutTip(epoch *chainntnfs.BlockEpoch) error + func (t *TowerDB) Version() (uint32, error) + type UnknownElementType = channeldb.UnknownElementType