wallet

package
v0.4.3 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2018 License: AGPL-3.0 Imports: 22 Imported by: 12

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 RecoveryIndex = 5000

RecoveryIndex walletdb recovery cp number

View Source
const SINGLE = 1

SINGLE single sign

Variables

This section is empty.

Functions

func BuildAnnotatedInput

func BuildAnnotatedInput(tx *types.Tx, i uint32) *query.AnnotatedInput

BuildAnnotatedInput build the annotated input.

func BuildAnnotatedOutput

func BuildAnnotatedOutput(tx *types.Tx, idx int) *query.AnnotatedOutput

BuildAnnotatedOutput build the annotated output.

Types

type AccountBalance added in v0.4.3

type AccountBalance struct {
	AccountID  string `json:"account_id"`
	Alias      string `json:"account_alias"`
	AssetAlias string `json:"asset_alias"`
	AssetID    string `json:"asset_id"`
	Amount     uint64 `json:"amount"`
}

AccountBalance account balance

type KeyInfo

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

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"`
}

Summary is the struct of transaction's input and output summary

type TxSummary

type TxSummary struct {
	ID        bc.Hash   `json:"tx_id"`
	Timestamp uint64    `json:"block_time"`
	Inputs    []Summary `json:"inputs"`
	Outputs   []Summary `json:"outputs"`
}

TxSummary is the struct of transaction summary

type Wallet

type Wallet struct {
	DB db.DB

	AccountMgr *account.Manager
	AssetReg   *asset.Registry
	Hsm        *pseudohsm.HSM

	ImportPrivKey bool
	// contains filtered or unexported fields
}

Wallet is related to storing account unspent outputs

func NewWallet

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

NewWallet return a new wallet instance

func (*Wallet) ExportAccountPrivKey

func (w *Wallet) ExportAccountPrivKey(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) GetAccountBalances

func (w *Wallet) GetAccountBalances(id string) []AccountBalance

GetAccountBalances return all account balances

func (*Wallet) GetAccountUTXOs

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

GetAccountUTXOs return all account unspent outputs

func (*Wallet) GetRescanStatus

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

GetRescanStatus return key import rescan status

func (*Wallet) GetTransactionByTxID

func (w *Wallet) GetTransactionByTxID(txID string) (*query.AnnotatedTx, error)

GetTransactionByTxID get transaction by txID

func (*Wallet) GetTransactionsByAccountID

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

GetTransactionsByAccountID get account txs by account ID

func (*Wallet) GetTransactionsByTxID

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

GetTransactionsByTxID get account txs by account tx ID

func (*Wallet) GetTransactionsSummary

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

GetTransactionsSummary get transactions summary

func (*Wallet) ImportAccountPrivKey

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

ImportAccountPrivKey imports the account key in the Wallet Import Formt.

func (*Wallet) ImportAccountXpubKey

func (w *Wallet) ImportAccountXpubKey(xpubIndex int, xpub pseudohsm.XPub, cpIndex uint64) error

ImportAccountXpubKey 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