Use `ValueEnum` for `--type` in `compile` command
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
Línea de trabajo
Empieza por CompileCommand::script_type y por el manejo de compile en src/handlers/descriptor.rs, donde el brazo _ => devuelve "Invalid script type". Usa el enum DatabaseType en src/persister.rs como patrón para derivar clap::ValueEnum. Está terminado cuando las variantes del enum reemplazan la cadena, el match es exhaustivo sin brazo de respaldo, los valores de --type siguen mostrándose como sh, wsh, sh-wsh y tr, y las pruebas existentes de compile pasan.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
CompileCommand::script_type is a String restricted by value_parser = ["sh", "wsh", "sh-wsh", "tr"], so clap already rejects anything else.
https://github.com/bitcoindevkit/bdk-cli/blob/4f4d8cafb3dd6a449aa587e520ece781128f0904/src/handlers/descriptor.rs#L73-L75
The _ => arm in execute returning "Invalid script type" is unreachable, it only exists because the compiler can't know that.
https://github.com/bitcoindevkit/bdk-cli/blob/4f4d8cafb3dd6a449aa587e520ece781128f0904/src/handlers/descriptor.rs#L116-L120
Replace the string with an enum deriving clap::ValueEnum (Sh, Wsh, ShWsh, Tr), so the match is exhaustive and the list of values lives in one place. clap renders variant names in kebab-case, so ShWsh stays sh-wsh and the CLI doesn't change. See DatabaseType in src/persister.rs for existing ValueEnum usage.
No behavior change expected, existing compile tests should keep passing.
- Lenguaje dominante
- Rust
- Estrellas
- 143
- Forks
- 98
- Merge medio
- 6 d 8 h
- PR fusionados (30 d)
- 6
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-cli
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
bitcoindevkit/bdk-cli#332 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
`compile` doesn't validate keys and returns unusable descriptorsPosiblemente ocupada @Olorunshogo la tomó hace 1 día. Abiertoenhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
bitcoindevkit/bdk-cli#344 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 50/100
bitcoindevkit/bdk-cli#340 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Enforce Core-compatible OP_RETURN / datacarrier and standard tx-size limits in create_txPosiblemente ocupada @tvpeter la tomó hace 14 días. Abiertoenhancement
bitcoindevkit/bdk-cli#339 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
bitcoindevkit/bdk-cli#338 ·
Los mantenedores suelen responder en 2 días
Todos los issues de bitcoindevkit/bdk-cli
Issues similares
-
XmlFragment children, successors and siblings stop at the first child that is not an XML typeAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
repowise-dev/repowise#3374 ·
Los mantenedores suelen responder en 1 día
-
awaiting-response bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wildcard/caro#1562 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
objectionary/sodg.rs#301 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
HakanSeven12/OpenCADStudio#1706 · 1 comentario ·
Los mantenedores suelen responder en 1 día