{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# OPTIONS_GHC -Wno-deprecations #-}

module Cardano.Ledger.Api.Tx.Body (
  -- | Building and inspecting transaction outputs
  module Cardano.Ledger.Api.Tx.Out,
  -- | Working with Timelock scripts and Plutus scripts
  module Cardano.Ledger.Api.Scripts,
  EraTxBody (TxBody),
  mkBasicTxBody,
  inputsTxBodyL,
  outputsTxBodyL,
  feeTxBodyL,
  withdrawalsTxBodyL,
  Withdrawals (..),
  auxDataHashTxBodyL,
  TxAuxDataHash (..),
  spendableInputsTxBodyF,
  allInputsTxBodyF,
  evalBalanceTxBody,
  txIdTxBody,

  -- * Any Era
  AnyEraTxBody (..),

  -- * Shelley Era
  ShelleyEraTxBody,
  ttlTxBodyL,
  updateTxBodyL,
  certsTxBodyL,

  -- * Allegra Era
  AllegraEraTxBody,
  vldtTxBodyL,
  ValidityInterval (..),
  invalidBeforeL,
  invalidHereAfterL,

  -- * Mary Era
  MaryEraTxBody,
  mintTxBodyL,
  mintValueTxBodyF,
  mintedTxBodyF,

  -- * Alonzo Era
  AlonzoEraTxBody,
  collateralInputsTxBodyL,
  reqSignerHashesTxBodyL,
  scriptIntegrityHashTxBodyL,
  ScriptIntegrityHash,
  networkIdTxBodyL,
  redeemerPointer,
  redeemerPointerInverse,

  -- * Babbage Era
  BabbageEraTxBody,
  sizedOutputsTxBodyL,
  referenceInputsTxBodyL,
  totalCollateralTxBodyL,
  collateralReturnTxBodyL,
  sizedCollateralReturnTxBodyL,
  allSizedOutputsTxBodyF,

  -- * Conway Era
  ConwayEraTxBody,
  votingProceduresTxBodyL,
  VotingProcedure (..),
  VotingProcedures (..),
  proposalProceduresTxBodyL,
  ProposalProcedure (..),
  currentTreasuryValueTxBodyL,
  treasuryDonationTxBodyL,

  -- * Dijstra Era
  DijkstraEraTxBody,
  guardsTxBodyL,
  directDepositsTxBodyL,
  DirectDeposits (..),

  -- * Upgrade
  binaryUpgradeTxBody,
  upgradeTxBody,
) where

import Cardano.Ledger.Address (DirectDeposits (..), Withdrawals (..))
import Cardano.Ledger.Allegra.Core (AllegraEraTxBody (..))
import Cardano.Ledger.Allegra.Scripts (invalidBeforeL, invalidHereAfterL)
import Cardano.Ledger.Alonzo.TxBody (AlonzoEraTxBody (..), ScriptIntegrityHash)
import Cardano.Ledger.Api.Era
import Cardano.Ledger.Api.Scripts
import Cardano.Ledger.Api.Tx.Cert
import Cardano.Ledger.Api.Tx.Out
import Cardano.Ledger.Babbage.TxBody (BabbageEraTxBody (..))
import Cardano.Ledger.BaseTypes (Network, StrictMaybe, strictMaybeToMaybe)
import Cardano.Ledger.Binary.Decoding (Sized)
import Cardano.Ledger.Coin (Coin)
import Cardano.Ledger.Conway.Governance (
  ProposalProcedure (..),
  VotingProcedure (..),
  VotingProcedures (..),
 )
import Cardano.Ledger.Conway.TxBody (ConwayEraTxBody (..))
import Cardano.Ledger.Core (
  EraTx (..),
  EraTxBody (..),
  PParams,
  TxAuxDataHash (..),
  TxLevel (..),
  Value,
  allInputsTxBodyF,
  binaryUpgradeTxBody,
  txIdTxBody,
 )
import Cardano.Ledger.Credential (Credential (KeyHashObj))
import Cardano.Ledger.Dijkstra.TxBody (DijkstraEraTxBody (..))
import Cardano.Ledger.Keys (KeyHash (..), KeyRole (..))
import Cardano.Ledger.Mary.Core (MaryEraTxBody (..))
import Cardano.Ledger.Mary.Value (MultiAsset)
import Cardano.Ledger.Shelley.Core (ShelleyEraTxBody (..))
import Cardano.Ledger.Shelley.PParams (Update)
import Cardano.Ledger.Shelley.UTxO (getProducedValue)
import Cardano.Ledger.State (EraUTxO (getConsumedValue), UTxO)
import Cardano.Ledger.TxIn (TxId, TxIn)
import Cardano.Ledger.Val ((<->))
import Data.Map.Strict (Map)
import Data.OMap.Strict (OMap)
import Data.OSet.Strict (OSet)
import qualified Data.OSet.Strict as OSet (fromSet)
import Data.Sequence.Strict (StrictSeq)
import Data.Set (Set)
import qualified Data.Set as Set (map)
import Lens.Micro (SimpleGetter, to)

class (EraTxBody era, AnyEraTxOut era, AnyEraTxCert era) => AnyEraTxBody era where
  updateTxBodyG :: SimpleGetter (TxBody TopTx era) (Maybe (Maybe (Update era)))
  updateTxBodyG = (TxBody TopTx era -> Maybe (Maybe (Update era)))
-> SimpleGetter (TxBody TopTx era) (Maybe (Maybe (Update era)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (Update era))
-> TxBody TopTx era -> Maybe (Maybe (Update era))
forall a b. a -> b -> a
const Maybe (Maybe (Update era))
forall a. Maybe a
Nothing)

  vldtTxBodyG :: SimpleGetter (TxBody TopTx era) ValidityInterval
  default vldtTxBodyG ::
    AllegraEraTxBody era => SimpleGetter (TxBody TopTx era) ValidityInterval
  vldtTxBodyG = (ValidityInterval -> Const r ValidityInterval)
-> TxBody TopTx era -> Const r (TxBody TopTx era)
forall era (l :: TxLevel).
AllegraEraTxBody era =>
Lens' (TxBody l era) ValidityInterval
forall (l :: TxLevel). Lens' (TxBody l era) ValidityInterval
vldtTxBodyL

  mintTxBodyG :: SimpleGetter (TxBody l era) (Maybe MultiAsset)
  default mintTxBodyG ::
    MaryEraTxBody era => SimpleGetter (TxBody l era) (Maybe MultiAsset)
  mintTxBodyG = (MultiAsset -> Const r MultiAsset)
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
MaryEraTxBody era =>
Lens' (TxBody l era) MultiAsset
forall (l :: TxLevel). Lens' (TxBody l era) MultiAsset
mintTxBodyL ((MultiAsset -> Const r MultiAsset)
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe MultiAsset -> Const r (Maybe MultiAsset))
    -> MultiAsset -> Const r MultiAsset)
-> (Maybe MultiAsset -> Const r (Maybe MultiAsset))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (MultiAsset -> Maybe MultiAsset)
-> SimpleGetter MultiAsset (Maybe MultiAsset)
forall s a. (s -> a) -> SimpleGetter s a
to MultiAsset -> Maybe MultiAsset
forall a. a -> Maybe a
Just

  collateralInputsTxBodyG :: SimpleGetter (TxBody TopTx era) (Maybe (Set TxIn))
  default collateralInputsTxBodyG ::
    AlonzoEraTxBody era => SimpleGetter (TxBody TopTx era) (Maybe (Set TxIn))
  collateralInputsTxBodyG = (Set TxIn -> Const r (Set TxIn))
-> TxBody TopTx era -> Const r (TxBody TopTx era)
forall era.
AlonzoEraTxBody era =>
Lens' (TxBody TopTx era) (Set TxIn)
Lens' (TxBody TopTx era) (Set TxIn)
collateralInputsTxBodyL ((Set TxIn -> Const r (Set TxIn))
 -> TxBody TopTx era -> Const r (TxBody TopTx era))
-> ((Maybe (Set TxIn) -> Const r (Maybe (Set TxIn)))
    -> Set TxIn -> Const r (Set TxIn))
-> (Maybe (Set TxIn) -> Const r (Maybe (Set TxIn)))
-> TxBody TopTx era
-> Const r (TxBody TopTx era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set TxIn -> Maybe (Set TxIn))
-> SimpleGetter (Set TxIn) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to Set TxIn -> Maybe (Set TxIn)
forall a. a -> Maybe a
Just

  scriptIntegrityHashTxBodyG ::
    SimpleGetter (TxBody l era) (Maybe (Maybe ScriptIntegrityHash))
  default scriptIntegrityHashTxBodyG ::
    AlonzoEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (Maybe ScriptIntegrityHash))
  scriptIntegrityHashTxBodyG = (StrictMaybe ScriptIntegrityHash
 -> Const r (StrictMaybe ScriptIntegrityHash))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
AlonzoEraTxBody era =>
Lens' (TxBody l era) (StrictMaybe ScriptIntegrityHash)
forall (l :: TxLevel).
Lens' (TxBody l era) (StrictMaybe ScriptIntegrityHash)
scriptIntegrityHashTxBodyL ((StrictMaybe ScriptIntegrityHash
  -> Const r (StrictMaybe ScriptIntegrityHash))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (Maybe ScriptIntegrityHash)
     -> Const r (Maybe (Maybe ScriptIntegrityHash)))
    -> StrictMaybe ScriptIntegrityHash
    -> Const r (StrictMaybe ScriptIntegrityHash))
-> (Maybe (Maybe ScriptIntegrityHash)
    -> Const r (Maybe (Maybe ScriptIntegrityHash)))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe ScriptIntegrityHash
 -> Maybe (Maybe ScriptIntegrityHash))
-> SimpleGetter
     (StrictMaybe ScriptIntegrityHash)
     (Maybe (Maybe ScriptIntegrityHash))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe ScriptIntegrityHash -> Maybe (Maybe ScriptIntegrityHash)
forall a. a -> Maybe a
Just (Maybe ScriptIntegrityHash -> Maybe (Maybe ScriptIntegrityHash))
-> (StrictMaybe ScriptIntegrityHash -> Maybe ScriptIntegrityHash)
-> StrictMaybe ScriptIntegrityHash
-> Maybe (Maybe ScriptIntegrityHash)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe ScriptIntegrityHash -> Maybe ScriptIntegrityHash
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)

  networkIdTxBodyG :: SimpleGetter (TxBody l era) (Maybe (Maybe Network))
  default networkIdTxBodyG ::
    AlonzoEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (Maybe Network))
  networkIdTxBodyG = (StrictMaybe Network -> Const r (StrictMaybe Network))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
AlonzoEraTxBody era =>
Lens' (TxBody l era) (StrictMaybe Network)
forall (l :: TxLevel). Lens' (TxBody l era) (StrictMaybe Network)
networkIdTxBodyL ((StrictMaybe Network -> Const r (StrictMaybe Network))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (Maybe Network) -> Const r (Maybe (Maybe Network)))
    -> StrictMaybe Network -> Const r (StrictMaybe Network))
-> (Maybe (Maybe Network) -> Const r (Maybe (Maybe Network)))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe Network -> Maybe (Maybe Network))
-> SimpleGetter (StrictMaybe Network) (Maybe (Maybe Network))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Network -> Maybe (Maybe Network)
forall a. a -> Maybe a
Just (Maybe Network -> Maybe (Maybe Network))
-> (StrictMaybe Network -> Maybe Network)
-> StrictMaybe Network
-> Maybe (Maybe Network)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe Network -> Maybe Network
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)

  sizedOutputsTxBodyG :: SimpleGetter (TxBody l era) (Maybe (StrictSeq (Sized (TxOut era))))
  default sizedOutputsTxBodyG ::
    BabbageEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (StrictSeq (Sized (TxOut era))))
  sizedOutputsTxBodyG = (StrictSeq (Sized (TxOut era))
 -> Const r (StrictSeq (Sized (TxOut era))))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
BabbageEraTxBody era =>
Lens' (TxBody l era) (StrictSeq (Sized (TxOut era)))
forall (l :: TxLevel).
Lens' (TxBody l era) (StrictSeq (Sized (TxOut era)))
sizedOutputsTxBodyL ((StrictSeq (Sized (TxOut era))
  -> Const r (StrictSeq (Sized (TxOut era))))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (StrictSeq (Sized (TxOut era)))
     -> Const r (Maybe (StrictSeq (Sized (TxOut era)))))
    -> StrictSeq (Sized (TxOut era))
    -> Const r (StrictSeq (Sized (TxOut era))))
-> (Maybe (StrictSeq (Sized (TxOut era)))
    -> Const r (Maybe (StrictSeq (Sized (TxOut era)))))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictSeq (Sized (TxOut era))
 -> Maybe (StrictSeq (Sized (TxOut era))))
