Document trust requirements for floating-prevout accounting
Los mantenedores suelen responder en 2 días
@Anandb71 ya está trabajando en esto.
Desde el 18/10/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 84/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- documentation
Línea de trabajo
Comienza con la documentación de SpkTxOutIndex::scan_txout, sent_and_received y net_value, y compárala después con TxGraph::calculate_fee. Documenta que los valores de floating-prevout son supuestos de confianza proporcionados por quien realiza la llamada, y que escanearlos o persistirlos no verifica su corrección; la tarea estará terminada cuando la documentación de la API de contabilidad lo indique claramente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
SpkTxOutIndex::scan_txout, sent_and_received, and net_value do not document that accounting trusts supplied floating prevouts. An incorrect value with a tracked script is used directly, even when the parent transaction is unavailable. The first insertion is also included in IndexedTxGraph's changeset, so restoring that state retains the value.
TxGraph::calculate_fee explicitly says to insert only values the caller trusts; the indexer accounting methods lack the equivalent qualification. Merely having scanned a prevout does not establish its correctness.
This issue was found by AI.
To Reproduce
- Track a script in
SpkTxOutIndexand scan a floating prevout claiming1_000_000sat to that script, without its parent transaction. - Call
sent_and_receivedandnet_valueon a transaction spending that outpoint and returning4_000sat to the tracked script. - The reported sent amount is
1_000_000sat and net value is-996_000sat, based solely on the supplied claim. The method docs mention prior scanning, but not this trust requirement.
Expected behavior
The indexer API documentation should clearly describe the trust assumptions behind floating-prevout accounting, including that scanning or persisting a value does not verify it.
- Lenguaje dominante
- Rust
- Estrellas
- 1.1k
- Forks
- 520
- Merge medio
- 4 d 1 h
- PR fusionados (30 d)
- 21
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bitcoindevkit/bdk
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
bitcoindevkit/bdk#2432 ·
Los mantenedores suelen responder en 2 días
-
static/bdk.svg still shows the old logo (bdk.png has the new one)Quizá libre de nuevo @notmandatory la tomó hace 37 días y no hay ningún pull request abierto. Abiertobug chore
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
bitcoindevkit/bdk#2326 · 5 comentarios · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
file_store: `Store::append` through a second handle overwrites changesets appended via another handleQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
bitcoindevkit/bdk#2308 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
file_store: `Store::load` never terminates when a changeset entry decodes to zero bytesPosiblemente ocupada @nymius la tomó hace 84 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
bitcoindevkit/bdk#2307 · 5 comentarios ·
Los mantenedores suelen responder en 2 días
-
TxGraph:: apply_changeset ignores ChangeSet::first_seenPosiblemente ocupada @evanlinjin la tomó hace 18 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bitcoindevkit/bdk#2270 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de bitcoindevkit/bdk
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
fritzprix/libr-agent#2612 ·
Los mantenedores suelen responder en 1 día
-
crate: spate-core priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
NSPG13/agent-bounties#1749 ·
Los mantenedores suelen responder en 1 día
-
area: web bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
kinqsradio/orbyn-engineering#227 ·
Los mantenedores suelen responder en 1 día
-
移动端下载页实时吞吐与筛选栏滚动层级不一致Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día