web3-0.9.0.0: src/Network/Polkadot/Api/Childstate.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
-- |
-- Module : Network.Polkadot.Api.Childstate
-- Copyright : Alexander Krupenkin 2016
-- License : BSD3
--
-- Maintainer : mail@akru.me
-- Stability : experimental
-- Portability : portable
--
-- Polkadot RPC methods with `childstate` prefix.
--
module Network.Polkadot.Api.Childstate where
import Data.Text (Text)
import Data.ByteArray.HexString (HexString)
import Network.JsonRpc.TinyClient (JsonRpc (..))
-- | Returns the keys with prefix from a child storage, leave empty to get all the keys.
getKeys :: JsonRpc m
=> HexString
-- ^ Prefixed storage key
-> HexString
-- ^ Storage key
-> Maybe HexString
-- ^ Block hash
-> m [HexString]
{-# INLINE getKeys #-}
getKeys = remote "childstate_getKeys"
-- | Returns a child storage entry at a specific block state.
getStorage :: JsonRpc m
=> HexString
-- ^ Prefixed storage key
-> HexString
-- ^ Storage key
-> Maybe HexString
-- ^ Block hash
-> m (Maybe HexString)
{-# INLINE getStorage #-}
getStorage = remote "childstate_getStorage"
-- | Returns the hash of a child storage entry at a block state
getStorageHash :: JsonRpc m
=> HexString
-- ^ Prefixed storage key
-> HexString
-- ^ Storage key
-> Maybe HexString
-- ^ Block hash
-> m (Maybe HexString)
{-# INLINE getStorageHash #-}
getStorageHash = remote "childstate_getStorageHash"
-- | Returns the size of a child storage entry at a block state.
getStorageSize :: JsonRpc m
=> HexString
-- ^ Prefixed storage key
-> HexString
-- ^ Storage key
-> Maybe HexString
-- ^ Block hash
-> m (Maybe Int)
{-# INLINE getStorageSize #-}
getStorageSize = remote "childstate_getStorageSize"