-> SimpleGetter
     (StrictSeq (Sized (TxOut era)))
     (Maybe (StrictSeq (Sized (TxOut era))))
forall s a. (s -> a) -> SimpleGetter s a
to StrictSeq (Sized (TxOut era))
-> Maybe (StrictSeq (Sized (TxOut era)))
forall a. a -> Maybe a
Just

  referenceInputsTxBodyG :: SimpleGetter (TxBody l era) (Maybe (Set TxIn))
  default referenceInputsTxBodyG ::
    BabbageEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (Set TxIn))
  referenceInputsTxBodyG = (Set TxIn -> Const r (Set TxIn))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
BabbageEraTxBody era =>
Lens' (TxBody l era) (Set TxIn)
forall (l :: TxLevel). Lens' (TxBody l era) (Set TxIn)
referenceInputsTxBodyL ((Set TxIn -> Const r (Set TxIn))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (Set TxIn) -> Const r (Maybe (Set TxIn)))
    -> Set TxIn -> Const r (Set TxIn))
-> (Maybe (Set TxIn) -> Const r (Maybe (Set TxIn)))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set TxIn -> Maybe (Set TxIn))
-> SimpleGetter (Set TxIn) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to Set TxIn -> Maybe (Set TxIn)
forall a. a -> Maybe a
Just

  totalCollateralTxBodyG :: SimpleGetter (TxBody TopTx era) (Maybe (Maybe Coin))
  default totalCollateralTxBodyG ::
    BabbageEraTxBody era =>
    SimpleGetter (TxBody TopTx era) (Maybe (Maybe Coin))
  totalCollateralTxBodyG = (StrictMaybe Coin -> Const r (StrictMaybe Coin))
-> TxBody TopTx era -> Const r (TxBody TopTx era)
forall era.
BabbageEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe Coin)
Lens' (TxBody TopTx era) (StrictMaybe Coin)
totalCollateralTxBodyL ((StrictMaybe Coin -> Const r (StrictMaybe Coin))
 -> TxBody TopTx era -> Const r (TxBody TopTx era))
-> ((Maybe (Maybe Coin) -> Const r (Maybe (Maybe Coin)))
    -> StrictMaybe Coin -> Const r (StrictMaybe Coin))
-> (Maybe (Maybe Coin) -> Const r (Maybe (Maybe Coin)))
-> TxBody TopTx era
-> Const r (TxBody TopTx era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe Coin -> Maybe (Maybe Coin))
-> SimpleGetter (StrictMaybe Coin) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Coin -> Maybe (Maybe Coin)
forall a. a -> Maybe a
Just (Maybe Coin -> Maybe (Maybe Coin))
-> (StrictMaybe Coin -> Maybe Coin)
-> StrictMaybe Coin
-> Maybe (Maybe Coin)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe Coin -> Maybe Coin
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)

  collateralReturnTxBodyG :: SimpleGetter (TxBody TopTx era) (Maybe (Maybe (TxOut era)))
  default collateralReturnTxBodyG ::
    BabbageEraTxBody era =>
    SimpleGetter (TxBody TopTx era) (Maybe (Maybe (TxOut era)))
  collateralReturnTxBodyG = (StrictMaybe (TxOut era) -> Const r (StrictMaybe (TxOut era)))
-> TxBody TopTx era -> Const r (TxBody TopTx era)
forall era.
BabbageEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe (TxOut era))
Lens' (TxBody TopTx era) (StrictMaybe (TxOut era))
collateralReturnTxBodyL ((StrictMaybe (TxOut era) -> Const r (StrictMaybe (TxOut era)))
 -> TxBody TopTx era -> Const r (TxBody TopTx era))
-> ((Maybe (Maybe (TxOut era))
     -> Const r (Maybe (Maybe (TxOut era))))
    -> StrictMaybe (TxOut era) -> Const r (StrictMaybe (TxOut era)))
-> (Maybe (Maybe (TxOut era))
    -> Const r (Maybe (Maybe (TxOut era))))
-> TxBody TopTx era
-> Const r (TxBody TopTx era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (TxOut era) -> Maybe (Maybe (TxOut era)))
-> SimpleGetter
     (StrictMaybe (TxOut era)) (Maybe (Maybe (TxOut era)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (TxOut era) -> Maybe (Maybe (TxOut era))
forall a. a -> Maybe a
Just (Maybe (TxOut era) -> Maybe (Maybe (TxOut era)))
-> (StrictMaybe (TxOut era) -> Maybe (TxOut era))
-> StrictMaybe (TxOut era)
-> Maybe (Maybe (TxOut era))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe (TxOut era) -> Maybe (TxOut era)
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)

  sizedCollateralReturnTxBodyG :: SimpleGetter (TxBody TopTx era) (Maybe (Maybe (Sized (TxOut era))))
  default sizedCollateralReturnTxBodyG ::
    BabbageEraTxBody era =>
    SimpleGetter (TxBody TopTx era) (Maybe (Maybe (Sized (TxOut era))))
  sizedCollateralReturnTxBodyG = (StrictMaybe (Sized (TxOut era))
 -> Const r (StrictMaybe (Sized (TxOut era))))
-> TxBody TopTx era -> Const r (TxBody TopTx era)
forall era.
BabbageEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe (Sized (TxOut era)))
Lens' (TxBody TopTx era) (StrictMaybe (Sized (TxOut era)))
sizedCollateralReturnTxBodyL ((StrictMaybe (Sized (TxOut era))
  -> Const r (StrictMaybe (Sized (TxOut era))))
 -> TxBody TopTx era -> Const r (TxBody TopTx era))
-> ((Maybe (Maybe (Sized (TxOut era)))
     -> Const r (Maybe (Maybe (Sized (TxOut era)))))
    -> StrictMaybe (Sized (TxOut era))
    -> Const r (StrictMaybe (Sized (TxOut era))))
-> (Maybe (Maybe (Sized (TxOut era)))
    -> Const r (Maybe (Maybe (Sized (TxOut era)))))
-> TxBody TopTx era
-> Const r (TxBody TopTx era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (Sized (TxOut era))
 -> Maybe (Maybe (Sized (TxOut era))))
-> SimpleGetter
     (StrictMaybe (Sized (TxOut era)))
     (Maybe (Maybe (Sized (TxOut era))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Sized (TxOut era)) -> Maybe (Maybe (Sized (TxOut era)))
forall a. a -> Maybe a
Just (Maybe (Sized (TxOut era)) -> Maybe (Maybe (Sized (TxOut era))))
-> (StrictMaybe (Sized (TxOut era)) -> Maybe (Sized (TxOut era)))
-> StrictMaybe (Sized (TxOut era))
-> Maybe (Maybe (Sized (TxOut era)))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe (Sized (TxOut era)) -> Maybe (Sized (TxOut era))
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)

  currentTreasuryValueTxBodyG :: SimpleGetter (TxBody l era) (Maybe (Maybe Coin))
  default currentTreasuryValueTxBodyG ::
    ConwayEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (Maybe Coin))
  currentTreasuryValueTxBodyG = (StrictMaybe Coin -> Const r (StrictMaybe Coin))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
Lens' (TxBody l era) (StrictMaybe Coin)
forall (l :: TxLevel). Lens' (TxBody l era) (StrictMaybe Coin)
currentTreasuryValueTxBodyL ((StrictMaybe Coin -> Const r (StrictMaybe Coin))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (Maybe Coin) -> Const r (Maybe (Maybe Coin)))
    -> StrictMaybe Coin -> Const r (StrictMaybe Coin))
-> (Maybe (Maybe Coin) -> Const r (Maybe (Maybe Coin)))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe Coin -> Maybe (Maybe Coin))
-> SimpleGetter (StrictMaybe Coin) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Coin -> Maybe (Maybe Coin)
forall a. a -> Maybe a
Just (Maybe Coin -> Maybe (Maybe Coin))
-> (StrictMaybe Coin -> Maybe Coin)
-> StrictMaybe Coin
-> Maybe (Maybe Coin)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe Coin -> Maybe Coin
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)

  votingProceduresTxBodyG :: SimpleGetter (TxBody l era) (Maybe (VotingProcedures era))
  default votingProceduresTxBodyG ::
    ConwayEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (VotingProcedures era))
  votingProceduresTxBodyG = (VotingProcedures era -> Const r (VotingProcedures era))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
Lens' (TxBody l era) (VotingProcedures era)
forall (l :: TxLevel). Lens' (TxBody l era) (VotingProcedures era)
votingProceduresTxBodyL ((VotingProcedures era -> Const r (VotingProcedures era))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (VotingProcedures era)
     -> Const r (Maybe (VotingProcedures era)))
    -> VotingProcedures era -> Const r (VotingProcedures era))
-> (Maybe (VotingProcedures era)
    -> Const r (Maybe (VotingProcedures era)))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (VotingProcedures era -> Maybe (VotingProcedures era))
-> SimpleGetter
     (VotingProcedures era) (Maybe (VotingProcedures era))
forall s a. (s -> a) -> SimpleGetter s a
to VotingProcedures era -> Maybe (VotingProcedures era)
forall a. a -> Maybe a
Just

  proposalProceduresTxBodyG :: SimpleGetter (TxBody l era) (Maybe (OSet (ProposalProcedure era)))
  default proposalProceduresTxBodyG ::
    ConwayEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (OSet (ProposalProcedure era)))
  proposalProceduresTxBodyG = (OSet (ProposalProcedure era)
 -> Const r (OSet (ProposalProcedure era)))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
Lens' (TxBody l era) (OSet (ProposalProcedure era))
forall (l :: TxLevel).
Lens' (TxBody l era) (OSet (ProposalProcedure era))
proposalProceduresTxBodyL ((OSet (ProposalProcedure era)
  -> Const r (OSet (ProposalProcedure era)))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (OSet (ProposalProcedure era))
     -> Const r (Maybe (OSet (ProposalProcedure era))))
    -> OSet (ProposalProcedure era)
    -> Const r (OSet (ProposalProcedure era)))
-> (Maybe (OSet (ProposalProcedure era))
    -> Const r (Maybe (OSet (ProposalProcedure era))))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (OSet (ProposalProcedure era)
 -> Maybe (OSet (ProposalProcedure era)))
-> SimpleGetter
     (OSet (ProposalProcedure era))
     (Maybe (OSet (ProposalProcedure era)))
forall s a. (s -> a) -> SimpleGetter s a
to OSet (ProposalProcedure era)
-> Maybe (OSet (ProposalProcedure era))
forall a. a -> Maybe a
Just

  treasuryDonationTxBodyG :: SimpleGetter (TxBody l era) (Maybe Coin)
  default treasuryDonationTxBodyG :: ConwayEraTxBody era => SimpleGetter (TxBody l era) (Maybe Coin)
  treasuryDonationTxBodyG = (Coin -> Const r Coin) -> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
Lens' (TxBody l era) Coin
forall (l :: TxLevel). Lens' (TxBody l era) Coin
treasuryDonationTxBodyL ((Coin -> Const r Coin) -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe Coin -> Const r (Maybe Coin)) -> Coin -> Const r Coin)
-> (Maybe Coin -> Const r (Maybe Coin))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Coin -> Maybe Coin) -> SimpleGetter Coin (Maybe Coin)
forall s a. (s -> a) -> SimpleGetter s a
to Coin -> Maybe Coin
forall a. a -> Maybe a
Just

  guardsTxBodyG :: SimpleGetter (TxBody l era) (Maybe (OSet (Credential Guard)))
  default guardsTxBodyG ::
    DijkstraEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (OSet (Credential Guard)))
  guardsTxBodyG = (OSet (Credential Guard) -> Const r (OSet (Credential Guard)))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
DijkstraEraTxBody era =>
Lens' (TxBody l era) (OSet (Credential Guard))
forall (l :: TxLevel).
Lens' (TxBody l era) (OSet (Credential Guard))
guardsTxBodyL ((OSet (Credential Guard) -> Const r (OSet (Credential Guard)))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (OSet (Credential Guard))
     -> Const r (Maybe (OSet (Credential Guard))))
    -> OSet (Credential Guard) -> Const r (OSet (Credential Guard)))
-> (Maybe (OSet (Credential Guard))
    -> Const r (Maybe (OSet (Credential Guard))))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (OSet (Credential Guard) -> Maybe (OSet (Credential Guard)))
-> SimpleGetter
     (OSet (Credential Guard)) (Maybe (OSet (Credential Guard)))
forall s a. (s -> a) -> SimpleGetter s a
to OSet (Credential Guard) -> Maybe (OSet (Credential Guard))
forall a. a -> Maybe a
Just

  subTransactionsTxBodyG :: SimpleGetter (TxBody TopTx era) (Maybe (OMap TxId (Tx SubTx era)))
  default subTransactionsTxBodyG ::
    DijkstraEraTxBody era =>
    SimpleGetter (TxBody TopTx era) (Maybe (OMap TxId (Tx SubTx era)))
  subTransactionsTxBodyG = (OMap TxId (Tx SubTx era) -> Const r (OMap TxId (Tx SubTx era)))
