Safe Haskell | None |
---|---|
Language | Haskell2010 |
Cardano.Api.Internal.Tx.Body
Synopsis
- parseTxId :: Parser TxId
- data TxBody era where
- ShelleyTxBody :: forall era. ShelleyBasedEra era -> TxBody (ShelleyLedgerEra era) -> [Script (ShelleyLedgerEra era)] -> TxBodyScriptData era -> Maybe (TxAuxData (ShelleyLedgerEra era)) -> TxScriptValidity era -> TxBody era
- pattern TxBody :: TxBodyContent ViewTx era -> TxBody era
- createTransactionBody :: HasCallStack => ShelleyBasedEra era -> TxBodyContent BuildTx era -> Either TxBodyError (TxBody era)
- createAndValidateTransactionBody :: ShelleyBasedEra era -> TxBodyContent BuildTx era -> Either TxBodyError (TxBody era)
- data TxBodyContent build era = TxBodyContent {
- txIns :: TxIns build era
- txInsCollateral :: TxInsCollateral era
- txInsReference :: TxInsReference era
- txOuts :: [TxOut CtxTx era]
- txTotalCollateral :: TxTotalCollateral era
- txReturnCollateral :: TxReturnCollateral CtxTx era
- txFee :: TxFee era
- txValidityLowerBound :: TxValidityLowerBound era
- txValidityUpperBound :: TxValidityUpperBound era
- txMetadata :: TxMetadataInEra era
- txAuxScripts :: TxAuxScripts era
- txExtraKeyWits :: TxExtraKeyWitnesses era
- txProtocolParams :: BuildTxWith build (Maybe (LedgerProtocolParameters era))
- txWithdrawals :: TxWithdrawals build era
- txCertificates :: TxCertificates build era
- txUpdateProposal :: TxUpdateProposal era
- txMintValue :: TxMintValue build era
- txScriptValidity :: TxScriptValidity era
- txProposalProcedures :: Maybe (Featured ConwayEraOnwards era (TxProposalProcedures build era))
- txVotingProcedures :: Maybe (Featured ConwayEraOnwards era (TxVotingProcedures build era))
- txCurrentTreasuryValue :: Maybe (Featured ConwayEraOnwards era (Maybe Coin))
- txTreasuryDonation :: Maybe (Featured ConwayEraOnwards era Coin)
- makeByronTransactionBody :: TxIns BuildTx ByronEra -> [TxOut CtxTx ByronEra] -> Either TxBodyError (Annotated Tx ByteString)
- defaultTxBodyContent :: ShelleyBasedEra era -> TxBodyContent BuildTx era
- defaultTxFee :: ShelleyBasedEra era -> TxFee era
- defaultTxValidityUpperBound :: ShelleyBasedEra era -> TxValidityUpperBound era
- setTxIns :: TxIns build era -> TxBodyContent build era -> TxBodyContent build era
- modTxIns :: (TxIns build era -> TxIns build era) -> TxBodyContent build era -> TxBodyContent build era
- addTxIn :: (TxIn, BuildTxWith build (Witness WitCtxTxIn era)) -> TxBodyContent build era -> TxBodyContent build era
- addTxIns :: TxIns build era -> TxBodyContent build era -> TxBodyContent build era
- setTxInsCollateral :: TxInsCollateral era -> TxBodyContent build era -> TxBodyContent build era
- modTxInsCollateral :: (TxInsCollateral era -> TxInsCollateral era) -> TxBodyContent build era -> TxBodyContent build era
- addTxInsCollateral :: IsAlonzoBasedEra era => [TxIn] -> TxBodyContent build era -> TxBodyContent build era
- addTxInCollateral :: IsAlonzoBasedEra era => TxIn -> TxBodyContent build era -> TxBodyContent build era
- setTxInsReference :: TxInsReference era -> TxBodyContent build era -> TxBodyContent build era
- modTxInsReference :: (TxInsReference era -> TxInsReference era) -> TxBodyContent build era -> TxBodyContent build era
- addTxInsReference :: IsBabbageBasedEra era => [TxIn] -> TxBodyContent build era -> TxBodyContent build era
- addTxInReference :: IsBabbageBasedEra era => TxIn -> TxBodyContent build era -> TxBodyContent build era
- setTxOuts :: [TxOut CtxTx era] -> TxBodyContent build era -> TxBodyContent build era
- modTxOuts :: ([TxOut CtxTx era] -> [TxOut CtxTx era]) -> TxBodyContent build era -> TxBodyContent build era
- addTxOut :: TxOut CtxTx era -> TxBodyContent build era -> TxBodyContent build era
- addTxOuts :: [TxOut CtxTx era] -> TxBodyContent build era -> TxBodyContent build era
- setTxTotalCollateral :: TxTotalCollateral era -> TxBodyContent build era -> TxBodyContent build era
- modTxTotalCollateral :: (TxTotalCollateral era -> TxTotalCollateral era) -> TxBodyContent build era -> TxBodyContent build era
- setTxReturnCollateral :: TxReturnCollateral CtxTx era -> TxBodyContent build era -> TxBodyContent build era
- modTxReturnCollateral :: (TxReturnCollateral CtxTx era -> TxReturnCollateral CtxTx era) -> TxBodyContent build era -> TxBodyContent build era
- setTxFee :: TxFee era -> TxBodyContent build era -> TxBodyContent build era
- modTxFee :: (TxFee era -> TxFee era) -> TxBodyContent build era -> TxBodyContent build era
- setTxValidityLowerBound :: TxValidityLowerBound era -> TxBodyContent build era -> TxBodyContent build era
- modTxValidityLowerBound :: (TxValidityLowerBound era -> TxValidityLowerBound era) -> TxBodyContent build era -> TxBodyContent build era
- setTxValidityUpperBound :: TxValidityUpperBound era -> TxBodyContent build era -> TxBodyContent build era
- modTxValidityUpperBound :: (TxValidityUpperBound era -> TxValidityUpperBound era) -> TxBodyContent build era -> TxBodyContent build era
- setTxMetadata :: TxMetadataInEra era -> TxBodyContent build era -> TxBodyContent build era
- modTxMetadata :: (TxMetadataInEra era -> TxMetadataInEra era) -> TxBodyContent build era -> TxBodyContent build era
- setTxAuxScripts :: TxAuxScripts era -> TxBodyContent build era -> TxBodyContent build era
- modTxAuxScripts :: (TxAuxScripts era -> TxAuxScripts era) -> TxBodyContent build era -> TxBodyContent build era
- setTxExtraKeyWits :: TxExtraKeyWitnesses era -> TxBodyContent build era -> TxBodyContent build era
- modTxExtraKeyWits :: (TxExtraKeyWitnesses era -> TxExtraKeyWitnesses era) -> TxBodyContent build era -> TxBodyContent build era
- addTxExtraKeyWits :: IsAlonzoBasedEra era => [Hash PaymentKey] -> TxBodyContent build era -> TxBodyContent build era
- setTxProtocolParams :: BuildTxWith build (Maybe (LedgerProtocolParameters era)) -> TxBodyContent build era -> TxBodyContent build era
- setTxWithdrawals :: TxWithdrawals build era -> TxBodyContent build era -> TxBodyContent build era
- modTxWithdrawals :: (TxWithdrawals build era -> TxWithdrawals build era) -> TxBodyContent build era -> TxBodyContent build era
- setTxCertificates :: TxCertificates build era -> TxBodyContent build era -> TxBodyContent build era
- modTxCertificates :: (TxCertificates build era -> TxCertificates build era) -> TxBodyContent build era -> TxBodyContent build era
- setTxUpdateProposal :: TxUpdateProposal era -> TxBodyContent build era -> TxBodyContent build era
- modTxUpdateProposal :: (TxUpdateProposal era -> TxUpdateProposal era) -> TxBodyContent build era -> TxBodyContent build era
- setTxProposalProcedures :: Maybe (Featured ConwayEraOnwards era (TxProposalProcedures build era)) -> TxBodyContent build era -> TxBodyContent build era
- setTxVotingProcedures :: Maybe (Featured ConwayEraOnwards era (TxVotingProcedures build era)) -> TxBodyContent build era -> TxBodyContent build era
- setTxMintValue :: TxMintValue build era -> TxBodyContent build era -> TxBodyContent build era
- modTxMintValue :: (TxMintValue build era -> TxMintValue build era) -> TxBodyContent build era -> TxBodyContent build era
- addTxMintValue :: IsMaryBasedEra era => Map PolicyId [(AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))] -> TxBodyContent build era -> TxBodyContent build era
- subtractTxMintValue :: IsMaryBasedEra era => Map PolicyId [(AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))] -> TxBodyContent build era -> TxBodyContent build era
- setTxScriptValidity :: TxScriptValidity era -> TxBodyContent build era -> TxBodyContent build era
- modTxScriptValidity :: (TxScriptValidity era -> TxScriptValidity era) -> TxBodyContent build era -> TxBodyContent build era
- setTxCurrentTreasuryValue :: Maybe (Featured ConwayEraOnwards era (Maybe Coin)) -> TxBodyContent build era -> TxBodyContent build era
- setTxTreasuryDonation :: Maybe (Featured ConwayEraOnwards era Coin) -> TxBodyContent build era -> TxBodyContent build era
- data TxBodyError
- = TxBodyEmptyTxIns
- | TxBodyEmptyTxInsCollateral
- | TxBodyEmptyTxOuts
- | TxBodyOutputNegative !Quantity !TxOutInAnyEra
- | TxBodyOutputOverflow !Quantity !TxOutInAnyEra
- | TxBodyMetadataError ![(Word64, TxMetadataRangeError)]
- | TxBodyInIxOverflow !TxIn
- | TxBodyMissingProtocolParams
- | TxBodyProtocolParamsConversionError !ProtocolParametersConversionError
- data TxBodyScriptData era where
- TxBodyNoScriptData :: forall era. TxBodyScriptData era
- TxBodyScriptData :: forall era. AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> TxDats (ShelleyLedgerEra era) -> Redeemers (ShelleyLedgerEra era) -> TxBodyScriptData era
- data TxScriptValidity era where
- TxScriptValidityNone :: forall era. TxScriptValidity era
- TxScriptValidity :: forall era. AlonzoEraOnwards era -> ScriptValidity -> TxScriptValidity era
- data ScriptValidity
- scriptValidityToIsValid :: ScriptValidity -> IsValid
- isValidToScriptValidity :: IsValid -> ScriptValidity
- txScriptValidityToIsValid :: TxScriptValidity era -> IsValid
- txScriptValidityToScriptValidity :: TxScriptValidity era -> ScriptValidity
- newtype TxId = TxId (Hash StandardCrypto EraIndependentTxBody)
- getTxId :: TxBody era -> TxId
- getTxIdByron :: ATxAux ByteString -> TxId
- getTxIdShelley :: (EraCrypto (ShelleyLedgerEra era) ~ StandardCrypto, EraTxBody (ShelleyLedgerEra era)) => ShelleyBasedEra era -> TxBody (ShelleyLedgerEra era) -> TxId
- data TxIn = TxIn TxId TxIx
- type TxIns build era = [(TxIn, BuildTxWith build (Witness WitCtxTxIn era))]
- indexTxIns :: TxIns BuildTx era -> [(ScriptWitnessIndex, TxIn, Witness WitCtxTxIn era)]
- newtype TxIx = TxIx Word
- genesisUTxOPseudoTxIn :: NetworkId -> Hash GenesisUTxOKey -> TxIn
- getReferenceInputsSizeForTxIds :: ShelleyLedgerEra era ~ ledgerera => BabbageEraOnwards era -> UTxO ledgerera -> Set TxIn -> Int
- data CtxTx
- data CtxUTxO
- data TxOut ctx era = TxOut (AddressInEra era) (TxOutValue era) (TxOutDatum ctx era) (ReferenceScript era)
- data TxOutValue era where
- TxOutValueByron :: forall era. Coin -> TxOutValue era
- TxOutValueShelleyBased :: forall era. (Eq (Value (ShelleyLedgerEra era)), Show (Value (ShelleyLedgerEra era))) => ShelleyBasedEra era -> Value (ShelleyLedgerEra era) -> TxOutValue era
- data TxOutDatum ctx era where
- TxOutDatumNone :: forall ctx era. TxOutDatum ctx era
- TxOutDatumHash :: forall era ctx. AlonzoEraOnwards era -> Hash ScriptData -> TxOutDatum ctx era
- TxOutSupplementalDatum :: forall era. AlonzoEraOnwards era -> HashableScriptData -> TxOutDatum CtxTx era
- TxOutDatumInline :: forall era ctx. BabbageEraOnwards era -> HashableScriptData -> TxOutDatum ctx era
- toCtxUTxOTxOut :: TxOut CtxTx era -> TxOut CtxUTxO era
- lovelaceToTxOutValue :: ShelleyBasedEra era -> Coin -> TxOutValue era
- prettyRenderTxOut :: TxOutInAnyEra -> Text
- txOutValueToLovelace :: TxOutValue era -> Coin
- txOutValueToValue :: TxOutValue era -> Value
- parseHash :: SerialiseAsRawBytes (Hash a) => AsType (Hash a) -> Parser (Hash a)
- data TxOutInAnyEra where
- TxOutInAnyEra :: forall era. CardanoEra era -> TxOut CtxTx era -> TxOutInAnyEra
- txOutInAnyEra :: CardanoEra era -> TxOut CtxTx era -> TxOutInAnyEra
- data TxInsCollateral era where
- TxInsCollateralNone :: forall era. TxInsCollateral era
- TxInsCollateral :: forall era. AlonzoEraOnwards era -> [TxIn] -> TxInsCollateral era
- data TxInsReference era where
- TxInsReferenceNone :: forall era. TxInsReference era
- TxInsReference :: forall era. BabbageEraOnwards era -> [TxIn] -> TxInsReference era
- data TxReturnCollateral ctx era where
- TxReturnCollateralNone :: forall ctx era. TxReturnCollateral ctx era
- TxReturnCollateral :: forall era ctx. BabbageEraOnwards era -> TxOut ctx era -> TxReturnCollateral ctx era
- data TxTotalCollateral era where
- TxTotalCollateralNone :: forall era. TxTotalCollateral era
- TxTotalCollateral :: forall era. BabbageEraOnwards era -> Coin -> TxTotalCollateral era
- data TxFee era where
- TxFeeExplicit :: forall era. ShelleyBasedEra era -> Coin -> TxFee era
- data TxValidityLowerBound era where
- TxValidityNoLowerBound :: forall era. TxValidityLowerBound era
- TxValidityLowerBound :: forall era. AllegraEraOnwards era -> SlotNo -> TxValidityLowerBound era
- data TxValidityUpperBound era where
- TxValidityUpperBound :: forall era. ShelleyBasedEra era -> Maybe SlotNo -> TxValidityUpperBound era
- data TxMetadataInEra era where
- TxMetadataNone :: forall era. TxMetadataInEra era
- TxMetadataInEra :: forall era. ShelleyBasedEra era -> TxMetadata -> TxMetadataInEra era
- data TxAuxScripts era where
- TxAuxScriptsNone :: forall era. TxAuxScripts era
- TxAuxScripts :: forall era. AllegraEraOnwards era -> [ScriptInEra era] -> TxAuxScripts era
- data TxExtraKeyWitnesses era where
- TxExtraKeyWitnessesNone :: forall era. TxExtraKeyWitnesses era
- TxExtraKeyWitnesses :: forall era. AlonzoEraOnwards era -> [Hash PaymentKey] -> TxExtraKeyWitnesses era
- data TxWithdrawals build era where
- TxWithdrawalsNone :: forall build era. TxWithdrawals build era
- TxWithdrawals :: forall era build. ShelleyBasedEra era -> [(StakeAddress, Coin, BuildTxWith build (Witness WitCtxStake era))] -> TxWithdrawals build era
- indexTxWithdrawals :: TxWithdrawals BuildTx era -> [(ScriptWitnessIndex, StakeAddress, Coin, Witness WitCtxStake era)]
- data TxCertificates build era where
- TxCertificatesNone :: forall build era. TxCertificates build era
- TxCertificates :: forall era build. ShelleyBasedEra era -> OMap (Certificate era) (BuildTxWith build (Maybe (StakeCredential, Witness WitCtxStake era))) -> TxCertificates build era
- mkTxCertificates :: Applicative (BuildTxWith build) => ShelleyBasedEra era -> [(Certificate era, Maybe (ScriptWitness WitCtxStake era))] -> TxCertificates build era
- indexTxCertificates :: TxCertificates BuildTx era -> [(ScriptWitnessIndex, Certificate era, StakeCredential, Witness WitCtxStake era)]
- data TxUpdateProposal era where
- TxUpdateProposalNone :: forall era. TxUpdateProposal era
- TxUpdateProposal :: forall era. ShelleyToBabbageEra era -> UpdateProposal -> TxUpdateProposal era
- data TxMintValue build era where
- TxMintNone :: forall build era. TxMintValue build era
- TxMintValue :: forall era build. MaryEraOnwards era -> Map PolicyId [(AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))] -> TxMintValue build era
- txMintValueToValue :: TxMintValue build era -> Value
- indexTxMintValue :: TxMintValue build era -> [(ScriptWitnessIndex, PolicyId, AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))]
- data TxVotingProcedures build era where
- TxVotingProceduresNone :: forall build era. TxVotingProcedures build era
- TxVotingProcedures :: forall era build. VotingProcedures (ShelleyLedgerEra era) -> BuildTxWith build (Map (Voter (EraCrypto (ShelleyLedgerEra era))) (ScriptWitness WitCtxStake era)) -> TxVotingProcedures build era
- mkTxVotingProcedures :: Applicative (BuildTxWith build) => [(VotingProcedures era, Maybe (ScriptWitness WitCtxStake era))] -> Either (VotesMergingConflict era) (TxVotingProcedures build era)
- indexTxVotingProcedures :: TxVotingProcedures BuildTx era -> [(ScriptWitnessIndex, Voter (EraCrypto (ShelleyLedgerEra era)), ScriptWitness WitCtxStake era)]
- data TxProposalProcedures build era where
- TxProposalProceduresNone :: forall build era. TxProposalProcedures build era
- TxProposalProcedures :: forall era build. EraPParams (ShelleyLedgerEra era) => OMap (ProposalProcedure (ShelleyLedgerEra era)) (BuildTxWith build (Maybe (ScriptWitness WitCtxStake era))) -> TxProposalProcedures build era
- mkTxProposalProcedures :: forall era build. (Applicative (BuildTxWith build), IsShelleyBasedEra era) => [(ProposalProcedure (ShelleyLedgerEra era), Maybe (ScriptWitness WitCtxStake era))] -> TxProposalProcedures build era
- indexTxProposalProcedures :: TxProposalProcedures BuildTx era -> [(ScriptWitnessIndex, ProposalProcedure (ShelleyLedgerEra era), ScriptWitness WitCtxStake era)]
- convProposalProcedures :: TxProposalProcedures build era -> OSet (ProposalProcedure (ShelleyLedgerEra era))
- data BuildTxWith build a where
- ViewTx :: forall a. BuildTxWith ViewTx a
- BuildTxWith :: forall a. a -> BuildTxWith BuildTx a
- data BuildTx
- data ViewTx
- buildTxWithToMaybe :: BuildTxWith build a -> Maybe a
- data AnyScriptWitness era where
- AnyScriptWitness :: forall witctx era. Typeable witctx => ScriptWitness witctx era -> AnyScriptWitness era
- data ScriptWitnessIndex
- renderScriptWitnessIndex :: ScriptWitnessIndex -> String
- collectTxBodyScriptWitnesses :: ShelleyBasedEra era -> TxBodyContent BuildTx era -> [(ScriptWitnessIndex, AnyScriptWitness era)]
- toScriptIndex :: AlonzoEraOnwards era -> PlutusPurpose AsIx (ShelleyLedgerEra era) -> ScriptWitnessIndex
- scriptDataToInlineDatum :: Era ledgerera => HashableScriptData -> Datum ledgerera
- convCertificates :: ShelleyBasedEra era -> TxCertificates build era -> StrictSeq (TxCert (ShelleyLedgerEra era))
- convCollateralTxIns :: TxInsCollateral era -> Set (TxIn StandardCrypto)
- convExtraKeyWitnesses :: TxExtraKeyWitnesses era -> Set (KeyHash 'Witness StandardCrypto)
- convLanguages :: [(ScriptWitnessIndex, AnyScriptWitness era)] -> Set Language
- convMintValue :: TxMintValue build era -> MultiAsset StandardCrypto
- convReferenceInputs :: TxInsReference era -> Set (TxIn StandardCrypto)
- convReturnCollateral :: ShelleyBasedEra era -> TxReturnCollateral ctx era -> StrictMaybe (TxOut (ShelleyLedgerEra era))
- convScripts :: ShelleyLedgerEra era ~ ledgerera => [(ScriptWitnessIndex, AnyScriptWitness era)] -> [Script ledgerera]
- convScriptData :: ShelleyBasedEra era -> [TxOut CtxTx era] -> [(ScriptWitnessIndex, AnyScriptWitness era)] -> TxBodyScriptData era
- convTotalCollateral :: TxTotalCollateral era -> StrictMaybe Coin
- convTransactionFee :: ShelleyBasedEra era -> TxFee era -> Coin
- convTxIns :: TxIns BuildTx era -> Set (TxIn StandardCrypto)
- convTxOuts :: forall ctx era ledgerera. (HasCallStack, ShelleyLedgerEra era ~ ledgerera) => ShelleyBasedEra era -> [TxOut ctx era] -> StrictSeq (TxOut ledgerera)
- convTxUpdateProposal :: ShelleyBasedEra era -> TxUpdateProposal era -> Either TxBodyError (StrictMaybe (Update (ShelleyLedgerEra era)))
- convValidityLowerBound :: TxValidityLowerBound era -> Maybe SlotNo
- convValidityUpperBound :: ShelleyBasedEra era -> TxValidityUpperBound era -> Maybe SlotNo
- convVotingProcedures :: TxVotingProcedures build era -> VotingProcedures (ShelleyLedgerEra era)
- convWithdrawals :: TxWithdrawals build era -> Withdrawals StandardCrypto
- getScriptIntegrityHash :: BuildTxWith BuildTx (Maybe (LedgerProtocolParameters era)) -> Set Language -> TxBodyScriptData era -> StrictMaybe (ScriptIntegrityHash (EraCrypto (ShelleyLedgerEra era)))
- mkCommonTxBody :: HasCallStack => ShelleyBasedEra era -> TxIns BuildTx era -> [TxOut ctx era] -> TxFee era -> TxWithdrawals build era -> Maybe (TxAuxData (ShelleyLedgerEra era)) -> TxBody era
- toAuxiliaryData :: ShelleyBasedEra era -> TxMetadataInEra era -> TxAuxScripts era -> Maybe (TxAuxData (ShelleyLedgerEra era))
- toByronTxId :: TxId -> TxId
- toShelleyTxId :: TxId -> TxId StandardCrypto
- toShelleyTxIn :: TxIn -> TxIn StandardCrypto
- toShelleyTxOut :: (HasCallStack, ShelleyLedgerEra era ~ ledgerera) => ShelleyBasedEra era -> TxOut CtxUTxO era -> TxOut ledgerera
- toShelleyTxOutAny :: forall ctx era ledgerera. (HasCallStack, ShelleyLedgerEra era ~ ledgerera) => ShelleyBasedEra era -> TxOut ctx era -> TxOut ledgerera
- fromShelleyTxId :: TxId StandardCrypto -> TxId
- fromShelleyTxIn :: TxIn StandardCrypto -> TxIn
- fromShelleyTxOut :: ShelleyBasedEra era -> TxOut (ShelleyLedgerEra era) -> TxOut ctx era
- fromByronTxIn :: TxIn -> TxIn
- fromLedgerTxOuts :: ShelleyBasedEra era -> TxBody (ShelleyLedgerEra era) -> TxBodyScriptData era -> [TxOut CtxTx era]
- renderTxIn :: TxIn -> Text
- calculateExecutionUnitsLovelace :: Prices -> ExecutionUnits -> Maybe Coin
- data family AsType t
- getTxBodyContent :: TxBody era -> TxBodyContent ViewTx era
- validateTxIns :: [(TxIn, BuildTxWith BuildTx (Witness WitCtxTxIn era))] -> Either TxBodyError ()
- guardShelleyTxInsOverflow :: [TxIn] -> Either TxBodyError ()
- validateTxOuts :: ShelleyBasedEra era -> [TxOut CtxTx era] -> Either TxBodyError ()
- validateMetadata :: TxMetadataInEra era -> Either TxBodyError ()
- validateTxInsCollateral :: TxInsCollateral era -> Set Language -> Either TxBodyError ()
- validateProtocolParameters :: BuildTxWith BuildTx (Maybe (LedgerProtocolParameters era)) -> Set Language -> Either TxBodyError ()
Creating transactions using the old API
Both the old and new APIs support transaction creation. Transactions can be
converted between formats, as they share the same underlying representation.
cardano-api
will be moving towards using the new API and deprecating
the old way to ensure simplicity, closer alignment with the ledger, and
easier maintenance.
In both the new and old APIs, to construct a transaction, you need
to construct a TxBodyContent
, and you will need at least a
witness (for example, a ShelleyWitnessSigningKey
), to sign the transaction.
This process remains unchanged.
To learn how to create a transaction using the new API, refer to Cardano.Api.Internal.Experimental.Tx documentation.
The next examples use the following qualified modules:
import qualified Cardano.Api as Api -- the general `cardano-api` exports (including the old API) import qualified Cardano.Api.Script as Script -- types related to scripts (Plutus and native) import qualified Cardano.Api.Ledger as Ledger -- cardano-ledger re-exports
Creating a TxBodyContent
To create a transaction, you first need to define the contents of its body. This section
will show how to use the API to create a TxBodyContent
for a simple transaction.
TxBodyContent
datatype provides several fields because transactions can serve multiple
purposes, but the function defaultTxBodyContent
(exported from Cardano.Api) already provides
a base TxBodyContent
with all fields set to their default values that you can use as a starting point
so as not to have to set all fields manually.
The defaultTxBodyContent
takes, as the only parameter, the ShelleyBasedEra
witness for the era
you are working with. For example, if you are working with the ConwayEra
, use shelleyBasedEra
available in Cardano.Api, as follows:
let sbe :: Api.ShelleyBasedEra Api.ConwayEra = Api.shelleyBasedEra
This is what creating a simple TxBodyContent
would look like.
First, choose a transaction output to spend (a UTXO). Specify which UTXO to spend by providing the transaction ID and the index of the output in that transaction that you want to spend.
To specify the transaction ID, you can use the deserialiseFromRawBytesHex
function on the
hexadecimal representation of the transaction hash. For example:
let (Right srcTxId) = Api.deserialiseFromRawBytesHex Api.AsTxId "be6efd42a3d7b9a00d09d77a5d41e55ceaf0bd093a8aa8a893ce70d9caafd978"
In real implementations, failure cases should be handled appropriately.
To specify the transaction index, use the TxIx
constructor. For example:
let srcTxIx = Api.TxIx 0
Now, combine both to create a TxIn
value and pair it with a witness requirement using BuildTxWith
:
let txIn = ( Api.TxIn srcTxId srcTxIx , Api.BuildTxWith (Api.KeyWitness Api.KeyWitnessForSpending) )
Next, specify the address of the recipient of the transaction. If you have the bech32 representation,
you can use the deserialiseAddress
function to get the AddressInEra
type. For example:
let (Just destAddress) = Api.deserialiseAddress (Api.AsAddressInEra eraAsType) "addr_test1vzpfxhjyjdlgk5c0xt8xw26avqxs52rtf69993j4tajehpcue4v2v"
Now, you can create a TxOut
value. For simplicity, assume the output is a simple payment output
of 10 ada, with no datum or reference script attached to it:
let txOut = Api.TxOut destAddress (Api.lovelaceToTxOutValue sbe 10_000_000) Api.TxOutDatumNone Script.ReferenceScriptNone
Note to set the transaction fee. For example, set it to 2 ada:
let txFee = Api.TxFeeExplicit sbe 2_000_000
Finally, you can create the TxBodyContent
by using the defaultTxBodyContent
function and
putting everything together:
let txBodyContent = Api.defaultTxBodyContent sbe & Api.setTxIns [txIn] & Api.setTxOuts [txOut] & Api.setTxFee txFee
The txBodyContent
can now be used to create a transaction using the old or the new API.
Balancing a transaction
If you have a UTXO with exactly 12 ada, you could just construct the transaction as in the previous section directly, and it would be a valid transaction, but:
- It is probably wasting ADA
- There may not be exactly one UTXO of 12 ada
- The transaciton may not be this simple.
For these reasons, it is recommended that you balance the transaction before proceeding with signing and submitting.
See how to balance a transaction in the Cardano.Api.Internal.Fees documentation.
Creating a ShelleyWitnessSigningKey
Signing a transaction requires a witness, for example, a ShelleyWitnessSigningKey
.
Learn how to create a ShelleyWitnessSigningKey
in the Cardano.Api.Internal.Tx.Sign documentation.
Creating a transaction using the old API
Now that you have a TxBodyContent
and a ShelleyWitnessSigningKey
, you can easily create a transaction using the old API.
First, create a transaction body using the createTransactionBody
function and the ShelleyBasedEra
witness
defined earlier.
Create the transaction body using the TransactionBodyContent
created earlier:
let (Right txBody) = Api.createTransactionBody sbe txBodyContent
Then, sign the transaction using the signShelleyTransaction
function and the witness:
let oldApiSignedTx :: Api.Tx Api.ConwayEra = Api.signShelleyTransaction sbe txBody [witness]
We now have a signed transaction.
Inspecting transactions
To deconstruct an old-style TxBody
into a TxBodyContent
, you can also use the
TxBody
pattern. Note that this cannot be used for constructing. For that, use ShelleyTxBody
or createTransactionBody
, as in the example.
To extract the TxBody
and the KeyWitness
es from an old-style Tx
, use
the functions getTxBody
and getTxWitnesses
respectively, from Cardano.Api.
Appendix: Getting Shelley-based era witness from the new API
If you are using the new API, you can also derive the ShelleyBasedEra
of it from ConwayEra
from Cardano.Api.Internal.Experimental using the convert
function:
let era = Exp.ConwayEra let sbe = Api.convert era
Contents
Transaction bodies
data TxBody era where Source #
Constructors
ShelleyTxBody | |
Fields
|
Bundled Patterns
pattern TxBody :: TxBodyContent ViewTx era -> TxBody era | Deprecated: Use getTxBodyContent $ getTxBody instead |
Instances
Show (TxBody era) Source # | |||||
HasTypeProxy era => HasTypeProxy (TxBody era) Source # | |||||
Defined in Cardano.Api.Internal.Tx.Sign Associated Types
| |||||
IsShelleyBasedEra era => SerialiseAsCBOR (TxBody era) Source # | |||||
Defined in Cardano.Api.Internal.Tx.Sign Methods serialiseToCBOR :: TxBody era -> ByteString Source # deserialiseFromCBOR :: AsType (TxBody era) -> ByteString -> Either DecoderError (TxBody era) Source # | |||||
IsShelleyBasedEra era => HasTextEnvelope (TxBody era) Source # | |||||
Defined in Cardano.Api.Internal.Tx.Sign Methods textEnvelopeType :: AsType (TxBody era) -> TextEnvelopeType Source # textEnvelopeDefaultDescr :: TxBody era -> TextEnvelopeDescr Source # | |||||
Eq (TxBody era) Source # | |||||
data AsType (TxBody era) Source # | |||||
Defined in Cardano.Api.Internal.Tx.Sign |
createTransactionBody :: HasCallStack => ShelleyBasedEra era -> TxBodyContent BuildTx era -> Either TxBodyError (TxBody era) Source #
createAndValidateTransactionBody :: ShelleyBasedEra era -> TxBodyContent BuildTx era -> Either TxBodyError (TxBody era) Source #
Deprecated: Use createTransactionBody instead
data TxBodyContent build era Source #
Constructors
Instances
IsShelleyBasedEra era => Show (TxBodyContent build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
IsShelleyBasedEra era => Eq (TxBodyContent build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxBodyContent build era -> TxBodyContent build era -> Bool Source # (/=) :: TxBodyContent build era -> TxBodyContent build era -> Bool Source # |
Byron only
makeByronTransactionBody :: TxIns BuildTx ByronEra -> [TxOut CtxTx ByronEra] -> Either TxBodyError (Annotated Tx ByteString) Source #
Transaction body builders
defaultTxBodyContent :: ShelleyBasedEra era -> TxBodyContent BuildTx era Source #
defaultTxFee :: ShelleyBasedEra era -> TxFee era Source #
defaultTxValidityUpperBound :: ShelleyBasedEra era -> TxValidityUpperBound era Source #
setTxIns :: TxIns build era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxIns :: (TxIns build era -> TxIns build era) -> TxBodyContent build era -> TxBodyContent build era Source #
addTxIn :: (TxIn, BuildTxWith build (Witness WitCtxTxIn era)) -> TxBodyContent build era -> TxBodyContent build era Source #
addTxIns :: TxIns build era -> TxBodyContent build era -> TxBodyContent build era Source #
setTxInsCollateral :: TxInsCollateral era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxInsCollateral :: (TxInsCollateral era -> TxInsCollateral era) -> TxBodyContent build era -> TxBodyContent build era Source #
addTxInsCollateral :: IsAlonzoBasedEra era => [TxIn] -> TxBodyContent build era -> TxBodyContent build era Source #
addTxInCollateral :: IsAlonzoBasedEra era => TxIn -> TxBodyContent build era -> TxBodyContent build era Source #
setTxInsReference :: TxInsReference era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxInsReference :: (TxInsReference era -> TxInsReference era) -> TxBodyContent build era -> TxBodyContent build era Source #
addTxInsReference :: IsBabbageBasedEra era => [TxIn] -> TxBodyContent build era -> TxBodyContent build era Source #
addTxInReference :: IsBabbageBasedEra era => TxIn -> TxBodyContent build era -> TxBodyContent build era Source #
setTxOuts :: [TxOut CtxTx era] -> TxBodyContent build era -> TxBodyContent build era Source #
modTxOuts :: ([TxOut CtxTx era] -> [TxOut CtxTx era]) -> TxBodyContent build era -> TxBodyContent build era Source #
addTxOut :: TxOut CtxTx era -> TxBodyContent build era -> TxBodyContent build era Source #
addTxOuts :: [TxOut CtxTx era] -> TxBodyContent build era -> TxBodyContent build era Source #
setTxTotalCollateral :: TxTotalCollateral era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxTotalCollateral :: (TxTotalCollateral era -> TxTotalCollateral era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxReturnCollateral :: TxReturnCollateral CtxTx era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxReturnCollateral :: (TxReturnCollateral CtxTx era -> TxReturnCollateral CtxTx era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxFee :: TxFee era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxFee :: (TxFee era -> TxFee era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxValidityLowerBound :: TxValidityLowerBound era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxValidityLowerBound :: (TxValidityLowerBound era -> TxValidityLowerBound era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxValidityUpperBound :: TxValidityUpperBound era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxValidityUpperBound :: (TxValidityUpperBound era -> TxValidityUpperBound era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxMetadata :: TxMetadataInEra era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxMetadata :: (TxMetadataInEra era -> TxMetadataInEra era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxAuxScripts :: TxAuxScripts era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxAuxScripts :: (TxAuxScripts era -> TxAuxScripts era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxExtraKeyWits :: TxExtraKeyWitnesses era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxExtraKeyWits :: (TxExtraKeyWitnesses era -> TxExtraKeyWitnesses era) -> TxBodyContent build era -> TxBodyContent build era Source #
addTxExtraKeyWits :: IsAlonzoBasedEra era => [Hash PaymentKey] -> TxBodyContent build era -> TxBodyContent build era Source #
setTxProtocolParams :: BuildTxWith build (Maybe (LedgerProtocolParameters era)) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxWithdrawals :: TxWithdrawals build era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxWithdrawals :: (TxWithdrawals build era -> TxWithdrawals build era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxCertificates :: TxCertificates build era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxCertificates :: (TxCertificates build era -> TxCertificates build era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxUpdateProposal :: TxUpdateProposal era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxUpdateProposal :: (TxUpdateProposal era -> TxUpdateProposal era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxProposalProcedures :: Maybe (Featured ConwayEraOnwards era (TxProposalProcedures build era)) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxVotingProcedures :: Maybe (Featured ConwayEraOnwards era (TxVotingProcedures build era)) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxMintValue :: TxMintValue build era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxMintValue :: (TxMintValue build era -> TxMintValue build era) -> TxBodyContent build era -> TxBodyContent build era Source #
addTxMintValue :: IsMaryBasedEra era => Map PolicyId [(AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))] -> TxBodyContent build era -> TxBodyContent build era Source #
subtractTxMintValue :: IsMaryBasedEra era => Map PolicyId [(AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))] -> TxBodyContent build era -> TxBodyContent build era Source #
Adds the negation of the provided assets and quantities to the txMintValue field of the TxBodyContent
.
setTxScriptValidity :: TxScriptValidity era -> TxBodyContent build era -> TxBodyContent build era Source #
modTxScriptValidity :: (TxScriptValidity era -> TxScriptValidity era) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxCurrentTreasuryValue :: Maybe (Featured ConwayEraOnwards era (Maybe Coin)) -> TxBodyContent build era -> TxBodyContent build era Source #
setTxTreasuryDonation :: Maybe (Featured ConwayEraOnwards era Coin) -> TxBodyContent build era -> TxBodyContent build era Source #
data TxBodyError Source #
Constructors
Instances
Show TxBodyError Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Error TxBodyError Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods prettyError :: TxBodyError -> Doc ann Source # | |
Eq TxBodyError Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxBodyError -> TxBodyError -> Bool Source # (/=) :: TxBodyError -> TxBodyError -> Bool Source # |
data TxBodyScriptData era where Source #
Constructors
TxBodyNoScriptData :: forall era. TxBodyScriptData era | |
TxBodyScriptData :: forall era. AlonzoEraOnwardsConstraints era => AlonzoEraOnwards era -> TxDats (ShelleyLedgerEra era) -> Redeemers (ShelleyLedgerEra era) -> TxBodyScriptData era |
Instances
EraCrypto (ShelleyLedgerEra era) ~ StandardCrypto => Show (TxBodyScriptData era) Source # | |
Defined in Cardano.Api.Internal.Tx.Sign | |
Eq (TxBodyScriptData era) Source # | |
Defined in Cardano.Api.Internal.Tx.Sign Methods (==) :: TxBodyScriptData era -> TxBodyScriptData era -> Bool Source # (/=) :: TxBodyScriptData era -> TxBodyScriptData era -> Bool Source # |
data TxScriptValidity era where Source #
A representation of whether the era supports tx script validity.
The Alonzo and subsequent eras support script validity.
Constructors
TxScriptValidityNone :: forall era. TxScriptValidity era | |
TxScriptValidity :: forall era. AlonzoEraOnwards era -> ScriptValidity -> TxScriptValidity era | Tx script validity is supported in transactions in the |
Instances
Show (TxScriptValidity era) Source # | |
Defined in Cardano.Api.Internal.Tx.Sign | |
Eq (TxScriptValidity era) Source # | |
Defined in Cardano.Api.Internal.Tx.Sign Methods (==) :: TxScriptValidity era -> TxScriptValidity era -> Bool Source # (/=) :: TxScriptValidity era -> TxScriptValidity era -> Bool Source # |
data ScriptValidity Source #
Indicates whether a script is expected to fail or pass validation.
Constructors
ScriptInvalid | Script is expected to fail validation. Transactions marked as such can include scripts that fail validation. Such transactions may be submitted to the chain, in which case the collateral will be taken upon on chain script validation failure. |
ScriptValid | Script is expected to pass validation. Transactions marked as such cannot include scripts that fail validation. |
Instances
Show ScriptValidity Source # | |
Defined in Cardano.Api.Internal.Tx.Sign | |
DecCBOR ScriptValidity Source # | |
Defined in Cardano.Api.Internal.Tx.Sign | |
EncCBOR ScriptValidity Source # | |
Defined in Cardano.Api.Internal.Tx.Sign Methods encCBOR :: ScriptValidity -> Encoding Source # encodedSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy ScriptValidity -> Size Source # encodedListSizeExpr :: (forall t. EncCBOR t => Proxy t -> Size) -> Proxy [ScriptValidity] -> Size Source # | |
Eq ScriptValidity Source # | |
Defined in Cardano.Api.Internal.Tx.Sign Methods (==) :: ScriptValidity -> ScriptValidity -> Bool Source # (/=) :: ScriptValidity -> ScriptValidity -> Bool Source # |
txScriptValidityToIsValid :: TxScriptValidity era -> IsValid Source #
Transaction Ids
Constructors
TxId (Hash StandardCrypto EraIndependentTxBody) |
Instances
FromJSON TxId Source # | |
Defined in Cardano.Api.Internal.TxIn | |
FromJSONKey TxId Source # | |
Defined in Cardano.Api.Internal.TxIn | |
ToJSON TxId Source # | |
Defined in Cardano.Api.Internal.TxIn Methods toEncoding :: TxId -> Encoding toJSONList :: [TxId] -> Value toEncodingList :: [TxId] -> Encoding | |
ToJSONKey TxId Source # | |
Defined in Cardano.Api.Internal.TxIn | |
IsString TxId Source # | |
Defined in Cardano.Api.Internal.TxIn Methods fromString :: String -> TxId Source # | |
Show TxId Source # | |
HasTypeProxy TxId Source # | |
Defined in Cardano.Api.Internal.TxIn | |
SerialiseAsRawBytes TxId Source # | |
Defined in Cardano.Api.Internal.TxIn Methods serialiseToRawBytes :: TxId -> ByteString Source # deserialiseFromRawBytes :: AsType TxId -> ByteString -> Either SerialiseAsRawBytesError TxId Source # | |
Eq TxId Source # | |
Ord TxId Source # | |
Defined in Cardano.Api.Internal.TxIn | |
data AsType TxId Source # | |
Defined in Cardano.Api.Internal.TxIn |
getTxIdByron :: ATxAux ByteString -> TxId Source #
getTxIdShelley :: (EraCrypto (ShelleyLedgerEra era) ~ StandardCrypto, EraTxBody (ShelleyLedgerEra era)) => ShelleyBasedEra era -> TxBody (ShelleyLedgerEra era) -> TxId Source #
Transaction inputs
Instances
FromJSON TxIn Source # | |
Defined in Cardano.Api.Internal.TxIn | |
FromJSONKey TxIn Source # | |
Defined in Cardano.Api.Internal.TxIn | |
ToJSON TxIn Source # | |
Defined in Cardano.Api.Internal.TxIn Methods toEncoding :: TxIn -> Encoding toJSONList :: [TxIn] -> Value toEncodingList :: [TxIn] -> Encoding | |
ToJSONKey TxIn Source # | |
Defined in Cardano.Api.Internal.TxIn | |
Show TxIn Source # | |
Eq TxIn Source # | |
Ord TxIn Source # | |
Defined in Cardano.Api.Internal.TxIn | |
Pretty TxIn Source # | |
Defined in Cardano.Api.Internal.TxIn |
type TxIns build era = [(TxIn, BuildTxWith build (Witness WitCtxTxIn era))] Source #
indexTxIns :: TxIns BuildTx era -> [(ScriptWitnessIndex, TxIn, Witness WitCtxTxIn era)] Source #
Index transaction inputs ordered by TxIn
Please note that the result can contain also KeyWitness
es.
See section 4.1 of https://github.com/intersectmbo/cardano-ledger/releases/latest/download/alonzo-ledger.pdf
Instances
FromJSON TxIx Source # | |
Defined in Cardano.Api.Internal.TxIn | |
ToJSON TxIx Source # | |
Defined in Cardano.Api.Internal.TxIn Methods toEncoding :: TxIx -> Encoding toJSONList :: [TxIx] -> Value toEncodingList :: [TxIx] -> Encoding | |
Enum TxIx Source # | |
Show TxIx Source # | |
Eq TxIx Source # | |
Ord TxIx Source # | |
Defined in Cardano.Api.Internal.TxIn |
genesisUTxOPseudoTxIn :: NetworkId -> Hash GenesisUTxOKey -> TxIn Source #
Compute the TxIn
of the initial UTxO pseudo-transaction corresponding
to the given address in the genesis initial funds.
The Shelley initial UTxO is constructed from the sgInitialFunds
which
is not a full UTxO but just a map from addresses to coin values.
This gets turned into a UTxO by making a pseudo-transaction for each address,
with the 0th output being the coin value. So to spend from the initial UTxO
we need this same TxIn
to use as an input to the spending transaction.
getReferenceInputsSizeForTxIds :: ShelleyLedgerEra era ~ ledgerera => BabbageEraOnwards era -> UTxO ledgerera -> Set TxIn -> Int Source #
Calculate the reference inputs size in bytes for provided set of transaction IDs and UTXOs.
Transaction outputs
The context is a transaction body
Instances
IsShelleyBasedEra era => FromJSON (TxOut CtxTx era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods parseJSON :: Value -> Parser (TxOut CtxTx era) parseJSONList :: Value -> Parser [TxOut CtxTx era] omittedField :: Maybe (TxOut CtxTx era) |
The context is the UTxO
Instances
IsShelleyBasedEra era => FromJSON (TxOut CtxUTxO era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods parseJSON :: Value -> Parser (TxOut CtxUTxO era) parseJSONList :: Value -> Parser [TxOut CtxUTxO era] omittedField :: Maybe (TxOut CtxUTxO era) |
Constructors
TxOut (AddressInEra era) (TxOutValue era) (TxOutDatum ctx era) (ReferenceScript era) |
Instances
IsShelleyBasedEra era => FromJSON (TxOut CtxTx era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods parseJSON :: Value -> Parser (TxOut CtxTx era) parseJSONList :: Value -> Parser [TxOut CtxTx era] omittedField :: Maybe (TxOut CtxTx era) | |
IsShelleyBasedEra era => FromJSON (TxOut CtxUTxO era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods parseJSON :: Value -> Parser (TxOut CtxUTxO era) parseJSONList :: Value -> Parser [TxOut CtxUTxO era] omittedField :: Maybe (TxOut CtxUTxO era) | |
IsCardanoEra era => ToJSON (TxOut ctx era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods toJSON :: TxOut ctx era -> Value toEncoding :: TxOut ctx era -> Encoding toJSONList :: [TxOut ctx era] -> Value toEncodingList :: [TxOut ctx era] -> Encoding | |
Show (TxOut ctx era) Source # | |
Eq (TxOut ctx era) Source # | |
data TxOutValue era where Source #
Constructors
TxOutValueByron :: forall era. Coin -> TxOutValue era | |
TxOutValueShelleyBased :: forall era. (Eq (Value (ShelleyLedgerEra era)), Show (Value (ShelleyLedgerEra era))) => ShelleyBasedEra era -> Value (ShelleyLedgerEra era) -> TxOutValue era |
Instances
IsShelleyBasedEra era => FromJSON (TxOutValue era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods parseJSON :: Value -> Parser (TxOutValue era) parseJSONList :: Value -> Parser [TxOutValue era] omittedField :: Maybe (TxOutValue era) | |
IsCardanoEra era => ToJSON (TxOutValue era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods toJSON :: TxOutValue era -> Value toEncoding :: TxOutValue era -> Encoding toJSONList :: [TxOutValue era] -> Value toEncodingList :: [TxOutValue era] -> Encoding omitField :: TxOutValue era -> Bool | |
Show (TxOutValue era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxOutValue era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxOutValue era -> TxOutValue era -> Bool Source # (/=) :: TxOutValue era -> TxOutValue era -> Bool Source # |
data TxOutDatum ctx era where Source #
Constructors
TxOutDatumNone :: forall ctx era. TxOutDatum ctx era | |
TxOutDatumHash :: forall era ctx. AlonzoEraOnwards era -> Hash ScriptData -> TxOutDatum ctx era | A transaction output that only specifies the hash of the datum, but not the full datum value. |
TxOutSupplementalDatum :: forall era. AlonzoEraOnwards era -> HashableScriptData -> TxOutDatum CtxTx era | A transaction output that specifies the whole datum value. This can only be used in the context of the transaction body (i.e this is a supplemental datum), and does not occur in the UTxO. The UTxO only contains the datum hash. |
TxOutDatumInline :: forall era ctx. BabbageEraOnwards era -> HashableScriptData -> TxOutDatum ctx era | A transaction output that specifies the whole datum instead of the datum hash. Note that the datum map will not be updated with this datum, it only exists at the transaction output. |
Instances
Show (TxOutDatum ctx era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxOutDatum ctx era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxOutDatum ctx era -> TxOutDatum ctx era -> Bool Source # (/=) :: TxOutDatum ctx era -> TxOutDatum ctx era -> Bool Source # |
lovelaceToTxOutValue :: ShelleyBasedEra era -> Coin -> TxOutValue era Source #
txOutValueToLovelace :: TxOutValue era -> Coin Source #
txOutValueToValue :: TxOutValue era -> Value Source #
data TxOutInAnyEra where Source #
Constructors
TxOutInAnyEra :: forall era. CardanoEra era -> TxOut CtxTx era -> TxOutInAnyEra |
Instances
Show TxOutInAnyEra Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq TxOutInAnyEra Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxOutInAnyEra -> TxOutInAnyEra -> Bool Source # (/=) :: TxOutInAnyEra -> TxOutInAnyEra -> Bool Source # | |
Pretty TxOutInAnyEra Source # | |
Defined in Cardano.Api.Internal.Tx.Body |
txOutInAnyEra :: CardanoEra era -> TxOut CtxTx era -> TxOutInAnyEra Source #
Convenience constructor for TxOutInAnyEra
Other transaction body types
data TxInsCollateral era where Source #
Constructors
TxInsCollateralNone :: forall era. TxInsCollateral era | |
TxInsCollateral :: forall era. AlonzoEraOnwards era -> [TxIn] -> TxInsCollateral era |
Instances
Show (TxInsCollateral era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxInsCollateral era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxInsCollateral era -> TxInsCollateral era -> Bool Source # (/=) :: TxInsCollateral era -> TxInsCollateral era -> Bool Source # |
data TxInsReference era where Source #
Constructors
TxInsReferenceNone :: forall era. TxInsReference era | |
TxInsReference :: forall era. BabbageEraOnwards era -> [TxIn] -> TxInsReference era |
Instances
Show (TxInsReference era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxInsReference era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxInsReference era -> TxInsReference era -> Bool Source # (/=) :: TxInsReference era -> TxInsReference era -> Bool Source # |
data TxReturnCollateral ctx era where Source #
Constructors
TxReturnCollateralNone :: forall ctx era. TxReturnCollateral ctx era | |
TxReturnCollateral :: forall era ctx. BabbageEraOnwards era -> TxOut ctx era -> TxReturnCollateral ctx era |
Instances
Show (TxReturnCollateral ctx era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxReturnCollateral ctx era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxReturnCollateral ctx era -> TxReturnCollateral ctx era -> Bool Source # (/=) :: TxReturnCollateral ctx era -> TxReturnCollateral ctx era -> Bool Source # |
data TxTotalCollateral era where Source #
Constructors
TxTotalCollateralNone :: forall era. TxTotalCollateral era | |
TxTotalCollateral :: forall era. BabbageEraOnwards era -> Coin -> TxTotalCollateral era |
Instances
Show (TxTotalCollateral era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxTotalCollateral era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxTotalCollateral era -> TxTotalCollateral era -> Bool Source # (/=) :: TxTotalCollateral era -> TxTotalCollateral era -> Bool Source # |
Constructors
TxFeeExplicit :: forall era. ShelleyBasedEra era -> Coin -> TxFee era |
data TxValidityLowerBound era where Source #
Constructors
TxValidityNoLowerBound :: forall era. TxValidityLowerBound era | |
TxValidityLowerBound :: forall era. AllegraEraOnwards era -> SlotNo -> TxValidityLowerBound era |
Instances
Show (TxValidityLowerBound era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxValidityLowerBound era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxValidityLowerBound era -> TxValidityLowerBound era -> Bool Source # (/=) :: TxValidityLowerBound era -> TxValidityLowerBound era -> Bool Source # |
data TxValidityUpperBound era where Source #
This was formerly known as the TTL.
Constructors
TxValidityUpperBound :: forall era. ShelleyBasedEra era -> Maybe SlotNo -> TxValidityUpperBound era |
Instances
Show (TxValidityUpperBound era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxValidityUpperBound era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxValidityUpperBound era -> TxValidityUpperBound era -> Bool Source # (/=) :: TxValidityUpperBound era -> TxValidityUpperBound era -> Bool Source # |
data TxMetadataInEra era where Source #
Constructors
TxMetadataNone :: forall era. TxMetadataInEra era | |
TxMetadataInEra :: forall era. ShelleyBasedEra era -> TxMetadata -> TxMetadataInEra era |
Instances
Show (TxMetadataInEra era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxMetadataInEra era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxMetadataInEra era -> TxMetadataInEra era -> Bool Source # (/=) :: TxMetadataInEra era -> TxMetadataInEra era -> Bool Source # |
data TxAuxScripts era where Source #
Constructors
TxAuxScriptsNone :: forall era. TxAuxScripts era | |
TxAuxScripts :: forall era. AllegraEraOnwards era -> [ScriptInEra era] -> TxAuxScripts era |
Instances
Show (TxAuxScripts era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxAuxScripts era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxAuxScripts era -> TxAuxScripts era -> Bool Source # (/=) :: TxAuxScripts era -> TxAuxScripts era -> Bool Source # |
data TxExtraKeyWitnesses era where Source #
Constructors
TxExtraKeyWitnessesNone :: forall era. TxExtraKeyWitnesses era | |
TxExtraKeyWitnesses :: forall era. AlonzoEraOnwards era -> [Hash PaymentKey] -> TxExtraKeyWitnesses era |
Instances
Show (TxExtraKeyWitnesses era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxExtraKeyWitnesses era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxExtraKeyWitnesses era -> TxExtraKeyWitnesses era -> Bool Source # (/=) :: TxExtraKeyWitnesses era -> TxExtraKeyWitnesses era -> Bool Source # |
data TxWithdrawals build era where Source #
Constructors
TxWithdrawalsNone :: forall build era. TxWithdrawals build era | |
TxWithdrawals :: forall era build. ShelleyBasedEra era -> [(StakeAddress, Coin, BuildTxWith build (Witness WitCtxStake era))] -> TxWithdrawals build era |
Instances
Show (TxWithdrawals build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxWithdrawals build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxWithdrawals build era -> TxWithdrawals build era -> Bool Source # (/=) :: TxWithdrawals build era -> TxWithdrawals build era -> Bool Source # |
indexTxWithdrawals :: TxWithdrawals BuildTx era -> [(ScriptWitnessIndex, StakeAddress, Coin, Witness WitCtxStake era)] Source #
Index the withdrawals with witnesses in the order of stake addresses. See section 4.1 of https://github.com/intersectmbo/cardano-ledger/releases/latest/download/alonzo-ledger.pdf
data TxCertificates build era where Source #
Constructors
TxCertificatesNone :: forall build era. TxCertificates build era | No certificates |
TxCertificates :: forall era build. ShelleyBasedEra era -> OMap (Certificate era) (BuildTxWith build (Maybe (StakeCredential, Witness WitCtxStake era))) -> TxCertificates build era | Represents certificates present in transaction. Prefer using |
Instances
Show (TxCertificates build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxCertificates build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxCertificates build era -> TxCertificates build era -> Bool Source # (/=) :: TxCertificates build era -> TxCertificates build era -> Bool Source # |
mkTxCertificates :: Applicative (BuildTxWith build) => ShelleyBasedEra era -> [(Certificate era, Maybe (ScriptWitness WitCtxStake era))] -> TxCertificates build era Source #
Create TxCertificates
. Note that 'Certificate era' will be deduplicated. Only Certificates with a
stake credential will be in the result.
Note that, when building a transaction in Conway era, a witness is not required for staking credential registration, but this is only the case during the transitional period of Conway era and only for staking credential registration certificates without a deposit. Future eras will require a witness for registration certificates, because the one without a deposit will be removed.
indexTxCertificates :: TxCertificates BuildTx era -> [(ScriptWitnessIndex, Certificate era, StakeCredential, Witness WitCtxStake era)] Source #
Index certificates with witnesses by the order they appear in the list (in the transaction). See section 4.1 of https://github.com/intersectmbo/cardano-ledger/releases/latest/download/alonzo-ledger.pdf
data TxUpdateProposal era where Source #
Constructors
TxUpdateProposalNone :: forall era. TxUpdateProposal era | |
TxUpdateProposal :: forall era. ShelleyToBabbageEra era -> UpdateProposal -> TxUpdateProposal era |
Instances
Show (TxUpdateProposal era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxUpdateProposal era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxUpdateProposal era -> TxUpdateProposal era -> Bool Source # (/=) :: TxUpdateProposal era -> TxUpdateProposal era -> Bool Source # |
data TxMintValue build era where Source #
Constructors
TxMintNone :: forall build era. TxMintValue build era | |
TxMintValue :: forall era build. MaryEraOnwards era -> Map PolicyId [(AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))] -> TxMintValue build era |
Instances
Show (TxMintValue build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxMintValue build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxMintValue build era -> TxMintValue build era -> Bool Source # (/=) :: TxMintValue build era -> TxMintValue build era -> Bool Source # |
txMintValueToValue :: TxMintValue build era -> Value Source #
Convert TxMintValue
to a more handy Value
.
indexTxMintValue :: TxMintValue build era -> [(ScriptWitnessIndex, PolicyId, AssetName, Quantity, BuildTxWith build (ScriptWitness WitCtxMint era))] Source #
Index the assets with witnesses in the order of policy ids. See section 4.1 of https://github.com/intersectmbo/cardano-ledger/releases/latest/download/alonzo-ledger.pdf
data TxVotingProcedures build era where Source #
Constructors
TxVotingProceduresNone :: forall build era. TxVotingProcedures build era | |
TxVotingProcedures :: forall era build. VotingProcedures (ShelleyLedgerEra era) -> BuildTxWith build (Map (Voter (EraCrypto (ShelleyLedgerEra era))) (ScriptWitness WitCtxStake era)) -> TxVotingProcedures build era |
Instances
Show (TxVotingProcedures build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxVotingProcedures build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxVotingProcedures build era -> TxVotingProcedures build era -> Bool Source # (/=) :: TxVotingProcedures build era -> TxVotingProcedures build era -> Bool Source # |
mkTxVotingProcedures :: Applicative (BuildTxWith build) => [(VotingProcedures era, Maybe (ScriptWitness WitCtxStake era))] -> Either (VotesMergingConflict era) (TxVotingProcedures build era) Source #
Create voting procedures from map of voting procedures and optional witnesses.
Validates the function argument, to make sure the list of votes is legal.
See mergeVotingProcedures
for validation rules.
indexTxVotingProcedures :: TxVotingProcedures BuildTx era -> [(ScriptWitnessIndex, Voter (EraCrypto (ShelleyLedgerEra era)), ScriptWitness WitCtxStake era)] Source #
Index voting procedures by the order of the votes (Ord
).
data TxProposalProcedures build era where Source #
Constructors
TxProposalProceduresNone :: forall build era. TxProposalProcedures build era | No proposals in transaction.. |
TxProposalProcedures :: forall era build. EraPParams (ShelleyLedgerEra era) => OMap (ProposalProcedure (ShelleyLedgerEra era)) (BuildTxWith build (Maybe (ScriptWitness WitCtxStake era))) -> TxProposalProcedures build era | Represents proposal procedures present in transaction. |
Instances
Show (TxProposalProcedures build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (TxProposalProcedures build era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: TxProposalProcedures build era -> TxProposalProcedures build era -> Bool Source # (/=) :: TxProposalProcedures build era -> TxProposalProcedures build era -> Bool Source # |
mkTxProposalProcedures :: forall era build. (Applicative (BuildTxWith build), IsShelleyBasedEra era) => [(ProposalProcedure (ShelleyLedgerEra era), Maybe (ScriptWitness WitCtxStake era))] -> TxProposalProcedures build era Source #
A smart constructor for TxProposalProcedures
. It makes sure that the value produced is consistent - the
witnessed proposals are also present in the first constructor parameter.
indexTxProposalProcedures :: TxProposalProcedures BuildTx era -> [(ScriptWitnessIndex, ProposalProcedure (ShelleyLedgerEra era), ScriptWitness WitCtxStake era)] Source #
Index proposal procedures by their order (Ord
).
convProposalProcedures :: TxProposalProcedures build era -> OSet (ProposalProcedure (ShelleyLedgerEra era)) Source #
Returns an OSet of proposals from TxProposalProcedures
.
Building vs viewing transactions
data BuildTxWith build a where Source #
Constructors
ViewTx :: forall a. BuildTxWith ViewTx a | |
BuildTxWith :: forall a. a -> BuildTxWith BuildTx a |
Instances
Instances
Applicative (BuildTxWith BuildTx) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods pure :: a -> BuildTxWith BuildTx a Source # (<*>) :: BuildTxWith BuildTx (a -> b) -> BuildTxWith BuildTx a -> BuildTxWith BuildTx b Source # liftA2 :: (a -> b -> c) -> BuildTxWith BuildTx a -> BuildTxWith BuildTx b -> BuildTxWith BuildTx c Source # (*>) :: BuildTxWith BuildTx a -> BuildTxWith BuildTx b -> BuildTxWith BuildTx b Source # (<*) :: BuildTxWith BuildTx a -> BuildTxWith BuildTx b -> BuildTxWith BuildTx a Source # |
Instances
Applicative (BuildTxWith ViewTx) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods pure :: a -> BuildTxWith ViewTx a Source # (<*>) :: BuildTxWith ViewTx (a -> b) -> BuildTxWith ViewTx a -> BuildTxWith ViewTx b Source # liftA2 :: (a -> b -> c) -> BuildTxWith ViewTx a -> BuildTxWith ViewTx b -> BuildTxWith ViewTx c Source # (*>) :: BuildTxWith ViewTx a -> BuildTxWith ViewTx b -> BuildTxWith ViewTx b Source # (<*) :: BuildTxWith ViewTx a -> BuildTxWith ViewTx b -> BuildTxWith ViewTx a Source # |
buildTxWithToMaybe :: BuildTxWith build a -> Maybe a Source #
Inspecting ScriptWitness
es
data AnyScriptWitness era where Source #
A ScriptWitness
in any WitCtx
. This lets us handle heterogeneous
collections of script witnesses from multiple contexts.
Constructors
AnyScriptWitness :: forall witctx era. Typeable witctx => ScriptWitness witctx era -> AnyScriptWitness era |
Instances
Show (AnyScriptWitness era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body | |
Eq (AnyScriptWitness era) Source # | |
Defined in Cardano.Api.Internal.Tx.Body Methods (==) :: AnyScriptWitness era -> AnyScriptWitness era -> Bool Source # (/=) :: AnyScriptWitness era -> AnyScriptWitness era -> Bool Source # |
data ScriptWitnessIndex Source #
Identify the location of a ScriptWitness
within the context of a
TxBody
. These are indexes of the objects within the transaction that
need or can use script witnesses: inputs, minted assets, withdrawals and
certificates. These are simple numeric indices, enumerated from zero.
Thus the indices are not stable if the transaction body is modified.
Constructors
ScriptWitnessIndexTxIn !Word32 | The n'th transaction input, in the order of the |
ScriptWitnessIndexMint !Word32 | |
ScriptWitnessIndexCertificate !Word32 | The n'th certificate, in the list order of the certificates. |
ScriptWitnessIndexWithdrawal !Word32 | The n'th withdrawal, in the order of the |
ScriptWitnessIndexVoting !Word32 | The n'th vote, in the order of the votes. |
ScriptWitnessIndexProposing !Word32 | The n'th proposal, in the order of the proposals. |
Instances
collectTxBodyScriptWitnesses :: ShelleyBasedEra era -> TxBodyContent BuildTx era -> [(ScriptWitnessIndex, AnyScriptWitness era)] Source #
toScriptIndex :: AlonzoEraOnwards era -> PlutusPurpose AsIx (ShelleyLedgerEra era) -> ScriptWitnessIndex Source #
Conversion to inline data
scriptDataToInlineDatum :: Era ledgerera => HashableScriptData -> Datum ledgerera Source #
Conversion of ScriptData to binary data which allows for the storage of data onchain within a transaction output.
Internal conversion functions & types
convCertificates :: ShelleyBasedEra era -> TxCertificates build era -> StrictSeq (TxCert (ShelleyLedgerEra era)) Source #
convCollateralTxIns :: TxInsCollateral era -> Set (TxIn StandardCrypto) Source #
convExtraKeyWitnesses :: TxExtraKeyWitnesses era -> Set (KeyHash 'Witness StandardCrypto) Source #
convLanguages :: [(ScriptWitnessIndex, AnyScriptWitness era)] -> Set Language Source #
convMintValue :: TxMintValue build era -> MultiAsset StandardCrypto Source #
convReferenceInputs :: TxInsReference era -> Set (TxIn StandardCrypto) Source #
convReturnCollateral :: ShelleyBasedEra era -> TxReturnCollateral ctx era -> StrictMaybe (TxOut (ShelleyLedgerEra era)) Source #
convScripts :: ShelleyLedgerEra era ~ ledgerera => [(ScriptWitnessIndex, AnyScriptWitness era)] -> [Script ledgerera] Source #
convScriptData :: ShelleyBasedEra era -> [TxOut CtxTx era] -> [(ScriptWitnessIndex, AnyScriptWitness era)] -> TxBodyScriptData era Source #
convTotalCollateral :: TxTotalCollateral era -> StrictMaybe Coin Source #
convTransactionFee :: ShelleyBasedEra era -> TxFee era -> Coin Source #
convTxOuts :: forall ctx era ledgerera. (HasCallStack, ShelleyLedgerEra era ~ ledgerera) => ShelleyBasedEra era -> [TxOut ctx era] -> StrictSeq (TxOut ledgerera) Source #
Arguments
:: ShelleyBasedEra era | |
-> TxUpdateProposal era | |
-> Either TxBodyError (StrictMaybe (Update (ShelleyLedgerEra era))) |
|
Convert transaction update proposal into ledger update proposal
convValidityLowerBound :: TxValidityLowerBound era -> Maybe SlotNo Source #
convValidityUpperBound :: ShelleyBasedEra era -> TxValidityUpperBound era -> Maybe SlotNo Source #
convVotingProcedures :: TxVotingProcedures build era -> VotingProcedures (ShelleyLedgerEra era) Source #
convWithdrawals :: TxWithdrawals build era -> Withdrawals StandardCrypto Source #
getScriptIntegrityHash :: BuildTxWith BuildTx (Maybe (LedgerProtocolParameters era)) -> Set Language -> TxBodyScriptData era -> StrictMaybe (ScriptIntegrityHash (EraCrypto (ShelleyLedgerEra era))) Source #
mkCommonTxBody :: HasCallStack => ShelleyBasedEra era -> TxIns BuildTx era -> [TxOut ctx era] -> TxFee era -> TxWithdrawals build era -> Maybe (TxAuxData (ShelleyLedgerEra era)) -> TxBody era Source #
A helper function that constructs a TxBody with all of the fields that are common for all eras
toAuxiliaryData :: ShelleyBasedEra era -> TxMetadataInEra era -> TxAuxScripts era -> Maybe (TxAuxData (ShelleyLedgerEra era)) Source #
In the Allegra and Mary eras the auxiliary data consists of the tx metadata and the axiliary scripts. In the Alonzo and later eras the auxiliary data consists of the tx metadata and the axiliary scripts, and the axiliary script data.
toByronTxId :: TxId -> TxId Source #
toShelleyTxId :: TxId -> TxId StandardCrypto Source #
toShelleyTxIn :: TxIn -> TxIn StandardCrypto Source #
This function may overflow on the transaction index. Call sites must ensure that all uses of this function are appropriately guarded.
toShelleyTxOut :: (HasCallStack, ShelleyLedgerEra era ~ ledgerera) => ShelleyBasedEra era -> TxOut CtxUTxO era -> TxOut ledgerera Source #
toShelleyTxOutAny :: forall ctx era ledgerera. (HasCallStack, ShelleyLedgerEra era ~ ledgerera) => ShelleyBasedEra era -> TxOut ctx era -> TxOut ledgerera Source #
A variant of 'toShelleyTxOutAny that is used only internally to this module
that works with a TxOut
in any context (including CtxTx) by ignoring
embedded datums (taking only their hash).
fromShelleyTxId :: TxId StandardCrypto -> TxId Source #
fromShelleyTxIn :: TxIn StandardCrypto -> TxIn Source #
fromShelleyTxOut :: ShelleyBasedEra era -> TxOut (ShelleyLedgerEra era) -> TxOut ctx era Source #
fromByronTxIn :: TxIn -> TxIn Source #
fromLedgerTxOuts :: ShelleyBasedEra era -> TxBody (ShelleyLedgerEra era) -> TxBodyScriptData era -> [TxOut CtxTx era] Source #
renderTxIn :: TxIn -> Text Source #
Misc helpers
Data family instances
A family of singleton types used in this API to indicate which type to use where it would otherwise be ambiguous or merely unclear.
Values of this type are passed to deserialisation functions for example.
Instances
getTxBodyContent :: TxBody era -> TxBodyContent ViewTx era Source #
validateTxIns :: [(TxIn, BuildTxWith BuildTx (Witness WitCtxTxIn era))] -> Either TxBodyError () Source #
guardShelleyTxInsOverflow :: [TxIn] -> Either TxBodyError () Source #
validateTxOuts :: ShelleyBasedEra era -> [TxOut CtxTx era] -> Either TxBodyError () Source #
validateMetadata :: TxMetadataInEra era -> Either TxBodyError () Source #
validateTxInsCollateral :: TxInsCollateral era -> Set Language -> Either TxBodyError () Source #
validateProtocolParameters :: BuildTxWith BuildTx (Maybe (LedgerProtocolParameters era)) -> Set Language -> Either TxBodyError () Source #