cardano-wallet-core-2022.7.1: The Wallet Backend for a Cardano node.
Copyright © 2018-2020 IOHK
License Apache-2.0
Safe Haskell None
Language Haskell2010

Cardano.Wallet.Primitive.AddressDerivation.Shelley

Description

Implementation of address derivation for Shelley Keys.

Synopsis

Types

newtype ShelleyKey (depth :: Depth ) key Source #

A cryptographic key for Shelley address derivation, with phantom-types to disambiguate derivation paths

let rootPrivateKey = ShelleyKey 'RootK XPrv
let accountPubKey = ShelleyKey 'AccountK XPub
let addressPubKey = ShelleyKey 'AddressK XPub

Constructors

ShelleyKey

Fields

Instances

Instances details
WalletKey ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

ToRewardAccount ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

SoftDerivation ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

HardDerivation ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

GetPurpose ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

MkKeyFingerprint ShelleyKey Address Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

DelegationAddress ' Mainnet ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

PaymentAddress ' Mainnet ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

MkKeyFingerprint ShelleyKey ( Proxy n, ShelleyKey ' AddressK XPub ) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

PersistPublicKey ( ShelleyKey depth) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

PersistPrivateKey ( ShelleyKey ' RootK ) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

DelegationAddress (' Testnet pm) ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

PaymentAddress (' Testnet pm) ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

Eq key => Eq ( ShelleyKey depth key) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

Show key => Show ( ShelleyKey depth key) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

Generic ( ShelleyKey depth key) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

Associated Types

type Rep ( ShelleyKey depth key) :: Type -> Type Source #

NFData key => NFData ( ShelleyKey depth key) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

Methods

rnf :: ShelleyKey depth key -> () Source #

DelegationAddress n ShelleyKey => MaybeLight ( SeqState n ShelleyKey ) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

BoundedAddressLength ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

IsOurs ( SeqState n ShelleyKey ) RewardAccount Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

type AddressIndexDerivationType ShelleyKey Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

type Rep ( ShelleyKey depth key) Source #
Instance details

Defined in Cardano.Wallet.Primitive.AddressDerivation.Shelley

type Rep ( ShelleyKey depth key) = D1 (' MetaData "ShelleyKey" "Cardano.Wallet.Primitive.AddressDerivation.Shelley" "cardano-wallet-core-2022.7.1-AGKhlyz9liLKN3QqZD1gj" ' True ) ( C1 (' MetaCons "ShelleyKey" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "getKey") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 key)))

Constants

Generation and derivation

generateKeyFromSeed Source #

Arguments

:: ( SomeMnemonic , Maybe SomeMnemonic )

The actual seed and its recovery / generation passphrase

-> Passphrase "encryption"
-> ShelleyKey ' RootK XPrv

Generate a root key from a corresponding seed. The seed should be at least 16 bytes.

unsafeGenerateKeyFromSeed Source #

Arguments

:: ( SomeMnemonic , Maybe SomeMnemonic )

The actual seed and its recovery / generation passphrase

-> Passphrase "encryption"
-> ShelleyKey depth XPrv

Generate a new key from seed. Note that the depth is left open so that the caller gets to decide what type of key this is. This is mostly for testing, in practice, seeds are used to represent root keys, and one should use generateKeyFromSeed .

unsafeGenerateKeyFromSeedShelley Source #

Arguments

:: ( SomeMnemonic , Maybe SomeMnemonic )

The actual seed and its recovery / generation passphrase

-> Passphrase "encryption"
-> XPrv

Reward Account