keystores

package
v0.0.0-...-2083224 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2021 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// StandardScryptN is the N parameter of Scrypt encryption algorithm, using 256MB
	// memory and taking approximately 1s CPU time on a modern processor.
	StandardScryptN = 1 << 18

	// StandardScryptP is the P parameter of Scrypt encryption algorithm, using 256MB
	// memory and taking approximately 1s CPU time on a modern processor.
	StandardScryptP = 1

	// LightScryptN is the N parameter of Scrypt encryption algorithm, using 4MB
	// memory and taking approximately 100ms CPU time on a modern processor.
	LightScryptN = 1 << 12

	// LightScryptP is the P parameter of Scrypt encryption algorithm, using 4MB
	// memory and taking approximately 100ms CPU time on a modern processor.
	LightScryptP = 6

	// VeryLightScryptN VeryLightScryptN
	VeryLightScryptN = 2
	// VeryLightScryptP VeryLightScryptP
	VeryLightScryptP = 1
)

Variables

View Source
var DefaultBaseDerivationPath = accounts.DefaultBaseDerivationPath

DefaultBaseDerivationPath is the base path from which custom derivation endpoints are incremented. As such, the first account will be at m/44'/60'/0'/0, the second at m/44'/60'/0'/1, etc

View Source
var DefaultRootDerivationPath = accounts.DefaultRootDerivationPath

DefaultRootDerivationPath is the root path to which custom derivation endpoints are appended. As such, the first account will be at m/44'/60'/0'/0, the second at m/44'/60'/0'/1, etc.

Functions

func MustParseDerivationPath

func MustParseDerivationPath(path string) accounts.DerivationPath

MustParseDerivationPath parses the derivation path in string format into []uint32 but will panic if it can't parse it.

func NewMnemonic

func NewMnemonic(bits int) (string, error)

NewMnemonic returns a randomly generated BIP-39 mnemonic using 128-256 bits of entropy.

func NewSeed

func NewSeed() ([]byte, error)

NewSeed returns a randomly generated BIP-39 seed.

func NewSeedFromMnemonic

func NewSeedFromMnemonic(mnemonic string) ([]byte, error)

NewSeedFromMnemonic returns a BIP-39 seed based on a BIP-39 mnemonic.

func ParseDerivationPath

func ParseDerivationPath(path string) (accounts.DerivationPath, error)

ParseDerivationPath parses the derivation path in string format into []uint32

Types

type Keystore

type Keystore struct {
}

Keystore Keystore

var Ks Keystore

Ks Keystore

func (*Keystore) CheckPassphrase

func (ks *Keystore) CheckPassphrase(keyjson []byte, passphrase string) (bool, error)

CheckPassphrase CheckPassphrase

func (*Keystore) GenKeyFromECDSA

func (ks *Keystore) GenKeyFromECDSA(privateKeyECDSA *ecdsa.PrivateKey) *keystore.Key

GenKeyFromECDSA GenKeyFromECDSA

func (*Keystore) GenKeystore

func (ks *Keystore) GenKeystore(key *keystore.Key, passphrase string) ([]byte, error)

GenKeystore GenKeystore

func (*Keystore) NewKey

func (ks *Keystore) NewKey() (*keystore.Key, error)

NewKey NewKey

func (*Keystore) SignTx

func (ks *Keystore) SignTx(keyjson []byte, passphrase string, tx *types.Transaction, chainID *big.Int) (*types.Transaction, error)

SignTx signs the given transaction with the requested account.

func (*Keystore) Update

func (ks *Keystore) Update(keyjson []byte, passphrase, newPassphrase string) ([]byte, error)

Update Update

type Wallet

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

Wallet is the underlying wallet struct.

func NewFromMnemonic

func NewFromMnemonic(mnemonic string) (*Wallet, error)

NewFromMnemonic returns a new wallet from a BIP-39 mnemonic.

func NewFromSeed

func NewFromSeed(seed []byte) (*Wallet, error)

NewFromSeed returns a new wallet from a BIP-39 seed.

func (*Wallet) Accounts

func (w *Wallet) Accounts() []accounts.Account

Accounts implements accounts.Wallet, returning the list of accounts pinned to the wallet. If self-derivation was enabled, the account list is periodically expanded based on current chain state.

func (*Wallet) Address

func (w *Wallet) Address(account accounts.Account) (common.Address, error)

Address returns the address of the account.

func (*Wallet) AddressBytes

