convex-coin-selection-0.2.0.0: Coin selection algorithm for Cardano transactions
Safe HaskellSafe-Inferred
LanguageHaskell2010

Convex.BuildTx

Description

Building transactions

Synopsis

Effect

class Monad m ⇒ MonadBuildTx m where Source #

Methods

addBtx ∷ TxBuild → m () Source #

Instances

Instances details
MonadBuildTx m ⇒ MonadBuildTx (MonadLogIgnoreT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → MonadLogIgnoreT m () Source #

MonadBuildTx m ⇒ MonadBuildTx (MonadLogKatipT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → MonadLogKatipT m () Source #

Monad m ⇒ MonadBuildTx (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → BuildTxT m () Source #

MonadBuildTx m ⇒ MonadBuildTx (MonadBlockchainCardanoNodeT e m) Source # 
Instance details

Defined in Convex.BuildTx

MonadBuildTx m ⇒ MonadBuildTx (ExceptT e m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → ExceptT e m () Source #

MonadBuildTx m ⇒ MonadBuildTx (StateT e m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → StateT e m () Source #

MonadBuildTx m ⇒ MonadBuildTx (StateT e m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → StateT e m () Source #

(Monoid w, MonadBuildTx m) ⇒ MonadBuildTx (WriterT w m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → WriterT w m () Source #

newtype BuildTxT m a Source #

Monad transformer for the MonadBuildTx effect

Constructors

BuildTxT 

Fields

Instances

Instances details
MonadTrans BuildTxT Source # 
Instance details

Defined in Convex.BuildTx

Methods

lift ∷ Monad m ⇒ m a → BuildTxT m a Source #

MonadError e m ⇒ MonadError e (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

throwError ∷ e → BuildTxT m a Source #

catchError ∷ BuildTxT m a → (e → BuildTxT m a) → BuildTxT m a Source #

MonadState s m ⇒ MonadState s (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

get ∷ BuildTxT m s Source #

put ∷ s → BuildTxT m () Source #

state ∷ (s → (a, s)) → BuildTxT m a Source #

Applicative m ⇒ Applicative (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

pure ∷ a → BuildTxT m a Source #

(<*>) ∷ BuildTxT m (a → b) → BuildTxT m a → BuildTxT m b Source #

liftA2 ∷ (a → b → c) → BuildTxT m a → BuildTxT m b → BuildTxT m c Source #

(*>) ∷ BuildTxT m a → BuildTxT m b → BuildTxT m b Source #

(<*) ∷ BuildTxT m a → BuildTxT m b → BuildTxT m a Source #

Functor m ⇒ Functor (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

fmap ∷ (a → b) → BuildTxT m a → BuildTxT m b Source #

(<$) ∷ a → BuildTxT m b → BuildTxT m a Source #

Monad m ⇒ Monad (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

(>>=) ∷ BuildTxT m a → (a → BuildTxT m b) → BuildTxT m b Source #

(>>) ∷ BuildTxT m a → BuildTxT m b → BuildTxT m b Source #

return ∷ a → BuildTxT m a Source #

MonadBlockchain m ⇒ MonadBlockchain (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

MonadMockchain m ⇒ MonadMockchain (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

MonadLog m ⇒ MonadLog (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

logInfo' ∷ Doc Void → BuildTxT m () Source #

logWarn' ∷ Doc Void → BuildTxT m () Source #

logDebug' ∷ Doc Void → BuildTxT m () Source #

Monad m ⇒ MonadBuildTx (BuildTxT m) Source # 
Instance details

Defined in Convex.BuildTx

Methods

addBtx ∷ TxBuild → BuildTxT m () Source #

runBuildTxT ∷ Functor m ⇒ BuildTxT m a → m (a, TxBuild) Source #

Run the BuildTxT monad transformer

execBuildTxT ∷ Monad m ⇒ BuildTxT m a → m TxBuild Source #

Run the BuildTxT monad transformer, returning the TxBuild part only

execBuildTx' ∷ BuildTxT Identity a → TxBodyContent BuildTx BabbageEra Source #

Run the BuildTx action and produce a transaction body

evalBuildTxT ∷ Monad m ⇒ BuildTxT m a → m a Source #

Run the BuildTxT monad transformer, returnin only the result

Building transactions

spendPublicKeyOutput ∷ MonadBuildTx m ⇒ TxIn → m () Source #

Spend an output locked by a public key

spendPlutusV1 ∷ ∀ datum redeemer m. (MonadBuildTx m, ToData datum, ToData redeemer) ⇒ TxIn → PlutusScript PlutusScriptV1 → datum → redeemer → m () Source #

spendPlutusV2 ∷ ∀ datum redeemer m. (MonadBuildTx m, ToData datum, ToData redeemer) ⇒ TxIn → PlutusScript PlutusScriptV2 → datum → redeemer → m () Source #

spendPlutusV2Ref ∷ ∀ datum redeemer m. (MonadBuildTx m, ToData datum, ToData redeemer) ⇒ TxIn → TxIn → Maybe ScriptHash → datum → redeemer → m () Source #

spendPlutusV2RefWithInlineDatum ∷ ∀ redeemer m. (MonadBuildTx m, ToData redeemer) ⇒ TxIn → TxIn → Maybe ScriptHash → redeemer → m () Source #

same as spendPlutusV2Ref but considers inline datum at the spent utxo

spendPlutusV2RefWithoutInRef ∷ ∀ datum redeemer m. (MonadBuildTx m, ToData datum, ToData redeemer) ⇒ TxIn → TxIn → Maybe ScriptHash → datum → redeemer → m () Source #

same as spendPlutusV2Ref but does not add the reference script in the reference input list This is to cover the case whereby the reference script utxo is expected to be consumed in the same tx.

spendPlutusV2RefWithoutInRefInlineDatum ∷ ∀ redeemer m. (MonadBuildTx m, ToData redeemer) ⇒ TxIn → TxIn → Maybe ScriptHash → redeemer → m () Source #

same as spendPlutusV2RefWithoutInRef but considers inline datum at the spent utxo

spendPlutusV2InlineDatum ∷ ∀ redeemer m. (MonadBuildTx m, ToData redeemer) ⇒ TxIn → PlutusScript PlutusScriptV2 → redeemer → m () Source #

Spend an output locked by a Plutus V2 validator with an inline datum

mintPlutusV1 ∷ ∀ redeemer m. (ToData redeemer, MonadBuildTx m) ⇒ PlutusScript PlutusScriptV1 → redeemer → AssetName → Quantity → m () Source #

mintPlutusV2 ∷ ∀ redeemer m. (ToData redeemer, MonadBuildTx m) ⇒ PlutusScript PlutusScriptV2 → redeemer → AssetName → Quantity → m () Source #

mintPlutusV2Ref ∷ ∀ redeemer m. (ToData redeemer, MonadBuildTx m) ⇒ TxIn → ScriptHash → redeemer → AssetName → Quantity → m () Source #

payToPlutusV2InlineWithInlineDatum ∷ ∀ a m. (MonadBuildTx m, ToData a) ⇒ AddressInEra BabbageEra → PlutusScript PlutusScriptV2 → a → Value → m () Source #

same as payToPlutusV2Inline but also specify an inline datum

payToPlutusV2InlineWithDatum ∷ ∀ a m. (MonadBuildTx m, ToData a) ⇒ AddressInEra BabbageEra → PlutusScript PlutusScriptV2 → a → Value → m () Source #

same as payToPlutusV2Inline but also specify a datum

assetValue ∷ ScriptHash → AssetName → Quantity → Value Source #

A value containing the given amount of the native asset

addRequiredSignature ∷ MonadBuildTx m ⇒ Hash PaymentKey → m () Source #

Add a public key hash to the list of required signatures.

prependTxOut ∷ MonadBuildTx m ⇒ TxOut CtxTx BabbageEra → m () Source #

Add a transaction output to the start of the list of transaction outputs.

Minimum Ada deposit

setMinAdaDeposit ∷ BundledProtocolParameters BabbageEra → TxOut CtxTx BabbageEra → TxOut CtxTx BabbageEra Source #

Set the Ada component in an output's value to at least the amount needed to cover the minimum UTxO deposit for this output