From 1a6c4785e9b824a2f229050eb3644d951fb03716 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Tue, 28 Aug 2018 08:16:50 -0400 Subject: [PATCH] Cleanup ledger godocs and reduce complexity --- crypto/ledger.go | 6 +++--- crypto/ledger_secp256k1.go | 18 +++++++----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/crypto/ledger.go b/crypto/ledger.go index 346d4bfb3..b9aa65b56 100644 --- a/crypto/ledger.go +++ b/crypto/ledger.go @@ -6,9 +6,9 @@ import ( ledger "github.com/zondax/ledger-goclient" ) -// If ledger support (build tag) has been enabled, set the discoverLedger -// function which is responsible for loading the Ledger device at runtime or -// returning an error. +// If ledger support (build tag) has been enabled, which implies a CGO dependency, +// set the discoverLedger function which is responsible for loading the Ledger +// device at runtime or returning an error. func init() { discoverLedger = func() (LedgerSECP256K1, error) { device, err := ledger.FindLedger() diff --git a/crypto/ledger_secp256k1.go b/crypto/ledger_secp256k1.go index c59f8e3b4..49f110b3d 100644 --- a/crypto/ledger_secp256k1.go +++ b/crypto/ledger_secp256k1.go @@ -49,20 +49,16 @@ type ( // CONTRACT: The ledger device, ledgerDevice, must be loaded and set prior to // any creation of a PrivKeyLedgerSecp256k1. func NewPrivKeyLedgerSecp256k1(path DerivationPath) (tmcrypto.PrivKey, error) { - var ledgerDevice LedgerSECP256K1 - - if discoverLedger != nil { - device, err := discoverLedger() - if err != nil { - return nil, errors.Wrap(err, "failed to create PrivKeyLedgerSecp256k1") - } - - ledgerDevice = device - } else { + if discoverLedger == nil { return nil, errors.New("no Ledger discovery function defined") } - pkl := &PrivKeyLedgerSecp256k1{Path: path, ledger: ledgerDevice} + device, err := discoverLedger() + if err != nil { + return nil, errors.Wrap(err, "failed to create PrivKeyLedgerSecp256k1") + } + + pkl := &PrivKeyLedgerSecp256k1{Path: path, ledger: device} pubKey, err := pkl.getPubKey() if err != nil {