Documentation ¶
Index ¶
- Constants
- Variables
- func DisableLog()
- func NetworkDir(dataDir string, chainParams *chaincfg.Params) string
- func New(cfg Config, blockCache *blockcache.BlockCache) (*bronwallet, error)
- func NewWalletLoader(chainParams *chaincfg.Params, recoveryWindow uint32, opts ...LoaderOption) (*wallet.Loader, error)
- func UseLogger(logger bronlog.Logger)
- type Config
- type LoaderOption
Constants ¶
const Subsystem = "BTWL"
Subsystem defines the logging code for this subsystem.
const ( // UnconfirmedHeight is the special case end height that is used to // obtain unconfirmed transactions from ListTransactionDetails. UnconfirmedHeight int32 = -1 )
Variables ¶
var ( // ErrOutputSpent is returned by the GetUtxo method if the target output // for lookup has already been spent. ErrOutputSpent = errors.New("target output has been spent") // ErrOutputNotFound signals that the desired output could not be // located. ErrOutputNotFound = errors.New("target output was not found") )
var ( // PsbtKeyTypeInputSignatureTweakSingle is a custom/proprietary PSBT key // for an input that specifies what single tweak should be applied to // the key before signing the input. The value 51 is leet speak for // "si", short for "single". PsbtKeyTypeInputSignatureTweakSingle = []byte{0x51} // PsbtKeyTypeInputSignatureTweakDouble is a custom/proprietary PSBT key // for an input that specifies what double tweak should be applied to // the key before signing the input. The value d0 is leet speak for // "do", short for "double". PsbtKeyTypeInputSignatureTweakDouble = []byte{0xd0} )
Functions ¶
func DisableLog ¶
func DisableLog()
DisableLog disables all library log output. Logging output is disabled by default until UseLogger is called.
func NetworkDir ¶
NetworkDir returns the directory name of a network directory to hold wallet files.
func New ¶
func New(cfg Config, blockCache *blockcache.BlockCache) (*bronwallet, error)
New returns a new fully initialized instance of bronwallet given a valid configuration struct.
func NewWalletLoader ¶
func NewWalletLoader(chainParams *chaincfg.Params, recoveryWindow uint32, opts ...LoaderOption) (*wallet.Loader, error)
NewWalletLoader constructs a wallet loader.
Types ¶
type Config ¶
type Config struct { // LogDir is the name of the directory which should be used to store // generated log files. LogDir string // PrivatePass is the private password to the underlying bronwallet // instance. Without this, the wallet cannot be decrypted and operated. PrivatePass []byte // PublicPass is the optional public password to bronwallet. This is // optionally used to encrypt public material such as public keys and // scripts. PublicPass []byte // HdSeed is an optional seed to feed into the wallet. If this is // unspecified, a new seed will be generated. HdSeed []byte // Birthday specifies the time at which this wallet was initially // created. It is used to bound rescans for used addresses. Birthday time.Time // RecoveryWindow specifies the address look-ahead for which to scan // when restoring a wallet. The recovery window will apply to all // default BIP44 derivation paths. RecoveryWindow uint32 // ChainSource is the primary chain interface. This is used to operate // the wallet and do things such as rescanning, sending transactions, // notifications for received funds, etc. ChainSource chain.Interface // NetParams is the net parameters for the target chain. NetParams *chaincfg.Params // CoinType specifies the BIP 44 coin type to be used for derivation. CoinType uint32 // Wallet is an unlocked wallet instance that is set if the // UnlockerService has already opened and unlocked the wallet. If this // is nil, then a wallet might have just been created or is simply not // encrypted at all, in which case it should be attempted to be loaded // normally when creating the bronwallet. Wallet *wallet.Wallet // LoaderOptions holds functional wallet db loader options. LoaderOptions []LoaderOption // CoinSelectionStrategy is the strategy that is used for selecting // coins when funding a transaction. CoinSelectionStrategy wallet.CoinSelectionStrategy // WatchOnly indicates that the wallet was initialized with public key // material only and does not contain any private keys. WatchOnly bool // MigrateWatchOnly indicates that if a wallet with private key material // already exists, it should be attempted to be converted into a // watch-only wallet on first startup. This flag has no effect if no // wallet exists and a watch-only one is created directly, or, if the // wallet was previously converted to a watch-only already. MigrateWatchOnly bool }
Config is a struct which houses configuration parameters which modify the instance of bronwallet generated by the New() function.
type LoaderOption ¶
type LoaderOption func(*loaderCfg)
LoaderOption is a functional option to update the optional loader config.
func LoaderWithExternalWalletDB ¶
func LoaderWithExternalWalletDB(db kvdb.Backend) LoaderOption
LoaderWithExternalWalletDB configures the wallet loadr to use an external db.
func LoaderWithLocalWalletDB ¶
func LoaderWithLocalWalletDB(dbDirPath string, noFreelistSync bool, dbTimeout time.Duration) LoaderOption
LoaderWithLocalWalletDB configures the wallet loader to use the local db.