clef

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoAccounts          = errors.New("no accounts found in clef")
	ErrAccountNotAvailable = errors.New("account not available in clef")
)

Functions

func DefaultIpcPath

func DefaultIpcPath() (string, error)

DefaultIpcPath returns the os-dependent default ipc path for clef.

func NewSigner

func NewSigner(clef ExternalSignerInterface, client Client, recoverFunc crypto.RecoverFunc, ethAddress *common.Address) (signer crypto.Signer, err error)

NewSigner creates a new connection to the signer at endpoint. If ethAddress is nil the account with index 0 will be selected. Otherwise it will verify the requested account actually exists. As clef does not expose public keys it signs a test message to recover the public key.

Types

type Client

type Client interface {
	Call(result interface{}, method string, args ...interface{}) error
}

Client is the interface for rpc.RpcClient.

type ExternalSignerInterface

type ExternalSignerInterface interface {
	SignData(account accounts.Account, mimeType string, data []byte) ([]byte, error)
	SignTx(account accounts.Account, tx *types.Transaction, chainID *big.Int) (*types.Transaction, error)
	Accounts() []accounts.Account
}

ExternalSignerInterface is the interface for the clef client from go-ethereum.

Jump to

Keyboard shortcuts

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