Expose remaining SignOptions fields in the wallet sign command
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
Direção de pesquisa
A issue diz que a alteração se limita a SignCommand; comece lendo as definições dos argumentos e o método execute. Adicione opções de CLI para os campos listados de SignOptions, preservando os padrões da biblioteca quando as flags forem omitidas, e determine como serializar TapLeavesOptions. O trabalho estará concluído quando os usuários da CLI puderem definir cada campo e as opções omitidas mantiverem seus padrões.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Rust
- Estrelas
- 143
- Forks
- 103
- Merge médio
- 2d 9h
- PRs com merge (30d)
- 5
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de bitcoindevkit/bdk-cli
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
bitcoindevkit/bdk-cli#360 ·
Mantenedores costumam responder em até 2 dias
-
wallet sign command returns generic error for decoding failuresTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
bitcoindevkit/bdk-cli#357 ·
Mantenedores costumam responder em até 2 dias
-
Remove "wallet" field from `WalletConfigInner`Talvez já em andamento @Jennycj assumiu há 8 dias. Abertaenhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
bitcoindevkit/bdk-cli#332 · 2 comentários ·
Mantenedores costumam responder em até 2 dias
-
enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
bitcoindevkit/bdk-cli#359 ·
Mantenedores costumam responder em até 2 dias
-
Add wallet commands that returns a list of unused addressesTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertaenhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
bitcoindevkit/bdk-cli#349 ·
Mantenedores costumam responder em até 2 dias
Todas as issues de bitcoindevkit/bdk-cli
Issues semelhantes
-
area: supply-chain
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
-
Refresh stale docsAberta
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 67/100
OpenCarControls/firmware#35 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia