Expose remaining SignOptions fields in the wallet sign command
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
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
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
- 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
-
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 10 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
-
enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
bitcoindevkit/bdk-cli#359 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de bitcoindevkit/bdk-cli
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
project-robius/robrix#1177 ·
Les mainteneurs répondent en général sous 1 jour
-
Quadratic time in Query::bind() makes large parameterized queries (multi-row INSERT) very slowOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
ClickHouse/clickhouse-rs#497 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
Les mainteneurs répondent en général sous 1 jour
-
test(breg): postgres_startup needs the tooling feature its required-features does not declareOuvertearea:breg bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
registrystack/registry-stack#2307 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
farion1231/cc-switch#8696 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour