Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Address ¶
type Address interface {
// ID is an identifier for the address.
ID() string
EncodeForHumans() string
}
Address models a blockchain address to which coins can be sent.
type AddressAndAmount ¶
type AddressAndAmount struct {
Address string
// Amount is the amount sent to or received on the address in a transaction.
Amount coin.Amount
// Ours is true if the address is one of our receive addresses.
Ours bool
}
AddressAndAmount holds an address and the corresponding amount.
type Balance ¶
type Balance struct {
// contains filtered or unexported fields
}
Balance contains the available and incoming balance of an account.
func NewBalance ¶
NewBalance creates a new balance with the given amounts.
type Event ¶
type Event string
Event instances are sent to the onEvent callback of the wallet.
const ( // EventStatusChanged is fired when the status changes. Check the status using Initialized(). EventStatusChanged Event = "statusChanged" // EventSyncStarted is fired when syncing with the blockchain starts. This happens in the very // beginning for the initial sync, and repeatedly afterwards when the wallet is updated (new // transactions, confirmations, etc.). EventSyncStarted Event = "syncstarted" // EventSyncDone follows EventSyncStarted. EventSyncDone Event = "syncdone" // EventHeadersSynced is fired when the headers finished syncing. EventHeadersSynced Event = "headersSynced" // EventFeeTargetsChanged is fired when the fee targets change. EventFeeTargetsChanged Event = "feeTargetsChanged" )
type FeeTarget ¶
type FeeTarget interface {
Code() FeeTargetCode
}
FeeTarget interface has priority codes. Coin specific methods are implemented in corresponding coins
type FeeTargetCode ¶
type FeeTargetCode string
FeeTargetCode models the code of a fee target. See the constants below.
const ( // FeeTargetCodeLow is the low priority fee target. FeeTargetCodeLow FeeTargetCode = "low" // FeeTargetCodeEconomy is the economy priority fee target. FeeTargetCodeEconomy FeeTargetCode = "economy" // FeeTargetCodeNormal is the normal priority fee target. FeeTargetCodeNormal FeeTargetCode = "normal" // FeeTargetCodeHigh is the high priority fee target. FeeTargetCodeHigh FeeTargetCode = "high" // DefaultFeeTarget is the default fee target DefaultFeeTarget = FeeTargetCodeNormal )
func NewFeeTargetCode ¶
func NewFeeTargetCode(code string) (FeeTargetCode, error)
NewFeeTargetCode checks if the code is valid and returns a FeeTargetCode in that case.
type Info ¶
type Info struct {
SigningConfiguration *signing.Configuration `json:"signingConfiguration"`
}
Info holds account information.
type Interface ¶
type Interface interface {
Info() *Info
// Code is a identifier for the account (to identify the account in databases, apis, etc.).
Code() string
Coin() coin.Coin
// Name returns a human readable long name.
Name() string
// Initialize only starts the initialization, the account is not initialized right afterwards.
Initialize() error
Initialized() bool
Offline() bool
FatalError() bool
Close()
Notifier() Notifier
Transactions() ([]Transaction, error)
Balance() (*Balance, error)
// Creates, signs and broadcasts a transaction. Returns keystore.ErrSigningAborted on user
// abort.
SendTx(string, coin.SendAmount, FeeTargetCode, map[wire.OutPoint]struct{}, []byte) error
FeeTargets() ([]FeeTarget, FeeTargetCode)
TxProposal(string, coin.SendAmount, FeeTargetCode, map[wire.OutPoint]struct{}, []byte) (
coin.Amount, coin.Amount, coin.Amount, error)
GetUnusedReceiveAddresses() []Address
CanVerifyAddresses() (bool, bool, error)
VerifyAddress(addressID string) (bool, error)
ConvertToLegacyAddress(addressID string) (btcutil.Address, error)
Keystores() *keystore.Keystores
RateUpdater() *rates.RateUpdater
}
Interface is the API of a Account.
type Notifier ¶
type Notifier interface {
// Put adds the id to the 'unnotified' set, unless it is already in the 'seen' set.
Put(id []byte) error
// Delete removes the id from all sets.
Delete(id []byte) error
// UnnotifiedCount returns the number ids in the 'unnotified' set.
UnnotifiedCount() (int, error)
// MarkAllNotified moves all ids from the 'unnotified' set to the 'seen' set.
MarkAllNotified() error
}
Notifier juggles transaction IDs for the purpose of notifications and unread counts.
type Transaction ¶
type Transaction interface {
// Fee is nil for a receiving tx. The fee is only displayed (and relevant) when sending funds
// from the wallet.
Fee() *coin.Amount
// Time of confirmation. nil for unconfirmed tx or when the headers are not synced yet.
Timestamp() *time.Time
// ID is the tx ID.
ID() string
// NumConfirmations is the number of confirmations. 0 for unconfirmed.
NumConfirmations() int
// Status is the tx status. See TxStatus docs for details.
Status() TxStatus
// Type returns the type of the transaction.
Type() TxType
// Amount is always >0 and is the amount received or sent (not including the fee).
Amount() coin.Amount
// Addresses money was sent to / received on.
Addresses() []AddressAndAmount
}
Transaction models a transaction with common transaction info.
type TxStatus ¶
type TxStatus string
TxStatus is the the status of the tx and helps the frontend show the appropriate information.
const ( // TxStatusPending means the tx is unconfirmed. TxStatusPending TxStatus = "pending" // TxStatusComplete means the tx is complete, depending on the number of confirmations needed // for the respective coin. TxStatusComplete TxStatus = "complete" // TxStatusFailed means the tx is confirmed but considered failed, e.g. a ETH transaction which TxStatusFailed TxStatus = "failed" )