úÎ#`”W$‚      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€None"#,>@AHPV_ ‚ haskoin-node&Incoming messages that a peer accepts. haskoin-nodeMailbox for a peer. haskoin-node#Run peer process in current thread.ƒ haskoin-node,Internal function to dispatch peer messages.„ haskoin-node4Internal conduit to parse messages coming from peer.… haskoin-node5Outgoing peer conduit to serialize and send messages. haskoin-node(Kill a peer with the provided exception. haskoin-nodeSend a network message to peer.# haskoin-node+Request full blocks from peer. Will return †i if the list of blocks returned by the peer is incomplete, comes out of order, or a timeout is reached.$ haskoin-node,Request transactions from peer. Will return †o if the list of transactions returned by the peer is incomplete, comes out of order, or a timeout is reached.% haskoin-node5Request transactions and/or blocks from peer. Return †f if any single inventory fails to be retrieved, if they come out of order, or if timeout is reached.& haskoin-node'Ping a peer and await response. Return ‡* if response not received before timeout.ˆ haskoin-nodePeer string for logging'  !"#$%&None ,=>?@AP_'' haskoin-node+Data structure representing an online peer.-'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSNone ,=>?@AEX_Iö*‰ haskoin-nodeKey for best block in database.Š haskoin-node!Key for block header in database.‹ haskoin-node+Mutable state for the header chain process.Œ haskoin-node6peer to sync against and time of last received message haskoin-nodequeue of peers to sync againstŽ haskoin-node1has the header chain ever been considered synced? haskoin-nodeDatabase key for version. haskoin-node'Reader for header synchronization code.‘ haskoin-nodeplaceholder for upstream data’ haskoin-node(mutable state for header synchronizationT haskoin-node.Events originating from chain syncing process.U haskoin-nodechain has new best blockV haskoin-node!chain is in sync with the networkW haskoin-node(Configuration for chain syncing process.Y haskoin-nodedatabase handleZ haskoin-node column family[ haskoin-nodenetwork constants\ haskoin-nodesend header chain events here] haskoin-nodetimeout in seconds^ haskoin-node)Mailbox for chain header syncing process.“ haskoin-nodeVersion of the database.” haskoin-nodexInitialize header database. If version is different from current, the database is purged of conflicting elements first.• haskoin-nodeYPurge database of elements having keys that may conflict with those used in this module.– haskoin-node.Import a bunch of continuous headers. Returns — if the number of headers is 2000, which means that there are possibly more headers to sync from whatever peer delivered these.˜ haskoin-node˙Check if best block header is in sync with the rest of the block chain by comparing the best block with the current time, verifying that there are no peers in the queue to be synced, and no peer is being synced at the moment. This function will only return —ģ once. It should be used to decide whether to notify other processes that the header chain has been synced. The state of the chain will be flipped to synced when this function returns —.™ haskoin-node-Get next peer to sync against from the queue.š haskoin-node"Set a syncing peer and generate a ›G data structure with a block locator to send to that peer for syncing.œ haskoin-nodeFSet the time of last received data to now if a syncing peer is active. haskoin-node5Add a new peer to the queue of peers to sync against.ž haskoin-node!Get syncing peer if there is one.Ÿ haskoin-nodelRemove a peer from the queue of peers to sync and unset the syncing peer if it is set to the provided peer.  haskoin-nodeReturn syncing peer data.` haskoin-nodeGet a block header from ^ process.a haskoin-node)Get best block header from chain process.b haskoin-nodeGet ancestor of Ą at ĸ from chain process.c haskoin-nodeGet parents of Ą starting at ĸ from chain process.d haskoin-node)Get last common block from chain process.e haskoin-node*Notify chain that a new peer is connected.f haskoin-node*Notify chain that a peer has disconnected.g haskoin-node Is given Ŗ in the main chain?h haskoin-nodeIs chain in sync with network?i haskoin-node3Peer sends a bunch of headers to the chain process.TUVWXYZ[\]^_`abcdefghiNone&'>@A_Rš r haskoin-nodeGeneral node configuration.t haskoin-node)maximum number of connected peers allowedu haskoin-nodedatabase handlerv haskoin-nodedatabase column familyw haskoin-node"static list of peers to connect tox haskoin-nodeactivate peer discoveryy haskoin-node"network address for the local hostz haskoin-nodenetwork constants{ haskoin-node&node events are sent to this publisher| haskoin-nodetimeout in seconds} haskoin-nodepeer disconnect after seconds€ haskoin-node&Launch node process in the foreground.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€ #$%& !"6789:;<=>?@ABCD'()*+,-./01234GFE5HKMNOPLQIJRSWXYZ[\]TUV^_`abcdefhgirstuvwxyz{|}~jklmnopq€SafeV˙¤Ĩϧ¨ŠĒĢŦ      !"#$%&'()*++,-./01234567899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijkVDlmmnoppqrstuvwxyz{|}~l€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–…†—˜™š›œžŸ Ąĸ›Ŗ¤›œĨ›œĻ§¨ŠĒĢŦ­ޝhaskoin-node-0.17.13-inplace Haskoin.NodeHaskoin.Node.PeerHaskoin.Node.ManagerHaskoin.Node.ChainPaths_haskoin_nodePeer peerPublisherpeerText PeerExceptionPeerMisbehavingDuplicateVersionDecodeHeaderErrorCannotDecodePayload PeerIsMyselfPayloadTooLargePeerAddressInvalidPeerSentBadHeadersNotNetworkPeer PeerNoSegWit PeerTimeout UnknownPeer PeerTooOld PeerConfig peerConfPubpeerConfNetwork peerConfTextpeerConfConnectWithConnectionConduitsinboundConduitoutboundConduitwrapPeerpeerkillPeer sendMessagegetBusysetBusysetFree getBlocksgetTxsgetDatapingPeer OnlinePeeronlinePeerAddressonlinePeerVerAckonlinePeerConnectedonlinePeerVersiononlinePeerAsynconlinePeerMailboxonlinePeerNonceonlinePeerPingonlinePeerPingsonlinePeerConnectTimeonlinePeerTickledonlinePeerDisconnect PeerManagerPeerManagerConfigpeerManagerMaxPeerspeerManagerPeerspeerManagerDiscoverpeerManagerNetAddrpeerManagerNetworkpeerManagerEventspeerManagerTimeoutpeerManagerMaxLifepeerManagerConnectpeerManagerPub PeerEvent PeerConnectedPeerDisconnectedPortHostHostPortwithPeerManagergetPeers getOnlinePeer managerBest managerVerAckmanagerVersion managerPing managerPong managerAddrs managerTickle buildVersion myVersion ChainEventChainBestBlock ChainSynced ChainConfig chainConfDBchainConfColumnFamilychainConfNetworkchainConfEventschainConfTimeoutChain withChain chainGetBlock chainGetBestchainGetAncestorchainGetParentschainGetSplitBlockchainPeerConnectedchainPeerDisconnectedchainBlockMain chainIsSynced chainHeaders NodeEvent PeerMessageNode nodeManager nodeChain NodeConfignodeConfMaxPeers nodeConfDBnodeConfColumnFamily nodeConfPeersnodeConfDiscovernodeConfNetAddr nodeConfNetnodeConfEventsnodeConfTimeoutnodeConfPeerMaxLifenodeConfConnectwithConnectionwithNode $fEqNodeEventdispatchMessage inPeerConduitoutPeerConduitbase GHC.MaybeNothingghc-prim GHC.TypesFalsepeerLog BestBlockKeyBlockHeaderKey ChainState chainSyncingnewPeersmySyncedChainDataVersionKey ChainReadermyConfig chainState dataVersion initChainDB purgeChainDB importHeadersTrue notifySyncednextPeer syncHeadersThaskoin-core-0.19.0-01a3df8757a5f77878214412d3b283b5d0f580de4a5c9c02ad1f068e4113edc4Haskoin.Block.Common GetHeaderssetLastReceivedaddPeergetSyncingPeer finishPeerchainSyncingPeerHaskoin.Block.Headers BlockNode BlockHeight BlockHashversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName