lnd/channeldb
Oliver Gugger a62600799e
htlcswitch+channeldb+lnwallet: fix CustomRecord decoding
It doesn't make sense to do multiple encode/decode round trips on the
custom data of an HTLC. So we just use the same custom record type
everywhere, which also simplifies some of the code again.
2024-05-27 18:19:47 +02:00
..
migration multi: fix fmt.Errorf error wrapping 2024-02-27 11:13:40 +00:00
migration12
migration13
migration16
migration20
migration21 multi: wrap all errors 2024-04-11 15:04:03 +02:00
migration23 multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
migration24 channeldb+migration: export commonly used methods 2022-04-20 01:18:12 +08:00
migration25 multi: wrap all errors 2024-04-11 15:04:03 +02:00
migration26 multi: fix fmt.Errorf error wrapping 2024-02-27 11:13:40 +00:00
migration27 multi: wrap all errors 2024-04-11 15:04:03 +02:00
migration29 channeldb: BigSize migration, store zero-conf, scid-alias bits 2022-07-07 17:10:27 -04:00
migration30 multi: wrap all errors 2024-04-11 15:04:03 +02:00
migration31 multi: Add a channel.db migration. 2023-08-15 10:00:30 +02:00
migration_01_to_11 multi: wrap all errors 2024-04-11 15:04:03 +02:00
migtest multi: pass in a MigrationConfig to all optional migrations 2023-02-16 20:45:08 +02:00
models multi: add tapscript root to gossip message 2024-05-27 12:58:29 +02:00
addr_test.go
addr.go
channel_cache_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
channel_cache.go
channel_test.go channeldb: convert RevocationLog to use RecordT 2024-05-01 11:19:19 +02:00
channel.go htlcswitch+channeldb+lnwallet: fix CustomRecord decoding 2024-05-27 18:19:47 +02:00
codec.go multi: wrap all errors 2024-04-11 15:04:03 +02:00
db_test.go multi: make NewChanIDFromOutpoint accept value instead of pointer 2024-03-08 15:47:55 -08:00
db.go multi: wrap all errors 2024-04-11 15:04:03 +02:00
duplicate_payments.go channeldb: return error when payment is not found in duplicate payments 2023-10-06 16:34:47 -07:00
error.go multi: return error from MarkEdgeLive if not found 2023-11-13 20:58:06 +02:00
forwarding_log_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
forwarding_log.go
forwarding_package_test.go multi: make NewChanIDFromOutpoint accept value instead of pointer 2024-03-08 15:47:55 -08:00
forwarding_package.go
forwarding_policy.go channeldb+funding: move policy encoding into channel DB 2023-08-22 06:22:33 +08:00
graph_cache_test.go routing: add inbound fee support to pathfinding 2024-03-31 18:12:28 +02:00
graph_cache.go routing: add inbound fee support to pathfinding 2024-03-31 18:12:28 +02:00
graph_test.go routing: add inbound fee support to pathfinding 2024-03-31 18:12:28 +02:00
graph.go channeldb: explicitly catch error in pruneGraphNodes 2024-04-11 15:04:03 +02:00
height_hint_test.go chainntnfs: move cache implementation to channeldb 2023-01-16 03:13:17 -08:00
height_hint.go chainntnfs: move cache implementation to channeldb 2023-01-16 03:13:17 -08:00
invoice_test.go invoices: move InvoiceDB tests unrelated to kvdb to invoices package 2024-02-19 20:47:24 +01:00
invoices.go invoices: move UpdateInvoice implementation to the invoices package 2024-02-19 20:47:24 +01:00
legacy_serialization.go multi: update "funding locked" comments 2023-04-27 20:02:34 +02:00
log.go multi: Add a channel.db migration. 2023-08-15 10:00:30 +02:00
meta_test.go multi: pass in a MigrationConfig to all optional migrations 2023-02-16 20:45:08 +02:00
meta.go channeldb: export DB migration related functions 2022-10-13 09:45:07 +02:00
mp_payment_test.go routing: add AllowMoreAttempts to decide whether more attempts are allowed 2023-11-13 16:09:11 +08:00
mp_payment.go channeldb+routing: add new interface method TerminalInfo 2023-11-13 16:09:11 +08:00
nodes_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
nodes.go multi: fix make fmt 2022-08-23 22:10:24 +08:00
options_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
options.go multi: add new NoRevLogAmtData config option 2023-02-16 20:47:29 +02:00
paginate.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
payment_control_test.go channeldb: fix payment control unit tests w/ errors.Is 2024-04-11 15:04:04 +02:00
payment_control.go multi: wrap all errors 2024-04-11 15:04:03 +02:00
payment_status_test.go channeldb: add unit test for decidePaymentStatus 2023-10-06 16:34:47 -07:00
payment_status.go channeldb: expand PaymentStatus to explicitly represent payment status 2023-10-06 16:34:47 -07:00
payments_test.go multi: fix timestamp filters for payment query 2024-02-05 15:26:49 +08:00
payments.go multi: wrap all errors 2024-04-11 15:04:03 +02:00
peers_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
peers.go
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
reject_cache_test.go
reject_cache.go
reports_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
reports.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
revocation_log_test.go channeldb: add HtlcIndex to HTLCEntry 2024-05-01 11:19:53 +02:00
revocation_log.go channeldb: add HtlcIndex to HTLCEntry 2024-05-01 11:19:53 +02:00
setup_test.go
waitingproof_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
waitingproof.go
witness_cache_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
witness_cache.go multi: fix make fmt 2022-08-23 22:10:24 +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