lnd/channeldb
Johan T. Halseth 6fcc76fc68
channeldb/channel: ignore ChannelEdgePolicy with missing max_htlc
If the max_htlc field is not found when fetching a ChannelEdgePolicy
from the DB, we treat this as an unknown policy.

This is done to ensure we won't propagate invalid data further. The data
will be overwritten with a valid one when we receive an update for this
channel.

It shouldn't be very common, but old data could be lingering in the DB
added before this field was validated.
2019-01-22 08:42:28 +01:00
..
addr_test.go multi: fix linting errors 2018-08-02 18:20:50 -07:00
addr.go channledb/addr: remove silent encoding failure for unknown types 2018-07-03 17:07:10 -07:00
channel_test.go multi: move CsvDelay into ChannelConstraints 2019-01-11 16:58:15 -08:00
channel.go multi: move CsvDelay into ChannelConstraints 2019-01-11 16:58:15 -08:00
codec.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
db_test.go channeldb/db_test: add TestFetchClosedChannelForID 2018-11-21 10:28:56 +01:00
db.go channeldb/db: prevent filtering channels with unconfirmed close txs 2019-01-03 20:48:28 -05:00
doc.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
error.go channeldb/graph: add max HTLC to ChannelEdgePolicy 2019-01-22 08:42:27 +01:00
fees.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
forwarding_log_test.go channeldb: add a set of initial tests for the ForwardingLog 2018-03-06 13:56:09 -05:00
forwarding_log.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
forwarding_package_test.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
forwarding_package.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
graph_test.go channeldb/graph_test: assert MaxHTLC field correctness 2019-01-22 08:42:27 +01:00
graph.go channeldb/channel: ignore ChannelEdgePolicy with missing max_htlc 2019-01-22 08:42:28 +01:00
invoice_test.go channeldb: convert settled boolean to state 2019-01-04 07:53:55 +01:00
invoices.go channeldb: convert settled boolean to state 2019-01-04 07:53:55 +01:00
legacy_serialization.go channeldb/legacy_serialization: add deserializeCloseChannelSummaryV6 2018-11-21 10:12:05 +01:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
meta_test.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
meta.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
migrations_test.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
migrations.go channeldb: convert settled boolean to state 2019-01-04 07:53:55 +01:00
nodes_test.go channeldb: add DeleteLinkNode method 2018-07-17 17:35:25 -07:00
nodes.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
payments_test.go channeldb: test of payment statuses transitions 2018-08-21 19:23:21 -07:00
payments.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
README.md build+multi: switch from bolt to bbolt 2018-03-10 19:01:13 -08:00
waitingproof_test.go channeldb: use raw pub keys and signatures directly in vertex/edge structs 2018-02-06 20:14:31 -08:00
waitingproof.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00
witness_cache_test.go channeldb: add new WitnessCache structure 2018-01-22 19:19:37 -08:00
witness_cache.go multi: switch from bolt packge to bbolt package for all imports 2018-11-29 20:33:49 -08:00

channeldb

Build Status MIT licensed GoDoc

The channeldb implements the persistent storage engine for lnd and generically a data storage layer for the required state within the Lightning Network. The backing storage engine is boltdb, an embedded pure-go key-value store based off of LMDB.

The package implements an object-oriented storage model with queries and mutations flowing through a particular object instance rather than the database itself. The storage implemented by the objects includes: open channels, past commitment revocation states, the channel graph which includes authenticated node and channel announcements, outgoing payments, and invoices

Installation and Updating

$ go get -u github.com/lightningnetwork/lnd/channeldb