web3-0.9.0.0: src/Network/Ipfs/Api/Cid.hs
-- |
-- Module : Network.Ipfs.Api.Cid
-- Copyright : Alexander Krupenkin 2016
-- License : BSD3
--
-- Maintainer : mail@akru.me
-- Stability : experimental
-- Portability : unknown
--
-- Api calls with `cid` prefix.
--
module Network.Ipfs.Api.Cid where
import Control.Monad.IO.Class (MonadIO)
import Data.Text (Text)
import Network.Ipfs.Api.Internal (_cidBase32, _cidBases,
_cidCodecs, _cidFormat,
_cidHashes)
import Network.Ipfs.Api.Internal.Call (call)
import Network.Ipfs.Api.Types (CidBasesObj, CidCodecsObj,
CidHashesObj, CidObj)
import Network.Ipfs.Client (IpfsT)
-- | List available multibase encodings.
bases :: MonadIO m => IpfsT m [CidBasesObj]
bases = call _cidBases
-- | List available CID codecs.
codecs :: MonadIO m => IpfsT m [CidCodecsObj]
codecs = call _cidCodecs
-- | List available multihashes.
hashes :: MonadIO m => IpfsT m [CidHashesObj]
hashes = call _cidHashes
-- | Convert CIDs to Base32 CID version 1.
base32 :: MonadIO m => Text -> IpfsT m CidObj
base32 = call . _cidBase32
-- | Format and convert a CID in various useful ways.
format :: MonadIO m => Text -> IpfsT m CidObj
format = call . _cidFormat