* fix(abigen): correctly parse params in human readable abi
* chore: make clippy happy
* test: remove unwrap
* chore: make clippy happy again
* chore: fix contract.rs example
* chore: rename to contract using human readable format
* examples: add abigen example with path to abi
* fix: pin funty version to fix bitvec error
* chore: remove unused import
* chore: fix deps
This commit also removes the patch stanza in the top level Cargo.toml as the
older tokio tungstenite (0.12.0) is pulled in when ethers is used as a
dependency on another project.
* feat(providers): tokio 1.0
BREAKING: This removes async-std as a compatibility option
* feat: tokio 1.0 in rest of crates
* fix: patch Cargo.toml until deps are released
* fix(contract): load ws deps
* feat: bytes 1.0 (#121)
* feat(core): move to bytes::Bytes
* feat: adjust rest of crates to Bytes
* chore: bump deps
CI fails due to:
https://github.com/snapview/tokio-tungstenite/pull/142#discussion_r550445144
* chore: use latest tokio-tungstenite
* ci: split tests into jobs (#129)
* Switch to `hex` (#128)
* fix(core): replace rustc_hex with hex
* fix(providers): replace rustc_hex with hex
* chore: replace rustc-hex with hex
* chore: cargo fmt
* fix(ledger): copy address from string correctly
* chore: fix flaky tests
Fixes#105
* feat(providers): return a PendingTransaction from send_tx calls
* feat(providers): expose the internal provider to all middlewares
* fix(middleware): use the returned PendingTx instead of using a hash
* fix(contract): use the pending tx returned value
Note1: To support that, we need to clone the tx when sending in order to make lifetimes work out
Note2: Multicall does not support that feature
* fix(ethers): adjust examples
* chore: fix provider test
* chore: fix celo test
BREAKING CHANGE
* fix(block): fix block decoding from ws
* feat(pubsub): add pubsub traits and sub stream
Also use DeserializeOwned alias
* feat(transports): add notification type
* feat(ws): rewrite Ws for subscription support
* feat(provider): add eth_subscribe
* fix(celo): disable some celo tests due to ganache incompatibilities
* test(rinkeby): fix flaky test
* feat(contract): WS subscription bindings (#101)
* feat(middleware): add subscriptions to middleware methods
* feat(contract): add subscribe method to contracts
* refactor: extract minimal features of Contract into BaseContract
* refactor: move BaseContract to own file
* chore: ensure celo test passes
* chore: fix clippy
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* feat: support for txpool API
* feat: add a geth spawner test helper
* fix(txpool): use TxRequest instead of new data struct
The `raw` field is no longer present in latest geth's response.
* fix(txpool): use proper api response format
ref: https://github.com/ethereum/go-ethereum/pull/21720
Also add a Geth test
* ci: install geth 1.9.23
Co-authored-by: Rohit Narurkar <rohit.narurkar@protonmail.com>
* fix(signers): make Signer send by blocking on Ledger calls
* fix(providers): use Arc in WS impl to allow cloning
* feat(middleware): add geometric gas price escalator
* test(middleware): ensure that we can still stack everything up
* fix(middleware): default to tokio/async-std
* chore: fix clippy
* docs(middleware): add docs and rename middlewares
* chore: fix doctests
* feat: add linear gas escalator
https://github.com/makerdao/pymaker/blob/master/tests/test_gas.py\#L107https://github.com/makerdao/pymaker/blob/master/pymaker/gas.py\#L129
* feat: add constructors to gas escalators
* fix(BREAKING): return Option for txs/receipts/blocks
Otherwise if a user asks for a transaction hash or block that does not exist yet they'll get an Error
* test: ensure that unmined txs return None receipts
* test: fix remaining tests
* chore: re-enable sparkpool gas oracle
* chore: fix celo tests
* fix: run the non-existing data against infura
* fix: fix etherscan gas oracle tests
* feat: first stab at a NonceManager
* test: adjust the test
* fix: reset nonce if nonce manager errors
* feat: make nonce manager opt in
* fix: add read-only nonce call
* feat: improve http provider errors
* feat: convert to Atomic datatypes
* refactor: move to own file
* chore: remove tokio dep
* fix: improve nonce retry logic readability
* fix: use other privkey to avoid nonce races with other tests
* (feat) gas oracle support
* (refactor) make a separate module | fix clippy warning
* add gas oracle to client using dynamic dispatch
* fix doc build in multicall module
* gas oracle returns U256
* support gas price fetching from client
* avoid querying for unsupported gas categories
* changes based on PR review
* add support for gasnow API, refactor gwei to wei