wallet sign command returns generic error for decoding failures
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
Rechercherichtung
Beginne beim PSBT-Dekodierungspfad des Befehls bdk-cli wallet sign und verfolge, wie Dekodierungsfehler zu BDKCliError-Werten werden. Das Issue verweist auf die vorhandenen Varianten PsbtParseError und DecodeError; überprüfe die Fehlerzuordnung und führe die relevanten CLI-Tests aus. Als erledigt gilt die Aufgabe, wenn fehlerhafte PSBT-Eingaben einen aussagekräftigen Base64-Dekodierungsfehler statt eines generischen Fehlers melden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
When the bdk-cli wallet sign command is given a PSBT that cannot be decoded (e.g. malformed base64, truncated bytes, or invalid PSBT structure), the CLI returns a generic error instead of a descriptive one. The underlying BDKCliError already has a dedicated PsbtError and DecodeError variant, but the CLI appears to collapse decoding failures into Error::Generic, which makes it impossible for users to tell whether the problem is their PSBT, their wallet, or the signing step itself.
To Reproduce
- Build
bdk-cliwith any wallet backend. - Create a wallet and obtain a valid PSBT (or use an existing one).
- Corrupt the PSBT string or send a invalid one:
bdk-cli wallet -w test_user1 sign --psbt "cHNidP8BAKkBAAAAAsoKb5SPcP0PpTjvnGo3b4ANmCiirV/br9mIOgkb6DqyAAAAAAD9////"
- Observe the error output.
Expected behavior
The CLI should return a specific, actionable error that identifies the failure as a Base64 decoding problem.for example:
Error: Base64 decode error: Invalid padding
rather than:
Error: Generic error: Invalid padding
Build environment
· BDK-CLI tag/commit: main
· OS+version: macOS 12.7.6 (Monterey)
· Rust/Cargo version: rustc --version output
· Rust/Cargo target: x86_64-apple-darwin
Additional context
The BDKCliError enum already includes a PsbtParseError and DecodeErrorvariant so the fix is simple. I'll like to work on it myself.
- Vorherrschende Sprache
- Rust
- Sterne
- 143
- Forks
- 103
- Ø Merge
- 2 T. 15 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus bitcoindevkit/bdk-cli
-
key generate subcommand silently coerces any word count other than 12 to 24 wordsEvtl. vergeben @Olorunshogo hat das vor 2 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
bitcoindevkit/bdk-cli#362 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
bitcoindevkit/bdk-cli#360 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Expose remaining SignOptions fields in the wallet sign commandEvtl. vergeben @emma31-dev hat das vor 5 Tagen übernommen. Offenenhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
bitcoindevkit/bdk-cli#358 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Remove "wallet" field from `WalletConfigInner`Evtl. vergeben @Jennycj hat das vor 13 Tagen übernommen. Offenenhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
bitcoindevkit/bdk-cli#332 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
bitcoindevkit/bdk-cli#359 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in bitcoindevkit/bdk-cli
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
manuscript-lang/manuscript#1364 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
equinor/septic-config-generator#504 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
GiganticMinecraft/seichi-portal-backend#1633 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
fable-compiler/Fable#5157 ·
Maintainer antworten meist innerhalb von 1 Tag