wallet

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2021 License: MPL-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultDerivationPath = DerivationPath{0x80000000 + 44, 0x80000000 + 60, 0x80000000 + 0, 0, 0}

DefaultDerivationPath is the default derivation path for Ethereum addresses

View Source
var S256 = btcec.S256()

S256 is the secp256k1 elliptic curve

Functions

func Ecrecover

func Ecrecover(hash, signature []byte) (web3.Address, error)

func EcrecoverMsg

func EcrecoverMsg(msg, signature []byte) (web3.Address, error)

func ParsePrivateKey

func ParsePrivateKey(buf []byte) (*ecdsa.PrivateKey, error)

func RecoverPubkey

func RecoverPubkey(signature, hash []byte) (*ecdsa.PublicKey, error)

Types

type DerivationPath

type DerivationPath []uint32

func (*DerivationPath) Derive

func (d *DerivationPath) Derive(master *hdkeychain.ExtendedKey) (*ecdsa.PrivateKey, error)

type EIP1155Signer

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

func NewEIP155Signer

func NewEIP155Signer(chainID uint64) *EIP1155Signer

func (*EIP1155Signer) RecoverSender

func (e *EIP1155Signer) RecoverSender(tx *web3.Transaction) (web3.Address, error)

func (*EIP1155Signer) SignTx

func (e *EIP1155Signer) SignTx(tx *web3.Transaction, key *Key) (*web3.Transaction, error)

type Key

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

func GenerateKey

func GenerateKey() (*Key, error)

GenerateKey generates a new key based on the secp256k1 elliptic curve.

func NewWalletFromMnemonic

func NewWalletFromMnemonic(mnemonic string) (*Key, error)

func NewWalletFromPrivKey

func NewWalletFromPrivKey(p []byte) (*Key, error)

func (*Key) Address

func (k *Key) Address() web3.Address

func (*Key) MarshallPrivateKey

func (k *Key) MarshallPrivateKey() ([]byte, error)

func (*Key) Sign

func (k *Key) Sign(hash []byte) ([]byte, error)

func (*Key) SignMsg

func (k *Key) SignMsg(msg []byte) ([]byte, error)

type Signer

type Signer interface {
	// RecoverSender returns the sender to the transaction
	RecoverSender(tx *web3.Transaction) (web3.Address, error)

	// SignTx signs a transaction
	SignTx(tx *web3.Transaction, key *Key) (*web3.Transaction, error)
}

Jump to

Keyboard shortcuts

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