trezoreum

package module
v0.0.0-...-be0d5ce Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2019 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

Package hw_trezor_messages is a generated protocol buffer package.

It is generated from these files:

messages.proto

It has these top-level messages:

Index

Constants

This section is empty.

Variables

View Source
var E_WireBootloader = &proto.ExtensionDesc{
	ExtendedType:  (*google_protobuf.EnumValueOptions)(nil),
	ExtensionType: (*bool)(nil),
	Field:         50007,
	Name:          "hw.trezor.messages.wire_bootloader",
	Tag:           "varint,50007,opt,name=wire_bootloader,json=wireBootloader",
	Filename:      "messages.proto",
}
View Source
var E_WireDebugIn = &proto.ExtensionDesc{
	ExtendedType:  (*google_protobuf.EnumValueOptions)(nil),
	ExtensionType: (*bool)(nil),
	Field:         50004,
	Name:          "hw.trezor.messages.wire_debug_in",
	Tag:           "varint,50004,opt,name=wire_debug_in,json=wireDebugIn",
	Filename:      "messages.proto",
}
View Source
var E_WireDebugOut = &proto.ExtensionDesc{
	ExtendedType:  (*google_protobuf.EnumValueOptions)(nil),
	ExtensionType: (*bool)(nil),
	Field:         50005,
	Name:          "hw.trezor.messages.wire_debug_out",
	Tag:           "varint,50005,opt,name=wire_debug_out,json=wireDebugOut",
	Filename:      "messages.proto",
}
View Source
var E_WireIn = &proto.ExtensionDesc{
	ExtendedType:  (*google_protobuf.EnumValueOptions)(nil),
	ExtensionType: (*bool)(nil),
	Field:         50002,
	Name:          "hw.trezor.messages.wire_in",
	Tag:           "varint,50002,opt,name=wire_in,json=wireIn",
	Filename:      "messages.proto",
}
View Source
var E_WireNoFsm = &proto.ExtensionDesc{
	ExtendedType:  (*google_protobuf.EnumValueOptions)(nil),
	ExtensionType: (*bool)(nil),
	Field:         50008,
	Name:          "hw.trezor.messages.wire_no_fsm",
	Tag:           "varint,50008,opt,name=wire_no_fsm,json=wireNoFsm",
	Filename:      "messages.proto",
}
View Source
var E_WireOut = &proto.ExtensionDesc{
	ExtendedType:  (*google_protobuf.EnumValueOptions)(nil),
	ExtensionType: (*bool)(nil),
	Field:         50003,
	Name:          "hw.trezor.messages.wire_out",
	Tag:           "varint,50003,opt,name=wire_out,json=wireOut",
	Filename:      "messages.proto",
}
View Source
var E_WireTiny = &proto.ExtensionDesc{
	ExtendedType:  (*google_protobuf.EnumValueOptions)(nil),
	ExtensionType: (*bool)(nil),
	Field:         50006,
	Name:          "hw.trezor.messages.wire_tiny",
	Tag:           "varint,50006,opt,name=wire_tiny,json=wireTiny",
	Filename:      "messages.proto",
}
View Source
var MessageType_name = map[int32]string{}/* 169 elements not displayed */
View Source
var MessageType_value = map[string]int32{}/* 169 elements not displayed */

Functions

func Name

func Name(kind uint16) string

func PromptPINFromStdin

func PromptPINFromStdin() string

func ToTrezorPackage

func ToTrezorPackage(msg proto.Message) ([]byte, error)

func Type

func Type(msg proto.Message) uint16

Types

type Bridge

type Bridge interface {
	// init the connection to trezor via libusb and return the status
	// of the device as well as indication to next step to unlock the
	// device.
	Init() (info mm.Features, state TrezorState, err error)

	UnlockByPin(pin string) (state TrezorState, err error)

	UnlockByPassphrase(passphrase string) (state TrezorState, err error)

	Derive(path accounts.DerivationPath) (common.Address, error)

	Sign(path accounts.DerivationPath, tx *types.Transaction, chainID *big.Int) (common.Address, *types.Transaction, error)
}

type MessageType

type MessageType int32

* Mapping between TREZOR wire identifier (uint) and a protobuf message

