From 1ecf99bd0f332247df3a8976ae94e1b63b9d8a76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= <peterke@gmail.com> Date: Fri, 27 Jan 2017 11:38:35 +0200 Subject: accounts/usbwallet: skip support on iOS altogether --- accounts/usbwallet/ledger.go | 2 ++ accounts/usbwallet/ledger_test.go | 2 ++ accounts/usbwallet/usb.go | 27 -------------------------- accounts/usbwallet/usbwallet.go | 29 ++++++++++++++++++++++++++++ accounts/usbwallet/usbwallet_ios.go | 38 +++++++++++++++++++++++++++++++++++++ 5 files changed, 71 insertions(+), 27 deletions(-) delete mode 100644 accounts/usbwallet/usb.go create mode 100644 accounts/usbwallet/usbwallet.go create mode 100644 accounts/usbwallet/usbwallet_ios.go (limited to 'accounts/usbwallet') diff --git a/accounts/usbwallet/ledger.go b/accounts/usbwallet/ledger.go index 55b313df9..8f502c58e 100644 --- a/accounts/usbwallet/ledger.go +++ b/accounts/usbwallet/ledger.go @@ -18,6 +18,8 @@ // wallets. The wire protocol spec can be found in the Ledger Blue GitHub repo: // https://raw.githubusercontent.com/LedgerHQ/blue-app-eth/master/doc/ethapp.asc +// +build !ios + package usbwallet import ( diff --git a/accounts/usbwallet/ledger_test.go b/accounts/usbwallet/ledger_test.go index aeab2f0f0..16a1e0b3f 100644 --- a/accounts/usbwallet/ledger_test.go +++ b/accounts/usbwallet/ledger_test.go @@ -14,6 +14,8 @@ // You should have received a copy of the GNU Lesser General Public License // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. +// +build !ios + package usbwallet /* diff --git a/accounts/usbwallet/usb.go b/accounts/usbwallet/usb.go deleted file mode 100644 index 550f05ba6..000000000 --- a/accounts/usbwallet/usb.go +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2017 The go-ethereum Authors -// This file is part of the go-ethereum library. -// -// The go-ethereum library is free software: you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// The go-ethereum library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. - -// Package usbwallet implements support for USB hardware wallets. -package usbwallet - -import "github.com/karalabe/gousb/usb" - -// deviceID is a combined vendor/product identifier to uniquely identify a USB -// hardware device. -type deviceID struct { - Vendor usb.ID // The Vendor identifer - Product usb.ID // The Product identifier -} diff --git a/accounts/usbwallet/usbwallet.go b/accounts/usbwallet/usbwallet.go new file mode 100644 index 000000000..3989f3d02 --- /dev/null +++ b/accounts/usbwallet/usbwallet.go @@ -0,0 +1,29 @@ +// Copyright 2017 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. + +// +build !ios + +// Package usbwallet implements support for USB hardware wallets. +package usbwallet + +import "github.com/karalabe/gousb/usb" + +// deviceID is a combined vendor/product identifier to uniquely identify a USB +// hardware device. +type deviceID struct { + Vendor usb.ID // The Vendor identifer + Product usb.ID // The Product identifier +} diff --git a/accounts/usbwallet/usbwallet_ios.go b/accounts/usbwallet/usbwallet_ios.go new file mode 100644 index 000000000..17d342903 --- /dev/null +++ b/accounts/usbwallet/usbwallet_ios.go @@ -0,0 +1,38 @@ +// Copyright 2017 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. + +// This file contains the implementation for interacting with the Ledger hardware +// wallets. The wire protocol spec can be found in the Ledger Blue GitHub repo: +// https://raw.githubusercontent.com/LedgerHQ/blue-app-eth/master/doc/ethapp.asc + +// +build ios + +package usbwallet + +import ( + "errors" + + "github.com/ethereum/go-ethereum/accounts" +) + +// Here be dragons! There is no USB support on iOS. + +// ErrIOSNotSupported is returned for all USB hardware backends on iOS. +var ErrIOSNotSupported = errors.New("no USB support on iOS") + +func NewLedgerHub() (accounts.Backend, error) { + return nil, ErrIOSNotSupported +} -- cgit v1.2.3