web3-0.8.0.0: src/Data/Solidity/Prim/String.hs
-- |
-- Module : Data.Solidity.Prim.String
-- Copyright : Alexander Krupenkin 2018
-- License : BSD3
--
-- Maintainer : mail@akru.me
-- Stability : experimental
-- Portability : noportable
--
-- Ethereum Abi UTF8-encoded string type.
--
module Data.Solidity.Prim.String where
import Data.Text (Text)
import Data.Text.Encoding (decodeUtf8, encodeUtf8)
import Data.Solidity.Abi (AbiGet (..), AbiPut (..),
AbiType (..))
import Data.Solidity.Prim.Bytes ()
instance AbiType Text where
isDynamic _ = True
instance AbiPut Text where
abiPut = abiPut . encodeUtf8
instance AbiGet Text where
abiGet = decodeUtf8 <$> abiGet