usbwallet

package
v0.0.0-...-11c7724 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2020 License: GPL-3.0 Imports: 20 Imported by: 0

Documentation

Overview

Package usbwallet implements support for USB hardware wallets.

Index

Constants

View Source
const LedgerScheme = "ledger"

LedgerScheme is the protocol scheme prefixing account and wallet URLs.

View Source
const TrezorScheme = "trezor"

TrezorScheme is the protocol scheme prefixing account and wallet URLs.

Variables

View Source
var ErrTrezorPINNeeded = errors.New("trezor: pin needed")

ErrTrezorPINNeeded is returned if opening the trezor requires a PIN code. In this case, the calling application should display a pinpad and send back the encoded passphrase.

Functions

This section is empty.

Types

type Device

type Device struct {
	DeviceInfo // Embed the infos for easier access
	// contains filtered or unexported fields
}

Device is a live HID USB connected device handle.

type DeviceInfo

type DeviceInfo struct {
	Path         string // Platform-specific device path
	VendorID     uint16 // Device Vendor ID
	ProductID    uint16 // Device Product ID
	Release      uint16 // Device Release Number in binary-coded decimal, also known as Device Version Number
	Serial       string // Serial Number
	Manufacturer string // Manufacturer String
	Product      string // Product string
	UsagePage    uint16 // Usage Page for this Device/Interface (Windows/Mac only)
	Usage        uint16 // Usage for this Device/Interface (Windows/Mac only)

	// The USB interface which this logical device
	// represents. Valid on both Linux implementations
	// in all cases, and valid on the Windows implementation
	// only if the device contains more than one interface.
	Interface int
}

DeviceInfo is a hidapi info structure.

type Hub

type Hub struct {
	// contains filtered or unexported fields
}

Hub is a accounts.Backend that can find and handle generic USB hardware wallets.

func NewLedgerHub

func NewLedgerHub() (*Hub, error)

NewLedgerHub creates a new hardware wallet manager for Ledger devices.

func NewTrezorHub

func NewTrezorHub() (*Hub, error)

NewTrezorHub creates a new hardware wallet manager for Trezor devices.

func (*Hub) Subscribe

func (hub *Hub) Subscribe(sink chan<- accounts.WalletEvent) event.Subscription

Subscribe implements accounts.Backend, creating an async subscription to receive notifications on the addition or removal of USB wallets.

func (*Hub) Wallets

func (hub *Hub) Wallets() []accounts.Wallet

Wallets implements accounts.Backend, returning all the currently tracked USB devices that appear to be hardware wallets.

Directories

Path Synopsis
internal
trezor
Package trezor contains the wire protocol wrapper in Go.
Package trezor contains the wire protocol wrapper in Go.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL