lnd/channeldb
Elle Mouton 82ae0220c8
lnwire21: add custom records parsing
We add the new custom records encoding/decoding logic to the "frozen"
lnwire21 package. We can do this because nothing uses this logic yet. If
the custom records logic changes, the changes should _not_ be added to
the lnwire21 version.
2024-09-30 08:59:02 +02:00
..
graphsession multi: add abstraction for Router and SessionSource graph access 2024-07-15 15:13:57 +02:00
migration lnwire21: add custom records parsing 2024-09-30 08:59:02 +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 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 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 chore: fix some comments for struct field 2024-07-16 11:44:35 +08: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-09-18 10:25:41 +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-08-28 13:22:48 +02:00
channel.go lnwallet: add TLV blob to PaymentDescriptor + htlc add 2024-08-28 13:21:12 +02:00
codec.go multi: wrap all errors 2024-04-11 15:04:03 +02:00
db_test.go multi: break ChannelConstraints into two sub-structures 2024-08-01 12:00:32 -07:00
db.go refactor: create FetchLightningNode with no tx param 2024-07-15 15:13:57 +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 channeldb: add PutClosedScid and IsClosedScid 2024-08-27 14:11:05 -04:00
forwarding_log_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
forwarding_log.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
forwarding_package_test.go channeldb: fix race in TestPackager by removing global test var 2024-04-26 12:36:53 -07:00
forwarding_package.go channeldb: add convenience functions for generating Source/Dest Refs 2024-09-09 16:53:10 -06:00
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 channeldb: add PutClosedScid and IsClosedScid 2024-08-27 14:11:05 -04:00
graph.go channeldb: add PutClosedScid and IsClosedScid 2024-08-27 14:11:05 -04: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 channeldb: filter AMP state to relevant set IDs 2024-09-03 19:40:46 +02: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 routing: fix and enhance logging 2024-08-07 22:17:58 +08:00
payment_control.go routing: fix and enhance logging 2024-08-07 22:17:58 +08: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 channeldb+routing: persist first hop custom data for route 2024-09-05 18:00:53 +02:00
payments.go channeldb+routing: persist first hop custom data for route 2024-09-05 18:00:53 +02:00
peers_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
peers.go kvdb: move channeldb/kvdb to top level 2021-05-07 14:18:56 +02:00
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-08-28 13:24:04 +02:00
revocation_log.go channeldb: add HtlcIndex to HTLCEntry 2024-08-28 13:24:04 +02:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
waitingproof_test.go multi: rename AnnounceSignatures to AnnounceSignatures1 2024-09-18 16:13:16 +02:00
waitingproof.go multi: rename AnnounceSignatures to AnnounceSignatures1 2024-09-18 16:13:16 +02:00
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