[Feature request] Cap "select all" coin selection at 256 inputs (the per-transaction maximum)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start by locating the Android send flow’s coin control screen and the code that handles “Select all” for manually selected UTXOs. Trace how that selection reaches transaction building, and check whether an existing coin selection rule sets the input order or limit. Done means selection is capped at 256, the UI reports how many remain, and the large manual selection failure is investigated.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Title: Cap "select all" coin selection at 256 inputs (the per-transaction maximum)
Description
When a wallet has more than 256 UTXOs, the "select all" option in manual coin control currently tries to include every input. Since a single transaction supports at most 256 inputs, this results in an invalid or failing transaction rather than a usable one.
Expected behaviour
"Select all" should select the top 256 UTXOs (e.g. largest-value first, or whatever ordering coin selection already uses), filling the transaction to its maximum input count instead of exceeding it. The UI should make it clear that the selection has been capped and how many UTXOs remain unselected.
Current behaviour
All UTXOs are selected regardless of count, so wallets with >256 UTXOs cannot use "select all" to build a valid transaction.
Steps to reproduce
- Use a wallet (mainnet, testnet, or Liquid) holding more than 256 UTXOs.
- Open Send → coin control / manual UTXO selection.
- Tap "Select all".
- Attempt to build or sign the transaction.
Proposed solution
- Change "Select all" to select
min(total_utxos, 256)inputs, ordered by value descending (or by the existing coin-selection heuristic). - Show a notice such as "256 of N UTXOs selected (transaction limit)".
- Optionally offer a "Select next 256" action so users can consolidate large UTXO sets across several transactions.
Related: sending 255 manually selected inputs fails
Even staying under the limit, building a transaction with 255 manually selected UTXOs fails with:
Made one or multiple attempts, all errored:
- EOF while parsing a value at line 1 column 0
This looks like a serde_json error from GDK receiving an empty response from a backend call (fee estimation, UTXO fetch, or broadcast) rather than a transaction-construction error. Possibly a request timeout or payload size limit when the input set is large.
Steps to reproduce
- Open Send → coin control.
- Manually select 255 UTXOs.
- Enter a recipient and amount, continue to review/sign.
- Error above is shown; the transaction is never built.
Questions for maintainers
- Is there a practical input limit below 256 that the app enforces or should enforce?
- Does the same happen with a smaller selection (e.g. 100 inputs)? (fill in if you've tested)
- Lenguaje dominante
- Kotlin
- Estrellas
- 272
- Forks
- 110
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 Blockstream/green_android
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Blockstream/green_android#313 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
Blockstream/green_android#315 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
Blockstream/green_android#314 ·
-
Support scanning SeedQR recovery phrasesQuizá libre de nuevo @ardier16 la tomó hace 47 días y no hay ningún pull request abierto. Abiertofeature request
Blockstream/green_android#311 · 2 comentarios · 1 asignado ·
-
UX: Use "Passphrase BIP39" as a universal untranslated label — don't translate it as "contraseña"Quizá libre de nuevo @ardier16 la tomó hace 47 días y no hay ningún pull request abierto. Abiertoenhancement
Blockstream/green_android#310 · 4 comentarios · 1 asignado ·
Todos los issues de Blockstream/green_android
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Kotlin/kotlin-lsp#288 ·
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
chrisbanes/haze#1536 ·
Los mantenedores suelen responder en 1 día
-
Cassiopeia drops the `präsentiert von` credit printed in the event bodyPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoafk-ok area:data-quality importer size:S
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
enorm-labs/event-junkie#3166 ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
rajpreetcodes/Skills_MCP_Server#25 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
com-lihaoyi/mill#7776 ·
Los mantenedores suelen responder en 1 día