tests
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hydra.Model.MockChain

Synopsis

Documentation

mockChainAndNetwork :: forall m. (MonadTimer m, MonadAsync m, MonadMask m, MonadThrow (STM m), MonadLabelledSTM m, MonadFork m, MonadDelay m) => Tracer m DirectChainLog -> [(SigningKey HydraKey, CardanoSigningKey)] -> ContestationPeriod -> m (SimulatedChainNetwork Tx m) Source #

Create a mocked chain which connects nodes through ChainSyncHandler and Chain interfaces. It calls connected chain sync handlers $sel:onRollForward:ChainSyncHandler on every blockTime and performs $sel:rollbackAndForward:SimulatedChainNetwork every couple blocks.

findOwnCardanoKey :: Party -> [(SigningKey HydraKey, CardanoSigningKey)] -> (VerificationKey PaymentKey, [VerificationKey PaymentKey]) Source #

Find Cardano vkey corresponding to our Hydra vkey using signing keys lookup. This is a bit cumbersome and a tribute to the fact the HydraNode itself has no direct knowlege of the cardano keys which are stored only at the ChainComponent level.

createMockNetwork :: MonadSTM m => HydraNode Tx m -> TVar m [MockHydraNode m] -> Network m (Message Tx) Source #

data MockHydraNode m Source #

Constructors

MockHydraNode 

Fields

createMockChain :: (MonadTimer m, MonadThrow (STM m)) => Tracer m DirectChainLog -> ChainContext -> SubmitTx m -> m TimeHandle -> TxIn -> LocalChainState m -> Chain Tx m Source #

mkMockTxIn :: VerificationKey PaymentKey -> Word -> TxIn Source #