Matthias Seitz
3e9159d834
refactor: change decode_log to take a reference
2021-03-18 10:10:36 +01:00
Matthias Seitz
2513e1f3ff
docs: document EthEvent proc macro attributes and add example
2021-03-18 09:19:31 +01:00
Matthias Seitz
e201e85486
test: check that ethevent proc macro attributes compile
2021-03-18 09:19:30 +01:00
Matthias Seitz
245c57a06e
feat: extend EthEvent with decode_log method and support indexed proc
...
macro attributes
2021-03-18 09:19:30 +01:00
Matthias Seitz
c525c71d96
style: remove token instead cloning them ( #236 )
2021-03-18 07:31:49 +02:00
Gabriel Coutinho de Paula
530bfe2b71
feat: add support for EIP-234 and EIP-1898 ( #231 )
...
* Add support for EIP-234
* Add support for EIP-1898
* Remove redundant field names
* Remove useless conversion
* Change `unwrap_or` to `unwrap_or_else`
2021-03-16 21:46:07 +02:00
Matthias Seitz
57010c1c60
feat(abigen): include ethevent proc macro in abigen code gen workflow ( #232 )
...
* fix: make EthEvent name method a trait method
* refactor: make expand methods members of Context
* fix: make AbiParser parsing non consumeable
* feat: add struct expanding
* feat: use derive(EthEvent) in abigen workflow
* test: check EthEvent in abigen macro
* test: make test compile again
* refactor: simplify and optimize abi parsing from single str
* test: add human readable abigen tests
2021-03-16 21:37:19 +02:00
Matthias Seitz
0c18f9b32c
fix: make EthEvent abi attribute work for tuple inputs ( #229 )
...
* fix: try to parse the provided abi as tuple
* test: validate ethevent abi attribute
* docs: document ethevent abi attribute
2021-03-16 10:12:32 +02:00
Matthias Seitz
7b10b76e20
feat: add EthEvent proc macro derive support ( #227 )
...
* refactor: extract error module and use error macros
* feat: add solidity struct parser
* refactor: add AbiParse and support struct parsing
* test: add more struct parsing tests
* feat: add EthAbiType proc macro derive for deriving Tokenizable trait
* test: add EthAbiType derive tests
* refactor: extract tokenizeable implementation in separate method
* chore(test): use EthAbiType derive instead implementing Detokenizeable
* feat: introduce EthEvent trait
* feat: add EthEvent proc macro derive support
* test: add proc macro derive tests
* chore: rustfmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-03-15 13:59:52 +02:00
dependabot-preview[bot]
08cacfeee8
chore(deps): bump serde from 1.0.123 to 1.0.124 ( #222 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.123 to 1.0.124.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.123...v1.0.124 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-03-08 09:48:24 +02:00
dependabot-preview[bot]
b425e2bd9a
chore(deps): bump hex from 0.4.2 to 0.4.3 ( #220 )
...
Bumps [hex](https://github.com/KokaKiwi/rust-hex ) from 0.4.2 to 0.4.3.
- [Release notes](https://github.com/KokaKiwi/rust-hex/releases )
- [Commits](https://github.com/KokaKiwi/rust-hex/compare/v0.4.2...v0.4.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-03-04 09:30:36 +02:00
Georgios Konstantopoulos
61767c8dd2
release: 0.2.2 ( #219 )
2021-03-04 09:30:27 +02:00
dependabot-preview[bot]
0c3bb7b9c1
chore(deps): bump once_cell from 1.7.0 to 1.7.2 ( #218 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.7.0 to 1.7.2.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.7.0...v1.7.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-03-03 10:36:06 +02:00
dependabot-preview[bot]
5081ca2ad1
chore(deps): bump serde_json from 1.0.62 to 1.0.64 ( #215 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.62 to 1.0.64.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.62...v1.0.64 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-03-02 14:53:33 +02:00
dependabot-preview[bot]
ff07be3c77
chore(deps): bump futures-util from 0.3.12 to 0.3.13 ( #207 )
...
Bumps [futures-util](https://github.com/rust-lang/futures-rs ) from 0.3.12 to 0.3.13.
- [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.12...0.3.13 )
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-25 09:17:09 +02:00
dependabot-preview[bot]
cf643e5ef1
chore(deps): bump once_cell from 1.6.0 to 1.7.0 ( #212 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.6.0...v1.7.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-25 09:17:02 +02:00
dependabot-preview[bot]
e88da4501c
chore(deps): bump once_cell from 1.5.2 to 1.6.0 ( #206 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.5.2...v1.6.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-23 09:31:12 +02:00
James Prestwich
3e5f7a795f
feature: report path on failed abigen load ( #205 )
2021-02-22 20:35:40 +02:00
dependabot-preview[bot]
eb318a2689
chore(deps): bump thiserror from 1.0.23 to 1.0.24 ( #204 )
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.23 to 1.0.24.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.23...1.0.24 )
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-22 10:04:18 +02:00
lerencao
732ff29d14
make abigen reproducible ( #200 )
...
* use BTreeMap to make abigen bindings deterministic
2021-02-19 08:34:56 +02:00
Georgios Konstantopoulos
a43299c838
fix(abigen): correctly parse params in human readable abi ( #194 )
...
* 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
2021-02-16 19:10:26 +02:00
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]
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]
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
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
29a3a16085
chore: upgrade to latest ethtypes ( #137 )
...
* chore: upgrade to latest ethtypes
* chore: fix doctests
2021-01-10 14:03:37 +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
98a00e8b7a
chore: use published coins-ledger ( #132 )
2021-01-05 14:15:18 +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
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
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
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
eb26915081
feat: allow encoding/decoding function data ( #90 )
...
* feat: allow encoding/decoding function data
* feat: allow decoding event data
* feat: human readable abi
inspired from https://blog.ricmoo.com/human-readable-contract-abis-in-ethers-js-141902f4d917
* test: add event / fn decoding tests
* chore: fix clippy
* feat(abigen): allow providing args in human readable format
2020-10-29 09:48:24 +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
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
aa37f74c4b
feat: generalize wallet/private key + yubihsm2 ( #75 )
...
* feat: generalize wallet/private key
* fix: adjust celo tests
* YubiHSM2 Support (#76 )
* feat: support YubiHSM2
2020-10-02 11:41:16 +03:00
Georgios Konstantopoulos
c65497543e
feat: convert signing to k256 ( #72 )
...
* feat: convert signing to k256
* fix: pass pre-hashed message to sig verification
* feat: wrap the hash to a Digest implementation
* refactor: cleanup and move digest impl to separate file
* chore: adjust abigen tests due to rust update
* test: add byte equality test between ethers-rs / web3.js signatures
* fix(keys): use 512 blocks for sha256
Co-authored-by: Rohit Narurkar <rohit.narurkar@protonmail.com>
Co-authored-by: Alex Vlasov <alex.m.vlasov@gmail.com>
2020-10-01 11:02:21 +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
95fcbe5240
feat: ledger support ( #66 )
...
* feat: ledger support
Adds support for Ledger Nano S Eth app (v1.3.7)
- sign message
- sign transaction
- get addresses
- get app version
* fix: fix eth docstring
* fix: take into account EIP155
* feat: convert Signer to async
* feat: implement Signer for Ledger
* ci: run celo-only tests explicitly
This is done to avoid using --all-features
* fix: remove async from with_signer
* chore: fix doctests
* fix: add Send/Sync to SignerError
* ci: update etherscan key
* test: disable etherscan abigen tests temporarily
2020-09-20 18:17:02 +03:00