| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bitcoin.BIP32.Types
- data RootPrv
- data RootPub
- data RootKeyId
- data External a
- data Internal a
- data ChildPair
- data ChildPub
- type ExtPub = External ChildPub
- type ExtPrv = External ChildPair
- createRootPrv :: ByteString -> RootPrv
- fromRootPrv :: RootPrv -> RootPub
- class IsChildKey sourceKey t k derivPath | t -> derivPath where
- class HasKey t k key derivPath | t -> derivPath where
- data KeyDeriveIndex
- class HasKeyIndex a where
- keyId :: HasKeyId rk => rk -> RootKeyId
- fromExternalPair :: External ChildPair -> External ChildPub
- type SoftPath = DerivPathI Soft
- type HardPath = DerivPathI Hard
Key types
Source of all other key types
Instances
| Generic RootPrv Source # | |
| ToJSON RootPrv Source # | |
| FromJSON RootPrv Source # | |
| Serialize RootPrv Source # | |
| NFData RootPrv Source # | |
| DerivationSeed r => HasSigningKey RootPrv r Source # | |
| IsChildKey RootPrv Internal ChildPair HardPath Source # | |
| IsChildKey RootPrv External ChildPub SoftPath Source # | |
| IsChildKey RootPrv External ChildPair SoftPath Source # | |
| DerivationSeed r => DeriveChangeOut (SigSinglePair t r sd) (TxFee, DustPolicy) RootPrv r Source # | |
| type Rep RootPrv Source # | |
The public counterpart of a RootPrv
Unique ID for a 'RootPrv'/'RootPub' pair
A key pair where the public part can be derived without knowledge of the private part (not safe if a single derived private key is exposed)
Instances
| Functor External Source # | |
| HasKey External ChildPub XPubKey SoftPath Source # | |
| HasKey External ChildPub PubKeyC SoftPath Source # | |
| HasKey External ChildPub Address SoftPath Source # | |
| HasKey External ChildPair XPubKey SoftPath Source # | |
| HasKey External ChildPair PubKeyC SoftPath Source # | |
| HasKey External ChildPair PrvKeyC SoftPath Source # | |
| HasKey External ChildPair Address SoftPath Source # | |
| IsChildKey RootPub External ChildPub SoftPath Source # | |
| IsChildKey RootPrv External ChildPub SoftPath Source # | |
| IsChildKey RootPrv External ChildPair SoftPath Source # | |
| HasKey External ChildPair (PrvKeyC, XPubKey) SoftPath Source # | |
| Eq a => Eq (External a) Source # | |
| Show a => Show (External a) Source # | |
| Generic (External a) Source # | |
| ToJSON a => ToJSON (External a) Source # | |
| FromJSON a => FromJSON (External a) Source # | |
| Serialize a => Serialize (External a) Source # | |
| NFData a => NFData (External a) Source # | |
| type Rep (External a) Source # | |
A key pair where the public part cannot be derived without knowledge of the private part (safe if a single derived private key is exposed)
Instances
| Functor Internal Source # | |
| HasKey Internal ChildPair XPubKey HardPath Source # | |
| HasKey Internal ChildPair PubKeyC HardPath Source # | |
| HasKey Internal ChildPair PrvKeyC HardPath Source # | |
| HasKey Internal ChildPair Address HardPath Source # | |
| IsChildKey RootPrv Internal ChildPair HardPath Source # | |
| HasKey Internal ChildPair (PrvKeyC, XPubKey) HardPath Source # | |
| Eq a => Eq (Internal a) Source # | |
| Show a => Show (Internal a) Source # | |
| Generic (Internal a) Source # | |
| Serialize a => Serialize (Internal a) Source # | |
| NFData a => NFData (Internal a) Source # | |
| type Rep (Internal a) Source # | |
Key pair, containing both private and public extended keys.
Derive subkeys using getKey
Instances
Public part only of a ChildPair
Instances
createRootPrv :: ByteString -> RootPrv Source #
fromRootPrv :: RootPrv -> RootPub Source #
Child key operations
class IsChildKey sourceKey t k derivPath | t -> derivPath where Source #
Minimal complete definition
class HasKey t k key derivPath | t -> derivPath where Source #
Get a key of type key from an 'Internal'/'External' 'ChildPub'/'ChildPair'
Minimal complete definition
Instances
data KeyDeriveIndex Source #
Key index for a BIP32 child key
Instances
class HasKeyIndex a where Source #
Minimal complete definition
Methods
getKeyIndex :: a -> KeyDeriveIndex Source #
Instances
Util
Re-exports
type SoftPath = DerivPathI Soft #
type HardPath = DerivPathI Hard #