-> TxBody TopTx era -> Const r (TxBody TopTx era)
forall era.
DijkstraEraTxBody era =>
Lens' (TxBody TopTx era) (OMap TxId (Tx SubTx era))
Lens' (TxBody TopTx era) (OMap TxId (Tx SubTx era))
subTransactionsTxBodyL ((OMap TxId (Tx SubTx era) -> Const r (OMap TxId (Tx SubTx era)))
 -> TxBody TopTx era -> Const r (TxBody TopTx era))
-> ((Maybe (OMap TxId (Tx SubTx era))
     -> Const r (Maybe (OMap TxId (Tx SubTx era))))
    -> OMap TxId (Tx SubTx era) -> Const r (OMap TxId (Tx SubTx era)))
-> (Maybe (OMap TxId (Tx SubTx era))
    -> Const r (Maybe (OMap TxId (Tx SubTx era))))
-> TxBody TopTx era
-> Const r (TxBody TopTx era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (OMap TxId (Tx SubTx era) -> Maybe (OMap TxId (Tx SubTx era)))
-> SimpleGetter
     (OMap TxId (Tx SubTx era)) (Maybe (OMap TxId (Tx SubTx era)))
forall s a. (s -> a) -> SimpleGetter s a
to OMap TxId (Tx SubTx era) -> Maybe (OMap TxId (Tx SubTx era))
forall a. a -> Maybe a
Just

  requiredTopLevelGuardsTxBodyG ::
    SimpleGetter (TxBody l era) (Maybe (Map (Credential Guard) (StrictMaybe (Data era))))
  default requiredTopLevelGuardsTxBodyG ::
    DijkstraEraTxBody era =>
    SimpleGetter (TxBody l era) (Maybe (Map (Credential Guard) (StrictMaybe (Data era))))
  requiredTopLevelGuardsTxBodyG = (Map (Credential Guard) (StrictMaybe (Data era))
 -> Const r (Map (Credential Guard) (StrictMaybe (Data era))))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
DijkstraEraTxBody era =>
Lens'
  (TxBody l era) (Map (Credential Guard) (StrictMaybe (Data era)))
forall (l :: TxLevel).
Lens'
  (TxBody l era) (Map (Credential Guard) (StrictMaybe (Data era)))
requiredTopLevelGuardsTxBodyL ((Map (Credential Guard) (StrictMaybe (Data era))
  -> Const r (Map (Credential Guard) (StrictMaybe (Data era))))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (Map (Credential Guard) (StrictMaybe (Data era)))
     -> Const
          r (Maybe (Map (Credential Guard) (StrictMaybe (Data era)))))
    -> Map (Credential Guard) (StrictMaybe (Data era))
    -> Const r (Map (Credential Guard) (StrictMaybe (Data era))))
-> (Maybe (Map (Credential Guard) (StrictMaybe (Data era)))
    -> Const
         r (Maybe (Map (Credential Guard) (StrictMaybe (Data era)))))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Map (Credential Guard) (StrictMaybe (Data era))
 -> Maybe (Map (Credential Guard) (StrictMaybe (Data era))))
-> SimpleGetter
     (Map (Credential Guard) (StrictMaybe (Data era)))
     (Maybe (Map (Credential Guard) (StrictMaybe (Data era))))
forall s a. (s -> a) -> SimpleGetter s a
to Map (Credential Guard) (StrictMaybe (Data era))
-> Maybe (Map (Credential Guard) (StrictMaybe (Data era)))
forall a. a -> Maybe a
Just

  directDepositsTxBodyG :: SimpleGetter (TxBody l era) (Maybe DirectDeposits)
  default directDepositsTxBodyG ::
    DijkstraEraTxBody era => SimpleGetter (TxBody l era) (Maybe DirectDeposits)
  directDepositsTxBodyG = (DirectDeposits -> Const r DirectDeposits)
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
DijkstraEraTxBody era =>
Lens' (TxBody l era) DirectDeposits
forall (l :: TxLevel). Lens' (TxBody l era) DirectDeposits
directDepositsTxBodyL ((DirectDeposits -> Const r DirectDeposits)
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe DirectDeposits -> Const r (Maybe DirectDeposits))
    -> DirectDeposits -> Const r DirectDeposits)
-> (Maybe DirectDeposits -> Const r (Maybe DirectDeposits))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (DirectDeposits -> Maybe DirectDeposits)
-> SimpleGetter DirectDeposits (Maybe DirectDeposits)
forall s a. (s -> a) -> SimpleGetter s a
to DirectDeposits -> Maybe DirectDeposits
forall a. a -> Maybe a
Just

  accountBalanceIntervalsTxBodyG ::
    SimpleGetter (TxBody l era) (Maybe (AccountBalanceIntervals era))
  default accountBalanceIntervalsTxBodyG ::
    DijkstraEraTxBody era => SimpleGetter (TxBody l era) (Maybe (AccountBalanceIntervals era))
  accountBalanceIntervalsTxBodyG = (AccountBalanceIntervals era
 -> Const r (AccountBalanceIntervals era))
-> TxBody l era -> Const r (TxBody l era)
forall era (l :: TxLevel).
DijkstraEraTxBody era =>
Lens' (TxBody l era) (AccountBalanceIntervals era)
forall (l :: TxLevel).
Lens' (TxBody l era) (AccountBalanceIntervals era)
accountBalanceIntervalsTxBodyL ((AccountBalanceIntervals era
  -> Const r (AccountBalanceIntervals era))
 -> TxBody l era -> Const r (TxBody l era))
-> ((Maybe (AccountBalanceIntervals era)
     -> Const r (Maybe (AccountBalanceIntervals era)))
    -> AccountBalanceIntervals era
    -> Const r (AccountBalanceIntervals era))
-> (Maybe (AccountBalanceIntervals era)
    -> Const r (Maybe (AccountBalanceIntervals era)))
-> TxBody l era
-> Const r (TxBody l era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (AccountBalanceIntervals era
 -> Maybe (AccountBalanceIntervals era))
-> SimpleGetter
     (AccountBalanceIntervals era) (Maybe (AccountBalanceIntervals era))
forall s a. (s -> a) -> SimpleGetter s a
to AccountBalanceIntervals era -> Maybe (AccountBalanceIntervals era)
forall a. a -> Maybe a
Just

  startingAccountBalanceIntervalsTxBodyG ::
    SimpleGetter (TxBody TopTx era) (Maybe (AccountBalanceIntervals era))
  default startingAccountBalanceIntervalsTxBodyG ::
    DijkstraEraTxBody era => SimpleGetter (TxBody TopTx era) (Maybe (AccountBalanceIntervals era))
  startingAccountBalanceIntervalsTxBodyG = (AccountBalanceIntervals era
 -> Const r (AccountBalanceIntervals era))
-> TxBody TopTx era -> Const r (TxBody TopTx era)
forall era.
DijkstraEraTxBody era =>
Lens' (TxBody TopTx era) (AccountBalanceIntervals era)
Lens' (TxBody TopTx era) (AccountBalanceIntervals era)
startingAccountBalanceIntervalsTxBodyL ((AccountBalanceIntervals era
  -> Const r (AccountBalanceIntervals era))
 -> TxBody TopTx era -> Const r (TxBody TopTx era))
-> ((Maybe (AccountBalanceIntervals era)
     -> Const r (Maybe (AccountBalanceIntervals era)))
    -> AccountBalanceIntervals era
    -> Const r (AccountBalanceIntervals era))
-> (Maybe (AccountBalanceIntervals era)
    -> Const r (Maybe (AccountBalanceIntervals era)))
-> TxBody TopTx era
-> Const r (TxBody TopTx era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (AccountBalanceIntervals era
 -> Maybe (AccountBalanceIntervals era))
-> SimpleGetter
     (AccountBalanceIntervals era) (Maybe (AccountBalanceIntervals era))
forall s a. (s -> a) -> SimpleGetter s a
to AccountBalanceIntervals era -> Maybe (AccountBalanceIntervals era)
forall a. a -> Maybe a
Just

instance AnyEraTxBody ShelleyEra where
  updateTxBodyG :: SimpleGetter
  (TxBody TopTx ShelleyEra) (Maybe (Maybe (Update ShelleyEra)))
updateTxBodyG = (StrictMaybe (Update ShelleyEra)
 -> Const r (StrictMaybe (Update ShelleyEra)))
-> TxBody TopTx ShelleyEra -> Const r (TxBody TopTx ShelleyEra)
forall era.
ShelleyEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe (Update era))
Lens' (TxBody TopTx ShelleyEra) (StrictMaybe (Update ShelleyEra))
updateTxBodyL ((StrictMaybe (Update ShelleyEra)
  -> Const r (StrictMaybe (Update ShelleyEra)))
 -> TxBody TopTx ShelleyEra -> Const r (TxBody TopTx ShelleyEra))
-> ((Maybe (Maybe (Update ShelleyEra))
     -> Const r (Maybe (Maybe (Update ShelleyEra))))
    -> StrictMaybe (Update ShelleyEra)
    -> Const r (StrictMaybe (Update ShelleyEra)))
-> (Maybe (Maybe (Update ShelleyEra))
    -> Const r (Maybe (Maybe (Update ShelleyEra))))
-> TxBody TopTx ShelleyEra
-> Const r (TxBody TopTx ShelleyEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (Update ShelleyEra)
 -> Maybe (Maybe (Update ShelleyEra)))
-> SimpleGetter
     (StrictMaybe (Update ShelleyEra))
     (Maybe (Maybe (Update ShelleyEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Update ShelleyEra) -> Maybe (Maybe (Update ShelleyEra))
forall a. a -> Maybe a
Just (Maybe (Update ShelleyEra) -> Maybe (Maybe (Update ShelleyEra)))
-> (StrictMaybe (Update ShelleyEra) -> Maybe (Update ShelleyEra))
-> StrictMaybe (Update ShelleyEra)
-> Maybe (Maybe (Update ShelleyEra))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe (Update ShelleyEra) -> Maybe (Update ShelleyEra)
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)
  vldtTxBodyG :: SimpleGetter (TxBody TopTx ShelleyEra) ValidityInterval
vldtTxBodyG = (SlotNo -> Const r SlotNo)
-> TxBody TopTx ShelleyEra -> Const r (TxBody TopTx ShelleyEra)
forall era.
(ShelleyEraTxBody era, ExactEra ShelleyEra era) =>
Lens' (TxBody TopTx era) SlotNo
Lens' (TxBody TopTx ShelleyEra) SlotNo
ttlTxBodyL ((SlotNo -> Const r SlotNo)
 -> TxBody TopTx ShelleyEra -> Const r (TxBody TopTx ShelleyEra))
-> ((ValidityInterval -> Const r ValidityInterval)
    -> SlotNo -> Const r SlotNo)
-> (ValidityInterval -> Const r ValidityInterval)
-> TxBody TopTx ShelleyEra
-> Const r (TxBody TopTx ShelleyEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (SlotNo -> ValidityInterval)
-> SimpleGetter SlotNo ValidityInterval
forall s a. (s -> a) -> SimpleGetter s a
to SlotNo -> ValidityInterval
ttlToValidityInterval
  mintTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ShelleyEra) (Maybe MultiAsset)
mintTxBodyG = (TxBody l ShelleyEra -> Maybe MultiAsset)
-> SimpleGetter (TxBody l ShelleyEra) (Maybe MultiAsset)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe MultiAsset -> TxBody l ShelleyEra -> Maybe MultiAsset
forall a b. a -> b -> a
const Maybe MultiAsset
forall a. Maybe a
Nothing)
  collateralInputsTxBodyG :: SimpleGetter (TxBody TopTx ShelleyEra) (Maybe (Set TxIn))
collateralInputsTxBodyG = (TxBody TopTx ShelleyEra -> Maybe (Set TxIn))
-> SimpleGetter (TxBody TopTx ShelleyEra) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Set TxIn) -> TxBody TopTx ShelleyEra -> Maybe (Set TxIn)
forall a b. a -> b -> a
const Maybe (Set TxIn)
forall a. Maybe a
Nothing)
  scriptIntegrityHashTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ShelleyEra) (Maybe (Maybe ScriptIntegrityHash))
scriptIntegrityHashTxBodyG = (TxBody l ShelleyEra -> Maybe (Maybe ScriptIntegrityHash))
-> SimpleGetter
     (TxBody l ShelleyEra) (Maybe (Maybe ScriptIntegrityHash))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe ScriptIntegrityHash)
-> TxBody l ShelleyEra -> Maybe (Maybe ScriptIntegrityHash)
forall a b. a -> b -> a
const Maybe (Maybe ScriptIntegrityHash)
forall a. Maybe a
Nothing)
  networkIdTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ShelleyEra) (Maybe (Maybe Network))
