cardano-addresses
Safe HaskellNone
LanguageHaskell2010

Cardano.Address.Crypto.Wallet

Description

Vendored from cardano-crypto (Apache-2.0). Original: Cardano.Crypto.Wallet

HD Wallet routines using Ed25519 arithmetic.

Synopsis

Documentation

data DerivationScheme #

Instances

Instances details
NFData DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

Methods

rnf :: DerivationScheme -> () #

Bounded DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

Enum DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

Generic DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

Associated Types

type Rep DerivationScheme 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

type Rep DerivationScheme = D1 ('MetaData "DerivationScheme" "Cardano.Address.Crypto.Wallet.Types" "cardano-addresses-4.0.2-inplace" 'False) (C1 ('MetaCons "DerivationScheme1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DerivationScheme2" 'PrefixI 'False) (U1 :: Type -> Type))
Show DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

Eq DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

Ord DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

type Rep DerivationScheme # 
Instance details

Defined in Cardano.Address.Crypto.Wallet.Types

type Rep DerivationScheme = D1 ('MetaData "DerivationScheme" "Cardano.Address.Crypto.Wallet.Types" "cardano-addresses-4.0.2-inplace" 'False) (C1 ('MetaCons "DerivationScheme1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DerivationScheme2" 'PrefixI 'False) (U1 :: Type -> Type))

Extended Private & Public types

data XPrv #

Instances

Instances details
NFData XPrv # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Methods

rnf :: XPrv -> () #

ByteArrayAccess XPrv # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Methods

length :: XPrv -> Int #

withByteArray :: XPrv -> (Ptr p -> IO a) -> IO a #

copyByteArrayToPtr :: XPrv -> Ptr p -> IO () #

data XPub #

Constructors

XPub 

Instances

Instances details
NFData XPub # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Methods

rnf :: XPub -> () #

Generic XPub # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Associated Types

type Rep XPub 
Instance details

Defined in Cardano.Address.Crypto.Wallet

type Rep XPub = D1 ('MetaData "XPub" "Cardano.Address.Crypto.Wallet" "cardano-addresses-4.0.2-inplace" 'False) (C1 ('MetaCons "XPub" 'PrefixI 'True) (S1 ('MetaSel ('Just "xpubPublicKey") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "xpubChaincode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainCode)))

Methods

from :: XPub -> Rep XPub x #

to :: Rep XPub x -> XPub #

Show XPub # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Methods

showsPrec :: Int -> XPub -> ShowS #

show :: XPub -> String #

showList :: [XPub] -> ShowS #

Eq XPub # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Methods

(==) :: XPub -> XPub -> Bool #

(/=) :: XPub -> XPub -> Bool #

Ord XPub # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Methods

compare :: XPub -> XPub -> Ordering #

(<) :: XPub -> XPub -> Bool #

(<=) :: XPub -> XPub -> Bool #

(>) :: XPub -> XPub -> Bool #

(>=) :: XPub -> XPub -> Bool #

max :: XPub -> XPub -> XPub #

min :: XPub -> XPub -> XPub #

Hashable XPub # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

Methods

hashWithSalt :: Int -> XPub -> Int #

hash :: XPub -> Int #

type Rep XPub # 
Instance details

Defined in Cardano.Address.Crypto.Wallet

type Rep XPub = D1 ('MetaData "XPub" "Cardano.Address.Crypto.Wallet" "cardano-addresses-4.0.2-inplace" 'False) (C1 ('MetaCons "XPub" 'PrefixI 'True) (S1 ('MetaSel ('Just "xpubPublicKey") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByteString) :*: S1 ('MetaSel ('Just "xpubChaincode") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainCode)))

generate :: (ByteArrayAccess passPhrase, ByteArrayAccess seed) => seed -> passPhrase -> XPrv #

Generate a new XPrv (legacy Byron method).

The seed needs to be >= 32 bytes.

generateNew :: (ByteArrayAccess keyPassPhrase, ByteArrayAccess generationPassPhrase, ByteArrayAccess seed) => seed -> generationPassPhrase -> keyPassPhrase -> XPrv #

Generate a new XPrv from entropy (Icarus method).

The seed should be at least 16 bytes.

xPrvChangePass :: (ByteArrayAccess oldPassPhrase, ByteArrayAccess newPassPhrase) => oldPassPhrase -> newPassPhrase -> XPrv -> XPrv #

Derivation function

deriveXPrv :: ByteArrayAccess passPhrase => DerivationScheme -> passPhrase -> XPrv -> Word32 -> XPrv #

Signature & Verification from extended types

sign :: (ByteArrayAccess passPhrase, ByteArrayAccess msg) => passPhrase -> XPrv -> msg -> XSignature #

verify :: ByteArrayAccess msg => XPub -> msg -> XSignature -> Bool #