HORIZON HASKELLDocslts/ghc-9.14.xd82dee82026-10-12Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · d82dee8 · 2026-10-12

Moduleweb3-solidity-1.1.0.0Haskell2010

Data.Solidity.Abi

The Application Binary Interface is the standard way to interact with contracts in the Ethereum ecosystem, both from outside the blockchain and for contract-to-contract interaction. Data is encoded according to its type, as described in this specification. The encoding is not self describing and thus requires a schema in order to decode.

  • 5 classes
classclass AbiType a where
#

A class for abi encoding datatype descriptions

Methods

Instances31AbiType, …
classclass AbiType a => AbiPut a where
#

A class for encoding datatypes to their abi encoding

If your compiler has support for the DeriveGeneric and DefaultSignatures language extensions (ghc >= 7.2.1), the abiPut method will have default generic implementations.

To use this option, simply add a deriving Generic clause to your datatype and declare a AbiPut instance for it without giving a definition for abiPut.

Methods

Instances31AbiPut, …
classclass GenericAbiPut a where
#

A class for encoding generically composed datatypes to their abi encoding

Methods

Instances1GenericAbiPut
  • AbiData (NP f as) => GenericAbiPut (SOP f '[as])Defined in web3-solidity-1.1.0.0 · Data.Solidity.Abi.Generic · orphan
classclass AbiType a => AbiGet a where
#

A class for decoding datatypes from their abi encoding

If your compiler has support for the DeriveGeneric and DefaultSignatures language extensions (ghc >= 7.2.1), the abiGet method will have default generic implementations.

To use this option, simply add a deriving Generic clause to your datatype and declare a AbiGet instance for it without giving a definition for abiGet.

Methods

Instances31AbiGet, …
classclass GenericAbiGet a where
#

A class for decoding generically composed datatypes from their abi encoding

Methods

Instances3GenericAbiGet