networkIdTxBodyG = (TxBody l ShelleyEra -> Maybe (Maybe Network))
-> SimpleGetter (TxBody l ShelleyEra) (Maybe (Maybe Network))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Network)
-> TxBody l ShelleyEra -> Maybe (Maybe Network)
forall a b. a -> b -> a
const Maybe (Maybe Network)
forall a. Maybe a
Nothing)
  sizedOutputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ShelleyEra)
  (Maybe (StrictSeq (Sized (TxOut ShelleyEra))))
sizedOutputsTxBodyG = (TxBody l ShelleyEra
 -> Maybe (StrictSeq (Sized (ShelleyTxOut ShelleyEra))))
-> SimpleGetter
     (TxBody l ShelleyEra)
     (Maybe (StrictSeq (Sized (ShelleyTxOut ShelleyEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (StrictSeq (Sized (ShelleyTxOut ShelleyEra)))
-> TxBody l ShelleyEra
-> Maybe (StrictSeq (Sized (ShelleyTxOut ShelleyEra)))
forall a b. a -> b -> a
const Maybe (StrictSeq (Sized (ShelleyTxOut ShelleyEra)))
forall a. Maybe a
Nothing)
  referenceInputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ShelleyEra) (Maybe (Set TxIn))
referenceInputsTxBodyG = (TxBody l ShelleyEra -> Maybe (Set TxIn))
-> SimpleGetter (TxBody l ShelleyEra) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Set TxIn) -> TxBody l ShelleyEra -> Maybe (Set TxIn)
forall a b. a -> b -> a
const Maybe (Set TxIn)
forall a. Maybe a
Nothing)
  totalCollateralTxBodyG :: SimpleGetter (TxBody TopTx ShelleyEra) (Maybe (Maybe Coin))
totalCollateralTxBodyG = (TxBody TopTx ShelleyEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody TopTx ShelleyEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody TopTx ShelleyEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  collateralReturnTxBodyG :: SimpleGetter
  (TxBody TopTx ShelleyEra) (Maybe (Maybe (TxOut ShelleyEra)))
collateralReturnTxBodyG = (TxBody TopTx ShelleyEra
 -> Maybe (Maybe (ShelleyTxOut ShelleyEra)))
-> SimpleGetter
     (TxBody TopTx ShelleyEra) (Maybe (Maybe (ShelleyTxOut ShelleyEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (ShelleyTxOut ShelleyEra))
-> TxBody TopTx ShelleyEra
-> Maybe (Maybe (ShelleyTxOut ShelleyEra))
forall a b. a -> b -> a
const Maybe (Maybe (ShelleyTxOut ShelleyEra))
forall a. Maybe a
Nothing)
  sizedCollateralReturnTxBodyG :: SimpleGetter
  (TxBody TopTx ShelleyEra)
  (Maybe (Maybe (Sized (TxOut ShelleyEra))))
sizedCollateralReturnTxBodyG = (TxBody TopTx ShelleyEra
 -> Maybe (Maybe (Sized (ShelleyTxOut ShelleyEra))))
-> SimpleGetter
     (TxBody TopTx ShelleyEra)
     (Maybe (Maybe (Sized (ShelleyTxOut ShelleyEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (Sized (ShelleyTxOut ShelleyEra)))
-> TxBody TopTx ShelleyEra
-> Maybe (Maybe (Sized (ShelleyTxOut ShelleyEra)))
forall a b. a -> b -> a
const Maybe (Maybe (Sized (ShelleyTxOut ShelleyEra)))
forall a. Maybe a
Nothing)
  currentTreasuryValueTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ShelleyEra) (Maybe (Maybe Coin))
currentTreasuryValueTxBodyG = (TxBody l ShelleyEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody l ShelleyEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody l ShelleyEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  votingProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ShelleyEra) (Maybe (VotingProcedures ShelleyEra))
votingProceduresTxBodyG = (TxBody l ShelleyEra -> Maybe (VotingProcedures ShelleyEra))
-> SimpleGetter
     (TxBody l ShelleyEra) (Maybe (VotingProcedures ShelleyEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (VotingProcedures ShelleyEra)
-> TxBody l ShelleyEra -> Maybe (VotingProcedures ShelleyEra)
forall a b. a -> b -> a
const Maybe (VotingProcedures ShelleyEra)
forall a. Maybe a
Nothing)
  proposalProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ShelleyEra) (Maybe (OSet (ProposalProcedure ShelleyEra)))
proposalProceduresTxBodyG = (TxBody l ShelleyEra
 -> Maybe (OSet (ProposalProcedure ShelleyEra)))
-> SimpleGetter
     (TxBody l ShelleyEra) (Maybe (OSet (ProposalProcedure ShelleyEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (ProposalProcedure ShelleyEra))
-> TxBody l ShelleyEra
-> Maybe (OSet (ProposalProcedure ShelleyEra))
forall a b. a -> b -> a
const Maybe (OSet (ProposalProcedure ShelleyEra))
forall a. Maybe a
Nothing)
  treasuryDonationTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ShelleyEra) (Maybe Coin)
treasuryDonationTxBodyG = (TxBody l ShelleyEra -> Maybe Coin)
-> SimpleGetter (TxBody l ShelleyEra) (Maybe Coin)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Coin -> TxBody l ShelleyEra -> Maybe Coin
forall a b. a -> b -> a
const Maybe Coin
forall a. Maybe a
Nothing)
  guardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ShelleyEra) (Maybe (OSet (Credential Guard)))
guardsTxBodyG = (TxBody l ShelleyEra -> Maybe (OSet (Credential Guard)))
-> SimpleGetter
     (TxBody l ShelleyEra) (Maybe (OSet (Credential Guard)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (Credential Guard))
-> TxBody l ShelleyEra -> Maybe (OSet (Credential Guard))
forall a b. a -> b -> a
const Maybe (OSet (Credential Guard))
forall a. Maybe a
Nothing)
  subTransactionsTxBodyG :: SimpleGetter
  (TxBody TopTx ShelleyEra) (Maybe (OMap TxId (Tx SubTx ShelleyEra)))
subTransactionsTxBodyG = (TxBody TopTx ShelleyEra
 -> Maybe (OMap TxId (Tx SubTx ShelleyEra)))
-> SimpleGetter
     (TxBody TopTx ShelleyEra) (Maybe (OMap TxId (Tx SubTx ShelleyEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OMap TxId (Tx SubTx ShelleyEra))
-> TxBody TopTx ShelleyEra
-> Maybe (OMap TxId (Tx SubTx ShelleyEra))
forall a b. a -> b -> a
const Maybe (OMap TxId (Tx SubTx ShelleyEra))
forall a. Maybe a
Nothing)
  requiredTopLevelGuardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ShelleyEra)
  (Maybe (Map (Credential Guard) (StrictMaybe (Data ShelleyEra))))
requiredTopLevelGuardsTxBodyG = (TxBody l ShelleyEra
 -> Maybe (Map (Credential Guard) (StrictMaybe (Data ShelleyEra))))
-> SimpleGetter
     (TxBody l ShelleyEra)
     (Maybe (Map (Credential Guard) (StrictMaybe (Data ShelleyEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Map (Credential Guard) (StrictMaybe (Data ShelleyEra)))
-> TxBody l ShelleyEra
-> Maybe (Map (Credential Guard) (StrictMaybe (Data ShelleyEra)))
forall a b. a -> b -> a
const Maybe (Map (Credential Guard) (StrictMaybe (Data ShelleyEra)))
forall a. Maybe a
Nothing)
  directDepositsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ShelleyEra) (Maybe DirectDeposits)
directDepositsTxBodyG = (TxBody l ShelleyEra -> Maybe DirectDeposits)
-> SimpleGetter (TxBody l ShelleyEra) (Maybe DirectDeposits)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe DirectDeposits -> TxBody l ShelleyEra -> Maybe DirectDeposits
forall a b. a -> b -> a
const Maybe DirectDeposits
forall a. Maybe a
Nothing)
  accountBalanceIntervalsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ShelleyEra) (Maybe (AccountBalanceIntervals ShelleyEra))
accountBalanceIntervalsTxBodyG = (TxBody l ShelleyEra -> Maybe (AccountBalanceIntervals ShelleyEra))
-> SimpleGetter
     (TxBody l ShelleyEra) (Maybe (AccountBalanceIntervals ShelleyEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals ShelleyEra)
-> TxBody l ShelleyEra
-> Maybe (AccountBalanceIntervals ShelleyEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals ShelleyEra)
forall a. Maybe a
Nothing)
  startingAccountBalanceIntervalsTxBodyG :: SimpleGetter
  (TxBody TopTx ShelleyEra)
  (Maybe (AccountBalanceIntervals ShelleyEra))
startingAccountBalanceIntervalsTxBodyG = (TxBody TopTx ShelleyEra
 -> Maybe (AccountBalanceIntervals ShelleyEra))
-> SimpleGetter
     (TxBody TopTx ShelleyEra)
     (Maybe (AccountBalanceIntervals ShelleyEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals ShelleyEra)
-> TxBody TopTx ShelleyEra
-> Maybe (AccountBalanceIntervals ShelleyEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals ShelleyEra)
forall a. Maybe a
Nothing)

instance AnyEraTxBody AllegraEra where
  updateTxBodyG :: SimpleGetter
  (TxBody TopTx AllegraEra) (Maybe (Maybe (Update AllegraEra)))
updateTxBodyG = (StrictMaybe (Update AllegraEra)
 -> Const r (StrictMaybe (Update AllegraEra)))
-> TxBody TopTx AllegraEra -> Const r (TxBody TopTx AllegraEra)
forall era.
ShelleyEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe (Update era))
Lens' (TxBody TopTx AllegraEra) (StrictMaybe (Update AllegraEra))
updateTxBodyL ((StrictMaybe (Update AllegraEra)
  -> Const r (StrictMaybe (Update AllegraEra)))
 -> TxBody TopTx AllegraEra -> Const r (TxBody TopTx AllegraEra))
-> ((Maybe (Maybe (Update AllegraEra))
     -> Const r (Maybe (Maybe (Update AllegraEra))))
    -> StrictMaybe (Update AllegraEra)
    -> Const r (StrictMaybe (Update AllegraEra)))
-> (Maybe (Maybe (Update AllegraEra))
    -> Const r (Maybe (Maybe (Update AllegraEra))))
-> TxBody TopTx AllegraEra
-> Const r (TxBody TopTx AllegraEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (Update AllegraEra)
 -> Maybe (Maybe (Update AllegraEra)))
-> SimpleGetter
     (StrictMaybe (Update AllegraEra))
     (Maybe (Maybe (Update AllegraEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Update AllegraEra) -> Maybe (Maybe (Update AllegraEra))
forall a. a -> Maybe a
Just (Maybe (Update AllegraEra) -> Maybe (Maybe (Update AllegraEra)))
-> (StrictMaybe (Update AllegraEra) -> Maybe (Update AllegraEra))
-> StrictMaybe (Update AllegraEra)
-> Maybe (Maybe (Update AllegraEra))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe (Update AllegraEra) -> Maybe (Update AllegraEra)
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)
  mintTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AllegraEra) (Maybe MultiAsset)
mintTxBodyG = (TxBody l AllegraEra -> Maybe MultiAsset)
-> SimpleGetter (TxBody l AllegraEra) (Maybe MultiAsset)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe MultiAsset -> TxBody l AllegraEra -> Maybe MultiAsset
forall a b. a -> b -> a
const Maybe MultiAsset
forall a. Maybe a
Nothing)
  collateralInputsTxBodyG :: SimpleGetter (TxBody TopTx AllegraEra) (Maybe (Set TxIn))
collateralInputsTxBodyG = (TxBody TopTx AllegraEra -> Maybe (Set TxIn))
-> SimpleGetter (TxBody TopTx AllegraEra) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Set TxIn) -> TxBody TopTx AllegraEra -> Maybe (Set TxIn)
forall a b. a -> b -> a
const Maybe (Set TxIn)
forall a. Maybe a
Nothing)
  scriptIntegrityHashTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AllegraEra) (Maybe (Maybe ScriptIntegrityHash))
scriptIntegrityHashTxBodyG = (TxBody l AllegraEra -> Maybe (Maybe ScriptIntegrityHash))
-> SimpleGetter
     (TxBody l AllegraEra) (Maybe (Maybe ScriptIntegrityHash))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe ScriptIntegrityHash)
-> TxBody l AllegraEra -> Maybe (Maybe ScriptIntegrityHash)
forall a b. a -> b -> a
const Maybe (Maybe ScriptIntegrityHash)
forall a. Maybe a
Nothing)
  networkIdTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AllegraEra) (Maybe (Maybe Network))
