lnd/channeldb
ziggie 118261aca4
invoices+channeldb: Fix AMP invoices behaviour.
We now cancel all HTLCs of an AMP invoice as soon as it expires.
Otherwise because we mark the invoice as cancelled we would not
allow accepted HTLCs to be resolved via the invoiceEventLoop.
2025-01-31 13:10:02 +01:00
..
migration multi: update to fn v2 2024-12-04 13:19:00 -07:00
migration12 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration13 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration16 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration20 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration21 chore: fix some comments for struct field 2024-07-16 11:44:35 +08:00
migration23 multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
migration24 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration25 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration26 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration27 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration29 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration30 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration31 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration32 multi: update to fn v2 2024-12-04 13:19:00 -07:00
migration33 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migration_01_to_11 multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
migtest multi: pass in a MigrationConfig to all optional migrations 2023-02-16 20:45:08 +02:00
addr_source.go channeldb: let AddrsForNode indicate if the node was found or not 2024-11-28 13:36:15 +02:00
addr_source_test.go channeldb: let AddrsForNode indicate if the node was found or not 2024-11-28 13:36:15 +02:00
channel.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
channel_test.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
codec.go channeldb/graphdb: move outpoint ser/deser funcs to graphdb 2024-11-28 13:34:08 +02:00
db.go multi: rename chan DB Open method to OpenForTesting 2024-11-28 13:51:15 +02:00
db_test.go multi: rename chan DB Open method to OpenForTesting 2024-11-28 13:51:15 +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 refactor: move graph related DB code to graph/db from channeldb 2024-11-28 13:36:13 +02:00
forwarding_log.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
forwarding_log_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
forwarding_package.go channeldb: add convenience functions for generating Source/Dest Refs 2024-09-09 16:53:10 -06:00
forwarding_package_test.go channeldb: fix race in TestPackager by removing global test var 2024-04-26 12:36:53 -07:00
forwarding_policy.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00
height_hint.go chainntnfs: move cache implementation to channeldb 2023-01-16 03:13:17 -08:00
height_hint_test.go multi: rename chan DB Open method to OpenForTesting 2024-11-28 13:51:15 +02:00
invoice_test.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00
invoices.go invoices+channeldb: Fix AMP invoices behaviour. 2025-01-31 13:10:02 +01:00
legacy_serialization.go multi: update "funding locked" comments 2023-04-27 20:02:34 +02:00
log.go multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
meta.go channeldb: export DB migration related functions 2022-10-13 09:45:07 +02:00
meta_test.go channeldb: remove graph db from channeldb 2024-11-28 13:36:15 +02:00
mp_payment.go channeldb+routing: add new interface method TerminalInfo 2023-11-13 16:09:11 +08:00
mp_payment_test.go routing: add AllowMoreAttempts to decide whether more attempts are allowed 2023-11-13 16:09:11 +08:00
nodes.go channeldb+graph/db: move net.Addr encode/decode to graph db package 2024-11-28 13:34:08 +02:00
nodes_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
options.go channeldb+graphdb: init graph DB outside of channel db 2024-11-28 13:36:15 +02:00
paginate.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
payment_control.go multi: rename nolint:lll to nolint:ll 2024-12-02 09:14:21 +02:00
payment_control_test.go channeldb+rpcserver: return number of deleted payments 2024-11-06 15:30:21 +01:00
payment_status.go channeldb: expand PaymentStatus to explicitly represent payment status 2023-10-06 16:34:47 -07:00
payment_status_test.go channeldb: add unit test for decidePaymentStatus 2023-10-06 16:34:47 -07:00
payments.go channeldb+rpcserver: return number of deleted payments 2024-11-06 15:30:21 +01:00
payments_test.go channeldb+routing: persist first hop custom data for route 2024-09-05 18:00:53 +02:00
peers.go chanfitness: exit early when there are no updates 2024-11-14 01:22:32 +08:00
peers_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
reports.go channeldb/graphdb: move outpoint ser/deser funcs to graphdb 2024-11-28 13:34:08 +02:00
reports_test.go channeldb/graphdb: move outpoint ser/deser funcs to graphdb 2024-11-28 13:34:08 +02:00
revocation_log.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
revocation_log_test.go chore: fix typo 2025-01-05 20:45:35 +08:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
waitingproof.go multi: rename AnnounceSignatures to AnnounceSignatures1 2024-09-18 16:13:16 +02:00
waitingproof_test.go multi: rename AnnounceSignatures to AnnounceSignatures1 2024-09-18 16:13:16 +02:00
witness_cache.go multi: fix make fmt 2022-08-23 22:10:24 +08:00
witness_cache_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +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