cardano-node-emulator-1.2.0.0
Safe Haskell None
Language Haskell2010

Cardano.Node.Emulator.Fee

Contents

Description

Calculating transaction fees in the emulator.

Synopsis

Documentation

makeAutoBalancedTransaction Source #

Arguments

:: Params
-> UTxO EmulatorEra

Just the transaction inputs, not the entire UTxO .

-> CardanoBuildTx
-> CardanoAddress

Change address

-> Either CardanoLedgerError ( Tx BabbageEra )

Creates a balanced transaction by calculating the execution units, the fees and the change, which is assigned to the given address. Only balances Ada.

makeAutoBalancedTransactionWithUtxoProvider Source #

Arguments

:: Monad m
=> Params
-> UtxoIndex

Just the transaction inputs, not the entire UTxO .

-> CardanoAddress

Change address

-> UtxoProvider m
-> ( forall a. CardanoLedgerError -> m a)

How to handle errors

-> CardanoBuildTx
-> m ( Tx BabbageEra )

Creates a balanced transaction by calculating the execution units, the fees and then the balance. If the balance is negative the utxo provider is asked to pick extra inputs to make the balance is positive, which is then assigned to the change address. The collateral is similarly balanced. Unlike makeAutoBalancedTransaction this function also balances non-Ada.

utxoProviderFromWalletOutputs Source #

Arguments

:: Map TxOutRef TxOut

The unspent transaction outputs. Make sure that this doesn't contain any inputs from the transaction being balanced.

-> UtxoProvider ( Either BalancingError )

data BalancingError Source #

Constructors

InsufficientFunds

Not enough extra inputs available to balance a transaction.

CardanoLedgerError CardanoLedgerError

Instances

Instances details
Eq BalancingError Source #
Instance details

Defined in Cardano.Node.Emulator.Fee

Show BalancingError Source #
Instance details

Defined in Cardano.Node.Emulator.Fee

Generic BalancingError Source #
Instance details

Defined in Cardano.Node.Emulator.Fee

ToJSON BalancingError Source #
Instance details

Defined in Cardano.Node.Emulator.Fee

FromJSON BalancingError Source #
Instance details

Defined in Cardano.Node.Emulator.Fee

type Rep BalancingError Source #
Instance details

Defined in Cardano.Node.Emulator.Fee

Internals

selectCoin Source #

Arguments

:: Eq a
=> [(a, Value )]

Possible inputs to choose from

-> Value

The target value

-> Either BalancingError ([a], Value )

The chosen inputs and the change

Given a set of a s with coin values, and a target value, select a number of a such that their total value is greater than or equal to the target.