cardano-ledger-core-1.22.0.0: Core components of Cardano ledgers from the Shelley release on.
Safe HaskellNone
LanguageHaskell2010

Cardano.Ledger.Credential

Synopsis

Documentation

data Credential (kr ∷ KeyRole) Source #

Script hash or key hash for a payment or a staking object.

Note that credentials (unlike raw key hashes) do appear to vary from era to era, since they reference the hash of a script, which can change. This parameter is a phantom, however, so in actuality the instances will remain the same.

Instances

Instances details
HasKeyRole Credential Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

coerceKeyRole ∷ ∀ (r ∷ KeyRole) (r' ∷ KeyRole). Credential r → Credential r' Source #

FromJSON (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

FromJSONKey (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

ToJSON (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

ToJSONKey (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Typeable kr ⇒ FromCBOR (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Typeable kr ⇒ ToCBOR (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

toCBOR ∷ Credential kr → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (Credential kr) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [Credential kr] → Size Source #

Typeable kr ⇒ DecCBOR (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

EncCBOR (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

encCBOR ∷ Credential kr → Encoding Source #

Default (Credential r) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

def ∷ Credential r Source #

NFData (Credential r) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

rnf ∷ Credential r → () #

Storable (Credential r) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

sizeOf ∷ Credential r → Int #

alignment ∷ Credential r → Int #

peekElemOff ∷ Ptr (Credential r) → Int → IO (Credential r) #

pokeElemOff ∷ Ptr (Credential r) → Int → Credential r → IO () #

peekByteOff ∷ Ptr b → Int → IO (Credential r) #

pokeByteOff ∷ Ptr b → Int → Credential r → IO () #

peek ∷ Ptr (Credential r) → IO (Credential r) #

poke ∷ Ptr (Credential r) → Credential r → IO () #

Generic (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Associated Types

type Rep (Credential kr) 
Instance details

Defined in Cardano.Ledger.Credential

type Rep (Credential kr) = D1 ('MetaData "Credential" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "ScriptHashObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScriptHash)) :+: C1 ('MetaCons "KeyHashObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash kr))))

Methods

from ∷ Credential kr → Rep (Credential kr) x #

to ∷ Rep (Credential kr) x → Credential kr #

Show (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

showsPrec ∷ Int → Credential kr → ShowS #

show ∷ Credential kr → String #

showList ∷ [Credential kr] → ShowS #

Eq (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

(==) ∷ Credential kr → Credential kr → Bool #

(/=) ∷ Credential kr → Credential kr → Bool #

Ord (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

compare ∷ Credential kr → Credential kr → Ordering #

(<) ∷ Credential kr → Credential kr → Bool #

(<=) ∷ Credential kr → Credential kr → Bool #

(>) ∷ Credential kr → Credential kr → Bool #

(>=) ∷ Credential kr → Credential kr → Bool #

max ∷ Credential kr → Credential kr → Credential kr #

min ∷ Credential kr → Credential kr → Credential kr #

Typeable kr ⇒ MemPack (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

NoThunks (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

type Rep (Credential kr) Source # 
Instance details

Defined in Cardano.Ledger.Credential

type Rep (Credential kr) = D1 ('MetaData "Credential" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "ScriptHashObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScriptHash)) :+: C1 ('MetaCons "KeyHashObj" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (KeyHash kr))))

type PaymentCredential = Credential 'Payment Source #

Deprecated: In favor of `Credential Payment`

credKeyHash ∷ ∀ (r ∷ KeyRole). Credential r → Maybe (KeyHash r) Source #

credKeyHashWitness ∷ ∀ (r ∷ KeyRole). Credential r → Maybe (KeyHash 'Witness) Source #

Convert a KeyHash into a Witness KeyHash. Does nothing for Script credentials.

credScriptHash ∷ ∀ (kr ∷ KeyRole). Credential kr → Maybe ScriptHash Source #

Extract ScriptHash from a Credential. Returns Nothing for KeyHashes

credToText ∷ ∀ (kr ∷ KeyRole). Credential kr → Text Source #

parseCredential ∷ ∀ m (kr ∷ KeyRole). MonadFail m ⇒ Text → m (Credential kr) Source #

data Ptr Source #

Pointer to a slot number, transaction index and an index in certificate list.

Constructors

Ptr !SlotNo32 !TxIx !CertIx 

Instances

Instances details
ToJSON Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

ToJSONKey Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

DecCBOR Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

EncCBOR Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

encCBOR ∷ Ptr → Encoding Source #

DecCBORGroup Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

EncCBORGroup Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

ToKeyValuePairs Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

toKeyValuePairs ∷ KeyValue e kv ⇒ Ptr → [kv] Source #

NFData Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

rnf ∷ Ptr → () #

Generic Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Associated Types

type Rep Ptr 
Instance details

Defined in Cardano.Ledger.Credential

type Rep Ptr = D1 ('MetaData "Ptr" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "Ptr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 SlotNo32) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 TxIx) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 CertIx))))

Methods

from ∷ Ptr → Rep Ptr x #

to ∷ Rep Ptr x → Ptr #

Show Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

showsPrec ∷ Int → Ptr → ShowS #

show ∷ Ptr → String #

showList ∷ [Ptr] → ShowS #

Eq Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

(==) ∷ Ptr → Ptr → Bool #

(/=) ∷ Ptr → Ptr → Bool #

Ord Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

compare ∷ Ptr → Ptr → Ordering #

(<) ∷ Ptr → Ptr → Bool #

(<=) ∷ Ptr → Ptr → Bool #

(>) ∷ Ptr → Ptr → Bool #

(>=) ∷ Ptr → Ptr → Bool #

max ∷ Ptr → Ptr → Ptr #

min ∷ Ptr → Ptr → Ptr #

NoThunks Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Uniform Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

uniformM ∷ StatefulGen g m ⇒ g → m Ptr Source #

type Rep Ptr Source # 
Instance details

Defined in Cardano.Ledger.Credential

type Rep Ptr = D1 ('MetaData "Ptr" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "Ptr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 SlotNo32) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 TxIx) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 CertIx))))

mkPtrNormalized ∷ Word64 → Word64 → Word64 → Ptr Source #

Construct a valid Ptr, while protecting against overflow. Constructs a Ptr with all zeros for its fields, whenever either one of them doesn't fit in without overflowing. Any pointer that contains a SlotNo, TxIx or CertIx that is too large to fit into Word32, Word16 and Word16 respectively is considered to be an invalid Ptr and result in all values to be clamped to zero. In case of all valid arguments the Ptrs will be constructed with values unmodified.

Note - This functionality is in no way related to dangling pointers, with an exception that any invalid Ptr is guarateed to be a dangling Ptr.

newtype SlotNo32 Source #

Pointers have been deprecated and aren't used anymore. For this reason we can safely use Word32 for slots in pointers

Constructors

SlotNo32 Word32 

Instances

Instances details
FromJSON SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

ToJSON SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

DecCBOR SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

EncCBOR SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

NFData SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

rnf ∷ SlotNo32 → () #

Bounded SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Generic SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Associated Types

type Rep SlotNo32 
Instance details

Defined in Cardano.Ledger.Credential

type Rep SlotNo32 = D1 ('MetaData "SlotNo32" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "SlotNo32" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

Methods

from ∷ SlotNo32 → Rep SlotNo32 x #

to ∷ Rep SlotNo32 x → SlotNo32 #

Num SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Show SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

showsPrec ∷ Int → SlotNo32 → ShowS #

show ∷ SlotNo32 → String #

showList ∷ [SlotNo32] → ShowS #

Eq SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

(==) ∷ SlotNo32 → SlotNo32 → Bool #

(/=) ∷ SlotNo32 → SlotNo32 → Bool #

Ord SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

NoThunks SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Random SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

randomR ∷ RandomGen g ⇒ (SlotNo32, SlotNo32) → g → (SlotNo32, g) Source #

random ∷ RandomGen g ⇒ g → (SlotNo32, g) Source #

randomRs ∷ RandomGen g ⇒ (SlotNo32, SlotNo32) → g → [SlotNo32] Source #

randoms ∷ RandomGen g ⇒ g → [SlotNo32] Source #

Uniform SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

uniformM ∷ StatefulGen g m ⇒ g → m SlotNo32 Source #

UniformRange SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

type Rep SlotNo32 Source # 
Instance details

Defined in Cardano.Ledger.Credential

type Rep SlotNo32 = D1 ('MetaData "SlotNo32" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'True) (C1 ('MetaCons "SlotNo32" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

type StakeCredential = Credential 'Staking Source #

Deprecated: In favor of `Credential Staking`

data StakeReference Source #

Instances

Instances details
ToJSON StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

NFData StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

Methods

rnf ∷ StakeReference → () #

Generic StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

Associated Types

type Rep StakeReference 
Instance details

Defined in Cardano.Ledger.Credential

type Rep StakeReference = D1 ('MetaData "StakeReference" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "StakeRefBase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking))) :+: (C1 ('MetaCons "StakeRefPtr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Ptr)) :+: C1 ('MetaCons "StakeRefNull" 'PrefixI 'False) (U1 ∷ Type → Type)))
Show StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

Eq StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

Ord StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

NoThunks StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

type Rep StakeReference Source # 
Instance details

Defined in Cardano.Ledger.Credential

type Rep StakeReference = D1 ('MetaData "StakeReference" "Cardano.Ledger.Credential" "cardano-ledger-core-1.22.0.0-inplace" 'False) (C1 ('MetaCons "StakeRefBase" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Credential 'Staking))) :+: (C1 ('MetaCons "StakeRefPtr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Ptr)) :+: C1 ('MetaCons "StakeRefNull" 'PrefixI 'False) (U1 ∷ Type → Type)))