ethers-rs/CHANGELOG.md

161 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

This changelog is automatically generated by git-cliff, which is configured here.

Please do not manually edit this file.

[2.0.1] - 2023-03-21

Bug Fixes

  • Ethers-contract circular dep on ethers-signers (#2291)
  • Features (#2290)
  • Handle all struct field types (#2289)
  • Re-export CallLogFrame from geth types (#2283)
  • Feature resolution (#2274)
  • Use to_string in mainnet chain variant (#2275)
  • Accept ethlive as a chain name (#2268)
  • Fix missing ident # (#2267)
  • Support null result (#2249)
  • Ensure flatten target is part of graph (#2256)
  • Dont poll stream again if done (#2245)
  • Docsrs builds final (#2235)
  • Docs.rs build (#2221)
  • Change windows target ABI (#2230)
  • Init guard in noncemanager (#2227)
  • Parse_log in public interface (#2228)
  • Allow MIT-0, allow CC0-1.0 exceptions (#2212)
  • Udeps (#2215)
  • Set miner.etherbase in clique mode (#2210)
  • Examples (#2207)
  • Properly parse genesis alloc storage (#2205)
  • I256 docs (#2187)
  • Builtin trait derives (#2170)
  • Block FromStr implementation (#2155)
  • Use event name from abi attribute (#2144)
  • Report all errors during parsing (#2149)
  • Examples (#2153)
  • Test hive genesis parsing (#2145)
  • Process all imports even input files (#2136)
  • Fix autodetection edge case (#2099)
  • Add cfg to IntoFuture preventing Send (#2086)
  • Use middleware associated err type (#2093)
  • Add Send bound to return type of JsonRpcClient::request (#2072)
  • Add getrandom with js feature for wasm (#2076)
  • Add missing pub for tuple structs (#2080)
  • Ensure urls have trailing / (#2069)
  • Fix geth --init temp dir race condition (#2068)
  • Default to Ascii for windows / Utf8 otherwise (#2060)
  • Add missing ir option (#2055)
  • Add back mod util
  • Fixed issue#2004 parsing solc verison with trailing newlines (#2005)
  • Failing can_autodetect_dirs solc test (#1895) (#2052)
  • Ensure correct ABI in From impl (#2036)
  • Revert to old version (#2048)
  • Signer test (#2028)
  • Tests (#2015)
  • Doctests (#2007)
  • Use full path of i256 (#2000)
  • Doc typo regarding Multicall::call_array (#1985)
  • Deprecated gas oracle (#1986)
  • Gwei wei wrong u256 constant (#1992)
  • Don't override user-set 1559 attributes (#1980)
  • Reexport SourceLocation (#1971)
  • Reexport some ast types again (#1968)
  • Add setter for MultiBindings' rustfmt (#1948)
  • Source code serde (#1962)
  • Ethers-etherscan solc feature (#1965)
  • Rebase to master for onbjerg's ast (#1943)
  • Add openssl and rustls feature flags in ethers-middleware (#1961)
  • Oracles, tests (#1944)
  • Bump in .clippy.toml and add a comment in root Cargo.toml (#1945)
  • Decode to correctly in Transaction (#1946)
  • Allow 16 calls in multicall (#1934)
  • Set GethInstance p2p_port in spawn (#1933)
  • Remove OpCode enum and update VMOperation's op field type (#1904)
  • Always set p2p port in non-dev mode (#1919)
  • Make version detection infallible (#1916)
  • Multicall decode error (#1907)
  • Rm wrong brackets (#1914)
  • Txpool_inspect unable to parse contract creations (#1905)

Depedencies

  • Bump MSRV from 1.64 to 1.65 (#2277)
  • Bump and use workspace dependencies (#2222)
  • Bump crypto deps (#2260)
  • Bump enr from 0.7.0 to 0.8.0 (#2255)
  • Bump futures-executor from 0.3.26 to 0.3.27 (#2250)
  • Bump semver from 1.0.16 to 1.0.17 (#2251)
  • Bump proc-macro2 from 1.0.51 to 1.0.52 (#2252)
  • Bump futures-util from 0.3.26 to 0.3.27 (#2253)
  • Bump chrono from 0.4.23 to 0.4.24 (#2254)
  • Bump coins-bip39 to 0.8.1 and coins-bip32 to 0.8.0 (#2246)
  • Bump rayon from 1.6.1 to 1.7.0 (#2233)
  • Bump serde_path_to_error from 0.1.9 to 0.1.10 (#2232)
  • Bump thiserror from 1.0.38 to 1.0.39 (#2234)
  • Improve CI jobs and tests (#2189)
  • Build without deps (#2196)
  • Bump tempfile from 3.3.0 to 3.4.0 (#2200)
  • Bump auto_impl from 0.5.0 to 1.0.1 (#2201)
  • Bump syn from 1.0.108 to 1.0.109 (#2202)
  • Bump num_enum from 0.5.10 to 0.5.11 (#2184)
  • Bump svm (#2185)
  • Bump syn from 1.0.107 to 1.0.108 (#2178)
  • Bump svm-rs (#2179)
  • Make order of types in shared_types deterministic (#2169)
  • Bump num_enum from 0.5.9 to 0.5.10 (#2168)
  • Bump http from 0.2.8 to 0.2.9 (#2167)
  • Bump once_cell from 1.17.0 to 1.17.1 (#2156)
  • Bump coins-ledger from 0.7.0 to 0.7.1 (#2139)
  • Bump fs_extra from 1.2.0 to 1.3.0 (#2118)
  • Bump proc-macro2 from 1.0.50 to 1.0.51 (#2117)
  • Bump wasm-bindgen-test from 0.3.33 to 0.3.34 (#2111)
  • Bump solc test 0.8.18 (#2113)
  • Bump wasm-bindgen-futures from 0.4.33 to 0.4.34 (#2108)
  • Bump web-sys from 0.3.60 to 0.3.61 (#2106)
  • Bump svm crates (#2110)
  • Bump cargo_metadata from 0.15.2 to 0.15.3 (#2101)
  • Bump bytes from 1.3.0 to 1.4.0 (#2100)
  • Bump ws_stream_wasm from 0.7.3 to 0.7.4 (#2092)
  • Bump futures-executor from 0.3.25 to 0.3.26 (#2096)
  • Bump futures-util from 0.3.25 to 0.3.26 (#2097)
  • Bump reqwest from 0.11.13 to 0.11.14 (#2065)
  • Bump num_enum from 0.5.7 to 0.5.9 (#2073)
  • Bump proc-macro2 from 1.0.49 to 1.0.50 (#2061)
  • Bump solang-parser 0.2.1 (#2054)
  • Bump svm-rs (#2051)
  • Bump criterion from 0.3.6 to 0.4.0 (#2050)
  • Bump regex from 1.7.0 to 1.7.1 (#2034)
  • Bump num_enum from 0.5.7 to 0.5.8 (#2035)
  • Bump bzip2 from 0.4.3 to 0.4.4 (#2040)
  • Bump base64 from 0.20.0 to 0.21.0 (#2030)
  • Bump glob from 0.3.0 to 0.3.1 (#2031)
  • Bump once_cell from 1.16.0 to 1.17.0 (#1987)
  • Examples (#1940)
  • Bump serde_path_to_error from 0.1.8 to 0.1.9 (#1969)
  • Bump proc-macro2 from 1.0.47 to 1.0.49 (#1951)
  • Bump thiserror from 1.0.37 to 1.0.38 (#1950)
  • Bump semver from 1.0.14 to 1.0.16 (#1952)
  • Bump syn from 1.0.105 to 1.0.107 (#1953)
  • Bump serial_test from 0.9.0 to 0.10.0 (#1954)
  • Bump num_cpus from 1.14.0 to 1.15.0 (#1959)
  • Bump base64 from 0.13.1 to 0.20.0 (#1935)
  • Bump rayon from 1.6.0 to 1.6.1 (#1936)
  • Bump futures-locks from 0.7.0 to 0.7.1 (#1930)
  • Bump syn from 1.0.104 to 1.0.105 (#1918)
  • Bump tokio-tungstenite from 0.17.2 to 0.18.0 (#1908)
  • Bump chrono from 0.4.20 to 0.4.23 (#1900)
  • Bump syn from 1.0.103 to 1.0.104 (#1901)

Documentation

  • Fix broken links, update documentation (#2203)
  • Update providers book and examples (#2098)
  • Rename event_derives to derives (#2018)
  • Mock-provider (#2011)
  • Add rw/quorum provider
  • Mdbook (#1994)
  • Fixed typos in rw client docs (#1957)
  • Update MRSV to 1.64 (#1926)

Features

  • Improve error diagnostic (#2280)
  • Roundtrip serde + to/from strings (#2270)
  • Support empty events (#2263)
  • Add implementations to Opcode (#2243)
  • Add Boba chain (#2236)
  • Deseralize other fields on tx receipts (#2209)
  • Contract revert trait (#2182)
  • Add filecoin chains (#2177)
  • Add is_empty fn for structs of Options (#2195)
  • Use binaries.soliditylang.org (#2198)
  • Improve I256 implementation (#2180)
  • Improve Multicall result handling (#2164)
  • Add debug for geth default api (#2140)
  • Add basic event filtering example (#2137)
  • Extend model checker setting field (#2123)
  • Add support for Geth built-in tracer and config (#2121)
  • Allow signature to recover typed_data payloads (#2120)
  • Packed encoding (#2104)
  • Add DerefMut for OtherFields (#2109)
  • Add support for js tracer to geth trace, fix different return types (#2064)
  • More type parsing (#2095)
  • Add convenience impl From Log (#2087)
  • Expose genesis and private key in Geth (#2091)
  • Support emitting bytecode as extra files (#2074)
  • Add helper functions to access solidity types (#2081)
  • Allow ClientBuilder to create Client without API key (#2067)
  • Enable Clique mode (#2063)
  • Switch shanghaiBlock to shanghaiTime (#2049)
  • Use u64 and add more chains to multicall (#2042)
  • Allow parsing of private key that has 0x prefix (#2037)
  • Return multicall pending transaction (#2044)
  • Add strum::EnumIter and strum::EnumCount to Chain (#2043)
  • Use prettyplease (#2027)
  • Support parsing bytecode from evm object (#2024)
  • Add arbitrum nova api and chain id 42170 (#2020)
  • Support personal account apis (#2009)
  • Add ability to take geth stderr (#2010)
  • Add mining related apis (#2008)
  • Windows ipc provider (named pipe) (#1976)
  • Improve error on case mismatch (#1998)
  • Improve determine_ethers_crates (#1988)
  • Expose all genesis related structs (#1975)
  • Debug_traceCall (#1949)
  • Chain macros and impls (#1958)
  • Adds bscscan as abi source (#1955)
  • Make geth executable configurable (#1947)
  • Add_calls and call_array for multicall (#1941)
  • Add infura error code to retry detection (#1921)
  • Impl Serialize for Chain (#1917)
  • Providererror conversion to middleware error (#1920)
  • Add a subset of admin namespace (#1880)
  • Chain impls and refactoring (#1909)
  • Check for serde error with missing req id (#1910)

Miscellaneous Tasks

  • Remove redundant clone
  • Make clippy happy (#2264)
  • Allow clippy false positive (#2259)
  • Add more cache traces (#2248)
  • Add some docs and impl debug (#2219)
  • Replace rpc urls with generic ones (#2199)
  • Move etherscan api key env var matching to Chain enum (#2204)
  • Top-up testnet wallets
  • Added canto network (#2171)
  • Add .git-blame-ignore-revs (#2157)
  • Remove unused generic
  • Use arbiscan urls for arbitrum goerli (#2127)
  • Add etherscan page not found error (#2126)
  • Fix bare urls in abigen (#2133)
  • Add convenient from impls (#2112)
  • Add cloudflare captcha error (#2116)
  • Fix custom provider example
  • Fix ci
  • Fix clippy (#2059)
  • Do not expose util module
  • Derive default for enums
  • Clippy (#2032)
  • Alias&export error as ParseChainError (#2022)
  • Update all rust editions to 2021 (#1979)
  • Clippy (#1990)
  • Clippy
  • Gitignore .pre-commit-config.yaml (#1973)
  • Rm broken pre commit yaml (#1972)
  • Make clippy happy (#1923)
  • Generate selector as hex in docs (#1924)

Other

  • Prestwich/gas escalator dangle (#2284)
  • Contracts chapter (#2281)
  • Revert "chore: remove redundant clone"
  • Fix logical errors in doc comments for is_negative and is_zero (#2218)
  • Solang-parser 0.2.3 (#2229)
  • Reconnection & Request Reissuance (#2181)
  • // to https:// on Celo link (#2193)
  • Workaround for https://github.com/LedgerHQ/app-ethereum/issues/409 (#2192)
  • Organize ethers-providers (#2159)
  • Include deployed bytecode in abigen output (#2163)
  • Use Option for CliqueConfig fields (#2162)
  • Prestwich/event no lifetime (#2105)
  • Extend model checker options (#2147)
  • Add human readable ABI example in documentation (#2148)
  • Allow upper case acronyms lint (#2128)
  • Use pascal casing for type names in structs generated by abigen (#2130)
  • Solang-parser 0.2.2 (#2135)
  • Refactor factories to use Borrow<M> (#2103)
  • Book - Providers Chapter (#2023)
  • Remove EthAbiType derive generated unwrap (#2056)
  • Book - Middleware Chapter (#2033)
  • Fix deserializing contract creation NormalTransaction objects (#2029)
  • Mx - CI - mdbook addons - admonition(callouts) and mermaid (code driven diagrams) with example implementation (#2025)
  • Disable native-tls on rusoto (#2021)
  • Fix nonce manager test (#2014)
  • Remove current nonce load when initialized (#2013)
  • Abigen adopt hardhat generated bytecode (#2012)
  • Build/deploy book
  • Delete book.yml
  • Mdbook (#2003)
  • Sighash on the inner/updated tx object (#1977)
  • Added from_bytes for Wallet type (#1983)
  • (docs): add clippy command (#1967)
  • Init devenv, gitignore .nlsp-settings (#1942)
  • Added new checkbox to the PR checklist (#1937)
  • Added new line were missing (#1928)
  • Fix Dead Link to abigen test in README (#1929)
  • Change awsSigner to own kmsclient (#1922)
  • Middleware library (#1912)

Performance

  • Wrap source content in Arc (#2138)
  • Avoid unnecessary allocations (#2046)

Refactor

  • Keep and use parsed spans (#2247)
  • Derives, struct expansion (#2160)
  • Derive procedural macros (#2152)
  • Solidity types expansion (#2131)
  • Make contract abstract over Borrow (#2082)
  • Inline docs (#2090)
  • Add bytes::Bytes static methods, refactor struct declaration (#2089)
  • Source (#2016)
  • Abigen, ContractBindings (#2019)

Styling

  • Fix fmt from master
  • Expose contract revert errors in the ContractError struct (#2172)
  • Run rustfmt (#2176)
  • Fmt
  • Fmt
  • Make ContractCall IntoFuture implement Send (#2083)
  • Fix to round-trip serialize and deserialize optional address (#2057)
  • Use sepolia (#1989)
  • Add celo chain (#1932)
  • Handle panic on Ws error (#1915)
  • Feat middleware stack builder (#1890)

Testing

  • Simplify test cleanup (#2220)
  • Add parse pk test (#2194)
  • Disable signer integration tests temporarily

[1.0.2] - 2022-11-27

Bug Fixes

  • Format_units overflow (#1894)
  • Close example subscriptions after 2 emitted items (#1892)
  • Handle non existing Cargo.toml edge case (#1886)
  • Mock ethers mod layout (#1884)
  • Make compatible with older rust versions (#1868)
  • Generated crate not using generated version (#1852)
  • Updated logs event filtering for examples with new syntax (#1861)
  • Better retry timing (#1855)
  • Improve overloaded param diff matching (#1853)
  • Disable futures-locks tokio feature (#1854)
  • Broken regex (#1851)
  • Stop decoding gas twice for 2930 txs (#1850)
  • Failing CI (#1847)
  • Transaction type in TxpoolContent (#1844)
  • Rustdoc errors (#1808)
  • Get_logs_paginated fetches past latest block (#1818)
  • Fix Build issue (#1819)

Depedencies

  • Bump env_logger from 0.9.3 to 0.10.0 (#1891)
  • Bump cargo_metadata from 0.15.1 to 0.15.2 (#1878)
  • Bump serde-aux from 4.1.0 to 4.1.2 (#1874)
  • Bump rayon from 1.5.3 to 1.6.0 (#1875)
  • Bump bytes from 1.2.1 to 1.3.0 (#1879)
  • Bump trezor, fix clippy (#1871)
  • Bump open-fastrlp
  • Bump ethabi from 17.2.0 to 18.0.0 (#1865)
  • Bump reqwest from 0.11.12 to 0.11.13 (#1866)
  • Bump serde-aux from 4.0.0 to 4.1.0 (#1846)
  • Bump cargo_metadata from 0.15.0 to 0.15.1 (#1806)
  • Bump regex from 1.6.0 to 1.7.0 (#1841)
  • Bump env_logger from 0.9.1 to 0.9.3 (#1842)
  • Bump once_cell from 1.15.0 to 1.16.0 (#1817)
  • Bump rlp from 0.5.1 to 0.5.2 (#1805)
  • Bump base64 from 0.13.0 to 0.13.1 (#1804)
  • Bump num_cpus from 1.13.1 to 1.14.0 (#1831)

Features

  • Retry client wasm support (#1877)
  • Instantiate an event builder without a contract instance (#1882)
  • Add another rate limit retry check (#1881)
  • Warnings as errors (#1838)
  • Add TraceError enum (#1814)

Miscellaneous Tasks

  • Pin env-logger
  • Make clippy happy (#1888)
  • Add missing ParseUnit impls (#1885)
  • Make clippy happy (#1856)
  • Always use sync sources reading (#1667)
  • Rename xdai gnosis (#1809)
  • Update readme

Other

  • Get gas price in USD using a Chainlink oracle (#1872)
  • Use cwd manifest (#1869)
  • Rust already exists on the platform - update it instead (#1864)
  • I256 parse support (#1863)
  • Add op field to VMOperation to determine executed opcode (#1858)
  • I256 asr doc (#1860)
  • Add Arithmetic Shift Left operation for I256. Minor update to the ASR tests to include coverage for a shift of 0, and move to 'I256::minus_one' over 'I256::from(-1i8)' syntax (#1452)
  • Revert "fix: get_logs_paginated fetches past latest block (#1818)" (#1845)
  • Move Event into scope for rustdoc Fixes #1676 (#1787)
  • Add doc CI (#1813)
  • Minor typo (#1794)
  • #1822 (#1823)
  • Enhance signer middleware to automatically switch legacy (#1832)
  • #1836 (#1837)
  • Impl IntoFuture for ContractCall (#1826)
  • Adding chiado support (#1811)

Styling

  • Fmt / clippy
  • Clippy (#1812)
  • Examples event streams (#1839)

[1.0] - 2022-10-25

Bug Fixes

  • Emit empty node vec (#1793)
  • Handle absolute paths properly on conflict (#1784)
  • Impl default manually for mock project (#1779)
  • Remove trailing test,script markers (#1776)
  • Skip json abi formatting (#1777)
  • RawAbi and Abi (#1757)
  • Support eip712 domain chain ids as string (#1756)
  • Use empty bytecode as default instead unlinked (#1743)
  • Transaction object rlp decoding (#1740)
  • Use correct tx field const (#1735)
  • Legacy signed rlp decoding (#1733)
  • Cyclic deps (#1730)
  • Relax Middleware trait bound for getters (#1728)
  • WASM example (#1719)
  • Don't default to "latest" block ID for eth_estimateGas (#1657)
  • GethTrace shouldn't have 0x prefix for return_value (#1705)
  • Remove default include paths (#1691)
  • Geth structlog memory (#1690)
  • Geth trace types (#1682)
  • Add derives, impls for Units (#1683)
  • Legacy transaction rlp decoding (#1672)
  • Via-ir should be optional (#1664)
  • Incorrect encoding on TransactionReceipt (#1661)
  • Emit null transaction fields (#1654)
  • Only derive default of no arrays len > 32 (#1653)
  • Use correct model for metadata libraries (#1648)
  • Set chain id explicitly (#1647)
  • Dont skip null to field (#1631)
  • QuorumProvider zero-parameter json Value handling (#1613)
  • Handle provider error correctly (#1630)
  • Clarify Geth trace structs (#1626)
  • Consider case sensitive conflicting artifact paths (#1625)
  • Extend eth_syncing response type and serde (#1624)
  • Use cache context when determining artifact files (#1621)
  • Support formatting large units (#1608)
  • Sanitize absolute paths from etherscan (#1603)
  • Deserialize a Filter request with topics == null (#1604)
  • Validate address resolver (#1605)
  • Ensure base-path is not include-path (#1596)
  • Strip .sol suffix (#1583)
  • Typo on README.md (#1571)
  • Use correct str Regex (#1566)
  • Use correct moonbeam (#1552)
  • Convert source paths on windows (#1540)
  • Resolve output struct types correctly (#1546)
  • Add missing moonbase fromstr (#1531)
  • Support stringified numbers in response (#1524)
  • Use fully qualified path for Result (#1527)
  • Make compatible with edition2018 (#1522)
  • Deserialize sealfields with default (#1520)
  • Abigen feature required for bindings (#1508)
  • Make StorageLayout json parsing lossless (#1515)
  • Only run tracing example if env var is set (#1517)
  • Use correct model for txpool_content endpoint (#1501)
  • Contract names can be reserve words (#1498)
  • Improve argument parsing (#1485)
  • Parse constructor as function (#1479)
  • Handle zst params in retry provider correctly (#1481)
  • Fix unused warning (#1477)
  • Serialize metadata as raw string (#1474)
  • Use path slash for remapping display on windows (#1454)
  • Apply base path to model checker contracts (#1437)
  • Remove 0x bytecode object prefix for CompilerOutput (#1424)
  • Remove redundant index adjustment for many overloads (#1419)
  • Add missing chain id match arms (#1411)
  • Use abi signature attribute if provided (#1409)
  • Use signer chain when tx is None (#1377)
  • Net_version returns string (#1376)
  • ChainId 31337 corresponds to Anvil/Hardhat not Dev
  • Fix fields for UserDoc and DevDoc (#1355)
  • Transfered -> `Transferred* (#1357)
  • Emit empty vec for empty artifacts (#1345)
  • Invalidate cache on unresolve error (#1337)
  • Wrong unit for gas_price (ether -> gwei) (#1316)
  • Improve remappings autodetection (#1335)
  • Remove compile_exact restriction (#1329)
  • Non-snake-case modules out of order (#1331)
  • Use decimal crate for parsing units (#1330)
  • Emit empty bytecode objects for standalone sol files (#1327)
  • Improve contract metadata bindings (#1326)
  • Clippy warnings on solidity bindings (#1319)
  • Aws eip712 does not use eip155 (#1309)
  • Use wallet chainid for tx signing (#1308)
  • Correctly serialize TxPoolInspectSummary (#1305)
  • Remove viaIR for older versions (#1304)
  • Flatten random statement order (#1292)
  • Support constructor user docs (#1283)
  • Serialize eth_getStorageAt position param as quantity (#1281)
  • Follow symlinks in source files (#1277)
  • Purge obsolete cached artifacts (#1273)
  • On pending block miner field is always null (#1272)
  • Unify name of supported chains with strum (#1249)
  • Output methodIdentifiers by default (#1266)
  • All request ids start at 1 (#1265)
  • Add RuntimeOrHandle & fix solc blocking installation (#1260)
  • Make ast node ids optional (#1254)
  • Filter out empty bytecode (#1248)
  • Removed Cronos mainnet beta from is_legacy (#1246)
  • Respect auto detection in additional compile functions (#1226)
  • Flatten import aliases (#1192)
  • Make scoped reporter work in parallel (#1214)
  • Ensure std json sources are unique (#1210)
  • Pass tx with chain by ref
  • Fixed typo when determining to token address (#1208)
  • Remapping aware libraries (#1190)
  • Use correct empty output selection (#1185)
  • Add to and from into the transaction receipt to follow spec (#1184)
  • Decode from field for typed transactions (#1180)
  • When compiler-out metadata is empty and there's no internalType (#1182)
  • Only write cache file if build was successful (#1177)
  • Proper fantom api urls (#1170)
  • Fix extra spacing (#1149)
  • Support display for bytes (#1148)
  • Normalize block if block = None (#1146)
  • Compute content hashes first (#1142)
  • Encode absent tx access_list correctly (#1137)
  • Strip root path from remappings and sources for standard json (#1136)
  • Correct etherscan url address, remove double quotes in solc error (#1130)
  • Eth_feehistory reward is optional (#1127)
  • Bump up svm (#1129)
  • Fix deploy tx RLP decoding (#1124)
  • Only notify about unresolved import once (#1125)
  • Correctly check cache expiry (#1114)
  • Sanitize compilerinput based on version (#1111)
  • Extend sparse mode to linked references (#1107)
  • Broken Etherscan URL Construction (#1100)
  • Aws signer does not throw error on unnormalized sig (#1099)
  • Bump svm-rs for lockfile + checksum adjustments
  • Clippy before nightly ring regression
  • Change abiarraytype trait bounds for tuple (#1079)
  • Bundle new svm-solc feature (#1071)
  • Remove debug print (#1067)
  • Eip1559 gas price should be max_fee_per_gas (#1062)
  • Check against ethers internal crate names (#1060)
  • More sophisticated crate detection (#1056)
  • Only modify files that are required to compile the project (#1050)
  • Use lowercase when comparing paths (#1041)
  • Adjust breaking changes and detect failures in ci (#1040)
  • Don't evict cache entries with no artifacts (#1035)
  • Trim constructor args (#1024)
  • Use correct artifact api (#1019)
  • Skip artifacts check for files without artifacts (#1018)
  • Feature-gate TestProvider.ws fn
  • Bump svm-rs for mac m1 solc installs
  • Export ethers_providers::IpcError and ethers_providers::QuorumError (#1012)
  • Use svm-rs with fixed solc checksums
  • Use correct types (#1004)
  • Respect offline mode (#1002)
  • Fix cache and allowed paths bug (#998)
  • Remove unnecessary indent (#999)
  • Safe ident field names (#989)
  • Bump solang and adjust breaking change
  • Propogate gas limit with access list (#901)
  • Safe ident underscore followed by numeric (#970)
  • Support functions with different casing (#972)
  • Dont generate empty shared_types module (#965)
  • Make abigen work with ethers-solc and abiencoderv2 (#952)
  • Handle lossy ethabi generated abi structs (#950)
  • Consistent serde for linked and unlinked bytecode (#948)
  • Flatten import loc (#946)
  • Mimic hardhat import resolver when in node_modules (#928)
  • Off by one error finding version intersection (#930)
  • Add serde json to created crate
  • Do not panic when run on non-cargo projects (#918)
  • Url params naming (#911)
  • Correctly deserialize eip1186 proof responses
  • Add address field (#899)
  • Resolver and remapping auto detection bugs (#893)
  • Bump svm-rs to fix race condition on same version installs of solc
  • Support remapping autodetection edge case (#888)
  • Bump svm-rs to support arm solc
  • PendingTransaction::log() missing deref (#886)
  • Prevent chain_id from serializing for requests (#879)
  • Use nodesiter when printing tree (#878)
  • Bump ethers-solc version (#864)
  • Bump solang (#861)
  • Doc test for dev_rpc (#857)
  • Adjust Ganache for new cli output (#851)
  • Can parse secondary source locations (#849)
  • Flatten replacement target location (#846)
  • Use already instantiated tokio runtime if exists (#811)
  • Make http crate required (#836)
  • Duplicate contracts segments (#832)
  • Propagate deserialization errors upstream + infura quickfix (#827)
  • Derive serde Ser and De for log metadata (#823)
  • Flatten duplicates (#813)
  • Take installer lock before installing (#801)
  • Traverse nodes iteratively (#800)
  • Check for uint8 params in human readable types (#789)
  • Invalid cached artifacts (#783)
  • Allow cyclic imports (#766)
  • Add timeout and error detection for releases lookup (#759)
  • Contract with abi test (#757)
  • Methods is object (#734)
  • Make evm bytecode optional (#735)
  • Handle more remapping edge cases (#719)
  • Prefere dapptools style remappings (#713)
  • Use lib for parsing paths correctly in windows
  • Use lib for parsing paths correctly in windows (#712)
  • Auto-enable asm when supported (x86/x64 and not msvc) (#710)
  • Configure rustls & openssl via feature flag (#703)
  • Rollback yanked futures versions
  • Parse_units was generating an error on some values because of extra decimal places added round to prevent error (#701)
  • Contract creation on trezor (#695)
  • Avoid futures-util yanked err (#693)
  • Do not panic on invalid units conversion (#691)
  • Remove assert to check cache format (#689)
  • Fix handling empty tx parameters (#686)
  • Bump svm-rs for windows support (#685)
  • Exclude asm for msvc (#679)
  • Format_units return was truncating the decimal places if there were leading zeros (#675)
  • Skip 0x prefix for deserialize bytes decoding (#671)
  • Naming and default impl (#665)
  • Add allow paths (#667)
  • Nonce too low for different providers (#655)
  • Specify home-dep as non-wasm instead of x86-only (#645)
  • Ignore the websocket response when the request has been cancelled. (#641)
  • Make ethers-wasm workspace member (#642)
  • Check all import styles (#634)
  • Source parsing for local paths (#633)
  • Conditional http support (#632)
  • Use CARGO_MANIFEST_DIR as root for relative paths in abigen! (#631)
  • Remove changed artifacts from the cache (#630)
  • Method deduplication (#619)
  • Do not overwrite existing cache (#629)
  • Remove redundant cache read (#627)
  • Pass partial artifact cache to project compiler output (#623)
  • Enable sha2 asm for checksum speed (#626)
  • [breaking] Ambiguity unit8[] and bytes (#613)

Depedencies

  • Revert "chore: disable dev deps for release"
  • Disable dev deps for release
  • Bump futures-executor from 0.3.24 to 0.3.25 (#1795)
  • Bump futures-util from 0.3.24 to 0.3.25 (#1796)
  • Bump syn from 1.0.102 to 1.0.103 (#1799)
  • Bump getrandom from 0.2.7 to 0.2.8 (#1800)
  • Bump proc-macro2 from 1.0.46 to 1.0.47 (#1788)
  • Bump home from 0.5.3 to 0.5.4 (#1781)
  • Bump tracing-subscriber from 0.3.15 to 0.3.16 (#1765)
  • Bump dunce from 1.0.2 to 1.0.3 (#1767)
  • Bump ansi-regex in /examples/ethers-wasm (#1771)
  • Bump tracing from 0.1.36 to 0.1.37 (#1766)
  • Bump syn from 1.0.101 to 1.0.102 (#1764)
  • Bump serde-wasm-bindgen from 0.4.3 to 0.4.5 (#1761)
  • Bump proc-macro2 from 1.0.44 to 1.0.46 (#1753)
  • Bump k256 from 0.11.5 to 0.11.6 (#1749)
  • Bump thiserror from 1.0.36 to 1.0.37 (#1748)
  • Bump syn from 1.0.100 to 1.0.101 (#1745)
  • Bump thiserror from 1.0.35 to 1.0.36 (#1739)
  • Bump proc-macro2 from 1.0.43 to 1.0.44 (#1738)
  • Bump md-5 from 0.10.4 to 0.10.5 (#1726)
  • Bump reqwest from 0.11.11 to 0.11.12 (#1724)
  • Bump once_cell from 1.14.0 to 1.15.0 (#1725)
  • Bump env_logger from 0.9.0 to 0.9.1 (#1718)
  • Bump syn from 1.0.99 to 1.0.100 (#1717)
  • Bump solang-parser from 0.1.17 to 0.1.18 (#1716)
  • Bump svm-rs 0.2.18 (#1715)
  • Trim eip712 deps (#1714)
  • Bump semver from 1.0.13 to 1.0.14 (#1708)
  • Bump unicode-xid from 0.2.3 to 0.2.4 (#1707)
  • Bump k256 from 0.11.4 to 0.11.5 (#1701)
  • Bump sha2 from 0.10.5 to 0.10.6 (#1709)
  • Bump wasm-bindgen-test from 0.3.32 to 0.3.33 (#1700)
  • Bump wasm-bindgen-futures from 0.4.32 to 0.4.33 (#1693)
  • Bump web-sys from 0.3.59 to 0.3.60 (#1694)
  • Bump thiserror from 1.0.34 to 1.0.35 (#1697)
  • Bump max solc 0.8.17 (#1679)
  • Bump url from 2.3.0 to 2.3.1 (#1680)
  • Bump convert_case from 0.5.0 to 0.6.0 (#1681)
  • Bump url from 2.2.2 to 2.3.0 (#1678)
  • Bump serde-aux from 3.1.0 to 4.0.0 (#1673)
  • Bump thiserror from 1.0.33 to 1.0.34 (#1668)
  • Bump once_cell from 1.13.1 to 1.14.0 (#1669)
  • Bump md-5 from 0.10.2 to 0.10.4 (#1670)
  • Bump sha2 from 0.10.3 to 0.10.5 (#1671)
  • Bump pretty_assertions from 1.2.1 to 1.3.0 (#1652)
  • Bump sha2 from 0.10.2 to 0.10.3 (#1651)
  • Bump thiserror from 1.0.32 to 1.0.33 (#1650)
  • Bump md-5 from 0.10.1 to 0.10.2 (#1649)
  • Bump futures-executor from 0.3.23 to 0.3.24 (#1646)
  • Bump eth-keystore from 0.4.2 to 0.5.0 (#1645)
  • Bump futures-util from 0.3.23 to 0.3.24 (#1644)
  • Bump eth-keystore (#1643)
  • Bump once_cell from 1.13.0 to 1.13.1 (#1606)
  • Bump ethabi (#1601)
  • Bump k256 from 0.11.3 to 0.11.4 (#1599)
  • Bump futures-util from 0.3.21 to 0.3.23 (#1598)
  • Bump futures-executor from 0.3.21 to 0.3.23 (#1597)
  • Bump serial_test from 0.8.0 to 0.9.0 (#1587)
  • Bump rust_decimal from 1.26.0 to 1.26.1 (#1574)
  • Bump path-slash from 0.2.0 to 0.2.1 (#1575)
  • Bump chrono from 0.4.19 to 0.4.20 (#1568)
  • Bump rust_decimal from 1.25.0 to 1.26.0 (#1569)
  • Bump proc-macro2 from 1.0.42 to 1.0.43 (#1560)
  • Bump semver from 1.0.12 to 1.0.13 (#1561)
  • Bump syn from 1.0.98 to 1.0.99 (#1562)
  • Bump thiserror from 1.0.31 to 1.0.32 (#1563)
  • Bump elliptic-curve from 0.12.2 to 0.12.3 (#1555)
  • Bump yubihsm from 0.41.0-pre to 0.41.0 (#1556)
  • Bump generic-array from 0.14.5 to 0.14.6 (#1557)
  • Bump bytes from 1.2.0 to 1.2.1 (#1542)
  • Bump tracing from 0.1.35 to 0.1.36 (#1543)
  • Bump eth-keystore from 0.4.1 to 0.4.2 (#1544)
  • Add back dev-deps (#1532)
  • Disable dev deps
  • Bump wasm-bindgen-test from 0.3.31 to 0.3.32 (#1518)
  • Bump svm-builds (#1521)
  • Bump fastrlp from 0.1.2 to 0.1.3 (#1505)
  • Bump proc-macro2 from 1.0.40 to 1.0.42 (#1513)
  • Bump wasm-bindgen-futures from 0.4.31 to 0.4.32 (#1512)
  • Bump web-sys from 0.3.58 to 0.3.59 (#1511)
  • Bump tracing-subscriber from 0.3.14 to 0.3.15 (#1504)
  • Bump tracing-subscriber from 0.3.11 to 0.3.14 (#1448)
  • Bump terser from 4.8.0 to 4.8.1 in /examples/ethers-wasm (#1489)
  • Bump bytes from 1.1.0 to 1.2.0 (#1488)
  • Bump tokio-tungstenite from 0.17.1 to 0.17.2 (#1478)
  • Bump svm-rs-builds (#1476)
  • Bump criterion from 0.3.5 to 0.3.6 (#1466)
  • Bump crypto deps (#1465)
  • Bump paths-slash (#1462)
  • Bump pin-project to silence new clippy lints (#1464)
  • Bump regex from 1.5.6 to 1.6.0 (#1461)
  • Bump once_cell from 1.12.0 to 1.13.0 (#1453)
  • Solang 0.1.16 (#1446)
  • Implement fastrlp traits for Bytes (#1443)
  • Bump coins-ledger to 0.6.1 (#1442)
  • Bump semver from 1.0.11 to 1.0.12 (#1441)
  • Bump eventsource in /examples/ethers-wasm (#1334)
  • Bump serde-aux from 3.0.1 to 3.1.0 (#1432)
  • Bump semver from 1.0.10 to 1.0.11 (#1431)
  • Bump path-slash from 0.1.4 to 0.1.5 (#1430)
  • Bump cargo_metadata from 0.14.2 to 0.15.0 (#1410)
  • Bump serial_test from 0.7.0 to 0.8.0 (#1418)
  • Bump trezor client 0.0.6 (#1401)
  • Bump wasm-bindgen-test from 0.3.30 to 0.3.31 (#1391)
  • Bump syn from 1.0.96 to 1.0.98 (#1392)
  • Bump proc-macro2 from 1.0.39 to 1.0.40 (#1393)
  • Bump serial_test from 0.6.0 to 0.7.0 (#1349)
  • Bump wasm-bindgen-futures from 0.4.30 to 0.4.31 (#1378)
  • Bump web-sys from 0.3.57 to 0.3.58 (#1379)
  • Bump wasm-bindgen from 0.2.80 to 0.2.81 (#1380)
  • Bump ethabi version (#1381)
  • Revert "release: disable dev deps"
  • Disable dev deps
  • Bump reqwest from 0.11.10 to 0.11.11 (#1374)
  • Bump getrandom from 0.2.6 to 0.2.7 (#1373)
  • Bump strum from 0.24.0 to 0.24.1 (#1370)
  • Bump rust_decimal from 1.24.0 to 1.25.0 (#1375)
  • Bump semver from 1.0.9 to 1.0.10 (#1366)
  • Bump solang_parser 0.1.14 (#1369)
  • Bump tracing from 0.1.34 to 0.1.35 (#1364)
  • Bump http from 0.2.7 to 0.2.8 (#1352)
  • Bump crossbeam-utils from 0.8.6 to 0.8.8 (#1351)
  • Make ethers-solc dev dep (#1358)
  • Bump syn from 1.0.95 to 1.0.96 (#1342)
  • Bump auto_impl from 0.5.0 to 1.0.1 (#1341)
  • Bump serde_derive from 1.0.136 to 1.0.137 (#1333)
  • Make tokio required dependency (#1322)
  • Bump once_cell from 1.11.0 to 1.12.0 (#1306)
  • Bump regex from 1.5.5 to 1.5.6 (#1300)
  • Bump once_cell from 1.10.0 to 1.11.0 (#1288)
  • Bump syn from 1.0.94 to 1.0.95 (#1280)
  • Bump latest solc release (#1282)
  • Bump proc-macro2 from 1.0.38 to 1.0.39 (#1275)
  • Bump rayon from 1.5.2 to 1.5.3 (#1269)
  • Bump tokio-util from 0.7.1 to 0.7.2 (#1270)
  • Bump syn from 1.0.93 to 1.0.94 (#1271)
  • Bump syn from 1.0.92 to 1.0.93 (#1244)
  • Bump unicode-xid from 0.2.2 to 0.2.3 (#1243)
  • Bump proc-macro2 from 1.0.37 to 1.0.38 (#1237)
  • Bump spki from 0.5.4 to 0.6.0 (#1238)
  • Bump semver from 1.0.7 to 1.0.9 (#1211)
  • Bump rusoto-kms/core
  • Bump async from 2.6.3 to 2.6.4 in /examples/ethers-wasm (#1196)
  • Bump thiserror from 1.0.30 to 1.0.31 (#1206)
  • Bump syn from 1.0.91 to 1.0.92 (#1194)
  • Bump http from 0.2.6 to 0.2.7 (#1195)
  • Bump rayon from 1.5.1 to 1.5.2 (#1145)
  • Bump tracing from 0.1.33 to 0.1.34 (#1147)
  • Bump solang-parser from 0.1.11 to 0.1.12 (#1152)
  • Bump wasm-bindgen-test from 0.3.29 to 0.3.30 (#1133)
  • Bump tracing from 0.1.32 to 0.1.33 (#1132)
  • Bump tracing-subscriber from 0.3.10 to 0.3.11 (#1131)
  • Bump web-sys from 0.3.56 to 0.3.57 (#1122)
  • Bump wasm-bindgen from 0.2.79 to 0.2.80 (#1121)
  • Bump wasm-bindgen-futures from 0.4.29 to 0.4.30 (#1120)
  • Bump svm-rs for updated timeout
  • Bump proc-macro2 from 1.0.36 to 1.0.37 (#1117)
  • Bump syn from 1.0.90 to 1.0.91 (#1113)
  • Bump eyre from 0.6.7 to 0.6.8 (#1110)
  • Bump pretty_assertions from 1.2.0 to 1.2.1 (#1105)
  • Bump tracing-subscriber from 0.3.9 to 0.3.10 (#1106)
  • Bump solang-parser 0.1.11 (#1103)
  • Bump getrandom from 0.2.5 to 0.2.6 (#1090)
  • Bump syn from 1.0.89 to 1.0.90 (#1091)
  • Bump tokio-util from 0.7.0 to 0.7.1 (#1089)
  • Bump semver from 1.0.6 to 1.0.7 (#1085)
  • Bump minimist from 1.2.5 to 1.2.6 in /examples/ethers-wasm (#1083)
  • Add some deny lints (#1064)
  • Bump quote from 1.0.15 to 1.0.16 (#1061)
  • Bump k256 from 0.10.3 to 0.10.4 (#1037)
  • Bump syn from 1.0.88 to 1.0.89 (#1046)
  • Bump reqwest from 0.11.9 to 0.11.10 (#1031)
  • Bump k256 from 0.10.2 to 0.10.3 (#1032)
  • Bump syn from 1.0.86 to 1.0.88 (#1033)
  • Bump svm-rs and use returned install path (#1034)
  • Bump pretty_assertions from 1.1.0 to 1.2.0 (#1022)
  • Bump svm-rs
  • Bump tracing from 0.1.31 to 0.1.32 (#1001)
  • Bump svm-rs for macos aarch releases
  • Bump regex from 1.5.4 to 1.5.5 (#997)
  • Bump solang (#992)
  • Bump once_cell from 1.9.0 to 1.10.0 (#987)
  • Bump ethabi to 17.0
  • Bump ethabi and trezor signing
  • Bump tokio-tungstenite from 0.16.1 to 0.17.1 (#945)
  • Bump eyre from 0.6.6 to 0.6.7 (#973)
  • Bump url-parse in /examples/ethers-wasm (#974)
  • Bump getrandom from 0.2.4 to 0.2.5 (#955)
  • Bump semver from 1.0.5 to 1.0.6 (#944)
  • Bump serial_test from 0.5.1 to 0.6.0 (#938)
  • Bump url-parse from 1.5.3 to 1.5.7 in /examples/ethers-wasm (#932)
  • Bump md-5 from 0.10.0 to 0.10.1 (#922)
  • Bump tracing from 0.1.30 to 0.1.31 (#923)
  • Bump ethabi from 321a651 to e161e68 (#925)
  • Bump tracing-subscriber from 0.3.8 to 0.3.9 (#924)
  • Bump cargo_metadata from 0.14.1 to 0.14.2 (#920)
  • Bump eth-keystore from 0.4.0 to 0.4.1 (#913)
  • Bump rand from 0.8.4 to 0.8.5 (#914)
  • Bump follow-redirects in /examples/ethers-wasm (#912)
  • Chore/update eth keystore (#910)
  • Bump solang-parser from f850719 to b286b63 (#896)
  • Bump tokio-util from 0.6.9 to 0.7.0 (#895)
  • Bump ethabi from 6f18e11 to 321a651 (#891)
  • Bump solang-parser from f3e8f6f to f850719 (#881)
  • Bump futures-util from 0.3.19 to 0.3.21 (#872)
  • Bump futures-executor from 0.3.19 to 0.3.21 (#873)
  • Bump semver from 1.0.4 to 1.0.5 (#874)
  • Bump tracing-subscriber from 0.3.7 to 0.3.8 (#875)
  • Rewrite compiler passes and cache change detection (#802)
  • Bump tracing from 0.1.29 to 0.1.30 (#862)
  • Bump ethabi from c622438 to 6f18e11 (#853)
  • Bump pretty_assertions from 1.0.0 to 1.1.0 (#854)
  • Bump svm-rs
  • Bump elliptic-curve from 0.11.10 to 0.11.12 (#845)
  • Bump deps
  • Bump elliptic-curve from 0.11.9 to 0.11.10 (#837)
  • Bump tracing-subscriber from 0.3.6 to 0.3.7 (#830)
  • Bump quote from 1.0.14 to 1.0.15 (#826)
  • Bump wasm-bindgen-test from 0.3.28 to 0.3.29 (#815)
  • Bump syn from 1.0.85 to 1.0.86 (#816)
  • Bump web-sys from 0.3.55 to 0.3.56 (#817)
  • Bump wasm-bindgen from 0.2.78 to 0.2.79 (#818)
  • Bump wasm-bindgen-futures from 0.4.28 to 0.4.29 (#819)
  • Bump ethabi from 5781964 to c622438 (#812)
  • Bump k256 from 0.10.1 to 0.10.2 (#804)
  • Bump elliptic-curve from 0.11.7 to 0.11.9 (#803)
  • Bump elliptic-curve from 0.11.6 to 0.11.7 (#793)
  • Bump tracing-subscriber from 0.3.5 to 0.3.6 (#794)
  • Bump follow-redirects in /examples/ethers-wasm (#795)
  • Bump solang (#796)
  • Bump getrandom from 0.2.3 to 0.2.4 (#790)
  • Bump ethabi master (#787)
  • Bump tempfile from 3.2.0 to 3.3.0 (#780)
  • Bump reqwest from 0.11.8 to 0.11.9 (#785)
  • Bump ecdsa from 0.13.3 to 0.13.4 (#767)
  • Bump syn from 1.0.84 to 1.0.85 (#764)
  • Bump k256 from 0.10.0 to 0.10.1 (#762)
  • Bump spki from 0.5.3 to 0.5.4 (#763)
  • Bump generic-array from 0.14.4 to 0.14.5 (#758)
  • Bump tracing-subscriber from 0.3.4 to 0.3.5 (#752)
  • Bump quote from 1.0.10 to 1.0.14 (#746)
  • Bump proc-macro2 from 1.0.35 to 1.0.36 (#744)
  • Bump convert_case from 0.4.0 to 0.5.0 (#741)
  • Bump proc-macro2 from 1.0.34 to 1.0.35 (#743)
  • Bump syn from 1.0.83 to 1.0.84 (#742)
  • Bump tracing-subscriber from 0.3.3 to 0.3.4 (#730)
  • Bump syn from 1.0.82 to 1.0.83 (#726)
  • Bump num_cpus from 1.13.0 to 1.13.1 (#722)
  • Bump futures-util from 0.3.17 to 0.3.19 (#717)
  • Bump futures-executor from 0.3.17 to 0.3.19 (#718)
  • Bump latest solc version (#720)
  • Bump solc everywhere (#672)
  • Bump solc 0.8.10 (#670)
  • Bump md-5 from 0.9.1 to 0.10.0 (#660)
  • Bump elliptic-curve from 0.11.1 to 0.11.5 (#653)
  • Bump proc-macro2 from 1.0.32 to 1.0.33 (#654)
  • Bump reqwest from 0.11.6 to 0.11.7 (#636)
  • Bump tracing-subscriber from 0.3.2 to 0.3.3 (#635)
  • Bump syn from 1.0.81 to 1.0.82 (#620)
  • Bump futures-executor from 0.3.17 to 0.3.18 (#615)

Documentation

  • Fix typo annonated to annotated (#1790)
  • Add MSRV (#1712)
  • Add comment about safety of u8 -> u64 cast in signature (#1704)
  • Some additional retry docs (#1537)
  • Fix broken doc links (#1497)
  • Improve EventStream docs (#1450)
  • Complete unfinished sentence in block comment
  • Improve abigen type docs (#953)
  • More docs and tracing (#651)

Features

  • Re-export H128 (#1786)
  • Added more ethereum units (#1760)
  • Parse SourceCode field (#1747)
  • Add versioned artifacts helper (#1752)
  • Add arbitrum-goerli (#1734)
  • Add utility methods to NameOrAddress (#1720)
  • Double anvil startup time (#1702)
  • Detect requested backoff (#1711)
  • Retry infura's header not found (#1706)
  • Add blocked by cloudflare error (#1703)
  • Subsitute structs in event bindings (#1674)
  • Add extra Multicall helper methods (#1666)
  • Improved debug format for Bytes (#1658)
  • Add support for Optimism Goerli (#1641)
  • Update Multicall to Multicall3 (#1584)
  • Add uint8 type (#1639)
  • More derives for geth trace structs (#1637)
  • Descriptive deserialization errors (#1633)
  • Support retrying connection errors (#1629)
  • Add events function to set multiple event filter (#1607)
  • Add invalid api key error type (#1600)
  • Resolve absolute imports in libraries (#1590)
  • Add missing helper functions (#1592)
  • Added PartialEq to TraceType (#1586)
  • Added Deserialize to TraceType (#1585)
  • Add etherscan urls function (#1582)
  • Add helper to checkout temp projects (#1581)
  • Add contract filter (#1564)
  • Add ProviderExt trait (#1559)
  • Add missing str abi trait impls (#1554)
  • Expose url for http (#1550)
  • Add set_interval helper function (#1551)
  • Add lib inclusion function (#1547)
  • Add EthError trait and derive (#1549)
  • Add support for EIP-712 typed data (#1510)
  • Erc1155 token transfer events endpoint (#1503)
  • Bump abi/token tuple limit (#1506)
  • Initial commit (#1469)
  • Handle conflicting artifacts properly (#1491)
  • Allow event builder to stream with meta (#1483)
  • Add Sepolia endpoint (#1467)
  • Add --fork-block-number setter for anvil bindings (#1468)
  • Configurable build-info output dir (#1433)
  • Impl Ord for receipt (#1434)
  • Add remove_contract utility function (#1436)
  • Add more contract iter helper functions (#1438)
  • Include opcodes in output (#1435)
  • Capture unknown fields (#1423)
  • Add human readable function parser (#1416)
  • More sensible backoff calc (#1413)
  • Add Contract Info structs (#1407)
  • Feat!(solc): add additional remove functions (#1406)
  • Add evmos support (#1398)
  • Add eth filter deserialization and matching (#1389)
  • Emit build info files if configured (#1338)
  • Emit additional raw metadata field (#1365)
  • Add option to create ws provider with auth (#1363)
  • Add script/ to project paths (#1359)
  • Add anvil hardhat chain id (#1356)
  • Source map getters for deployed bytecode (#1348)
  • Add display impl for BlockNumber (#1346)
  • Additional chain apis (#1343)
  • Add RetryClient (#1302)
  • Adds cargo audit workflow (#1318)
  • Use relative paths and --base-path option (#1317)
  • Impl AbiEncode, AbiDecode for I256 (#1311)
  • Add as_*_mut methods on TypedTransaction (#1310)
  • Make cache entries relative to root dir (#1307)
  • Add paginated logs (#1285)
  • Opt out of checking cargo.toml for consistency (#1301)
  • Install solc io reporter in basic reporter (#1295)
  • Emit artifacts for standalone source files (#1296)
  • Add tx builder methods (#1289)
  • Include id in artifact (#1284)
  • Add helpers to unwrap TypedTransaction (#1278)
  • Added Cronos testnet (#1276)
  • Load previous logs before subscribing (#1264)
  • Add eip-1898 deserialize for BlockId (#1257)
  • Add strip and join functions to sources and contracts (#1252)
  • Add source map access functions (#1253)
  • Remaining AST nodes (#1201)
  • Add human readable tokenizer and parser (#1234)
  • Lookup solc build metadata (#1242)
  • Support overloaded events (#1233)
  • Store source files with their solc version (#1231)
  • Add moonbeam urls (#1232)
  • Add missing options for configurable artifact (#1223)
  • Pending transaction retries repeatedly before assuming dropped (#1221)
  • Support logging multiple files via io logger (#1216)
  • Add ClientBuilder type (#1193)
  • Add block conversion helpers (#1186)
  • Relax Clone requirements when Arc<M> is used (#1183)
  • Blocknative gas oracle (#1175)
  • Add minimal ast bindings (#1167)
  • Function debug data in extra output (#1165)
  • Abi as an extra file (#1166)
  • Add standardjson compiler input type (#1169)
  • Make stream mod public (#1160)
  • Add debug info bindings (#1161)
  • Add anvil bindings (#1164)
  • Accept different middlewares for contract connect (#1159)
  • Impl rlp encodable for log and receipt (#1153)
  • Add RwClient (#1016)
  • Add deserialize support for ValueorArray (#1138)
  • Implemented signed transaction RLP decoding (#1096)
  • Add standard-json-input (#1126)
  • Strip experimental pragma from all imported contracts (#1116)
  • Add caching (#1108)
  • Add bytecode hash variants (#1104)
  • Pass compile time to reporter (#1098)
  • Include project paths in cache (#1097)
  • Add dev as a chain (#1093)
  • Add ArtifactId::identifier() (#1087)
  • Add TryFrom String reference for http provider (#1084)
  • Include source file ast in artifact (#1081)
  • Ability to get artifacts + sources (#1080)
  • Add helper for calculating max cost of tx (#1070)
  • Use svm-builds instead of fetching http releases list (#1063)
  • Add abi object deserializer and generate deploy function (#1030)
  • Add hex encode and decode functions (#1059)
  • More artifact trait functions (#1057)
  • Support for solc io json output (#1043)
  • Add viaIR option (#1049)
  • Add gas_target and next_block_base_fee fns a… (#1047)
  • Support customized output selection pruning (#1039)
  • Optimize output selection in cache mode (#1029)
  • Add mock project generator (#1011)
  • Add solc install error report (#1027)
  • Set from on tx before calling eth_call, eth_createAccessList, eth_estimateGas (#1021)
  • Rotate infura keys for ws
  • Rotating infura keys (#1017)
  • Yul compilation (#994)
  • Remapping helper functions (#1003)
  • Add scoped reporter (#1000)
  • Source tree support (#990)
  • Impl FromStr (#991)
  • Add contract interface helpers (#982)
  • Add helper for getting number of abigen'd contracts
  • Implement Default trait (#976)
  • Expose pending tx_hash with a getter (#968)
  • Account endpoints (#939)
  • Support shared type during multiabigen (#959)
  • Add contract code not verified check (#962)
  • Add helper functions to compile standalone files (#931)
  • Add tree printer implementation (#933)
  • Add Cronos and Cronos testnet (#926)
  • Add configurable Artifact type (#907)
  • Add getter to ProjectCompileOutput (#908)
  • Report on unresolved imports (#905)
  • Use svm blocking feature (#904)
  • Make to_string and from_str inverse functions (#903)
  • More options for output selection (#898)
  • Better metadata support (#894)
  • Add Reporter type (#883)
  • Log methods for PendingTransaction (#884)
  • Implement Artifact for serde_json (#885)
  • Add send_with_receipt to Deployer (#865)
  • Add arbitrum support (#869)
  • Add optimizer details (#868)
  • Compiler pipeline improvements (#866)
  • Impl codec for Bytes (#856)
  • Add BSC networks to the is_legacy helper (#843)
  • Is_legacy helper (#835)
  • Add BSC and BSC testnet (#831)
  • Flatten (#774)
  • Relative remappings (#786)
  • Enum values + TryFrom (#782)
  • Expose svm_compile
  • Change abi_str to abi from contract in for hardhat abi (#740)
  • Add more contract utility types and functions (#765)
  • Add source map parser (#658)
  • Add dependency graph implementation (#750)
  • Add path auto detection (#761)
  • Add FromStr impl for Chain (#756)
  • Cache session on filesystem (#747)
  • Search json recursively (#733)
  • Add EventStream::select to combine multiple event streams (#725)
  • Add MultiAbigen to generate multiple contract bindings (#724)
  • Add provided derives for call and event enums (#721)
  • Add EthAbiCodec proc macro (#704)
  • Revamped remapping auto detect (#706)
  • New ethabi for error types (#700)
  • Set nonce in fill transaction (#687)
  • Trezor support (#663)
  • Add workspace utils (#678)
  • Add hardhat artifact support (#677)
  • Extend Artifact trait (#673)
  • Use structs for outputs (#664)
  • Add support for library linking (#656)
  • Add support for compiling solc in parallel (#652)
  • Support overloaded functions with different casing (#650)
  • Add clean up function (#649)
  • Improve solc detection and reduce install effort (#648)
  • Use AbiType when parsing Function abi signature fails at compile time (#647)
  • Impl Default for eip2718::TypedTransaction (#646)
  • Add moonbeam support (#644)
  • Implement gas endpoints and use in oracle middleware (#621)
  • Implement hex display for Bytes (#624)
  • Verify checksum before project compilation (#614)

Miscellaneous Tasks

  • Reexport BigEndianHash (#1789)
  • Disable remove_liq example
  • Fix clippy
  • Make clippy happy (#1778)
  • Create artifacts folder on output (#1772)
  • Replace rinkeby with goerli (#1768)
  • Rm unwrap (#1744)
  • Format polygon-mumbai as mumbai (#1737)
  • Support fuji alias (#1723)
  • Add another artifacts helper type (#1722)
  • Add cloudflare test case (#1721)
  • Log response data on error (#1698)
  • Inherit stderr (#1689)
  • Make clippy happy (#1688)
  • Remove unused import
  • Add abigen to default features (#1684)
  • Export abi related types (#1677)
  • Replace colorized with yansi (#1662)
  • Make clippy happy (#1659)
  • Match standalone mumbai for chain (#1656)
  • Update svm (#1627)
  • Add some traces (#1622)
  • Improve file not found error (#1611)
  • Make proof response fields pub (#1612)
  • Improve io error for bad symlinks (#1594)
  • Make clippy happy (#1595)
  • Add set cache helper (#1589)
  • Update svm and svm-builds (#1588)
  • Update svm crates (#1579)
  • Skip none trace error (#1577)
  • Update max solc version 0.8.16 (#1578)
  • Add aurora etherscan endpoints (#1572)
  • Improve remapping errors (#1570)
  • Reexport filter (#1565)
  • Make clippy happy (#1525)
  • Add Anvil::at and anvil example (#1486)
  • Make clippy happy (#1475)
  • Make ethers-solc optional (#1463)
  • Export quorum's JsonRpcClientWrapper (#1439)
  • Add gas_mut function (#1427)
  • Convenience impls for Bytes (#1421)
  • Update svm-rs (#1415)
  • Make ethers-etherscan compile for wasm32 (#1403)
  • Silence wasm warnings (#1404)
  • Add moonbase chain id (#1397)
  • Improve checksum error message (#1394)
  • Update svm-rs and svm-rs-builds (#1395)
  • Update svm-rs and svm-rs-builds (#1387)
  • Add traces to retry provider (#1382)
  • Add blocknumber convenience impls (#1368)
  • Reexport ethabi module (#1362)
  • Remove redundant call (#1320)
  • Fix wasm warnings (#1312)
  • Log error on ws unexpected close
  • Fix newest nightly lints (#1298)
  • Make clippy happy (#1230)
  • Update moonbeam url (#1228)
  • Update VerifyArgs (#1212)
  • Fix typo in provider readme
  • Remove async feature requirement (#1181)
  • Include error code in diagnostic (#1171)
  • Derive default for log (#1168)
  • Silence unused warnings (#1162)
  • Update svm (#1150)
  • Add as number helper function (#1139)
  • Make ipfs the default bytecodehash again (#1128)
  • Expose some helpers (#1118)
  • Add examples with required features (#1109)
  • Add some solc checksum traces (#1088)
  • Add .sol extension when missing (#1077)
  • Update svm (#1074)
  • Update svm-rs and svm-rs-builds (#1069)
  • Return error for unverified contracts (#1065)
  • Decrease tx count in nonce manager test (#1053)
  • Do not pin eyre patch version
  • Improve error message when bindings out of sync (#1025)
  • Provide remappings on unresolved import message (#1026)
  • Go back to upstream svm
  • Make on_solc_success a no-op to avoid duplicate logs
  • Add rate limit message (#971)
  • Cargo --fix (#921)
  • Fix all warnings (#890)
  • Rm no longer valid todo (#870)
  • Lints
  • Add info messages to solc install/compile (#838)
  • Remove broken celo test
  • Also rm cache dir if empty (#822)
  • Add more convenience functions (#810)
  • Add ord derive (#807)
  • Update ethabi
  • Silence unused ws macro (#788)
  • Fix lints / solc test
  • Use new acc for rinkeby integration tests
  • More verbose traces (#738)
  • Remove old webpki dep from reqwest
  • Disable auto-enabling of asm
  • Add display impl for PathsConfig (#708)
  • Use new remapping detection (#707)
  • Make clippy happy (#705)
  • Remove unused patch
  • Allow unused http_get (#674)
  • Makes etherscan::Result pub(crate) (#638)
  • Update changelog

Other

  • Add safe and finalized tag to BlockNumber (#1792)
  • Add option to disable CBOR metadata in bytecode. (#1782)
  • Disable remove_liq and revert to always use rinkeby
  • Fix Transaction decoding (#1773)
  • Re-enable remove_liq example and replace key w goerli key
  • Drop anvil stdout (#1759)
  • Return Arc<M> instead of &M (#1731)
  • Omit (#1686)
  • Serialize viaIR setting (#1655)
  • Explicitly handle all chains on match (#1635)
  • Derive debug, clone and copy (#1634)
  • Fix 'get_transactions' response. (#1632)
  • More gas oracles (#1251)
  • Don't auto-generate an AccessList when sending/filling a tx (#1619)
  • Export LogQueryError (#1615)
  • Fix bug in basic lib and basic contract generation (#1580)
  • Derive Clone on Wallet (#1573)
  • Take provider interval on PendingTransaction (#1558)
  • Solang parser 0.1.17 (#1548)
  • Rm pinned nightly (#1541)
  • Add a simple constructor for Wallet (#1530)
  • MBlockerge branch 'master' of github.com:gakonst/ethers-rs
  • Add immutableReferences output selector (#1523)
  • Update README to document common feature flags for providers (websock… (#1493)
  • Set URL to binaries.soliditylang.org (#1490)
  • For fix test code, Added morden to chainid as a Mock-like value. (#1472)
  • Fix build info default directory (#1458)
  • Impl fastrlp traits for AccessList (#1456)
  • Generate structs for the return data of abigen-erated contracts (#1440)
  • Impl fastrlp traits for Signature (#1444)
  • TypedTransaction methods into builder style (#1414)
  • Use H64 for Block Nonce (#1396)
  • Add call builder and eth_call state overrides (#1340)
  • Make abigen-ed modules pub (#1332)
  • get_paginated_logs fixes and refactoring (#1328)
  • Add Arithmetic Shift Right operation for I256 (#1324)
  • Remove liquidity example (#1290)
  • Return instead of ignore error (#1287)
  • Relax thiserror minor version constraint (#1294)
  • Update & lock solang (#1256)
  • Add Block::time (#1250)
  • Impl TryFrom for Chain (#1247)
  • Robust gas oracles (#1222)
  • Make Ganache Startup Timeout Configurable. (#1224)
  • Update document to enable ws & rustls / openssl if user wants to use websockets (#1197)
  • Adds From trait to ValueOrArray (#1200)
  • Ledger should have correct signature v value for chains with large chain ID (#1204)
  • Use EIP155 for all signers with empty transaction chain_id (#1198)
  • Update event.rs (#1173)
  • Adjust flatten format (#1172)
  • Cleanup of links and requirements in README (#1163)
  • Pub deployer can modify defaults (#1156)
  • Tx optional from (#1075)
  • Show how to retrieve block metadata (#1058)
  • Temporarily disable examples
  • Utterly nitpicking but i was annoyed (#1038)
  • Fix websocket connection request (#1005)
  • Enforce commutativity of reverse resolution (#996)
  • Handle case where the data from the resolver is empty (#963)
  • Add missing chains into parse method (#941)
  • Artifact ids (#882)
  • Add Ftm multicall addresses (#927)
  • Change visibility of the function request in Provider to public so one can implement Middleware's with custom call to the node (#919)
  • Remove limit on Filter (#917)
  • Expose New call_raw API that permits MultiCalls without Detokenization (#915)
  • Hide Infura API key from docs (#863)
  • Add dese default_for_null (#860)
  • Flatten before verification (#828)
  • Replace anyhow with eyre in examples (#859)
  • Add eth_syncing RPC (#848)
  • Write outputs to file, if selected (#847)
  • Implement RLP decoding for transactions (#805)
  • Fix overflow and panic in priority fee estimation (#839)
  • Write CompactContractBytecode instead of CompactContract (#833)
  • Add authorization for http and websocket (#829)
  • Revert "Remove entire cache folder, not just contents (#820)" (#821)
  • Revert "Remove entire cache folder, not just contents (#820)"
  • Remove entire cache folder, not just contents (#820)
  • Fantom chain (#806)
  • Add abigen uniswapv2 example (#798)
  • Implement trace_callMany (#792)
  • Uniswap weth addrbook (#779)
  • Implement is_empty for AllowedLibPaths (#777)
  • Ignore SPDX and contract size for tests (#775)
  • Add ProjectCompileOutput::has_compiler_warnings (#773)
  • Check for warnings after compilation (#772)
  • Remove unofficial testnet dai (#771)
  • Add WETH to address book (#770)
  • Ethers-addressbook crate (#769)
  • Update README links (#754)
  • [draft] Add Optimism & OptimismKovan chains (#737)
  • Reexport multiabigen (#731)
  • Add fn settings on CompilerInput (#729)
  • Mark TransactionFut as Send (#723)
  • Add deploy_tokens to ContractFactory (#699)
  • Test on windows targets (#682)
  • Serialize block count as quantity 2 (#669)
  • Add support for polygonscan and snowtrace for abigen (#666)
  • Serialize eth_feeHistory block count as QUANTITY (#668)
  • Add buffer for file reading (#662)
  • Add dev-rpc middleware (#640)
  • Add tracing (#628)
  • Fix parse units (#597)

Performance

  • Read artifacts in parallel (#1665)
  • Get response as bytes (#1536)
  • Add iterator function for finding sol files (#1480)
  • Replace wake_by_ref with loop (#1428)
  • Only fallback to old feeHistory request on error (#1399)
  • Short circuit remapping detection on recursive symlink (#1225)

Refactor

  • Improve error message for unresolved imports (#1545)
  • Use expanded EthEvent impl (#1499)
  • Unify find/remove api (#1449)
  • Replace ethabi::Reader (#1417)
  • Refactors ipc transport internals (#1174)
  • Replace anyhow with eyre (#858)
  • MultiAbigen rework (#852)
  • More temp project features (#778)
  • Remappings detection rewrite (#732)
  • Move fill_transaction impl to provider rather than default (#697)
  • Move FeeHistory to core types (#688)
  • Add new io error with path info (#680)

Styling

  • All (#1751)
  • Fmt
  • Seal extension traits (#1553)
  • Fmt (#1539)
  • Add support to Aurora network (#1535)
  • Update broken test and use it module for ethers-contract (#1502)
  • Fmt
  • Fmt
  • Add basic solc model checker options (#1258)
  • Ensure a consistent chain ID between a signer and provider in SignerMiddleware (#1095)
  • Fix IPC handling of jsonrpc errors (#1123)
  • Fmt
  • Split artifacts mod and create contract and bytecode mods (#1052)
  • Create decode_tx_input.rs (#1054)
  • Add capture test for curly bracket imports (#956)
  • Add ENS avatar and TXT records resolution (#889)
  • Fixes a parsing issue of EIP712 chain_id (chain_id = 80001 parsed as chain_id = 0x80001) (#892)
  • Add pub fn initialize_nonce in NonceMiddleManager (#840)
  • Fmt
  • Make it work with latest solang (#776)
  • Make it work with latest solang (#776)
  • Cargo fmt
  • Update Cryptography crates (#617)
  • Use svm global_version if it exists and no SOLC_PATH is set (#709)
  • Fix handling of nonce too low error (#643)

Testing

  • Add create_parent_dir_all_test (#1741)
  • Add large tuple test (#1642)
  • Comment out etherscan abigen! test (#1616)
  • Ensure trigger rebuild on settings change (#1591)
  • Add avalanche test (#1494)
  • Use default initial base fee (#1386)
  • Add tx roundtrip test (#1383)
  • Add tx receipt roundtrip test (#1360)
  • Update test with changed state on forked tests (#1353)
  • Set nonce for tx stream explicitly (#1354)
  • Replace ganache with anvil (#1286)
  • Expose test provider url
  • Ensure structs in events work (#1235)
  • Add another link with remapping test (#1191)
  • Add ethcall derive test for vec tuples (#1144)
  • Add type check test for abi array tuples (#1143)
  • Add multiline flatten test (#1101)
  • Add unique flatten test (#995)
  • Add etherscan test case (#964)
  • Add curly bracket import test (#929)
  • Use new celo txhash which has not been wiped

[0.6.0] - 2021-11-23

Bug Fixes

  • Lowercase node client type (#600)
  • Remove const lag so it can be passed in as runtime variable (#587)
  • Do not unnecessarily query for solc version (#586)
  • Adds TimeLag::new() (#568)
  • Lift macros feature to lib level (#567)
  • Failing test and check --all-targets in ci (#560)
  • Send error back (#556)
  • Preserve underscores in case of collisions (#548)
  • Use debug fmt for nested arrays (#527)
  • Ensure gas estimation includes the access list in 1559/2930 txs (#523)
  • Eip712 signing with ledger hw (#518)
  • Use syn::Index for tuple access (#515)
  • Allow clippy::redundant_clone and clippy::type_complexity in abigen (#491)
  • Allow functions without output args (#477)
  • Normalize EVM version across solc versions (#473)
  • Remove solc path canonicalization
  • Canonicalize custom paths
  • Breaking changes and force enable serialize for eth-types (#448)
  • Fix cargo fmt command in Contributing.md (#437)
  • Cleanup lock file after exec cargo metadata (#431)
  • Always treat abi type structs as tuples (#417)
  • Enable solc optimization (#427)

Depedencies

  • 0.6.0 (#611)
  • Bump futures-util from 0.3.17 to 0.3.18 (#609)
  • Bump tracing-subscriber from 0.3.1 to 0.3.2 (#604)
  • Bump elliptic-curve from 0.10.6 to 0.11.1 (#605)
  • Bump ethers-core to 0.5.5 (#582)
  • Bump hex-literal from 0.3.3 to 0.3.4 (#573)
  • Bump ethereum-types' impl-serde to 0.3.2 (#569)
  • Bump cargo_metadata from 0.14.0 to 0.14.1 (#563)
  • Bump auto_impl from 0.4.1 to 0.5.0 (#564)
  • Bump tokio-util from 0.6.8 to 0.6.9 (#549)
  • Bump arrayvec from 0.7.1 to 0.7.2 (#540)
  • Bump tracing-subscriber from 0.3.0 to 0.3.1 (#532)
  • Bump serde-aux from 2.3.0 to 3.0.1 (#533)
  • Bump syn from 1.0.80 to 1.0.81 (#535)
  • Bump proc-macro2 from 1.0.30 to 1.0.32 (#534)
  • Bump tracing-subscriber from 0.2.25 to 0.3.0 (#529)
  • Bump reqwest from 0.11.5 to 0.11.6 (#521)
  • Bump instant from 0.1.11 to 0.1.12 (#520)
  • Bump proc-macro2 from 1.0.29 to 1.0.30 (#504)
  • Bump thiserror from 1.0.29 to 1.0.30 (#500)
  • Bump syn from 1.0.78 to 1.0.80 (#499)
  • Initial implementation of eip712 derive macro (#481)
  • Bump reqwest from 0.11.4 to 0.11.5 (#490)
  • Bump tracing from 0.1.28 to 0.1.29 (#488)
  • Bump tracing-subscriber from 0.2.24 to 0.2.25 (#487)
  • Bump instant from 0.1.10 to 0.1.11 (#467)
  • Bump coins-ledger from 0.4.0 to 0.4.2 (#470)
  • Bump ethabi (#469)
  • Bump ethabi from ef19ba9 to 1da9de9 (#464)
  • Bump nth-check from 2.0.0 to 2.0.1 in /examples/ethers-wasm (#466)
  • Bump wasm-bindgen-futures from 0.4.27 to 0.4.28 (#456)
  • Bump tracing from 0.1.27 to 0.1.28 (#461)
  • Bump tracing-subscriber from 0.2.23 to 0.2.24 (#462)
  • Bump web-sys from 0.3.54 to 0.3.55 (#455)
  • Bump wasm-bindgen from 0.2.77 to 0.2.78 (#454)
  • Bump tracing-subscriber from 0.2.22 to 0.2.23 (#458)
  • Bump ethabi from 8bd90d1 to ef19ba9 (#452)
  • Bump spki from 0.4.0 to 0.4.1 (#453)
  • Bump web-sys from 0.3.53 to 0.3.54 (#438)
  • Bump serde-aux from 2.2.0 to 2.3.0 (#439)
  • Bump tracing from 0.1.26 to 0.1.27 (#449)
  • Bump tracing-subscriber from 0.2.21 to 0.2.22 (#450)
  • Bump sha2 from 0.9.6 to 0.9.8 (#443)
  • Bump tracing-subscriber from 0.2.20 to 0.2.21 (#447)
  • Bump wasm-bindgen-futures from 0.4.26 to 0.4.27 (#441)
  • Bump thiserror from 1.0.28 to 1.0.29 (#433)
  • Bump tokio-util from 0.6.7 to 0.6.8 (#434)
  • Bump futures-executor from 0.3.16 to 0.3.17 (#426)
  • Bump parking_lot from 0.11.1 to 0.11.2 (#418)
  • Bump thiserror from 1.0.26 to 1.0.28 (#419)
  • Bump sha2 from 0.9.5 to 0.9.6 (#420)
  • Bump futures-util from 0.3.16 to 0.3.17 (#423)

Documentation

  • Add note about wasm and ffi to readme (#607)
  • Add telegram metadata (#509)
  • Fix broken ethers-js link (#475)

Features

  • Add cargo change detection support (#599)
  • Allow specifying solc version even if auto-detect enabled (#594)
  • Add solc-tests feature for synchronous download of solc versions
  • Add from_str for Remapping (#583)
  • Make reqwest optional but enabled by default (#580)
  • Auto-detect solc remappings (#574)
  • Allow providing --allow-args (#553)
  • Multiple Solc Version detection (#551)
  • Add solc svm find support (#547)
  • Use ethers_solc::Solc instead of ethers_core::utils::Solc (#546)
  • Enumerate overloaded functions if they are nameless (#545)
  • Only compile changed files (#544)
  • Improved solc management (#539)
  • Unify get_block_receipts for eth/parity RPCs (#541)
  • Add abi code trait impls (#531)
  • Add ethers-solc crate (#522)
  • Expose Wallet::sign_hash
  • Add ethabitype support for solidity style enums (#526)
  • Add abi type trait (#519)
  • Function call enums EthCall macro and more (#517)
  • Transaction endpoints (#512)
  • Add display support for events (#513)
  • Substitute overloaded functions (#501)
  • Add support for multiple contract definitions in abigen macro (#498)
  • Impl Deserialize for block number (#497)
  • Add etherscan client crate (#486)
  • Add general solc contract types (#484)
  • Support artifact format in proc macro (#480)
  • Support human readable struct inputs (#482)
  • Allow to configure combined-json (#483)
  • Support Hardhat ABI format (#478)
  • Support shorthand function declarations (#472)
  • First draft timelag middleware (#457)
  • Expand solc capabilities / chore: update ethabi (#445)
  • Add quorum provider (#409)

Miscellaneous Tasks

  • Enable zeroize feature for k256 (#596)
  • Don't look for remappings on hardhat (#585)
  • Re-export http client error in providers transports (#570)
  • Fix flaky integration test
  • Expose modules
  • Update to Rust edition 2021 (#528)
  • Move proc macro implementation to separate modules (#510)
  • Remove GasNow api since it's deprecated (#508)
  • Remove unused && cargo fix (#496)
  • Expose I256 functions
  • Expose solc module
  • Update changelog
  • Add changelog for #427 changes (#428)
  • Update changelog (#429)
  • Add changelog (#424)

Other

  • Update readme for polygon and avalanche (#610)
  • Add support for polygon and avalanche (#606)
  • Add net_version call (#595)
  • Fix/providers (#590)
  • Prestwich/escalator fixes (#581)
  • Remove failing workflow
  • Load rinkeby privkey from envvar instead of secrets
  • Load rinkeby privkey from secrets
  • Add Decimal support to ethers::utils::parse_units (#463)
  • Change wei from 1 to 0 (#460)
  • Add getProof to provider (#459)
  • Add cache
  • Add utils::get_create2_address_from_hash() (#444)
  • Add usage examples for hashing utilities (#436)
  • Make 'ens' module public (#435)
  • Event aliasing for contract bindings (#425)
  • Correctly encode non-legacy mempool transactions (#415)
  • Run examples in CI (#421)

Performance

  • Remove clone (#602)

Refactor

  • [breaking] Make artifactoutput a trait (#579)
  • Move Chain enum, use HashMap::from (#524)

Styling

  • Prestwich/super pending (#566)
  • Refactor crate determination in new ethers-macro crate (#555)
  • (fix): new_keystore returns uuid as well (#559)
  • Fix missing fmt argument in error message (#552)
  • Add rustfmt.toml (#537)
  • Simplify eip712 example (#492)
  • Cargo fmt

Testing

  • Get rinkeby private key from env var (#542)
  • Add underscore test (#505)
  • Fix flapping gas oracle (#514)
  • Fix duplicate tx flakes by rotating through a list of wallets (#451)

[0.5.1] - 2021-08-28

Bug Fixes

  • Generate correct imports depending on ethers crate usage (#413)
  • Make packages default members so they get executed on unit tests (#411)
  • Add send + unpin to stream type (#402)
  • Use once_cell with feature=std in abigen (#401)
  • Drop WS server if work complete (#399)
  • Backwards compatibility for eth_feeHistory (#395)
  • Skip 2930 tests in legacy mode / skip aws test if no id (#386)
  • Signature fields should be U256 instead of H256 (#379)
  • Make gasPrice optional (since Type 2 transactions) (#374)
  • Use async-await-macro to fix docs.rs publishing
  • Only wrap single struct param in a tuple (#368)
  • Convert tuple arguments to tuples (#363)
  • Make chain_id mandatory (#286)
  • Preserve from field in SignerMiddleware (#350)
  • Make event types thread safe (#341)
  • Use ethabi from master w/ fixed abiv2 bug
  • Remove ethers celo feature and ignore celo test (#313)
  • Event decoding for events with zero or one parameters (#300)
  • Off by one error during event decoding (#296)
  • Remove dependency on curl (#285)
  • Add indexed attribute when deriving EthEvent (#255)
  • Make EthEvent abi attribute work for tuple inputs (#229)
  • Correctly parse params in human readable abi (#194)
  • Improvements in DsProxy execute (#177)
  • Switch between units correctly (#170)

Depedencies

  • Remove cyclical dependencies (#410)
  • Bump bytes from 1.0.1 to 1.1.0 (#407)
  • Bump elliptic-curve from 0.10.5 to 0.10.6 (#406)
  • Bump coins-ledger from 0.3.0 to 0.4.0 (#405)
  • Bump tracing-subscriber from 0.2.19 to 0.2.20 (#389)
  • 0.4 (#382)
  • Bump coins-ledger from 0.1.0 to 0.3.0 (#334)
  • Bump futures-executor from 0.3.15 to 0.3.16 (#351)
  • Update deps (#352)
  • Bump tokio-tungstenite from 0.14.0 to 0.15.0 (#338)
  • Bump hex-literal from 0.3.2 to 0.3.3 (#344)
  • Bump futures-util from 0.3.15 to 0.3.16 (#348)
  • Bump elliptic-curve from 0.10.3 to 0.10.4 (#340)
  • Bump ethabi to 14.1.0
  • Update crypto deps for ethers (#333)
  • Bump futures-util from 0.3.14 to 0.3.15 (#290)
  • Bump url from 2.2.1 to 2.2.2 (#289)
  • Bump sha2 from 0.9.3 to 0.9.5 (#291)
  • Bump tracing from 0.1.25 to 0.1.26 (#284)
  • Bump tokio-util from 0.6.6 to 0.6.7 (#295)
  • Bump elliptic-curve from 0.10.0 to 0.10.3 (#323)
  • Bump reqwest from 0.11.3 to 0.11.4 (#322)
  • Bump thiserror from 1.0.24 to 1.0.26 (#328)
  • Bump once_cell from 1.7.2 to 1.8.0 (#317)
  • Bump elliptic-curve from 0.9.11 to 0.10.0 (#311)
  • Bump eth-keystore from 0.2.0 to 0.2.1 (#280)
  • Bump futures-executor from 0.3.13 to 0.3.14 (#273)
  • Bump k256 from 0.7.2 to 0.7.3 (#277)
  • Bump async-trait from 0.1.48 to 0.1.50 (#278)
  • Bump pin-project from 1.0.6 to 1.0.7 (#279)
  • Bump elliptic-curve from 0.9.6 to 0.9.11 (#281)
  • Bump tokio from 1.4.0 to 1.5.0 (#275)
  • Bump serde-aux from 2.1.1 to 2.2.0 (#267)
  • Bump tokio-util from 0.6.5 to 0.6.6 (#272)
  • Bump bincode from 1.3.2 to 1.3.3 (#266)
  • Bump futures-util from 0.3.13 to 0.3.14 (#268)
  • Bump reqwest from 0.11.2 to 0.11.3 (#271)
  • Bump anyhow from 1.0.38 to 1.0.39 (#243)
  • Bump tokio from 1.2.0 to 1.4.0 (#242)
  • Bump elliptic-curve from 0.9.4 to 0.9.5 (#237)
  • Bump reqwest from 0.11.1 to 0.11.2 (#223)
  • Bump serde from 1.0.123 to 1.0.124 (#222)
  • Bump hex from 0.4.2 to 0.4.3 (#220)
  • Bump once_cell from 1.7.0 to 1.7.2 (#218)
  • Bump bincode from 1.3.1 to 1.3.2 (#211)
  • Bump futures-executor from 0.3.12 to 0.3.13 (#213)
  • Bump serde_json from 1.0.62 to 1.0.64 (#215)
  • Bump futures-channel from 0.3.12 to 0.3.13 (#208)
  • Bump futures-util from 0.3.12 to 0.3.13 (#207)
  • Bump once_cell from 1.6.0 to 1.7.0 (#212)
  • Bump tracing from 0.1.24 to 0.1.25 (#210)
  • Bump once_cell from 1.5.2 to 1.6.0 (#206)
  • Bump url from 2.2.0 to 2.2.1 (#201)
  • Bump tracing from 0.1.23 to 0.1.24 (#199)
  • Bump elliptic-curve from 0.9.3 to 0.9.4 (#203)
  • Bump thiserror from 1.0.23 to 1.0.24 (#204)
  • Bump reqwest from 0.11.0 to 0.11.1 (#202)
  • Bump elliptic-curve from 0.9.2 to 0.9.3 (#198)
  • Bump tracing-futures from 0.2.4 to 0.2.5 (#197)
  • Update deps (#196)
  • Bump sha2 from 0.9.2 to 0.9.3 (#185)
  • Bump serde_json from 1.0.61 to 1.0.62 (#190)
  • Bump pin-project from 1.0.4 to 1.0.5 (#187)
  • Bump yubihsm from 0.37.0 to 0.38.0 (#186)
  • Bump tokio from 1.1.1 to 1.2.0 (#189)
  • Bump tracing from 0.1.22 to 0.1.23 (#188)
  • Bump tokio from 1.1.0 to 1.1.1 (#184)
  • Bump serde from 1.0.120 to 1.0.123 (#181)
  • Bump tokio from 1.0.2 to 1.1.0 (#179)
  • Bump serde from 1.0.119 to 1.0.120 (#176)
  • Bump futures-executor from 0.3.11 to 0.3.12 (#173)
  • Bump futures-util from 0.3.11 to 0.3.12 (#171)
  • Bump k256 from 0.7.1 to 0.7.2 (#156)
  • Bump tokio from 1.0.1 to 1.0.2 (#160)
  • Bump futures-channel from 0.3.11 to 0.3.12 (#167)
  • Bump futures-executor from 0.3.9 to 0.3.11 (#158)
  • Bump futures-core from 0.3.11 to 0.3.12 (#166)
  • Bump futures-util from 0.3.9 to 0.3.11 (#159)

Documentation

  • Typo fix (#292)
  • Add example for mnemonic (#258)
  • Note EIP-658 in TransactionReceipt (#178)

Features

  • Add wasm http provider support (#403)
  • Wasm support (#390)
  • Add basic policy middleware (#400)
  • Drop WS server on when WS connection closes (#396)
  • Fee estimation with custom/default fn (#369)
  • Improve gas oracles (#392)
  • Add legacy feature to ethers crate (#384)
  • Generate rust structs from solidity JSON ABI (#378)
  • Multiple addresses on Filter (#375)
  • Typed txs (part 4) (#362)
  • Typed txs provider / middleware changes (part 3) (#357)
  • 1559/2930 txs (part 2) (#355)
  • Eip2930/1559 response type adjustments (part 1) (#353)
  • Add support for eth_getBlockReceipts (#365)
  • Detect ethers crate paths in derive macros (#366)
  • Signer using aws kms (#358)
  • Stream_with_meta (#354)
  • Support additional ganache arguments (#347)
  • Initial delay in PendingTransaction (#339)
  • PendingTransaction returns Option (#327)
  • Allow using native-tls or rustls (#330)
  • Extend Middleware trait customized for celo (#314)
  • Add filter utility function (#316)
  • Introduce tx stream (#303)
  • Make I256::from_raw() as const (#305)
  • Support parsing solc contract abi output in string and array form (#301)
  • Signature derives Copy trait (#288)
  • Implement IPC transport support (#260)
  • Mnemonic phrase support for wallet (#256)
  • Add async setup utility functions (#241)
  • Extend ethevent trait methods and decoding (#239)
  • Update ethabi (#233)
  • Add support for EIP-234 and EIP-1898 (#231)
  • Include ethevent proc macro in abigen code gen workflow (#232)
  • Add EthEvent proc macro derive support (#227)
  • Add struct parsing support for human readable ABI (#226)
  • Report path on failed abigen load (#205)
  • Transformer middleware with DsProxy impl (#165)

Miscellaneous Tasks

  • Pull ethers to top level directory (#398)
  • Disable all ethers features by default and expose them individually (#394)
  • Add explanation on legacy flag
  • Remove default feature on futures-util from all crates
  • Skip tx rlp test in celo
  • Allow clippy enum variant names (#364)
  • Re-export aws signer error (#359)
  • Fix lints (#329)
  • Use latest ethabi (#253)
  • Fix two small typos (#249)
  • Use upstream ethabi (#248)
  • Use upgraded version for eth-keystore-rs (#193)

Other

  • Fix RLP encoding of gas price (#408)
  • Refactor WS handling code (#397)
  • Add uncle related missing api (#385)
  • Log streams properly end when internal stream closes (#387)
  • Sign_transaction_sync (#388)
  • Disable type serialization when legacy feature is set (#383)
  • Add Flashbots middleware to projects section (#381)
  • Add impl_fixed_types!(18) (fixes opensea abigen) (#373)
  • Cargo clippy --fix (#346)
  • Add util functions for bytes32 string encoding/decoding (#337)
  • Add xDai multicall contract address (#324)
  • Change types of block number and returned keys (#320)
  • Make request error to be confined per request, not a global websocket error (#315)
  • Fix tests failing on solc 0.8.0 or above (#310)
  • Update sign.rs (#304)
  • Upgrade to GitHub-native Dependabot (#283)
  • Prevent interleaving websocket ID load/store operations (#217)
  • Make abigen reproducible (#200)
  • Feat/is middleware signer (#182)
  • I256 implementation (#175)
  • Handle ping/pong messages for Ws provider (#163)

Refactor

  • Make IPC generic over AsyncRead/Write (#264)
  • Make human readable abi parsing more robust (#225)

Styling

  • Expose LogMeta type and add more fields, and expose FilterBlockOption (#294)
  • Replace println usage in ws provider (#263)
  • Remove token instead cloning them (#236)

Testing

  • Enable ignored tests with geth (#306)
  • Account for offset for first subscription (#302)

[0.2.0] - 2021-01-13

Bug Fixes

  • Bump to tokio-tungstenite 13.0
  • Reschedule waker for >1 confs (#112)
  • Reschedule waker even if receipt is not available (#104)
  • Reschedule waker if receipt is immediately available (#103)
  • Default param name if not found following memory/calldata (#91)
  • Update signature error
  • Replace FilterStream with concrete type (#69)
  • Return Option for txs/receipts/blocks (#64)
  • Serialize filters properly and always rewake (#61)
  • Make multicall work by reference (#58)
  • Make token decoding abiencoderv2 friendly
  • Add Randomness when using celo (#44)
  • Add Send trait bound to PendingTx state future (#39)

Depedencies

  • Bump to 0.2.0 (#151)
  • Bump tempfile from 3.1.0 to 3.2.0 (#149)
  • Bump serde from 1.0.118 to 1.0.119 (#146)
  • Bump bytes from 1.0.0 to 1.0.1 (#145)
  • Bump anyhow from 1.0.37 to 1.0.38 (#139)
  • Bump pin-project from 1.0.2 to 1.0.3 (#135)
  • Upgrade to Tokio 1.0 and remove async-std (#120)
  • Trim some dependencies (#116)

Documentation

  • Add more docs (#130)
  • Add solc-select to the readme
  • Fix broken links
  • Add telegram to README

Features

  • Add tracing (#113)
  • Expose to_eip_155 (#111)
  • Derives &, Arc and Box for Middleware (#109)
  • Add a mock transport (#99)
  • Add method for parity_getBlockReceipts
  • Port over tracing from rust-web3 (#93)
  • Allow encoding/decoding function data (#90)
  • Transaction Gas Price Escalator middleware (#81)
  • Generalize wallet/private key + yubihsm2 (#75)
  • Convert signing to k256 (#72)
  • Middleware Architecture (#65)
  • Ledger support (#66)
  • Add epochSnarkData to the celo block (#46)
  • Tokenize tuples
  • Ethers-core wasm32 arch compatibility (#38)
  • Add helper to query events w/ metadata (block num + tx hash) (#33)
  • Make Signer on Client optional (#34)
  • Introduce a pending tx polling delay so that we do not spam the chain (#31)

Miscellaneous Tasks

  • Use published crate (#148)
  • Upgrade to latest ethtypes (#137)
  • Use published coins-ledger (#132)
  • Remove dead code
  • Add example for ledger
  • Make websockets optional (#45)

Other

  • Support for encrypted JSON keystore (#138)
  • Upgrade reqwest to 0.11.0 to ensure only 1 version of tokio used (#136)
  • Fix broken link to TG group in readme. (#110)
  • Returning a PendingTransaction after sending a tx (#107)
  • Update README.md
  • Contract & Provider eth_subscribe support (#100)
  • Update README.md
  • Misc Fixes (#97)
  • Add Sync trait to middleware error (#94)
  • Geth TxPool API Support (#86)
  • Address checksum (#85)
  • Nonce manager (#59)
  • (feat) gas oracle support (#56)
  • Add support for gas estimate and calldata from ContractCall (#53)
  • Add get_storage_at
  • Reschedule rewaking when unpausing pending tx future (#50)
  • Implement Multicall functionality for batched calls (#43)
  • Fix buggy non-nested tuples (#48)
  • Update README.md (#47)
  • Improve Ganache Flexibility (#37)
  • Replace contract client references with Arc (#35)
  • Websockets + TLS for Async-Std / Tokio (#30)

Refactor

  • Extract minimal features of Contract into BaseContract (#88)
  • Pending txns don't wait to poll futures until interval elapses (#49)

Styling

  • Bug #55: prevent request from serializing ZSTs as null (#57)

[0.1.3] - 2020-06-20

Bug Fixes

  • Fix intradoc links and add missing cargo metadata (#29)
  • Make Signature.v a u64 instead of a u8 and expose verify (#21)
  • Pass array arguments (#10)
  • Simplify ENS interfaces
  • Make wallet non-optional
  • Serialize null filters
  • Adjust to rest of contract fixes
  • Fix examples

Depedencies

  • Skip tests with external deps

Documentation

  • Add missing attribution to Althea for the lean JSON RPC client
  • Add missing attribution to Gnosis for codegen & macros
  • Add ethers.js as a reference
  • Add contributing.md
  • Add some templates (#14)
  • Further expand the docs
  • Update struct
  • Expand contract docs
  • Expand Wallet examples
  • Add more docs
  • Improve struct level docs
  • Add doctests and examples
  • Add some more docs
  • Add docs to ethers-providers
  • Docs

Features

  • Implement Serde and make Wallet API smaller (#20)
  • Add various new utility methods (#13)
  • Join the transaction futures
  • Allow querying logs with their respective tx hashes
  • Add solc bindings
  • Adds support for launching ganache-cli
  • Add ens support
  • Add tokenization and improve contract API for events
  • Add basic contract support
  • Add fetching logs
  • Add receipts
  • Add get_block

Miscellaneous Tasks

  • Remove leftover file
  • Do not run the doctests since the abi paths cannot be found
  • Fix doctest
  • Fix examples
  • Remove unnecessary stuff
  • Comment out some bothersome tests

Other

  • Dual license under MIT/Apache 2 (#28)
  • Provider Fixes on filters and gas estimation (#23)
  • Add Celo support (#8)
  • Fix Pending Transactions and EIP-155 (#22)
  • ABI Encoder v2 + ABI Spec v6.6 (#17)
  • Switch to github actions (#18)
  • Add json rpc bindings for eth_getCode (#15)
  • Add pending tx type to wait for tx confirmations (#11)
  • Update docs path (#12)
  • Add streamed logs to the provider (#9)
  • Re-enable paths/etherscan and enable more complex tokens
  • Simplify structs and re-enable file/remote codegen
  • Simplify lifetimes
  • Allow connecting to many clients/addresses
  • Simplify errors and generics
  • Remove provider/signers trait bound
  • Simplify signers
  • Remove type-safe networks
  • Simplify provider type declaration
  • Ensure functions do not clash with event names
  • Use pure rust libsecp
  • Reorganize docs
  • Add a prelude to make importing stuff easier
  • Add deployer
  • Add ContractFactory
  • Add docs to ethers-signer
  • Ethers-types docs
  • Add some block tests
  • Add test for utils
  • Make ENS a first class citizen
  • Integrate ENS at the provider level
  • Install cargo-audit and clippy
  • Add versions for publishing
  • Fix ci
  • Progress
  • Specify the datatype when creating the call
  • Complete refactor
  • WIP
  • Wip
  • WIP
  • Wip
  • El refactor
  • WIP add contract abi
  • Filters
  • Add circleci
  • Update readme
  • Do not expose fields
  • Use builder pattern for txs
  • Add eth_balance and eth_accounts
  • Rename type
  • Deduplicate tx types
  • Cleanup
  • Lock
  • Abuse Deref for using provider methods in the Client
  • Lints and more examples
  • Wallet refactor
  • WIP
  • Init

Refactor

  • Pull crates to root dir
  • Refactor ethers-types -> ethers-core
  • Refactor ethers-utils to be part of ethers-types
  • Refactor ethers-abi to be part of ethers-types
  • Split to modules
  • Refactor

Styling

  • Improve Stream performance (#25)
  • Cargo fmt
  • Fmt

Testing

  • Re-enable tests