Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cooked.MockChain.MockChainSt
Synopsis
- data MockChainSt = MockChainSt {}
- getIndex :: UtxoIndex -> Map TxOutRef TxOut
- mcstToUtxoState :: MockChainSt -> UtxoState
- mcstToSkelContext :: MockChainSt -> SkelContext
- mcstToEmulatedLedgerState :: MockChainSt -> EmulatedLedgerState
- addDatums :: [(DatumHash, TxSkelOutDatum)] -> MockChainSt -> MockChainSt
- removeDatums :: [DatumHash] -> MockChainSt -> MockChainSt
- addValidators :: Map ValidatorHash (Versioned Validator) -> MockChainSt -> MockChainSt
- mockChainSt0From :: MonadBlockChainBalancing m => InitialDistribution -> m MockChainSt
- referenceScriptMap0From :: InitialDistribution -> Map ValidatorHash (Versioned Validator)
- scriptMap0From :: InitialDistribution -> Map ValidatorHash (Versioned Validator)
- datumMap0From :: InitialDistribution -> Map DatumHash (TxSkelOutDatum, Integer)
- utxoIndex0From :: MonadBlockChainBalancing m => InitialDistribution -> m UtxoIndex
- utxoIndex0 :: MonadBlockChainBalancing m => m UtxoIndex
Documentation
data MockChainSt Source #
Slightly more concrete version of UtxoState
, used to actually run the
simulation.
Constructors
MockChainSt | |
Fields |
Instances
Show MockChainSt Source # | |
Defined in Cooked.MockChain.MockChainSt Methods showsPrec :: Int -> MockChainSt -> ShowS # show :: MockChainSt -> String # showList :: [MockChainSt] -> ShowS # | |
Default MockChainSt Source # | |
Defined in Cooked.MockChain.MockChainSt Methods def :: MockChainSt # | |
Eq MockChainSt Source # | |
Defined in Cooked.MockChain.MockChainSt | |
Monad m => MonadState MockChainSt (MockChainT m) Source # | |
Defined in Cooked.MockChain.Direct Methods get :: MockChainT m MockChainSt # put :: MockChainSt -> MockChainT m () # state :: (MockChainSt -> (a, MockChainSt)) -> MockChainT m a # |
getIndex :: UtxoIndex -> Map TxOutRef TxOut Source #
Converts a builtin UtxoIndex into our own usable map between utxos and associated outputs.
mcstToSkelContext :: MockChainSt -> SkelContext Source #
Generating a skeleton context from a mockchain state. This is dedicated to allowing the pretty printer to resolve skeleton parts.
mcstToEmulatedLedgerState :: MockChainSt -> EmulatedLedgerState Source #
Generating an emulated state for the emulator from a mockchain state and some parameters, based on a standard initial state
addDatums :: [(DatumHash, TxSkelOutDatum)] -> MockChainSt -> MockChainSt Source #
removeDatums :: [DatumHash] -> MockChainSt -> MockChainSt Source #
addValidators :: Map ValidatorHash (Versioned Validator) -> MockChainSt -> MockChainSt Source #
Initial MockChainSt
from an initial distribution
referenceScriptMap0From :: InitialDistribution -> Map ValidatorHash (Versioned Validator) Source #
Reference scripts from initial distributions should be accounted for in the
MockChainSt
which is done using this function.
scriptMap0From :: InitialDistribution -> Map ValidatorHash (Versioned Validator) Source #
Scripts from initial distributions should be accounted for in the
MockChainSt
which is done using this function.
datumMap0From :: InitialDistribution -> Map DatumHash (TxSkelOutDatum, Integer) Source #
Datums from initial distributions should be accounted for in the
MockChainSt
which is done using this function.
utxoIndex0From :: MonadBlockChainBalancing m => InitialDistribution -> m UtxoIndex Source #
This creates the initial UtxoIndex from an initial distribution by submitting an initial transaction with the appropriate content:
- inputs consist of a single dummy pseudo input
- outputs are translated from the
TxSkelOut
list in the initial distribution
Two things to note:
- We don't know what Magic means for the network ID (TODO)
- The genesis key hash has been taken from https://github.com/input-output-hk/cardano-node/blob/543b267d75d3d448e1940f9ec04b42bd01bbb16b/cardano-api/test/Test/Cardano/Api/Genesis.hs#L60
utxoIndex0 :: MonadBlockChainBalancing m => m UtxoIndex Source #