Copyright | (c) 2023 GYELD GMBH |
---|---|
License | Apache 2.0 |
Maintainer | [email protected] |
Stability | develop |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
GeniusYield.Transaction.CoinSelection
Description
Synopsis
- data GYBalancedTx v = GYBalancedTx {
- gybtxIns ∷ ![GYTxInDetailed v]
- gybtxCollaterals ∷ !GYUTxOs
- gybtxOuts ∷ ![GYTxOut v]
- gybtxMint ∷ !(Maybe (GYValue, [(GYBuildScript v, GYRedeemer)]))
- gybtxWdrls ∷ ![GYTxWdrl v]
- gybtxCerts ∷ ![GYTxCert' v]
- gybtxInvalidBefore ∷ !(Maybe GYSlot)
- gybtxInvalidAfter ∷ !(Maybe GYSlot)
- gybtxSigners ∷ !(Set GYPubKeyHash)
- gybtxRefIns ∷ !GYUTxOs
- gybtxMetadata ∷ !(Maybe GYTxMetadata)
- gybtxVotingProcedures ∷ !(GYTxVotingProcedures v)
- gybtxProposalProcedures ∷ ![(GYProposalProcedurePB, GYTxBuildWitness v)]
- data GYTxInDetailed v = GYTxInDetailed {}
- data GYCoinSelectionEnv v = GYCoinSelectionEnv {}
- data GYCoinSelectionStrategy
- selectInputs ∷ ∀ m v. MonadRandom m ⇒ GYCoinSelectionEnv v → GYCoinSelectionStrategy → ExceptT GYBalancingError m ([GYTxInDetailed v], [GYTxOut v])
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
.
Constructors
GYBalancedTx | |
Fields
|
data GYTxInDetailed v #
A further detailed version of GYTxIn
, containing all information about a UTxO.
Constructors
GYTxInDetailed | |
Fields
|
Instances
Show (GYTxInDetailed v) # | |
Defined in GeniusYield.Transaction.Common Methods showsPrec ∷ Int → GYTxInDetailed v → ShowS # show ∷ GYTxInDetailed v → String # showList ∷ [GYTxInDetailed v] → ShowS # | |
Eq (GYTxInDetailed v) # | |
Defined in GeniusYield.Transaction.Common Methods (==) ∷ GYTxInDetailed v → GYTxInDetailed v → Bool # (/=) ∷ GYTxInDetailed v → GYTxInDetailed v → Bool # |
data GYCoinSelectionEnv v #
Constructors
GYCoinSelectionEnv | |
Fields
|
data GYCoinSelectionStrategy #
Instances
selectInputs ∷ ∀ m v. MonadRandom m ⇒ GYCoinSelectionEnv v → GYCoinSelectionStrategy → ExceptT GYBalancingError 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.
Invariant ==
The ownUtxos
and requiredOutputs
arguments passed must contain non negative GYValue
s, with each one containing
a positive amount of ada.