| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Cooked.Skeleton.Certificate
Description
This module exposes the certificate constructs used in a
TxSkel and their associated utilities. To emit certificates
in a skeleton, the usual way is to invoke txSkelCertificates =
[pubKeyCertificate pk action, scriptCertificate script redeemer action ...]
Synopsis
- data CertificateAction :: UserKind -> Type where
- StakingRegister :: CertificateAction IsEither
- StakingUnRegister :: CertificateAction IsEither
- StakingDelegate :: Delegatee -> CertificateAction IsEither
- StakingRegisterDelegate :: Delegatee -> CertificateAction IsEither
- DRepRegister :: CertificateAction IsEither
- DRepUpdate :: CertificateAction IsEither
- DRepUnRegister :: CertificateAction IsEither
- PoolRegister :: PubKeyHash -> CertificateAction IsPubKey
- PoolRetire :: Slot -> CertificateAction IsPubKey
- CommitteeRegisterHot :: Credential -> CertificateAction IsEither
- CommitteeResign :: CertificateAction IsEither
- data TxSkelCertificate where
- TxSkelCertificate :: Typeable kind => {..} -> TxSkelCertificate
- txSkelCertificateOwnerAT :: Typeable user => AffineTraversal' TxSkelCertificate (User user Redemption)
- txSkelCertificateActionAT :: Typeable user => AffineTraversal' TxSkelCertificate (CertificateAction user)
- pubKeyCertificate :: (ToPubKeyHash pkh, Typeable pkh, Typeable a, a ∈ '[IsPubKey, IsEither]) => pkh -> CertificateAction a -> TxSkelCertificate
- scriptCertificate :: (ToVScript script, Typeable script, RedeemerConstrs red) => script -> red -> CertificateAction IsEither -> TxSkelCertificate
Data types
data CertificateAction :: UserKind -> Type where Source #
The depiction of the possible actions in a certificate. Each actions exposes, in its types, the possible owners it can have.
Constructors
Instances
| Show (CertificateAction req) Source # | |
Defined in Cooked.Skeleton.Certificate Methods showsPrec :: Int -> CertificateAction req -> ShowS # show :: CertificateAction req -> String # showList :: [CertificateAction req] -> ShowS # | |
| PrettyCooked (CertificateAction req) Source # | |
Defined in Cooked.Pretty.Skeleton Methods prettyCookedOpt :: PrettyCookedOpts -> CertificateAction req -> DocCooked Source # prettyCooked :: CertificateAction req -> DocCooked Source # | |
| Eq (CertificateAction req) Source # | |
Defined in Cooked.Skeleton.Certificate Methods (==) :: CertificateAction req -> CertificateAction req -> Bool # (/=) :: CertificateAction req -> CertificateAction req -> Bool # | |
data TxSkelCertificate where Source #
Certificates used in TxSkel. The types ensure that each
certificate action is associated with a proper owner.
Constructors
| TxSkelCertificate | |
Fields
| |
Instances
| Show TxSkelCertificate Source # | |
Defined in Cooked.Skeleton.Certificate Methods showsPrec :: Int -> TxSkelCertificate -> ShowS # show :: TxSkelCertificate -> String # showList :: [TxSkelCertificate] -> ShowS # | |
| PrettyCooked TxSkelCertificate Source # | |
Defined in Cooked.Pretty.Skeleton Methods prettyCookedOpt :: PrettyCookedOpts -> TxSkelCertificate -> DocCooked Source # | |
| Eq TxSkelCertificate Source # | |
Defined in Cooked.Skeleton.Certificate Methods (==) :: TxSkelCertificate -> TxSkelCertificate -> Bool # (/=) :: TxSkelCertificate -> TxSkelCertificate -> Bool # | |
Optics
txSkelCertificateOwnerAT :: Typeable user => AffineTraversal' TxSkelCertificate (User user Redemption) Source #
Focuses on the owner of a TxSkelCertificate
txSkelCertificateActionAT :: Typeable user => AffineTraversal' TxSkelCertificate (CertificateAction user) Source #
Focuses on the action of a TxSkelCertificate
Smart constructors
pubKeyCertificate :: (ToPubKeyHash pkh, Typeable pkh, Typeable a, a ∈ '[IsPubKey, IsEither]) => pkh -> CertificateAction a -> TxSkelCertificate Source #
Smart constructor for a pubkey certificate
scriptCertificate :: (ToVScript script, Typeable script, RedeemerConstrs red) => script -> red -> CertificateAction IsEither -> TxSkelCertificate Source #
Smart constructor for a script certificate