lnd/channeldb
Elle Mouton 3365461500
channeldb+graph/db: move net.Addr encode/decode to graph db package
In preparation for moving the graph related schema structs to the graph
package in an upcoming commit, we move these methods to the graph
package. The structs we will move make use of these methods but we still
import them from channeldb so as to keep the ReadElement and
WriteElement helpers working as they do today.
2024-11-28 13:34:08 +02:00
..
graphsession multi: add abstraction for Router and SessionSource graph access 2024-07-15 15:13:57 +02:00
migration lnwire21: update Msat and TrueBoolean 2024-11-01 08:59:54 +02: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 routing+migration32: update MC encoding to use pure TLV 2024-11-01 12:28:06 +02: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
models multi: add tapscript root to gossip message 2024-09-18 10:25:41 +02:00
channel.go lnwallet: add TLV blob to PaymentDescriptor + htlc add 2024-08-28 13:21:12 +02:00
channel_cache.go channeldb/channel_cache: add channelCache w/ randomized eviction 2019-04-01 16:25:31 -07:00
channel_cache_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
channel_test.go channeldb: convert RevocationLog to use RecordT 2024-08-28 13:22:48 +02:00
codec.go channeldb+graph/db: move net.Addr encode/decode to graph db package 2024-11-28 13:34:08 +02:00
db.go routing: start writing and reading from namespaced MC 2024-10-01 13:50:50 +02:00
db_test.go multi: break ChannelConstraints into two sub-structures 2024-08-01 12:00:32 -07: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+graph/db: move net.Addr encode/decode to graph db package 2024-11-28 13:34:08 +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 channeldb+funding: move policy encoding into channel DB 2023-08-22 06:22:33 +08:00
graph.go channeldb+graph/db: move net.Addr encode/decode to graph db package 2024-11-28 13:34:08 +02:00
graph_cache.go routing: add inbound fee support to pathfinding 2024-03-31 18:12:28 +02:00
graph_cache_test.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
height_hint.go chainntnfs: move cache implementation to channeldb 2023-01-16 03:13:17 -08:00
height_hint_test.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: 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 multi: pass in a MigrationConfig to all optional migrations 2023-02-16 20:45:08 +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 multi: add new NoRevLogAmtData config option 2023-02-16 20:47:29 +02:00
options_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
paginate.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
payment_control.go routing: fix and enhance logging 2024-08-07 22:17:58 +08: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
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 multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
reports_test.go multi: replace defer cleanup with t.Cleanup 2022-10-13 17:46:54 +08:00
revocation_log.go channeldb: add HtlcIndex to HTLCEntry 2024-08-28 13:24:04 +02:00
revocation_log_test.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.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