Documentation ¶
Index ¶
- Variables
- func NewDerivationPath(accountIndex uint64) string
- func VerifyP2PKHOwner(pubkeyHashes *KeyHashes, bp []byte) bool
- type AccountKey
- type AccountManager
- type BlockProcessor
- type Builder
- type Config
- type KeyHashes
- type Keys
- type SendOpts
- type Wallet
- func (w *Wallet) GetMaxBlockNumber() (uint64, error)
- func (w *Wallet) SendTransaction(ctx context.Context, tx *txsystem.Transaction, opts *SendOpts) error
- func (w *Wallet) Shutdown()
- func (w *Wallet) Sync(ctx context.Context, lastBlockNumber uint64) error
- func (w *Wallet) SyncToMaxBlockNumber(ctx context.Context, lastBlockNumber uint64) error
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func NewDerivationPath ¶ added in v0.1.1
NewDerivationPath returns derivation path for given account index
func VerifyP2PKHOwner ¶ added in v0.1.1
VerifyP2PKHOwner checks if given bearer predicate equals either SHA256 or SHA512 P2PKH predicate.
Types ¶
type AccountKey ¶
type AccountKey struct { PubKey []byte `json:"pubKey"` // compressed secp256k1 key 33 bytes PrivKey []byte `json:"privKey"` PubKeyHash *KeyHashes `json:"pubKeyHash"` DerivationPath []byte `json:"derivationPath"` }
func NewAccountKey ¶
func NewAccountKey(masterKey *hdkeychain.ExtendedKey, derivationPath string) (*AccountKey, error)
NewAccountKey generates new account key from given master key and derivation path
type AccountManager ¶ added in v0.1.1
type AccountManager interface {
GetAccountKey(accountIndex uint64) (*AccountKey, error)
}
type BlockProcessor ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func (*Builder) SetABClientConf ¶
func (b *Builder) SetABClientConf(abcConf client.AlphabillClientConfig) *Builder
func (*Builder) SetBlockProcessor ¶
func (b *Builder) SetBlockProcessor(bp BlockProcessor) *Builder
type Config ¶
type Config struct { // Configuration options for connecting to alphabill nodes. AlphabillClientConfig client.AlphabillClientConfig }
Config configuration options for creating and loading a wallet.
type KeyHashes ¶
func NewKeyHash ¶ added in v0.1.1
NewKeyHash creates sha256/sha512 hash pair from given key
type Keys ¶
type Keys struct { Mnemonic string MasterKey *hdkeychain.ExtendedKey AccountKey *AccountKey }
type SendOpts ¶ added in v0.1.1
type SendOpts struct { // RetryOnFullTxBuffer retries to send transaction when tx buffer is full RetryOnFullTxBuffer bool }
type Wallet ¶
type Wallet struct { BlockProcessor BlockProcessor AlphabillClient client.ABClient // contains filtered or unexported fields }
Wallet To synchronize wallet with a node call Sync. Shutdown needs to be called to release resources used by wallet.
func (*Wallet) GetMaxBlockNumber ¶
GetMaxBlockNumber queries the node for latest block number
func (*Wallet) SendTransaction ¶
func (w *Wallet) SendTransaction(ctx context.Context, tx *txsystem.Transaction, opts *SendOpts) error
SendTransaction broadcasts transaction to configured node. Returns nil if transaction was successfully accepted by node, otherwise returns error.
func (*Wallet) Shutdown ¶
func (w *Wallet) Shutdown()
Shutdown terminates connection to alphabill node and cancels any background goroutines.
func (*Wallet) Sync ¶
Sync synchronises wallet from the last known block number with the given alphabill node. The function blocks forever or until alphabill connection is terminated. Returns error if wallet is already synchronizing or any error occured during syncrohronization, otherwise returns nil.
func (*Wallet) SyncToMaxBlockNumber ¶
SyncToMaxBlockNumber synchronises wallet from the last known block number with the given alphabill node. The function blocks until maximum block height, calculated at the start of the process, is reached. Returns error if wallet is already synchronizing or any error occured during syncrohronization, otherwise returns nil.