-- | -- Module : Network.Ipfs.Api.Bitswap -- Copyright : Alexander Krupenkin 2016 -- License : BSD3 -- -- Maintainer : mail@akru.me -- Stability : experimental -- Portability : unknown -- -- Api calls with `bitswap` prefix. -- module Network.Ipfs.Api.Bitswap where import Control.Monad.IO.Class (MonadIO (..)) import Data.Text (Text) import Network.Ipfs.Api.Internal (_bitswapLedger, _bitswapReprovide, _bitswapStat, _bitswapWL) import Network.Ipfs.Api.Internal.Call (call) import Network.Ipfs.Api.Types (BitswapLedgerObj, BitswapStatObj, BitswapWLObj, ReprovideReturnType) import Network.Ipfs.Client (IpfsT) -- | 'Show some diagnostic information on the bitswap agent. stat :: MonadIO m => IpfsT m BitswapStatObj stat = call _bitswapStat -- | Show blocks currently on the wantlist. wl :: MonadIO m => IpfsT m BitswapWLObj wl = call _bitswapWL -- | Show the current ledger for a peer. ledger :: MonadIO m => Text -> IpfsT m BitswapLedgerObj ledger = call . _bitswapLedger -- | Trigger reprovider. reprovide :: MonadIO m => IpfsT m ReprovideReturnType reprovide = call _bitswapReprovide