Safe Haskell | None |
---|---|
Language | Haskell98 |
- startSPVNode :: (MonadLoggerIO m, MonadBaseControl IO m) => [PeerHost] -> BloomFilter -> Int -> NodeT m ()
- txSource :: (MonadLoggerIO m, MonadBaseControl IO m) => Source (NodeT m) Tx
- handleGetData :: (MonadLoggerIO m, MonadBaseControl IO m) => (TxHash -> m (Maybe Tx)) -> NodeT m ()
- broadcastTxs :: (MonadLoggerIO m, MonadBaseControl IO m) => [TxHash] -> NodeT m ()
- rescanTs :: Timestamp -> NodeT STM ()
- rescanHeight :: BlockHeight -> NodeT STM ()
- merkleDownload :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx))
- merkleCheckSync :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m ()
- waitHeight :: BlockHeight -> NodeT STM ()
- waitFastCatchup :: Timestamp -> NodeT STM ()
- waitNewBlock :: BlockHash -> NodeT STM ()
- tryMerkleDwnHeight :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx)))
- tryMerkleDwnTimestamp :: (MonadLoggerIO m, MonadBaseControl IO m) => Timestamp -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx)))
- tryMerkleDwnBlock :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx)))
- peerMerkleDownload :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> BlockChainAction -> Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx)
- processTickles :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m ()
- waitTickle :: NodeT STM (PeerId, PeerHost, BlockHash)
- syncedHeight :: MonadIO m => NodeT m (Bool, Word32)
- headerSync :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m ()
- peerHeaderSyncLimit :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Int -> NodeT m Bool
- peerHeaderSyncFull :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> NodeT m ()
- areBlocksSynced :: NodeT STM Bool
- areHeadersSynced :: NodeT STM Bool
- peerHeaderSync :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Maybe BlockChainAction -> NodeT m (Maybe BlockChainAction)
- nodeStatus :: NodeT STM NodeStatus
- peerStatus :: (PeerId, PeerSession) -> NodeT STM PeerStatus
Documentation
startSPVNode :: (MonadLoggerIO m, MonadBaseControl IO m) => [PeerHost] -> BloomFilter -> Int -> NodeT m () Source
handleGetData :: (MonadLoggerIO m, MonadBaseControl IO m) => (TxHash -> m (Maybe Tx)) -> NodeT m () Source
broadcastTxs :: (MonadLoggerIO m, MonadBaseControl IO m) => [TxHash] -> NodeT m () Source
rescanHeight :: BlockHeight -> NodeT STM () Source
merkleDownload :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx)) Source
merkleCheckSync :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m () Source
waitHeight :: BlockHeight -> NodeT STM () Source
waitFastCatchup :: Timestamp -> NodeT STM () Source
waitNewBlock :: BlockHash -> NodeT STM () Source
tryMerkleDwnHeight :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx))) Source
tryMerkleDwnTimestamp :: (MonadLoggerIO m, MonadBaseControl IO m) => Timestamp -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx))) Source
tryMerkleDwnBlock :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeBlock -> Word32 -> NodeT m (Maybe (BlockChainAction, Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx))) Source
peerMerkleDownload :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> BlockChainAction -> Source (NodeT m) (Either (MerkleBlock, MerkleTxs) Tx) Source
processTickles :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m () Source
headerSync :: (MonadLoggerIO m, MonadBaseControl IO m) => NodeT m () Source
peerHeaderSyncLimit :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Int -> NodeT m Bool Source
peerHeaderSyncFull :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> NodeT m () Source
peerHeaderSync :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Maybe BlockChainAction -> NodeT m (Maybe BlockChainAction) Source
Sync one batch of headers from the given peer. Accept the result of a previous peerHeaderSync to correctly compute block locators in the presence of side chains.
peerStatus :: (PeerId, PeerSession) -> NodeT STM PeerStatus Source