Documentation ¶
Index ¶
- type Account
- func (account *Account) Balance() (*accounts.Balance, error)
- func (account *Account) CanVerifyAddresses() (bool, bool, error)
- func (account *Account) Close()
- func (account *Account) Code() string
- func (account *Account) Coin() coin.Coin
- func (account *Account) ConvertToLegacyAddress(string) (btcutil.Address, error)
- func (account *Account) FatalError() bool
- func (account *Account) FeeTargets() ([]accounts.FeeTarget, accounts.FeeTargetCode)
- func (account *Account) GetUnusedReceiveAddresses() []accounts.Address
- func (account *Account) Info() *accounts.Info
- func (account *Account) Initialize() error
- func (account *Account) Initialized() bool
- func (account *Account) Keystores() *keystore.Keystores
- func (account *Account) Name() string
- func (account *Account) Notifier() accounts.Notifier
- func (account *Account) Offline() bool
- func (account *Account) RateUpdater() *rates.RateUpdater
- func (account *Account) SendTx(recipientAddress string, amount coin.SendAmount, _ accounts.FeeTargetCode, ...) error
- func (account *Account) Transactions() ([]accounts.Transaction, error)
- func (account *Account) TxProposal(recipientAddress string, amount coin.SendAmount, _ accounts.FeeTargetCode, ...) (coin.Amount, coin.Amount, coin.Amount, error)
- func (account *Account) VerifyAddress(addressID string) (bool, error)
- type Address
- type Coin
- func (coin *Coin) BlockExplorerTransactionURLPrefix() string
- func (coin *Coin) Code() string
- func (coin *Coin) Decimals(isFee bool) uint
- func (coin *Coin) ERC20Token() *erc20.Token
- func (coin *Coin) FormatAmount(amount coin.Amount, isFee bool) string
- func (coin *Coin) Initialize()
- func (coin *Coin) Net() *params.ChainConfig
- func (coin *Coin) SmallestUnit() string
- func (coin *Coin) String() string
- func (coin *Coin) ToUnit(amount coin.Amount, isFee bool) float64
- func (coin *Coin) TransactionsSource() TransactionsSource
- func (coin *Coin) Unit(isFee bool) string
- type TransactionsSource
- type TransactionsSourceMaker
- type TxProposal
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
Account is an Ethereum account, with one address.
func NewAccount ¶
func NewAccount( accountCoin *Coin, dbFolder string, code string, name string, getSigningConfiguration func() (*signing.Configuration, error), keystores *keystore.Keystores, getNotifier func(*signing.Configuration) accounts.Notifier, onEvent func(accounts.Event), log *logrus.Entry, rateUpdater *rates.RateUpdater, ) *Account
NewAccount creates a new account.
func (*Account) CanVerifyAddresses ¶
CanVerifyAddresses implements accounts.Interface.
func (*Account) ConvertToLegacyAddress ¶
ConvertToLegacyAddress implements accounts.Interface.
func (*Account) FatalError ¶
FatalError implements accounts.Interface.
func (*Account) FeeTargets ¶
func (account *Account) FeeTargets() ([]accounts.FeeTarget, accounts.FeeTargetCode)
FeeTargets implements accounts.Interface.
func (*Account) GetUnusedReceiveAddresses ¶
GetUnusedReceiveAddresses implements accounts.Interface.
func (*Account) Initialize ¶
Initialize implements accounts.Interface.
func (*Account) Initialized ¶
Initialized implements accounts.Interface.
func (*Account) RateUpdater ¶
func (account *Account) RateUpdater() *rates.RateUpdater
RateUpdater implement accounts.Interface, currently just returning a dummy value
func (*Account) SendTx ¶
func (account *Account) SendTx( recipientAddress string, amount coin.SendAmount, _ accounts.FeeTargetCode, _ map[wire.OutPoint]struct{}, data []byte) error
SendTx implements accounts.Interface.
func (*Account) Transactions ¶
func (account *Account) Transactions() ([]accounts.Transaction, error)
Transactions implements accounts.Interface.
type Address ¶
Address holds an Ethereum address and implements coin.Address.
func (Address) EncodeForHumans ¶
EncodeForHumans implements coin.Address.
type Coin ¶
type Coin struct { observable.Implementation // contains filtered or unexported fields }
Coin models an Ethereum coin.
func NewCoin ¶
func NewCoin( code string, unit string, feeUnit string, net *params.ChainConfig, blockExplorerTxPrefix string, makeTransactionsSource TransactionsSourceMaker, nodeURL string, erc20Token *erc20.Token, socksProxy socksproxy.SocksProxy, ) *Coin
NewCoin creates a new coin with the given parameters. makeTransactionsSource: provide `TransactionsSourceNone` or `TransactionsSourceEtherScan()`. For erc20 tokens, provide erc20Token using NewERC20Token() (otherwise keep nil).
func (*Coin) BlockExplorerTransactionURLPrefix ¶
BlockExplorerTransactionURLPrefix implements coin.Coin.
func (*Coin) ERC20Token ¶
ERC20Token returns nil for a normal Ethereum coin, or the erc20 token details for an erc20 token.
func (*Coin) FormatAmount ¶
FormatAmount implements coin.Coin.
func (*Coin) Net ¶
func (coin *Coin) Net() *params.ChainConfig
Net returns the network (mainnet, testnet, etc.).
func (*Coin) SmallestUnit ¶
SmallestUnit implements coin.Coin.
func (*Coin) TransactionsSource ¶
func (coin *Coin) TransactionsSource() TransactionsSource
TransactionsSource returns an instance of TransactionsSource.
type TransactionsSource ¶
type TransactionsSource interface { Transactions(address common.Address, endBlock *big.Int, erc20Token *erc20.Token) ( []accounts.Transaction, error) }
TransactionsSource source of Ethereum transactions. An additional source for this is needed as a normal ETH full node does not expose an API endpoint to get transactions per address.
type TransactionsSourceMaker ¶
type TransactionsSourceMaker func() TransactionsSource
TransactionsSourceMaker creates a transaction source.
var TransactionsSourceNone TransactionsSourceMaker = func() TransactionsSource { return nil }
TransactionsSourceNone is used if no transactions source should be used.
func TransactionsSourceEtherScan ¶
func TransactionsSourceEtherScan(etherScanURL string, socksProxy socksproxy.SocksProxy) TransactionsSourceMaker
TransactionsSourceEtherScan creates a etherscan transactions source maker.
type TxProposal ¶
type TxProposal struct { Coin coin.Coin Tx *types.Transaction Fee *big.Int // Value can be the same as Tx.Value(), but in case of e.g. ERC20, tx.Value() is zero, while the // Token value is encoded in the contract input data. Value *big.Int // Signer contains the sighash algo, which depends on the block number. Signer types.Signer // KeyPath is the location of this account's address/pubkey/privkey. Keypath signing.AbsoluteKeypath }
TxProposal holds all info needed to create and sign a transacstion.