From 6ef266254702948c0fd39c7869465deb7def85b2 Mon Sep 17 00:00:00 2001 From: Yawning Angel Date: Thu, 23 Jul 2020 15:07:16 +0000 Subject: [PATCH] go: Remove the integrated ledger support This has been moved to a separate repository. --- .changelog/3128.breaking.md | 4 + .../signature/signers/ledger/ledger_signer.go | 172 ------------------ go/common/ledger/ledger.go | 47 ----- go/go.mod | 20 +- go/go.sum | 64 +++---- go/oasis-node/cmd/common/signer/signer.go | 22 --- go/oasis-node/cmd/root.go | 2 - go/oasis-node/cmd/signer/ledger/ledger.go | 39 ---- go/oasis-node/cmd/signer/signer.go | 61 ------- 9 files changed, 41 insertions(+), 390 deletions(-) create mode 100644 .changelog/3128.breaking.md delete mode 100644 go/common/crypto/signature/signers/ledger/ledger_signer.go delete mode 100644 go/common/ledger/ledger.go delete mode 100644 go/oasis-node/cmd/signer/ledger/ledger.go delete mode 100644 go/oasis-node/cmd/signer/signer.go diff --git a/.changelog/3128.breaking.md b/.changelog/3128.breaking.md new file mode 100644 index 00000000000..776b1bef86b --- /dev/null +++ b/.changelog/3128.breaking.md @@ -0,0 +1,4 @@ +go: Remove the integrated ledger support + +The signer and associated enumeration tool have been moved to +oasisprotocol/oasis-core-ledger. diff --git a/go/common/crypto/signature/signers/ledger/ledger_signer.go b/go/common/crypto/signature/signers/ledger/ledger_signer.go deleted file mode 100644 index 6451495a212..00000000000 --- a/go/common/crypto/signature/signers/ledger/ledger_signer.go +++ /dev/null @@ -1,172 +0,0 @@ -// Package ledger provides a Ledger backed signer. -package ledger - -import ( - "errors" - "fmt" - "io" - - ledger "github.com/zondax/ledger-go" - - "github.com/oasisprotocol/oasis-core/go/common/crypto/signature" - ledgerCommon "github.com/oasisprotocol/oasis-core/go/common/ledger" -) - -const ( - // SignerName is the name used to identify the Ledger backed signer. - SignerName = "ledger" - - // SignerPathCoinType is set to 474, the number associated with Oasis ROSE. - SignerPathCoinType uint32 = 474 - // SignerPathAccount is the account index used to sign transactions. - SignerPathAccount uint32 = 0 - // SignerPathChange indicates an external chain. - SignerPathChange uint32 = 0 -) - -var ( - _ signature.SignerFactoryCtor = NewFactory - _ signature.SignerFactory = (*Factory)(nil) - _ signature.Signer = (*Signer)(nil) - - // SignerEntityDerivationRootPath is the BIP-0032 path prefix used for generating - // an Entity signer. - SignerEntityDerivationRootPath = []uint32{ - ledgerCommon.PathPurposeBIP44, - SignerPathCoinType, - SignerPathAccount, - SignerPathChange, - } - // SignerConsensusDerivationRootPath is the derivation path prefix used for - // generating a consensus signer. - SignerConsensusDerivationRootPath = []uint32{ - ledgerCommon.PathPurposeOther, - SignerPathCoinType, - ledgerCommon.PathSubPurposeConsensus, - SignerPathAccount, - } - - roleDerivationRootPaths = map[signature.SignerRole][]uint32{ - signature.SignerEntity: SignerEntityDerivationRootPath, - signature.SignerConsensus: SignerConsensusDerivationRootPath, - } - - // NOTE: The 0x6986 ISO 7816 error code is returned by the Oasis Ledger App - // iff when a user rejects the transaction on the Ledger device. - ledgerRejectTxErrorMsg = ledger.ErrorMessage(0x6986) -) - -// Factory is a Ledger backed SignerFactory. -type Factory struct { - roles []signature.SignerRole - address string - index uint32 -} - -// FactoryConfig is the config necessary to create a Factory for Ledger Signers -type FactoryConfig struct { - Address string - Index uint32 -} - -// NewFactory creates a new factory with the specified roles. -func NewFactory(config interface{}, roles ...signature.SignerRole) (signature.SignerFactory, error) { - ledgerConfig, ok := config.(*FactoryConfig) - if !ok { - return nil, fmt.Errorf("invalid Ledger signer configuration provided") - } - return &Factory{ - roles: append([]signature.SignerRole{}, roles...), - address: ledgerConfig.Address, - index: ledgerConfig.Index, - }, nil -} - -// EnsureRole ensures that the SignatureFactory is configured for the given -// role. -func (fac *Factory) EnsureRole(role signature.SignerRole) error { - for _, v := range fac.roles { - if v == role { - return nil - } - } - return signature.ErrRoleMismatch -} - -// Generate has the same functionality as Load, since all keys are generated -// on the Ledger device. -func (fac *Factory) Generate(role signature.SignerRole, _rng io.Reader) (signature.Signer, error) { - return fac.Load(role) -} - -// Load will create a Signer backed by a Ledger device by searching for -// a device with the expected address. If no address is provided, this will -// created a Signer with the first Ledger device it finds. -// The only role allowed is SignerEntity. -func (fac *Factory) Load(role signature.SignerRole) (signature.Signer, error) { - pathPrefix, ok := roleDerivationRootPaths[role] - if !ok { - return nil, fmt.Errorf("role %d is not supported when using the Ledger backed signer", role) - } - device, err := ledgerCommon.ConnectToDevice(fac.address, append(pathPrefix, fac.index)) - if err != nil { - return nil, err - } - - return &Signer{device, append(pathPrefix, fac.index), nil}, nil -} - -// Signer is a Ledger backed Signer. -type Signer struct { - device *ledgerCommon.Device - path []uint32 - publicKey *signature.PublicKey -} - -// Public retrieves the public key from the Ledger device. -func (s *Signer) Public() signature.PublicKey { - if s.publicKey != nil { - return *s.publicKey - } - - var pubKey signature.PublicKey - retrieved, err := s.device.GetPublicKeyEd25519(s.path) - if err != nil { - panic(fmt.Errorf("failed to retrieve public key from device: %w", err)) - } - copy(pubKey[:], retrieved) - s.publicKey = &pubKey - return pubKey -} - -// ContextSign generates a signature with the private key over the context and -// message. -func (s *Signer) ContextSign(context signature.Context, message []byte) ([]byte, error) { - preparedContext, err := signature.PrepareSignerContext(context) - if err != nil { - return nil, err - } - signature, err := s.device.SignEd25519(s.path, preparedContext, message) - switch { - case err == nil: - return signature, nil - // XXX: At the moment, ledger-go doesn't use proper Go error semantics and - // doesn't expose errors as variables so we can't compare them directly with - // errors.Is(). - case err.Error() == ledgerRejectTxErrorMsg: - // Replace Ledger's raw APDU error with a more descriptive one. - return nil, errors.New("transaction was rejected on Ledger device") - default: - return nil, err - } -} - -// String returns the address of the account on the Ledger device. -func (s *Signer) String() string { - return fmt.Sprintf("[ledger signer: %s]", s.Public()) -} - -// Reset tears down the Signer. -func (s *Signer) Reset() { - s.device.Close() -} diff --git a/go/common/ledger/ledger.go b/go/common/ledger/ledger.go deleted file mode 100644 index 12bb800457b..00000000000 --- a/go/common/ledger/ledger.go +++ /dev/null @@ -1,47 +0,0 @@ -// Packaged ledger contains the common constants and functions related to Ledger devices -package ledger - -import ( - ledger "github.com/zondax/ledger-oasis-go" -) - -const ( - // PathPurposeBIP44 is set to 44 to indicate the use of the BIP-0044's hierarchy: - // https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki. - PathPurposeBIP44 uint32 = 44 - // PathPurposeOther is set to 43 to indicate the use of (proposed) - // BIP-0043's extension that specifies the purpose for non-Bitcoin uses: - // https://github.com/bitcoin/bips/pull/523/files - PathPurposeOther uint32 = 43 - - // PathSubPurposeConsensus is set to 0 to indicate it is to be used for - // consensus-related things. - PathSubPurposeConsensus uint32 = 0 - - // ListingPathCoinType is set to 474, the index registered to Oasis in the SLIP-0044 registry. - ListingPathCoinType uint32 = 474 - // ListingPathAccount is the account index used to list and connect to Ledger devices by address. - ListingPathAccount uint32 = 0 - // ListingPathChange indicates an external chain. - ListingPathChange uint32 = 0 - // ListingPathIndex is the address index used to list and connect to Ledger devices by address. - ListingPathIndex uint32 = 0 -) - -// ListingDerivationPath is the path used to list and connect to devices by address. -var ListingDerivationPath = []uint32{ - PathPurposeBIP44, ListingPathCoinType, ListingPathAccount, ListingPathChange, ListingPathIndex, -} - -// Device is a Ledger device. -type Device = ledger.LedgerOasis - -// ListDevices will list Ledger devices by address, derived from ListingDerivationPath. -func ListDevices() { - ledger.ListOasisDevices(ListingDerivationPath) -} - -// ConnectToDevice attempts to connect to a Ledger device by address, which is derived by ListingDerivationPath. -func ConnectToDevice(address string, derivationPath []uint32) (*Device, error) { - return ledger.ConnectLedgerOasisApp(address, derivationPath) -} diff --git a/go/go.mod b/go/go.mod index a415f7976ca..9bb28031faf 100644 --- a/go/go.mod +++ b/go/go.mod @@ -16,6 +16,9 @@ require ( github.com/blevesearch/bleve v1.0.9 github.com/btcsuite/btcutil v1.0.2 github.com/cenkalti/backoff/v4 v4.0.0 + github.com/cznic/b v0.0.0-20181122101859-a26611c4d92d // indirect + github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548 // indirect + github.com/cznic/strutil v0.0.0-20181122101858-275e90344537 // indirect github.com/dgraph-io/badger/v2 v2.0.3 github.com/eapache/channels v1.1.0 github.com/fxamacker/cbor/v2 v2.2.1-0.20200526031912-58b82b5bfc05 @@ -25,17 +28,23 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 github.com/hashicorp/go-multierror v1.0.0 github.com/hpcloud/tail v1.0.0 + github.com/ipfs/go-log/v2 v2.1.1 // indirect github.com/libp2p/go-libp2p v0.9.6 github.com/libp2p/go-libp2p-core v0.6.0 github.com/libp2p/go-libp2p-pubsub v0.3.1 + github.com/libp2p/go-libp2p-swarm v0.2.8 // indirect + github.com/libp2p/go-openssl v0.0.6 // indirect + github.com/mr-tron/base58 v1.2.0 // indirect github.com/multiformats/go-multiaddr v0.2.2 github.com/multiformats/go-multiaddr-net v0.1.5 + github.com/multiformats/go-multihash v0.0.14 // indirect github.com/oasisprotocol/deoxysii v0.0.0-20200527154044-851aec403956 github.com/oasisprotocol/ed25519 v0.0.0-20200528083105-55566edd6df0 - github.com/opentracing/opentracing-go v1.1.0 + github.com/opentracing/opentracing-go v1.2.0 github.com/prometheus/client_golang v1.5.1 github.com/prometheus/common v0.9.1 github.com/prometheus/procfs v0.0.8 + github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect github.com/seccomp/libseccomp-golang v0.9.1 github.com/spf13/cobra v1.0.0 github.com/spf13/pflag v1.0.5 @@ -45,13 +54,14 @@ require ( github.com/tendermint/tendermint v0.33.6 github.com/tendermint/tm-db v0.5.1 github.com/thepudds/fzgo v0.2.2 - github.com/uber/jaeger-client-go v2.16.0+incompatible + github.com/uber/jaeger-client-go v2.25.0+incompatible + github.com/uber/jaeger-lib v2.2.0+incompatible // indirect github.com/whyrusleeping/go-logging v0.0.1 - github.com/zondax/ledger-go v0.12.0 - github.com/zondax/ledger-oasis-go v0.4.0 gitlab.com/yawning/dynlib.git v0.0.0-20200603163025-35fe007b0761 - golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 + go.opencensus.io v0.22.4 // indirect + golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 golang.org/x/net v0.0.0-20200602114024-627f9648deb9 + golang.org/x/sys v0.0.0-20200722175500-76b94024e4b6 // indirect google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a google.golang.org/grpc v1.29.1 google.golang.org/grpc/security/advancedtls v0.0.0-20200504170109-c8482678eb49 diff --git a/go/go.sum b/go/go.sum index f2b66e392f7..3fed4267930 100644 --- a/go/go.sum +++ b/go/go.sum @@ -158,8 +158,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davidlazar/go-crypto v0.0.0-20170701192655-dcfb0a7ac018/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= github.com/davidlazar/go-crypto v0.0.0-20190912175916-7055855a373f h1:BOaYiTvg8p9vBUXpklC22XSK/mifLF7lG9jtmYYi3Tc= github.com/davidlazar/go-crypto v0.0.0-20190912175916-7055855a373f/go.mod h1:rQYf4tfk5sSwFsnDg3qYaBxSjsD9S8+59vW0dKUgme4= -github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= -github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f h1:6itBiEUtu+gOzXZWn46bM5/qm8LlV6/byR7Yflx/y6M= github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= github.com/dgraph-io/badger v1.6.0-rc1/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= @@ -210,7 +208,6 @@ github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVB github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fxamacker/cbor/v2 v2.2.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/fxamacker/cbor/v2 v2.2.1-0.20200526031912-58b82b5bfc05 h1:yLgDT1nOw+JVlRVeMPkqzQZUu3Jgz0lN+1PeuS9TCaQ= github.com/fxamacker/cbor/v2 v2.2.1-0.20200526031912-58b82b5bfc05/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -559,8 +556,6 @@ github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYc github.com/libp2p/go-libp2p-pubsub v0.3.1 h1:7Hyv2d8BK/x1HGRJTZ8X++VQEP+WqDTSwpUSZGTVLYA= github.com/libp2p/go-libp2p-pubsub v0.3.1/go.mod h1:TxPOBuo1FPdsTjFnv+FGZbNbWYsp74Culx+4ViQpato= github.com/libp2p/go-libp2p-quic-transport v0.3.7/go.mod h1:Kr4aDtnfHHNeENn5J+sZIVc+t8HpQn9W6BOxhVGHbgI= -github.com/libp2p/go-libp2p-quic-transport v0.5.0 h1:BUN1lgYNUrtv4WLLQ5rQmC9MCJ6uEXusezGvYRNoJXE= -github.com/libp2p/go-libp2p-quic-transport v0.5.0/go.mod h1:IEcuC5MLxvZ5KuHKjRu+dr3LjCT1Be3rcD/4d8JrX8M= github.com/libp2p/go-libp2p-secio v0.1.0 h1:NNP5KLxuP97sE5Bu3iuwOWyT/dKEGMN5zSLMWdB7GTQ= github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8= github.com/libp2p/go-libp2p-secio v0.2.0/go.mod h1:2JdZepB8J5V9mBp79BmwsaPQhRPNN2NrnB2lKQcdy6g= @@ -575,8 +570,8 @@ github.com/libp2p/go-libp2p-swarm v0.2.4 h1:94XL76/tFeTdJNcIGugi+1uZo5O/a7y4i21P github.com/libp2p/go-libp2p-swarm v0.2.4/go.mod h1:/xIpHFPPh3wmSthtxdGbkHZ0OET1h/GGZes8Wku/M5Y= github.com/libp2p/go-libp2p-swarm v0.2.6 h1:UhMXIa+yCOALQyceENEIStMlbTCzOM6aWo6vw8QW17Q= github.com/libp2p/go-libp2p-swarm v0.2.6/go.mod h1:F9hrkZjO7dDbcEiYii/fAB1QdpLuU6h1pa4P5VNsEgc= -github.com/libp2p/go-libp2p-swarm v0.2.7 h1:4lV/sf7f0NuVqunOpt1I11+Z54+xp+m0eeAvxj/LyRc= -github.com/libp2p/go-libp2p-swarm v0.2.7/go.mod h1:ZSJ0Q+oq/B1JgfPHJAT2HTall+xYRNYp1xs4S2FBWKA= +github.com/libp2p/go-libp2p-swarm v0.2.8 h1:cIUUvytBzNQmGSjnXFlI6UpoBGsaud82mJPIJVfkDlg= +github.com/libp2p/go-libp2p-swarm v0.2.8/go.mod h1:JQKMGSth4SMqonruY0a8yjlPVIkb0mdNSwckW7OYziM= github.com/libp2p/go-libp2p-testing v0.0.2/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= github.com/libp2p/go-libp2p-testing v0.0.3/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= github.com/libp2p/go-libp2p-testing v0.0.4 h1:Qev57UR47GcLPXWjrunv5aLIQGO4n9mhI/8/EIrEEFc= @@ -620,6 +615,8 @@ github.com/libp2p/go-openssl v0.0.3/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-openssl v0.0.5 h1:pQkejVhF0xp08D4CQUcw8t+BFJeXowja6RVcb5p++EA= github.com/libp2p/go-openssl v0.0.5/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +github.com/libp2p/go-openssl v0.0.6 h1:BFqTHVDt6V60Y7xU9f89FwljvFl/CEqZYO1vlfa2DCE= +github.com/libp2p/go-openssl v0.0.6/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= github.com/libp2p/go-reuseport v0.0.1 h1:7PhkfH73VXfPJYKQ6JwS5I/eVcoyYi9IMNGc6FWpFLw= github.com/libp2p/go-reuseport v0.0.1/go.mod h1:jn6RmB1ufnQwl0Q1f+YxAj8isJgDCQzaaxIFYDhcYEA= github.com/libp2p/go-reuseport-transport v0.0.2 h1:WglMwyXyBu61CMkjCCtnmqNqnjib0GIEjMiHTwR/KN4= @@ -652,8 +649,6 @@ github.com/libp2p/go-yamux v1.3.7/go.mod h1:fr7aVgmdNGJK+N1g+b6DW6VxzbRCjCOejR/h github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lucas-clemente/quic-go v0.15.7/go.mod h1:Myi1OyS0FOjL3not4BxT7KN29bRkcMUV5JVVFLKtDp8= -github.com/lucas-clemente/quic-go v0.16.0 h1:jJw36wfzGJhmOhAOaOC2lS36WgeqXQszH47A7spo1LI= -github.com/lucas-clemente/quic-go v0.16.0/go.mod h1:I0+fcNTdb9eS1ZcjQZbDVPGchJ86chcIxPALn9lEJqE= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -761,6 +756,8 @@ github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= github.com/multiformats/go-multihash v0.0.13 h1:06x+mk/zj1FoMsgNejLpy6QTvJqlSt/BhLEy87zidlc= github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= +github.com/multiformats/go-multihash v0.0.14 h1:QoBceQYQQtNUuf6s7wHxnE2c8bhbMqhfGzNI032se/I= +github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= github.com/multiformats/go-multistream v0.1.0 h1:UpO6jrsjqs46mqAK3n6wKRYFhugss9ArzbyUzU+4wkQ= github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg= github.com/multiformats/go-multistream v0.1.1 h1:JlAdpIFhBhGRLxe9W6Om0w++Gd6KMWoFPZL/dEnm9nI= @@ -779,13 +776,10 @@ github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oasisprotocol/deoxysii v0.0.0-20200527154044-851aec403956 h1:etZXZf8f2xLJFivW4tTg87nSV3KLszQ7oYot3UNcmF0= github.com/oasisprotocol/deoxysii v0.0.0-20200527154044-851aec403956/go.mod h1:cE5EgXTIhq5oAVdZ7LZd1FjTRLALPEzv93CWzBtDkyI= github.com/oasisprotocol/ed25519 v0.0.0-20200528083105-55566edd6df0 h1:qmiMZ6ZhkeQZkV/Huajj+QBAu1jX0HTGsOwi+eXTGY8= github.com/oasisprotocol/ed25519 v0.0.0-20200528083105-55566edd6df0/go.mod h1:IZbb50w3AB72BVobEF6qG93NNSrTw/V2QlboxqSu3Xw= -github.com/oasisprotocol/oasis-core/go v0.0.0-20200623153002-9e61aea5195b/go.mod h1:/8dnlXMWVE88E6q4Dq/JoQyQhBfJzHtnebCmmPu2SLI= github.com/oasisprotocol/safeopen v0.0.0-20200528085122-e01cfdfc7661 h1:MB73kGMtuMGS+6VDoU/mitzff7Cu+aZo9ta5wabuxVA= github.com/oasisprotocol/safeopen v0.0.0-20200528085122-e01cfdfc7661/go.mod h1:SwBxaVibf6Sr2IZ6M3WnUue0yp8dPLAo1riQRNQ60+g= github.com/oasisprotocol/tendermint v0.33.6-oasis1 h1:mqX0cHEFO26RsJXND7bPNCo7nUGQ4ENx+omkXBS9NVk= @@ -801,8 +795,6 @@ github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= -github.com/onsi/ginkgo v1.12.1 h1:mFwc4LvZ0xpSvDZ3E+k8Yte0hLOMxXUlP+yXtJqkYfQ= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -816,6 +808,8 @@ github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKw github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= @@ -880,8 +874,8 @@ github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqn github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/remyoudompheng/bigfft v0.0.0-20190512091148-babf20351dd7 h1:FUL3b97ZY2EPqg2NbXKuMHs5pXJB9hjj1fDHnF2vl28= -github.com/remyoudompheng/bigfft v0.0.0-20190512091148-babf20351dd7/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= @@ -919,9 +913,8 @@ github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537/go.mod h1:QJTqeLYED github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133/go.mod h1:hKmq5kWdCj2z2KEozexVbfEZIWiTjhE0+UjmZgPqehw= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/assertions v1.0.0 h1:UVQPSSmc3qtTi+zPPkCXvZX9VvW/xT/NsRvKfwY81a8= -github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= @@ -965,6 +958,7 @@ github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3 github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= @@ -973,7 +967,6 @@ github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJy github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= @@ -995,12 +988,10 @@ github.com/tinylib/msgp v1.1.0 h1:9fQd+ICuRIu/ue4vxJZu6/LzxN0HwMds2nq/0cFvxHU= github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/uber-go/atomic v1.4.0 h1:yOuPqEq4ovnhEjpHmfFwsqBXDYbQeT6Nb0bwD6XnD5o= -github.com/uber-go/atomic v1.4.0/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= -github.com/uber/jaeger-client-go v2.16.0+incompatible h1:Q2Pp6v3QYiocMxomCaJuwQGFt7E53bPYqEgug/AoBtY= -github.com/uber/jaeger-client-go v2.16.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-lib v2.0.0+incompatible h1:iMSCV0rmXEogjNWPh2D0xk9YVKvrtGoHJNe9ebLu/pw= -github.com/uber/jaeger-lib v2.0.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/uber/jaeger-client-go v2.25.0+incompatible h1:IxcNZ7WRY1Y3G4poYlx24szfsn/3LvK9QHCq9oQw8+U= +github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw= +github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= @@ -1026,16 +1017,6 @@ github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= -github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -github.com/zondax/ledger-go v0.11.0 h1:EEqUh6eaZucWAaGo87G7sJiqRNJpzBZr+I9PpGgjjPg= -github.com/zondax/ledger-go v0.11.0/go.mod h1:NI6JDs8VWwgh+9Bf1vPZMm9Xufp2Q7Iwm2IzxJWzmus= -github.com/zondax/ledger-go v0.12.0 h1:25GPOWW+Hg0NT6PNT5pbXmzwZ6r3W1IJLiLamoGJBnI= -github.com/zondax/ledger-go v0.12.0/go.mod h1:KatxXrVDzgWwbssUWsF5+cOJHXPvzQ09YSlzGNuhOEo= -github.com/zondax/ledger-oasis-go v0.3.0 h1:SC+J8lZiF+XHqcO7CMaAXDFH/IdxnuJ6MRE3mROlORA= -github.com/zondax/ledger-oasis-go v0.3.0/go.mod h1:czCs1jEu/4KYz3mYgALCedjgKxaFygAQxJ1di+3hHoI= -github.com/zondax/ledger-oasis-go v0.4.0 h1:8VHegGPOJLY2o11m+5B1aQeiPPX6Js7OwyXwswfGESw= -github.com/zondax/ledger-oasis-go v0.4.0/go.mod h1:Lou6i6lz2TYo04FH0FnFArEUCbbAwMylCzlUlwXyDEw= gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec h1:FpfFs4EhNehiVfzQttTuxanPIT43FtkkCFypIod8LHo= gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ= gitlab.com/yawning/dynlib.git v0.0.0-20200603163025-35fe007b0761 h1:27Qf3BkBLzRQ8tZbGy77kh+n+0MtnA/ucg1fAf7l9S0= @@ -1057,6 +1038,8 @@ go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1108,9 +1091,8 @@ golang.org/x/crypto v0.0.0-20200406173513-056763e48d71/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 h1:cg5LA/zNPRzIXIWSCxQW10Rvpy94aQh3LT/ShoCpkHw= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200602180216-279210d13fed/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 h1:vEg9joUBmeBcK9iSJftGNf3coIG4HqZElCPehJsfAYM= -golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 h1:DZhuSZLsGlFL4CmhA8BcRA0mnthyA/nZ00AqCUo7vHg= +golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1211,7 +1193,6 @@ golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1226,9 +1207,8 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200610111108-226ff32320da h1:bGb80FudwxpeucJUjPYJXuJ8Hk91vNtfvrymzwiei38= -golang.org/x/sys v0.0.0-20200610111108-226ff32320da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200722175500-76b94024e4b6 h1:X9xIZ1YU8bLZA3l6gqDUHSFiD0GFI9S548h6C8nDtOY= +golang.org/x/sys v0.0.0-20200722175500-76b94024e4b6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/go/oasis-node/cmd/common/signer/signer.go b/go/oasis-node/cmd/common/signer/signer.go index 1447bf37ca7..6bcec2d8d7f 100644 --- a/go/oasis-node/cmd/common/signer/signer.go +++ b/go/oasis-node/cmd/common/signer/signer.go @@ -12,7 +12,6 @@ import ( "github.com/oasisprotocol/oasis-core/go/common/crypto/signature" compositeSigner "github.com/oasisprotocol/oasis-core/go/common/crypto/signature/signers/composite" fileSigner "github.com/oasisprotocol/oasis-core/go/common/crypto/signature/signers/file" - ledgerSigner "github.com/oasisprotocol/oasis-core/go/common/crypto/signature/signers/ledger" memorySigner "github.com/oasisprotocol/oasis-core/go/common/crypto/signature/signers/memory" pluginSigner "github.com/oasisprotocol/oasis-core/go/common/crypto/signature/signers/plugin" remoteSigner "github.com/oasisprotocol/oasis-core/go/common/crypto/signature/signers/remote" @@ -30,9 +29,6 @@ const ( // It also contains the private keys of a signer if using a file backend. CfgCLISignerDir = "signer.dir" - cfgSignerLedgerAddress = "signer.ledger.address" - cfgSignerLedgerIndex = "signer.ledger.index" - cfgSignerRemoteAddress = "signer.remote.address" cfgSignerRemoteClientCert = "signer.remote.client.certificate" cfgSignerRemoteClientKey = "signer.remote.client.key" @@ -74,16 +70,6 @@ func CLIDirOrPwd() (string, error) { return signerDir, nil } -// LedgerAddress returns the address to search for (for Ledger-based signer). -func LedgerAddress() string { - return viper.GetString(cfgSignerLedgerAddress) -} - -// LedgerIndex returns the address index to be used for address derivation. -func LedgerIndex() uint32 { - return viper.GetUint32(cfgSignerLedgerIndex) -} - // NewFactory returns the appropriate SignerFactory based on flags. func NewFactory(signerBackend, signerDir string, roles ...signature.SignerRole) (signature.SignerFactory, error) { signerBackend = strings.ToLower(signerBackend) @@ -101,12 +87,6 @@ func doNewFactory(signerBackend, signerDir string, roles ...signature.SignerRole switch signerBackend { case fileSigner.SignerName: return fileSigner.NewFactory(signerDir, roles...) - case ledgerSigner.SignerName: - config := &ledgerSigner.FactoryConfig{ - Address: LedgerAddress(), - Index: LedgerIndex(), - } - return ledgerSigner.NewFactory(config, roles...) case memorySigner.SignerName: if !testingAllowMemory { return nil, fmt.Errorf("memory signer backend is only for testing") @@ -187,8 +167,6 @@ func doNewComposite(signerDir string, roles ...signature.SignerRole) (signature. func init() { Flags.StringP(CfgSigner, "s", "file", "signer backend [file, plugin, ledger, remote, composite]") - Flags.String(cfgSignerLedgerAddress, "", "Ledger signer: select Ledger device based on this specified address. If blank, any available Ledger device will be connected to.") - Flags.Uint32(cfgSignerLedgerIndex, 0, "Ledger signer: address index used to derive address on Ledger device") Flags.String(cfgSignerRemoteAddress, "", "remote signer server address") Flags.String(cfgSignerRemoteClientCert, "", "remote signer client certificate path") Flags.String(cfgSignerRemoteClientKey, "", "remote signer client certificate key path") diff --git a/go/oasis-node/cmd/root.go b/go/oasis-node/cmd/root.go index 69ba16cf8a8..251cb364a44 100644 --- a/go/oasis-node/cmd/root.go +++ b/go/oasis-node/cmd/root.go @@ -17,7 +17,6 @@ import ( "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/keymanager" "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/node" "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/registry" - "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/signer" "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/stake" ) @@ -76,7 +75,6 @@ func init() { identity.Register, keymanager.Register, registry.Register, - signer.Register, stake.Register, consensus.Register, node.Register, diff --git a/go/oasis-node/cmd/signer/ledger/ledger.go b/go/oasis-node/cmd/signer/ledger/ledger.go deleted file mode 100644 index 0925c8b3d1f..00000000000 --- a/go/oasis-node/cmd/signer/ledger/ledger.go +++ /dev/null @@ -1,39 +0,0 @@ -// Package ledger implements the ledger signer sub-commands. -package ledger - -import ( - "github.com/spf13/cobra" - - ledgerCommon "github.com/oasisprotocol/oasis-core/go/common/ledger" - cmdCommon "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/common" -) - -var ( - ledgerCmd = &cobra.Command{ - Use: "ledger", - Short: "interact with Ledger devices", - } - - listCmd = &cobra.Command{ - Use: "list_devices", - Short: "list available devices by address", - Run: doLedgerList, - } -) - -func doLedgerList(cmd *cobra.Command, args []string) { - if err := cmdCommon.Init(); err != nil { - cmdCommon.EarlyLogAndExit(err) - } - ledgerCommon.ListDevices() -} - -func Register(parentCmd *cobra.Command) { - for _, v := range []*cobra.Command{ - listCmd, - } { - ledgerCmd.AddCommand(v) - } - - parentCmd.AddCommand(ledgerCmd) -} diff --git a/go/oasis-node/cmd/signer/signer.go b/go/oasis-node/cmd/signer/signer.go deleted file mode 100644 index 9f82a7d4340..00000000000 --- a/go/oasis-node/cmd/signer/signer.go +++ /dev/null @@ -1,61 +0,0 @@ -// Package signer registers all subcommands needed by specific signers -package signer - -import ( - "os" - - "github.com/spf13/cobra" - - "github.com/oasisprotocol/oasis-core/go/common/logging" - cmdCommon "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/common" - cmdSigner "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/common/signer" - "github.com/oasisprotocol/oasis-core/go/oasis-node/cmd/signer/ledger" -) - -var ( - signerCmd = &cobra.Command{ - Use: "signer", - Short: "signer backend utilities", - } - - exportCmd = &cobra.Command{ - Use: "export", - Short: "export the public key from signer as an empty entity", - Run: doExport, - } - - logger = logging.GetLogger("cmd/signer") -) - -func doExport(cmd *cobra.Command, args []string) { - if err := cmdCommon.Init(); err != nil { - cmdCommon.EarlyLogAndExit(err) - } - entityDir, err := cmdSigner.CLIDirOrPwd() - if err != nil { - logger.Error("failed to retrieve signer dir", - "err", err, - ) - os.Exit(1) - } - if err := cmdCommon.ExportEntity(cmdSigner.Backend(), entityDir); err != nil { - logger.Error("failed to export entity", - "err", err, - ) - os.Exit(1) - } -} - -func Register(parentCmd *cobra.Command) { - for _, v := range []func(*cobra.Command){ - ledger.Register, - } { - v(signerCmd) - } - - exportCmd.Flags().AddFlagSet(cmdSigner.Flags) - exportCmd.Flags().AddFlagSet(cmdSigner.CLIFlags) - - signerCmd.AddCommand(exportCmd) - parentCmd.AddCommand(signerCmd) -}