{-# LANGUAGE DataKinds #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableSuperClasses #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.TxCert () where import Cardano.Ledger.Conway.Core ( ConwayEraTxCert, ShelleyEraTxCert (..), notSupportedInThisEra, pattern RegDepositDelegTxCert, pattern RegDepositTxCert, pattern RegTxCert, pattern UnRegDepositTxCert, pattern UnRegTxCert, ) import Cardano.Ledger.Conway.TxCert ( ConwayDelegCert (..), ConwayEraTxCert (..), ConwayGovCert (..), ConwayTxCert (..), conwayTotalDepositsTxCerts, conwayTotalRefundsTxCerts, getScriptWitnessConwayTxCert, getVKeyWitnessConwayTxCert, pattern ConwayRegCert, pattern DelegStake, ) import Cardano.Ledger.Core (EraTxCert (..), PoolCert (..)) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) import Cardano.Ledger.Dijkstra.PParams () import Data.Coerce (coerce) import Data.Maybe.Strict (StrictMaybe (..)) import Data.Void (Void) instance EraTxCert DijkstraEra where type TxCert DijkstraEra = ConwayTxCert DijkstraEra type TxCertUpgradeError DijkstraEra = Void upgradeTxCert :: EraTxCert (PreviousEra DijkstraEra) => TxCert (PreviousEra DijkstraEra) -> Either (TxCertUpgradeError DijkstraEra) (TxCert DijkstraEra) upgradeTxCert = ConwayTxCert DijkstraEra -> Either Void (ConwayTxCert DijkstraEra) forall a b. b -> Either a b Right (ConwayTxCert DijkstraEra -> Either Void (ConwayTxCert DijkstraEra)) -> (ConwayTxCert ConwayEra -> ConwayTxCert DijkstraEra) -> ConwayTxCert ConwayEra -> Either Void (ConwayTxCert DijkstraEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . ConwayTxCert ConwayEra -> ConwayTxCert DijkstraEra forall a b. Coercible a b => a -> b coerce getVKeyWitnessTxCert :: TxCert DijkstraEra -> Maybe (KeyHash 'Witness) getVKeyWitnessTxCert = TxCert DijkstraEra -> Maybe (KeyHash 'Witness) ConwayTxCert DijkstraEra -> Maybe (KeyHash 'Witness) forall era. ConwayTxCert era -> Maybe (KeyHash 'Witness) getVKeyWitnessConwayTxCert getScriptWitnessTxCert :: TxCert DijkstraEra -> Maybe ScriptHash getScriptWitnessTxCert = TxCert DijkstraEra -> Maybe ScriptHash ConwayTxCert DijkstraEra -> Maybe ScriptHash forall era. ConwayTxCert era -> Maybe ScriptHash getScriptWitnessConwayTxCert mkRegPoolTxCert :: PoolParams -> TxCert DijkstraEra mkRegPoolTxCert = PoolCert -> ConwayTxCert DijkstraEra forall era. PoolCert -> ConwayTxCert era ConwayTxCertPool (PoolCert -> ConwayTxCert DijkstraEra) -> (PoolParams -> PoolCert) -> PoolParams -> ConwayTxCert DijkstraEra forall b c a. (b -> c) -> (a -> b) -> a -> c . PoolParams -> PoolCert RegPool getRegPoolTxCert :: TxCert DijkstraEra -> Maybe PoolParams getRegPoolTxCert (ConwayTxCertPool (RegPool PoolParams poolParams)) = PoolParams -> Maybe PoolParams forall a. a -> Maybe a Just PoolParams poolParams getRegPoolTxCert TxCert DijkstraEra _ = Maybe PoolParams forall a. Maybe a Nothing mkRetirePoolTxCert :: KeyHash 'StakePool -> EpochNo -> TxCert DijkstraEra mkRetirePoolTxCert KeyHash 'StakePool poolId EpochNo epochNo = PoolCert -> ConwayTxCert DijkstraEra forall era. PoolCert -> ConwayTxCert era ConwayTxCertPool (PoolCert -> ConwayTxCert DijkstraEra) -> PoolCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ KeyHash 'StakePool -> EpochNo -> PoolCert RetirePool KeyHash 'StakePool poolId EpochNo epochNo getRetirePoolTxCert :: TxCert DijkstraEra -> Maybe (KeyHash 'StakePool, EpochNo) getRetirePoolTxCert (ConwayTxCertPool (RetirePool KeyHash 'StakePool poolId EpochNo epochNo)) = (KeyHash 'StakePool, EpochNo) -> Maybe (KeyHash 'StakePool, EpochNo) forall a. a -> Maybe a Just (KeyHash 'StakePool poolId, EpochNo epochNo) getRetirePoolTxCert TxCert DijkstraEra _ = Maybe (KeyHash 'StakePool, EpochNo) forall a. Maybe a Nothing lookupRegStakeTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking) lookupRegStakeTxCert = \case RegTxCert Credential 'Staking c -> Credential 'Staking -> Maybe (Credential 'Staking) forall a. a -> Maybe a Just Credential 'Staking c RegDepositTxCert Credential 'Staking c Coin _ -> Credential 'Staking -> Maybe (Credential 'Staking) forall a. a -> Maybe a Just Credential 'Staking c RegDepositDelegTxCert Credential 'Staking c Delegatee _ Coin _ -> Credential 'Staking -> Maybe (Credential 'Staking) forall a. a -> Maybe a Just Credential 'Staking c TxCert DijkstraEra _ -> Maybe (Credential 'Staking) forall a. Maybe a Nothing lookupUnRegStakeTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking) lookupUnRegStakeTxCert = \case UnRegTxCert Credential 'Staking c -> Credential 'Staking -> Maybe (Credential 'Staking) forall a. a -> Maybe a Just Credential 'Staking c UnRegDepositTxCert Credential 'Staking c Coin _ -> Credential 'Staking -> Maybe (Credential 'Staking) forall a. a -> Maybe a Just Credential 'Staking c TxCert DijkstraEra _ -> Maybe (Credential 'Staking) forall a. Maybe a Nothing getTotalRefundsTxCerts :: forall (f :: * -> *). Foldable f => PParams DijkstraEra -> (Credential 'Staking -> Maybe Coin) -> (Credential 'DRepRole -> Maybe Coin) -> f (TxCert DijkstraEra) -> Coin getTotalRefundsTxCerts = PParams DijkstraEra -> (Credential 'Staking -> Maybe Coin) -> (Credential 'DRepRole -> Maybe Coin) -> f (TxCert DijkstraEra) -> Coin forall era (f :: * -> *). (EraPParams era, Foldable f, ConwayEraTxCert era) => PParams era -> (Credential 'Staking -> Maybe Coin) -> (Credential 'DRepRole -> Maybe Coin) -> f (TxCert era) -> Coin conwayTotalRefundsTxCerts getTotalDepositsTxCerts :: forall (f :: * -> *). Foldable f => PParams DijkstraEra -> (KeyHash 'StakePool -> Bool) -> f (TxCert DijkstraEra) -> Coin getTotalDepositsTxCerts = PParams DijkstraEra -> (KeyHash 'StakePool -> Bool) -> f (TxCert DijkstraEra) -> Coin forall era (f :: * -> *). (ConwayEraPParams era, Foldable f, ConwayEraTxCert era) => PParams era -> (KeyHash 'StakePool -> Bool) -> f (TxCert era) -> Coin conwayTotalDepositsTxCerts instance ShelleyEraTxCert DijkstraEra where mkRegTxCert :: Credential 'Staking -> TxCert DijkstraEra mkRegTxCert Credential 'Staking c = ConwayDelegCert -> ConwayTxCert DijkstraEra forall era. ConwayDelegCert -> ConwayTxCert era ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert DijkstraEra) -> ConwayDelegCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert ConwayRegCert Credential 'Staking c StrictMaybe Coin forall a. StrictMaybe a SNothing getRegTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking) getRegTxCert (ConwayTxCertDeleg (ConwayRegCert Credential 'Staking c StrictMaybe Coin SNothing)) = Credential 'Staking -> Maybe (Credential 'Staking) forall a. a -> Maybe a Just Credential 'Staking c getRegTxCert TxCert DijkstraEra _ = Maybe (Credential 'Staking) forall a. Maybe a Nothing mkUnRegTxCert :: Credential 'Staking -> TxCert DijkstraEra mkUnRegTxCert Credential 'Staking c = ConwayDelegCert -> ConwayTxCert DijkstraEra forall era. ConwayDelegCert -> ConwayTxCert era ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert DijkstraEra) -> ConwayDelegCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert ConwayUnRegCert Credential 'Staking c StrictMaybe Coin forall a. StrictMaybe a SNothing getUnRegTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking) getUnRegTxCert (ConwayTxCertDeleg (ConwayUnRegCert Credential 'Staking c StrictMaybe Coin SNothing)) = Credential 'Staking -> Maybe (Credential 'Staking) forall a. a -> Maybe a Just Credential 'Staking c getUnRegTxCert TxCert DijkstraEra _ = Maybe (Credential 'Staking) forall a. Maybe a Nothing mkDelegStakeTxCert :: Credential 'Staking -> KeyHash 'StakePool -> TxCert DijkstraEra mkDelegStakeTxCert Credential 'Staking c KeyHash 'StakePool kh = ConwayDelegCert -> ConwayTxCert DijkstraEra forall era. ConwayDelegCert -> ConwayTxCert era ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert DijkstraEra) -> ConwayDelegCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'Staking -> Delegatee -> ConwayDelegCert ConwayDelegCert Credential 'Staking c (KeyHash 'StakePool -> Delegatee DelegStake KeyHash 'StakePool kh) getDelegStakeTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking, KeyHash 'StakePool) getDelegStakeTxCert (ConwayTxCertDeleg (ConwayDelegCert Credential 'Staking c (DelegStake KeyHash 'StakePool kh))) = (Credential 'Staking, KeyHash 'StakePool) -> Maybe (Credential 'Staking, KeyHash 'StakePool) forall a. a -> Maybe a Just (Credential 'Staking c, KeyHash 'StakePool kh) getDelegStakeTxCert TxCert DijkstraEra _ = Maybe (Credential 'Staking, KeyHash 'StakePool) forall a. Maybe a Nothing mkGenesisDelegTxCert :: ProtVerAtMost DijkstraEra 8 => GenesisDelegCert -> TxCert DijkstraEra mkGenesisDelegTxCert = GenesisDelegCert -> TxCert DijkstraEra GenesisDelegCert -> ConwayTxCert DijkstraEra forall a. HasCallStack => a notSupportedInThisEra getGenesisDelegTxCert :: ProtVerAtMost DijkstraEra 8 => TxCert DijkstraEra -> Maybe GenesisDelegCert getGenesisDelegTxCert TxCert DijkstraEra _ = Maybe GenesisDelegCert forall a. Maybe a Nothing mkMirTxCert :: ProtVerAtMost DijkstraEra 8 => MIRCert -> TxCert DijkstraEra mkMirTxCert = MIRCert -> TxCert DijkstraEra MIRCert -> ConwayTxCert DijkstraEra forall a. HasCallStack => a notSupportedInThisEra getMirTxCert :: ProtVerAtMost DijkstraEra 8 => TxCert DijkstraEra -> Maybe MIRCert getMirTxCert = Maybe MIRCert -> ConwayTxCert DijkstraEra -> Maybe MIRCert forall a b. a -> b -> a const Maybe MIRCert forall a. Maybe a Nothing instance ConwayEraTxCert DijkstraEra where mkRegDepositTxCert :: Credential 'Staking -> Coin -> TxCert DijkstraEra mkRegDepositTxCert Credential 'Staking cred Coin c = ConwayDelegCert -> ConwayTxCert DijkstraEra forall era. ConwayDelegCert -> ConwayTxCert era ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert DijkstraEra) -> ConwayDelegCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert ConwayRegCert Credential 'Staking cred (StrictMaybe Coin -> ConwayDelegCert) -> StrictMaybe Coin -> ConwayDelegCert forall a b. (a -> b) -> a -> b $ Coin -> StrictMaybe Coin forall a. a -> StrictMaybe a SJust Coin c getRegDepositTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking, Coin) getRegDepositTxCert (ConwayTxCertDeleg (ConwayRegCert Credential 'Staking cred (SJust Coin c))) = (Credential 'Staking, Coin) -> Maybe (Credential 'Staking, Coin) forall a. a -> Maybe a Just (Credential 'Staking cred, Coin c) getRegDepositTxCert TxCert DijkstraEra _ = Maybe (Credential 'Staking, Coin) forall a. Maybe a Nothing mkUnRegDepositTxCert :: Credential 'Staking -> Coin -> TxCert DijkstraEra mkUnRegDepositTxCert Credential 'Staking cred Coin c = ConwayDelegCert -> ConwayTxCert DijkstraEra forall era. ConwayDelegCert -> ConwayTxCert era ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert DijkstraEra) -> ConwayDelegCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'Staking -> StrictMaybe Coin -> ConwayDelegCert ConwayUnRegCert Credential 'Staking cred (Coin -> StrictMaybe Coin forall a. a -> StrictMaybe a SJust Coin c) getUnRegDepositTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking, Coin) getUnRegDepositTxCert (ConwayTxCertDeleg (ConwayUnRegCert Credential 'Staking cred (SJust Coin c))) = (Credential 'Staking, Coin) -> Maybe (Credential 'Staking, Coin) forall a. a -> Maybe a Just (Credential 'Staking cred, Coin c) getUnRegDepositTxCert TxCert DijkstraEra _ = Maybe (Credential 'Staking, Coin) forall a. Maybe a Nothing mkDelegTxCert :: Credential 'Staking -> Delegatee -> TxCert DijkstraEra mkDelegTxCert Credential 'Staking cred Delegatee d = ConwayDelegCert -> ConwayTxCert DijkstraEra forall era. ConwayDelegCert -> ConwayTxCert era ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert DijkstraEra) -> ConwayDelegCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'Staking -> Delegatee -> ConwayDelegCert ConwayDelegCert Credential 'Staking cred Delegatee d getDelegTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking, Delegatee) getDelegTxCert (ConwayTxCertDeleg (ConwayDelegCert Credential 'Staking cred Delegatee d)) = (Credential 'Staking, Delegatee) -> Maybe (Credential 'Staking, Delegatee) forall a. a -> Maybe a Just (Credential 'Staking cred, Delegatee d) getDelegTxCert TxCert DijkstraEra _ = Maybe (Credential 'Staking, Delegatee) forall a. Maybe a Nothing mkRegDepositDelegTxCert :: Credential 'Staking -> Delegatee -> Coin -> TxCert DijkstraEra mkRegDepositDelegTxCert Credential 'Staking cred Delegatee d Coin c = ConwayDelegCert -> ConwayTxCert DijkstraEra forall era. ConwayDelegCert -> ConwayTxCert era ConwayTxCertDeleg (ConwayDelegCert -> ConwayTxCert DijkstraEra) -> ConwayDelegCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'Staking -> Delegatee -> Coin -> ConwayDelegCert ConwayRegDelegCert Credential 'Staking cred Delegatee d Coin c getRegDepositDelegTxCert :: TxCert DijkstraEra -> Maybe (Credential 'Staking, Delegatee, Coin) getRegDepositDelegTxCert (ConwayTxCertDeleg (ConwayRegDelegCert Credential 'Staking cred Delegatee d Coin c)) = (Credential 'Staking, Delegatee, Coin) -> Maybe (Credential 'Staking, Delegatee, Coin) forall a. a -> Maybe a Just (Credential 'Staking cred, Delegatee d, Coin c) getRegDepositDelegTxCert TxCert DijkstraEra _ = Maybe (Credential 'Staking, Delegatee, Coin) forall a. Maybe a Nothing mkAuthCommitteeHotKeyTxCert :: Credential 'ColdCommitteeRole -> Credential 'HotCommitteeRole -> TxCert DijkstraEra mkAuthCommitteeHotKeyTxCert Credential 'ColdCommitteeRole ck Credential 'HotCommitteeRole hk = ConwayGovCert -> ConwayTxCert DijkstraEra forall era. ConwayGovCert -> ConwayTxCert era ConwayTxCertGov (ConwayGovCert -> ConwayTxCert DijkstraEra) -> ConwayGovCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'ColdCommitteeRole -> Credential 'HotCommitteeRole -> ConwayGovCert ConwayAuthCommitteeHotKey Credential 'ColdCommitteeRole ck Credential 'HotCommitteeRole hk getAuthCommitteeHotKeyTxCert :: TxCert DijkstraEra -> Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole) getAuthCommitteeHotKeyTxCert (ConwayTxCertGov (ConwayAuthCommitteeHotKey Credential 'ColdCommitteeRole ck Credential 'HotCommitteeRole hk)) = (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole) -> Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole) forall a. a -> Maybe a Just (Credential 'ColdCommitteeRole ck, Credential 'HotCommitteeRole hk) getAuthCommitteeHotKeyTxCert TxCert DijkstraEra _ = Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole) forall a. Maybe a Nothing mkResignCommitteeColdTxCert :: Credential 'ColdCommitteeRole -> StrictMaybe Anchor -> TxCert DijkstraEra mkResignCommitteeColdTxCert Credential 'ColdCommitteeRole ck StrictMaybe Anchor a = ConwayGovCert -> ConwayTxCert DijkstraEra forall era. ConwayGovCert -> ConwayTxCert era ConwayTxCertGov (ConwayGovCert -> ConwayTxCert DijkstraEra) -> ConwayGovCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'ColdCommitteeRole -> StrictMaybe Anchor -> ConwayGovCert ConwayResignCommitteeColdKey Credential 'ColdCommitteeRole ck StrictMaybe Anchor a getResignCommitteeColdTxCert :: TxCert DijkstraEra -> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor) getResignCommitteeColdTxCert (ConwayTxCertGov (ConwayResignCommitteeColdKey Credential 'ColdCommitteeRole ck StrictMaybe Anchor a)) = (Credential 'ColdCommitteeRole, StrictMaybe Anchor) -> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor) forall a. a -> Maybe a Just (Credential 'ColdCommitteeRole ck, StrictMaybe Anchor a) getResignCommitteeColdTxCert TxCert DijkstraEra _ = Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor) forall a. Maybe a Nothing mkRegDRepTxCert :: Credential 'DRepRole -> Coin -> StrictMaybe Anchor -> TxCert DijkstraEra mkRegDRepTxCert Credential 'DRepRole cred Coin deposit StrictMaybe Anchor mAnchor = ConwayGovCert -> ConwayTxCert DijkstraEra forall era. ConwayGovCert -> ConwayTxCert era ConwayTxCertGov (ConwayGovCert -> ConwayTxCert DijkstraEra) -> ConwayGovCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'DRepRole -> Coin -> StrictMaybe Anchor -> ConwayGovCert ConwayRegDRep Credential 'DRepRole cred Coin deposit StrictMaybe Anchor mAnchor getRegDRepTxCert :: TxCert DijkstraEra -> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor) getRegDRepTxCert = \case ConwayTxCertGov (ConwayRegDRep Credential 'DRepRole cred Coin deposit StrictMaybe Anchor mAnchor) -> (Credential 'DRepRole, Coin, StrictMaybe Anchor) -> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor) forall a. a -> Maybe a Just (Credential 'DRepRole cred, Coin deposit, StrictMaybe Anchor mAnchor) TxCert DijkstraEra _ -> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor) forall a. Maybe a Nothing mkUnRegDRepTxCert :: Credential 'DRepRole -> Coin -> TxCert DijkstraEra mkUnRegDRepTxCert Credential 'DRepRole cred Coin deposit = ConwayGovCert -> ConwayTxCert DijkstraEra forall era. ConwayGovCert -> ConwayTxCert era ConwayTxCertGov (ConwayGovCert -> ConwayTxCert DijkstraEra) -> ConwayGovCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'DRepRole -> Coin -> ConwayGovCert ConwayUnRegDRep Credential 'DRepRole cred Coin deposit getUnRegDRepTxCert :: TxCert DijkstraEra -> Maybe (Credential 'DRepRole, Coin) getUnRegDRepTxCert = \case ConwayTxCertGov (ConwayUnRegDRep Credential 'DRepRole cred Coin deposit) -> (Credential 'DRepRole, Coin) -> Maybe (Credential 'DRepRole, Coin) forall a. a -> Maybe a Just (Credential 'DRepRole cred, Coin deposit) TxCert DijkstraEra _ -> Maybe (Credential 'DRepRole, Coin) forall a. Maybe a Nothing mkUpdateDRepTxCert :: Credential 'DRepRole -> StrictMaybe Anchor -> TxCert DijkstraEra mkUpdateDRepTxCert Credential 'DRepRole cred StrictMaybe Anchor mAnchor = ConwayGovCert -> ConwayTxCert DijkstraEra forall era. ConwayGovCert -> ConwayTxCert era ConwayTxCertGov (ConwayGovCert -> ConwayTxCert DijkstraEra) -> ConwayGovCert -> ConwayTxCert DijkstraEra forall a b. (a -> b) -> a -> b $ Credential 'DRepRole -> StrictMaybe Anchor -> ConwayGovCert ConwayUpdateDRep Credential 'DRepRole cred StrictMaybe Anchor mAnchor getUpdateDRepTxCert :: TxCert DijkstraEra -> Maybe (Credential 'DRepRole, StrictMaybe Anchor) getUpdateDRepTxCert = \case ConwayTxCertGov (ConwayUpdateDRep Credential 'DRepRole cred StrictMaybe Anchor mAnchor) -> (Credential 'DRepRole, StrictMaybe Anchor) -> Maybe (Credential 'DRepRole, StrictMaybe Anchor) forall a. a -> Maybe a Just (Credential 'DRepRole cred, StrictMaybe Anchor mAnchor) TxCert DijkstraEra _ -> Maybe (Credential 'DRepRole, StrictMaybe Anchor) forall a. Maybe a Nothing