{-# 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 (StakePoolParams)
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 => StakePoolParams -> TxCert era
pattern $mAnyEraRegPoolTxCert :: forall {r} {era}.
EraTxCert era =>
TxCert era -> (StakePoolParams -> r) -> ((# #) -> r) -> r
$bAnyEraRegPoolTxCert :: forall era. EraTxCert era => StakePoolParams -> 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 GenesisRole ->
KeyHash GenesisDelegate ->
VRFVerKeyHash GenDelegVRF ->
TxCert era
pattern $mAnyEraGenesisDelegTxCert :: forall {r} {era}.
AnyEraTxCert era =>
TxCert era
-> (KeyHash GenesisRole
-> 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
#-}