networkIdTxBodyG = (TxBody l AllegraEra -> Maybe (Maybe Network))
-> SimpleGetter (TxBody l AllegraEra) (Maybe (Maybe Network))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Network)
-> TxBody l AllegraEra -> Maybe (Maybe Network)
forall a b. a -> b -> a
const Maybe (Maybe Network)
forall a. Maybe a
Nothing)
  sizedOutputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AllegraEra)
  (Maybe (StrictSeq (Sized (TxOut AllegraEra))))
sizedOutputsTxBodyG = (TxBody l AllegraEra
 -> Maybe (StrictSeq (Sized (ShelleyTxOut AllegraEra))))
-> SimpleGetter
     (TxBody l AllegraEra)
     (Maybe (StrictSeq (Sized (ShelleyTxOut AllegraEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (StrictSeq (Sized (ShelleyTxOut AllegraEra)))
-> TxBody l AllegraEra
-> Maybe (StrictSeq (Sized (ShelleyTxOut AllegraEra)))
forall a b. a -> b -> a
const Maybe (StrictSeq (Sized (ShelleyTxOut AllegraEra)))
forall a. Maybe a
Nothing)
  referenceInputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AllegraEra) (Maybe (Set TxIn))
referenceInputsTxBodyG = (TxBody l AllegraEra -> Maybe (Set TxIn))
-> SimpleGetter (TxBody l AllegraEra) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Set TxIn) -> TxBody l AllegraEra -> Maybe (Set TxIn)
forall a b. a -> b -> a
const Maybe (Set TxIn)
forall a. Maybe a
Nothing)
  totalCollateralTxBodyG :: SimpleGetter (TxBody TopTx AllegraEra) (Maybe (Maybe Coin))
totalCollateralTxBodyG = (TxBody TopTx AllegraEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody TopTx AllegraEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody TopTx AllegraEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  collateralReturnTxBodyG :: SimpleGetter
  (TxBody TopTx AllegraEra) (Maybe (Maybe (TxOut AllegraEra)))
collateralReturnTxBodyG = (TxBody TopTx AllegraEra
 -> Maybe (Maybe (ShelleyTxOut AllegraEra)))
-> SimpleGetter
     (TxBody TopTx AllegraEra) (Maybe (Maybe (ShelleyTxOut AllegraEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (ShelleyTxOut AllegraEra))
-> TxBody TopTx AllegraEra
-> Maybe (Maybe (ShelleyTxOut AllegraEra))
forall a b. a -> b -> a
const Maybe (Maybe (ShelleyTxOut AllegraEra))
forall a. Maybe a
Nothing)
  sizedCollateralReturnTxBodyG :: SimpleGetter
  (TxBody TopTx AllegraEra)
  (Maybe (Maybe (Sized (TxOut AllegraEra))))
sizedCollateralReturnTxBodyG = (TxBody TopTx AllegraEra
 -> Maybe (Maybe (Sized (ShelleyTxOut AllegraEra))))
-> SimpleGetter
     (TxBody TopTx AllegraEra)
     (Maybe (Maybe (Sized (ShelleyTxOut AllegraEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (Sized (ShelleyTxOut AllegraEra)))
-> TxBody TopTx AllegraEra
-> Maybe (Maybe (Sized (ShelleyTxOut AllegraEra)))
forall a b. a -> b -> a
const Maybe (Maybe (Sized (ShelleyTxOut AllegraEra)))
forall a. Maybe a
Nothing)
  currentTreasuryValueTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AllegraEra) (Maybe (Maybe Coin))
currentTreasuryValueTxBodyG = (TxBody l AllegraEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody l AllegraEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody l AllegraEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  votingProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AllegraEra) (Maybe (VotingProcedures AllegraEra))
votingProceduresTxBodyG = (TxBody l AllegraEra -> Maybe (VotingProcedures AllegraEra))
-> SimpleGetter
     (TxBody l AllegraEra) (Maybe (VotingProcedures AllegraEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (VotingProcedures AllegraEra)
-> TxBody l AllegraEra -> Maybe (VotingProcedures AllegraEra)
forall a b. a -> b -> a
const Maybe (VotingProcedures AllegraEra)
forall a. Maybe a
Nothing)
  proposalProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AllegraEra) (Maybe (OSet (ProposalProcedure AllegraEra)))
proposalProceduresTxBodyG = (TxBody l AllegraEra
 -> Maybe (OSet (ProposalProcedure AllegraEra)))
-> SimpleGetter
     (TxBody l AllegraEra) (Maybe (OSet (ProposalProcedure AllegraEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (ProposalProcedure AllegraEra))
-> TxBody l AllegraEra
-> Maybe (OSet (ProposalProcedure AllegraEra))
forall a b. a -> b -> a
const Maybe (OSet (ProposalProcedure AllegraEra))
forall a. Maybe a
Nothing)
  treasuryDonationTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AllegraEra) (Maybe Coin)
treasuryDonationTxBodyG = (TxBody l AllegraEra -> Maybe Coin)
-> SimpleGetter (TxBody l AllegraEra) (Maybe Coin)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Coin -> TxBody l AllegraEra -> Maybe Coin
forall a b. a -> b -> a
const Maybe Coin
forall a. Maybe a
Nothing)
  guardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AllegraEra) (Maybe (OSet (Credential Guard)))
guardsTxBodyG = (TxBody l AllegraEra -> Maybe (OSet (Credential Guard)))
-> SimpleGetter
     (TxBody l AllegraEra) (Maybe (OSet (Credential Guard)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (Credential Guard))
-> TxBody l AllegraEra -> Maybe (OSet (Credential Guard))
forall a b. a -> b -> a
const Maybe (OSet (Credential Guard))
forall a. Maybe a
Nothing)
  subTransactionsTxBodyG :: SimpleGetter
  (TxBody TopTx AllegraEra) (Maybe (OMap TxId (Tx SubTx AllegraEra)))
subTransactionsTxBodyG = (TxBody TopTx AllegraEra
 -> Maybe (OMap TxId (Tx SubTx AllegraEra)))
-> SimpleGetter
     (TxBody TopTx AllegraEra) (Maybe (OMap TxId (Tx SubTx AllegraEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OMap TxId (Tx SubTx AllegraEra))
-> TxBody TopTx AllegraEra
-> Maybe (OMap TxId (Tx SubTx AllegraEra))
forall a b. a -> b -> a
const Maybe (OMap TxId (Tx SubTx AllegraEra))
forall a. Maybe a
Nothing)
  requiredTopLevelGuardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AllegraEra)
  (Maybe (Map (Credential Guard) (StrictMaybe (Data AllegraEra))))
requiredTopLevelGuardsTxBodyG = (TxBody l AllegraEra
 -> Maybe (Map (Credential Guard) (StrictMaybe (Data AllegraEra))))
-> SimpleGetter
     (TxBody l AllegraEra)
     (Maybe (Map (Credential Guard) (StrictMaybe (Data AllegraEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Map (Credential Guard) (StrictMaybe (Data AllegraEra)))
-> TxBody l AllegraEra
-> Maybe (Map (Credential Guard) (StrictMaybe (Data AllegraEra)))
forall a b. a -> b -> a
const Maybe (Map (Credential Guard) (StrictMaybe (Data AllegraEra)))
forall a. Maybe a
Nothing)
  directDepositsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AllegraEra) (Maybe DirectDeposits)
directDepositsTxBodyG = (TxBody l AllegraEra -> Maybe DirectDeposits)
-> SimpleGetter (TxBody l AllegraEra) (Maybe DirectDeposits)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe DirectDeposits -> TxBody l AllegraEra -> Maybe DirectDeposits
forall a b. a -> b -> a
const Maybe DirectDeposits
forall a. Maybe a
Nothing)
  accountBalanceIntervalsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AllegraEra) (Maybe (AccountBalanceIntervals AllegraEra))
accountBalanceIntervalsTxBodyG = (TxBody l AllegraEra -> Maybe (AccountBalanceIntervals AllegraEra))
-> SimpleGetter
     (TxBody l AllegraEra) (Maybe (AccountBalanceIntervals AllegraEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals AllegraEra)
-> TxBody l AllegraEra
-> Maybe (AccountBalanceIntervals AllegraEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals AllegraEra)
forall a. Maybe a
Nothing)
  startingAccountBalanceIntervalsTxBodyG :: SimpleGetter
  (TxBody TopTx AllegraEra)
  (Maybe (AccountBalanceIntervals AllegraEra))
startingAccountBalanceIntervalsTxBodyG = (TxBody TopTx AllegraEra
 -> Maybe (AccountBalanceIntervals AllegraEra))
-> SimpleGetter
     (TxBody TopTx AllegraEra)
     (Maybe (AccountBalanceIntervals AllegraEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals AllegraEra)
-> TxBody TopTx AllegraEra
-> Maybe (AccountBalanceIntervals AllegraEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals AllegraEra)
forall a. Maybe a
Nothing)

instance AnyEraTxBody MaryEra where
  updateTxBodyG :: SimpleGetter
  (TxBody TopTx MaryEra) (Maybe (Maybe (Update MaryEra)))
updateTxBodyG = (StrictMaybe (Update MaryEra)
 -> Const r (StrictMaybe (Update MaryEra)))
-> TxBody TopTx MaryEra -> Const r (TxBody TopTx MaryEra)
forall era.
ShelleyEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe (Update era))
Lens' (TxBody TopTx MaryEra) (StrictMaybe (Update MaryEra))
updateTxBodyL ((StrictMaybe (Update MaryEra)
  -> Const r (StrictMaybe (Update MaryEra)))
 -> TxBody TopTx MaryEra -> Const r (TxBody TopTx MaryEra))
-> ((Maybe (Maybe (Update MaryEra))
     -> Const r (Maybe (Maybe (Update MaryEra))))
    -> StrictMaybe (Update MaryEra)
    -> Const r (StrictMaybe (Update MaryEra)))
-> (Maybe (Maybe (Update MaryEra))
    -> Const r (Maybe (Maybe (Update MaryEra))))
-> TxBody TopTx MaryEra
-> Const r (TxBody TopTx MaryEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (Update MaryEra) -> Maybe (Maybe (Update MaryEra)))
-> SimpleGetter
     (StrictMaybe (Update MaryEra)) (Maybe (Maybe (Update MaryEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Update MaryEra) -> Maybe (Maybe (Update MaryEra))
forall a. a -> Maybe a
Just (Maybe (Update MaryEra) -> Maybe (Maybe (Update MaryEra)))
-> (StrictMaybe (Update MaryEra) -> Maybe (Update MaryEra))
-> StrictMaybe (Update MaryEra)
-> Maybe (Maybe (Update MaryEra))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe (Update MaryEra) -> Maybe (Update MaryEra)
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)
  collateralInputsTxBodyG :: SimpleGetter (TxBody TopTx MaryEra) (Maybe (Set TxIn))
collateralInputsTxBodyG = (TxBody TopTx MaryEra -> Maybe (Set TxIn))
-> SimpleGetter (TxBody TopTx MaryEra) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Set TxIn) -> TxBody TopTx MaryEra -> Maybe (Set TxIn)
forall a b. a -> b -> a
const Maybe (Set TxIn)
forall a. Maybe a
Nothing)
  scriptIntegrityHashTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l MaryEra) (Maybe (Maybe ScriptIntegrityHash))
scriptIntegrityHashTxBodyG = (TxBody l MaryEra -> Maybe (Maybe ScriptIntegrityHash))
-> SimpleGetter
     (TxBody l MaryEra) (Maybe (Maybe ScriptIntegrityHash))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe ScriptIntegrityHash)
-> TxBody l MaryEra -> Maybe (Maybe ScriptIntegrityHash)
forall a b. a -> b -> a
const Maybe (Maybe ScriptIntegrityHash)
forall a. Maybe a
Nothing)
  networkIdTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l MaryEra) (Maybe (Maybe Network))
networkIdTxBodyG = (TxBody l MaryEra -> Maybe (Maybe Network))
-> SimpleGetter (TxBody l MaryEra) (Maybe (Maybe Network))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Network) -> TxBody l MaryEra -> Maybe (Maybe Network)
forall a b. a -> b -> a
const Maybe (Maybe Network)
forall a. Maybe a
Nothing)
  sizedOutputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l MaryEra) (Maybe (StrictSeq (Sized (TxOut MaryEra))))
sizedOutputsTxBodyG = (TxBody l MaryEra
 -> Maybe (StrictSeq (Sized (ShelleyTxOut MaryEra))))
