Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Unspendable TXO Finder

Abierto
#9,133 3 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@ddustin ya está trabajando en esto.

Desde el 13/5/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

The problem:

UTXOs can become unspendable TXOs. When they do, multiple systems in CLN remain in pending states that can confuse users.

This problem is particularly exasperated when users have lots of channels in many states as seen in #9102 and #9112

The solution:

A system that collects all inputs on SIGHASH_ALL tx's we care about (channel opens, splices, wallet activity) and monitors the chain for their inputs being spent. After some spending depth (100?) we move the corresponding tx state into a new NOT_POSSIBLE state. A state of this kind would need to exist for wallet UTXOs, channels, and inflights.

Then, when displaying user balances, we exclude the NOT_POSSIBLE items.

Importantly we should never delete these and if possible reorgs should move the items back into their old states.

  • Make system to track all inputs of wallet txs
    • When the txs confirm + some depth (100?), stop tracking them
  • Improve system to add channel open inflights
  • Improve system to add channel splice inflights
  • Add NOT_POSSIBLE state to wallet UTXOs
    • Hide NOT_POSSIBLE state UTXOs from user RPCs that show funds
    • Ignore NOT_POSSIBLE state UTXOs from all sources that acquire funds (utxopsbt, addpsbtinput, fundpsbt, etc)
  • Channel opens where the funding tx has become NOT_POSSIBLE
    • Force-close the channel
  • Channel splices where the inflight has become NOT_POSSIBLE
    • These must continue to be processed as per the spec, so channel stays in AWAITING_SPLICE
    • Show the inflight as NOT_POSSIBLE in the user RPC

Fixes #9102
Fixes #9112

See https://github.com/ksedgwic/clboss/issues/312 for an example

Lenguaje dominante
C
Estrellas
3.1k
Forks
1k
Merge medio
4 d 4 h
PR fusionados (30 d)
27

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ElementsProject/lightning

Todos los issues de ElementsProject/lightning

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.