All Versions
14
Latest Version
Avg Release Cycle
60 days
Latest Release
501 days ago

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 to Crypto.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
  • 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
  • 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 in Network.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 over Integral

    โœ‚ Removed

    • convert function from Unit typeclass