-> SimpleGetter
     (TxBody l MaryEra)
     (Maybe (StrictSeq (Sized (ShelleyTxOut MaryEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (StrictSeq (Sized (ShelleyTxOut MaryEra)))
-> TxBody l MaryEra
-> Maybe (StrictSeq (Sized (ShelleyTxOut MaryEra)))
forall a b. a -> b -> a
const Maybe (StrictSeq (Sized (ShelleyTxOut MaryEra)))
forall a. Maybe a
Nothing)
  referenceInputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l MaryEra) (Maybe (Set TxIn))
referenceInputsTxBodyG = (TxBody l MaryEra -> Maybe (Set TxIn))
-> SimpleGetter (TxBody l MaryEra) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Set TxIn) -> TxBody l MaryEra -> Maybe (Set TxIn)
forall a b. a -> b -> a
const Maybe (Set TxIn)
forall a. Maybe a
Nothing)
  totalCollateralTxBodyG :: SimpleGetter (TxBody TopTx MaryEra) (Maybe (Maybe Coin))
totalCollateralTxBodyG = (TxBody TopTx MaryEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody TopTx MaryEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody TopTx MaryEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  collateralReturnTxBodyG :: SimpleGetter (TxBody TopTx MaryEra) (Maybe (Maybe (TxOut MaryEra)))
collateralReturnTxBodyG = (TxBody TopTx MaryEra -> Maybe (Maybe (ShelleyTxOut MaryEra)))
-> SimpleGetter
     (TxBody TopTx MaryEra) (Maybe (Maybe (ShelleyTxOut MaryEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (ShelleyTxOut MaryEra))
-> TxBody TopTx MaryEra -> Maybe (Maybe (ShelleyTxOut MaryEra))
forall a b. a -> b -> a
const Maybe (Maybe (ShelleyTxOut MaryEra))
forall a. Maybe a
Nothing)
  sizedCollateralReturnTxBodyG :: SimpleGetter
  (TxBody TopTx MaryEra) (Maybe (Maybe (Sized (TxOut MaryEra))))
sizedCollateralReturnTxBodyG = (TxBody TopTx MaryEra
 -> Maybe (Maybe (Sized (ShelleyTxOut MaryEra))))
-> SimpleGetter
     (TxBody TopTx MaryEra)
     (Maybe (Maybe (Sized (ShelleyTxOut MaryEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (Sized (ShelleyTxOut MaryEra)))
-> TxBody TopTx MaryEra
-> Maybe (Maybe (Sized (ShelleyTxOut MaryEra)))
forall a b. a -> b -> a
const Maybe (Maybe (Sized (ShelleyTxOut MaryEra)))
forall a. Maybe a
Nothing)
  currentTreasuryValueTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l MaryEra) (Maybe (Maybe Coin))
currentTreasuryValueTxBodyG = (TxBody l MaryEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody l MaryEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody l MaryEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  votingProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l MaryEra) (Maybe (VotingProcedures MaryEra))
votingProceduresTxBodyG = (TxBody l MaryEra -> Maybe (VotingProcedures MaryEra))
-> SimpleGetter
     (TxBody l MaryEra) (Maybe (VotingProcedures MaryEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (VotingProcedures MaryEra)
-> TxBody l MaryEra -> Maybe (VotingProcedures MaryEra)
forall a b. a -> b -> a
const Maybe (VotingProcedures MaryEra)
forall a. Maybe a
Nothing)
  proposalProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l MaryEra) (Maybe (OSet (ProposalProcedure MaryEra)))
proposalProceduresTxBodyG = (TxBody l MaryEra -> Maybe (OSet (ProposalProcedure MaryEra)))
-> SimpleGetter
     (TxBody l MaryEra) (Maybe (OSet (ProposalProcedure MaryEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (ProposalProcedure MaryEra))
-> TxBody l MaryEra -> Maybe (OSet (ProposalProcedure MaryEra))
forall a b. a -> b -> a
const Maybe (OSet (ProposalProcedure MaryEra))
forall a. Maybe a
Nothing)
  treasuryDonationTxBodyG :: forall (l :: TxLevel). SimpleGetter (TxBody l MaryEra) (Maybe Coin)
treasuryDonationTxBodyG = (TxBody l MaryEra -> Maybe Coin)
-> SimpleGetter (TxBody l MaryEra) (Maybe Coin)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Coin -> TxBody l MaryEra -> Maybe Coin
forall a b. a -> b -> a
const Maybe Coin
forall a. Maybe a
Nothing)
  guardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l MaryEra) (Maybe (OSet (Credential Guard)))
guardsTxBodyG = (TxBody l MaryEra -> Maybe (OSet (Credential Guard)))
-> SimpleGetter
     (TxBody l MaryEra) (Maybe (OSet (Credential Guard)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (Credential Guard))
-> TxBody l MaryEra -> Maybe (OSet (Credential Guard))
forall a b. a -> b -> a
const Maybe (OSet (Credential Guard))
forall a. Maybe a
Nothing)
  subTransactionsTxBodyG :: SimpleGetter
  (TxBody TopTx MaryEra) (Maybe (OMap TxId (Tx SubTx MaryEra)))
subTransactionsTxBodyG = (TxBody TopTx MaryEra -> Maybe (OMap TxId (Tx SubTx MaryEra)))
-> SimpleGetter
     (TxBody TopTx MaryEra) (Maybe (OMap TxId (Tx SubTx MaryEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OMap TxId (Tx SubTx MaryEra))
-> TxBody TopTx MaryEra -> Maybe (OMap TxId (Tx SubTx MaryEra))
forall a b. a -> b -> a
const Maybe (OMap TxId (Tx SubTx MaryEra))
forall a. Maybe a
Nothing)
  requiredTopLevelGuardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l MaryEra)
  (Maybe (Map (Credential Guard) (StrictMaybe (Data MaryEra))))
requiredTopLevelGuardsTxBodyG = (TxBody l MaryEra
 -> Maybe (Map (Credential Guard) (StrictMaybe (Data MaryEra))))
-> SimpleGetter
     (TxBody l MaryEra)
     (Maybe (Map (Credential Guard) (StrictMaybe (Data MaryEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Map (Credential Guard) (StrictMaybe (Data MaryEra)))
-> TxBody l MaryEra
-> Maybe (Map (Credential Guard) (StrictMaybe (Data MaryEra)))
forall a b. a -> b -> a
const Maybe (Map (Credential Guard) (StrictMaybe (Data MaryEra)))
forall a. Maybe a
Nothing)
  directDepositsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l MaryEra) (Maybe DirectDeposits)
directDepositsTxBodyG = (TxBody l MaryEra -> Maybe DirectDeposits)
-> SimpleGetter (TxBody l MaryEra) (Maybe DirectDeposits)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe DirectDeposits -> TxBody l MaryEra -> Maybe DirectDeposits
forall a b. a -> b -> a
const Maybe DirectDeposits
forall a. Maybe a
Nothing)
  accountBalanceIntervalsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l MaryEra) (Maybe (AccountBalanceIntervals MaryEra))
accountBalanceIntervalsTxBodyG = (TxBody l MaryEra -> Maybe (AccountBalanceIntervals MaryEra))
-> SimpleGetter
     (TxBody l MaryEra) (Maybe (AccountBalanceIntervals MaryEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals MaryEra)
-> TxBody l MaryEra -> Maybe (AccountBalanceIntervals MaryEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals MaryEra)
forall a. Maybe a
Nothing)
  startingAccountBalanceIntervalsTxBodyG :: SimpleGetter
  (TxBody TopTx MaryEra) (Maybe (AccountBalanceIntervals MaryEra))
startingAccountBalanceIntervalsTxBodyG = (TxBody TopTx MaryEra -> Maybe (AccountBalanceIntervals MaryEra))
-> SimpleGetter
     (TxBody TopTx MaryEra) (Maybe (AccountBalanceIntervals MaryEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals MaryEra)
-> TxBody TopTx MaryEra -> Maybe (AccountBalanceIntervals MaryEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals MaryEra)
forall a. Maybe a
Nothing)

instance AnyEraTxBody AlonzoEra where
  updateTxBodyG :: SimpleGetter
  (TxBody TopTx AlonzoEra) (Maybe (Maybe (Update AlonzoEra)))
updateTxBodyG = (StrictMaybe (Update AlonzoEra)
 -> Const r (StrictMaybe (Update AlonzoEra)))
-> TxBody TopTx AlonzoEra -> Const r (TxBody TopTx AlonzoEra)
forall era.
ShelleyEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe (Update era))
Lens' (TxBody TopTx AlonzoEra) (StrictMaybe (Update AlonzoEra))
updateTxBodyL ((StrictMaybe (Update AlonzoEra)
  -> Const r (StrictMaybe (Update AlonzoEra)))
 -> TxBody TopTx AlonzoEra -> Const r (TxBody TopTx AlonzoEra))
-> ((Maybe (Maybe (Update AlonzoEra))
     -> Const r (Maybe (Maybe (Update AlonzoEra))))
    -> StrictMaybe (Update AlonzoEra)
    -> Const r (StrictMaybe (Update AlonzoEra)))
-> (Maybe (Maybe (Update AlonzoEra))
    -> Const r (Maybe (Maybe (Update AlonzoEra))))
-> TxBody TopTx AlonzoEra
-> Const r (TxBody TopTx AlonzoEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (Update AlonzoEra)
 -> Maybe (Maybe (Update AlonzoEra)))
-> SimpleGetter
     (StrictMaybe (Update AlonzoEra)) (Maybe (Maybe (Update AlonzoEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Update AlonzoEra) -> Maybe (Maybe (Update AlonzoEra))
forall a. a -> Maybe a
Just (Maybe (Update AlonzoEra) -> Maybe (Maybe (Update AlonzoEra)))
-> (StrictMaybe (Update AlonzoEra) -> Maybe (Update AlonzoEra))
-> StrictMaybe (Update AlonzoEra)
-> Maybe (Maybe (Update AlonzoEra))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe (Update AlonzoEra) -> Maybe (Update AlonzoEra)
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)
  sizedOutputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AlonzoEra) (Maybe (StrictSeq (Sized (TxOut AlonzoEra))))
sizedOutputsTxBodyG = (TxBody l AlonzoEra
 -> Maybe (StrictSeq (Sized (AlonzoTxOut AlonzoEra))))
-> SimpleGetter
     (TxBody l AlonzoEra)
     (Maybe (StrictSeq (Sized (AlonzoTxOut AlonzoEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (StrictSeq (Sized (AlonzoTxOut AlonzoEra)))
-> TxBody l AlonzoEra
-> Maybe (StrictSeq (Sized (AlonzoTxOut AlonzoEra)))
forall a b. a -> b -> a
const Maybe (StrictSeq (Sized (AlonzoTxOut AlonzoEra)))
forall a. Maybe a
Nothing)
  referenceInputsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AlonzoEra) (Maybe (Set TxIn))
referenceInputsTxBodyG = (TxBody l AlonzoEra -> Maybe (Set TxIn))
-> SimpleGetter (TxBody l AlonzoEra) (Maybe (Set TxIn))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Set TxIn) -> TxBody l AlonzoEra -> Maybe (Set TxIn)
forall a b. a -> b -> a
const Maybe (Set TxIn)
forall a. Maybe a
Nothing)
  totalCollateralTxBodyG :: SimpleGetter (TxBody TopTx AlonzoEra) (Maybe (Maybe Coin))
