Module

Contract.Transaction

A module that defines the different transaction data types, balancing functionality, transaction fees, signing and submission.

#balanceTx

balanceTx :: UnbalancedTx -> Contract Transaction

Balance a transaction without providing balancer constraints.

balanceTxE is a non-throwing version of this function.

#balanceTxE

balanceTxE :: UnbalancedTx -> Contract (Either BalanceTxError Transaction)

Balance a transaction without providing balancer constraints.

balanceTx is a throwing variant.

#balanceTxWithConstraints

balanceTxWithConstraints :: UnbalancedTx -> BalanceTxConstraintsBuilder -> Contract Transaction

Attempts to balance an UnbalancedTx using the specified balancer constraints.

'Throwing' variant of balanceTxWithConstraintsE.

#balanceTxWithConstraintsE

balanceTxWithConstraintsE :: UnbalancedTx -> BalanceTxConstraintsBuilder -> Contract (Either BalanceTxError Transaction)

Attempts to balance an UnbalancedTx using the specified balancer constraints.

balanceTxWithConstraints is a throwing variant.

#balanceTxs

balanceTxs :: forall (t :: Type -> Type). Traversable t => t UnbalancedTx -> Contract (t Transaction)

Same as balanceTxsWithConstraints, but uses the default balancer constraints.

#balanceTxsWithConstraints

balanceTxsWithConstraints :: forall (t :: Type -> Type). Traversable t => t (UnbalancedTx /\ BalanceTxConstraintsBuilder) -> Contract (t Transaction)

Balances each transaction using specified balancer constraint sets and locks the used inputs so that they cannot be reused by subsequent transactions.

#createAdditionalUtxos

createAdditionalUtxos :: forall (tx :: Type). Coercible tx Transaction => tx -> Contract UtxoMap

Builds an expected utxo set from transaction outputs. Predicts output references (TransactionInputs) for each output by calculating the transaction hash and indexing the outputs in the order they appear in the transaction. This function should be used for transaction chaining in conjunction with mustUseAdditionalUtxos balancer constraint.

#getTxMetadata

getTxMetadata :: TransactionHash -> Contract (Either GetTxMetadataError GeneralTransactionMetadata)

Fetch transaction metadata. Returns Right when the transaction exists and metadata was non-empty

#submit

submit :: Transaction -> Contract TransactionHash

Submits a Transaction, which is the output of signTransaction.

#submitE

submitE :: Transaction -> Contract (Either ClientError TransactionHash)

Submits a Transaction that normally should be retreived from signTransaction. Preserves the errors returned by the backend in the case they need to be inspected.

#submitTxFromConstraintsReturningFee

#withBalancedTx

withBalancedTx :: forall (a :: Type). UnbalancedTx -> (Transaction -> Contract a) -> Contract a

Same as withBalancedTxWithConstraints, but uses the default balancer constraints.

#withBalancedTxWithConstraints

withBalancedTxWithConstraints :: forall (a :: Type). UnbalancedTx -> BalanceTxConstraintsBuilder -> (Transaction -> Contract a) -> Contract a

Execute an action on a balanced transaction (balanceTx will be called). Within this function, all transaction inputs used by this transaction will be locked, so that they are not used in any other context. After the function completes, the locks will be removed. Errors will be thrown.

#withBalancedTxs

withBalancedTxs :: forall (a :: Type). Array UnbalancedTx -> (Array Transaction -> Contract a) -> Contract a

Same as withBalancedTxsWithConstraints, but uses the default balancer constraints.

#withBalancedTxsWithConstraints

withBalancedTxsWithConstraints :: forall (a :: Type). Array (UnbalancedTx /\ BalanceTxConstraintsBuilder) -> (Array Transaction -> Contract a) -> Contract a

Execute an action on an array of balanced transactions (balanceTxs will be called). Within this function, all transaction inputs used by these transactions will be locked, so that they are not used in any other context. After the function completes, the locks will be removed. Errors will be thrown.

#hashTransaction

hashTransaction :: Warn (Text "Deprecated: Validator. Use Cardano.Types.PlutusData.hash") => Transaction -> TransactionHash

Re-exports from Cardano.Types

Re-exports from Cardano.Types.OutputDatum

Re-exports from Cardano.Types.PoolPubKeyHash

Re-exports from Cardano.Types.ScriptRef

Re-exports from Cardano.Types.Transaction

Re-exports from Ctl.Internal.BalanceTx.Error

#Expected

#Actual

newtype Actual

Constructors

Instances

#explainBalanceTxError

Re-exports from Ctl.Internal.Contract.AwaitTxConfirmed

#isTxConfirmed

isTxConfirmed :: TransactionHash -> Contract Boolean

Check if a transaction is confirmed at the moment, i.e. if its UTxOs are available to spend. If you want to delay until a transaction is confirmed, use awaitTxConfirmed or its variants.

#awaitTxConfirmedWithTimeoutSlots

awaitTxConfirmedWithTimeoutSlots :: Int -> TransactionHash -> Contract Unit

Same as awaitTxConfirmed, but allows to specify a timeout in slots for waiting. Throws an exception on timeout. Will fail to confirm if the transaction includes no outputs. https://github.com/Plutonomicon/cardano-transaction-lib/issues/1293

#awaitTxConfirmedWithTimeout

awaitTxConfirmedWithTimeout :: Seconds -> TransactionHash -> Contract Unit

Same as awaitTxConfirmed, but allows to specify a timeout in seconds for waiting. Throws an exception on timeout. Will fail to confirm if the transaction includes no outputs. https://github.com/Plutonomicon/cardano-transaction-lib/issues/1293

#awaitTxConfirmed

awaitTxConfirmed :: TransactionHash -> Contract Unit

Wait until a transaction with given hash is confirmed. Use awaitTxConfirmedWithTimeout if you want to limit the time of waiting. Will fail to confirm if the transaction includes no outputs. https://github.com/Plutonomicon/cardano-transaction-lib/issues/1293

Re-exports from Ctl.Internal.Contract.MinFee

#calculateMinFee

calculateMinFee :: Transaction -> UtxoMap -> Contract Coin

Calculate the minimum transaction fee.

Re-exports from Ctl.Internal.Contract.QueryHandle.Error

Re-exports from Ctl.Internal.Contract.Sign

#signTransaction

signTransaction :: Transaction -> Contract Transaction

Signs a transaction with potential failure.

Re-exports from Ctl.Internal.Lens

Modules