Documentation ¶
Index ¶
- Constants
- type AccountBalance
- type SortByTimestamp
- type StatusInfo
- type Summary
- type TxSummary
- type Wallet
- func (w *Wallet) AddUnconfirmedTx(txD *protocol.TxDesc)
- func (w *Wallet) AttachBlock(block *types.Block) error
- func (w *Wallet) BuildAnnotatedInput(tx *types.Tx, i uint32) *query.AnnotatedInput
- func (w *Wallet) BuildAnnotatedOutput(tx *types.Tx, idx int) *query.AnnotatedOutput
- func (w *Wallet) DetachBlock(block *types.Block) error
- func (w *Wallet) GetAccountBalances(id string) ([]AccountBalance, error)
- func (w *Wallet) GetAccountUtxos(id string, unconfirmed, isSmartContract bool) []*account.UTXO
- func (w *Wallet) GetTransactionByTxID(txID string) (*query.AnnotatedTx, error)
- func (w *Wallet) GetTransactions(accountID string) ([]*query.AnnotatedTx, error)
- func (w *Wallet) GetTransactionsSummary(transactions []*query.AnnotatedTx) []TxSummary
- func (w *Wallet) GetUnconfirmedTxByTxID(txID string) (*query.AnnotatedTx, error)
- func (w *Wallet) GetUnconfirmedTxs(accountID string) ([]*query.AnnotatedTx, error)
- func (w *Wallet) GetWalletStatusInfo() StatusInfo
- func (w *Wallet) RemoveUnconfirmedTx(txD *protocol.TxDesc)
- func (w *Wallet) RescanBlocks()
Constants ¶
const ( //TxPrefix is wallet database transactions prefix TxPrefix = "TXS:" //TxIndexPrefix is wallet database tx index prefix TxIndexPrefix = "TID:" )
const ( //UnconfirmedTxPrefix is txpool unconfirmed transactions prefix UnconfirmedTxPrefix = "UTXS:" UnconfirmedTxCheckPeriod = 30 * time.Minute MaxUnconfirmedTxDuration = 24 * time.Hour )
const (
//SINGLE single sign
SINGLE = 1
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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"` AssetDefinition map[string]interface{} `json:"asset_definition"` }
AccountBalance account balance
type SortByTimestamp ¶ added in v1.0.3
type SortByTimestamp []*query.AnnotatedTx
SortByTimestamp implements sort.Interface for AnnotatedTx slices
func (SortByTimestamp) Len ¶ added in v1.0.3
func (a SortByTimestamp) Len() int
func (SortByTimestamp) Less ¶ added in v1.0.3
func (a SortByTimestamp) Less(i, j int) bool
func (SortByTimestamp) Swap ¶ added in v1.0.3
func (a SortByTimestamp) Swap(i, j int)
type StatusInfo ¶
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 // 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) AddUnconfirmedTx ¶ added in v1.0.4
AddUnconfirmedTx handle wallet status update when tx add into txpool
func (*Wallet) AttachBlock ¶ added in v0.4.6
AttachBlock attach a new block
func (*Wallet) BuildAnnotatedInput ¶ added in v0.4.6
BuildAnnotatedInput build the annotated input.
func (*Wallet) BuildAnnotatedOutput ¶ added in v0.4.6
BuildAnnotatedOutput build the annotated output.
func (*Wallet) DetachBlock ¶ added in v0.4.6
DetachBlock detach a block and rollback state
func (*Wallet) GetAccountBalances ¶
func (w *Wallet) GetAccountBalances(id string) ([]AccountBalance, error)
GetAccountBalances return all account balances
func (*Wallet) GetAccountUtxos ¶ added in v1.0.4
GetAccountUtxos return all account unspent outputs
func (*Wallet) GetTransactionByTxID ¶
func (w *Wallet) GetTransactionByTxID(txID string) (*query.AnnotatedTx, error)
GetTransactionByTxID get transaction by txID
func (*Wallet) GetTransactions ¶ added in v1.0.3
func (w *Wallet) GetTransactions(accountID string) ([]*query.AnnotatedTx, error)
GetTransactions get all walletDB transactions, and filter transactions by accountID optional
func (*Wallet) GetTransactionsSummary ¶
func (w *Wallet) GetTransactionsSummary(transactions []*query.AnnotatedTx) []TxSummary
GetTransactionsSummary get transactions summary
func (*Wallet) GetUnconfirmedTxByTxID ¶ added in v1.0.3
func (w *Wallet) GetUnconfirmedTxByTxID(txID string) (*query.AnnotatedTx, error)
GetUnconfirmedTxByTxID get unconfirmed transaction by txID
func (*Wallet) GetUnconfirmedTxs ¶ added in v1.0.3
func (w *Wallet) GetUnconfirmedTxs(accountID string) ([]*query.AnnotatedTx, error)
GetUnconfirmedTxs get account unconfirmed transactions, filter transactions by accountID when accountID is not empty
func (*Wallet) GetWalletStatusInfo ¶ added in v1.0.4
func (w *Wallet) GetWalletStatusInfo() StatusInfo
GetWalletStatusInfo return current wallet StatusInfo
func (*Wallet) RemoveUnconfirmedTx ¶ added in v1.0.4
RemoveUnconfirmedTx handle wallet status update when tx removed from txpool
func (*Wallet) RescanBlocks ¶ added in v0.5.0
func (w *Wallet) RescanBlocks()
RescanBlocks provide a trigger to rescan blocks