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

Expose remaining SignOptions fields in the wallet sign command

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

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

@emma31-dev y travaille déjà.

Depuis le 21/10/2026.

  • #365 par @emma31-dev — ouverte

Évaluation

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

Piste de recherche

L’issue indique que la modification se limite à SignCommand ; commencez par lire les définitions des arguments et la méthode execute. Ajoutez des options CLI pour les champs SignOptions indiqués, en conservant les valeurs par défaut de la bibliothèque lorsque les flags sont omis, et déterminez comment sérialiser TapLeavesOptions. Le travail est terminé lorsque les utilisateurs de la CLI peuvent définir chaque champ et que les options omises conservent leurs valeurs par défaut.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

Describe the enhancement

The wallet sign command only exposes assume_height and trust_witness_utxo. The remaining fields on bdk_wallet::SignOptions: allow_all_sighashes, try_finalize, sign_with_tap_internal_key, and allow_grinding, tap_leaves_options are fixed at their defaults, so CLI users have no way to change them. This request adds a flag for each, using Option<bool> and Option<TapLeavesOptions> for tap_leaves_options so that omitting a flag preserves the library default.

Use case

allow_all_sighashes is needed to sign PSBTs using anything other than SIGHASH_ALL, which currently fails through the CLI. try_finalize = false is needed for multisig, where finalizing after the first signature blocks the second signer from adding theirs. remove_partial_sigs = false preserves partial signatures between signing rounds. sign_with_tap_internal_key and allow_grinding are useful for Taproot debugging and signature comparison. Together these make the CLI usable for collaborative signing, which is currently only possible by calling the library directly.

Additional context

The change is confined to SignCommand. Each field follows the existing pattern:

#[arg(env = "ALLOW_ALL_SIGHASHES", long = "allow_all_sighashes")]
pub allow_all_sighashes: Option<bool>,
// Other args

and feeds into SignOptions in execute:

let signopt = SignOptions {
    assume_height: self.assume_height,
    trust_witness_utxo: self.trust_witness_utxo.unwrap_or(false),
    allow_all_sighashes: self.allow_all_sighashes.unwrap_or(false),
    tap_leaves_options: self.tap_leaves_options.unwrap_or_default(),
    try_finalize: self.try_finalize.unwrap_or_default(),
    sign_with_tap_internal_key: self.sign_with_tap_internal_key.unwrap_or_default(),
    allow_grinding: self.allow_grinding.unwrap_or_default(),
};

tap_leaves_options would require a manual serializer though.

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.