dependabot-preview[bot]
6e5fd198cb
chore(deps): bump serde_json from 1.0.61 to 1.0.62 ( #190 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.61 to 1.0.62.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.61...v1.0.62 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-02-10 11:55:48 +02:00
dependabot-preview[bot]
5109ff654e
chore(deps): bump pin-project from 1.0.4 to 1.0.5 ( #187 )
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/taiki-e/pin-project/releases )
- [Changelog](https://github.com/taiki-e/pin-project/blob/master/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project/compare/v1.0.4...v1.0.5 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-02-08 11:56:43 +02:00
dependabot-preview[bot]
625cbbcf81
chore(deps): bump tokio from 1.1.1 to 1.2.0 ( #189 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.1.1...tokio-1.2.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-02-08 11:56:27 +02:00
dependabot-preview[bot]
fd1e3be2f3
chore(deps): bump tracing from 0.1.22 to 0.1.23 ( #188 )
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.22 to 0.1.23.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.22...tracing-0.1.23 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-02-06 05:43:54 +02:00
Rohit Narurkar
4c8d3c81e7
Feat/is middleware signer ( #182 )
...
* feat: signature from_str can handle 0x-prefixed strings
* feat: add is_signer method to the middleware trait
* fix: eth_sign Signature deserialisation
* chore: refactor for cleaner decoding of Signature
2021-01-28 08:51:53 +02:00
dependabot-preview[bot]
b69f68f089
chore(deps): bump serde from 1.0.120 to 1.0.123 ( #181 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.120 to 1.0.123.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.120...v1.0.123 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-26 17:41:58 +02:00
dependabot-preview[bot]
09094360d2
chore(deps): bump tokio from 1.0.2 to 1.1.0 ( #179 )
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.0.2...tokio-1.1.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-26 17:41:53 +02:00
dependabot-preview[bot]
11e3284f22
chore(deps): bump serde from 1.0.119 to 1.0.120 ( #176 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.119 to 1.0.120.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.119...v1.0.120 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-23 12:31:24 +02:00
Rohit Narurkar
3105431007
feat: Transformer middleware with DsProxy impl ( #165 )
...
* feat: basic structure of proxy wallet middleware with DsProxy
* feat: build DsProxy contract, minor fixes, naming convention changes
* fix: add provider error in contract error
* fix: left pad storage value
* fix: delete gnosis safe for now
* feat(ds_proxy): execute code or target
* test(ds_proxy): transformer middleware tests
* fix: clippy should be happy
* fix(tests): ds proxy execute code
* chore: add documentation
* chore: formatting
2021-01-22 11:25:22 +02:00
dependabot-preview[bot]
2769c97018
chore(deps): bump futures-util from 0.3.11 to 0.3.12 ( #171 )
...
Bumps [futures-util](https://github.com/rust-lang/futures-rs ) from 0.3.11 to 0.3.12.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.11...0.3.12 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-18 07:38:07 +02:00
dependabot-preview[bot]
b19f8f3c14
chore(deps): bump futures-channel from 0.3.11 to 0.3.12 ( #167 )
...
Bumps [futures-channel](https://github.com/rust-lang/futures-rs ) from 0.3.11 to 0.3.12.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.11...0.3.12 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-17 13:56:25 +02:00
dependabot-preview[bot]
bc700295fb
chore(deps): bump futures-core from 0.3.11 to 0.3.12 ( #166 )
...
Bumps [futures-core](https://github.com/rust-lang/futures-rs ) from 0.3.11 to 0.3.12.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.11...0.3.12 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-17 13:55:48 +02:00
dependabot-preview[bot]
810bb142f3
chore(deps): bump futures-util from 0.3.9 to 0.3.11 ( #159 )
...
Bumps [futures-util](https://github.com/rust-lang/futures-rs ) from 0.3.9 to 0.3.11.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.9...0.3.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-16 10:59:59 +02:00
Sam Wilson
8eafe81aa9
Handle ping/pong messages for Ws provider ( #163 )
2021-01-15 11:33:38 +02:00
Georgios Konstantopoulos
fc4b3e4ce4
release: bump to 0.2.0 ( #151 )
2021-01-13 20:10:50 +02:00
dependabot-preview[bot]
177f0c3eb9
chore(deps): bump serde from 1.0.118 to 1.0.119 ( #146 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.118 to 1.0.119.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.118...v1.0.119 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-12 10:02:30 +02:00
Georgios Konstantopoulos
25f6bdff22
fix: bump to tokio-tungstenite 13.0
2021-01-10 12:05:12 +02:00
Curtis Spencer
9a9f4523e0
Upgrade reqwest to 0.11.0 to ensure only 1 version of tokio used ( #136 )
...
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.
2021-01-07 15:24:07 +02:00
dependabot-preview[bot]
b63c272abe
chore(deps): bump pin-project from 1.0.2 to 1.0.3 ( #135 )
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/taiki-e/pin-project/releases )
- [Changelog](https://github.com/taiki-e/pin-project/blob/master/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project/compare/v1.0.2...v1.0.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-01-06 14:39:56 +02:00
Georgios Konstantopoulos
5f292670fc
docs: add more docs ( #130 )
2020-12-31 21:08:12 +02:00
Georgios Konstantopoulos
5c1f8f532a
Upgrade to Tokio 1.0 and remove async-std ( #120 )
...
* 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
2020-12-31 19:19:14 +02:00
Georgios Konstantopoulos
5860a1df6c
Trim some dependencies ( #116 )
...
* core: trim deps
* providers: trim deps
* contract: trim deps
* middleware: trim deps
* signers: trim deps
2020-12-25 02:17:21 +02:00
Georgios Konstantopoulos
dc4c2a807e
feat(providers): add tracing ( #113 )
...
* feat(provider): add async tracing
* feat(middleware): add tracing to gas escalator
* chore: make clippy happy
2020-12-24 22:23:05 +02:00
Georgios Konstantopoulos
65b50a7668
fix: reschedule waker for >1 confs ( #112 )
2020-12-24 18:33:22 +02:00
Georgios Konstantopoulos
d9db40402b
feat: derives &, Arc and Box for Middleware ( #109 )
...
* test: can stack Middlewares with Arcs
* feat: derive &, Box and Arc impls for Middleware
* chore: fix spacing
2020-12-18 13:15:19 +02:00
Georgios Konstantopoulos
3a2fd3e814
Returning a `PendingTransaction` after sending a tx ( #107 )
...
* 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
2020-12-17 13:26:01 +02:00
Georgios Konstantopoulos
5b7578296b
fix: reschedule waker even if receipt is not available ( #104 )
...
PR #103 did not address the Future hanging when the receipt was not
immediately available, e.g. in non dev environments
2020-12-17 11:23:10 +02:00
Georgios Konstantopoulos
b0bfd550fb
fix: reschedule waker if receipt is immediately available ( #103 )
...
* fix: reschedule waker if receipt is immediately available
* chore: update minor deps
`cargo update`
* chore: make clippy happy
2020-12-16 14:05:16 +02:00
Georgios Konstantopoulos
1ece5d2020
Contract & Provider eth_subscribe support ( #100 )
...
* 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
2020-11-30 11:33:06 +02:00
Georgios Konstantopoulos
09413dca6f
feat: add a mock transport ( #99 )
...
* feat: add a mock transport
* ci: fix libusb issue
2020-11-27 14:57:44 +02:00
Georgios Konstantopoulos
d2d7a82a80
feat: add method for parity_getBlockReceipts
2020-11-19 19:51:15 +02:00
Georgios Konstantopoulos
84aafbbd1f
Misc Fixes ( #97 )
...
* fix: use generic instead of impl Trait
* fix: do not skip first 4 bytes when decoding outputs
2020-11-12 12:08:20 +02:00
Georgios Konstantopoulos
c30f45fc72
feat: port over tracing from rust-web3 ( #93 )
2020-10-31 12:44:08 +02:00
Rohit Narurkar
98c63f9a3d
add Sync trait to middleware error ( #94 )
2020-10-31 12:39:03 +02:00
Pawan Dhananjay
35e24ed412
refactor: extract minimal features of Contract into BaseContract ( #88 )
...
* 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>
2020-10-27 12:57:01 +02:00
Georgios Konstantopoulos
a22f1f9aa0
Geth TxPool API Support ( #86 )
...
* 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>
2020-10-24 11:13:13 +03:00
Georgios Konstantopoulos
62b7ce4366
feat: Transaction Gas Price Escalator middleware ( #81 )
...
* 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\#L107
https://github.com/makerdao/pymaker/blob/master/pymaker/gas.py\#L129
* feat: add constructors to gas escalators
2020-10-08 18:56:36 +03:00
Georgios Konstantopoulos
2d51c523ba
feature: Middleware Architecture ( #65 )
...
* feat: convert Provider to Middleware trait
* feat: move gas oracle to middleware crate
* feat: move signer to middleware crate
* feat: add nonce manager middleware and test stacking
* refactor: convert generic middleware jsonrpc type to associated type
* feat: move ethers-contract to middleware arch
* test(provider): make tests pass
* test(middleware): move middleware tests from signer
* test: fix ethers examples
* fix(contract): make tests compile
* chore: fix clippy
* feat: deduplicate trait delegation
* refactor(signer): deduplicate tx signing logic across signers
* fix doctests
* fix: examples, celo tests and ci
2020-09-25 00:33:09 +03:00
Georgios Konstantopoulos
bf1d1e098f
fix: replace FilterStream with concrete type ( #69 )
...
* fix: replace FilterStream with concrete type
* fix: use PinBoxFut type alias
* ci: fix CI error with ledger
2020-09-23 11:04:54 +03:00
Georgios Konstantopoulos
a3fa77744e
fix(BREAKING): return Option for txs/receipts/blocks ( #64 )
...
* 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
2020-09-17 14:06:56 +03:00
Georgios Konstantopoulos
fb8f5a8ec9
Nonce manager ( #59 )
...
* 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
2020-09-07 13:26:42 +03:00
Georgios Konstantopoulos
6197d8bb12
fix(core): serialize filters properly and always rewake ( #61 )
...
* fix: serialize filters properly
* test: add filter log tests
* fix(stream): always re-wake
2020-08-31 23:40:49 +03:00
Georgios Konstantopoulos
cff6eb45a5
fix: make multicall work by reference ( #58 )
...
* fix: make multicall work by reference
* chore: update readme with solc / ganache requirements
* chore: cargo fmt
* chore: fix doctests
* fix: disable sparkpool gasnow test
2020-08-21 15:54:23 +03:00
Rohit Narurkar
237f011259
(feat) gas oracle support ( #56 )
...
* (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
2020-08-18 21:47:56 +03:00
James Prestwich
ca2ec0aadd
bug #55 : prevent request from serializing ZSTs as null ( #57 )
...
* bug #55 : prevent request from serializing ZSTs as null
* chore: cargo fmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2020-08-18 17:12:47 +03:00
Rohit Narurkar
516b431a48
add support for gas estimate and calldata from ContractCall ( #53 )
...
* add support for gas estimate and calldata from ContractCall
* fix celo tests for get_block and get_tx
2020-08-12 11:35:33 +03:00
Brock Elmore
34550d9211
Add get_storage_at
2020-07-30 22:56:28 -04:00
James Prestwich
6f02bb5436
bug: reschedule rewaking when unpausing pending tx future ( #50 )
2020-07-13 20:52:33 +03:00
James Prestwich
320ab276de
refactor: pending txns don't wait to poll futures until interval elapses ( #49 )
2020-07-10 09:59:29 +03:00
Georgios Konstantopoulos
da20a042d7
chore(provider): make websockets optional ( #45 )
2020-07-02 18:33:16 +03:00