From d2d24b6680d7d365e68109a94de78c207fb4c269 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Mon, 3 Mar 2025 14:25:49 +0100 Subject: [PATCH 1/2] fix: propagate ledger error wrapping correctly --- crypto/keyring/keyring.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crypto/keyring/keyring.go b/crypto/keyring/keyring.go index 6598aa88738f..46dde35c5659 100644 --- a/crypto/keyring/keyring.go +++ b/crypto/keyring/keyring.go @@ -3,6 +3,7 @@ package keyring import ( "bufio" "encoding/hex" + "errors" "fmt" "io" "os" @@ -11,7 +12,6 @@ import ( "strings" "github.com/99designs/keyring" - "github.com/cockroachdb/errors" "github.com/cosmos/go-bip39" "golang.org/x/crypto/bcrypt" @@ -418,7 +418,7 @@ func (ks keystore) SaveLedgerKey(uid string, algo SignatureAlgo, hrp string, coi priv, _, err := ledger.NewPrivKeySecp256k1(*hdPath, hrp) if err != nil { - return nil, errors.CombineErrors(ErrLedgerGenerateKey, err) + return nil, errorsmod.Wrap(err, ErrLedgerGenerateKey.Error()) } return ks.writeLedgerKey(uid, priv.PubKey(), hdPath) @@ -813,7 +813,7 @@ func (ks keystore) writeRecord(k *Record) error { serializedRecord, err := ks.cdc.Marshal(k) if err != nil { - return errors.CombineErrors(ErrUnableToSerialize, err) + return errorsmod.Wrap(err, ErrUnableToSerialize.Error()) } item := keyring.Item{ @@ -964,7 +964,7 @@ func (ks keystore) migrate(key string) (*Record, error) { serializedRecord, err := ks.cdc.Marshal(k) if err != nil { - return nil, errors.CombineErrors(ErrUnableToSerialize, err) + return nil, errorsmod.Wrap(err, ErrUnableToSerialize.Error()) } item = keyring.Item{ From 8d0cff47e89e4e30c61e1bd332b8c60187ce8608 Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Mon, 3 Mar 2025 14:55:59 +0100 Subject: [PATCH 2/2] chore: add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 991139534087..e16b0e068a69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (baseapp) [#2](https://github.com/01builders/cosmos-sdk/pull/2) Re-add query router for custom abci queries. * (x/auth/vesting) [#3](https://github.com/01builders/cosmos-sdk/pull/3) Add start time for continuous vesting accounts. * (testing) [#5](https://github.com/01builders/cosmos-sdk/pull/5) Add `MakeTestEncodingConfigWithOpts` to pass `testutil.CodecOptions` when creating `TestEncodingConfig`. +* (crypto/keyring) [#8](https://github.com/01builders/cosmos-sdk/pull/8) Fix error wrapping in pkg crypto/keyring. Removed `cockroachdb/errors` in favour of `errorsmod.Wrap`. ## [v0.50.11](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.11) - 2024-12-16