{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# LANGUAGE ViewPatterns #-}
module Cardano.Ledger.Api.Tx.Cert (
EraTxCert (
TxCert,
TxCertUpgradeError,
getRegPoolTxCert,
getRetirePoolTxCert,
lookupRegStakeTxCert,
lookupUnRegStakeTxCert
),
upgradeTxCert,
getVKeyWitnessTxCert,
getScriptWitnessTxCert,
pattern RegPoolTxCert,
pattern RetirePoolTxCert,
isRegStakeTxCert,
isUnRegStakeTxCert,
AnyEraTxCert (..),
pattern AnyEraRegPoolTxCert,
pattern AnyEraRetirePoolTxCert,
pattern AnyEraRegTxCert,
pattern AnyEraUnRegTxCert,
pattern AnyEraMirTxCert,
pattern AnyEraGenesisDelegTxCert,
pattern AnyEraRegDepositTxCert,
pattern AnyEraUnRegDepositTxCert,
pattern AnyEraDelegTxCert,
pattern AnyEraRegDepositDelegTxCert,
pattern AnyEraAuthCommitteeHotKeyTxCert,
pattern AnyEraResignCommitteeColdTxCert,
pattern AnyEraRegDRepTxCert,
pattern AnyEraUnRegDRepTxCert,
pattern AnyEraUpdateDRepTxCert,
ShelleyEraTxCert (
getRegTxCert,
getUnRegTxCert,
getDelegStakeTxCert,
getGenesisDelegTxCert,
getMirTxCert
),
pattern MirTxCert,
pattern GenesisDelegTxCert,
pattern RegTxCert,
pattern UnRegTxCert,
pattern DelegStakeTxCert,
ConwayEraTxCert (
getRegDepositTxCert,
getUnRegDepositTxCert,
getDelegTxCert,
getRegDepositDelegTxCert,
getAuthCommitteeHotKeyTxCert,
getResignCommitteeColdTxCert,
getRegDRepTxCert,
getUpdateDRepTxCert
),
getDelegateeTxCert,
Delegatee (..),
getStakePoolDelegatee,
pattern RegDepositTxCert,
pattern UnRegDepositTxCert,
pattern DelegTxCert,
pattern RegDepositDelegTxCert,
pattern AuthCommitteeHotKeyTxCert,
pattern ResignCommitteeColdTxCert,
pattern RegDRepTxCert,
pattern UnRegDRepTxCert,
) where
import Cardano.Ledger.Api.Era
import Cardano.Ledger.BaseTypes (Anchor, EpochNo, StrictMaybe)
import Cardano.Ledger.Coin (Coin)
import Cardano.Ledger.Conway.TxCert (
ConwayEraTxCert (
getAuthCommitteeHotKeyTxCert,
getDelegTxCert,
getRegDRepTxCert,
getRegDepositDelegTxCert,
getRegDepositTxCert,
getResignCommitteeColdTxCert,
getUnRegDRepTxCert,
getUnRegDepositTxCert,
getUpdateDRepTxCert
),
Delegatee (..),
getDelegateeTxCert,
getStakePoolDelegatee,
pattern AuthCommitteeHotKeyTxCert,
pattern DelegTxCert,
pattern RegDRepTxCert,
pattern RegDepositDelegTxCert,
pattern RegDepositTxCert,
pattern ResignCommitteeColdTxCert,
pattern UnRegDRepTxCert,
pattern UnRegDepositTxCert,
)
import Cardano.Ledger.Core (
EraTxCert (
TxCert,
TxCertUpgradeError,
getRegPoolTxCert,
getRetirePoolTxCert,
getScriptWitnessTxCert,
getVKeyWitnessTxCert,
lookupRegStakeTxCert,
lookupUnRegStakeTxCert,
upgradeTxCert
),
KeyHash,
KeyRole (..),
KeyRoleVRF (GenDelegVRF),
VRFVerKeyHash,
isRegStakeTxCert,
isUnRegStakeTxCert,
pattern RegPoolTxCert,
pattern RetirePoolTxCert,
)
import Cardano.Ledger.Credential (Credential)
import Cardano.Ledger.Shelley.TxCert (
GenesisDelegCert (..),
MIRCert,
ShelleyEraTxCert (
getDelegStakeTxCert,
getGenesisDelegTxCert,
getMirTxCert,
getRegTxCert,
getUnRegTxCert
),
pattern DelegStakeTxCert,
pattern GenesisDelegTxCert,
pattern MirTxCert,
pattern RegTxCert,
pattern UnRegTxCert,
)
import Cardano.Ledger.State (PoolParams)
class EraTxCert era => AnyEraTxCert era where
anyEraToRegTxCert :: TxCert era -> Maybe (Credential 'Staking)
anyEraToRegTxCert = Maybe (Credential 'Staking)
-> TxCert era -> Maybe (Credential 'Staking)
forall a b. a -> b -> a
const Maybe (Credential 'Staking)
forall a. Maybe a
Nothing
anyEraToUnRegTxCert :: TxCert era -> Maybe (Credential 'Staking)
anyEraToUnRegTxCert = Maybe (Credential 'Staking)
-> TxCert era -> Maybe (Credential 'Staking)
forall a b. a -> b -> a
const Maybe (Credential 'Staking)
forall a. Maybe a
Nothing
anyEraToGenesisDelegTxCert :: TxCert era -> Maybe GenesisDelegCert
anyEraToGenesisDelegTxCert = Maybe GenesisDelegCert -> TxCert era -> Maybe GenesisDelegCert
forall a b. a -> b -> a
const Maybe GenesisDelegCert
forall a. Maybe a
Nothing
anyEraToMirTxCert :: TxCert era -> Maybe MIRCert
anyEraToMirTxCert = Maybe MIRCert -> TxCert era -> Maybe MIRCert
forall a b. a -> b -> a
const Maybe MIRCert
forall a. Maybe a
Nothing
anyEraToRegDepositTxCert :: TxCert era -> Maybe (Credential 'Staking, Coin)
default anyEraToRegDepositTxCert ::
ConwayEraTxCert era => TxCert era -> Maybe (Credential 'Staking, Coin)
anyEraToRegDepositTxCert = TxCert era -> Maybe (Credential 'Staking, Coin)
forall era.
ConwayEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking, Coin)
getRegDepositTxCert
anyEraToUnRegDepositTxCert :: TxCert era -> Maybe (Credential 'Staking, Coin)
default anyEraToUnRegDepositTxCert ::
ConwayEraTxCert era => TxCert era -> Maybe (Credential 'Staking, Coin)
anyEraToUnRegDepositTxCert = TxCert era -> Maybe (Credential 'Staking, Coin)
forall era.
ConwayEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking, Coin)
getUnRegDepositTxCert
anyEraToDelegTxCert :: TxCert era -> Maybe (Credential 'Staking, Delegatee)
default anyEraToDelegTxCert ::
ConwayEraTxCert era => TxCert era -> Maybe (Credential 'Staking, Delegatee)
anyEraToDelegTxCert = TxCert era -> Maybe (Credential 'Staking, Delegatee)
forall era.
ConwayEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking, Delegatee)
getDelegTxCert
anyEraToRegDepositDelegTxCert :: TxCert era -> Maybe (Credential 'Staking, Delegatee, Coin)
default anyEraToRegDepositDelegTxCert ::
ConwayEraTxCert era => TxCert era -> Maybe (Credential 'Staking, Delegatee, Coin)
anyEraToRegDepositDelegTxCert = TxCert era -> Maybe (Credential 'Staking, Delegatee, Coin)
forall era.
ConwayEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking, Delegatee, Coin)
getRegDepositDelegTxCert
anyEraToAuthCommitteeHotKeyTxCert ::
TxCert era -> Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
default anyEraToAuthCommitteeHotKeyTxCert ::
ConwayEraTxCert era =>
TxCert era ->
Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
anyEraToAuthCommitteeHotKeyTxCert = TxCert era
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall era.
ConwayEraTxCert era =>
TxCert era
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
getAuthCommitteeHotKeyTxCert
anyEraToResignCommitteeColdTxCert ::
TxCert era -> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
default anyEraToResignCommitteeColdTxCert ::
ConwayEraTxCert era =>
TxCert era ->
Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
anyEraToResignCommitteeColdTxCert = TxCert era
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall era.
ConwayEraTxCert era =>
TxCert era
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
getResignCommitteeColdTxCert
anyEraToRegDRepTxCert ::
TxCert era -> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
default anyEraToRegDRepTxCert ::
ConwayEraTxCert era =>
TxCert era ->
Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
anyEraToRegDRepTxCert = TxCert era
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall era.
ConwayEraTxCert era =>
TxCert era
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
getRegDRepTxCert
anyEraToUnRegDRepTxCert :: TxCert era -> Maybe (Credential 'DRepRole, Coin)
default anyEraToUnRegDRepTxCert ::
ConwayEraTxCert era => TxCert era -> Maybe (Credential 'DRepRole, Coin)
anyEraToUnRegDRepTxCert = TxCert era -> Maybe (Credential 'DRepRole, Coin)
forall era.
ConwayEraTxCert era =>
TxCert era -> Maybe (Credential 'DRepRole, Coin)
getUnRegDRepTxCert
anyEraToUpdateDRepTxCert ::
TxCert era -> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
default anyEraToUpdateDRepTxCert ::
ConwayEraTxCert era =>
TxCert era ->
Maybe (Credential 'DRepRole, StrictMaybe Anchor)
anyEraToUpdateDRepTxCert = TxCert era -> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall era.
ConwayEraTxCert era =>
TxCert era -> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
getUpdateDRepTxCert
instance AnyEraTxCert ShelleyEra where
anyEraToRegTxCert :: TxCert ShelleyEra -> Maybe (Credential 'Staking)
anyEraToRegTxCert = TxCert ShelleyEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getRegTxCert
anyEraToUnRegTxCert :: TxCert ShelleyEra -> Maybe (Credential 'Staking)
anyEraToUnRegTxCert = TxCert ShelleyEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getUnRegTxCert
anyEraToGenesisDelegTxCert :: TxCert ShelleyEra -> Maybe GenesisDelegCert
anyEraToGenesisDelegTxCert = TxCert ShelleyEra -> Maybe GenesisDelegCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe GenesisDelegCert
getGenesisDelegTxCert
anyEraToMirTxCert :: TxCert ShelleyEra -> Maybe MIRCert
anyEraToMirTxCert = TxCert ShelleyEra -> Maybe MIRCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe MIRCert
getMirTxCert
anyEraToRegDepositTxCert :: TxCert ShelleyEra -> Maybe (Credential 'Staking, Coin)
anyEraToRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert ShelleyEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToUnRegDepositTxCert :: TxCert ShelleyEra -> Maybe (Credential 'Staking, Coin)
anyEraToUnRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert ShelleyEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToDelegTxCert :: TxCert ShelleyEra -> Maybe (Credential 'Staking, Delegatee)
anyEraToDelegTxCert = Maybe (Credential 'Staking, Delegatee)
-> ShelleyTxCert ShelleyEra
-> Maybe (Credential 'Staking, Delegatee)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee)
forall a. Maybe a
Nothing
anyEraToRegDepositDelegTxCert :: TxCert ShelleyEra -> Maybe (Credential 'Staking, Delegatee, Coin)
anyEraToRegDepositDelegTxCert = Maybe (Credential 'Staking, Delegatee, Coin)
-> ShelleyTxCert ShelleyEra
-> Maybe (Credential 'Staking, Delegatee, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee, Coin)
forall a. Maybe a
Nothing
anyEraToAuthCommitteeHotKeyTxCert :: TxCert ShelleyEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
anyEraToAuthCommitteeHotKeyTxCert = Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
-> ShelleyTxCert ShelleyEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a. Maybe a
Nothing
anyEraToResignCommitteeColdTxCert :: TxCert ShelleyEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
anyEraToResignCommitteeColdTxCert = Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
-> ShelleyTxCert ShelleyEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToRegDRepTxCert :: TxCert ShelleyEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
anyEraToRegDRepTxCert = Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
-> ShelleyTxCert ShelleyEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToUnRegDRepTxCert :: TxCert ShelleyEra -> Maybe (Credential 'DRepRole, Coin)
anyEraToUnRegDRepTxCert = Maybe (Credential 'DRepRole, Coin)
-> ShelleyTxCert ShelleyEra -> Maybe (Credential 'DRepRole, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin)
forall a. Maybe a
Nothing
anyEraToUpdateDRepTxCert :: TxCert ShelleyEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
anyEraToUpdateDRepTxCert = Maybe (Credential 'DRepRole, StrictMaybe Anchor)
-> ShelleyTxCert ShelleyEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
instance AnyEraTxCert AllegraEra where
anyEraToRegTxCert :: TxCert AllegraEra -> Maybe (Credential 'Staking)
anyEraToRegTxCert = TxCert AllegraEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getRegTxCert
anyEraToUnRegTxCert :: TxCert AllegraEra -> Maybe (Credential 'Staking)
anyEraToUnRegTxCert = TxCert AllegraEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getUnRegTxCert
anyEraToGenesisDelegTxCert :: TxCert AllegraEra -> Maybe GenesisDelegCert
anyEraToGenesisDelegTxCert = TxCert AllegraEra -> Maybe GenesisDelegCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe GenesisDelegCert
getGenesisDelegTxCert
anyEraToMirTxCert :: TxCert AllegraEra -> Maybe MIRCert
anyEraToMirTxCert = TxCert AllegraEra -> Maybe MIRCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe MIRCert
getMirTxCert
anyEraToRegDepositTxCert :: TxCert AllegraEra -> Maybe (Credential 'Staking, Coin)
anyEraToRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert AllegraEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToUnRegDepositTxCert :: TxCert AllegraEra -> Maybe (Credential 'Staking, Coin)
anyEraToUnRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert AllegraEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToDelegTxCert :: TxCert AllegraEra -> Maybe (Credential 'Staking, Delegatee)
anyEraToDelegTxCert = Maybe (Credential 'Staking, Delegatee)
-> ShelleyTxCert AllegraEra
-> Maybe (Credential 'Staking, Delegatee)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee)
forall a. Maybe a
Nothing
anyEraToRegDepositDelegTxCert :: TxCert AllegraEra -> Maybe (Credential 'Staking, Delegatee, Coin)
anyEraToRegDepositDelegTxCert = Maybe (Credential 'Staking, Delegatee, Coin)
-> ShelleyTxCert AllegraEra
-> Maybe (Credential 'Staking, Delegatee, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee, Coin)
forall a. Maybe a
Nothing
anyEraToAuthCommitteeHotKeyTxCert :: TxCert AllegraEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
anyEraToAuthCommitteeHotKeyTxCert = Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
-> ShelleyTxCert AllegraEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a. Maybe a
Nothing
anyEraToResignCommitteeColdTxCert :: TxCert AllegraEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
anyEraToResignCommitteeColdTxCert = Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
-> ShelleyTxCert AllegraEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToRegDRepTxCert :: TxCert AllegraEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
anyEraToRegDRepTxCert = Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
-> ShelleyTxCert AllegraEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToUnRegDRepTxCert :: TxCert AllegraEra -> Maybe (Credential 'DRepRole, Coin)
anyEraToUnRegDRepTxCert = Maybe (Credential 'DRepRole, Coin)
-> ShelleyTxCert AllegraEra -> Maybe (Credential 'DRepRole, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin)
forall a. Maybe a
Nothing
anyEraToUpdateDRepTxCert :: TxCert AllegraEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
anyEraToUpdateDRepTxCert = Maybe (Credential 'DRepRole, StrictMaybe Anchor)
-> ShelleyTxCert AllegraEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
instance AnyEraTxCert MaryEra where
anyEraToRegTxCert :: TxCert MaryEra -> Maybe (Credential 'Staking)
anyEraToRegTxCert = TxCert MaryEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getRegTxCert
anyEraToUnRegTxCert :: TxCert MaryEra -> Maybe (Credential 'Staking)
anyEraToUnRegTxCert = TxCert MaryEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getUnRegTxCert
anyEraToGenesisDelegTxCert :: TxCert MaryEra -> Maybe GenesisDelegCert
anyEraToGenesisDelegTxCert = TxCert MaryEra -> Maybe GenesisDelegCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe GenesisDelegCert
getGenesisDelegTxCert
anyEraToMirTxCert :: TxCert MaryEra -> Maybe MIRCert
anyEraToMirTxCert = TxCert MaryEra -> Maybe MIRCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe MIRCert
getMirTxCert
anyEraToRegDepositTxCert :: TxCert MaryEra -> Maybe (Credential 'Staking, Coin)
anyEraToRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert MaryEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToUnRegDepositTxCert :: TxCert MaryEra -> Maybe (Credential 'Staking, Coin)
anyEraToUnRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert MaryEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToDelegTxCert :: TxCert MaryEra -> Maybe (Credential 'Staking, Delegatee)
anyEraToDelegTxCert = Maybe (Credential 'Staking, Delegatee)
-> ShelleyTxCert MaryEra -> Maybe (Credential 'Staking, Delegatee)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee)
forall a. Maybe a
Nothing
anyEraToRegDepositDelegTxCert :: TxCert MaryEra -> Maybe (Credential 'Staking, Delegatee, Coin)
anyEraToRegDepositDelegTxCert = Maybe (Credential 'Staking, Delegatee, Coin)
-> ShelleyTxCert MaryEra
-> Maybe (Credential 'Staking, Delegatee, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee, Coin)
forall a. Maybe a
Nothing
anyEraToAuthCommitteeHotKeyTxCert :: TxCert MaryEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
anyEraToAuthCommitteeHotKeyTxCert = Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
-> ShelleyTxCert MaryEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a. Maybe a
Nothing
anyEraToResignCommitteeColdTxCert :: TxCert MaryEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
anyEraToResignCommitteeColdTxCert = Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
-> ShelleyTxCert MaryEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToRegDRepTxCert :: TxCert MaryEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
anyEraToRegDRepTxCert = Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
-> ShelleyTxCert MaryEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToUnRegDRepTxCert :: TxCert MaryEra -> Maybe (Credential 'DRepRole, Coin)
anyEraToUnRegDRepTxCert = Maybe (Credential 'DRepRole, Coin)
-> ShelleyTxCert MaryEra -> Maybe (Credential 'DRepRole, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin)
forall a. Maybe a
Nothing
anyEraToUpdateDRepTxCert :: TxCert MaryEra -> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
anyEraToUpdateDRepTxCert = Maybe (Credential 'DRepRole, StrictMaybe Anchor)
-> ShelleyTxCert MaryEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
instance AnyEraTxCert AlonzoEra where
anyEraToRegTxCert :: TxCert AlonzoEra -> Maybe (Credential 'Staking)
anyEraToRegTxCert = TxCert AlonzoEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getRegTxCert
anyEraToUnRegTxCert :: TxCert AlonzoEra -> Maybe (Credential 'Staking)
anyEraToUnRegTxCert = TxCert AlonzoEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getUnRegTxCert
anyEraToGenesisDelegTxCert :: TxCert AlonzoEra -> Maybe GenesisDelegCert
anyEraToGenesisDelegTxCert = TxCert AlonzoEra -> Maybe GenesisDelegCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe GenesisDelegCert
getGenesisDelegTxCert
anyEraToMirTxCert :: TxCert AlonzoEra -> Maybe MIRCert
anyEraToMirTxCert = TxCert AlonzoEra -> Maybe MIRCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe MIRCert
getMirTxCert
anyEraToRegDepositTxCert :: TxCert AlonzoEra -> Maybe (Credential 'Staking, Coin)
anyEraToRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert AlonzoEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToUnRegDepositTxCert :: TxCert AlonzoEra -> Maybe (Credential 'Staking, Coin)
anyEraToUnRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert AlonzoEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToDelegTxCert :: TxCert AlonzoEra -> Maybe (Credential 'Staking, Delegatee)
anyEraToDelegTxCert = Maybe (Credential 'Staking, Delegatee)
-> ShelleyTxCert AlonzoEra
-> Maybe (Credential 'Staking, Delegatee)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee)
forall a. Maybe a
Nothing
anyEraToRegDepositDelegTxCert :: TxCert AlonzoEra -> Maybe (Credential 'Staking, Delegatee, Coin)
anyEraToRegDepositDelegTxCert = Maybe (Credential 'Staking, Delegatee, Coin)
-> ShelleyTxCert AlonzoEra
-> Maybe (Credential 'Staking, Delegatee, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee, Coin)
forall a. Maybe a
Nothing
anyEraToAuthCommitteeHotKeyTxCert :: TxCert AlonzoEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
anyEraToAuthCommitteeHotKeyTxCert = Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
-> ShelleyTxCert AlonzoEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a. Maybe a
Nothing
anyEraToResignCommitteeColdTxCert :: TxCert AlonzoEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
anyEraToResignCommitteeColdTxCert = Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
-> ShelleyTxCert AlonzoEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToRegDRepTxCert :: TxCert AlonzoEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
anyEraToRegDRepTxCert = Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
-> ShelleyTxCert AlonzoEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToUnRegDRepTxCert :: TxCert AlonzoEra -> Maybe (Credential 'DRepRole, Coin)
anyEraToUnRegDRepTxCert = Maybe (Credential 'DRepRole, Coin)
-> ShelleyTxCert AlonzoEra -> Maybe (Credential 'DRepRole, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin)
forall a. Maybe a
Nothing
anyEraToUpdateDRepTxCert :: TxCert AlonzoEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
anyEraToUpdateDRepTxCert = Maybe (Credential 'DRepRole, StrictMaybe Anchor)
-> ShelleyTxCert AlonzoEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
instance AnyEraTxCert BabbageEra where
anyEraToRegTxCert :: TxCert BabbageEra -> Maybe (Credential 'Staking)
anyEraToRegTxCert = TxCert BabbageEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getRegTxCert
anyEraToUnRegTxCert :: TxCert BabbageEra -> Maybe (Credential 'Staking)
anyEraToUnRegTxCert = TxCert BabbageEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getUnRegTxCert
anyEraToGenesisDelegTxCert :: TxCert BabbageEra -> Maybe GenesisDelegCert
anyEraToGenesisDelegTxCert = TxCert BabbageEra -> Maybe GenesisDelegCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe GenesisDelegCert
getGenesisDelegTxCert
anyEraToMirTxCert :: TxCert BabbageEra -> Maybe MIRCert
anyEraToMirTxCert = TxCert BabbageEra -> Maybe MIRCert
forall era.
(ShelleyEraTxCert era, AtMostEra "Babbage" era) =>
TxCert era -> Maybe MIRCert
getMirTxCert
anyEraToRegDepositTxCert :: TxCert BabbageEra -> Maybe (Credential 'Staking, Coin)
anyEraToRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert BabbageEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToUnRegDepositTxCert :: TxCert BabbageEra -> Maybe (Credential 'Staking, Coin)
anyEraToUnRegDepositTxCert = Maybe (Credential 'Staking, Coin)
-> ShelleyTxCert BabbageEra -> Maybe (Credential 'Staking, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Coin)
forall a. Maybe a
Nothing
anyEraToDelegTxCert :: TxCert BabbageEra -> Maybe (Credential 'Staking, Delegatee)
anyEraToDelegTxCert = Maybe (Credential 'Staking, Delegatee)
-> ShelleyTxCert BabbageEra
-> Maybe (Credential 'Staking, Delegatee)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee)
forall a. Maybe a
Nothing
anyEraToRegDepositDelegTxCert :: TxCert BabbageEra -> Maybe (Credential 'Staking, Delegatee, Coin)
anyEraToRegDepositDelegTxCert = Maybe (Credential 'Staking, Delegatee, Coin)
-> ShelleyTxCert BabbageEra
-> Maybe (Credential 'Staking, Delegatee, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'Staking, Delegatee, Coin)
forall a. Maybe a
Nothing
anyEraToAuthCommitteeHotKeyTxCert :: TxCert BabbageEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
anyEraToAuthCommitteeHotKeyTxCert = Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
-> ShelleyTxCert BabbageEra
-> Maybe
(Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, Credential 'HotCommitteeRole)
forall a. Maybe a
Nothing
anyEraToResignCommitteeColdTxCert :: TxCert BabbageEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
anyEraToResignCommitteeColdTxCert = Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
-> ShelleyTxCert BabbageEra
-> Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'ColdCommitteeRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToRegDRepTxCert :: TxCert BabbageEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
anyEraToRegDRepTxCert = Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
-> ShelleyTxCert BabbageEra
-> Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin, StrictMaybe Anchor)
forall a. Maybe a
Nothing
anyEraToUnRegDRepTxCert :: TxCert BabbageEra -> Maybe (Credential 'DRepRole, Coin)
anyEraToUnRegDRepTxCert = Maybe (Credential 'DRepRole, Coin)
-> ShelleyTxCert BabbageEra -> Maybe (Credential 'DRepRole, Coin)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, Coin)
forall a. Maybe a
Nothing
anyEraToUpdateDRepTxCert :: TxCert BabbageEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
anyEraToUpdateDRepTxCert = Maybe (Credential 'DRepRole, StrictMaybe Anchor)
-> ShelleyTxCert BabbageEra
-> Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a b. a -> b -> a
const Maybe (Credential 'DRepRole, StrictMaybe Anchor)
forall a. Maybe a
Nothing
instance AnyEraTxCert ConwayEra where
anyEraToRegTxCert :: TxCert ConwayEra -> Maybe (Credential 'Staking)
anyEraToRegTxCert = TxCert ConwayEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getRegTxCert
anyEraToUnRegTxCert :: TxCert ConwayEra -> Maybe (Credential 'Staking)
anyEraToUnRegTxCert = TxCert ConwayEra -> Maybe (Credential 'Staking)
forall era.
ShelleyEraTxCert era =>
TxCert era -> Maybe (Credential 'Staking)
getUnRegTxCert
instance AnyEraTxCert DijkstraEra
pattern AnyEraRegPoolTxCert :: EraTxCert era => PoolParams -> TxCert era
pattern $mAnyEraRegPoolTxCert :: forall {r} {era}.
EraTxCert era =>
TxCert era -> (PoolParams -> r) -> ((# #) -> r) -> r
$bAnyEraRegPoolTxCert :: forall era. EraTxCert era => PoolParams -> TxCert era
AnyEraRegPoolTxCert poolParams = RegPoolTxCert poolParams
pattern AnyEraRetirePoolTxCert ::
EraTxCert era => KeyHash 'StakePool -> EpochNo -> TxCert era
pattern $mAnyEraRetirePoolTxCert :: forall {r} {era}.
EraTxCert era =>
TxCert era
-> (KeyHash 'StakePool -> EpochNo -> r) -> ((# #) -> r) -> r
$bAnyEraRetirePoolTxCert :: forall era.
EraTxCert era =>
KeyHash 'StakePool -> EpochNo -> TxCert era
AnyEraRetirePoolTxCert keyHash epochNo = RetirePoolTxCert keyHash epochNo
pattern AnyEraRegTxCert :: AnyEraTxCert era => Credential 'Staking -> TxCert era
pattern $mAnyEraRegTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era -> (Credential 'Staking -> r) -> ((# #) -> r) -> r
AnyEraRegTxCert c <- (anyEraToRegTxCert -> Just c)
pattern AnyEraUnRegTxCert :: AnyEraTxCert era => Credential 'Staking -> TxCert era
pattern $mAnyEraUnRegTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era -> (Credential 'Staking -> r) -> ((# #) -> r) -> r
AnyEraUnRegTxCert c <- (anyEraToUnRegTxCert -> Just c)
pattern AnyEraMirTxCert :: AnyEraTxCert era => MIRCert -> TxCert era
pattern $mAnyEraMirTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era -> (MIRCert -> r) -> ((# #) -> r) -> r
AnyEraMirTxCert d <- (anyEraToMirTxCert -> Just d)
pattern AnyEraGenesisDelegTxCert ::
AnyEraTxCert era =>
KeyHash 'Genesis ->
KeyHash 'GenesisDelegate ->
VRFVerKeyHash 'GenDelegVRF ->
TxCert era
pattern $mAnyEraGenesisDelegTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (KeyHash 'Genesis
-> KeyHash 'GenesisDelegate -> VRFVerKeyHash 'GenDelegVRF -> r)
-> ((# #) -> r)
-> r
AnyEraGenesisDelegTxCert genKey genDelegKey vrfKeyHash <-
(anyEraToGenesisDelegTxCert -> Just (GenesisDelegCert genKey genDelegKey vrfKeyHash))
pattern AnyEraRegDepositTxCert ::
AnyEraTxCert era =>
Credential 'Staking ->
Coin ->
TxCert era
pattern $mAnyEraRegDepositTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'Staking -> Coin -> r) -> ((# #) -> r) -> r
AnyEraRegDepositTxCert cred c <- (anyEraToRegDepositTxCert -> Just (cred, c))
pattern AnyEraUnRegDepositTxCert ::
AnyEraTxCert era =>
Credential 'Staking ->
Coin ->
TxCert era
pattern $mAnyEraUnRegDepositTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'Staking -> Coin -> r) -> ((# #) -> r) -> r
AnyEraUnRegDepositTxCert cred c <- (anyEraToUnRegDepositTxCert -> Just (cred, c))
pattern AnyEraDelegTxCert ::
AnyEraTxCert era =>
Credential 'Staking ->
Delegatee ->
TxCert era
pattern $mAnyEraDelegTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'Staking -> Delegatee -> r) -> ((# #) -> r) -> r
AnyEraDelegTxCert cred d <- (anyEraToDelegTxCert -> Just (cred, d))
pattern AnyEraRegDepositDelegTxCert ::
AnyEraTxCert era =>
Credential 'Staking ->
Delegatee ->
Coin ->
TxCert era
pattern $mAnyEraRegDepositDelegTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'Staking -> Delegatee -> Coin -> r)
-> ((# #) -> r)
-> r
AnyEraRegDepositDelegTxCert cred d c <- (anyEraToRegDepositDelegTxCert -> Just (cred, d, c))
pattern AnyEraAuthCommitteeHotKeyTxCert ::
AnyEraTxCert era =>
Credential 'ColdCommitteeRole ->
Credential 'HotCommitteeRole ->
TxCert era
pattern $mAnyEraAuthCommitteeHotKeyTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'ColdCommitteeRole
-> Credential 'HotCommitteeRole -> r)
-> ((# #) -> r)
-> r
AnyEraAuthCommitteeHotKeyTxCert ck hk <- (anyEraToAuthCommitteeHotKeyTxCert -> Just (ck, hk))
pattern AnyEraResignCommitteeColdTxCert ::
AnyEraTxCert era =>
Credential 'ColdCommitteeRole ->
StrictMaybe Anchor ->
TxCert era
pattern $mAnyEraResignCommitteeColdTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'ColdCommitteeRole -> StrictMaybe Anchor -> r)
-> ((# #) -> r)
-> r
AnyEraResignCommitteeColdTxCert ck a <- (anyEraToResignCommitteeColdTxCert -> Just (ck, a))
pattern AnyEraRegDRepTxCert ::
AnyEraTxCert era =>
Credential 'DRepRole ->
Coin ->
StrictMaybe Anchor ->
TxCert era
pattern $mAnyEraRegDRepTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'DRepRole -> Coin -> StrictMaybe Anchor -> r)
-> ((# #) -> r)
-> r
AnyEraRegDRepTxCert cred deposit mAnchor <- (anyEraToRegDRepTxCert -> Just (cred, deposit, mAnchor))
pattern AnyEraUnRegDRepTxCert ::
AnyEraTxCert era =>
Credential 'DRepRole ->
Coin ->
TxCert era
pattern $mAnyEraUnRegDRepTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'DRepRole -> Coin -> r) -> ((# #) -> r) -> r
AnyEraUnRegDRepTxCert cred deposit <- (anyEraToUnRegDRepTxCert -> Just (cred, deposit))
pattern AnyEraUpdateDRepTxCert ::
AnyEraTxCert era =>
Credential 'DRepRole ->
StrictMaybe Anchor ->
TxCert era
pattern $mAnyEraUpdateDRepTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (Credential 'DRepRole -> StrictMaybe Anchor -> r)
-> ((# #) -> r)
-> r
AnyEraUpdateDRepTxCert cred mAnchor <- (anyEraToUpdateDRepTxCert -> Just (cred, mAnchor))
{-# COMPLETE
AnyEraRegPoolTxCert
, AnyEraRetirePoolTxCert
, AnyEraRegTxCert
, AnyEraUnRegTxCert
, AnyEraRegDepositTxCert
, AnyEraUnRegDepositTxCert
, AnyEraDelegTxCert
, AnyEraRegDepositDelegTxCert
, AnyEraAuthCommitteeHotKeyTxCert
, AnyEraResignCommitteeColdTxCert
, AnyEraRegDRepTxCert
, AnyEraUnRegDRepTxCert
, AnyEraUpdateDRepTxCert
#-}