lnd/chainntnfs
Oli 8047149c6a
multi: upgrade to btcd v2 modules
Migrate all btcd dependencies to the new per-package v2 modules (wire/v2,
txscript/v2, chaincfg/v2, chainhash/v2, btcutil/v2, psbt/v2, btcec/v2)
introduced by btcd v0.26.0, and pin the tagged ecosystem versions:
btcwallet v0.17.0, neutrino v0.18.0 and lightning-onion v1.4.0.

The bulk of the import rewrite was produced by the scripted diff from
https://github.com/btcsuite/btcd/pull/2547 (followed by 'make rpc'). The
address symbols that moved out of btcutil into the new address package
are imported as btcaddr where a local "address" variable would otherwise
shadow them. The go.mod/go.sum updates and the remaining manual
compilation fixes are folded into this single commit so it builds on its
own (the migration was previously split into a reproducible scripted-diff
plus follow-ups, intended to be squashed on merge).
2026-06-24 10:58:36 -07:00
..
bitcoindnotify multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
btcdnotify multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
neutrinonotify multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
test multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
best_block_view.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
best_block_view_test.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
errors.go chainntnfs: move cache implementation to channeldb 2023-01-16 03:13:17 -08:00
interface.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
interface_dev.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
log.go multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
mempool.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
mempool_test.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
mocks.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
test_utils.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
txnotifier.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00
txnotifier_test.go multi: upgrade to btcd v2 modules 2026-06-24 10:58:36 -07:00

chainntnfs

Build Status MIT licensed GoDoc

The chainntnfs package implements a set of interfaces which allow callers to receive notifications in response to specific on-chain events. The set of notifications available include:

  • Notifications for each new block connected to the current best chain.
  • Notifications once a txid has reached a specified number of confirmations.
  • Notifications once a target outpoint (txid:index) has been spent.

These notifications are used within lnd in order to properly handle the workflows for: channel funding, cooperative channel closures, forced channel closures, channel contract breaches, sweeping time-locked outputs, and finally pruning the channel graph.

This package is intentionally general enough to be applicable outside the specific use cases within lnd outlined above. The current sole concrete implementation of the ChainNotifier interface depends on btcd.

Installation and Updating

$  go get -u github.com/lightningnetwork/lnd/chainntnfs