All notable changes to this project will be documented in this file.
- Eth/client: Add gas limit override option for contract deployments (#128)
- Eth/abi: support dynamic array encoding (#122)
- Eth/client: Include contract constructor args when estimating intrinsic gas (#111)
- Eth/abi: allow parsing numerics from string inputs (#112)
- Eth/signature: fix prefix_message for multibyte characters (#120)
- Eth/abi: raise error if numeric comes as string (#114)
- Gem: bump version to 0.5.6 (#130)
- Eth/contract: Add missing def_delegator for constructor_inputs (#96)
- Eth/client: Enable passing in constructor params to deploy (#106)
- Eth/chain: add matic/mumbai (#107)
- Gem: bump version to 0.5.5 (#89)
- Docs: update changelog for 0.5.4 (#90)
- Ci: add weekly dependency checks (#91)
- Build(deps): bump github/codeql-action from 1 to 2 (#92)
- Build(deps): bump actions/checkout from 2 to 3 (#93)
- Build(deps): bump JamesIves/github-pages-deploy-action from 4.1.7 to 4.3.3 (#94)
- Eth/abi: fix handling of hex values for byte strings (#100)
- Eth/abi: add a testcase for handling hex and bin strings (#101)
- Eth/abi: Fix Eth::Abi::DecodingError in call method (#105)
- Eth: some docs and cleanups (#108)
- Eth/client: method for eip-1271 (#80)
- Docs: update changelog (#77)
- Gem: bump version to 0.5.4 (#78)
- Ci: bump ruby version to 3.1 on ci (#79)
- Fix typos (#81)
- Eth/contract: allow creating from file, abi, bin (#83)
- Eth/client: fix account requirement for client.call() (#85)
- Add dependency support for openssl 2.2 and greater, including 3.x (#88)
- Smart contract support (#68)
- Eth/solidity: add solidity compiler bindings (#66)
- Eth: remove duplicated code (#62)
- Ci: allow coverage to drop to 99% without failing (#63)
- Docs: update readme (#64)
- Docs: add wiki to readme (#65)
- Docs: update changelog (#61)
- Eth/chain: add sepolia chain id; docs (#60)
- Eth/rlp: cleanup (#59)
- Eth/tx: properly serialize signatures (#58)
- Eth/client: fix legacy transfer (#57)
- Gem: relax openssl requirement (#56)
- Docs: update changelog (#53)
- Spec: add upstream test fixtures for keystore (#50)
- Eth/tx: create legacy, type-1, and type-2 transactions #33
- Signature: implement eip 712 typed structured data signing #27
- Lib: import ABI to eth/abi #29
- Eth/chains: implement eip 155 for replay protection #20
- Docs: update readme with features #49
- Eth/tx: add method to estimate intrinsic gas costs #48
- Eth/key: allow chain_id empty for signing messages/data #47
- Gem: prepare for release #46
- Eth/sig: allow v values > 0xff, fix #30 #43
- Eth/abi: refactor for maintainability #42
- Docs: improve readme #41
- Lib: improve error handling #39
- Docs: update readme for tx and keys #40
- Implement encrypt/decrypt #22
- Gem: clean up some docs and scripts #32
- Rename util and chain to singular #26
- Docs: add some examples to readme #25
- Key/signature: personal sign and verify #24
- Ci: only run coverage on CI #23
- Lib/signature: implement personal_recover (eip 191 #21
- Eth/util: public_key_to_address should return an eth::address #19
- Ci: add docs workflow #18
- Address class implementation and tests #13
- Spec: improve util tests #12
- Spec: improve key tests #11
- Gems: bump keccak and secp256k1 #10
- Docs: add code climate badge #8
- Ci: enable codecov #7
- Docs: add AUTHORS file #6
- Lib: implement Eth::Key class #4
- Ci: add nightly schedule #2
- Reset gem to point blank #1
- CI: add yard doc and rufo workflows se3000/ruby-eth#75
- Gem: run rufo se3000/ruby-eth#74
- Gem: dependencies se3000/ruby-eth#73
- Lib: fix compatibility with libressl (macos) and openssl 1.1.1k se3000/ruby-eth#66
- Gems: bump version to 0.4.17 se3000/ruby-eth#70
- Gems: bump keccak to 1.3.0 se3000/ruby-eth#69
- Docs: update changelog se3000/ruby-eth#65
- Gems: bump version to 0.4.16 se3000/ruby-eth#65
- License: update copyright notice se3000/ruby-eth#64
- Docs: add badges to readme se3000/ruby-eth#64
- Git: deprecating master se3000/ruby-eth#63
- CI: replace travis with github actions se3000/ruby-eth#62
- Gems: replace digest-sha3-patched with keccak se3000/ruby-eth#58
Released as eth-patched
from a different source tree.
- Bump rake version because of security vulnerability
- Support for recovering signatures with a V value below 27 (like from Ledger hardware wallets)
- Use updated sha3 dependency
- Improved OpenSSL support
- Changed Eth::Configuration.default_chain_id back to .chain_id for dependent libraries.
- escoffon added support for chain IDs larger than 120.
- Updated MoneyTree dependency.
- Support scrypt private key decryption
- Further improve Open SSL configurability
- Support old versions of SSL to help avoid preious breaking changes
- Eth::Key::Encrypter class to handle encrypting keys.
- Eth::Key.encrypt as a nice wrapper around Encrypter class.
- Eth::Key::Decrypter class to handle encrypting keys.
- Eth::Key.decrypt as a nice wrapper around Decrypter class.
- Address#valid? to validate EIP55 checksums.
- Address#checksummed to generate EIP55 checksums.
- Utils.valid_address? to easily validate EIP55 checksums.
- Utils.format_address to easily convert an address to EIP55 checksummed.
- Dependencies no longer include Ethereum::Base. Eth now implements those helpers directly and includes ffi, digest-sha3, and rlp directly.
- Tx#hash includes the '0x' hex prefix.
- Tx#data_bin returns the data field of a transaction in binary.
- Tx#data_hex returns the data field of a transaction as a hexadecimal string.
- Tx#id is an alias of Tx#hash
- Tx#data is configurable to return either hex or binary:
config.tx_data_hex = true
. - Tx#hex includes the '0x' hex prefix.
- Key#address getter is prepended by '0x'.
- Extract public key to address method into Utils.public_key_to_address.
- Tx#from returns an address instead of a public key.
- Chain ID is updated to the later version of the spec.