lnd/channeldb
Olaoluwa Osuntokun 91f32ad270
contractcourt: catch error when no historical bucket exists
For older nodes, this bucket was never created, so we'll get an error if
we try and query it. In this commit, we catch this error like we do when
a given channel doesn't have the information (but the bucket actually
exists).

Fixes #6155
2022-01-18 09:11:13 -08:00
..
migration kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration12 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration13 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration16 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration20 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration21 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migration23 channeldb: migration to flatten the htlc attempts bucket 2021-09-07 10:46:49 +02:00
migration24 channeldb/migration: remove old forwarding packages 2021-09-23 13:22:34 +08:00
migration_01_to_11 kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
migtest kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
addr.go channeldb/addr: sanity check onion address length before writing to db 2019-01-17 14:16:15 +01:00
addr_test.go channeldb/addr_test: add tests for invalid onion addresses 2019-01-17 14:16:15 +01:00
channel.go multi: Removed deprecated interfacer linter 2022-01-11 14:08:18 +01:00
channel_cache.go channeldb/channel_cache: add channelCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
channel_cache_test.go channeldb/channel_cache: add channelCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
channel_test.go multi: move all channelstate operations to ChannelStateDB 2021-09-29 17:00:03 +02:00
codec.go channeldb+htlcswitch: write wire messages using length prefix 2021-02-24 17:15:27 +01:00
db.go contractcourt: catch error when no historical bucket exists 2022-01-18 09:11:13 -08:00
db_test.go contractcourt: catch error when no historical bucket exists 2022-01-18 09:11:13 -08:00
doc.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
duplicate_payments.go channeldb: read raw htlc attempt session key 2021-05-19 09:03:52 +02:00
error.go channeldb+invoices: use payment addr as primary index 2020-05-26 18:55:27 -07:00
fees.go channeldb: create new channeldb package, update lnwallet to use new API 2015-12-26 12:35:15 -06:00
forwarding_log.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
forwarding_log_test.go channeldb: fix for Windows clock resolution 2020-08-05 09:15:03 +02:00
forwarding_package.go channeldb: add method to wipe all forwarding packages 2021-09-23 13:22:33 +08:00
forwarding_package_test.go channeldb: add method to wipe all forwarding packages 2021-09-23 13:22:33 +08:00
graph.go multi: Removed deprecated interfacer linter 2022-01-11 14:08:18 +01:00
graph_cache.go channeldb: avoid locking the graph cache while iterating channels 2021-11-08 12:40:14 +01:00
graph_cache_test.go channeldb: add new ForEachNode method using the channel graph cache 2021-11-04 15:30:25 -07:00
graph_test.go channeldb: add NoMigration mode 2021-12-13 12:31:49 +01:00
invoice_test.go channeldb: add new TestSettleIndexAmpPayments test case 2021-10-28 15:50:25 -07:00
invoices.go channeldb: optimize updateInvoice for AMP by only reading relevant HTLCs 2021-10-28 15:50:15 -07:00
legacy_serialization.go Revert "channeldb: remove unsupported migrations" 2019-10-12 00:47:45 -07:00
log.go channeldb/migration: remove old forwarding packages 2021-09-23 13:22:34 +08:00
meta.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
meta_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
mp_payment.go channeldb: cache htlc attempt session key 2021-05-19 09:08:18 +02:00
mp_payment_test.go channeldb: read raw htlc attempt session key 2021-05-19 09:03:52 +02:00
nodes.go multi: carve out LinkNodeDB from channeldb.DB for cleaner separation 2021-09-29 17:00:02 +02:00
nodes_test.go multi: move all channelstate operations to ChannelStateDB 2021-09-29 17:00:03 +02:00
options.go channeldb: add NoMigration mode 2021-12-13 12:31:49 +01:00
options_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
paginate.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
payment_control.go payments: prefetch payment on hot paths 2021-09-14 13:12:23 +02:00
payment_control_test.go channeldb: add ability to delete a single payment from its ID 2021-09-13 12:50:40 +02:00
payments.go multi: Removed deprecated interfacer linter 2022-01-11 14:08:18 +01:00
payments_test.go channeldb: cache htlc attempt session key 2021-05-19 09:08:18 +02:00
peers.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
peers_test.go multi: store peer flap rate on disk on best effort basis 2020-09-08 13:49:46 +02:00
README.md multi: unify code blocks in READMEs 2021-01-22 09:14:11 +01:00
reject_cache.go channeldb/reject_cache: add rejectCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
reject_cache_test.go channeldb/reject_cache: add rejectCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
reports.go mod+kvdb+channeldb: use btcwallet new DB interface 2021-08-04 14:55:55 +02:00
reports_test.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
waitingproof.go multi: move all channelstate operations to ChannelStateDB 2021-09-29 17:00:03 +02:00
waitingproof_test.go lnwire: prep wire messages for TLV extensions 2021-02-24 17:31:55 +01:00
witness_cache.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
witness_cache_test.go channeldb: move makeTestDB out of test to make it available for other tests 2020-07-28 17:57:29 +02: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