| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Consensus.Genesis.Setup.GenChains
Synopsis
- data GenesisTest blk schedule = GenesisTest {
- gtSecurityParam ∷ SecurityParam
- gtGenesisWindow ∷ GenesisWindow
- gtForecastRange ∷ ForecastRange
- gtDelay ∷ Delta
- gtBlockTree ∷ BlockTree blk
- gtChainSyncTimeouts ∷ ChainSyncTimeout
- gtBlockFetchTimeouts ∷ BlockFetchTimeout
- gtLoPBucketParams ∷ LoPBucketParams
- gtCSJParams ∷ CSJParams
- gtSlotLength ∷ SlotLength
- gtExtraHonestPeers ∷ Word
- gtSchedule ∷ schedule
- class IssueTestBlock blk where
- issueFirstBlock ∷ Int → SlotNo → blk
- issueSuccessorBlock ∷ Maybe Int → SlotNo → blk → blk
- genChains ∷ (HasHeader blk, IssueTestBlock blk) ⇒ Gen Word → Gen (GenesisTest blk ())
- genChainsWithExtraHonestPeers ∷ (HasHeader blk, IssueTestBlock blk) ⇒ Gen Word → Gen Word → Gen (GenesisTest blk ())
Documentation
data GenesisTest blk schedule Source #
All the data used by point schedule tests.
Constructors
| GenesisTest | |
Fields
| |
Instances
| Functor (GenesisTest blk) Source # | |
Defined in Test.Consensus.PointSchedule Methods fmap ∷ (a → b) → GenesisTest blk a → GenesisTest blk b # (<$) ∷ a → GenesisTest blk b → GenesisTest blk a # | |
class IssueTestBlock blk where Source #
Class of block types for which we can issue blocks for a test.
Methods
Instances
genChains ∷ (HasHeader blk, IssueTestBlock blk) ⇒ Gen Word → Gen (GenesisTest blk ()) Source #
genChainsWithExtraHonestPeers Source #
Arguments
| ∷ (HasHeader blk, IssueTestBlock blk) | |
| ⇒ Gen Word | Number of extra honest peers |
| → Gen Word | Number of forks |
| → Gen (GenesisTest blk ()) |
Random generator for a block tree. The block tree contains one trunk (the “honest” chain) and as many branches as given as a parameter (the “alternative” chains or “bad” chains). For instance, one such tree could be graphically represented as:
slots: 1 2 3 4 5 6 7 8 9
trunk: O─────1──2──3──4─────5──6──7
│ ╰─────6
╰─────3──4─────5
For now, the extraHonestPeers generator is only used to fill the GenesisTest field.
However, in the future it could also be used to generate "short forks" near the tip of the trunk.