All notable changes to this project will be documented in this file.
- 'Network.Ethereum.ABI.Prim' meta-module as primitive types and instances aggregator.
- Stackage nightly build compatibility.
- Potential nullable web3 type ('Change', 'Block', 'Transaction', etc.) fields are encoded as 'Maybe'.
- Generic JSON-RPC API documentation improvements.
- TH generator bug fixes.
- Generic JSON-RPC API use fixed size byte arrays.
- 'BlockNumber', 'FilterId' types replaced by 'Quantity' type
- TxReceipt and Eth.getTransactionReceipt JSON-RPC method.
- Keyword escaper for TH generated names.
- Build flag to enable TLS support.
- Library dependencies bounds fixed for GHC 8.2.2-8.4.2 (stackage LTS + Nightly).
- This CHANGELOG.md file for significant changes tracking.
- Descriptive types for all JSON-RPC method parameters and returned values (#15).
- Widely use of basement:Word256 type for encoding.
- Full list of ethereum abi encoding types:
- bool:
Bool
- int256:
IntN
- uint256:
UIntN
- string:
Text
- bytes:
Bytes
- bytes32:
BytesN
- dynamic array:
[]
- static array:
ListN
- bool:
- Rewriten encoding engine for best performance, it now based on cereal:Serialize instead of parsec:Parser.
- Renamed encoding type classes and methods:
ABIEncode
->ABIPut
,ABIDecode
->ABIGet
. - Encoding related modules moved to Network.Ethereum.ABI.
- Primitive abi encoding types are moved to separated modules in Network.Ethereum.ABI.Prim.
- Contract interation related modules moved to Network.Ethereum.Contract.
- Ethereum node communication modules stay in Network.Ethereum.Web3.
- JSON-RPC tiny client is independent now and can be used separately.
Event
type class, currently TH createData.Default
instance forFilter e
.- Custom setup for live testing (it replaced by travis script).