Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Use `ValueEnum` for `--type` in `compile` command

Fermée Adaptée aux débutants
#345 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@chukwudiikeh y travaille déjà.

Depuis le 9/10/2026.

  • #346 par @chukwudiikeh — ouverte
  • #348 par @studiokvc — fermée sans fusion

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
82/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
rust
Domaine
cli

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

good first issue

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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de bitcoindevkit/bdk-cli

Toutes les issues de bitcoindevkit/bdk-cli

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.