atlas-0.1.0.0: Application backend for Plutus smart contracts on Cardano
Copyright(c) 2023 GYELD GMBH
LicenseApache 2.0
Maintainersupport@geniusyield.co
Stabilitydevelop
Safe HaskellNone
LanguageHaskell2010

GeniusYield.Transaction.CoinSelection

Description

 
Synopsis

Documentation

data GYBalancedTx v #

An *almost* finalized Tx.

This is fully balanced _except_ potentially missing an ada change output, and missing the exact fee. Both of these will be set by finalizeGYBalancedTx.

data GYTxInDetailed v #

A further detailed version of GYTxIn, containing all information about a UTxO.

Instances

Instances details
Eq (GYTxInDetailed v) # 
Instance details

Defined in GeniusYield.Transaction.Common

Show (GYTxInDetailed v) # 
Instance details

Defined in GeniusYield.Transaction.Common

data GYCoinSelectionEnv v #

Constructors

GYCoinSelectionEnv 

Fields

selectInputs ∷ ∀ m v. MonadRandom m ⇒ GYCoinSelectionEnv v → GYCoinSelectionStrategyExceptT BalancingError m ([GYTxInDetailed v], [GYTxOut v]) #

Select additional inputs from the set of own utxos given, such that when combined with given existing inputs, they cover for all the given outputs, as well as extraLovelace.

Return the list of additional inputs chosen and the change outputs created.

NOTE: This function doesn't necessarily take care of all ada change. Indeed, if any extra ada is still in the inputs and doesn't appear in the change outputs selected - it will simply be taken care of by makeTransactionBodyAutoBalance called higher in the call hierarchy.

Invariant ==

The ownUtxos and requiredOutputs arguments passed must contain non negative GYValues, with each one containing a positive amount of ada.