totalCollateralTxBodyG = (TxBody TopTx AlonzoEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody TopTx AlonzoEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody TopTx AlonzoEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  collateralReturnTxBodyG :: SimpleGetter
  (TxBody TopTx AlonzoEra) (Maybe (Maybe (TxOut AlonzoEra)))
collateralReturnTxBodyG = (TxBody TopTx AlonzoEra -> Maybe (Maybe (AlonzoTxOut AlonzoEra)))
-> SimpleGetter
     (TxBody TopTx AlonzoEra) (Maybe (Maybe (AlonzoTxOut AlonzoEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (AlonzoTxOut AlonzoEra))
-> TxBody TopTx AlonzoEra -> Maybe (Maybe (AlonzoTxOut AlonzoEra))
forall a b. a -> b -> a
const Maybe (Maybe (AlonzoTxOut AlonzoEra))
forall a. Maybe a
Nothing)
  sizedCollateralReturnTxBodyG :: SimpleGetter
  (TxBody TopTx AlonzoEra) (Maybe (Maybe (Sized (TxOut AlonzoEra))))
sizedCollateralReturnTxBodyG = (TxBody TopTx AlonzoEra
 -> Maybe (Maybe (Sized (AlonzoTxOut AlonzoEra))))
-> SimpleGetter
     (TxBody TopTx AlonzoEra)
     (Maybe (Maybe (Sized (AlonzoTxOut AlonzoEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe (Sized (AlonzoTxOut AlonzoEra)))
-> TxBody TopTx AlonzoEra
-> Maybe (Maybe (Sized (AlonzoTxOut AlonzoEra)))
forall a b. a -> b -> a
const Maybe (Maybe (Sized (AlonzoTxOut AlonzoEra)))
forall a. Maybe a
Nothing)
  currentTreasuryValueTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AlonzoEra) (Maybe (Maybe Coin))
currentTreasuryValueTxBodyG = (TxBody l AlonzoEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody l AlonzoEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody l AlonzoEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  votingProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AlonzoEra) (Maybe (VotingProcedures AlonzoEra))
votingProceduresTxBodyG = (TxBody l AlonzoEra -> Maybe (VotingProcedures AlonzoEra))
-> SimpleGetter
     (TxBody l AlonzoEra) (Maybe (VotingProcedures AlonzoEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (VotingProcedures AlonzoEra)
-> TxBody l AlonzoEra -> Maybe (VotingProcedures AlonzoEra)
forall a b. a -> b -> a
const Maybe (VotingProcedures AlonzoEra)
forall a. Maybe a
Nothing)
  proposalProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AlonzoEra) (Maybe (OSet (ProposalProcedure AlonzoEra)))
proposalProceduresTxBodyG = (TxBody l AlonzoEra -> Maybe (OSet (ProposalProcedure AlonzoEra)))
-> SimpleGetter
     (TxBody l AlonzoEra) (Maybe (OSet (ProposalProcedure AlonzoEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (ProposalProcedure AlonzoEra))
-> TxBody l AlonzoEra -> Maybe (OSet (ProposalProcedure AlonzoEra))
forall a b. a -> b -> a
const Maybe (OSet (ProposalProcedure AlonzoEra))
forall a. Maybe a
Nothing)
  treasuryDonationTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AlonzoEra) (Maybe Coin)
treasuryDonationTxBodyG = (TxBody l AlonzoEra -> Maybe Coin)
-> SimpleGetter (TxBody l AlonzoEra) (Maybe Coin)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Coin -> TxBody l AlonzoEra -> Maybe Coin
forall a b. a -> b -> a
const Maybe Coin
forall a. Maybe a
Nothing)
  guardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AlonzoEra) (Maybe (OSet (Credential Guard)))
guardsTxBodyG =
    Getting r (TxBody l AlonzoEra) (Set (KeyHash Guard))
forall era (l :: TxLevel).
AlonzoEraTxBody era =>
SimpleGetter (TxBody l era) (Set (KeyHash Guard))
forall (l :: TxLevel).
SimpleGetter (TxBody l AlonzoEra) (Set (KeyHash Guard))
reqSignerHashesTxBodyG Getting r (TxBody l AlonzoEra) (Set (KeyHash Guard))
-> ((Maybe (OSet (Credential Guard))
     -> Const r (Maybe (OSet (Credential Guard))))
    -> Set (KeyHash Guard) -> Const r (Set (KeyHash Guard)))
-> (Maybe (OSet (Credential Guard))
    -> Const r (Maybe (OSet (Credential Guard))))
-> TxBody l AlonzoEra
-> Const r (TxBody l AlonzoEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set (KeyHash Guard) -> Maybe (OSet (Credential Guard)))
-> SimpleGetter
     (Set (KeyHash Guard)) (Maybe (OSet (Credential Guard)))
forall s a. (s -> a) -> SimpleGetter s a
to (OSet (Credential Guard) -> Maybe (OSet (Credential Guard))
forall a. a -> Maybe a
Just (OSet (Credential Guard) -> Maybe (OSet (Credential Guard)))
-> (Set (KeyHash Guard) -> OSet (Credential Guard))
-> Set (KeyHash Guard)
-> Maybe (OSet (Credential Guard))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Set (Credential Guard) -> OSet (Credential Guard)
forall a. Set a -> OSet a
OSet.fromSet (Set (Credential Guard) -> OSet (Credential Guard))
-> (Set (KeyHash Guard) -> Set (Credential Guard))
-> Set (KeyHash Guard)
-> OSet (Credential Guard)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (KeyHash Guard -> Credential Guard)
-> Set (KeyHash Guard) -> Set (Credential Guard)
forall b a. Ord b => (a -> b) -> Set a -> Set b
Set.map KeyHash Guard -> Credential Guard
forall (kr :: KeyRole). KeyHash kr -> Credential kr
KeyHashObj)
  subTransactionsTxBodyG :: SimpleGetter
  (TxBody TopTx AlonzoEra) (Maybe (OMap TxId (Tx SubTx AlonzoEra)))
subTransactionsTxBodyG = (TxBody TopTx AlonzoEra -> Maybe (OMap TxId (Tx SubTx AlonzoEra)))
-> SimpleGetter
     (TxBody TopTx AlonzoEra) (Maybe (OMap TxId (Tx SubTx AlonzoEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OMap TxId (Tx SubTx AlonzoEra))
-> TxBody TopTx AlonzoEra -> Maybe (OMap TxId (Tx SubTx AlonzoEra))
forall a b. a -> b -> a
const Maybe (OMap TxId (Tx SubTx AlonzoEra))
forall a. Maybe a
Nothing)
  requiredTopLevelGuardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AlonzoEra)
  (Maybe (Map (Credential Guard) (StrictMaybe (Data AlonzoEra))))
requiredTopLevelGuardsTxBodyG = (TxBody l AlonzoEra
 -> Maybe (Map (Credential Guard) (StrictMaybe (Data AlonzoEra))))
-> SimpleGetter
     (TxBody l AlonzoEra)
     (Maybe (Map (Credential Guard) (StrictMaybe (Data AlonzoEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Map (Credential Guard) (StrictMaybe (Data AlonzoEra)))
-> TxBody l AlonzoEra
-> Maybe (Map (Credential Guard) (StrictMaybe (Data AlonzoEra)))
forall a b. a -> b -> a
const Maybe (Map (Credential Guard) (StrictMaybe (Data AlonzoEra)))
forall a. Maybe a
Nothing)
  directDepositsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l AlonzoEra) (Maybe DirectDeposits)
directDepositsTxBodyG = (TxBody l AlonzoEra -> Maybe DirectDeposits)
-> SimpleGetter (TxBody l AlonzoEra) (Maybe DirectDeposits)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe DirectDeposits -> TxBody l AlonzoEra -> Maybe DirectDeposits
forall a b. a -> b -> a
const Maybe DirectDeposits
forall a. Maybe a
Nothing)
  accountBalanceIntervalsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l AlonzoEra) (Maybe (AccountBalanceIntervals AlonzoEra))
accountBalanceIntervalsTxBodyG = (TxBody l AlonzoEra -> Maybe (AccountBalanceIntervals AlonzoEra))
-> SimpleGetter
     (TxBody l AlonzoEra) (Maybe (AccountBalanceIntervals AlonzoEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals AlonzoEra)
-> TxBody l AlonzoEra -> Maybe (AccountBalanceIntervals AlonzoEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals AlonzoEra)
forall a. Maybe a
Nothing)
  startingAccountBalanceIntervalsTxBodyG :: SimpleGetter
  (TxBody TopTx AlonzoEra)
  (Maybe (AccountBalanceIntervals AlonzoEra))
startingAccountBalanceIntervalsTxBodyG = (TxBody TopTx AlonzoEra
 -> Maybe (AccountBalanceIntervals AlonzoEra))
-> SimpleGetter
     (TxBody TopTx AlonzoEra)
     (Maybe (AccountBalanceIntervals AlonzoEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals AlonzoEra)
-> TxBody TopTx AlonzoEra
-> Maybe (AccountBalanceIntervals AlonzoEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals AlonzoEra)
forall a. Maybe a
Nothing)

instance AnyEraTxBody BabbageEra where
  updateTxBodyG :: SimpleGetter
  (TxBody TopTx BabbageEra) (Maybe (Maybe (Update BabbageEra)))
updateTxBodyG = (StrictMaybe (Update BabbageEra)
 -> Const r (StrictMaybe (Update BabbageEra)))
-> TxBody TopTx BabbageEra -> Const r (TxBody TopTx BabbageEra)
forall era.
ShelleyEraTxBody era =>
Lens' (TxBody TopTx era) (StrictMaybe (Update era))
Lens' (TxBody TopTx BabbageEra) (StrictMaybe (Update BabbageEra))
updateTxBodyL ((StrictMaybe (Update BabbageEra)
  -> Const r (StrictMaybe (Update BabbageEra)))
 -> TxBody TopTx BabbageEra -> Const r (TxBody TopTx BabbageEra))
-> ((Maybe (Maybe (Update BabbageEra))
     -> Const r (Maybe (Maybe (Update BabbageEra))))
    -> StrictMaybe (Update BabbageEra)
    -> Const r (StrictMaybe (Update BabbageEra)))
-> (Maybe (Maybe (Update BabbageEra))
    -> Const r (Maybe (Maybe (Update BabbageEra))))
-> TxBody TopTx BabbageEra
-> Const r (TxBody TopTx BabbageEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (StrictMaybe (Update BabbageEra)
 -> Maybe (Maybe (Update BabbageEra)))
-> SimpleGetter
     (StrictMaybe (Update BabbageEra))
     (Maybe (Maybe (Update BabbageEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Update BabbageEra) -> Maybe (Maybe (Update BabbageEra))
forall a. a -> Maybe a
Just (Maybe (Update BabbageEra) -> Maybe (Maybe (Update BabbageEra)))
-> (StrictMaybe (Update BabbageEra) -> Maybe (Update BabbageEra))
-> StrictMaybe (Update BabbageEra)
-> Maybe (Maybe (Update BabbageEra))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. StrictMaybe (Update BabbageEra) -> Maybe (Update BabbageEra)
forall a. StrictMaybe a -> Maybe a
strictMaybeToMaybe)
  currentTreasuryValueTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l BabbageEra) (Maybe (Maybe Coin))
currentTreasuryValueTxBodyG = (TxBody l BabbageEra -> Maybe (Maybe Coin))
-> SimpleGetter (TxBody l BabbageEra) (Maybe (Maybe Coin))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Maybe Coin) -> TxBody l BabbageEra -> Maybe (Maybe Coin)
forall a b. a -> b -> a
const Maybe (Maybe Coin)
forall a. Maybe a
Nothing)
  votingProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l BabbageEra) (Maybe (VotingProcedures BabbageEra))
votingProceduresTxBodyG = (TxBody l BabbageEra -> Maybe (VotingProcedures BabbageEra))
-> SimpleGetter
     (TxBody l BabbageEra) (Maybe (VotingProcedures BabbageEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (VotingProcedures BabbageEra)
-> TxBody l BabbageEra -> Maybe (VotingProcedures BabbageEra)
forall a b. a -> b -> a
const Maybe (VotingProcedures BabbageEra)
forall a. Maybe a
Nothing)
  proposalProceduresTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l BabbageEra) (Maybe (OSet (ProposalProcedure BabbageEra)))
proposalProceduresTxBodyG = (TxBody l BabbageEra
 -> Maybe (OSet (ProposalProcedure BabbageEra)))
-> SimpleGetter
     (TxBody l BabbageEra) (Maybe (OSet (ProposalProcedure BabbageEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OSet (ProposalProcedure BabbageEra))
-> TxBody l BabbageEra
-> Maybe (OSet (ProposalProcedure BabbageEra))
forall a b. a -> b -> a
const Maybe (OSet (ProposalProcedure BabbageEra))
forall a. Maybe a
Nothing)
  treasuryDonationTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l BabbageEra) (Maybe Coin)
treasuryDonationTxBodyG = (TxBody l BabbageEra -> Maybe Coin)
-> SimpleGetter (TxBody l BabbageEra) (Maybe Coin)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe Coin -> TxBody l BabbageEra -> Maybe Coin
forall a b. a -> b -> a
const Maybe Coin
forall a. Maybe a
Nothing)
  guardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l BabbageEra) (Maybe (OSet (Credential Guard)))
guardsTxBodyG =
    Getting r (TxBody l BabbageEra) (Set (KeyHash Guard))
forall era (l :: TxLevel).
AlonzoEraTxBody era =>
SimpleGetter (TxBody l era) (Set (KeyHash Guard))
forall (l :: TxLevel).
SimpleGetter (TxBody l BabbageEra) (Set (KeyHash Guard))
reqSignerHashesTxBodyG Getting r (TxBody l BabbageEra) (Set (KeyHash Guard))
-> ((Maybe (OSet (Credential Guard))
     -> Const r (Maybe (OSet (Credential Guard))))
    -> Set (KeyHash Guard) -> Const r (Set (KeyHash Guard)))
-> (Maybe (OSet (Credential Guard))
    -> Const r (Maybe (OSet (Credential Guard))))
-> TxBody l BabbageEra
-> Const r (TxBody l BabbageEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set (KeyHash Guard) -> Maybe (OSet (Credential Guard)))
-> SimpleGetter
     (Set (KeyHash Guard)) (Maybe (OSet (Credential Guard)))
