module Cardano.Api.Compatible.Certificate
  ( -- * Types that vary across the hardfork boundary
    Delegatee

    -- * Registering stake address and delegating
  , makeStakeAddressDelegationCertificate
  , makeStakeAddressRegistrationCertificate
  , makeStakeAddressUnregistrationCertificate
  , StakeCredentialAndDeposit (..)
  , StakeRegistrationRequirements

    -- * Registering stake pools
  , makeStakePoolRegistrationCertificate
  , makeStakePoolRetirementCertificate

    -- * Special certificates
  , makeMIRCertificate
  , makeGenesisKeyDelegationCertificate
  , Ledger.MIRTarget (..)
  , Ledger.MIRPot (..)
  , selectStakeCredentialWitness

    -- * Internal
  , getTxCertWitness
  )
where

import Cardano.Api.Experimental.Tx.Internal.Certificate.Compatible
import Cardano.Api.Ledger.Internal.Reexport qualified as Ledger