func (w *Wallet) AddressBytes(account accounts.Account) ([]byte, error)

AddressBytes returns the address in bytes format of the account.

func (*Wallet) AddressHex

func (w *Wallet) AddressHex(account accounts.Account) (string, error)

AddressHex returns the address in hex string format of the account.

func (*Wallet) Close

func (w *Wallet) Close() error

Close implements accounts.Wallet, however this does nothing since this is not a hardware device.

func (*Wallet) Contains

func (w *Wallet) Contains(account accounts.Account) bool

Contains implements accounts.Wallet, returning whether a particular account is or is not pinned into this wallet instance.

func (*Wallet) Derive

func (w *Wallet) Derive(path accounts.DerivationPath, pin bool) (accounts.Account, error)

Derive implements accounts.Wallet, deriving a new account at the specific derivation path. If pin is set to true, the account will be added to the list of tracked accounts.

func (*Wallet) Open

func (w *Wallet) Open(passphrase string) error

Open implements accounts.Wallet, however this does nothing since this is not a hardware device.

func (*Wallet) Path

func (w *Wallet) Path(account accounts.Account) (string, error)

Path return the derivation path of the account.

func (*Wallet) PrivateKey

func (w *Wallet) PrivateKey(account accounts.Account) (*ecdsa.PrivateKey, error)

PrivateKey returns the ECDSA private key of the account.

func (*Wallet) PrivateKeyBytes

func (w *Wallet) PrivateKeyBytes(account accounts.Account) ([]byte, error)

PrivateKeyBytes returns the ECDSA private key in bytes format of the account.

func (*Wallet) PrivateKeyHex

func (w *Wallet) PrivateKeyHex(account accounts.Account) (string, error)

PrivateKeyHex return the ECDSA private key in hex string format of the account.

func (*Wallet) PublicKey

func (w *Wallet) PublicKey(account accounts.Account) (*ecdsa.PublicKey, error)

PublicKey returns the ECDSA public key of the account.

func (*Wallet) PublicKeyBytes

func (w *Wallet) PublicKeyBytes(account accounts.Account) ([]byte, error)

PublicKeyBytes returns the ECDSA public key in bytes format of the account.

func (*Wallet) PublicKeyHex

func (w *Wallet) PublicKeyHex(account accounts.Account) (string, error)

PublicKeyHex return the ECDSA public key in hex string format of the account.

func (*Wallet) SelfDerive

func (w *Wallet) SelfDerive(base accounts.DerivationPath, chain ethereum_core.ChainStateReader)

SelfDerive implements accounts.Wallet, trying to discover accounts that the user used previously (based on the chain state), but ones that he/she did not explicitly pin to the wallet manually. To avoid chain head monitoring, self derivation only runs during account listing (and even then throttled).

func (*Wallet) SignHash

func (w *Wallet) SignHash(account accounts.Account, hash []byte) ([]byte, error)

SignHash implements accounts.Wallet, which allows signing arbitrary data.

func (*Wallet) SignHashWithPassphrase

func (w *Wallet) SignHashWithPassphrase(account accounts.Account, passphrase string, hash []byte) ([]byte, error)

SignHashWithPassphrase implements accounts.Wallet, attempting to sign the given hash with the given account using the passphrase as extra authentication.

func (*Wallet) SignTx

func (w *Wallet) SignTx(account accounts.Account, tx *types.Transaction, chainID *big.Int) (*types.Transaction, error)

SignTx implements accounts.Wallet, which allows the account to sign an Ethereum transaction.

func (*Wallet) SignTxWithPassphrase

func (w *Wallet) SignTxWithPassphrase(account accounts.Account, passphrase string, tx *types.Transaction, chainID *big.Int) (*types.Transaction, error)

SignTxWithPassphrase implements accounts.Wallet, attempting to sign the given transaction with the given account using passphrase as extra authentication.

func (*Wallet) Status

func (w *Wallet) Status() (string, error)

Status implements accounts.Wallet, returning a custom status message from the underlying vendor-specific hardware wallet implementation, however this does nothing since this is not a hardware device.

func (*Wallet) URL

func (w *Wallet) URL() accounts.URL

URL implements accounts.Wallet, returning the URL of the device that the wallet is on, however this does nothing since this is not a hardware device.

func (*Wallet) Unpin

func (w *Wallet) Unpin(account accounts.Account) error

Unpin unpins account from list of pinned accounts.

Jump to

Keyboard shortcuts

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