wallet

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2018 License: AGPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//TxPrefix is wallet database transactions prefix
	TxPrefix = "TXS:"
	//TxIndexPrefix is wallet database tx index prefix
	TxIndexPrefix = "TID:"
)
View Source
const SINGLE = 1

SINGLE single sign

Variables

This section is empty.

Functions

This section is empty.

Types

type KeyInfo added in v0.4.0

type KeyInfo struct {
	Alias    string       `json:"alias"`
	XPub     chainkd.XPub `json:"xpub"`
	Percent  uint8        `json:"percent"`
	Complete bool         `json:"complete"`
}

KeyInfo is key import status

type StatusInfo

type StatusInfo struct {
	WorkHeight uint64
	WorkHash   bc.Hash
	BestHeight uint64
	BestHash   bc.Hash
}

StatusInfo is base valid block info to handle orphan block rollback

type Summary added in v0.4.0

type Summary struct {
	Type         string             `json:"type"`
	AssetID      bc.AssetID         `json:"asset_id,omitempty"`
	AssetAlias   string             `json:"asset_alias,omitempty"`
	Amount       uint64             `json:"amount,omitempty"`
	AccountID    string             `json:"account_id,omitempty"`
	AccountAlias string             `json:"account_alias,omitempty"`
	Arbitrary    chainjson.HexBytes `json:"arbitrary,omitempty"`
}

type TxSummary added in v0.4.0

type TxSummary struct {
	ID        bc.Hash   `json:"id"`
	Timestamp time.Time `json:"timestamp"`
	Inputs    []Summary `json:"inputs"`
	Outputs   []Summary `json:"outputs"`
}

type Wallet

type Wallet struct {
	DB db.DB

	AccountMgr *account.Manager
	AssetReg   *asset.Registry

	ImportPrivKey bool
	// contains filtered or unexported fields
}

Wallet is related to storing account unspent outputs

func NewWallet added in v0.3.0

func NewWallet(walletDB db.DB, account *account.Manager, asset *asset.Registry, chain *protocol.Chain) (*Wallet, error)

NewWallet return a new wallet instance

func (*Wallet) ExportAccountPrivKey added in v0.3.0

func (w *Wallet) ExportAccountPrivKey(hsm *pseudohsm.HSM, xpub chainkd.XPub, auth string) (*string, error)

ExportAccountPrivKey exports the account private key as a WIF for encoding as a string in the Wallet Import Formt.

func (*Wallet) GetAccountUTXOs added in v0.3.0

func (w *Wallet) GetAccountUTXOs(id string) ([]account.UTXO, error)

GetAccountUTXOs return all account unspent outputs

func (*Wallet) GetRescanStatus added in v0.4.0

func (w *Wallet) GetRescanStatus() ([]KeyInfo, error)

GetRescanStatus return key import rescan status

func (*Wallet) GetTransactionsByAccountID added in v0.3.0

func (w *Wallet) GetTransactionsByAccountID(accountID string) ([]*query.AnnotatedTx, error)

GetTransactionsByAccountID get account txs by account ID

func (*Wallet) GetTransactionsByTxID added in v0.3.0

func (w *Wallet) GetTransactionsByTxID(txID string) ([]*query.AnnotatedTx, error)

GetTransactionsByTxID get account txs by account tx ID

func (*Wallet) GetTransactionsSummary added in v0.4.0

func (w *Wallet) GetTransactionsSummary(transactions []*query.AnnotatedTx) []TxSummary

GetTransactionsSummary get transactions summary

func (*Wallet) ImportAccountPrivKey added in v0.3.0

func (w *Wallet) ImportAccountPrivKey(hsm *pseudohsm.HSM, xprv chainkd.XPrv, keyAlias, auth string, index uint64, accountAlias string) (*pseudohsm.XPub, error)

ImportAccountPrivKey imports the account key in the Wallet Import Formt.

Jump to

Keyboard shortcuts

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