const (
	// Management
	MessageType_MessageType_Initialize             MessageType = 0
	MessageType_MessageType_Ping                   MessageType = 1
	MessageType_MessageType_Success                MessageType = 2
	MessageType_MessageType_Failure                MessageType = 3
	MessageType_MessageType_ChangePin              MessageType = 4
	MessageType_MessageType_WipeDevice             MessageType = 5
	MessageType_MessageType_GetEntropy             MessageType = 9
	MessageType_MessageType_Entropy                MessageType = 10
	MessageType_MessageType_LoadDevice             MessageType = 13
	MessageType_MessageType_ResetDevice            MessageType = 14
	MessageType_MessageType_Features               MessageType = 17
	MessageType_MessageType_PinMatrixRequest       MessageType = 18
	MessageType_MessageType_PinMatrixAck           MessageType = 19
	MessageType_MessageType_Cancel                 MessageType = 20
	MessageType_MessageType_ClearSession           MessageType = 24
	MessageType_MessageType_ApplySettings          MessageType = 25
	MessageType_MessageType_ButtonRequest          MessageType = 26
	MessageType_MessageType_ButtonAck              MessageType = 27
	MessageType_MessageType_ApplyFlags             MessageType = 28
	MessageType_MessageType_BackupDevice           MessageType = 34
	MessageType_MessageType_EntropyRequest         MessageType = 35
	MessageType_MessageType_EntropyAck             MessageType = 36
	MessageType_MessageType_PassphraseRequest      MessageType = 41
	MessageType_MessageType_PassphraseAck          MessageType = 42
	MessageType_MessageType_PassphraseStateRequest MessageType = 77
	MessageType_MessageType_PassphraseStateAck     MessageType = 78
	MessageType_MessageType_RecoveryDevice         MessageType = 45
	MessageType_MessageType_WordRequest            MessageType = 46
	MessageType_MessageType_WordAck                MessageType = 47
	MessageType_MessageType_GetFeatures            MessageType = 55
	MessageType_MessageType_SetU2FCounter          MessageType = 63
	// Bootloader
	MessageType_MessageType_FirmwareErase   MessageType = 6
	MessageType_MessageType_FirmwareUpload  MessageType = 7
	MessageType_MessageType_FirmwareRequest MessageType = 8
	MessageType_MessageType_SelfTest        MessageType = 32
	// Bitcoin
	MessageType_MessageType_GetPublicKey     MessageType = 11
	MessageType_MessageType_PublicKey        MessageType = 12
	MessageType_MessageType_SignTx           MessageType = 15
	MessageType_MessageType_TxRequest        MessageType = 21
	MessageType_MessageType_TxAck            MessageType = 22
	MessageType_MessageType_GetAddress       MessageType = 29
	MessageType_MessageType_Address          MessageType = 30
	MessageType_MessageType_SignMessage      MessageType = 38
	MessageType_MessageType_VerifyMessage    MessageType = 39
	MessageType_MessageType_MessageSignature MessageType = 40
	// Crypto
	MessageType_MessageType_CipherKeyValue    MessageType = 23
	MessageType_MessageType_CipheredKeyValue  MessageType = 48
	MessageType_MessageType_SignIdentity      MessageType = 53
	MessageType_MessageType_SignedIdentity    MessageType = 54
	MessageType_MessageType_GetECDHSessionKey MessageType = 61
	MessageType_MessageType_ECDHSessionKey    MessageType = 62
	MessageType_MessageType_CosiCommit        MessageType = 71
	MessageType_MessageType_CosiCommitment    MessageType = 72
	MessageType_MessageType_CosiSign          MessageType = 73
	MessageType_MessageType_CosiSignature     MessageType = 74
	// Debug
	MessageType_MessageType_DebugLinkDecision    MessageType = 100
	MessageType_MessageType_DebugLinkGetState    MessageType = 101
	MessageType_MessageType_DebugLinkState       MessageType = 102
	MessageType_MessageType_DebugLinkStop        MessageType = 103
	MessageType_MessageType_DebugLinkLog         MessageType = 104
	MessageType_MessageType_DebugLinkMemoryRead  MessageType = 110
	MessageType_MessageType_DebugLinkMemory      MessageType = 111
	MessageType_MessageType_DebugLinkMemoryWrite MessageType = 112
	MessageType_MessageType_DebugLinkFlashErase  MessageType = 113
	// Ethereum
	MessageType_MessageType_EthereumGetPublicKey     MessageType = 450
	MessageType_MessageType_EthereumPublicKey        MessageType = 451
	MessageType_MessageType_EthereumGetAddress       MessageType = 56
	MessageType_MessageType_EthereumAddress          MessageType = 57
	MessageType_MessageType_EthereumSignTx           MessageType = 58
	MessageType_MessageType_EthereumTxRequest        MessageType = 59
	MessageType_MessageType_EthereumTxAck            MessageType = 60
	MessageType_MessageType_EthereumSignMessage      MessageType = 64
	MessageType_MessageType_EthereumVerifyMessage    MessageType = 65
	MessageType_MessageType_EthereumMessageSignature MessageType = 66
	// NEM
	MessageType_MessageType_NEMGetAddress       MessageType = 67
	MessageType_MessageType_NEMAddress          MessageType = 68
	MessageType_MessageType_NEMSignTx           MessageType = 69
	MessageType_MessageType_NEMSignedTx         MessageType = 70
	MessageType_MessageType_NEMDecryptMessage   MessageType = 75
	MessageType_MessageType_NEMDecryptedMessage MessageType = 76
	// Lisk
	MessageType_MessageType_LiskGetAddress       MessageType = 114
	MessageType_MessageType_LiskAddress          MessageType = 115
	MessageType_MessageType_LiskSignTx           MessageType = 116
	MessageType_MessageType_LiskSignedTx         MessageType = 117
	MessageType_MessageType_LiskSignMessage      MessageType = 118
	MessageType_MessageType_LiskMessageSignature MessageType = 119
	MessageType_MessageType_LiskVerifyMessage    MessageType = 120
	MessageType_MessageType_LiskGetPublicKey     MessageType = 121
	MessageType_MessageType_LiskPublicKey        MessageType = 122
	// Tezos
	MessageType_MessageType_TezosGetAddress   MessageType = 150
	MessageType_MessageType_TezosAddress      MessageType = 151
	MessageType_MessageType_TezosSignTx       MessageType = 152
	MessageType_MessageType_TezosSignedTx     MessageType = 153
	MessageType_MessageType_TezosGetPublicKey MessageType = 154
	MessageType_MessageType_TezosPublicKey    MessageType = 155
	// Stellar
	MessageType_MessageType_StellarSignTx               MessageType = 202
	MessageType_MessageType_StellarTxOpRequest          MessageType = 203
	MessageType_MessageType_StellarGetAddress           MessageType = 207
	MessageType_MessageType_StellarAddress              MessageType = 208
	MessageType_MessageType_StellarCreateAccountOp      MessageType = 210
	MessageType_MessageType_StellarPaymentOp            MessageType = 211
	MessageType_MessageType_StellarPathPaymentOp        MessageType = 212
	MessageType_MessageType_StellarManageOfferOp        MessageType = 213
	MessageType_MessageType_StellarCreatePassiveOfferOp MessageType = 214
	MessageType_MessageType_StellarSetOptionsOp         MessageType = 215
	MessageType_MessageType_StellarChangeTrustOp        MessageType = 216
	MessageType_MessageType_StellarAllowTrustOp         MessageType = 217
	MessageType_MessageType_StellarAccountMergeOp       MessageType = 218
	// omitted: StellarInflationOp is not a supported operation, would be 219
	MessageType_MessageType_StellarManageDataOp   MessageType = 220
	MessageType_MessageType_StellarBumpSequenceOp MessageType = 221
	MessageType_MessageType_StellarSignedTx       MessageType = 230
	// TRON
	MessageType_MessageType_TronGetAddress MessageType = 250
	MessageType_MessageType_TronAddress    MessageType = 251
	MessageType_MessageType_TronSignTx     MessageType = 252
	MessageType_MessageType_TronSignedTx   MessageType = 253
	// Cardano
	// dropped Sign/VerifyMessage ids 300-302
	MessageType_MessageType_CardanoSignTx       MessageType = 303
	MessageType_MessageType_CardanoTxRequest    MessageType = 304
	MessageType_MessageType_CardanoGetPublicKey MessageType = 305
	MessageType_MessageType_CardanoPublicKey    MessageType = 306
	MessageType_MessageType_CardanoGetAddress   MessageType = 307
	MessageType_MessageType_CardanoAddress      MessageType = 308
	MessageType_MessageType_CardanoTxAck        MessageType = 309
	MessageType_MessageType_CardanoSignedTx     MessageType = 310
	// Ontology
	MessageType_MessageType_OntologyGetAddress               MessageType = 350
	MessageType_MessageType_OntologyAddress                  MessageType = 351
	MessageType_MessageType_OntologyGetPublicKey             MessageType = 352
	MessageType_MessageType_OntologyPublicKey                MessageType = 353
	MessageType_MessageType_OntologySignTransfer             MessageType = 354
	MessageType_MessageType_OntologySignedTransfer           MessageType = 355
	MessageType_MessageType_OntologySignWithdrawOng          MessageType = 356
	MessageType_MessageType_OntologySignedWithdrawOng        MessageType = 357
	MessageType_MessageType_OntologySignOntIdRegister        MessageType = 358
	MessageType_MessageType_OntologySignedOntIdRegister      MessageType = 359
	MessageType_MessageType_OntologySignOntIdAddAttributes   MessageType = 360
	MessageType_MessageType_OntologySignedOntIdAddAttributes MessageType = 361
	// Ripple
	MessageType_MessageType_RippleGetAddress MessageType = 400
	MessageType_MessageType_RippleAddress    MessageType = 401
	MessageType_MessageType_RippleSignTx     MessageType = 402
	MessageType_MessageType_RippleSignedTx   MessageType = 403
	// Monero
	MessageType_MessageType_MoneroTransactionInitRequest              MessageType = 501
	MessageType_MessageType_MoneroTransactionInitAck                  MessageType = 502
	MessageType_MessageType_MoneroTransactionSetInputRequest          MessageType = 503
	MessageType_MessageType_MoneroTransactionSetInputAck              MessageType = 504
	MessageType_MessageType_MoneroTransactionInputsPermutationRequest MessageType = 505
	MessageType_MessageType_MoneroTransactionInputsPermutationAck     MessageType = 506
	MessageType_MessageType_MoneroTransactionInputViniRequest         MessageType = 507
	MessageType_MessageType_MoneroTransactionInputViniAck             MessageType = 508
	MessageType_MessageType_MoneroTransactionAllInputsSetRequest      MessageType = 509
	MessageType_MessageType_MoneroTransactionAllInputsSetAck          MessageType = 510
	MessageType_MessageType_MoneroTransactionSetOutputRequest         MessageType = 511
	MessageType_MessageType_MoneroTransactionSetOutputAck             MessageType = 512
	MessageType_MessageType_MoneroTransactionAllOutSetRequest         MessageType = 513
	MessageType_MessageType_MoneroTransactionAllOutSetAck             MessageType = 514
	MessageType_MessageType_MoneroTransactionSignInputRequest         MessageType = 515
	MessageType_MessageType_MoneroTransactionSignInputAck             MessageType = 516
	MessageType_MessageType_MoneroTransactionFinalRequest             MessageType = 517
	MessageType_MessageType_MoneroTransactionFinalAck                 MessageType = 518
	MessageType_MessageType_MoneroKeyImageExportInitRequest           MessageType = 530
	MessageType_MessageType_MoneroKeyImageExportInitAck               MessageType = 531
	MessageType_MessageType_MoneroKeyImageSyncStepRequest             MessageType = 532
	MessageType_MessageType_MoneroKeyImageSyncStepAck                 MessageType = 533
	MessageType_MessageType_MoneroKeyImageSyncFinalRequest            MessageType = 534
	MessageType_MessageType_MoneroKeyImageSyncFinalAck                MessageType = 535
	MessageType_MessageType_MoneroGetAddress                          MessageType = 540
	MessageType_MessageType_MoneroAddress                             MessageType = 541
	MessageType_MessageType_MoneroGetWatchKey                         MessageType = 542
	MessageType_MessageType_MoneroWatchKey                            MessageType = 543
	MessageType_MessageType_DebugMoneroDiagRequest                    MessageType = 546
	MessageType_MessageType_DebugMoneroDiagAck                        MessageType = 547
)

