/
index.html
10 lines (10 loc) · 131 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>ouroboros-network</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">ouroboros-network</span><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="description"><h1>ouroboros-network</h1><div class="doc"><h1>Ouroboros-Network Repository Hackage Documentation</h1><p><a href="#module-list">skip to module list</a></p><p>This site contains Haskell documentation of</p><ul><li><strong>Ouroboros-Network</strong> - networking component of the Haskell implementation of Ouroboros protocols</li><li><strong>Ouroboros-Consensus</strong> - Ouroboros Consensus family of protocol which integrate with `Ouroboros-Network`</li></ul><h2>Module Structure And Network Components</h2><ul><li><p><strong>IOSim & Monad Classes</strong></p><ul><li><strong><a href="io-sim/Control-Monad-IOSim.html">io-sim</a></strong> - <code>IOSim</code> moand which
allows us to test networking code in simulation.</li><li><strong><a href="#n.2.1.1">io-sim-classes</a></strong> - abstract classes under <code>Class</code> which
allow to use real <code>IO</code> or the <code>SimIO</code> monad in a polymorphic way.</li></ul></li></ul><ul><li><p><strong>Network</strong> - low level networking libraries, independent of our choices</p><ul><li><strong><a href="/Win32-network">Win32-network</a></strong></li><li><strong><a href="typed-protocols/Network-TypedProtocol.html">typed-protocols</a></strong></li><li><strong><a href="network-mux/Network-Mux.html">network-mux</a></strong></li></ul></li><li><p><strong>Ouroboros.Network</strong></p><ul><li><strong>ouroboros-network-framework</strong> - our instantiations and implementation
of servers, clients, abstractions for working with named pipes and unix
sockets. These are higher level components, which don't dependent on
ouroboros protocols, but build a solid foundation for the networking
library</li><li><p><strong>ouroboros-network</strong> - networking library which supports /Ouroboros family
of protocols/. It includes:</p><ul><li><p><em>Implementations, type level specifications, and api of all the protocols:</em></p><ul><li><strong><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-Type.html">ChainSync</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-Protocol-BlockFetch-Type.html">BlockFetch</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission-Type.html">TxSubmission</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission2-Type.html">TxSubmission2</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalTxSubmission-Type.html">LocalTxSubmission</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalStateQuery-Type.html">LocalStateQuery</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalTxMonitor-Type.html">LocalTxMonitor</a></strong></li><li><strong><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake-Type.html">Handshake</a></strong></li></ul></li><li><p>/Block chain related data structures that the networking code needs
to be aware of:/</p><ul><li><strong><a href="ouroboros-network/Ouroboros-Network-Block.html">Block</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-AnchoredFragment.html">AnchoredFragment</a></strong></li></ul></li><li><p><em>Network applications:</em></p><ul><li><strong><a href="ouroboros-network/Ouroboros-Network-BlockFetch.html">Block Fetch Application</a></strong></li><li><p><strong>Tx Submission Applications</strong>:</p><ul><li><strong><a href="ouroboros-network/Ouroboros-Network-TxSubmission-Inbound.html">inbound</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-TxSubmission-Outbound.html">outbound</a></strong></li></ul></li><li><strong><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor.html">Peer Selection</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-Diffusion.html">Data Diffusion</a></strong> which combines all the pieces for supporting
a <a href="https://github.com://input-output-hk/cardano-node">node</a></li><li><strong><a href="ouroboros-network/Ouroboros-Network-NodeToNode.html">NodeToNode API</a></strong></li><li><strong><a href="ouroboros-network/Ouroboros-Network-NodeToClient.html">NodeToClient API</a></strong></li></ul></li></ul></li></ul></li></ul></div></div><div id="module-list"><p class="caption">Signatures</p></div><div id="module-list"><p class="caption">Modules</p><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.1">Cardano</span><details id="n.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.1.1">Client</span><details id="n.1.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="cardano-client/Cardano-Client-Subscription.html">Cardano.Client.Subscription</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.2">Control</span><details id="n.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.2.1">Concurrent</span><details id="n.2.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Control-Concurrent-JobPool.html">Control.Concurrent.JobPool</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.2.2">Monad</span><details id="n.2.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.2.2.1">Class</span><details id="n.2.2.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadAsync.html">Control.Monad.Class.MonadAsync</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadEventlog.html">Control.Monad.Class.MonadEventlog</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadFork.html">Control.Monad.Class.MonadFork</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadST.html">Control.Monad.Class.MonadST</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.2.2.1.5"> </span><a href="io-sim-classes/Control-Monad-Class-MonadSTM.html">Control.Monad.Class.MonadSTM</a></span><details id="n.2.2.1.5" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadSTM-Strict.html">Control.Monad.Class.MonadSTM.Strict</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadSay.html">Control.Monad.Class.MonadSay</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadThrow.html">Control.Monad.Class.MonadThrow</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadTime.html">Control.Monad.Class.MonadTime</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="io-sim-classes/Control-Monad-Class-MonadTimer.html">Control.Monad.Class.MonadTimer</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.2.2.2"> </span><a href="io-sim/Control-Monad-IOSim.html">Control.Monad.IOSim</a></span><details id="n.2.2.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="io-sim/Control-Monad-IOSim-Internal.html">Control.Monad.IOSim.Internal</a></span></li></ul></details></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.3">Data</span><details id="n.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.3.1">Monoid</span><details id="n.3.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Data-Monoid-Synchronisation.html">Data.Monoid.Synchronisation</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.3.2">SOP</span><details id="n.3.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Data-SOP-Strict.html">Data.SOP.Strict</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.4">Network</span><details id="n.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.4.1"> </span><a href="network-mux/Network-Mux.html">Network.Mux</a></span><details id="n.4.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.4.1.1">Bearer</span><details id="n.4.1.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Bearer-AttenuatedChannel.html">Network.Mux.Bearer.AttenuatedChannel</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Bearer-Pipe.html">Network.Mux.Bearer.Pipe</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Bearer-Queues.html">Network.Mux.Bearer.Queues</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Bearer-Socket.html">Network.Mux.Bearer.Socket</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Channel.html">Network.Mux.Channel</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Codec.html">Network.Mux.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Compat.html">Network.Mux.Compat</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.4.1.5">DeltaQ</span><details id="n.4.1.5" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-DeltaQ-TraceStats.html">Network.Mux.DeltaQ.TraceStats</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-DeltaQ-TraceStatsSupport.html">Network.Mux.DeltaQ.TraceStatsSupport</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-DeltaQ-TraceTransformer.html">Network.Mux.DeltaQ.TraceTransformer</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-DeltaQ-TraceTypes.html">Network.Mux.DeltaQ.TraceTypes</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Egress.html">Network.Mux.Egress</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Ingress.html">Network.Mux.Ingress</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Time.html">Network.Mux.Time</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Timeout.html">Network.Mux.Timeout</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Trace.html">Network.Mux.Trace</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="network-mux/Network-Mux-Types.html">Network.Mux.Types</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.4.2">NTP</span><details id="n.4.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.4.2.1"> </span><a href="ntp-client/Network-NTP-Client.html">Network.NTP.Client</a></span><details id="n.4.2.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ntp-client/Network-NTP-Client-Packet.html">Network.NTP.Client.Packet</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ntp-client/Network-NTP-Client-Query.html">Network.NTP.Client.Query</a></span></li></ul></details></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.4.3"> </span><a href="typed-protocols/Network-TypedProtocol.html">Network.TypedProtocol</a></span><details id="n.4.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-Channel.html">Network.TypedProtocol.Channel</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-Codec.html">Network.TypedProtocol.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols/Network-TypedProtocol-Core.html">Network.TypedProtocol.Core</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.4.3.4"> </span><a href="typed-protocols/Network-TypedProtocol-Driver.html">Network.TypedProtocol.Driver</a></span><details id="n.4.3.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-Driver-Simple.html">Network.TypedProtocol.Driver.Simple</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.4.3.5">PingPong</span><details id="n.4.3.5" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-PingPong-Client.html">Network.TypedProtocol.PingPong.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-PingPong-Codec.html">Network.TypedProtocol.PingPong.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-PingPong-Examples.html">Network.TypedProtocol.PingPong.Examples</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-PingPong-Server.html">Network.TypedProtocol.PingPong.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-PingPong-Type.html">Network.TypedProtocol.PingPong.Type</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols/Network-TypedProtocol-Pipelined.html">Network.TypedProtocol.Pipelined</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols/Network-TypedProtocol-Proofs.html">Network.TypedProtocol.Proofs</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.4.3.8">ReqResp</span><details id="n.4.3.8" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-ReqResp-Client.html">Network.TypedProtocol.ReqResp.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-ReqResp-Codec.html">Network.TypedProtocol.ReqResp.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-ReqResp-Examples.html">Network.TypedProtocol.ReqResp.Examples</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-ReqResp-Server.html">Network.TypedProtocol.ReqResp.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="typed-protocols-examples/Network-TypedProtocol-ReqResp-Type.html">Network.TypedProtocol.ReqResp.Type</a></span></li></ul></details></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5">Ouroboros</span><details id="n.5" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1">Consensus</span><details id="n.5.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.1"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block.html">Ouroboros.Consensus.Block</a></span><details id="n.5.1.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block-Abstract.html">Ouroboros.Consensus.Block.Abstract</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block-EBB.html">Ouroboros.Consensus.Block.EBB</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block-Forging.html">Ouroboros.Consensus.Block.Forging</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block-NestedContent.html">Ouroboros.Consensus.Block.NestedContent</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block-RealPoint.html">Ouroboros.Consensus.Block.RealPoint</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block-SupportsMetrics.html">Ouroboros.Consensus.Block.SupportsMetrics</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Block-SupportsProtocol.html">Ouroboros.Consensus.Block.SupportsProtocol</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.2"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-BlockchainTime.html">Ouroboros.Consensus.BlockchainTime</a></span><details id="n.5.1.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-BlockchainTime-API.html">Ouroboros.Consensus.BlockchainTime.API</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.2.2">WallClock</span><details id="n.5.1.2.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-BlockchainTime-WallClock-Default.html">Ouroboros.Consensus.BlockchainTime.WallClock.Default</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-BlockchainTime-WallClock-HardFork.html">Ouroboros.Consensus.BlockchainTime.WallClock.HardFork</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-BlockchainTime-WallClock-Simple.html">Ouroboros.Consensus.BlockchainTime.WallClock.Simple</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-BlockchainTime-WallClock-Types.html">Ouroboros.Consensus.BlockchainTime.WallClock.Types</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-BlockchainTime-WallClock-Util.html">Ouroboros.Consensus.BlockchainTime.WallClock.Util</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.3">Byron</span><details id="n.5.1.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.3.1">Crypto</span><details id="n.5.1.3.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Crypto-DSIGN.html">Ouroboros.Consensus.Byron.Crypto.DSIGN</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-EBBs.html">Ouroboros.Consensus.Byron.EBBs</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.3.3"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger.html">Ouroboros.Consensus.Byron.Ledger</a></span><details id="n.5.1.3.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Block.html">Ouroboros.Consensus.Byron.Ledger.Block</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Config.html">Ouroboros.Consensus.Byron.Ledger.Config</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Conversions.html">Ouroboros.Consensus.Byron.Ledger.Conversions</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Forge.html">Ouroboros.Consensus.Byron.Ledger.Forge</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-HeaderValidation.html">Ouroboros.Consensus.Byron.Ledger.HeaderValidation</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Inspect.html">Ouroboros.Consensus.Byron.Ledger.Inspect</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Integrity.html">Ouroboros.Consensus.Byron.Ledger.Integrity</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Ledger.html">Ouroboros.Consensus.Byron.Ledger.Ledger</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Mempool.html">Ouroboros.Consensus.Byron.Ledger.Mempool</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-NetworkProtocolVersion.html">Ouroboros.Consensus.Byron.Ledger.NetworkProtocolVersion</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Orphans.html">Ouroboros.Consensus.Byron.Ledger.Orphans</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-PBFT.html">Ouroboros.Consensus.Byron.Ledger.PBFT</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Ledger-Serialisation.html">Ouroboros.Consensus.Byron.Ledger.Serialisation</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.3.4"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Node.html">Ouroboros.Consensus.Byron.Node</a></span><details id="n.5.1.3.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Node-Serialisation.html">Ouroboros.Consensus.Byron.Node.Serialisation</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron/Ouroboros-Consensus-Byron-Protocol.html">Ouroboros.Consensus.Byron.Protocol</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.4">ByronDual</span><details id="n.5.1.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Ouroboros-Consensus-ByronDual-Ledger.html">Ouroboros.Consensus.ByronDual.Ledger</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.4.2"> </span><a href="ouroboros-consensus-byron-test/Ouroboros-Consensus-ByronDual-Node.html">Ouroboros.Consensus.ByronDual.Node</a></span><details id="n.5.1.4.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Ouroboros-Consensus-ByronDual-Node-Serialisation.html">Ouroboros.Consensus.ByronDual.Node.Serialisation</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.5">ByronSpec</span><details id="n.5.1.5" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.5.1"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger.html">Ouroboros.Consensus.ByronSpec.Ledger</a></span><details id="n.5.1.5.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Accessors.html">Ouroboros.Consensus.ByronSpec.Ledger.Accessors</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Block.html">Ouroboros.Consensus.ByronSpec.Ledger.Block</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Conversions.html">Ouroboros.Consensus.ByronSpec.Ledger.Conversions</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Forge.html">Ouroboros.Consensus.ByronSpec.Ledger.Forge</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-GenTx.html">Ouroboros.Consensus.ByronSpec.Ledger.GenTx</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Genesis.html">Ouroboros.Consensus.ByronSpec.Ledger.Genesis</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Ledger.html">Ouroboros.Consensus.ByronSpec.Ledger.Ledger</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Mempool.html">Ouroboros.Consensus.ByronSpec.Ledger.Mempool</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Orphans.html">Ouroboros.Consensus.ByronSpec.Ledger.Orphans</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byronspec/Ouroboros-Consensus-ByronSpec-Ledger-Rules.html">Ouroboros.Consensus.ByronSpec.Ledger.Rules</a></span></li></ul></details></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.6"> </span><a href="ouroboros-consensus-cardano/Ouroboros-Consensus-Cardano.html">Ouroboros.Consensus.Cardano</a></span><details id="n.5.1.6" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano/Ouroboros-Consensus-Cardano-Block.html">Ouroboros.Consensus.Cardano.Block</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano/Ouroboros-Consensus-Cardano-ByronHFC.html">Ouroboros.Consensus.Cardano.ByronHFC</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano/Ouroboros-Consensus-Cardano-CanHardFork.html">Ouroboros.Consensus.Cardano.CanHardFork</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano/Ouroboros-Consensus-Cardano-Condense.html">Ouroboros.Consensus.Cardano.Condense</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano/Ouroboros-Consensus-Cardano-Node.html">Ouroboros.Consensus.Cardano.Node</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano/Ouroboros-Consensus-Cardano-ShelleyBased.html">Ouroboros.Consensus.Cardano.ShelleyBased</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.7"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Config.html">Ouroboros.Consensus.Config</a></span><details id="n.5.1.7" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Config-SecurityParam.html">Ouroboros.Consensus.Config.SecurityParam</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Config-SupportsNode.html">Ouroboros.Consensus.Config.SupportsNode</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Forecast.html">Ouroboros.Consensus.Forecast</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.9">Fragment</span><details id="n.5.1.9" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Fragment-Diff.html">Ouroboros.Consensus.Fragment.Diff</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Fragment-InFuture.html">Ouroboros.Consensus.Fragment.InFuture</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Fragment-Validated.html">Ouroboros.Consensus.Fragment.Validated</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Fragment-ValidatedDiff.html">Ouroboros.Consensus.Fragment.ValidatedDiff</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.10">HardFork</span><details id="n.5.1.10" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Abstract.html">Ouroboros.Consensus.HardFork.Abstract</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.2"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator.html">Ouroboros.Consensus.HardFork.Combinator</a></span><details id="n.5.1.10.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.2.1"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Abstract.html">Ouroboros.Consensus.HardFork.Combinator.Abstract</a></span><details id="n.5.1.10.2.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Abstract-CanHardFork.html">Ouroboros.Consensus.HardFork.Combinator.Abstract.CanHardFork</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Abstract-NoHardForks.html">Ouroboros.Consensus.HardFork.Combinator.Abstract.NoHardForks</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Abstract-SingleEraBlock.html">Ouroboros.Consensus.HardFork.Combinator.Abstract.SingleEraBlock</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-AcrossEras.html">Ouroboros.Consensus.HardFork.Combinator.AcrossEras</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Basics.html">Ouroboros.Consensus.HardFork.Combinator.Basics</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Block.html">Ouroboros.Consensus.HardFork.Combinator.Block</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Compat.html">Ouroboros.Consensus.HardFork.Combinator.Compat</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Condense.html">Ouroboros.Consensus.HardFork.Combinator.Condense</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Degenerate.html">Ouroboros.Consensus.HardFork.Combinator.Degenerate</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.10.2.8">Embed</span><details id="n.5.1.10.2.8" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Embed-Binary.html">Ouroboros.Consensus.HardFork.Combinator.Embed.Binary</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Embed-Nary.html">Ouroboros.Consensus.HardFork.Combinator.Embed.Nary</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Embed-Unary.html">Ouroboros.Consensus.HardFork.Combinator.Embed.Unary</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Forging.html">Ouroboros.Consensus.HardFork.Combinator.Forging</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Info.html">Ouroboros.Consensus.HardFork.Combinator.Info</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-InjectTxs.html">Ouroboros.Consensus.HardFork.Combinator.InjectTxs</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.2.12"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Ledger.html">Ouroboros.Consensus.HardFork.Combinator.Ledger</a></span><details id="n.5.1.10.2.12" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Ledger-CommonProtocolParams.html">Ouroboros.Consensus.HardFork.Combinator.Ledger.CommonProtocolParams</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Ledger-PeerSelection.html">Ouroboros.Consensus.HardFork.Combinator.Ledger.PeerSelection</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Ledger-Query.html">Ouroboros.Consensus.HardFork.Combinator.Ledger.Query</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Mempool.html">Ouroboros.Consensus.HardFork.Combinator.Mempool</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.2.14"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Node.html">Ouroboros.Consensus.HardFork.Combinator.Node</a></span><details id="n.5.1.10.2.14" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Node-InitStorage.html">Ouroboros.Consensus.HardFork.Combinator.Node.InitStorage</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Node-Metrics.html">Ouroboros.Consensus.HardFork.Combinator.Node.Metrics</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-PartialConfig.html">Ouroboros.Consensus.HardFork.Combinator.PartialConfig</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.2.16"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Protocol.html">Ouroboros.Consensus.HardFork.Combinator.Protocol</a></span><details id="n.5.1.10.2.16" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Protocol-ChainSel.html">Ouroboros.Consensus.HardFork.Combinator.Protocol.ChainSel</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Protocol-LedgerView.html">Ouroboros.Consensus.HardFork.Combinator.Protocol.LedgerView</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.2.17"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Serialisation.html">Ouroboros.Consensus.HardFork.Combinator.Serialisation</a></span><details id="n.5.1.10.2.17" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Serialisation-Common.html">Ouroboros.Consensus.HardFork.Combinator.Serialisation.Common</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Serialisation-SerialiseDisk.html">Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseDisk</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Serialisation-SerialiseNodeToClient.html">Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToClient</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Serialisation-SerialiseNodeToNode.html">Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.2.18"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-State.html">Ouroboros.Consensus.HardFork.Combinator.State</a></span><details id="n.5.1.10.2.18" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-State-Infra.html">Ouroboros.Consensus.HardFork.Combinator.State.Infra</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-State-Instances.html">Ouroboros.Consensus.HardFork.Combinator.State.Instances</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-State-Lift.html">Ouroboros.Consensus.HardFork.Combinator.State.Lift</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-State-Types.html">Ouroboros.Consensus.HardFork.Combinator.State.Types</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Translation.html">Ouroboros.Consensus.HardFork.Combinator.Translation</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.10.2.20">Util</span><details id="n.5.1.10.2.20" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Util-DerivingVia.html">Ouroboros.Consensus.HardFork.Combinator.Util.DerivingVia</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Util-Functors.html">Ouroboros.Consensus.HardFork.Combinator.Util.Functors</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Util-InPairs.html">Ouroboros.Consensus.HardFork.Combinator.Util.InPairs</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Util-Match.html">Ouroboros.Consensus.HardFork.Combinator.Util.Match</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Util-Tails.html">Ouroboros.Consensus.HardFork.Combinator.Util.Tails</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Combinator-Util-Telescope.html">Ouroboros.Consensus.HardFork.Combinator.Util.Telescope</a></span></li></ul></details></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.10.3"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-History.html">Ouroboros.Consensus.HardFork.History</a></span><details id="n.5.1.10.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-History-Caching.html">Ouroboros.Consensus.HardFork.History.Caching</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-History-EpochInfo.html">Ouroboros.Consensus.HardFork.History.EpochInfo</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-History-EraParams.html">Ouroboros.Consensus.HardFork.History.EraParams</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-History-Qry.html">Ouroboros.Consensus.HardFork.History.Qry</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-History-Summary.html">Ouroboros.Consensus.HardFork.History.Summary</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-History-Util.html">Ouroboros.Consensus.HardFork.History.Util</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HardFork-Simple.html">Ouroboros.Consensus.HardFork.Simple</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HeaderStateHistory.html">Ouroboros.Consensus.HeaderStateHistory</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-HeaderValidation.html">Ouroboros.Consensus.HeaderValidation</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.13">Ledger</span><details id="n.5.1.13" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-Abstract.html">Ouroboros.Consensus.Ledger.Abstract</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-Basics.html">Ouroboros.Consensus.Ledger.Basics</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-CommonProtocolParams.html">Ouroboros.Consensus.Ledger.CommonProtocolParams</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-Dual.html">Ouroboros.Consensus.Ledger.Dual</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-Extended.html">Ouroboros.Consensus.Ledger.Extended</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-Inspect.html">Ouroboros.Consensus.Ledger.Inspect</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.13.7"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-Query.html">Ouroboros.Consensus.Ledger.Query</a></span><details id="n.5.1.13.7" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-Query-Version.html">Ouroboros.Consensus.Ledger.Query.Version</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-SupportsMempool.html">Ouroboros.Consensus.Ledger.SupportsMempool</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-SupportsPeerSelection.html">Ouroboros.Consensus.Ledger.SupportsPeerSelection</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ledger-SupportsProtocol.html">Ouroboros.Consensus.Ledger.SupportsProtocol</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.14"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Mempool.html">Ouroboros.Consensus.Mempool</a></span><details id="n.5.1.14" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Mempool-API.html">Ouroboros.Consensus.Mempool.API</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.14.2"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Mempool-Impl.html">Ouroboros.Consensus.Mempool.Impl</a></span><details id="n.5.1.14.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Mempool-Impl-Pure.html">Ouroboros.Consensus.Mempool.Impl.Pure</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Mempool-Impl-Types.html">Ouroboros.Consensus.Mempool.Impl.Types</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Mempool-TxSeq.html">Ouroboros.Consensus.Mempool.TxSeq</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.15">MiniProtocol</span><details id="n.5.1.15" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.15.1">BlockFetch</span><details id="n.5.1.15.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-MiniProtocol-BlockFetch-Server.html">Ouroboros.Consensus.MiniProtocol.BlockFetch.Server</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.15.2">ChainSync</span><details id="n.5.1.15.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-MiniProtocol-ChainSync-Client.html">Ouroboros.Consensus.MiniProtocol.ChainSync.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-MiniProtocol-ChainSync-Server.html">Ouroboros.Consensus.MiniProtocol.ChainSync.Server</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.15.3">LocalStateQuery</span><details id="n.5.1.15.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-MiniProtocol-LocalStateQuery-Server.html">Ouroboros.Consensus.MiniProtocol.LocalStateQuery.Server</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.15.4">LocalTxSubmission</span><details id="n.5.1.15.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-MiniProtocol-LocalTxSubmission-Server.html">Ouroboros.Consensus.MiniProtocol.LocalTxSubmission.Server</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.16">Mock</span><details id="n.5.1.16" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.16.1"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger.html">Ouroboros.Consensus.Mock.Ledger</a></span><details id="n.5.1.16.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Address.html">Ouroboros.Consensus.Mock.Ledger.Address</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.16.1.2"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Block.html">Ouroboros.Consensus.Mock.Ledger.Block</a></span><details id="n.5.1.16.1.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Block-BFT.html">Ouroboros.Consensus.Mock.Ledger.Block.BFT</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Block-PBFT.html">Ouroboros.Consensus.Mock.Ledger.Block.PBFT</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Block-Praos.html">Ouroboros.Consensus.Mock.Ledger.Block.Praos</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Block-PraosRule.html">Ouroboros.Consensus.Mock.Ledger.Block.PraosRule</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Forge.html">Ouroboros.Consensus.Mock.Ledger.Forge</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-Stake.html">Ouroboros.Consensus.Mock.Ledger.Stake</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-State.html">Ouroboros.Consensus.Mock.Ledger.State</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Ledger-UTxO.html">Ouroboros.Consensus.Mock.Ledger.UTxO</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.16.2"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Node.html">Ouroboros.Consensus.Mock.Node</a></span><details id="n.5.1.16.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Node-Abstract.html">Ouroboros.Consensus.Mock.Node.Abstract</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Node-BFT.html">Ouroboros.Consensus.Mock.Node.BFT</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Node-PBFT.html">Ouroboros.Consensus.Mock.Node.PBFT</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Node-Praos.html">Ouroboros.Consensus.Mock.Node.Praos</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Node-PraosRule.html">Ouroboros.Consensus.Mock.Node.PraosRule</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Node-Serialisation.html">Ouroboros.Consensus.Mock.Node.Serialisation</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.16.3">Protocol</span><details id="n.5.1.16.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Protocol-LeaderSchedule.html">Ouroboros.Consensus.Mock.Protocol.LeaderSchedule</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock/Ouroboros-Consensus-Mock-Protocol-Praos.html">Ouroboros.Consensus.Mock.Protocol.Praos</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.17">Network</span><details id="n.5.1.17" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Network-NodeToClient.html">Ouroboros.Consensus.Network.NodeToClient</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Network-NodeToNode.html">Ouroboros.Consensus.Network.NodeToNode</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.18"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node.html">Ouroboros.Consensus.Node</a></span><details id="n.5.1.18" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-DbLock.html">Ouroboros.Consensus.Node.DbLock</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-DbMarker.html">Ouroboros.Consensus.Node.DbMarker</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-ErrorPolicy.html">Ouroboros.Consensus.Node.ErrorPolicy</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-Exit.html">Ouroboros.Consensus.Node.Exit</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-InitStorage.html">Ouroboros.Consensus.Node.InitStorage</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-NetworkProtocolVersion.html">Ouroboros.Consensus.Node.NetworkProtocolVersion</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-ProtocolInfo.html">Ouroboros.Consensus.Node.ProtocolInfo</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-Recovery.html">Ouroboros.Consensus.Node.Recovery</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-Run.html">Ouroboros.Consensus.Node.Run</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-Serialisation.html">Ouroboros.Consensus.Node.Serialisation</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Node-Tracers.html">Ouroboros.Consensus.Node.Tracers</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-NodeId.html">Ouroboros.Consensus.NodeId</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-NodeKernel.html">Ouroboros.Consensus.NodeKernel</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.21">Protocol</span><details id="n.5.1.21" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-Abstract.html">Ouroboros.Consensus.Protocol.Abstract</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-BFT.html">Ouroboros.Consensus.Protocol.BFT</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-LeaderSchedule.html">Ouroboros.Consensus.Protocol.LeaderSchedule</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-MockChainSel.html">Ouroboros.Consensus.Protocol.MockChainSel</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-ModChainSel.html">Ouroboros.Consensus.Protocol.ModChainSel</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.21.6"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-PBFT.html">Ouroboros.Consensus.Protocol.PBFT</a></span><details id="n.5.1.21.6" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-PBFT-Crypto.html">Ouroboros.Consensus.Protocol.PBFT.Crypto</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-PBFT-State.html">Ouroboros.Consensus.Protocol.PBFT.State</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Protocol-Signed.html">Ouroboros.Consensus.Protocol.Signed</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.22">Shelley</span><details id="n.5.1.22" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Eras.html">Ouroboros.Consensus.Shelley.Eras</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.22.2"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger.html">Ouroboros.Consensus.Shelley.Ledger</a></span><details id="n.5.1.22.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Block.html">Ouroboros.Consensus.Shelley.Ledger.Block</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Config.html">Ouroboros.Consensus.Shelley.Ledger.Config</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Forge.html">Ouroboros.Consensus.Shelley.Ledger.Forge</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Inspect.html">Ouroboros.Consensus.Shelley.Ledger.Inspect</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Integrity.html">Ouroboros.Consensus.Shelley.Ledger.Integrity</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Ledger.html">Ouroboros.Consensus.Shelley.Ledger.Ledger</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Mempool.html">Ouroboros.Consensus.Shelley.Ledger.Mempool</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-NetworkProtocolVersion.html">Ouroboros.Consensus.Shelley.Ledger.NetworkProtocolVersion</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-PeerSelection.html">Ouroboros.Consensus.Shelley.Ledger.PeerSelection</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-Query.html">Ouroboros.Consensus.Shelley.Ledger.Query</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Ledger-TPraos.html">Ouroboros.Consensus.Shelley.Ledger.TPraos</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.22.3"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Node.html">Ouroboros.Consensus.Shelley.Node</a></span><details id="n.5.1.22.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Node-Serialisation.html">Ouroboros.Consensus.Shelley.Node.Serialisation</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.22.4"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Protocol.html">Ouroboros.Consensus.Shelley.Protocol</a></span><details id="n.5.1.22.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Protocol-HotKey.html">Ouroboros.Consensus.Shelley.Protocol.HotKey</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-Protocol-Util.html">Ouroboros.Consensus.Shelley.Protocol.Util</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-ShelleyBased.html">Ouroboros.Consensus.Shelley.ShelleyBased</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley/Ouroboros-Consensus-Shelley-ShelleyHFC.html">Ouroboros.Consensus.Shelley.ShelleyHFC</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.23">Storage</span><details id="n.5.1.23" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.1"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB.html">Ouroboros.Consensus.Storage.ChainDB</a></span><details id="n.5.1.23.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-API.html">Ouroboros.Consensus.Storage.ChainDB.API</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.1.2"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl.html">Ouroboros.Consensus.Storage.ChainDB.Impl</a></span><details id="n.5.1.23.1.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-Args.html">Ouroboros.Consensus.Storage.ChainDB.Impl.Args</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-Background.html">Ouroboros.Consensus.Storage.ChainDB.Impl.Background</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-BlockCache.html">Ouroboros.Consensus.Storage.ChainDB.Impl.BlockCache</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-ChainSel.html">Ouroboros.Consensus.Storage.ChainDB.Impl.ChainSel</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-Follower.html">Ouroboros.Consensus.Storage.ChainDB.Impl.Follower</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-Iterator.html">Ouroboros.Consensus.Storage.ChainDB.Impl.Iterator</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-LgrDB.html">Ouroboros.Consensus.Storage.ChainDB.Impl.LgrDB</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-Paths.html">Ouroboros.Consensus.Storage.ChainDB.Impl.Paths</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-Query.html">Ouroboros.Consensus.Storage.ChainDB.Impl.Query</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Impl-Types.html">Ouroboros.Consensus.Storage.ChainDB.Impl.Types</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ChainDB-Init.html">Ouroboros.Consensus.Storage.ChainDB.Init</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-Common.html">Ouroboros.Consensus.Storage.Common</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.23.3">FS</span><details id="n.5.1.23.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.3.1"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-FS-API.html">Ouroboros.Consensus.Storage.FS.API</a></span><details id="n.5.1.23.3.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-FS-API-Types.html">Ouroboros.Consensus.Storage.FS.API.Types</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-FS-CRC.html">Ouroboros.Consensus.Storage.FS.CRC</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-FS-Handle.html">Ouroboros.Consensus.Storage.FS.Handle</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-FS-IO.html">Ouroboros.Consensus.Storage.FS.IO</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-IO.html">Ouroboros.Consensus.Storage.IO</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.5"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB.html">Ouroboros.Consensus.Storage.ImmutableDB</a></span><details id="n.5.1.23.5" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-API.html">Ouroboros.Consensus.Storage.ImmutableDB.API</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.5.2"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Chunks.html">Ouroboros.Consensus.Storage.ImmutableDB.Chunks</a></span><details id="n.5.1.23.5.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Chunks-Internal.html">Ouroboros.Consensus.Storage.ImmutableDB.Chunks.Internal</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Chunks-Layout.html">Ouroboros.Consensus.Storage.ImmutableDB.Chunks.Layout</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.5.3"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl</a></span><details id="n.5.1.23.5.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.5.3.1"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Index.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Index</a></span><details id="n.5.1.23.5.3.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Index-Cache.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Index.Cache</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Index-Primary.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Index.Primary</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Index-Secondary.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Index.Secondary</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Iterator.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Iterator</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Parser.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Parser</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-State.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.State</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Types.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Types</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Util.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Util</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-ImmutableDB-Impl-Validation.html">Ouroboros.Consensus.Storage.ImmutableDB.Impl.Validation</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.23.6">LedgerDB</span><details id="n.5.1.23.6" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-LedgerDB-DiskPolicy.html">Ouroboros.Consensus.Storage.LedgerDB.DiskPolicy</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-LedgerDB-InMemory.html">Ouroboros.Consensus.Storage.LedgerDB.InMemory</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-LedgerDB-OnDisk.html">Ouroboros.Consensus.Storage.LedgerDB.OnDisk</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-Serialisation.html">Ouroboros.Consensus.Storage.Serialisation</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.8"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB.html">Ouroboros.Consensus.Storage.VolatileDB</a></span><details id="n.5.1.23.8" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-API.html">Ouroboros.Consensus.Storage.VolatileDB.API</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.23.8.2"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-Impl.html">Ouroboros.Consensus.Storage.VolatileDB.Impl</a></span><details id="n.5.1.23.8.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-Impl-FileInfo.html">Ouroboros.Consensus.Storage.VolatileDB.Impl.FileInfo</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-Impl-Index.html">Ouroboros.Consensus.Storage.VolatileDB.Impl.Index</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-Impl-Parser.html">Ouroboros.Consensus.Storage.VolatileDB.Impl.Parser</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-Impl-State.html">Ouroboros.Consensus.Storage.VolatileDB.Impl.State</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-Impl-Types.html">Ouroboros.Consensus.Storage.VolatileDB.Impl.Types</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Storage-VolatileDB-Impl-Util.html">Ouroboros.Consensus.Storage.VolatileDB.Impl.Util</a></span></li></ul></details></li></ul></details></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Ticked.html">Ouroboros.Consensus.Ticked</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-TypeFamilyWrappers.html">Ouroboros.Consensus.TypeFamilyWrappers</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.1.26"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util.html">Ouroboros.Consensus.Util</a></span><details id="n.5.1.26" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-AnchoredFragment.html">Ouroboros.Consensus.Util.AnchoredFragment</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Args.html">Ouroboros.Consensus.Util.Args</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Assert.html">Ouroboros.Consensus.Util.Assert</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-CBOR.html">Ouroboros.Consensus.Util.CBOR</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-CallStack.html">Ouroboros.Consensus.Util.CallStack</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Condense.html">Ouroboros.Consensus.Util.Condense</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Counting.html">Ouroboros.Consensus.Util.Counting</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-DepPair.html">Ouroboros.Consensus.Util.DepPair</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-EarlyExit.html">Ouroboros.Consensus.Util.EarlyExit</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-FileLock.html">Ouroboros.Consensus.Util.FileLock</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-HList.html">Ouroboros.Consensus.Util.HList</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-IOLike.html">Ouroboros.Consensus.Util.IOLike</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.1.26.13">MonadSTM</span><details id="n.5.1.26.13" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-MonadSTM-NormalForm.html">Ouroboros.Consensus.Util.MonadSTM.NormalForm</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-MonadSTM-RAWLock.html">Ouroboros.Consensus.Util.MonadSTM.RAWLock</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-MonadSTM-StrictMVar.html">Ouroboros.Consensus.Util.MonadSTM.StrictMVar</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-OptNP.html">Ouroboros.Consensus.Util.OptNP</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Orphans.html">Ouroboros.Consensus.Util.Orphans</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-RedundantConstraints.html">Ouroboros.Consensus.Util.RedundantConstraints</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-ResourceRegistry.html">Ouroboros.Consensus.Util.ResourceRegistry</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-SOP.html">Ouroboros.Consensus.Util.SOP</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-STM.html">Ouroboros.Consensus.Util.STM</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Singletons.html">Ouroboros.Consensus.Util.Singletons</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Time.html">Ouroboros.Consensus.Util.Time</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-TraceSize.html">Ouroboros.Consensus.Util.TraceSize</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus/Ouroboros-Consensus-Util-Versioned.html">Ouroboros.Consensus.Util.Versioned</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2">Network</span><details id="n.5.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-AnchoredFragment.html">Ouroboros.Network.AnchoredFragment</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-AnchoredSeq.html">Ouroboros.Network.AnchoredSeq</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Block.html">Ouroboros.Network.Block</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.2.4"> </span><a href="ouroboros-network/Ouroboros-Network-BlockFetch.html">Ouroboros.Network.BlockFetch</a></span><details id="n.5.2.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-BlockFetch-Client.html">Ouroboros.Network.BlockFetch.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-BlockFetch-ClientRegistry.html">Ouroboros.Network.BlockFetch.ClientRegistry</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-BlockFetch-ClientState.html">Ouroboros.Network.BlockFetch.ClientState</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-BlockFetch-Decision.html">Ouroboros.Network.BlockFetch.Decision</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-BlockFetch-DeltaQ.html">Ouroboros.Network.BlockFetch.DeltaQ</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-BlockFetch-State.html">Ouroboros.Network.BlockFetch.State</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Channel.html">Ouroboros.Network.Channel</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Codec.html">Ouroboros.Network.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-CodecCBORTerm.html">Ouroboros.Network.CodecCBORTerm</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-ConnectionId.html">Ouroboros.Network.ConnectionId</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Counter.html">Ouroboros.Network.Counter</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-DeltaQ.html">Ouroboros.Network.DeltaQ</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Diffusion.html">Ouroboros.Network.Diffusion</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.2.12"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Driver.html">Ouroboros.Network.Driver</a></span><details id="n.5.2.12" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Driver-Limits.html">Ouroboros.Network.Driver.Limits</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Driver-Simple.html">Ouroboros.Network.Driver.Simple</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-ErrorPolicy.html">Ouroboros.Network.ErrorPolicy</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-IOManager.html">Ouroboros.Network.IOManager</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-KeepAlive.html">Ouroboros.Network.KeepAlive</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Linger.html">Ouroboros.Network.Linger</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Magic.html">Ouroboros.Network.Magic</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.18">MockChain</span><details id="n.5.2.18" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-MockChain-Chain.html">Ouroboros.Network.MockChain.Chain</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-MockChain-ProducerState.html">Ouroboros.Network.MockChain.ProducerState</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Mux.html">Ouroboros.Network.Mux</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.2.20"> </span><a href="ouroboros-network/Ouroboros-Network-NodeToClient.html">Ouroboros.Network.NodeToClient</a></span><details id="n.5.2.20" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-NodeToClient-Version.html">Ouroboros.Network.NodeToClient.Version</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.2.21"> </span><a href="ouroboros-network/Ouroboros-Network-NodeToNode.html">Ouroboros.Network.NodeToNode</a></span><details id="n.5.2.21" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-NodeToNode-Version.html">Ouroboros.Network.NodeToNode.Version</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.22">PeerSelection</span><details id="n.5.2.22" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-EstablishedPeers.html">Ouroboros.Network.PeerSelection.EstablishedPeers</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.2.22.2"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor.html">Ouroboros.Network.PeerSelection.Governor</a></span><details id="n.5.2.22.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor-ActivePeers.html">Ouroboros.Network.PeerSelection.Governor.ActivePeers</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor-EstablishedPeers.html">Ouroboros.Network.PeerSelection.Governor.EstablishedPeers</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor-KnownPeers.html">Ouroboros.Network.PeerSelection.Governor.KnownPeers</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor-Monitor.html">Ouroboros.Network.PeerSelection.Governor.Monitor</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor-RootPeers.html">Ouroboros.Network.PeerSelection.Governor.RootPeers</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Governor-Types.html">Ouroboros.Network.PeerSelection.Governor.Types</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-KnownPeers.html">Ouroboros.Network.PeerSelection.KnownPeers</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-LedgerPeers.html">Ouroboros.Network.PeerSelection.LedgerPeers</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-LocalRootPeers.html">Ouroboros.Network.PeerSelection.LocalRootPeers</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-RootPeersDNS.html">Ouroboros.Network.PeerSelection.RootPeersDNS</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-PeerSelection-Types.html">Ouroboros.Network.PeerSelection.Types</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Point.html">Ouroboros.Network.Point</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24">Protocol</span><details id="n.5.2.24" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.1">BlockFetch</span><details id="n.5.2.24.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-BlockFetch-Client.html">Ouroboros.Network.Protocol.BlockFetch.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-BlockFetch-Codec.html">Ouroboros.Network.Protocol.BlockFetch.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-BlockFetch-Server.html">Ouroboros.Network.Protocol.BlockFetch.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-BlockFetch-Type.html">Ouroboros.Network.Protocol.BlockFetch.Type</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.2">ChainSync</span><details id="n.5.2.24.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-Client.html">Ouroboros.Network.Protocol.ChainSync.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-ClientPipelined.html">Ouroboros.Network.Protocol.ChainSync.ClientPipelined</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-Codec.html">Ouroboros.Network.Protocol.ChainSync.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-Examples.html">Ouroboros.Network.Protocol.ChainSync.Examples</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-PipelineDecision.html">Ouroboros.Network.Protocol.ChainSync.PipelineDecision</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-Server.html">Ouroboros.Network.Protocol.ChainSync.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-ChainSync-Type.html">Ouroboros.Network.Protocol.ChainSync.Type</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.2.24.3"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake.html">Ouroboros.Network.Protocol.Handshake</a></span><details id="n.5.2.24.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake-Client.html">Ouroboros.Network.Protocol.Handshake.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake-Codec.html">Ouroboros.Network.Protocol.Handshake.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake-Server.html">Ouroboros.Network.Protocol.Handshake.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake-Type.html">Ouroboros.Network.Protocol.Handshake.Type</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake-Unversioned.html">Ouroboros.Network.Protocol.Handshake.Unversioned</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Handshake-Version.html">Ouroboros.Network.Protocol.Handshake.Version</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.4">KeepAlive</span><details id="n.5.2.24.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-KeepAlive-Client.html">Ouroboros.Network.Protocol.KeepAlive.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-KeepAlive-Codec.html">Ouroboros.Network.Protocol.KeepAlive.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-KeepAlive-Server.html">Ouroboros.Network.Protocol.KeepAlive.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-KeepAlive-Type.html">Ouroboros.Network.Protocol.KeepAlive.Type</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Protocol-Limits.html">Ouroboros.Network.Protocol.Limits</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.6">LocalStateQuery</span><details id="n.5.2.24.6" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalStateQuery-Client.html">Ouroboros.Network.Protocol.LocalStateQuery.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalStateQuery-Codec.html">Ouroboros.Network.Protocol.LocalStateQuery.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalStateQuery-Examples.html">Ouroboros.Network.Protocol.LocalStateQuery.Examples</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalStateQuery-Server.html">Ouroboros.Network.Protocol.LocalStateQuery.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalStateQuery-Type.html">Ouroboros.Network.Protocol.LocalStateQuery.Type</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.7">LocalTxMonitor</span><details id="n.5.2.24.7" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalTxMonitor-Type.html">Ouroboros.Network.Protocol.LocalTxMonitor.Type</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.8">LocalTxSubmission</span><details id="n.5.2.24.8" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalTxSubmission-Client.html">Ouroboros.Network.Protocol.LocalTxSubmission.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalTxSubmission-Codec.html">Ouroboros.Network.Protocol.LocalTxSubmission.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalTxSubmission-Server.html">Ouroboros.Network.Protocol.LocalTxSubmission.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-LocalTxSubmission-Type.html">Ouroboros.Network.Protocol.LocalTxSubmission.Type</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.9">TipSample</span><details id="n.5.2.24.9" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TipSample-Client.html">Ouroboros.Network.Protocol.TipSample.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TipSample-Codec.html">Ouroboros.Network.Protocol.TipSample.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TipSample-Server.html">Ouroboros.Network.Protocol.TipSample.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TipSample-Type.html">Ouroboros.Network.Protocol.TipSample.Type</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.10">Trans</span><details id="n.5.2.24.10" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.10.1">Hello</span><details id="n.5.2.24.10.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-Trans-Hello-Codec.html">Ouroboros.Network.Protocol.Trans.Hello.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-Trans-Hello-Type.html">Ouroboros.Network.Protocol.Trans.Hello.Type</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-Trans-Hello-Util.html">Ouroboros.Network.Protocol.Trans.Hello.Util</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.11">TxSubmission</span><details id="n.5.2.24.11" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission-Client.html">Ouroboros.Network.Protocol.TxSubmission.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission-Codec.html">Ouroboros.Network.Protocol.TxSubmission.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission-Server.html">Ouroboros.Network.Protocol.TxSubmission.Server</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission-Type.html">Ouroboros.Network.Protocol.TxSubmission.Type</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.24.12">TxSubmission2</span><details id="n.5.2.24.12" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission2-Codec.html">Ouroboros.Network.Protocol.TxSubmission2.Codec</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Protocol-TxSubmission2-Type.html">Ouroboros.Network.Protocol.TxSubmission2.Type</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.25">Server</span><details id="n.5.2.25" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Server-ConnectionTable.html">Ouroboros.Network.Server.ConnectionTable</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Server-RateLimiting.html">Ouroboros.Network.Server.RateLimiting</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Server-Socket.html">Ouroboros.Network.Server.Socket</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Snocket.html">Ouroboros.Network.Snocket</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Socket.html">Ouroboros.Network.Socket</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.5.2.28"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Subscription.html">Ouroboros.Network.Subscription</a></span><details id="n.5.2.28" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Subscription-Client.html">Ouroboros.Network.Subscription.Client</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Subscription-Dns.html">Ouroboros.Network.Subscription.Dns</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Subscription-Ip.html">Ouroboros.Network.Subscription.Ip</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Subscription-PeerState.html">Ouroboros.Network.Subscription.PeerState</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Subscription-Subscriber.html">Ouroboros.Network.Subscription.Subscriber</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Subscription-Worker.html">Ouroboros.Network.Subscription.Worker</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.29">Testing</span><details id="n.5.2.29" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Testing-ConcreteBlock.html">Ouroboros.Network.Testing.ConcreteBlock</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-testing/Ouroboros-Network-Testing-QuickCheck.html">Ouroboros.Network.Testing.QuickCheck</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-testing/Ouroboros-Network-Testing-Serialise.html">Ouroboros.Network.Testing.Serialise</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-testing/Ouroboros-Network-Testing-Utils.html">Ouroboros.Network.Testing.Utils</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-Tracers.html">Ouroboros.Network.Tracers</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.31">TxSubmission</span><details id="n.5.2.31" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-TxSubmission-Inbound.html">Ouroboros.Network.TxSubmission.Inbound</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.31.2">Mempool</span><details id="n.5.2.31.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-TxSubmission-Mempool-Reader.html">Ouroboros.Network.TxSubmission.Mempool.Reader</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network/Ouroboros-Network-TxSubmission-Outbound.html">Ouroboros.Network.TxSubmission.Outbound</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.5.2.32">Util</span><details id="n.5.2.32" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-network-framework/Ouroboros-Network-Util-ShowProxy.html">Ouroboros.Network.Util.ShowProxy</a></span></li></ul></details></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6">Test</span><details id="n.6" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.1">Consensus</span><details id="n.6.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.1.1">Byron</span><details id="n.6.1.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Test-Consensus-Byron-Examples.html">Test.Consensus.Byron.Examples</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Test-Consensus-Byron-Generators.html">Test.Consensus.Byron.Generators</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.1.2">Cardano</span><details id="n.6.1.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-Consensus-Cardano-Examples.html">Test.Consensus.Cardano.Examples</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-Consensus-Cardano-Generators.html">Test.Consensus.Cardano.Generators</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-Consensus-Cardano-MockCrypto.html">Test.Consensus.Cardano.MockCrypto</a></span></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.1.3">Ledger</span><details id="n.6.1.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.1.3.1">Mock</span><details id="n.6.1.3.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock-test/Test-Consensus-Ledger-Mock-Generators.html">Test.Consensus.Ledger.Mock.Generators</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.1.4">Shelley</span><details id="n.6.1.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley-test/Test-Consensus-Shelley-Examples.html">Test.Consensus.Shelley.Examples</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley-test/Test-Consensus-Shelley-Generators.html">Test.Consensus.Shelley.Generators</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley-test/Test-Consensus-Shelley-MockCrypto.html">Test.Consensus.Shelley.MockCrypto</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.2">ThreadNet</span><details id="n.6.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-General.html">Test.ThreadNet.General</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.2.2">Infra</span><details id="n.6.2.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley-test/Test-ThreadNet-Infra-Alonzo.html">Test.ThreadNet.Infra.Alonzo</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.6.2.2.2"> </span><a href="ouroboros-consensus-byron-test/Test-ThreadNet-Infra-Byron.html">Test.ThreadNet.Infra.Byron</a></span><details id="n.6.2.2.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Test-ThreadNet-Infra-Byron-Genesis.html">Test.ThreadNet.Infra.Byron.Genesis</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Test-ThreadNet-Infra-Byron-ProtocolInfo.html">Test.ThreadNet.Infra.Byron.ProtocolInfo</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Test-ThreadNet-Infra-Byron-TrackUpdates.html">Test.ThreadNet.Infra.Byron.TrackUpdates</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley-test/Test-ThreadNet-Infra-Shelley.html">Test.ThreadNet.Infra.Shelley</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-ThreadNet-Infra-ShelleyBasedHardFork.html">Test.ThreadNet.Infra.ShelleyBasedHardFork</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-ThreadNet-Infra-TwoEras.html">Test.ThreadNet.Infra.TwoEras</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Network.html">Test.ThreadNet.Network</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.2.4">Ref</span><details id="n.6.2.4" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Ref-PBFT.html">Test.ThreadNet.Ref.PBFT</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Rekeying.html">Test.ThreadNet.Rekeying</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.6.2.6"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-TxGen.html">Test.ThreadNet.TxGen</a></span><details id="n.6.2.6" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-ThreadNet-TxGen-Allegra.html">Test.ThreadNet.TxGen.Allegra</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-ThreadNet-TxGen-Alonzo.html">Test.ThreadNet.TxGen.Alonzo</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-byron-test/Test-ThreadNet-TxGen-Byron.html">Test.ThreadNet.TxGen.Byron</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-ThreadNet-TxGen-Cardano.html">Test.ThreadNet.TxGen.Cardano</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-cardano-test/Test-ThreadNet-TxGen-Mary.html">Test.ThreadNet.TxGen.Mary</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock-test/Test-ThreadNet-TxGen-Mock.html">Test.ThreadNet.TxGen.Mock</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-shelley-test/Test-ThreadNet-TxGen-Shelley.html">Test.ThreadNet.TxGen.Shelley</a></span></li></ul></details></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.6.2.7"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util.html">Test.ThreadNet.Util</a></span><details id="n.6.2.7" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util-Expectations.html">Test.ThreadNet.Util.Expectations</a></span></li><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.6.2.7.2"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util-HasCreator.html">Test.ThreadNet.Util.HasCreator</a></span><details id="n.6.2.7.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock-test/Test-ThreadNet-Util-HasCreator-Mock.html">Test.ThreadNet.Util.HasCreator.Mock</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util-NodeJoinPlan.html">Test.ThreadNet.Util.NodeJoinPlan</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util-NodeRestarts.html">Test.ThreadNet.Util.NodeRestarts</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util-NodeToNodeVersion.html">Test.ThreadNet.Util.NodeToNodeVersion</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util-NodeTopology.html">Test.ThreadNet.Util.NodeTopology</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-ThreadNet-Util-Seed.html">Test.ThreadNet.Util.Seed</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-mock-test/Test-ThreadNet-Util-SimpleBlock.html">Test.ThreadNet.Util.SimpleBlock</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.3">Util</span><details id="n.6.3" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Blob.html">Test.Util.Blob</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-BoolProps.html">Test.Util.BoolProps</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-ChunkInfo.html">Test.Util.ChunkInfo</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Classify.html">Test.Util.Classify</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Corruption.html">Test.Util.Corruption</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.3.6">FS</span><details id="n.6.3.6" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.3.6.1">Sim</span><details id="n.6.3.6.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-FS-Sim-Error.html">Test.Util.FS.Sim.Error</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-FS-Sim-FsTree.html">Test.Util.FS.Sim.FsTree</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-FS-Sim-MockFS.html">Test.Util.FS.Sim.MockFS</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-FS-Sim-Pure.html">Test.Util.FS.Sim.Pure</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-FS-Sim-STM.html">Test.Util.FS.Sim.STM</a></span></li></ul></details></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-FileLock.html">Test.Util.FileLock</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.3.8">HardFork</span><details id="n.6.3.8" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-HardFork-Future.html">Test.Util.HardFork.Future</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-HardFork-OracularClock.html">Test.Util.HardFork.OracularClock</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-InvertedMap.html">Test.Util.InvertedMap</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-LogicalClock.html">Test.Util.LogicalClock</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-MockChain.html">Test.Util.MockChain</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Nightly.html">Test.Util.Nightly</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.3.13">Orphans</span><details id="n.6.3.13" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Orphans-Arbitrary.html">Test.Util.Orphans.Arbitrary</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Orphans-IOLike.html">Test.Util.Orphans.IOLike</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Orphans-NoThunks.html">Test.Util.Orphans.NoThunks</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Orphans-SignableRepresentation.html">Test.Util.Orphans.SignableRepresentation</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.3.13.5">Slotting</span><details id="n.6.3.13.5" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Orphans-Slotting-Arbitrary.html">Test.Util.Orphans.Slotting.Arbitrary</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Orphans-ToExpr.html">Test.Util.Orphans.ToExpr</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Paths.html">Test.Util.Paths</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-QSM.html">Test.Util.QSM</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-QuickCheck.html">Test.Util.QuickCheck</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Range.html">Test.Util.Range</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-RefEnv.html">Test.Util.RefEnv</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-SOP.html">Test.Util.SOP</a></span></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.6.3.20">Serialisation</span><details id="n.6.3.20" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Serialisation-Golden.html">Test.Util.Serialisation.Golden</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Serialisation-Roundtrip.html">Test.Util.Serialisation.Roundtrip</a></span></li></ul></details></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Shrink.html">Test.Util.Shrink</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Slots.html">Test.Util.Slots</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Split.html">Test.Util.Split</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Stream.html">Test.Util.Stream</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-TestBlock.html">Test.Util.TestBlock</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Time.html">Test.Util.Time</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-Tracer.html">Test.Util.Tracer</a></span></li><li><span class="module"><span class="noexpander"> </span><a href="ouroboros-consensus-test/Test-Util-WithEq.html">Test.Util.WithEq</a></span></li></ul></details></li></ul></details></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.24.0</p></div></body></html>