{-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.State.Stake () where import Cardano.Ledger.Conway.State ( ConwayInstantStake, EraStake (..), addConwayInstantStake, conwayInstantStakeCredentialsL, deleteConwayInstantStake, resolveConwayInstantStake, ) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) import Cardano.Ledger.Dijkstra.TxOut () instance EraStake DijkstraEra where type InstantStake DijkstraEra = ConwayInstantStake DijkstraEra instantStakeCredentialsL :: Lens' (InstantStake DijkstraEra) (Map (Credential 'Staking) (CompactForm Coin)) instantStakeCredentialsL = (Map (Credential 'Staking) (CompactForm Coin) -> f (Map (Credential 'Staking) (CompactForm Coin))) -> InstantStake DijkstraEra -> f (InstantStake DijkstraEra) (Map (Credential 'Staking) (CompactForm Coin) -> f (Map (Credential 'Staking) (CompactForm Coin))) -> ConwayInstantStake DijkstraEra -> f (ConwayInstantStake DijkstraEra) forall era (f :: * -> *). Functor f => (Map (Credential 'Staking) (CompactForm Coin) -> f (Map (Credential 'Staking) (CompactForm Coin))) -> ConwayInstantStake era -> f (ConwayInstantStake era) conwayInstantStakeCredentialsL addInstantStake :: UTxO DijkstraEra -> InstantStake DijkstraEra -> InstantStake DijkstraEra addInstantStake = UTxO DijkstraEra -> InstantStake DijkstraEra -> InstantStake DijkstraEra UTxO DijkstraEra -> ConwayInstantStake DijkstraEra -> ConwayInstantStake DijkstraEra forall era. EraTxOut era => UTxO era -> ConwayInstantStake era -> ConwayInstantStake era addConwayInstantStake deleteInstantStake :: UTxO DijkstraEra -> InstantStake DijkstraEra -> InstantStake DijkstraEra deleteInstantStake = UTxO DijkstraEra -> InstantStake DijkstraEra -> InstantStake DijkstraEra UTxO DijkstraEra -> ConwayInstantStake DijkstraEra -> ConwayInstantStake DijkstraEra forall era. EraTxOut era => UTxO era -> ConwayInstantStake era -> ConwayInstantStake era deleteConwayInstantStake resolveInstantStake :: InstantStake DijkstraEra -> UMap -> Stake resolveInstantStake = InstantStake DijkstraEra -> UMap -> Stake ConwayInstantStake DijkstraEra -> UMap -> Stake forall era. (EraStake era, InstantStake era ~ ConwayInstantStake era) => ConwayInstantStake era -> UMap -> Stake resolveConwayInstantStake