Versions in this module Expand all Collapse all v0 v0.1.0 Feb 20, 2024 Changes in this version + const HardenedBit + var BitcoinMainnetPrivate = KeyVersion + var BitcoinMainnetPublic = KeyVersion + var BitcoinTestnetPrivate = KeyVersion + var BitcoinTestnetPublic = KeyVersion + var ErrBadChecksum = errors.New("bad extended key checksum") + var ErrDerivingChild = errors.New("error deriving child key") + var ErrDerivingHardenedFromPublic = errors.New("cannot derive a hardened key from public key") + var ErrInvalidKey = errors.New("key is invalid") + var ErrInvalidKeyLen = errors.New("serialized extended key length is invalid") + var ErrInvalidKeyPurpose = errors.New("key purpose is invalid") + var ErrInvalidMasterKey = errors.New("invalid master key supplied") + var ErrInvalidPrivateFlag = errors.New("key private flag does not match version") + var ErrInvalidSeed = errors.New("seed is invalid") + var ErrMaxDepthExceeded = errors.New("max depth exceeded") + var ErrShaKeyInvalid = errors.New("generated key zero or overflow, try next one") + type ExtendedKey struct + ChainCode []byte + ChildNumber uint32 + Depth uint8 + Fingerprint [4]byte + KeyData []byte + Version KeyVersion + func FromBitcoinSeed(seed []byte) (*ExtendedKey, error) + func FromSeed(seed, masterSecret []byte) (*ExtendedKey, error) + func FromString(str string) (*ExtendedKey, error) + func (k *ExtendedKey) Child(i uint32) (*ExtendedKey, error) + func (k *ExtendedKey) Derive(path []uint32) (*ExtendedKey, error) + func (k *ExtendedKey) IsPrivate() bool + func (k *ExtendedKey) MarshalBinary() ([]byte, error) + func (k *ExtendedKey) Public() (*ExtendedKey, error) + func (k *ExtendedKey) String() string + func (k *ExtendedKey) ToECDSA() *ecdsa.PrivateKey + func (k *ExtendedKey) UnmarshalBinary(data []byte) error + type KeyVersion [4]byte + func (kv KeyVersion) IsPrivate() bool + func (kv KeyVersion) ToPublic() KeyVersion