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