{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# LANGUAGE ViewPatterns #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Ledger.Conway.TxBody (
ConwayEraTxBody (..),
TxBody (
MkConwayTxBody,
ConwayTxBody,
ctbSpendInputs,
ctbCollateralInputs,
ctbReferenceInputs,
ctbOutputs,
ctbCollateralReturn,
ctbTotalCollateral,
ctbCerts,
ctbWithdrawals,
ctbTxfee,
ctbVldt,
ctbReqSignerHashes,
ctbMint,
ctbScriptIntegrityHash,
ctbAdHash,
ctbTxNetworkId,
ctbVotingProcedures,
ctbProposalProcedures,
ctbCurrentTreasuryValue,
ctbTreasuryDonation
),
ConwayTxBodyRaw (..),
conwayTotalDepositsTxBody,
conwayProposalsDeposits,
conwayRedeemerPointer,
conwayRedeemerPointerInverse,
upgradeBabbageTxOut,
) where
import Cardano.Ledger.Alonzo.TxBody (Indexable (..))
import Cardano.Ledger.Babbage.Core
import Cardano.Ledger.Babbage.TxBody (
allSizedOutputsBabbageTxBodyF,
babbageAllInputsTxBodyF,
babbageSpendableInputsTxBodyF,
)
import Cardano.Ledger.BaseTypes (Network, fromSMaybe)
import Cardano.Ledger.Binary (
Annotator,
DecCBOR (..),
EncCBOR (..),
Sized (..),
ToCBOR (..),
mkSized,
)
import Cardano.Ledger.Binary.Coders (
Decode (..),
Density (..),
Encode (..),
Field (..),
Wrapped (..),
decode,
encode,
encodeKeyedStrictMaybe,
field,
fieldGuarded,
invalidField,
ofield,
(!>),
)
import Cardano.Ledger.Coin (Coin (..), decodePositiveCoin)
import Cardano.Ledger.Conway.Era (ConwayEra)
import Cardano.Ledger.Conway.Governance.Procedures (ProposalProcedure, VotingProcedures (..))
import Cardano.Ledger.Conway.PParams (ConwayEraPParams, ppGovActionDepositL)
import Cardano.Ledger.Conway.Scripts (ConwayEraScript, ConwayPlutusPurpose (..))
import Cardano.Ledger.Conway.TxCert (ConwayEraTxCert)
import Cardano.Ledger.Conway.TxOut (upgradeBabbageTxOut)
import Cardano.Ledger.Mary.Value (MultiAsset (..))
import Cardano.Ledger.MemoBytes (
EqRaw,
Mem,
MemoBytes (..),
MemoHashIndex,
Memoized (..),
getMemoRawType,
getMemoSafeHash,
lensMemoRawType,
mkMemoizedEra,
)
import Cardano.Ledger.TxIn (TxIn (..))
import Cardano.Ledger.Val (Val (..))
import Control.DeepSeq (NFData (..), deepseq)
import Data.Maybe.Strict (StrictMaybe (..))
import qualified Data.OSet.Strict as OSet
import Data.Sequence.Strict (StrictSeq)
import Data.Set (Set)
import Data.Typeable (Typeable)
import GHC.Generics (Generic)
import Lens.Micro (Lens', to, (^.))
import NoThunks.Class (InspectHeap (..), NoThunks)
instance Memoized (TxBody l ConwayEra) where
type RawType (TxBody l ConwayEra) = ConwayTxBodyRaw l ConwayEra
data ConwayTxBodyRaw l era where
ConwayTxBodyRaw ::
{ forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrSpendInputs :: !(Set TxIn)
, forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrCollateralInputs :: !(Set TxIn)
, forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrReferenceInputs :: !(Set TxIn)
, forall era.
ConwayTxBodyRaw TopTx era -> StrictSeq (Sized (TxOut era))
ctbrOutputs :: !(StrictSeq (Sized (TxOut era)))
, forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe (Sized (TxOut era))
ctbrCollateralReturn :: !(StrictMaybe (Sized (TxOut era)))
, forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrTotalCollateral :: !(StrictMaybe Coin)
, forall era. ConwayTxBodyRaw TopTx era -> OSet (TxCert era)
ctbrCerts :: !(OSet.OSet (TxCert era))
, forall era. ConwayTxBodyRaw TopTx era -> Withdrawals
ctbrWithdrawals :: !Withdrawals
, forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrFee :: !Coin
, forall era. ConwayTxBodyRaw TopTx era -> ValidityInterval
ctbrVldt :: !ValidityInterval
, forall era. ConwayTxBodyRaw TopTx era -> Set (KeyHash Guard)
ctbrReqSignerHashes :: !(Set (KeyHash Guard))
, forall era. ConwayTxBodyRaw TopTx era -> MultiAsset
ctbrMint :: !MultiAsset
, forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe ScriptIntegrityHash
ctbrScriptIntegrityHash :: !(StrictMaybe ScriptIntegrityHash)
, forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe TxAuxDataHash
ctbrAuxDataHash :: !(StrictMaybe TxAuxDataHash)
, forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Network
ctbrNetworkId :: !(StrictMaybe Network)
, forall era. ConwayTxBodyRaw TopTx era -> VotingProcedures era
ctbrVotingProcedures :: !(VotingProcedures era)
, forall era.
ConwayTxBodyRaw TopTx era -> OSet (ProposalProcedure era)
ctbrProposalProcedures :: !(OSet.OSet (ProposalProcedure era))
, forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrCurrentTreasuryValue :: !(StrictMaybe Coin)
, forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrTreasuryDonation :: !Coin
} ->
ConwayTxBodyRaw TopTx era
deriving instance Eq (ConwayTxBodyRaw l ConwayEra)
deriving via
InspectHeap (ConwayTxBodyRaw l ConwayEra)
instance
Typeable l => NoThunks (ConwayTxBodyRaw l ConwayEra)
instance NFData (ConwayTxBodyRaw l ConwayEra) where
rnf :: ConwayTxBodyRaw l ConwayEra -> ()
rnf ConwayTxBodyRaw {OSet (TxCert ConwayEra)
OSet (ProposalProcedure ConwayEra)
Set (KeyHash Guard)
Set TxIn
StrictMaybe ScriptIntegrityHash
StrictMaybe TxAuxDataHash
StrictMaybe (Sized (TxOut ConwayEra))
StrictMaybe Network
StrictMaybe Coin
ValidityInterval
Withdrawals
Coin
MultiAsset
StrictSeq (Sized (TxOut ConwayEra))
VotingProcedures ConwayEra
ctbrSpendInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrCollateralInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrReferenceInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrOutputs :: forall era.
ConwayTxBodyRaw TopTx era -> StrictSeq (Sized (TxOut era))
ctbrCollateralReturn :: forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe (Sized (TxOut era))
ctbrTotalCollateral :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrCerts :: forall era. ConwayTxBodyRaw TopTx era -> OSet (TxCert era)
ctbrWithdrawals :: forall era. ConwayTxBodyRaw TopTx era -> Withdrawals
ctbrFee :: forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrVldt :: forall era. ConwayTxBodyRaw TopTx era -> ValidityInterval
ctbrReqSignerHashes :: forall era. ConwayTxBodyRaw TopTx era -> Set (KeyHash Guard)
ctbrMint :: forall era. ConwayTxBodyRaw TopTx era -> MultiAsset
ctbrScriptIntegrityHash :: forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe ScriptIntegrityHash
ctbrAuxDataHash :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe TxAuxDataHash
ctbrNetworkId :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Network
ctbrVotingProcedures :: forall era. ConwayTxBodyRaw TopTx era -> VotingProcedures era
ctbrProposalProcedures :: forall era.
ConwayTxBodyRaw TopTx era -> OSet (ProposalProcedure era)
ctbrCurrentTreasuryValue :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrTreasuryDonation :: forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrSpendInputs :: Set TxIn
ctbrCollateralInputs :: Set TxIn
ctbrReferenceInputs :: Set TxIn
ctbrOutputs :: StrictSeq (Sized (TxOut ConwayEra))
ctbrCollateralReturn :: StrictMaybe (Sized (TxOut ConwayEra))
ctbrTotalCollateral :: StrictMaybe Coin
ctbrCerts :: OSet (TxCert ConwayEra)
ctbrWithdrawals :: Withdrawals
ctbrFee :: Coin
ctbrVldt :: ValidityInterval
ctbrReqSignerHashes :: Set (KeyHash Guard)
ctbrMint :: MultiAsset
ctbrScriptIntegrityHash :: StrictMaybe ScriptIntegrityHash
ctbrAuxDataHash :: StrictMaybe TxAuxDataHash
ctbrNetworkId :: StrictMaybe Network
ctbrVotingProcedures :: VotingProcedures ConwayEra
ctbrProposalProcedures :: OSet (ProposalProcedure ConwayEra)
ctbrCurrentTreasuryValue :: StrictMaybe Coin
ctbrTreasuryDonation :: Coin
..} =
Set TxIn
ctbrSpendInputs Set TxIn -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
Set TxIn
ctbrCollateralInputs Set TxIn -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
Set TxIn
ctbrReferenceInputs Set TxIn -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
StrictSeq (Sized (TxOut ConwayEra))
StrictSeq (Sized (BabbageTxOut ConwayEra))
ctbrOutputs StrictSeq (Sized (BabbageTxOut ConwayEra)) -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
StrictMaybe (Sized (TxOut ConwayEra))
StrictMaybe (Sized (BabbageTxOut ConwayEra))
ctbrCollateralReturn StrictMaybe (Sized (BabbageTxOut ConwayEra)) -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
StrictMaybe Coin
ctbrTotalCollateral StrictMaybe Coin -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
OSet (TxCert ConwayEra)
OSet (ConwayTxCert ConwayEra)
ctbrCerts OSet (ConwayTxCert ConwayEra) -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
Withdrawals
ctbrWithdrawals Withdrawals -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
Coin
ctbrFee Coin -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
ValidityInterval
ctbrVldt ValidityInterval -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
Set (KeyHash Guard)
ctbrReqSignerHashes Set (KeyHash Guard) -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
MultiAsset
ctbrMint MultiAsset -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
StrictMaybe ScriptIntegrityHash
ctbrScriptIntegrityHash StrictMaybe ScriptIntegrityHash -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
StrictMaybe TxAuxDataHash
ctbrAuxDataHash StrictMaybe TxAuxDataHash -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
StrictMaybe Network
ctbrNetworkId StrictMaybe Network -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
VotingProcedures ConwayEra
ctbrVotingProcedures VotingProcedures ConwayEra -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
OSet (ProposalProcedure ConwayEra)
ctbrProposalProcedures OSet (ProposalProcedure ConwayEra) -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
StrictMaybe Coin
ctbrCurrentTreasuryValue StrictMaybe Coin -> () -> ()
forall a b. NFData a => a -> b -> b
`deepseq`
Coin -> ()
forall a. NFData a => a -> ()
rnf Coin
ctbrTreasuryDonation
deriving instance Show (ConwayTxBodyRaw l ConwayEra)
instance HasEraTxLevel ConwayTxBodyRaw ConwayEra where
toSTxLevel :: forall (l :: TxLevel).
ConwayTxBodyRaw l ConwayEra -> STxLevel l ConwayEra
toSTxLevel ConwayTxBodyRaw {} = STxLevel l ConwayEra
STxTopLevel TopTx ConwayEra
forall era. STxTopLevel TopTx era
STopTxOnly
instance Typeable l => DecCBOR (ConwayTxBodyRaw l ConwayEra) where
decCBOR :: forall s. Decoder s (ConwayTxBodyRaw l ConwayEra)
decCBOR =
(ConwayTxBodyRaw TopTx ConwayEra -> ConwayTxBodyRaw l ConwayEra)
-> Decoder s (ConwayTxBodyRaw TopTx ConwayEra)
-> Decoder s (ConwayTxBodyRaw l ConwayEra)
forall a b. (a -> b) -> Decoder s a -> Decoder s b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ConwayTxBodyRaw TopTx ConwayEra -> ConwayTxBodyRaw l ConwayEra
forall (l :: TxLevel) (t :: TxLevel -> * -> *) era.
(Typeable l, HasEraTxLevel t era,
STxLevel l era ~ STxTopLevel l era) =>
t TopTx era -> t l era
asSTxTopLevel (Decoder s (ConwayTxBodyRaw TopTx ConwayEra)
-> Decoder s (ConwayTxBodyRaw l ConwayEra))
-> (Decode (Closed Dense) (ConwayTxBodyRaw TopTx ConwayEra)
-> Decoder s (ConwayTxBodyRaw TopTx ConwayEra))
-> Decode (Closed Dense) (ConwayTxBodyRaw TopTx ConwayEra)
-> Decoder s (ConwayTxBodyRaw l ConwayEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Decode (Closed Dense) (ConwayTxBodyRaw TopTx ConwayEra)
-> Decoder s (ConwayTxBodyRaw TopTx ConwayEra)
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode (Closed Dense) (ConwayTxBodyRaw TopTx ConwayEra)
-> Decoder s (ConwayTxBodyRaw l ConwayEra))
-> Decode (Closed Dense) (ConwayTxBodyRaw TopTx ConwayEra)
-> Decoder s (ConwayTxBodyRaw l ConwayEra)
forall a b. (a -> b) -> a -> b
$
String
-> ConwayTxBodyRaw TopTx ConwayEra
-> (Word -> Field (ConwayTxBodyRaw TopTx ConwayEra))
-> [(Word, String)]
-> Decode (Closed Dense) (ConwayTxBodyRaw TopTx ConwayEra)
forall t.
Typeable t =>
String
-> t
-> (Word -> Field t)
-> [(Word, String)]
-> Decode (Closed Dense) t
SparseKeyed
String
"TxBodyRaw"
(ConwayTxBodyRaw TopTx ConwayEra -> ConwayTxBodyRaw TopTx ConwayEra
forall (l :: TxLevel) (t :: TxLevel -> * -> *) era.
(Typeable l, HasEraTxLevel t era,
STxLevel l era ~ STxTopLevel l era) =>
t TopTx era -> t l era
asSTxTopLevel ConwayTxBodyRaw TopTx ConwayEra
basicConwayTxBodyRaw)
Word -> Field (ConwayTxBodyRaw TopTx ConwayEra)
bodyFields
[(Word, String)]
requiredFields
where
bodyFields :: Word -> Field (ConwayTxBodyRaw TopTx ConwayEra)
bodyFields :: Word -> Field (ConwayTxBodyRaw TopTx ConwayEra)
bodyFields Word
0 = (Set TxIn
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 0)) (Set TxIn)
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(x -> t -> t) -> Decode (Closed d) x -> Field t
field (\Set TxIn
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrSpendInputs = x}) Decode (Closed (ZonkAny 0)) (Set TxIn)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
1 = (StrictSeq (Sized (BabbageTxOut ConwayEra))
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode
(Closed (ZonkAny 1)) (StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(x -> t -> t) -> Decode (Closed d) x -> Field t
field (\StrictSeq (Sized (BabbageTxOut ConwayEra))
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrOutputs = x}) Decode
(Closed (ZonkAny 1)) (StrictSeq (Sized (BabbageTxOut ConwayEra)))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
2 = (Coin
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 2)) Coin
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(x -> t -> t) -> Decode (Closed d) x -> Field t
field (\Coin
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrFee = x}) Decode (Closed (ZonkAny 2)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
3 =
(StrictMaybe SlotNo
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 3)) SlotNo
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield
(\StrictMaybe SlotNo
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrVldt = (ctbrVldt tx) {invalidHereafter = x}})
Decode (Closed (ZonkAny 3)) SlotNo
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
4 =
String
-> (OSet (ConwayTxCert ConwayEra) -> Bool)
-> (OSet (ConwayTxCert ConwayEra)
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 4)) (OSet (ConwayTxCert ConwayEra))
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"Certificates" String
"non-empty")
OSet (ConwayTxCert ConwayEra) -> Bool
forall a. OSet a -> Bool
OSet.null
(\OSet (ConwayTxCert ConwayEra)
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrCerts = x})
Decode (Closed (ZonkAny 4)) (OSet (ConwayTxCert ConwayEra))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
5 =
String
-> (Withdrawals -> Bool)
-> (Withdrawals
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 5)) Withdrawals
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"Withdrawals" String
"non-empty")
(Map RewardAccount Coin -> Bool
forall a. Map RewardAccount a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null (Map RewardAccount Coin -> Bool)
-> (Withdrawals -> Map RewardAccount Coin) -> Withdrawals -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Withdrawals -> Map RewardAccount Coin
unWithdrawals)
(\Withdrawals
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrWithdrawals = x})
Decode (Closed (ZonkAny 5)) Withdrawals
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
7 = (StrictMaybe TxAuxDataHash
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 6)) TxAuxDataHash
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield (\StrictMaybe TxAuxDataHash
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrAuxDataHash = x}) Decode (Closed (ZonkAny 6)) TxAuxDataHash
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
8 =
(StrictMaybe SlotNo
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 7)) SlotNo
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield
(\StrictMaybe SlotNo
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrVldt = (ctbrVldt tx) {invalidBefore = x}})
Decode (Closed (ZonkAny 7)) SlotNo
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
9 =
String
-> (MultiAsset -> Bool)
-> (MultiAsset
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 8)) MultiAsset
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"Mint" String
"non-empty")
(MultiAsset -> MultiAsset -> Bool
forall a. Eq a => a -> a -> Bool
== MultiAsset
forall a. Monoid a => a
mempty)
(\MultiAsset
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrMint = x})
Decode (Closed (ZonkAny 8)) MultiAsset
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
11 = (StrictMaybe ScriptIntegrityHash
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 9)) ScriptIntegrityHash
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield (\StrictMaybe ScriptIntegrityHash
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrScriptIntegrityHash = x}) Decode (Closed (ZonkAny 9)) ScriptIntegrityHash
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
13 =
String
-> (Set TxIn -> Bool)
-> (Set TxIn
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 10)) (Set TxIn)
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"Collateral Inputs" String
"non-empty")
Set TxIn -> Bool
forall a. Set a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null
(\Set TxIn
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrCollateralInputs = x})
Decode (Closed (ZonkAny 10)) (Set TxIn)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
14 =
String
-> (Set (KeyHash Guard) -> Bool)
-> (Set (KeyHash Guard)
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 11)) (Set (KeyHash Guard))
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"Required Signer Hashes" String
"non-empty")
Set (KeyHash Guard) -> Bool
forall a. Set a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null
(\Set (KeyHash Guard)
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrReqSignerHashes = x})
Decode (Closed (ZonkAny 11)) (Set (KeyHash Guard))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
15 = (StrictMaybe Network
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 12)) Network
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield (\StrictMaybe Network
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrNetworkId = x}) Decode (Closed (ZonkAny 12)) Network
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
16 = (StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 13)) (Sized (BabbageTxOut ConwayEra))
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield (\StrictMaybe (Sized (BabbageTxOut ConwayEra))
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrCollateralReturn = x}) Decode (Closed (ZonkAny 13)) (Sized (BabbageTxOut ConwayEra))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
17 = (StrictMaybe Coin
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 14)) Coin
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield (\StrictMaybe Coin
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrTotalCollateral = x}) Decode (Closed (ZonkAny 14)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
18 =
String
-> (Set TxIn -> Bool)
-> (Set TxIn
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 15)) (Set TxIn)
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"Reference Inputs" String
"non-empty")
Set TxIn -> Bool
forall a. Set a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null
(\Set TxIn
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrReferenceInputs = x})
Decode (Closed (ZonkAny 15)) (Set TxIn)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
19 =
String
-> (VotingProcedures ConwayEra -> Bool)
-> (VotingProcedures ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 16)) (VotingProcedures ConwayEra)
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"VotingProcedures" String
"non-empty")
(Map Voter (Map GovActionId (VotingProcedure ConwayEra)) -> Bool
forall a. Map Voter a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null (Map Voter (Map GovActionId (VotingProcedure ConwayEra)) -> Bool)
-> (VotingProcedures ConwayEra
-> Map Voter (Map GovActionId (VotingProcedure ConwayEra)))
-> VotingProcedures ConwayEra
-> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. VotingProcedures ConwayEra
-> Map Voter (Map GovActionId (VotingProcedure ConwayEra))
forall era.
VotingProcedures era
-> Map Voter (Map GovActionId (VotingProcedure era))
unVotingProcedures)
(\VotingProcedures ConwayEra
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrVotingProcedures = x})
Decode (Closed (ZonkAny 16)) (VotingProcedures ConwayEra)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
20 =
String
-> (OSet (ProposalProcedure ConwayEra) -> Bool)
-> (OSet (ProposalProcedure ConwayEra)
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode
(Closed (ZonkAny 17)) (OSet (ProposalProcedure ConwayEra))
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
String
-> (x -> Bool) -> (x -> t -> t) -> Decode (Closed d) x -> Field t
fieldGuarded
(String -> ShowS
emptyFailure String
"ProposalProcedures" String
"non-empty")
OSet (ProposalProcedure ConwayEra) -> Bool
forall a. OSet a -> Bool
OSet.null
(\OSet (ProposalProcedure ConwayEra)
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrProposalProcedures = x})
Decode (Closed (ZonkAny 17)) (OSet (ProposalProcedure ConwayEra))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
21 = (StrictMaybe Coin
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed (ZonkAny 18)) Coin
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield (\StrictMaybe Coin
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrCurrentTreasuryValue = x}) Decode (Closed (ZonkAny 18)) Coin
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
bodyFields Word
22 =
(StrictMaybe Coin
-> ConwayTxBodyRaw TopTx ConwayEra
-> ConwayTxBodyRaw TopTx ConwayEra)
-> Decode (Closed Dense) Coin
-> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall x t (d :: Density).
Typeable x =>
(StrictMaybe x -> t -> t) -> Decode (Closed d) x -> Field t
ofield
(\StrictMaybe Coin
x ConwayTxBodyRaw TopTx ConwayEra
tx -> ConwayTxBodyRaw TopTx ConwayEra
tx {ctbrTreasuryDonation = fromSMaybe zero x})
((forall s. Decoder s Coin) -> Decode (Closed Dense) Coin
forall t. (forall s. Decoder s t) -> Decode (Closed Dense) t
D (String -> Decoder s Coin
forall s. String -> Decoder s Coin
decodePositiveCoin (String -> Decoder s Coin) -> String -> Decoder s Coin
forall a b. (a -> b) -> a -> b
$ String -> ShowS
emptyFailure String
"Treasury Donation" String
"non-zero"))
bodyFields Word
n = Word -> Field (ConwayTxBodyRaw TopTx ConwayEra)
forall t. Word -> Field t
invalidField Word
n
requiredFields :: [(Word, String)]
requiredFields :: [(Word, String)]
requiredFields =
[ (Word
0, String
"inputs")
, (Word
1, String
"outputs")
, (Word
2, String
"fee")
]
emptyFailure :: String -> ShowS
emptyFailure String
fieldName String
requirement =
String
"TxBody: '" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
fieldName String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
"' must be " String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
requirement String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
" when supplied"
instance Typeable l => DecCBOR (Annotator (ConwayTxBodyRaw l ConwayEra)) where
decCBOR :: forall s. Decoder s (Annotator (ConwayTxBodyRaw l ConwayEra))
decCBOR = ConwayTxBodyRaw l ConwayEra
-> Annotator (ConwayTxBodyRaw l ConwayEra)
forall a. a -> Annotator a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ConwayTxBodyRaw l ConwayEra
-> Annotator (ConwayTxBodyRaw l ConwayEra))
-> Decoder s (ConwayTxBodyRaw l ConwayEra)
-> Decoder s (Annotator (ConwayTxBodyRaw l ConwayEra))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Decoder s (ConwayTxBodyRaw l ConwayEra)
forall s. Decoder s (ConwayTxBodyRaw l ConwayEra)
forall a s. DecCBOR a => Decoder s a
decCBOR
deriving via
Mem (ConwayTxBodyRaw l ConwayEra)
instance
Typeable l => DecCBOR (Annotator (TxBody l ConwayEra))
deriving instance Typeable l => NoThunks (TxBody l ConwayEra)
deriving instance Eq (TxBody l ConwayEra)
deriving newtype instance NFData (TxBody l ConwayEra)
deriving instance Show (TxBody l ConwayEra)
type instance MemoHashIndex (ConwayTxBodyRaw l ConwayEra) = EraIndependentTxBody
instance HashAnnotated (TxBody l ConwayEra) EraIndependentTxBody where
hashAnnotated :: TxBody l ConwayEra -> SafeHash EraIndependentTxBody
hashAnnotated = TxBody l ConwayEra -> SafeHash EraIndependentTxBody
TxBody l ConwayEra
-> SafeHash (MemoHashIndex (RawType (TxBody l ConwayEra)))
forall t. Memoized t => t -> SafeHash (MemoHashIndex (RawType t))
getMemoSafeHash
mkConwayTxBody :: Typeable l => TxBody l ConwayEra
mkConwayTxBody :: forall (l :: TxLevel). Typeable l => TxBody l ConwayEra
mkConwayTxBody = forall era t.
(Era era, EncCBOR (RawType t), Memoized t) =>
RawType t -> t
mkMemoizedEra @ConwayEra (RawType (TxBody l ConwayEra) -> TxBody l ConwayEra)
-> RawType (TxBody l ConwayEra) -> TxBody l ConwayEra
forall a b. (a -> b) -> a -> b
$ ConwayTxBodyRaw TopTx ConwayEra -> ConwayTxBodyRaw l ConwayEra
forall (l :: TxLevel) (t :: TxLevel -> * -> *) era.
(Typeable l, HasEraTxLevel t era,
STxLevel l era ~ STxTopLevel l era) =>
t TopTx era -> t l era
asSTxTopLevel ConwayTxBodyRaw TopTx ConwayEra
basicConwayTxBodyRaw
basicConwayTxBodyRaw :: ConwayTxBodyRaw TopTx ConwayEra
basicConwayTxBodyRaw :: ConwayTxBodyRaw TopTx ConwayEra
basicConwayTxBodyRaw =
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut ConwayEra))
-> StrictMaybe (Sized (TxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (TxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw TopTx ConwayEra
forall era.
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut era))
-> StrictMaybe (Sized (TxOut era))
-> StrictMaybe Coin
-> OSet (TxCert era)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw TopTx era
ConwayTxBodyRaw
Set TxIn
forall a. Monoid a => a
mempty
Set TxIn
forall a. Monoid a => a
mempty
Set TxIn
forall a. Monoid a => a
mempty
StrictSeq (Sized (TxOut ConwayEra))
StrictSeq (Sized (BabbageTxOut ConwayEra))
forall a. Monoid a => a
mempty
StrictMaybe (Sized (TxOut ConwayEra))
StrictMaybe (Sized (BabbageTxOut ConwayEra))
forall a. StrictMaybe a
SNothing
StrictMaybe Coin
forall a. StrictMaybe a
SNothing
OSet (TxCert ConwayEra)
OSet (ConwayTxCert ConwayEra)
forall a. OSet a
OSet.empty
(Map RewardAccount Coin -> Withdrawals
Withdrawals Map RewardAccount Coin
forall a. Monoid a => a
mempty)
Coin
forall a. Monoid a => a
mempty
(StrictMaybe SlotNo -> StrictMaybe SlotNo -> ValidityInterval
ValidityInterval StrictMaybe SlotNo
forall a. StrictMaybe a
SNothing StrictMaybe SlotNo
forall a. StrictMaybe a
SNothing)
Set (KeyHash Guard)
forall a. Monoid a => a
mempty
MultiAsset
forall a. Monoid a => a
mempty
StrictMaybe ScriptIntegrityHash
forall a. StrictMaybe a
SNothing
StrictMaybe TxAuxDataHash
forall a. StrictMaybe a
SNothing
StrictMaybe Network
forall a. StrictMaybe a
SNothing
(Map Voter (Map GovActionId (VotingProcedure ConwayEra))
-> VotingProcedures ConwayEra
forall era.
Map Voter (Map GovActionId (VotingProcedure era))
-> VotingProcedures era
VotingProcedures Map Voter (Map GovActionId (VotingProcedure ConwayEra))
forall a. Monoid a => a
mempty)
OSet (ProposalProcedure ConwayEra)
forall a. OSet a
OSet.empty
StrictMaybe Coin
forall a. StrictMaybe a
SNothing
Coin
forall a. Monoid a => a
mempty
instance HasEraTxLevel TxBody ConwayEra where
toSTxLevel :: forall (l :: TxLevel). TxBody l ConwayEra -> STxLevel l ConwayEra
toSTxLevel = ConwayTxBodyRaw l ConwayEra -> STxLevel l ConwayEra
ConwayTxBodyRaw l ConwayEra -> STxTopLevel l ConwayEra
forall (l :: TxLevel).
ConwayTxBodyRaw l ConwayEra -> STxLevel l ConwayEra
forall (t :: TxLevel -> * -> *) era (l :: TxLevel).
HasEraTxLevel t era =>
t l era -> STxLevel l era
toSTxLevel (ConwayTxBodyRaw l ConwayEra -> STxTopLevel l ConwayEra)
-> (TxBody l ConwayEra -> ConwayTxBodyRaw l ConwayEra)
-> TxBody l ConwayEra
-> STxTopLevel l ConwayEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TxBody l ConwayEra -> RawType (TxBody l ConwayEra)
TxBody l ConwayEra -> ConwayTxBodyRaw l ConwayEra
forall t. Memoized t => t -> RawType t
getMemoRawType
instance EraTxBody ConwayEra where
newtype TxBody l ConwayEra = MkConwayTxBody (MemoBytes (ConwayTxBodyRaw l ConwayEra))
deriving ((forall x. TxBody l ConwayEra -> Rep (TxBody l ConwayEra) x)
-> (forall x. Rep (TxBody l ConwayEra) x -> TxBody l ConwayEra)
-> Generic (TxBody l ConwayEra)
forall x. Rep (TxBody l ConwayEra) x -> TxBody l ConwayEra
forall x. TxBody l ConwayEra -> Rep (TxBody l ConwayEra) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (l :: TxLevel) x.
Rep (TxBody l ConwayEra) x -> TxBody l ConwayEra
forall (l :: TxLevel) x.
TxBody l ConwayEra -> Rep (TxBody l ConwayEra) x
$cfrom :: forall (l :: TxLevel) x.
TxBody l ConwayEra -> Rep (TxBody l ConwayEra) x
from :: forall x. TxBody l ConwayEra -> Rep (TxBody l ConwayEra) x
$cto :: forall (l :: TxLevel) x.
Rep (TxBody l ConwayEra) x -> TxBody l ConwayEra
to :: forall x. Rep (TxBody l ConwayEra) x -> TxBody l ConwayEra
Generic, TxBody l ConwayEra -> Int
TxBody l ConwayEra -> ByteString
(TxBody l ConwayEra -> ByteString)
-> (TxBody l ConwayEra -> Int)
-> (forall i. Proxy i -> TxBody l ConwayEra -> SafeHash i)
-> SafeToHash (TxBody l ConwayEra)
forall i. Proxy i -> TxBody l ConwayEra -> SafeHash i
forall t.
(t -> ByteString)
-> (t -> Int)
-> (forall i. Proxy i -> t -> SafeHash i)
-> SafeToHash t
forall (l :: TxLevel). TxBody l ConwayEra -> Int
forall (l :: TxLevel). TxBody l ConwayEra -> ByteString
forall (l :: TxLevel) i.
Proxy i -> TxBody l ConwayEra -> SafeHash i
$coriginalBytes :: forall (l :: TxLevel). TxBody l ConwayEra -> ByteString
originalBytes :: TxBody l ConwayEra -> ByteString
$coriginalBytesSize :: forall (l :: TxLevel). TxBody l ConwayEra -> Int
originalBytesSize :: TxBody l ConwayEra -> Int
$cmakeHashWithExplicitProxys :: forall (l :: TxLevel) i.
Proxy i -> TxBody l ConwayEra -> SafeHash i
makeHashWithExplicitProxys :: forall i. Proxy i -> TxBody l ConwayEra -> SafeHash i
SafeToHash, Typeable (TxBody l ConwayEra)
Typeable (TxBody l ConwayEra) =>
(TxBody l ConwayEra -> Encoding)
-> ((forall t. ToCBOR t => Proxy t -> Size)
-> Proxy (TxBody l ConwayEra) -> Size)
-> ((forall t. ToCBOR t => Proxy t -> Size)
-> Proxy [TxBody l ConwayEra] -> Size)
-> ToCBOR (TxBody l ConwayEra)
TxBody l ConwayEra -> Encoding
(forall t. ToCBOR t => Proxy t -> Size)
-> Proxy [TxBody l ConwayEra] -> Size
(forall t. ToCBOR t => Proxy t -> Size)
-> Proxy (TxBody l ConwayEra) -> Size
forall a.
Typeable a =>
(a -> Encoding)
-> ((forall t. ToCBOR t => Proxy t -> Size) -> Proxy a -> Size)
-> ((forall t. ToCBOR t => Proxy t -> Size) -> Proxy [a] -> Size)
-> ToCBOR a
forall (l :: TxLevel). Typeable l => Typeable (TxBody l ConwayEra)
forall (l :: TxLevel). Typeable l => TxBody l ConwayEra -> Encoding
forall (l :: TxLevel).
Typeable l =>
(forall t. ToCBOR t => Proxy t -> Size)
-> Proxy [TxBody l ConwayEra] -> Size
forall (l :: TxLevel).
Typeable l =>
(forall t. ToCBOR t => Proxy t -> Size)
-> Proxy (TxBody l ConwayEra) -> Size
$ctoCBOR :: forall (l :: TxLevel). Typeable l => TxBody l ConwayEra -> Encoding
toCBOR :: TxBody l ConwayEra -> Encoding
$cencodedSizeExpr :: forall (l :: TxLevel).
Typeable l =>
(forall t. ToCBOR t => Proxy t -> Size)
-> Proxy (TxBody l ConwayEra) -> Size
encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size)
-> Proxy (TxBody l ConwayEra) -> Size
$cencodedListSizeExpr :: forall (l :: TxLevel).
Typeable l =>
(forall t. ToCBOR t => Proxy t -> Size)
-> Proxy [TxBody l ConwayEra] -> Size
encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size)
-> Proxy [TxBody l ConwayEra] -> Size
ToCBOR)
mkBasicTxBody :: forall (l :: TxLevel). Typeable l => TxBody l ConwayEra
mkBasicTxBody = TxBody l ConwayEra
forall (l :: TxLevel). Typeable l => TxBody l ConwayEra
mkConwayTxBody
inputsTxBodyL :: forall (l :: TxLevel). Lens' (TxBody l ConwayEra) (Set TxIn)
inputsTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {Set TxIn
ctbrSpendInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrSpendInputs :: Set TxIn
ctbrSpendInputs} -> Set TxIn
ctbrSpendInputs) ((RawType (TxBody l ConwayEra)
-> Set TxIn -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) (Set TxIn) (Set TxIn))
-> (RawType (TxBody l ConwayEra)
-> Set TxIn -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) (Set TxIn) (Set TxIn)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb Set TxIn
x -> RawType (TxBody l ConwayEra)
txb {ctbrSpendInputs = x}
{-# INLINE inputsTxBodyL #-}
outputsTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictSeq (TxOut ConwayEra))
outputsTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra ((Sized (BabbageTxOut ConwayEra) -> BabbageTxOut ConwayEra)
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictSeq (BabbageTxOut ConwayEra)
forall a b. (a -> b) -> StrictSeq a -> StrictSeq b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Sized (BabbageTxOut ConwayEra) -> BabbageTxOut ConwayEra
forall a. Sized a -> a
sizedValue (StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictSeq (BabbageTxOut ConwayEra))
-> (ConwayTxBodyRaw l ConwayEra
-> StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> ConwayTxBodyRaw l ConwayEra
-> StrictSeq (BabbageTxOut ConwayEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (\ConwayTxBodyRaw {StrictSeq (Sized (TxOut ConwayEra))
ctbrOutputs :: forall era.
ConwayTxBodyRaw TopTx era -> StrictSeq (Sized (TxOut era))
ctbrOutputs :: StrictSeq (Sized (TxOut ConwayEra))
ctbrOutputs} -> StrictSeq (Sized (TxOut ConwayEra))
StrictSeq (Sized (BabbageTxOut ConwayEra))
ctbrOutputs)) ((RawType (TxBody l ConwayEra)
-> StrictSeq (TxOut ConwayEra) -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictSeq (TxOut ConwayEra))
(StrictSeq (TxOut ConwayEra)))
-> (RawType (TxBody l ConwayEra)
-> StrictSeq (TxOut ConwayEra) -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictSeq (TxOut ConwayEra))
(StrictSeq (TxOut ConwayEra))
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb StrictSeq (TxOut ConwayEra)
x -> RawType (TxBody l ConwayEra)
txb {ctbrOutputs = mkSized (eraProtVerLow @ConwayEra) <$> x}
{-# INLINE outputsTxBodyL #-}
feeTxBodyL :: Lens' (TxBody TopTx ConwayEra) Coin
feeTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra RawType (TxBody TopTx ConwayEra) -> Coin
ConwayTxBodyRaw TopTx ConwayEra -> Coin
forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrFee (\RawType (TxBody TopTx ConwayEra)
txb Coin
x -> RawType (TxBody TopTx ConwayEra)
txb {ctbrFee = x})
{-# INLINE feeTxBodyL #-}
auxDataHashTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictMaybe TxAuxDataHash)
auxDataHashTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {StrictMaybe TxAuxDataHash
ctbrAuxDataHash :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe TxAuxDataHash
ctbrAuxDataHash :: StrictMaybe TxAuxDataHash
ctbrAuxDataHash} -> StrictMaybe TxAuxDataHash
ctbrAuxDataHash) ((RawType (TxBody l ConwayEra)
-> StrictMaybe TxAuxDataHash -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe TxAuxDataHash)
(StrictMaybe TxAuxDataHash))
-> (RawType (TxBody l ConwayEra)
-> StrictMaybe TxAuxDataHash -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe TxAuxDataHash)
(StrictMaybe TxAuxDataHash)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb StrictMaybe TxAuxDataHash
x -> RawType (TxBody l ConwayEra)
txb {ctbrAuxDataHash = x}
{-# INLINE auxDataHashTxBodyL #-}
spendableInputsTxBodyF :: forall (l :: TxLevel). SimpleGetter (TxBody l ConwayEra) (Set TxIn)
spendableInputsTxBodyF = (TxBody l ConwayEra -> Set TxIn)
-> SimpleGetter (TxBody l ConwayEra) (Set TxIn)
forall s a. (s -> a) -> SimpleGetter s a
to (TxBody l ConwayEra
-> (TxBody TopTx ConwayEra -> Set TxIn) -> Set TxIn
forall (t :: TxLevel -> * -> *) era (l :: TxLevel) a.
(HasEraTxLevel t era, STxLevel l era ~ STxTopLevel l era) =>
t l era -> (t TopTx era -> a) -> a
`withTopTxLevelOnly` (TxBody TopTx ConwayEra
-> Getting (Set TxIn) (TxBody TopTx ConwayEra) (Set TxIn)
-> Set TxIn
forall s a. s -> Getting a s a -> a
^. Getting (Set TxIn) (TxBody TopTx ConwayEra) (Set TxIn)
forall era.
BabbageEraTxBody era =>
SimpleGetter (TxBody TopTx era) (Set TxIn)
SimpleGetter (TxBody TopTx ConwayEra) (Set TxIn)
babbageSpendableInputsTxBodyF))
{-# INLINE spendableInputsTxBodyF #-}
allInputsTxBodyF :: SimpleGetter (TxBody TopTx ConwayEra) (Set TxIn)
allInputsTxBodyF = Getting r (TxBody TopTx ConwayEra) (Set TxIn)
forall era.
BabbageEraTxBody era =>
SimpleGetter (TxBody TopTx era) (Set TxIn)
SimpleGetter (TxBody TopTx ConwayEra) (Set TxIn)
babbageAllInputsTxBodyF
{-# INLINE allInputsTxBodyF #-}
withdrawalsTxBodyL :: forall (l :: TxLevel). Lens' (TxBody l ConwayEra) Withdrawals
withdrawalsTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {Withdrawals
ctbrWithdrawals :: forall era. ConwayTxBodyRaw TopTx era -> Withdrawals
ctbrWithdrawals :: Withdrawals
ctbrWithdrawals} -> Withdrawals
ctbrWithdrawals) ((RawType (TxBody l ConwayEra)
-> Withdrawals -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) Withdrawals Withdrawals)
-> (RawType (TxBody l ConwayEra)
-> Withdrawals -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) Withdrawals Withdrawals
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb Withdrawals
x -> RawType (TxBody l ConwayEra)
txb {ctbrWithdrawals = x}
{-# INLINE withdrawalsTxBodyL #-}
certsTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictSeq (TxCert ConwayEra))
certsTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (OSet (ConwayTxCert ConwayEra) -> StrictSeq (ConwayTxCert ConwayEra)
forall a. OSet a -> StrictSeq a
OSet.toStrictSeq (OSet (ConwayTxCert ConwayEra)
-> StrictSeq (ConwayTxCert ConwayEra))
-> (ConwayTxBodyRaw l ConwayEra -> OSet (ConwayTxCert ConwayEra))
-> ConwayTxBodyRaw l ConwayEra
-> StrictSeq (ConwayTxCert ConwayEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (\ConwayTxBodyRaw {OSet (TxCert ConwayEra)
ctbrCerts :: forall era. ConwayTxBodyRaw TopTx era -> OSet (TxCert era)
ctbrCerts :: OSet (TxCert ConwayEra)
ctbrCerts} -> OSet (TxCert ConwayEra)
OSet (ConwayTxCert ConwayEra)
ctbrCerts)) ((RawType (TxBody l ConwayEra)
-> StrictSeq (TxCert ConwayEra) -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictSeq (TxCert ConwayEra))
(StrictSeq (TxCert ConwayEra)))
-> (RawType (TxBody l ConwayEra)
-> StrictSeq (TxCert ConwayEra) -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictSeq (TxCert ConwayEra))
(StrictSeq (TxCert ConwayEra))
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb StrictSeq (TxCert ConwayEra)
x -> RawType (TxBody l ConwayEra)
txb {ctbrCerts = OSet.fromStrictSeq x}
{-# INLINE certsTxBodyL #-}
getTotalDepositsTxBody :: forall (l :: TxLevel).
PParams ConwayEra
-> (KeyHash StakePool -> Bool) -> TxBody l ConwayEra -> Coin
getTotalDepositsTxBody = PParams ConwayEra
-> (KeyHash StakePool -> Bool) -> TxBody l ConwayEra -> Coin
forall (l :: TxLevel).
PParams ConwayEra
-> (KeyHash StakePool -> Bool) -> TxBody l ConwayEra -> Coin
conwayTotalDepositsTxBody
getTotalRefundsTxBody :: forall (l :: TxLevel).
PParams ConwayEra
-> (Credential Staking -> Maybe Coin)
-> (Credential DRepRole -> Maybe Coin)
-> TxBody l ConwayEra
-> Coin
getTotalRefundsTxBody PParams ConwayEra
pp Credential Staking -> Maybe Coin
lookupStakingDeposit Credential DRepRole -> Maybe Coin
lookupDRepDeposit TxBody l ConwayEra
txBody =
PParams ConwayEra
-> (Credential Staking -> Maybe Coin)
-> (Credential DRepRole -> Maybe Coin)
-> StrictSeq (TxCert ConwayEra)
-> Coin
forall era (f :: * -> *).
(EraTxCert era, Foldable f) =>
PParams era
-> (Credential Staking -> Maybe Coin)
-> (Credential DRepRole -> Maybe Coin)
-> f (TxCert era)
-> Coin
forall (f :: * -> *).
Foldable f =>
PParams ConwayEra
-> (Credential Staking -> Maybe Coin)
-> (Credential DRepRole -> Maybe Coin)
-> f (TxCert ConwayEra)
-> Coin
getTotalRefundsTxCerts PParams ConwayEra
pp Credential Staking -> Maybe Coin
lookupStakingDeposit Credential DRepRole -> Maybe Coin
lookupDRepDeposit (TxBody l ConwayEra
txBody TxBody l ConwayEra
-> Getting
(StrictSeq (ConwayTxCert ConwayEra))
(TxBody l ConwayEra)
(StrictSeq (ConwayTxCert ConwayEra))
-> StrictSeq (ConwayTxCert ConwayEra)
forall s a. s -> Getting a s a -> a
^. (StrictSeq (TxCert ConwayEra)
-> Const
(StrictSeq (ConwayTxCert ConwayEra))
(StrictSeq (TxCert ConwayEra)))
-> TxBody l ConwayEra
-> Const (StrictSeq (ConwayTxCert ConwayEra)) (TxBody l ConwayEra)
Getting
(StrictSeq (ConwayTxCert ConwayEra))
(TxBody l ConwayEra)
(StrictSeq (ConwayTxCert ConwayEra))
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (StrictSeq (TxCert era))
forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictSeq (TxCert ConwayEra))
certsTxBodyL)
conwayTotalDepositsTxBody ::
PParams ConwayEra ->
(KeyHash StakePool -> Bool) ->
TxBody l ConwayEra ->
Coin
conwayTotalDepositsTxBody :: forall (l :: TxLevel).
PParams ConwayEra
-> (KeyHash StakePool -> Bool) -> TxBody l ConwayEra -> Coin
conwayTotalDepositsTxBody PParams ConwayEra
pp KeyHash StakePool -> Bool
isPoolRegisted TxBody l ConwayEra
txBody =
PParams ConwayEra
-> (KeyHash StakePool -> Bool)
-> StrictSeq (TxCert ConwayEra)
-> Coin
forall era (f :: * -> *).
(EraTxCert era, Foldable f) =>
PParams era
-> (KeyHash StakePool -> Bool) -> f (TxCert era) -> Coin
forall (f :: * -> *).
Foldable f =>
PParams ConwayEra
-> (KeyHash StakePool -> Bool) -> f (TxCert ConwayEra) -> Coin
getTotalDepositsTxCerts PParams ConwayEra
pp KeyHash StakePool -> Bool
isPoolRegisted (TxBody l ConwayEra
txBody TxBody l ConwayEra
-> Getting
(StrictSeq (ConwayTxCert ConwayEra))
(TxBody l ConwayEra)
(StrictSeq (ConwayTxCert ConwayEra))
-> StrictSeq (ConwayTxCert ConwayEra)
forall s a. s -> Getting a s a -> a
^. (StrictSeq (TxCert ConwayEra)
-> Const
(StrictSeq (ConwayTxCert ConwayEra))
(StrictSeq (TxCert ConwayEra)))
-> TxBody l ConwayEra
-> Const (StrictSeq (ConwayTxCert ConwayEra)) (TxBody l ConwayEra)
Getting
(StrictSeq (ConwayTxCert ConwayEra))
(TxBody l ConwayEra)
(StrictSeq (ConwayTxCert ConwayEra))
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (StrictSeq (TxCert era))
forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictSeq (TxCert ConwayEra))
certsTxBodyL)
Coin -> Coin -> Coin
forall t. Val t => t -> t -> t
<+> PParams ConwayEra -> TxBody l ConwayEra -> Coin
forall era (l :: TxLevel).
ConwayEraTxBody era =>
PParams era -> TxBody l era -> Coin
conwayProposalsDeposits PParams ConwayEra
pp TxBody l ConwayEra
txBody
conwayProposalsDeposits ::
ConwayEraTxBody era =>
PParams era ->
TxBody l era ->
Coin
conwayProposalsDeposits :: forall era (l :: TxLevel).
ConwayEraTxBody era =>
PParams era -> TxBody l era -> Coin
conwayProposalsDeposits PParams era
pp TxBody l era
txBody = Int
numProposals Int -> Coin -> Coin
forall i. Integral i => i -> Coin -> Coin
forall t i. (Val t, Integral i) => i -> t -> t
<×> Coin
depositPerProposal
where
numProposals :: Int
numProposals = OSet (ProposalProcedure era) -> Int
forall a. OSet a -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length (TxBody l era
txBody TxBody l era
-> Getting
(OSet (ProposalProcedure era))
(TxBody l era)
(OSet (ProposalProcedure era))
-> OSet (ProposalProcedure era)
forall s a. s -> Getting a s a -> a
^. Getting
(OSet (ProposalProcedure era))
(TxBody l era)
(OSet (ProposalProcedure 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)
depositPerProposal :: Coin
depositPerProposal = PParams era
pp PParams era -> Getting Coin (PParams era) Coin -> Coin
forall s a. s -> Getting a s a -> a
^. Getting Coin (PParams era) Coin
forall era. ConwayEraPParams era => Lens' (PParams era) Coin
Lens' (PParams era) Coin
ppGovActionDepositL
instance AllegraEraTxBody ConwayEra where
vldtTxBodyL :: forall (l :: TxLevel). Lens' (TxBody l ConwayEra) ValidityInterval
vldtTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {ValidityInterval
ctbrVldt :: forall era. ConwayTxBodyRaw TopTx era -> ValidityInterval
ctbrVldt :: ValidityInterval
ctbrVldt} -> ValidityInterval
ctbrVldt) ((RawType (TxBody l ConwayEra)
-> ValidityInterval -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
ValidityInterval
ValidityInterval)
-> (RawType (TxBody l ConwayEra)
-> ValidityInterval -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
ValidityInterval
ValidityInterval
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb ValidityInterval
x -> RawType (TxBody l ConwayEra)
txb {ctbrVldt = x}
{-# INLINE vldtTxBodyL #-}
instance MaryEraTxBody ConwayEra where
mintTxBodyL :: forall (l :: TxLevel). Lens' (TxBody l ConwayEra) MultiAsset
mintTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {MultiAsset
ctbrMint :: forall era. ConwayTxBodyRaw TopTx era -> MultiAsset
ctbrMint :: MultiAsset
ctbrMint} -> MultiAsset
ctbrMint) ((RawType (TxBody l ConwayEra)
-> MultiAsset -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) MultiAsset MultiAsset)
-> (RawType (TxBody l ConwayEra)
-> MultiAsset -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) MultiAsset MultiAsset
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb MultiAsset
x -> RawType (TxBody l ConwayEra)
txb {ctbrMint = x}
{-# INLINE mintTxBodyL #-}
instance AlonzoEraTxBody ConwayEra where
collateralInputsTxBodyL :: Lens' (TxBody TopTx ConwayEra) (Set TxIn)
collateralInputsTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {Set TxIn
ctbrCollateralInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrCollateralInputs :: Set TxIn
ctbrCollateralInputs} -> Set TxIn
ctbrCollateralInputs) ((RawType (TxBody TopTx ConwayEra)
-> Set TxIn -> RawType (TxBody TopTx ConwayEra))
-> Lens' (TxBody TopTx ConwayEra) (Set TxIn))
-> (RawType (TxBody TopTx ConwayEra)
-> Set TxIn -> RawType (TxBody TopTx ConwayEra))
-> Lens' (TxBody TopTx ConwayEra) (Set TxIn)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody TopTx ConwayEra)
txb Set TxIn
x -> RawType (TxBody TopTx ConwayEra)
txb {ctbrCollateralInputs = x}
{-# INLINE collateralInputsTxBodyL #-}
reqSignerHashesTxBodyL :: forall (l :: TxLevel).
AtMostEra "Conway" ConwayEra =>
Lens' (TxBody l ConwayEra) (Set (KeyHash Guard))
reqSignerHashesTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {Set (KeyHash Guard)
ctbrReqSignerHashes :: forall era. ConwayTxBodyRaw TopTx era -> Set (KeyHash Guard)
ctbrReqSignerHashes :: Set (KeyHash Guard)
ctbrReqSignerHashes} -> Set (KeyHash Guard)
ctbrReqSignerHashes) ((RawType (TxBody l ConwayEra)
-> Set (KeyHash Guard) -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(Set (KeyHash Guard))
(Set (KeyHash Guard)))
-> (RawType (TxBody l ConwayEra)
-> Set (KeyHash Guard) -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(Set (KeyHash Guard))
(Set (KeyHash Guard))
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb Set (KeyHash Guard)
x -> RawType (TxBody l ConwayEra)
txb {ctbrReqSignerHashes = x}
{-# INLINE reqSignerHashesTxBodyL #-}
scriptIntegrityHashTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictMaybe ScriptIntegrityHash)
scriptIntegrityHashTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {StrictMaybe ScriptIntegrityHash
ctbrScriptIntegrityHash :: forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe ScriptIntegrityHash
ctbrScriptIntegrityHash :: StrictMaybe ScriptIntegrityHash
ctbrScriptIntegrityHash} -> StrictMaybe ScriptIntegrityHash
ctbrScriptIntegrityHash) ((RawType (TxBody l ConwayEra)
-> StrictMaybe ScriptIntegrityHash -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe ScriptIntegrityHash)
(StrictMaybe ScriptIntegrityHash))
-> (RawType (TxBody l ConwayEra)
-> StrictMaybe ScriptIntegrityHash -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe ScriptIntegrityHash)
(StrictMaybe ScriptIntegrityHash)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb StrictMaybe ScriptIntegrityHash
x -> RawType (TxBody l ConwayEra)
txb {ctbrScriptIntegrityHash = x}
{-# INLINE scriptIntegrityHashTxBodyL #-}
networkIdTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictMaybe Network)
networkIdTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {StrictMaybe Network
ctbrNetworkId :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Network
ctbrNetworkId :: StrictMaybe Network
ctbrNetworkId} -> StrictMaybe Network
ctbrNetworkId) ((RawType (TxBody l ConwayEra)
-> StrictMaybe Network -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe Network)
(StrictMaybe Network))
-> (RawType (TxBody l ConwayEra)
-> StrictMaybe Network -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe Network)
(StrictMaybe Network)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb StrictMaybe Network
x -> RawType (TxBody l ConwayEra)
txb {ctbrNetworkId = x}
{-# INLINE networkIdTxBodyL #-}
redeemerPointer :: forall (l :: TxLevel).
TxBody l ConwayEra
-> PlutusPurpose AsItem ConwayEra
-> StrictMaybe (PlutusPurpose AsIx ConwayEra)
redeemerPointer = TxBody l ConwayEra
-> PlutusPurpose AsItem ConwayEra
-> StrictMaybe (PlutusPurpose AsIx ConwayEra)
TxBody l ConwayEra
-> ConwayPlutusPurpose AsItem ConwayEra
-> StrictMaybe (ConwayPlutusPurpose AsIx ConwayEra)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
TxBody l era
-> ConwayPlutusPurpose AsItem era
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
conwayRedeemerPointer
redeemerPointerInverse :: forall (l :: TxLevel).
TxBody l ConwayEra
-> PlutusPurpose AsIx ConwayEra
-> StrictMaybe (PlutusPurpose AsIxItem ConwayEra)
redeemerPointerInverse = TxBody l ConwayEra
-> PlutusPurpose AsIx ConwayEra
-> StrictMaybe (PlutusPurpose AsIxItem ConwayEra)
TxBody l ConwayEra
-> ConwayPlutusPurpose AsIx ConwayEra
-> StrictMaybe (ConwayPlutusPurpose AsIxItem ConwayEra)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
TxBody l era
-> ConwayPlutusPurpose AsIx era
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
conwayRedeemerPointerInverse
instance BabbageEraTxBody ConwayEra where
sizedOutputsTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictSeq (Sized (TxOut ConwayEra)))
sizedOutputsTxBodyL = forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {StrictSeq (Sized (TxOut ConwayEra))
ctbrOutputs :: forall era.
ConwayTxBodyRaw TopTx era -> StrictSeq (Sized (TxOut era))
ctbrOutputs :: StrictSeq (Sized (TxOut ConwayEra))
ctbrOutputs} -> StrictSeq (Sized (TxOut ConwayEra))
ctbrOutputs) ((RawType (TxBody l ConwayEra)
-> StrictSeq (Sized (TxOut ConwayEra))
-> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictSeq (Sized (TxOut ConwayEra)))
(StrictSeq (Sized (TxOut ConwayEra))))
-> (RawType (TxBody l ConwayEra)
-> StrictSeq (Sized (TxOut ConwayEra))
-> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictSeq (Sized (TxOut ConwayEra)))
(StrictSeq (Sized (TxOut ConwayEra)))
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb StrictSeq (Sized (TxOut ConwayEra))
x -> RawType (TxBody l ConwayEra)
txb {ctbrOutputs = x}
{-# INLINE sizedOutputsTxBodyL #-}
referenceInputsTxBodyL :: forall (l :: TxLevel). Lens' (TxBody l ConwayEra) (Set TxIn)
referenceInputsTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {Set TxIn
ctbrReferenceInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrReferenceInputs :: Set TxIn
ctbrReferenceInputs} -> Set TxIn
ctbrReferenceInputs) ((RawType (TxBody l ConwayEra)
-> Set TxIn -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) (Set TxIn) (Set TxIn))
-> (RawType (TxBody l ConwayEra)
-> Set TxIn -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra) (TxBody l ConwayEra) (Set TxIn) (Set TxIn)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb Set TxIn
x -> RawType (TxBody l ConwayEra)
txb {ctbrReferenceInputs = x}
{-# INLINE referenceInputsTxBodyL #-}
totalCollateralTxBodyL :: Lens' (TxBody TopTx ConwayEra) (StrictMaybe Coin)
totalCollateralTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {StrictMaybe Coin
ctbrTotalCollateral :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrTotalCollateral :: StrictMaybe Coin
ctbrTotalCollateral} -> StrictMaybe Coin
ctbrTotalCollateral) ((RawType (TxBody TopTx ConwayEra)
-> StrictMaybe Coin -> RawType (TxBody TopTx ConwayEra))
-> Lens' (TxBody TopTx ConwayEra) (StrictMaybe Coin))
-> (RawType (TxBody TopTx ConwayEra)
-> StrictMaybe Coin -> RawType (TxBody TopTx ConwayEra))
-> Lens' (TxBody TopTx ConwayEra) (StrictMaybe Coin)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody TopTx ConwayEra)
txb StrictMaybe Coin
x -> RawType (TxBody TopTx ConwayEra)
txb {ctbrTotalCollateral = x}
{-# INLINE totalCollateralTxBodyL #-}
collateralReturnTxBodyL :: Lens' (TxBody TopTx ConwayEra) (StrictMaybe (TxOut ConwayEra))
collateralReturnTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra
((Sized (BabbageTxOut ConwayEra) -> BabbageTxOut ConwayEra)
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (BabbageTxOut ConwayEra)
forall a b. (a -> b) -> StrictMaybe a -> StrictMaybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Sized (BabbageTxOut ConwayEra) -> BabbageTxOut ConwayEra
forall a. Sized a -> a
sizedValue (StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (BabbageTxOut ConwayEra))
-> (ConwayTxBodyRaw TopTx ConwayEra
-> StrictMaybe (Sized (BabbageTxOut ConwayEra)))
-> ConwayTxBodyRaw TopTx ConwayEra
-> StrictMaybe (BabbageTxOut ConwayEra)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (\ConwayTxBodyRaw {StrictMaybe (Sized (TxOut ConwayEra))
ctbrCollateralReturn :: forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe (Sized (TxOut era))
ctbrCollateralReturn :: StrictMaybe (Sized (TxOut ConwayEra))
ctbrCollateralReturn} -> StrictMaybe (Sized (TxOut ConwayEra))
StrictMaybe (Sized (BabbageTxOut ConwayEra))
ctbrCollateralReturn))
((RawType (TxBody TopTx ConwayEra)
-> StrictMaybe (TxOut ConwayEra)
-> RawType (TxBody TopTx ConwayEra))
-> Lens' (TxBody TopTx ConwayEra) (StrictMaybe (TxOut ConwayEra)))
-> (RawType (TxBody TopTx ConwayEra)
-> StrictMaybe (TxOut ConwayEra)
-> RawType (TxBody TopTx ConwayEra))
-> Lens' (TxBody TopTx ConwayEra) (StrictMaybe (TxOut ConwayEra))
forall a b. (a -> b) -> a -> b
$ \RawType (TxBody TopTx ConwayEra)
txb StrictMaybe (TxOut ConwayEra)
x -> RawType (TxBody TopTx ConwayEra)
txb {ctbrCollateralReturn = mkSized (eraProtVerLow @ConwayEra) <$> x}
{-# INLINE collateralReturnTxBodyL #-}
sizedCollateralReturnTxBodyL :: Lens'
(TxBody TopTx ConwayEra) (StrictMaybe (Sized (TxOut ConwayEra)))
sizedCollateralReturnTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {StrictMaybe (Sized (TxOut ConwayEra))
ctbrCollateralReturn :: forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe (Sized (TxOut era))
ctbrCollateralReturn :: StrictMaybe (Sized (TxOut ConwayEra))
ctbrCollateralReturn} -> StrictMaybe (Sized (TxOut ConwayEra))
ctbrCollateralReturn) ((RawType (TxBody TopTx ConwayEra)
-> StrictMaybe (Sized (TxOut ConwayEra))
-> RawType (TxBody TopTx ConwayEra))
-> Lens'
(TxBody TopTx ConwayEra) (StrictMaybe (Sized (TxOut ConwayEra))))
-> (RawType (TxBody TopTx ConwayEra)
-> StrictMaybe (Sized (TxOut ConwayEra))
-> RawType (TxBody TopTx ConwayEra))
-> Lens'
(TxBody TopTx ConwayEra) (StrictMaybe (Sized (TxOut ConwayEra)))
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody TopTx ConwayEra)
txb StrictMaybe (Sized (TxOut ConwayEra))
x -> RawType (TxBody TopTx ConwayEra)
txb {ctbrCollateralReturn = x}
{-# INLINE sizedCollateralReturnTxBodyL #-}
allSizedOutputsTxBodyF :: forall (l :: TxLevel).
SimpleGetter
(TxBody l ConwayEra) (StrictSeq (Sized (TxOut ConwayEra)))
allSizedOutputsTxBodyF = (TxBody l ConwayEra -> StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> SimpleGetter
(TxBody l ConwayEra) (StrictSeq (Sized (BabbageTxOut ConwayEra)))
forall s a. (s -> a) -> SimpleGetter s a
to (TxBody l ConwayEra
-> (TxBody TopTx ConwayEra
-> StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
forall (t :: TxLevel -> * -> *) era (l :: TxLevel) a.
(HasEraTxLevel t era, STxLevel l era ~ STxTopLevel l era) =>
t l era -> (t TopTx era -> a) -> a
`withTopTxLevelOnly` (TxBody TopTx ConwayEra
-> Getting
(StrictSeq (Sized (BabbageTxOut ConwayEra)))
(TxBody TopTx ConwayEra)
(StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
forall s a. s -> Getting a s a -> a
^. Getting
(StrictSeq (Sized (BabbageTxOut ConwayEra)))
(TxBody TopTx ConwayEra)
(StrictSeq (Sized (TxOut ConwayEra)))
Getting
(StrictSeq (Sized (BabbageTxOut ConwayEra)))
(TxBody TopTx ConwayEra)
(StrictSeq (Sized (BabbageTxOut ConwayEra)))
forall era.
BabbageEraTxBody era =>
SimpleGetter (TxBody TopTx era) (StrictSeq (Sized (TxOut era)))
SimpleGetter
(TxBody TopTx ConwayEra) (StrictSeq (Sized (TxOut ConwayEra)))
allSizedOutputsBabbageTxBodyF))
{-# INLINE allSizedOutputsTxBodyF #-}
instance ConwayEraTxBody ConwayEra where
votingProceduresTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (VotingProcedures ConwayEra)
votingProceduresTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {VotingProcedures ConwayEra
ctbrVotingProcedures :: forall era. ConwayTxBodyRaw TopTx era -> VotingProcedures era
ctbrVotingProcedures :: VotingProcedures ConwayEra
ctbrVotingProcedures} -> VotingProcedures ConwayEra
ctbrVotingProcedures) ((RawType (TxBody l ConwayEra)
-> VotingProcedures ConwayEra -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(VotingProcedures ConwayEra)
(VotingProcedures ConwayEra))
-> (RawType (TxBody l ConwayEra)
-> VotingProcedures ConwayEra -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(VotingProcedures ConwayEra)
(VotingProcedures ConwayEra)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb VotingProcedures ConwayEra
x -> RawType (TxBody l ConwayEra)
txb {ctbrVotingProcedures = x}
{-# INLINE votingProceduresTxBodyL #-}
proposalProceduresTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (OSet (ProposalProcedure ConwayEra))
proposalProceduresTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {OSet (ProposalProcedure ConwayEra)
ctbrProposalProcedures :: forall era.
ConwayTxBodyRaw TopTx era -> OSet (ProposalProcedure era)
ctbrProposalProcedures :: OSet (ProposalProcedure ConwayEra)
ctbrProposalProcedures} -> OSet (ProposalProcedure ConwayEra)
ctbrProposalProcedures) ((RawType (TxBody l ConwayEra)
-> OSet (ProposalProcedure ConwayEra)
-> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(OSet (ProposalProcedure ConwayEra))
(OSet (ProposalProcedure ConwayEra)))
-> (RawType (TxBody l ConwayEra)
-> OSet (ProposalProcedure ConwayEra)
-> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(OSet (ProposalProcedure ConwayEra))
(OSet (ProposalProcedure ConwayEra))
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb OSet (ProposalProcedure ConwayEra)
x -> RawType (TxBody l ConwayEra)
txb {ctbrProposalProcedures = x}
{-# INLINE proposalProceduresTxBodyL #-}
currentTreasuryValueTxBodyL :: forall (l :: TxLevel).
Lens' (TxBody l ConwayEra) (StrictMaybe Coin)
currentTreasuryValueTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {StrictMaybe Coin
ctbrCurrentTreasuryValue :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrCurrentTreasuryValue :: StrictMaybe Coin
ctbrCurrentTreasuryValue} -> StrictMaybe Coin
ctbrCurrentTreasuryValue) ((RawType (TxBody l ConwayEra)
-> StrictMaybe Coin -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe Coin)
(StrictMaybe Coin))
-> (RawType (TxBody l ConwayEra)
-> StrictMaybe Coin -> RawType (TxBody l ConwayEra))
-> Lens
(TxBody l ConwayEra)
(TxBody l ConwayEra)
(StrictMaybe Coin)
(StrictMaybe Coin)
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb StrictMaybe Coin
x -> RawType (TxBody l ConwayEra)
txb {ctbrCurrentTreasuryValue = x}
{-# INLINE currentTreasuryValueTxBodyL #-}
treasuryDonationTxBodyL :: forall (l :: TxLevel). Lens' (TxBody l ConwayEra) Coin
treasuryDonationTxBodyL =
forall era t a b.
(Era era, EncCBOR (RawType t), Memoized t) =>
(RawType t -> a) -> (RawType t -> b -> RawType t) -> Lens t t a b
lensMemoRawType @ConwayEra (\ConwayTxBodyRaw {Coin
ctbrTreasuryDonation :: forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrTreasuryDonation :: Coin
ctbrTreasuryDonation} -> Coin
ctbrTreasuryDonation) ((RawType (TxBody l ConwayEra)
-> Coin -> RawType (TxBody l ConwayEra))
-> Lens (TxBody l ConwayEra) (TxBody l ConwayEra) Coin Coin)
-> (RawType (TxBody l ConwayEra)
-> Coin -> RawType (TxBody l ConwayEra))
-> Lens (TxBody l ConwayEra) (TxBody l ConwayEra) Coin Coin
forall a b. (a -> b) -> a -> b
$
\RawType (TxBody l ConwayEra)
txb Coin
x -> RawType (TxBody l ConwayEra)
txb {ctbrTreasuryDonation = x}
{-# INLINE treasuryDonationTxBodyL #-}
instance EqRaw (TxBody l ConwayEra)
pattern ConwayTxBody ::
Set TxIn ->
Set TxIn ->
Set TxIn ->
StrictSeq (Sized (TxOut ConwayEra)) ->
StrictMaybe (Sized (TxOut ConwayEra)) ->
StrictMaybe Coin ->
OSet.OSet (TxCert ConwayEra) ->
Withdrawals ->
Coin ->
ValidityInterval ->
Set (KeyHash Guard) ->
MultiAsset ->
StrictMaybe ScriptIntegrityHash ->
StrictMaybe TxAuxDataHash ->
StrictMaybe Network ->
VotingProcedures ConwayEra ->
OSet.OSet (ProposalProcedure ConwayEra) ->
StrictMaybe Coin ->
Coin ->
TxBody TopTx ConwayEra
pattern $mConwayTxBody :: forall {r}.
TxBody TopTx ConwayEra
-> (Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut ConwayEra))
-> StrictMaybe (Sized (TxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (TxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> r)
-> ((# #) -> r)
-> r
$bConwayTxBody :: Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut ConwayEra))
-> StrictMaybe (Sized (TxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (TxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> TxBody TopTx ConwayEra
ConwayTxBody
{ TxBody TopTx ConwayEra -> Set TxIn
ctbSpendInputs
, TxBody TopTx ConwayEra -> Set TxIn
ctbCollateralInputs
, TxBody TopTx ConwayEra -> Set TxIn
ctbReferenceInputs
, TxBody TopTx ConwayEra -> StrictSeq (Sized (TxOut ConwayEra))
ctbOutputs
, TxBody TopTx ConwayEra -> StrictMaybe (Sized (TxOut ConwayEra))
ctbCollateralReturn
, TxBody TopTx ConwayEra -> StrictMaybe Coin
ctbTotalCollateral
, TxBody TopTx ConwayEra -> OSet (TxCert ConwayEra)
ctbCerts
, TxBody TopTx ConwayEra -> Withdrawals
ctbWithdrawals
, TxBody TopTx ConwayEra -> Coin
ctbTxfee
, TxBody TopTx ConwayEra -> ValidityInterval
ctbVldt
, TxBody TopTx ConwayEra -> Set (KeyHash Guard)
ctbReqSignerHashes
, TxBody TopTx ConwayEra -> MultiAsset
ctbMint
, TxBody TopTx ConwayEra -> StrictMaybe ScriptIntegrityHash
ctbScriptIntegrityHash
, TxBody TopTx ConwayEra -> StrictMaybe TxAuxDataHash
ctbAdHash
, TxBody TopTx ConwayEra -> StrictMaybe Network
ctbTxNetworkId
, TxBody TopTx ConwayEra -> VotingProcedures ConwayEra
ctbVotingProcedures
, TxBody TopTx ConwayEra -> OSet (ProposalProcedure ConwayEra)
ctbProposalProcedures
, TxBody TopTx ConwayEra -> StrictMaybe Coin
ctbCurrentTreasuryValue
, TxBody TopTx ConwayEra -> Coin
ctbTreasuryDonation
} <-
( getMemoRawType ->
ConwayTxBodyRaw
{ ctbrSpendInputs = ctbSpendInputs
, ctbrCollateralInputs = ctbCollateralInputs
, ctbrReferenceInputs = ctbReferenceInputs
, ctbrOutputs = ctbOutputs
, ctbrCollateralReturn = ctbCollateralReturn
, ctbrTotalCollateral = ctbTotalCollateral
, ctbrCerts = ctbCerts
, ctbrWithdrawals = ctbWithdrawals
, ctbrFee = ctbTxfee
, ctbrVldt = ctbVldt
, ctbrReqSignerHashes = ctbReqSignerHashes
, ctbrMint = ctbMint
, ctbrScriptIntegrityHash = ctbScriptIntegrityHash
, ctbrAuxDataHash = ctbAdHash
, ctbrNetworkId = ctbTxNetworkId
, ctbrVotingProcedures = ctbVotingProcedures
, ctbrProposalProcedures = ctbProposalProcedures
, ctbrCurrentTreasuryValue = ctbCurrentTreasuryValue
, ctbrTreasuryDonation = ctbTreasuryDonation
}
)
where
ConwayTxBody
Set TxIn
inputsX
Set TxIn
collateralX
Set TxIn
referenceInputsX
StrictSeq (Sized (TxOut ConwayEra))
outputsX
StrictMaybe (Sized (TxOut ConwayEra))
collateralReturnX
StrictMaybe Coin
totalCollateralX
OSet (TxCert ConwayEra)
certsX
Withdrawals
withdrawalsX
Coin
txfeeX
ValidityInterval
vldtX
Set (KeyHash Guard)
reqSignerHashesX
MultiAsset
mintX
StrictMaybe ScriptIntegrityHash
scriptIntegrityHashX
StrictMaybe TxAuxDataHash
adHashX
StrictMaybe Network
txnetworkidX
VotingProcedures ConwayEra
votingProcedures
OSet (ProposalProcedure ConwayEra)
proposalProcedures
StrictMaybe Coin
currentTreasuryValue
Coin
treasuryDonation =
forall era t.
(Era era, EncCBOR (RawType t), Memoized t) =>
RawType t -> t
mkMemoizedEra @ConwayEra (RawType (TxBody TopTx ConwayEra) -> TxBody TopTx ConwayEra)
-> RawType (TxBody TopTx ConwayEra) -> TxBody TopTx ConwayEra
forall a b. (a -> b) -> a -> b
$
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut ConwayEra))
-> StrictMaybe (Sized (TxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (TxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw TopTx ConwayEra
forall era.
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut era))
-> StrictMaybe (Sized (TxOut era))
-> StrictMaybe Coin
-> OSet (TxCert era)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw TopTx era
ConwayTxBodyRaw
Set TxIn
inputsX
Set TxIn
collateralX
Set TxIn
referenceInputsX
StrictSeq (Sized (TxOut ConwayEra))
outputsX
StrictMaybe (Sized (TxOut ConwayEra))
collateralReturnX
StrictMaybe Coin
totalCollateralX
OSet (TxCert ConwayEra)
certsX
Withdrawals
withdrawalsX
Coin
txfeeX
ValidityInterval
vldtX
Set (KeyHash Guard)
reqSignerHashesX
MultiAsset
mintX
StrictMaybe ScriptIntegrityHash
scriptIntegrityHashX
StrictMaybe TxAuxDataHash
adHashX
StrictMaybe Network
txnetworkidX
VotingProcedures ConwayEra
votingProcedures
OSet (ProposalProcedure ConwayEra)
proposalProcedures
StrictMaybe Coin
currentTreasuryValue
Coin
treasuryDonation
{-# COMPLETE ConwayTxBody #-}
encodeTxBodyRaw ::
ConwayTxBodyRaw l ConwayEra ->
Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra)
encodeTxBodyRaw :: forall (l :: TxLevel).
ConwayTxBodyRaw l ConwayEra
-> Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra)
encodeTxBodyRaw ConwayTxBodyRaw {OSet (TxCert ConwayEra)
OSet (ProposalProcedure ConwayEra)
Set (KeyHash Guard)
Set TxIn
StrictMaybe ScriptIntegrityHash
StrictMaybe TxAuxDataHash
StrictMaybe (Sized (TxOut ConwayEra))
StrictMaybe Network
StrictMaybe Coin
ValidityInterval
Withdrawals
Coin
MultiAsset
StrictSeq (Sized (TxOut ConwayEra))
VotingProcedures ConwayEra
ctbrSpendInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrCollateralInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrReferenceInputs :: forall era. ConwayTxBodyRaw TopTx era -> Set TxIn
ctbrOutputs :: forall era.
ConwayTxBodyRaw TopTx era -> StrictSeq (Sized (TxOut era))
ctbrCollateralReturn :: forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe (Sized (TxOut era))
ctbrTotalCollateral :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrCerts :: forall era. ConwayTxBodyRaw TopTx era -> OSet (TxCert era)
ctbrWithdrawals :: forall era. ConwayTxBodyRaw TopTx era -> Withdrawals
ctbrFee :: forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrVldt :: forall era. ConwayTxBodyRaw TopTx era -> ValidityInterval
ctbrReqSignerHashes :: forall era. ConwayTxBodyRaw TopTx era -> Set (KeyHash Guard)
ctbrMint :: forall era. ConwayTxBodyRaw TopTx era -> MultiAsset
ctbrScriptIntegrityHash :: forall era.
ConwayTxBodyRaw TopTx era -> StrictMaybe ScriptIntegrityHash
ctbrAuxDataHash :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe TxAuxDataHash
ctbrNetworkId :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Network
ctbrVotingProcedures :: forall era. ConwayTxBodyRaw TopTx era -> VotingProcedures era
ctbrProposalProcedures :: forall era.
ConwayTxBodyRaw TopTx era -> OSet (ProposalProcedure era)
ctbrCurrentTreasuryValue :: forall era. ConwayTxBodyRaw TopTx era -> StrictMaybe Coin
ctbrTreasuryDonation :: forall era. ConwayTxBodyRaw TopTx era -> Coin
ctbrSpendInputs :: Set TxIn
ctbrCollateralInputs :: Set TxIn
ctbrReferenceInputs :: Set TxIn
ctbrOutputs :: StrictSeq (Sized (TxOut ConwayEra))
ctbrCollateralReturn :: StrictMaybe (Sized (TxOut ConwayEra))
ctbrTotalCollateral :: StrictMaybe Coin
ctbrCerts :: OSet (TxCert ConwayEra)
ctbrWithdrawals :: Withdrawals
ctbrFee :: Coin
ctbrVldt :: ValidityInterval
ctbrReqSignerHashes :: Set (KeyHash Guard)
ctbrMint :: MultiAsset
ctbrScriptIntegrityHash :: StrictMaybe ScriptIntegrityHash
ctbrAuxDataHash :: StrictMaybe TxAuxDataHash
ctbrNetworkId :: StrictMaybe Network
ctbrVotingProcedures :: VotingProcedures ConwayEra
ctbrProposalProcedures :: OSet (ProposalProcedure ConwayEra)
ctbrCurrentTreasuryValue :: StrictMaybe Coin
ctbrTreasuryDonation :: Coin
..} =
let ValidityInterval StrictMaybe SlotNo
bot StrictMaybe SlotNo
top = ValidityInterval
ctbrVldt
in (Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode
(Closed Sparse)
(Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall t. t -> Encode (Closed Sparse) t
Keyed
( \Set TxIn
i Set TxIn
ci Set TxIn
ri StrictSeq (Sized (BabbageTxOut ConwayEra))
o StrictMaybe (Sized (BabbageTxOut ConwayEra))
cr StrictMaybe Coin
tc Coin
f StrictMaybe SlotNo
t OSet (ConwayTxCert ConwayEra)
c Withdrawals
w StrictMaybe SlotNo
b ->
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut ConwayEra))
-> StrictMaybe (Sized (TxOut ConwayEra))
-> StrictMaybe Coin
-> OSet (TxCert ConwayEra)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw TopTx ConwayEra
forall era.
Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (TxOut era))
-> StrictMaybe (Sized (TxOut era))
-> StrictMaybe Coin
-> OSet (TxCert era)
-> Withdrawals
-> Coin
-> ValidityInterval
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures era
-> OSet (ProposalProcedure era)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw TopTx era
ConwayTxBodyRaw Set TxIn
i Set TxIn
ci Set TxIn
ri StrictSeq (Sized (TxOut ConwayEra))
StrictSeq (Sized (BabbageTxOut ConwayEra))
o StrictMaybe (Sized (TxOut ConwayEra))
StrictMaybe (Sized (BabbageTxOut ConwayEra))
cr StrictMaybe Coin
tc OSet (TxCert ConwayEra)
OSet (ConwayTxCert ConwayEra)
c Withdrawals
w Coin
f (StrictMaybe SlotNo -> StrictMaybe SlotNo -> ValidityInterval
ValidityInterval StrictMaybe SlotNo
b StrictMaybe SlotNo
t)
)
Encode
(Closed Sparse)
(Set TxIn
-> Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (Set TxIn)
-> Encode
(Closed Sparse)
(Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> Encode (Closed Dense) (Set TxIn)
-> Encode (Closed Sparse) (Set TxIn)
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
0 (Set TxIn -> Encode (Closed Dense) (Set TxIn)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Set TxIn
ctbrSpendInputs)
Encode
(Closed Sparse)
(Set TxIn
-> Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (Set TxIn)
-> Encode
(Closed Sparse)
(Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (Set TxIn -> Bool)
-> Encode (Closed Sparse) (Set TxIn)
-> Encode (Closed Sparse) (Set TxIn)
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit Set TxIn -> Bool
forall a. Set a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null (Word
-> Encode (Closed Dense) (Set TxIn)
-> Encode (Closed Sparse) (Set TxIn)
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
13 (Set TxIn -> Encode (Closed Dense) (Set TxIn)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Set TxIn
ctbrCollateralInputs))
Encode
(Closed Sparse)
(Set TxIn
-> StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (Set TxIn)
-> Encode
(Closed Sparse)
(StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (Set TxIn -> Bool)
-> Encode (Closed Sparse) (Set TxIn)
-> Encode (Closed Sparse) (Set TxIn)
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit Set TxIn -> Bool
forall a. Set a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null (Word
-> Encode (Closed Dense) (Set TxIn)
-> Encode (Closed Sparse) (Set TxIn)
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
18 (Set TxIn -> Encode (Closed Dense) (Set TxIn)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Set TxIn
ctbrReferenceInputs))
Encode
(Closed Sparse)
(StrictSeq (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode
(Closed Sparse) (StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> Encode
(Closed Sparse)
(StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> Encode
(Closed Dense) (StrictSeq (Sized (BabbageTxOut ConwayEra)))
-> Encode
(Closed Sparse) (StrictSeq (Sized (BabbageTxOut ConwayEra)))
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
1 (StrictSeq (Sized (BabbageTxOut ConwayEra))
-> Encode
(Closed Dense) (StrictSeq (Sized (BabbageTxOut ConwayEra)))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To StrictSeq (Sized (TxOut ConwayEra))
StrictSeq (Sized (BabbageTxOut ConwayEra))
ctbrOutputs)
Encode
(Closed Sparse)
(StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode
(Closed Sparse) (StrictMaybe (Sized (BabbageTxOut ConwayEra)))
-> Encode
(Closed Sparse)
(StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe (Sized (BabbageTxOut ConwayEra))
-> Encode
(Closed Sparse) (StrictMaybe (Sized (BabbageTxOut ConwayEra)))
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
16 StrictMaybe (Sized (TxOut ConwayEra))
StrictMaybe (Sized (BabbageTxOut ConwayEra))
ctbrCollateralReturn
Encode
(Closed Sparse)
(StrictMaybe Coin
-> Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (StrictMaybe Coin)
-> Encode
(Closed Sparse)
(Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe Coin -> Encode (Closed Sparse) (StrictMaybe Coin)
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
17 StrictMaybe Coin
ctbrTotalCollateral
Encode
(Closed Sparse)
(Coin
-> StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) Coin
-> Encode
(Closed Sparse)
(StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word -> Encode (Closed Dense) Coin -> Encode (Closed Sparse) Coin
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
2 (Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
ctbrFee)
Encode
(Closed Sparse)
(StrictMaybe SlotNo
-> OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (StrictMaybe SlotNo)
-> Encode
(Closed Sparse)
(OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe SlotNo
-> Encode (Closed Sparse) (StrictMaybe SlotNo)
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
3 StrictMaybe SlotNo
top
Encode
(Closed Sparse)
(OSet (ConwayTxCert ConwayEra)
-> Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (OSet (ConwayTxCert ConwayEra))
-> Encode
(Closed Sparse)
(Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (OSet (ConwayTxCert ConwayEra) -> Bool)
-> Encode (Closed Sparse) (OSet (ConwayTxCert ConwayEra))
-> Encode (Closed Sparse) (OSet (ConwayTxCert ConwayEra))
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit OSet (ConwayTxCert ConwayEra) -> Bool
forall a. OSet a -> Bool
OSet.null (Word
-> Encode (Closed Dense) (OSet (ConwayTxCert ConwayEra))
-> Encode (Closed Sparse) (OSet (ConwayTxCert ConwayEra))
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
4 (OSet (ConwayTxCert ConwayEra)
-> Encode (Closed Dense) (OSet (ConwayTxCert ConwayEra))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To OSet (TxCert ConwayEra)
OSet (ConwayTxCert ConwayEra)
ctbrCerts))
Encode
(Closed Sparse)
(Withdrawals
-> StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) Withdrawals
-> Encode
(Closed Sparse)
(StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (Withdrawals -> Bool)
-> Encode (Closed Sparse) Withdrawals
-> Encode (Closed Sparse) Withdrawals
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit (Map RewardAccount Coin -> Bool
forall a. Map RewardAccount a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null (Map RewardAccount Coin -> Bool)
-> (Withdrawals -> Map RewardAccount Coin) -> Withdrawals -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Withdrawals -> Map RewardAccount Coin
unWithdrawals) (Word
-> Encode (Closed Dense) Withdrawals
-> Encode (Closed Sparse) Withdrawals
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
5 (Withdrawals -> Encode (Closed Dense) Withdrawals
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Withdrawals
ctbrWithdrawals))
Encode
(Closed Sparse)
(StrictMaybe SlotNo
-> Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (StrictMaybe SlotNo)
-> Encode
(Closed Sparse)
(Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe SlotNo
-> Encode (Closed Sparse) (StrictMaybe SlotNo)
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
8 StrictMaybe SlotNo
bot
Encode
(Closed Sparse)
(Set (KeyHash Guard)
-> MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (Set (KeyHash Guard))
-> Encode
(Closed Sparse)
(MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (Set (KeyHash Guard) -> Bool)
-> Encode (Closed Sparse) (Set (KeyHash Guard))
-> Encode (Closed Sparse) (Set (KeyHash Guard))
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit Set (KeyHash Guard) -> Bool
forall a. Set a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null (Word
-> Encode (Closed Dense) (Set (KeyHash Guard))
-> Encode (Closed Sparse) (Set (KeyHash Guard))
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
14 (Set (KeyHash Guard) -> Encode (Closed Dense) (Set (KeyHash Guard))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Set (KeyHash Guard)
ctbrReqSignerHashes))
Encode
(Closed Sparse)
(MultiAsset
-> StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) MultiAsset
-> Encode
(Closed Sparse)
(StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (MultiAsset -> Bool)
-> Encode (Closed Sparse) MultiAsset
-> Encode (Closed Sparse) MultiAsset
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit (MultiAsset -> MultiAsset -> Bool
forall a. Eq a => a -> a -> Bool
== MultiAsset
forall a. Monoid a => a
mempty) (Word
-> Encode (Closed Dense) MultiAsset
-> Encode (Closed Sparse) MultiAsset
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
9 (MultiAsset -> Encode (Closed Dense) MultiAsset
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To MultiAsset
ctbrMint))
Encode
(Closed Sparse)
(StrictMaybe ScriptIntegrityHash
-> StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (StrictMaybe ScriptIntegrityHash)
-> Encode
(Closed Sparse)
(StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe ScriptIntegrityHash
-> Encode (Closed Sparse) (StrictMaybe ScriptIntegrityHash)
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
11 StrictMaybe ScriptIntegrityHash
ctbrScriptIntegrityHash
Encode
(Closed Sparse)
(StrictMaybe TxAuxDataHash
-> StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (StrictMaybe TxAuxDataHash)
-> Encode
(Closed Sparse)
(StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe TxAuxDataHash
-> Encode (Closed Sparse) (StrictMaybe TxAuxDataHash)
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
7 StrictMaybe TxAuxDataHash
ctbrAuxDataHash
Encode
(Closed Sparse)
(StrictMaybe Network
-> VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (StrictMaybe Network)
-> Encode
(Closed Sparse)
(VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe Network
-> Encode (Closed Sparse) (StrictMaybe Network)
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
15 StrictMaybe Network
ctbrNetworkId
Encode
(Closed Sparse)
(VotingProcedures ConwayEra
-> OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin
-> Coin
-> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (VotingProcedures ConwayEra)
-> Encode
(Closed Sparse)
(OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin -> Coin -> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (VotingProcedures ConwayEra -> Bool)
-> Encode (Closed Sparse) (VotingProcedures ConwayEra)
-> Encode (Closed Sparse) (VotingProcedures ConwayEra)
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit (Map Voter (Map GovActionId (VotingProcedure ConwayEra)) -> Bool
forall a. Map Voter a -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null (Map Voter (Map GovActionId (VotingProcedure ConwayEra)) -> Bool)
-> (VotingProcedures ConwayEra
-> Map Voter (Map GovActionId (VotingProcedure ConwayEra)))
-> VotingProcedures ConwayEra
-> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. VotingProcedures ConwayEra
-> Map Voter (Map GovActionId (VotingProcedure ConwayEra))
forall era.
VotingProcedures era
-> Map Voter (Map GovActionId (VotingProcedure era))
unVotingProcedures) (Word
-> Encode (Closed Dense) (VotingProcedures ConwayEra)
-> Encode (Closed Sparse) (VotingProcedures ConwayEra)
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
19 (VotingProcedures ConwayEra
-> Encode (Closed Dense) (VotingProcedures ConwayEra)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To VotingProcedures ConwayEra
ctbrVotingProcedures))
Encode
(Closed Sparse)
(OSet (ProposalProcedure ConwayEra)
-> StrictMaybe Coin -> Coin -> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (OSet (ProposalProcedure ConwayEra))
-> Encode
(Closed Sparse)
(StrictMaybe Coin -> Coin -> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (OSet (ProposalProcedure ConwayEra) -> Bool)
-> Encode (Closed Sparse) (OSet (ProposalProcedure ConwayEra))
-> Encode (Closed Sparse) (OSet (ProposalProcedure ConwayEra))
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit OSet (ProposalProcedure ConwayEra) -> Bool
forall a. OSet a -> Bool
OSet.null (Word
-> Encode (Closed Dense) (OSet (ProposalProcedure ConwayEra))
-> Encode (Closed Sparse) (OSet (ProposalProcedure ConwayEra))
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
20 (OSet (ProposalProcedure ConwayEra)
-> Encode (Closed Dense) (OSet (ProposalProcedure ConwayEra))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To OSet (ProposalProcedure ConwayEra)
ctbrProposalProcedures))
Encode
(Closed Sparse)
(StrictMaybe Coin -> Coin -> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) (StrictMaybe Coin)
-> Encode (Closed Sparse) (Coin -> ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Word
-> StrictMaybe Coin -> Encode (Closed Sparse) (StrictMaybe Coin)
forall a.
EncCBOR a =>
Word -> StrictMaybe a -> Encode (Closed Sparse) (StrictMaybe a)
encodeKeyedStrictMaybe Word
21 StrictMaybe Coin
ctbrCurrentTreasuryValue
Encode (Closed Sparse) (Coin -> ConwayTxBodyRaw l ConwayEra)
-> Encode (Closed Sparse) Coin
-> Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> (Coin -> Bool)
-> Encode (Closed Sparse) Coin -> Encode (Closed Sparse) Coin
forall t.
(t -> Bool) -> Encode (Closed Sparse) t -> Encode (Closed Sparse) t
Omit (Coin -> Coin -> Bool
forall a. Eq a => a -> a -> Bool
== Coin
forall a. Monoid a => a
mempty) (Word -> Encode (Closed Dense) Coin -> Encode (Closed Sparse) Coin
forall t.
Word -> Encode (Closed Dense) t -> Encode (Closed Sparse) t
Key Word
22 (Encode (Closed Dense) Coin -> Encode (Closed Sparse) Coin)
-> Encode (Closed Dense) Coin -> Encode (Closed Sparse) Coin
forall a b. (a -> b) -> a -> b
$ Coin -> Encode (Closed Dense) Coin
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Coin
ctbrTreasuryDonation)
instance EncCBOR (ConwayTxBodyRaw l ConwayEra) where
encCBOR :: ConwayTxBodyRaw l ConwayEra -> Encoding
encCBOR = Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra) -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra) -> Encoding)
-> (ConwayTxBodyRaw l ConwayEra
-> Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra))
-> ConwayTxBodyRaw l ConwayEra
-> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayTxBodyRaw l ConwayEra
-> Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra)
forall (l :: TxLevel).
ConwayTxBodyRaw l ConwayEra
-> Encode (Closed Sparse) (ConwayTxBodyRaw l ConwayEra)
encodeTxBodyRaw
deriving newtype instance EncCBOR (TxBody l ConwayEra)
class
(BabbageEraTxBody era, ConwayEraTxCert era, ConwayEraPParams era, ConwayEraScript era) =>
ConwayEraTxBody era
where
currentTreasuryValueTxBodyL :: Lens' (TxBody l era) (StrictMaybe Coin)
votingProceduresTxBodyL :: Lens' (TxBody l era) (VotingProcedures era)
proposalProceduresTxBodyL :: Lens' (TxBody l era) (OSet.OSet (ProposalProcedure era))
treasuryDonationTxBodyL :: Lens' (TxBody l era) Coin
conwayRedeemerPointer ::
forall era l.
ConwayEraTxBody era =>
TxBody l era ->
ConwayPlutusPurpose AsItem era ->
StrictMaybe (ConwayPlutusPurpose AsIx era)
conwayRedeemerPointer :: forall era (l :: TxLevel).
ConwayEraTxBody era =>
TxBody l era
-> ConwayPlutusPurpose AsItem era
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
conwayRedeemerPointer TxBody l era
txBody = \case
ConwayMinting AsItem Word32 PolicyID
policyID ->
AsIx Word32 PolicyID -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 PolicyID -> ConwayPlutusPurpose f era
ConwayMinting (AsIx Word32 PolicyID -> ConwayPlutusPurpose AsIx era)
-> StrictMaybe (AsIx Word32 PolicyID)
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsItem Word32 PolicyID
-> Set PolicyID -> StrictMaybe (AsIx Word32 PolicyID)
forall elem container.
Indexable elem container =>
AsItem Word32 elem -> container -> StrictMaybe (AsIx Word32 elem)
indexOf AsItem Word32 PolicyID
policyID (TxBody l era
txBody TxBody l era
-> Getting (Set PolicyID) (TxBody l era) (Set PolicyID)
-> Set PolicyID
forall s a. s -> Getting a s a -> a
^. Getting (Set PolicyID) (TxBody l era) (Set PolicyID)
forall era (l :: TxLevel).
MaryEraTxBody era =>
SimpleGetter (TxBody l era) (Set PolicyID)
forall (l :: TxLevel). SimpleGetter (TxBody l era) (Set PolicyID)
mintedTxBodyF)
ConwaySpending AsItem Word32 TxIn
txIn ->
AsIx Word32 TxIn -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 TxIn -> ConwayPlutusPurpose f era
ConwaySpending (AsIx Word32 TxIn -> ConwayPlutusPurpose AsIx era)
-> StrictMaybe (AsIx Word32 TxIn)
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsItem Word32 TxIn -> Set TxIn -> StrictMaybe (AsIx Word32 TxIn)
forall elem container.
Indexable elem container =>
AsItem Word32 elem -> container -> StrictMaybe (AsIx Word32 elem)
indexOf AsItem Word32 TxIn
txIn (TxBody l era
txBody TxBody l era
-> Getting (Set TxIn) (TxBody l era) (Set TxIn) -> Set TxIn
forall s a. s -> Getting a s a -> a
^. Getting (Set TxIn) (TxBody l era) (Set TxIn)
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (Set TxIn)
forall (l :: TxLevel). Lens' (TxBody l era) (Set TxIn)
inputsTxBodyL)
ConwayRewarding AsItem Word32 RewardAccount
rewardAccount ->
AsIx Word32 RewardAccount -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 RewardAccount -> ConwayPlutusPurpose f era
ConwayRewarding (AsIx Word32 RewardAccount -> ConwayPlutusPurpose AsIx era)
-> StrictMaybe (AsIx Word32 RewardAccount)
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsItem Word32 RewardAccount
-> Map RewardAccount Coin
-> StrictMaybe (AsIx Word32 RewardAccount)
forall elem container.
Indexable elem container =>
AsItem Word32 elem -> container -> StrictMaybe (AsIx Word32 elem)
indexOf AsItem Word32 RewardAccount
rewardAccount (Withdrawals -> Map RewardAccount Coin
unWithdrawals (TxBody l era
txBody TxBody l era
-> Getting Withdrawals (TxBody l era) Withdrawals -> Withdrawals
forall s a. s -> Getting a s a -> a
^. Getting Withdrawals (TxBody l era) Withdrawals
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) Withdrawals
forall (l :: TxLevel). Lens' (TxBody l era) Withdrawals
withdrawalsTxBodyL))
ConwayCertifying AsItem Word32 (TxCert era)
txCert ->
AsIx Word32 (TxCert era) -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 (TxCert era) -> ConwayPlutusPurpose f era
ConwayCertifying (AsIx Word32 (TxCert era) -> ConwayPlutusPurpose AsIx era)
-> StrictMaybe (AsIx Word32 (TxCert era))
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsItem Word32 (TxCert era)
-> StrictSeq (TxCert era) -> StrictMaybe (AsIx Word32 (TxCert era))
forall elem container.
Indexable elem container =>
AsItem Word32 elem -> container -> StrictMaybe (AsIx Word32 elem)
indexOf AsItem Word32 (TxCert era)
txCert (TxBody l era
txBody TxBody l era
-> Getting
(StrictSeq (TxCert era)) (TxBody l era) (StrictSeq (TxCert era))
-> StrictSeq (TxCert era)
forall s a. s -> Getting a s a -> a
^. Getting
(StrictSeq (TxCert era)) (TxBody l era) (StrictSeq (TxCert era))
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (StrictSeq (TxCert era))
forall (l :: TxLevel).
Lens' (TxBody l era) (StrictSeq (TxCert era))
certsTxBodyL)
ConwayVoting AsItem Word32 Voter
votingProcedure ->
AsIx Word32 Voter -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 Voter -> ConwayPlutusPurpose f era
ConwayVoting (AsIx Word32 Voter -> ConwayPlutusPurpose AsIx era)
-> StrictMaybe (AsIx Word32 Voter)
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsItem Word32 Voter
-> VotingProcedures era -> StrictMaybe (AsIx Word32 Voter)
forall elem container.
Indexable elem container =>
AsItem Word32 elem -> container -> StrictMaybe (AsIx Word32 elem)
indexOf AsItem Word32 Voter
votingProcedure (TxBody l era
txBody TxBody l era
-> Getting
(VotingProcedures era) (TxBody l era) (VotingProcedures era)
-> VotingProcedures era
forall s a. s -> Getting a s a -> a
^. Getting
(VotingProcedures era) (TxBody l era) (VotingProcedures era)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
Lens' (TxBody l era) (VotingProcedures era)
forall (l :: TxLevel). Lens' (TxBody l era) (VotingProcedures era)
votingProceduresTxBodyL)
ConwayProposing AsItem Word32 (ProposalProcedure era)
proposalProcedure ->
AsIx Word32 (ProposalProcedure era) -> ConwayPlutusPurpose AsIx era
forall (f :: * -> * -> *) era.
f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era
ConwayProposing (AsIx Word32 (ProposalProcedure era)
-> ConwayPlutusPurpose AsIx era)
-> StrictMaybe (AsIx Word32 (ProposalProcedure era))
-> StrictMaybe (ConwayPlutusPurpose AsIx era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsItem Word32 (ProposalProcedure era)
-> OSet (ProposalProcedure era)
-> StrictMaybe (AsIx Word32 (ProposalProcedure era))
forall elem container.
Indexable elem container =>
AsItem Word32 elem -> container -> StrictMaybe (AsIx Word32 elem)
indexOf AsItem Word32 (ProposalProcedure era)
proposalProcedure (TxBody l era
txBody TxBody l era
-> Getting
(OSet (ProposalProcedure era))
(TxBody l era)
(OSet (ProposalProcedure era))
-> OSet (ProposalProcedure era)
forall s a. s -> Getting a s a -> a
^. Getting
(OSet (ProposalProcedure era))
(TxBody l era)
(OSet (ProposalProcedure 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)
conwayRedeemerPointerInverse ::
ConwayEraTxBody era =>
TxBody l era ->
ConwayPlutusPurpose AsIx era ->
StrictMaybe (ConwayPlutusPurpose AsIxItem era)
conwayRedeemerPointerInverse :: forall era (l :: TxLevel).
ConwayEraTxBody era =>
TxBody l era
-> ConwayPlutusPurpose AsIx era
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
conwayRedeemerPointerInverse TxBody l era
txBody = \case
ConwayMinting AsIx Word32 PolicyID
idx ->
AsIxItem Word32 PolicyID -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 PolicyID -> ConwayPlutusPurpose f era
ConwayMinting (AsIxItem Word32 PolicyID -> ConwayPlutusPurpose AsIxItem era)
-> StrictMaybe (AsIxItem Word32 PolicyID)
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsIx Word32 PolicyID
-> Set PolicyID -> StrictMaybe (AsIxItem Word32 PolicyID)
forall elem container.
Indexable elem container =>
AsIx Word32 elem -> container -> StrictMaybe (AsIxItem Word32 elem)
fromIndex AsIx Word32 PolicyID
idx (TxBody l era
txBody TxBody l era
-> Getting (Set PolicyID) (TxBody l era) (Set PolicyID)
-> Set PolicyID
forall s a. s -> Getting a s a -> a
^. Getting (Set PolicyID) (TxBody l era) (Set PolicyID)
forall era (l :: TxLevel).
MaryEraTxBody era =>
SimpleGetter (TxBody l era) (Set PolicyID)
forall (l :: TxLevel). SimpleGetter (TxBody l era) (Set PolicyID)
mintedTxBodyF)
ConwaySpending AsIx Word32 TxIn
idx ->
AsIxItem Word32 TxIn -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 TxIn -> ConwayPlutusPurpose f era
ConwaySpending (AsIxItem Word32 TxIn -> ConwayPlutusPurpose AsIxItem era)
-> StrictMaybe (AsIxItem Word32 TxIn)
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsIx Word32 TxIn -> Set TxIn -> StrictMaybe (AsIxItem Word32 TxIn)
forall elem container.
Indexable elem container =>
AsIx Word32 elem -> container -> StrictMaybe (AsIxItem Word32 elem)
fromIndex AsIx Word32 TxIn
idx (TxBody l era
txBody TxBody l era
-> Getting (Set TxIn) (TxBody l era) (Set TxIn) -> Set TxIn
forall s a. s -> Getting a s a -> a
^. Getting (Set TxIn) (TxBody l era) (Set TxIn)
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (Set TxIn)
forall (l :: TxLevel). Lens' (TxBody l era) (Set TxIn)
inputsTxBodyL)
ConwayRewarding AsIx Word32 RewardAccount
idx ->
AsIxItem Word32 RewardAccount -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 RewardAccount -> ConwayPlutusPurpose f era
ConwayRewarding (AsIxItem Word32 RewardAccount -> ConwayPlutusPurpose AsIxItem era)
-> StrictMaybe (AsIxItem Word32 RewardAccount)
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsIx Word32 RewardAccount
-> Map RewardAccount Coin
-> StrictMaybe (AsIxItem Word32 RewardAccount)
forall elem container.
Indexable elem container =>
AsIx Word32 elem -> container -> StrictMaybe (AsIxItem Word32 elem)
fromIndex AsIx Word32 RewardAccount
idx (Withdrawals -> Map RewardAccount Coin
unWithdrawals (TxBody l era
txBody TxBody l era
-> Getting Withdrawals (TxBody l era) Withdrawals -> Withdrawals
forall s a. s -> Getting a s a -> a
^. Getting Withdrawals (TxBody l era) Withdrawals
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) Withdrawals
forall (l :: TxLevel). Lens' (TxBody l era) Withdrawals
withdrawalsTxBodyL))
ConwayCertifying AsIx Word32 (TxCert era)
idx ->
AsIxItem Word32 (TxCert era) -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 (TxCert era) -> ConwayPlutusPurpose f era
ConwayCertifying (AsIxItem Word32 (TxCert era) -> ConwayPlutusPurpose AsIxItem era)
-> StrictMaybe (AsIxItem Word32 (TxCert era))
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsIx Word32 (TxCert era)
-> StrictSeq (TxCert era)
-> StrictMaybe (AsIxItem Word32 (TxCert era))
forall elem container.
Indexable elem container =>
AsIx Word32 elem -> container -> StrictMaybe (AsIxItem Word32 elem)
fromIndex AsIx Word32 (TxCert era)
idx (TxBody l era
txBody TxBody l era
-> Getting
(StrictSeq (TxCert era)) (TxBody l era) (StrictSeq (TxCert era))
-> StrictSeq (TxCert era)
forall s a. s -> Getting a s a -> a
^. Getting
(StrictSeq (TxCert era)) (TxBody l era) (StrictSeq (TxCert era))
forall era (l :: TxLevel).
EraTxBody era =>
Lens' (TxBody l era) (StrictSeq (TxCert era))
forall (l :: TxLevel).
Lens' (TxBody l era) (StrictSeq (TxCert era))
certsTxBodyL)
ConwayVoting AsIx Word32 Voter
idx ->
AsIxItem Word32 Voter -> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 Voter -> ConwayPlutusPurpose f era
ConwayVoting (AsIxItem Word32 Voter -> ConwayPlutusPurpose AsIxItem era)
-> StrictMaybe (AsIxItem Word32 Voter)
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsIx Word32 Voter
-> VotingProcedures era -> StrictMaybe (AsIxItem Word32 Voter)
forall elem container.
Indexable elem container =>
AsIx Word32 elem -> container -> StrictMaybe (AsIxItem Word32 elem)
fromIndex AsIx Word32 Voter
idx (TxBody l era
txBody TxBody l era
-> Getting
(VotingProcedures era) (TxBody l era) (VotingProcedures era)
-> VotingProcedures era
forall s a. s -> Getting a s a -> a
^. Getting
(VotingProcedures era) (TxBody l era) (VotingProcedures era)
forall era (l :: TxLevel).
ConwayEraTxBody era =>
Lens' (TxBody l era) (VotingProcedures era)
forall (l :: TxLevel). Lens' (TxBody l era) (VotingProcedures era)
votingProceduresTxBodyL)
ConwayProposing AsIx Word32 (ProposalProcedure era)
idx ->
AsIxItem Word32 (ProposalProcedure era)
-> ConwayPlutusPurpose AsIxItem era
forall (f :: * -> * -> *) era.
f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era
ConwayProposing (AsIxItem Word32 (ProposalProcedure era)
-> ConwayPlutusPurpose AsIxItem era)
-> StrictMaybe (AsIxItem Word32 (ProposalProcedure era))
-> StrictMaybe (ConwayPlutusPurpose AsIxItem era)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> AsIx Word32 (ProposalProcedure era)
-> OSet (ProposalProcedure era)
-> StrictMaybe (AsIxItem Word32 (ProposalProcedure era))
forall elem container.
Indexable elem container =>
AsIx Word32 elem -> container -> StrictMaybe (AsIxItem Word32 elem)
fromIndex AsIx Word32 (ProposalProcedure era)
idx (TxBody l era
txBody TxBody l era
-> Getting
(OSet (ProposalProcedure era))
(TxBody l era)
(OSet (ProposalProcedure era))
-> OSet (ProposalProcedure era)
forall s a. s -> Getting a s a -> a
^. Getting
(OSet (ProposalProcedure era))
(TxBody l era)
(OSet (ProposalProcedure 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)