forall s a. (s -> a) -> SimpleGetter s a
to (OSet (Credential Guard) -> Maybe (OSet (Credential Guard))
forall a. a -> Maybe a
Just (OSet (Credential Guard) -> Maybe (OSet (Credential Guard)))
-> (Set (KeyHash Guard) -> OSet (Credential Guard))
-> Set (KeyHash Guard)
-> Maybe (OSet (Credential Guard))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Set (Credential Guard) -> OSet (Credential Guard)
forall a. Set a -> OSet a
OSet.fromSet (Set (Credential Guard) -> OSet (Credential Guard))
-> (Set (KeyHash Guard) -> Set (Credential Guard))
-> Set (KeyHash Guard)
-> OSet (Credential Guard)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (KeyHash Guard -> Credential Guard)
-> Set (KeyHash Guard) -> Set (Credential Guard)
forall b a. Ord b => (a -> b) -> Set a -> Set b
Set.map KeyHash Guard -> Credential Guard
forall (kr :: KeyRole). KeyHash kr -> Credential kr
KeyHashObj)
  subTransactionsTxBodyG :: SimpleGetter
  (TxBody TopTx BabbageEra) (Maybe (OMap TxId (Tx SubTx BabbageEra)))
subTransactionsTxBodyG = (TxBody TopTx BabbageEra
 -> Maybe (OMap TxId (Tx SubTx BabbageEra)))
-> SimpleGetter
     (TxBody TopTx BabbageEra) (Maybe (OMap TxId (Tx SubTx BabbageEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OMap TxId (Tx SubTx BabbageEra))
-> TxBody TopTx BabbageEra
-> Maybe (OMap TxId (Tx SubTx BabbageEra))
forall a b. a -> b -> a
const Maybe (OMap TxId (Tx SubTx BabbageEra))
forall a. Maybe a
Nothing)
  requiredTopLevelGuardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l BabbageEra)
  (Maybe (Map (Credential Guard) (StrictMaybe (Data BabbageEra))))
requiredTopLevelGuardsTxBodyG = (TxBody l BabbageEra
 -> Maybe (Map (Credential Guard) (StrictMaybe (Data BabbageEra))))
-> SimpleGetter
     (TxBody l BabbageEra)
     (Maybe (Map (Credential Guard) (StrictMaybe (Data BabbageEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Map (Credential Guard) (StrictMaybe (Data BabbageEra)))
-> TxBody l BabbageEra
-> Maybe (Map (Credential Guard) (StrictMaybe (Data BabbageEra)))
forall a b. a -> b -> a
const Maybe (Map (Credential Guard) (StrictMaybe (Data BabbageEra)))
forall a. Maybe a
Nothing)
  directDepositsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l BabbageEra) (Maybe DirectDeposits)
directDepositsTxBodyG = (TxBody l BabbageEra -> Maybe DirectDeposits)
-> SimpleGetter (TxBody l BabbageEra) (Maybe DirectDeposits)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe DirectDeposits -> TxBody l BabbageEra -> Maybe DirectDeposits
forall a b. a -> b -> a
const Maybe DirectDeposits
forall a. Maybe a
Nothing)
  accountBalanceIntervalsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l BabbageEra) (Maybe (AccountBalanceIntervals BabbageEra))
accountBalanceIntervalsTxBodyG = (TxBody l BabbageEra -> Maybe (AccountBalanceIntervals BabbageEra))
-> SimpleGetter
     (TxBody l BabbageEra) (Maybe (AccountBalanceIntervals BabbageEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals BabbageEra)
-> TxBody l BabbageEra
-> Maybe (AccountBalanceIntervals BabbageEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals BabbageEra)
forall a. Maybe a
Nothing)
  startingAccountBalanceIntervalsTxBodyG :: SimpleGetter
  (TxBody TopTx BabbageEra)
  (Maybe (AccountBalanceIntervals BabbageEra))
startingAccountBalanceIntervalsTxBodyG = (TxBody TopTx BabbageEra
 -> Maybe (AccountBalanceIntervals BabbageEra))
-> SimpleGetter
     (TxBody TopTx BabbageEra)
     (Maybe (AccountBalanceIntervals BabbageEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals BabbageEra)
-> TxBody TopTx BabbageEra
-> Maybe (AccountBalanceIntervals BabbageEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals BabbageEra)
forall a. Maybe a
Nothing)

instance AnyEraTxBody ConwayEra where
  guardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ConwayEra) (Maybe (OSet (Credential Guard)))
guardsTxBodyG =
    Getting r (TxBody l ConwayEra) (Set (KeyHash Guard))
forall era (l :: TxLevel).
AlonzoEraTxBody era =>
SimpleGetter (TxBody l era) (Set (KeyHash Guard))
forall (l :: TxLevel).
SimpleGetter (TxBody l ConwayEra) (Set (KeyHash Guard))
reqSignerHashesTxBodyG Getting r (TxBody l ConwayEra) (Set (KeyHash Guard))
-> ((Maybe (OSet (Credential Guard))
     -> Const r (Maybe (OSet (Credential Guard))))
    -> Set (KeyHash Guard) -> Const r (Set (KeyHash Guard)))
-> (Maybe (OSet (Credential Guard))
    -> Const r (Maybe (OSet (Credential Guard))))
-> TxBody l ConwayEra
-> Const r (TxBody l ConwayEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set (KeyHash Guard) -> Maybe (OSet (Credential Guard)))
-> SimpleGetter
     (Set (KeyHash Guard)) (Maybe (OSet (Credential Guard)))
forall s a. (s -> a) -> SimpleGetter s a
to (OSet (Credential Guard) -> Maybe (OSet (Credential Guard))
forall a. a -> Maybe a
Just (OSet (Credential Guard) -> Maybe (OSet (Credential Guard)))
-> (Set (KeyHash Guard) -> OSet (Credential Guard))
-> Set (KeyHash Guard)
-> Maybe (OSet (Credential Guard))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Set (Credential Guard) -> OSet (Credential Guard)
forall a. Set a -> OSet a
OSet.fromSet (Set (Credential Guard) -> OSet (Credential Guard))
-> (Set (KeyHash Guard) -> Set (Credential Guard))
-> Set (KeyHash Guard)
-> OSet (Credential Guard)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (KeyHash Guard -> Credential Guard)
-> Set (KeyHash Guard) -> Set (Credential Guard)
forall b a. Ord b => (a -> b) -> Set a -> Set b
Set.map KeyHash Guard -> Credential Guard
forall (kr :: KeyRole). KeyHash kr -> Credential kr
KeyHashObj)
  subTransactionsTxBodyG :: SimpleGetter
  (TxBody TopTx ConwayEra) (Maybe (OMap TxId (Tx SubTx ConwayEra)))
subTransactionsTxBodyG = (TxBody TopTx ConwayEra -> Maybe (OMap TxId (Tx SubTx ConwayEra)))
-> SimpleGetter
     (TxBody TopTx ConwayEra) (Maybe (OMap TxId (Tx SubTx ConwayEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (OMap TxId (Tx SubTx ConwayEra))
-> TxBody TopTx ConwayEra -> Maybe (OMap TxId (Tx SubTx ConwayEra))
forall a b. a -> b -> a
const Maybe (OMap TxId (Tx SubTx ConwayEra))
forall a. Maybe a
Nothing)
  requiredTopLevelGuardsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ConwayEra)
  (Maybe (Map (Credential Guard) (StrictMaybe (Data ConwayEra))))
requiredTopLevelGuardsTxBodyG = (TxBody l ConwayEra
 -> Maybe (Map (Credential Guard) (StrictMaybe (Data ConwayEra))))
-> SimpleGetter
     (TxBody l ConwayEra)
     (Maybe (Map (Credential Guard) (StrictMaybe (Data ConwayEra))))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (Map (Credential Guard) (StrictMaybe (Data ConwayEra)))
-> TxBody l ConwayEra
-> Maybe (Map (Credential Guard) (StrictMaybe (Data ConwayEra)))
forall a b. a -> b -> a
const Maybe (Map (Credential Guard) (StrictMaybe (Data ConwayEra)))
forall a. Maybe a
Nothing)
  directDepositsTxBodyG :: forall (l :: TxLevel).
SimpleGetter (TxBody l ConwayEra) (Maybe DirectDeposits)
directDepositsTxBodyG = (TxBody l ConwayEra -> Maybe DirectDeposits)
-> SimpleGetter (TxBody l ConwayEra) (Maybe DirectDeposits)
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe DirectDeposits -> TxBody l ConwayEra -> Maybe DirectDeposits
forall a b. a -> b -> a
const Maybe DirectDeposits
forall a. Maybe a
Nothing)
  accountBalanceIntervalsTxBodyG :: forall (l :: TxLevel).
SimpleGetter
  (TxBody l ConwayEra) (Maybe (AccountBalanceIntervals ConwayEra))
accountBalanceIntervalsTxBodyG = (TxBody l ConwayEra -> Maybe (AccountBalanceIntervals ConwayEra))
-> SimpleGetter
     (TxBody l ConwayEra) (Maybe (AccountBalanceIntervals ConwayEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals ConwayEra)
-> TxBody l ConwayEra -> Maybe (AccountBalanceIntervals ConwayEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals ConwayEra)
forall a. Maybe a
Nothing)
  startingAccountBalanceIntervalsTxBodyG :: SimpleGetter
  (TxBody TopTx ConwayEra)
  (Maybe (AccountBalanceIntervals ConwayEra))
startingAccountBalanceIntervalsTxBodyG = (TxBody TopTx ConwayEra
 -> Maybe (AccountBalanceIntervals ConwayEra))
-> SimpleGetter
     (TxBody TopTx ConwayEra)
     (Maybe (AccountBalanceIntervals ConwayEra))
forall s a. (s -> a) -> SimpleGetter s a
to (Maybe (AccountBalanceIntervals ConwayEra)
-> TxBody TopTx ConwayEra
-> Maybe (AccountBalanceIntervals ConwayEra)
forall a b. a -> b -> a
const Maybe (AccountBalanceIntervals ConwayEra)
forall a. Maybe a
Nothing)

instance AnyEraTxBody DijkstraEra

-- | Evaluate the difference between the value currently being consumed by a transaction
-- and the total value being produced. This value will be zero for a valid transaction.
--
-- In case when full `Cardano.Ledger.CertState` is available then this can be simplified to:
--
-- > let lookupRefund = lookupDepositDState (certDState dpState)
-- > let isRegPoolId = (`Map.member` psStakePools (certPState dpState))
-- > evalBalanceTxBody pp lookupRefund isRegPoolId utxo txBody
evalBalanceTxBody ::
  EraUTxO era =>
  -- | Current protocol parameters
  PParams era ->
  -- | Lookup current deposit amount for a registered stake credential delegation. This
  -- function must produce valid answer for all of the stake credentials present in any of
  -- the `DeRegKey` delegation certificates in the supplied `TxBody`. In other words,
  -- there is no requirement to know about all of the delegation certificates in the
  -- ledger state, just the ones this transaction cares about.
  (Credential Staking -> Maybe Coin) ->
  -- | Check whether a pool with a supplied PoolStakeId is already registered. There is no
  -- requirement to answer this question for all stake pool credentials, just for the ones
  -- that have the registration certificates included in the supplied `TxBody`
  (KeyHash StakePool -> Bool) ->
  -- | The UTxO relevant to the transaction.
  UTxO era ->
  -- | The transaction being evaluated for balance.
  TxBody TopTx era ->
  -- | The difference between what the transaction consumes and what it produces.
  Value era
evalBalanceTxBody :: forall era.
EraUTxO era =>
PParams era
-> (Credential Staking -> Maybe Coin)
-> (KeyHash StakePool -> Bool)
-> UTxO era
-> TxBody TopTx era
-> Value era
evalBalanceTxBody PParams era
pp Credential Staking -> Maybe Coin
lookupKeyRefund KeyHash StakePool -> Bool
isRegPoolId UTxO era
utxo TxBody TopTx era
txBody =
  PParams era
-> (Credential Staking -> Maybe Coin)
-> UTxO era
-> TxBody TopTx era
-> Value era
forall era (t :: TxLevel).
EraUTxO era =>
PParams era
-> (Credential Staking -> Maybe Coin)
-> UTxO era
-> TxBody t era
-> Value era
forall (t :: TxLevel).
PParams era
-> (Credential Staking -> Maybe Coin)
-> UTxO era
-> TxBody t era
-> Value era
getConsumedValue PParams era
pp Credential Staking -> Maybe Coin
lookupKeyRefund UTxO era
utxo TxBody TopTx era
txBody
    Value era -> Value era -> Value era
forall t. Val t => t -> t -> t
<-> PParams era
-> (KeyHash StakePool -> Bool) -> TxBody TopTx era -> Value era
forall era.
EraUTxO era =>
PParams era
-> (KeyHash StakePool -> Bool) -> TxBody TopTx era -> Value era
getProducedValue PParams era
pp KeyHash StakePool -> Bool
isRegPoolId TxBody TopTx era
txBody