Pregunta 2

wallet: fix mixed-input transaction accounting in history RPCs

Kepler 15/09/2026 11:44
Pregunta 2 → En el primer commit se introduce el enum WalletTxInputOwnership (NONE, PARTIAL, ALL) junto con el caché m_cached_input_ownership en CWalletTx. ¿Por qué el enum necesita tres estados en lugar de reutilizar el bool existente AllInputsMine()? ¿Por qué la clasificación se guarda en caché y se invalida con MarkDirty()?
22/09/2026 18:11
Vamos con la segunda!
arejula27 22/09/2026 18:12
👀
Kepler 22/09/2026 18:12
Quien quiere romper el hielo con esta?
arejula27 22/09/2026 18:12
Para diferenciar con el mismo tipo todos los posibles casos. Permite distinguir transacciones con mixed-input sin tener que repetir el scan de inputs ajenos (recordemos que estos no viven en la wallet)
👍 2
22/09/2026 18:13
La ultima pregunta la dejo para otro, sino la trato de responder jejeje
👏 1 🤓 1
Kepler 22/09/2026 18:13
Correcto, de este modo podemos distinguir entre mixed inputs, all inputs mine i none inputs mine
🔥 2
nebula 22/09/2026 18:15
Guardamos en chache porque para diferenciar los tipos de inputs hay q recorer todos para saber si pertenecen o no.
👍 2
Leo (w0xlt) 22/09/2026 18:15
Hola a todos
👋 3
Andrea Díaz Correia 22/09/2026 18:15
claro se guarda para evitar repetir el recorrido
22/09/2026 18:16
Y pq es importante el MarkDirty()?
Andrea Díaz Correia 22/09/2026 18:16
y se invalida para que la info no quede desactualizada no?
arejula27 22/09/2026 18:17
por que se invalida en dos casos, la clasificacion no es statless, depende del estado de la wallet, es decir, si llega un nuev input (antes contaba como externo y ahora es nuestro) o se añade un descriptor (nuevos inputs pueden ser nuestros)
🔥 1
22/09/2026 18:17
creo que el codigo solo contempla la segunda opcion pero no me acuerdo
Kepler 22/09/2026 18:17
Correcto!
😇 1
Leo (w0xlt) 22/09/2026 18:18
Sí, pero el estado conocido por la wallet puede cambiar; por ejemplo, después de importar una transacción padre que faltaba. MarkDirty() invalida la clasificación almacenada en caché, de modo que la siguiente consulta la recalcula.
🔥 1 👍 1
22/09/2026 18:19
Vamos con la siguiente!