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
Matthias Seitz
cf8e2391c8
feat: add struct parsing support for human readable ABI ( #226 )
...
* 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
2021-03-15 13:49:28 +02:00
Matthias Seitz
f599ae66f4
refactor: make human readable abi parsing more robust ( #225 )
...
* refactor: event parser
* refactor: function parser
* refactor: add constructor parser
* refactor: replace parsers
* style: extract event arg parsing into separate method
* fix: add missing returns statement
* chore(clippy): make clippy happy
* fix: support unnamed event argument parsing
2021-03-12 16:57:46 +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]
ba536e4c32
chore(deps): bump bincode from 1.3.1 to 1.3.2 ( #211 )
...
Bumps [bincode](https://github.com/servo/bincode ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/compare/v1.3.1...v1.3.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 00:30:00 +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]
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
dependabot-preview[bot]
a3f7aabb7a
chore(deps): bump elliptic-curve from 0.9.3 to 0.9.4 ( #203 )
...
Bumps [elliptic-curve](https://github.com/RustCrypto/traits ) from 0.9.3 to 0.9.4.
- [Release notes](https://github.com/RustCrypto/traits/releases )
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve-v0.9.3...elliptic-curve-v0.9.4 )
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:30 +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
dependabot-preview[bot]
6f26490385
chore(deps): bump elliptic-curve from 0.9.2 to 0.9.3 ( #198 )
...
Bumps [elliptic-curve](https://github.com/RustCrypto/traits ) from 0.9.2 to 0.9.3.
- [Release notes](https://github.com/RustCrypto/traits/releases )
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve-v0.9.2...elliptic-curve-v0.9.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-02-18 11:27:22 +02:00
Georgios Konstantopoulos
e82b09f521
Update deps ( #196 )
...
* chore: bump ethtypes and ethabi
* chore: bump elliptic curve
2021-02-16 20:58:45 +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
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]
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
James Prestwich
1048652a8c
doc: note EIP-658 in TransactionReceipt ( #178 )
2021-01-23 10:38:21 +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
Georgios Konstantopoulos
1b12fd8aff
I256 implementation ( #175 )
...
* Resolve: add I256 implementation
* Resolve: add I256 implementation - Untracked files
* fix: make i256 tests work
Co-authored-by: 1saf <me@ansaf.net>
2021-01-19 14:21:46 +02:00
dependabot-preview[bot]
fe4de53d84
chore(deps): bump k256 from 0.7.1 to 0.7.2 ( #156 )
...
Bumps [k256](https://github.com/RustCrypto/elliptic-curves ) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/RustCrypto/elliptic-curves/releases )
- [Commits](https://github.com/RustCrypto/elliptic-curves/compare/k256/v0.7.1...k256/v0.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-01-17 14:23:51 +02:00
Georgios Konstantopoulos
0b9375688e
fix: switch between units correctly ( #170 )
2021-01-17 14:10:30 +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
dependabot-preview[bot]
c74b31a394
chore(deps): bump bytes from 1.0.0 to 1.0.1 ( #145 )
...
Bumps [bytes](https://github.com/tokio-rs/bytes ) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/tokio-rs/bytes/releases )
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.0.0...v1.0.1 )
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:01:57 +02:00
Rohit Narurkar
b1461cc48d
Support for encrypted JSON keystore ( #138 )
...
* feat: add support for encrypted json keystores
* fix: ignore gitkeep file from keystore tests
* feat: use tempfile crate for temporary test dir/files
2021-01-11 11:39:14 +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
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
e9204ac72d
chore: remove dead code
2020-12-24 17:47:32 +02:00
Georgios Konstantopoulos
ca1283b23a
docs: fix broken links
2020-12-24 17:44:26 +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
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
d67efc9190
fix: default param name if not found following memory/calldata ( #91 )
2020-10-30 12:15:34 +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
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
938972e9cc
Address checksum ( #85 )
...
* feat: addr checksum encoding
* fix: replace format! with encode to hex
* chore: Fix celo tests
* perf(checksum): convert loop to iterator
Co-authored-by: Rohit Narurkar <rohit.narurkar@protonmail.com>
2020-10-18 13:22:10 +03:00
Georgios Konstantopoulos
ac93c0bc65
fix: update signature error
2020-10-14 14:59:31 +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
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
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
d0f1752db0
feat(core/block): add epochSnarkData to the celo block ( #46 )
...
* feat(core/block): add epochSnarkData to the celo block
* test(block): add celo celo snark data test
2020-07-09 10:07:44 +03:00