func (MessageType) Enum

func (x MessageType) Enum() *MessageType

func (MessageType) EnumDescriptor

func (MessageType) EnumDescriptor() ([]byte, []int)

func (MessageType) String

func (x MessageType) String() string

func (*MessageType) UnmarshalJSON

func (x *MessageType) UnmarshalJSON(data []byte) error

type TrezorState

type TrezorState int
const (
	Ready                TrezorState = iota // Already unlocked and ready to sign data
	WaitingForPin                           // Expecting PIN in order to unlock the trezor
	WaitingForPassphrase                    // Expecting passphrase in order to unlock the trezor
	Unexpected
)

type Trezoreum

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

func NewTrezoreum

func NewTrezoreum() (*Trezoreum, error)

func (*Trezoreum) Derive

func (self *Trezoreum) Derive(path accounts.DerivationPath) (common.Address, error)

func (*Trezoreum) Init

func (self *Trezoreum) Init() (mm.Features, TrezorState, error)

func (*Trezoreum) Sign

func (*Trezoreum) Unlock

func (self *Trezoreum) Unlock() error

func (*Trezoreum) UnlockByPassphrase

func (self *Trezoreum) UnlockByPassphrase(passphrase string) (TrezorState, error)

func (*Trezoreum) UnlockByPin

func (self *Trezoreum) UnlockByPin(pin string) (TrezorState, error)

Directories

Path Synopsis
Package hw_trezor_messages is a generated protocol buffer package.
Package hw_trezor_messages is a generated protocol buffer package.
Package hw_trezor_messages_common is a generated protocol buffer package.
Package hw_trezor_messages_common is a generated protocol buffer package.
Package messages_crypto is a generated protocol buffer package.
Package messages_crypto is a generated protocol buffer package.
Package hw_trezor_messages_ethereum is a generated protocol buffer package.
Package hw_trezor_messages_ethereum is a generated protocol buffer package.
Package hw_trezor_messages_management is a generated protocol buffer package.
Package hw_trezor_messages_management is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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