cardano-node-emulator-1.1.0.0
Safe HaskellNone
LanguageHaskell2010

Cardano.Node.Emulator.Chain

Synopsis

Documentation

data ChainEvent Source #

Events produced by the blockchain emulator.

Constructors

TxnValidate TxId CardanoTx [Text]

A transaction has been validated and added to the blockchain.

TxnValidationFail ValidationPhase TxId CardanoTx ValidationError Value [Text]

A transaction failed to validate. The Value indicates the amount of collateral stored in the transaction.

SlotAdd Slot 

Instances

Instances details
Eq ChainEvent Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

Show ChainEvent Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

Generic ChainEvent Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

Associated Types

type Rep ChainEvent :: Type -> Type Source #

ToJSON ChainEvent Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

FromJSON ChainEvent Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

Pretty ChainEvent Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

type Rep ChainEvent Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

type TxPool = [CardanoTx] Source #

A pool of transactions which have yet to be validated.

data ChainState Source #

Constructors

ChainState 

Fields

Instances

Instances details
Show ChainState Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

Generic ChainState Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

Associated Types

type Rep ChainState :: Type -> Type Source #

type Rep ChainState Source # 
Instance details

Defined in Cardano.Node.Emulator.Chain

type Rep ChainState = D1 ('MetaData "ChainState" "Cardano.Node.Emulator.Chain" "cardano-node-emulator-1.1.0.0-86RbaXcxDhk56O3Y8j0lgb" 'False) (C1 ('MetaCons "ChainState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_chainNewestFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Blockchain) :*: S1 ('MetaSel ('Just "_txPool") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxPool)) :*: (S1 ('MetaSel ('Just "_index") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UtxoIndex) :*: S1 ('MetaSel ('Just "_chainCurrentSlot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Slot))))

processBlock :: Member ChainControlEffect effs => Eff effs Block Source #

Make a new block

modifySlot :: Member ChainControlEffect effs => (Slot -> Slot) -> Eff effs Slot Source #

Adjust the current slot number, returning the new slot.

data ValidatedBlock Source #

The result of validating a block.

Constructors

ValidatedBlock 

Fields

validateBlock :: Params -> Slot -> UtxoIndex -> TxPool -> ValidatedBlock Source #

Validate a block given the current slot and UTxO index, returning the valid transactions, success/failure events and the updated UTxO set.

canValidateNow :: Slot -> CardanoTx -> Bool Source #

Check whether the given transaction can be validated in the given slot.

validateEm :: MonadState ValidationCtx m => Slot -> CardanoTx -> m (Either ValidationErrorInPhase ValidationSuccess) Source #

Validate a transaction in the current emulator state.

addBlock :: Block -> ChainState -> ChainState Source #

Adds a block to ChainState, without validation.