{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Allegra.State.Stake () where import Cardano.Ledger.Allegra.Core () import Cardano.Ledger.Allegra.Era (AllegraEra) import Cardano.Ledger.Shelley.State ( EraStake (..), ShelleyInstantStake, addShelleyInstantStake, deleteShelleyInstantStake, resolveShelleyInstantStake, shelleyInstantStakeCredentialsL, ) instance EraStake AllegraEra where type InstantStake AllegraEra = ShelleyInstantStake AllegraEra instantStakeCredentialsL :: Lens' (InstantStake AllegraEra) (Map (Credential 'Staking) (CompactForm Coin)) instantStakeCredentialsL = forall era. Lens' (ShelleyInstantStake era) (Map (Credential 'Staking) (CompactForm Coin)) shelleyInstantStakeCredentialsL addInstantStake :: UTxO AllegraEra -> InstantStake AllegraEra -> InstantStake AllegraEra addInstantStake = forall era. EraTxOut era => UTxO era -> ShelleyInstantStake era -> ShelleyInstantStake era addShelleyInstantStake deleteInstantStake :: UTxO AllegraEra -> InstantStake AllegraEra -> InstantStake AllegraEra deleteInstantStake = forall era. EraTxOut era => UTxO era -> ShelleyInstantStake era -> ShelleyInstantStake era deleteShelleyInstantStake resolveInstantStake :: InstantStake AllegraEra -> UMap -> Stake resolveInstantStake = forall era. (EraStake era, InstantStake era ~ ShelleyInstantStake era) => ShelleyInstantStake era -> UMap -> Stake resolveShelleyInstantStake