Use `ValueEnum` for `--type` in `compile` command
Les mainteneurs répondent en général sous 1 jour
@chukwudiikeh y travaille déjà.
Depuis le 9/10/2026.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 82/100
Piste de recherche
Commencez par CompileCommand::script_type et la gestion de compile dans src/handlers/descriptor.rs, où la branche _ => renvoie "Invalid script type". Utilisez l'énumération DatabaseType dans src/persister.rs comme modèle pour dériver clap::ValueEnum. C'est terminé lorsque les variantes de l'énumération remplacent la chaîne, que le match est exhaustif sans branche de repli, que les valeurs de --type s'affichent toujours sh, wsh, sh-wsh et tr, et que les tests existants de compile passent.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Rust
- Étoiles
- 143
- Forks
- 103
- Merge moyen
- 2 j 9 h
- PR mergées (30 j)
- 5
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de bitcoindevkit/bdk-cli
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
bitcoindevkit/bdk-cli#362 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
bitcoindevkit/bdk-cli#360 ·
Les mainteneurs répondent en général sous 1 jour
-
Expose remaining SignOptions fields in the wallet sign commandPeut-être pris @emma31-dev l’a pris aujourd’hui. Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
bitcoindevkit/bdk-cli#358 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
wallet sign command returns generic error for decoding failuresPeut-être pris @emma31-dev l’a pris il y a 1 jour. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
bitcoindevkit/bdk-cli#357 ·
Les mainteneurs répondent en général sous 1 jour
-
Remove "wallet" field from `WalletConfigInner`Peut-être pris @Jennycj l’a pris il y a 9 jours. Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
bitcoindevkit/bdk-cli#332 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de bitcoindevkit/bdk-cli
Issues similaires
-
area: config effort: S good first issue P3 type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
ferenyl/azuredevopstui#63 ·
-
needs-triage O-Arm T-libs
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
bug CLI config mcp
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
yunaremaia/sandbox-ffi-layers#56 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
git-ai-project/git-ai#2434 ·
Les mainteneurs répondent en général sous 1 jour