Changelog History
Page 1
-
v0.9.1.0 Changes
June 07, 2020➕ Added
- ✅ SCALE codec implementation and tests
- SCALE codec example
🔄 Changed
- 👌 Supported GHC version: >=8.4.4
- ⚡️ Imports optimized
✂ Removed
- 👍 LTS-14 support
-
v0.9.0.0 Changes
May 24, 2020➕ Added
- Experimental IPFS REST API client
- Experimental Polkadot JSON-RPC API client
🔄 Changed
- 🚚 Web3 abstraction moved to
Network.Web3
- Ethereum entry point renamed
Network.Ethereum.Web3
->Network.Ethereum
- Split from common ECDSA staff from
Crypto.Ethereum
toCrypto.Ecdsa
- 🚚 Ethereum related tests moved to
Network.Ethereum.Test
✂ Removed
- 👌 Support for build on LTS-11, LTS-12, LTS-13
-
v0.8.4.0 Changes
May 03, 2020➕ Added
- 👍 Tuple support for
pragma experimental ABIEncoderV2
- 🛠 Fixed dependencies bounds for stackage LTS-15
🔄 Changed
- 🛠 Fixed reusing of HTTP request Manager
- 👍 Tuple support for
-
v0.8.3.2 Changes
May 13, 2019🔄 Changed
- 🛠 Fixed dependencies bounds for stackage distribution
- ⚡️ Optimized LANGUAGE pragmas
-
v0.8.3.1 Changes
January 21, 2019🔄 Changed
- 🛠 Fixed dependencies bounds for stackage distribution
-
v0.8.3.0 Changes
January 09, 2019➕ Added
- 👍 Web3 secret storage v3 support
🔄 Changed
- 🚚 Cryptonite based ECC signer for messages and transactions, it removes secp256k1 dependency
- 🛠 Fixed dependencies bounds for stackage LTS-13
-
v0.8.2.1 Changes
November 19, 2018🔄 Changed
- 🛠 Fixed dependencies bounds for stackage distribution
-
v0.8.2.0 Changes
November 11, 2018🔄 Changed
- Gas estimation runs when gas limit is not set before
-
v0.8.1.0 Changes
October 29, 2018➕ Added
- 👌 Support vinyl-0.10 in
MultiFilter
module
- 👌 Support vinyl-0.10 in
-
v0.8.0.0 Changes
October 26, 2018🚀 This release introduce changes in account system of library. Accounts is a big deal for any crypto(currency) library. Previously
hs-web3
support node managed accounts only. Currently library support three types of accounts:- 0️⃣ Default account (node managed, typically first of accounts list, should be unlocked)
- Personal account (node managed accounts available via JSON-RPC
personal_*
API) - Local account (derived from secp256k1 private key and use JSON-RPC
sendRawTransaction
call)
Transaction sending code have a lot of changes too. Introduced
Account
typeclass inNetwork.Ethereum.Account
module that looks like:class MonadTrans t =\> Account a t | t -\> a where-- | Run computation with given account credentialswithAccount :: JsonRpc m =\> a -\> t m b -\> m b-- | Send transaction to contract, like a 'write' commandsend :: (JsonRpc m, Method args) =\> args -\> t m TxReceipt-- | Call constant method of contract, like a 'read' commandcall :: (JsonRpc m, Method args, AbiGet result) =\> args -\> t m result
This is mean that sending transaction from multiple accounts simultaneously using
withAccount
function is not a problem now.... = do withAccount () $ ... withAccount (Personal "0x..." "password") $ ...
Transaction parametrisation was too hard previously and forced to carry a lot of vars. Currently
withParam
function exported in account module use state monad for transaction parametrisation. It make code looks good and more powerful.withAccount () $-- Set transaction value withParam (value .~ halfBalance) $ do-- Send transaction to alice account withParam (to .~ alice) $ send ()-- Send transaction to bob account withParam (to .~ bob) $ send ()
🚀 Finally in this release contract creation is supported via using truffle generated smart contract artifacts. Example available in tests.
➕ Added
- 👌 Support for Ethereum cryptography
- Local private key transaction signer
- Generalized JSON-RPC monad for API methods
- 👌 Support for multiple transaction sending methods via one
Account
api - Monad based transaction sending parametrization
- 0️⃣ Experimental support for solidity compiler (disabled by default)
- 👌 Support for Ethereum mainnet ENS resolver
- Contract typeclass with api/bytecode getters
- Contract typeclass TH generator
- Function for creating contracts
- Event single/multi filters
- HexString data type
- Personal api calls
- ➕ Address checksum
🔄 Changed
- 📦 package.yaml instead web3.cabal package descriptor
- 🚚 Solidity related data types and codecs moved to Data.Solidity
- 🚚 Solidity related parsers and compiler moved to Language.Solidity
- 🚚 Modules in Network.Ethereum.Web3 moved to Network.Ethereum.Api
- fromWei/toWei from
Unit
typeclass now operates overIntegral
✂ Removed
convert
function fromUnit
typeclass