Commit Graph

566 Commits

Author SHA1 Message Date
Dan Cline bc9d4b48b6
impl fastrlp traits for AccessList (#1456)
* impl fastrlp traits for AccessListItem
 * impl Hash for AccessListItem
 * impl Hash for AccessList
2022-07-06 11:44:07 -07:00
dependabot[bot] dc01d0c9ed
chore(deps): bump once_cell from 1.12.0 to 1.13.0 (#1453)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.12.0 to 1.13.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.12.0...v1.13.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-05 08:54:50 -07:00
Dan Cline b232afaabc
Implement fastrlp traits for Bytes (#1443)
* implement fastrlp traits for Bytes

* cargo fmt

* bump fastrlp to 0.1.2
2022-07-04 11:47:00 -07:00
Dan Cline c077a633c1
impl fastrlp traits for Signature (#1444) 2022-07-04 11:13:30 -07:00
Matthias Seitz 1992c9176a
feat(core): impl Ord for receipt (#1434) 2022-06-30 09:20:33 -07:00
Matthias Seitz 7e85b33167
chore: add gas_mut function (#1427) 2022-06-29 08:54:07 -07:00
Matthias Seitz f5793525f2
feat: capture unknown fields (#1423)
* feat(core): add OtherFields type

* feat: capture unknown fields

* chore: update CHANGELOG

* test: update tests

* docs: fix doc tests

* fix: make docs compile on stable
2022-06-28 15:18:15 -07:00
Matthias Seitz 7c6462be02
chore(core): convenience impls for Bytes (#1421)
* chore(core): convenience impls for Bytes

* update asserts
2022-06-28 09:30:59 -07:00
dependabot[bot] 6c89311b33
chore(deps): bump cargo_metadata from 0.14.2 to 0.15.0 (#1410)
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata) from 0.14.2 to 0.15.0.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases)
- [Commits](https://github.com/oli-obk/cargo_metadata/commits)

---
updated-dependencies:
- dependency-name: cargo_metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-26 23:19:23 -07:00
Matthias Seitz 659ac061b2
refactor(abigen): replace ethabi::Reader (#1417)
* feat: add human readable function parser

* clippy fix

* revert bad clippy

* refactor(abigen): replace ethabi::Reader

* fix: add token to tuple token parsing
2022-06-26 17:26:43 -07:00
h00p30 94c7559ab5
TypedTransaction methods into builder style (#1414) 2022-06-25 20:44:55 -04:00
Matthias Seitz c7e1237a6b
fix: add missing chain id match arms (#1411) 2022-06-23 11:02:52 -04:00
Julian Popescu ec379da527
Use H64 for Block Nonce (#1396)
* Use H64 for Block Nonce

Signed-off-by: Julian Popescu <hi@julian.dev>

* Update changelog

Signed-off-by: Julian Popescu <hi@julian.dev>
2022-06-23 11:02:29 -04:00
Matthias Seitz 1ce2310874
feat: add evmos support (#1398) 2022-06-22 13:09:05 -04:00
Matthias Seitz c2f5a87b63
chore: add moonbase chain id (#1397) 2022-06-21 13:44:42 -04:00
dependabot[bot] 809e20e3f3
chore(deps): bump syn from 1.0.96 to 1.0.98 (#1392)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.96 to 1.0.98.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.96...1.0.98)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-06-20 10:53:59 -07:00
dependabot[bot] c36ec33b24
chore(deps): bump proc-macro2 from 1.0.39 to 1.0.40 (#1393)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.39 to 1.0.40.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.39...1.0.40)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-20 10:52:37 -07:00
Matthias Seitz 69095c15cf
feat: add eth filter deserialization and matching (#1389)
* feat: add eth filter deserialization and matching

* chore: rustfmt

* extend test

* add missing conversion
2022-06-17 09:34:16 -07:00
Matthias Seitz cce841f21c
test: add tx roundtrip test (#1383) 2022-06-15 11:41:29 -07:00
Genysys 8a59c17eb1
chore: bump ethabi version (#1381) 2022-06-15 11:18:25 -07:00
Georgios Konstantopoulos e991148790 Revert "release: disable dev deps"
This reverts commit b3159507a8.
2022-06-14 14:23:10 +03:00
Georgios Konstantopoulos b3159507a8 release: disable dev deps 2022-06-14 14:15:25 +03:00
Georgios Konstantopoulos ed6c3f8413 (cargo-release) version 0.13.0 2022-06-14 13:59:11 +03:00
Georgios Konstantopoulos 89f86d801e (cargo-release) version 0.13.0 2022-06-14 13:59:11 +03:00
Georgios Konstantopoulos f3096ce177 (cargo-release) version 0.13.0 2022-06-14 13:59:11 +03:00
Georgios Konstantopoulos ce275f1838 (cargo-release) version 0.13.0 2022-06-14 13:59:11 +03:00
Georgios Konstantopoulos 4791bb6a07 (cargo-release) version 0.13.0 2022-06-14 13:59:10 +03:00
Georgios Konstantopoulos ae63b57106 fix(core): chainId 31337 corresponds to Anvil/Hardhat not Dev
fixes: https://github.com/foundry-rs/foundry/issues/1866, because
previously we'd read chain id 31337, parse it as Dev, and then when
convert it to the wrong number (1337) which would make the transaction's
chain id not match the signer's
2022-06-14 13:41:47 +03:00
dependabot[bot] 2f6197739e
chore(deps): bump rust_decimal from 1.24.0 to 1.25.0 (#1375)
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from 1.24.0 to 1.25.0.
- [Release notes](https://github.com/paupino/rust-decimal/releases)
- [Changelog](https://github.com/paupino/rust-decimal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paupino/rust-decimal/compare/1.24.0...1.25.0)

---
updated-dependencies:
- dependency-name: rust_decimal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-13 23:54:22 -07:00
Matthias Seitz c96f6ba616
chore: add blocknumber convenience impls (#1368) 2022-06-10 16:45:46 +03:00
Matthias Seitz 295f86ef89
chore: reexport ethabi module (#1362) 2022-06-08 13:15:55 -07:00
Matthias Seitz c7a8a1ea5a
test: add tx receipt roundtrip test (#1360) 2022-06-08 05:13:36 -07:00
Matthias Seitz 0abc3ca39a
feat: add anvil hardhat chain id (#1356)
* feat: add anvil hardhat chain id

* chore: cover anvil hh
2022-06-08 03:29:00 -07:00
DeGatchi d6d76c6024
fix: `Transfered` -> `Transferred* (#1357) 2022-06-08 03:28:32 -07:00
dependabot[bot] 3b54f18e4e
chore(deps): bump syn from 1.0.95 to 1.0.96 (#1342)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.95 to 1.0.96.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.95...1.0.96)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-04 13:44:47 -07:00
Matthias Seitz 1dfe6d0cd2
feat: add display impl for BlockNumber (#1346) 2022-06-04 11:37:37 -07:00
Roman Krasiuk f4712fa47c
feat(etherscan): additional chain apis (#1343)
* xdai

* sokol

* poa & rsk

* oasis chains

* fix test

* test
2022-06-03 09:16:35 -07:00
Matthias Seitz 89bc6420bb
test: replace ganache with anvil (#1286)
* ci: install anvil

* test: use anvil instead of ganache

* ci: fix anvil ver

* ci: re-enable example tests

* test: remove unnecessary assertions

* test: enable anvil launch test

* docs: typo

* test: fix anvil chain id

* ci: install ganache

Ganache is needed for the Ganache tests

* chore: remove legacy feature from some examples

* ci: correctly build examples

* test: use correct account balance for anvil

* chore: remove sub_id == 1 check

this was only possible in ganache because it gives serial
sub ids, but in every other reasonable client the ids are generated
randomly, so we cannot test for its value

* test: ensure txs are different

There is a bug in Ganache's mempool which accepts duplicate transactions (here with the same nonce), whereas here we pre-set all the nonces so that they end up having a different transaction hash.

* test: ignore ganache tests

* fix: terzor api changes

* ci(examples): install Anvil, remove geth/ganache

* test(provider): Anvil instead of Geth

some tests start to fail now

* fix: revert usage of Anvil in ipc tests

Anvil does not support IPC yet

* fix: update examples script

* ci: use anvil for wasm example

* replace last ganache usage

Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-06-01 08:22:39 -07:00
Matthias Seitz 6a45a93685
fix: use decimal crate for parsing units (#1330) 2022-05-31 09:43:44 -07:00
Dave Belvedere 6b6c511583
Add Arithmetic Shift Right operation for I256 (#1324)
Update the changelog for https://github.com/gakonst/ethers-rs/issues/1323

Format the file correctly
2022-05-29 19:03:03 -04:00
Meet Mangukiya e3e810cef9
feat(abi): impl AbiEncode, AbiDecode for I256 (#1311) 2022-05-27 10:12:24 -04:00
oblique 526f40e88f
feat(core): Add `as_*_mut` methods on `TypedTransaction` (#1310) 2022-05-27 10:11:18 -04:00
dependabot[bot] 37f3df5234
chore(deps): bump once_cell from 1.11.0 to 1.12.0 (#1306)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.11.0 to 1.12.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.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-24 00:31:40 -07:00
Meet Mangukiya a150666d54
feat: add paginated logs (#1285)
* feat: add paginated logs

* docs: add paginated_logs example

* remove unpin
2022-05-23 14:23:35 -07:00
Georgios Konstantopoulos dc107ce892
fix: correctly serialize TxPoolInspectSummary (#1305)
* fix: correctly serialize TxPoolInspectSummary

previously we'd use the default serde derive, now we serialize
it like geth does

* chore: add back removed Eq derive
2022-05-23 14:15:29 -07:00
rakita 4301447155
relax thiserror minor version constraint (#1294) 2022-05-23 11:41:30 -07:00
Matthias Seitz cffcc7bbec
chore(clippy): fix newest nightly lints (#1298) 2022-05-22 15:18:57 -07:00
dependabot[bot] 2883ed7e2d
chore(deps): bump once_cell from 1.10.0 to 1.11.0 (#1288)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.10.0 to 1.11.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.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21 17:50:00 -07:00
dependabot[bot] 96391a05fa
chore(deps): bump syn from 1.0.94 to 1.0.95 (#1280)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.94 to 1.0.95.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.94...1.0.95)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 07:49:40 -07:00
joshieDo f5ea2bd6e3
feat(core): add helpers to unwrap `TypedTransaction` (#1278)
* add different helpers for type transactions

* remove as_() on TypedTransaction

* specify into_eip2930 when it matches a legacy tx

* remove unused error type

* specify into_legacy when it matches an eip2930 tx
2022-05-17 15:50:14 -07:00
dependabot[bot] 082f2c8bcc
chore(deps): bump proc-macro2 from 1.0.38 to 1.0.39 (#1275)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.38 to 1.0.39.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.38...1.0.39)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-17 10:57:30 -07:00
oblique 75ba3f4a9a
fix(core): On pending block `miner` field is always `null` (#1272)
* fix(core): On pending block `miner` field is always `null`

* Fix formatting
2022-05-16 14:10:02 -07:00
Georgios Konstantopoulos 83dc3e226c chore: fmt 2022-05-16 12:33:38 -07:00
Shawn Harmsen ceafcb250b
fix: unify name of supported chains with strum (#1249)
* add strum

* update strum version

* whitespace

* revert strum

* using strum EnumVariantNames

* fix strum serialize kebab case and edge cases
2022-05-16 12:28:35 -07:00
dependabot[bot] 7afae38623
chore(deps): bump syn from 1.0.93 to 1.0.94 (#1271)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.93...1.0.94)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-16 10:11:10 -07:00
Meet Mangukiya 6d5bebd860
Release process and CI (#1240)
* Fix the crate versions

* release.toml: add cargo-release config

* CONTRIBUTING.md: Update Releasing section

* feat: add release github workflow

* feat: generate CHANGELOGs and create github releases in CI
2022-05-13 13:10:05 -07:00
Matthias Seitz 94cf8a8f77
feat: add eip-1898 deserialize for BlockId (#1257) 2022-05-13 12:56:14 -07:00
Remco Bloemen 4ba8adf87c
Add Block::time (#1250)
* Add Block::time

* Doc fixes
2022-05-11 10:19:02 -07:00
Remco Bloemen 98fc8c88e4
impl TryFrom<U256> for Chain (#1247) 2022-05-11 07:35:30 -07:00
dependabot[bot] ab8ec1f75b
chore(deps): bump syn from 1.0.92 to 1.0.93 (#1244)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.92...1.0.93)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 08:31:55 -07:00
dependabot[bot] 7a6919ad58
chore(deps): bump unicode-xid from 0.2.2 to 0.2.3 (#1243)
Bumps [unicode-xid](https://github.com/unicode-rs/unicode-xid) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/unicode-rs/unicode-xid/releases)
- [Commits](https://github.com/unicode-rs/unicode-xid/commits)

---
updated-dependencies:
- dependency-name: unicode-xid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 08:31:49 -07:00
Tomas Tauber 0926ead2bc
fix(core): removed Cronos mainnet beta from `is_legacy` (#1246)
it now supports EIP1559 after the network upgrade at the height 2693800
2022-05-10 08:31:28 -07:00
Matthias Seitz 790550c1e5
feat(abi): add human readable tokenizer and parser (#1234)
* feat(abi): add human readable tokenizer and parser

* feat(abi): support nested tuples
2022-05-09 10:46:43 -07:00
dependabot[bot] c3c08e20c5
chore(deps): bump proc-macro2 from 1.0.37 to 1.0.38 (#1237)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.37...1.0.38)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 09:29:02 -07:00
Remco Bloemen 18b4ef4e47
Robust gas oracles (#1222)
* Pass reqwest Client to constructors

* Add Median oracle aggregator

* DRY

* Weighted median

* Add cache layer

* Simplify lifetimes

* Add with_client constructors

* Update GasNow urls

* Add u256_from_f64_saturating

* Add polygon oracle

* Fixes

* Fix lints

* Remove dbg statements
2022-05-06 08:16:43 -07:00
Matthias Seitz ce3ebaefa0
chore(clippy): make clippy happy (#1230) 2022-05-06 08:15:49 -07:00
inconspicuous99 f5c5468420
Add: Make Ganache Startup Timeout *Configurable*. (#1224)
* Add: Configurable Ganache Startup TImeout

* fix lint, add docs.
2022-05-05 07:40:48 -07:00
Matthias Seitz 67e3480bdc
chore(core): update moonbeam url (#1228) 2022-05-05 07:31:26 -07:00
CyMule 4d24acdd84
Adds From<H160> trait to ValueOrArray<H160> (#1200)
* Adds From<H160> trait to ValueOrArray<H160>

The trait From<H160> for ValueOrArray<H160> was not implemented which
prevented compilation when using
pub fn address<T: Into<ValueOrArray<Address>>>(self, address: T)
for ethers_core::types::Filter.

Fixes: #1199

* update CHANGELOG.md

* Adds From<Vec<H160>> trait to ValueOrArray<H160> and documentation

The trait From<Vec<H160>> for ValueOrArray<H160> was not implemented which
prevented compilation when passing a Vec<H160> into
pub fn address<T: Into<ValueOrArray<Address>>>(self, address: T)
for ethers_core::types::Filter.

This commit also includes documentation on how to use fn address for
ethers_core::types::Filter.

Fixes: #1199
2022-05-02 12:33:33 -07:00
dependabot[bot] c44872f62e
chore(deps): bump thiserror from 1.0.30 to 1.0.31 (#1206)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.30 to 1.0.31.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.30...1.0.31)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 11:54:22 -07:00
dependabot[bot] 81e7fea14b
chore(deps): bump syn from 1.0.91 to 1.0.92 (#1194)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.91...1.0.92)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-29 04:26:24 -07:00
Matthias Seitz 19f7a93243
feat(core): add block conversion helpers (#1186)
* feat: add full to sparse block conversion

* feat: add sparse to full block conversion
2022-04-27 11:46:06 -07:00
Josh Stevens 82d5741bcc
fix: add to and from into the transaction receipt to follow spec (#1184)
* fix: add to and from into the transaction receipt to follow spec

* update changelog
2022-04-27 15:40:59 +03:00
Dan Cline 3d9fc21ba9
fix(core): decode `from` field for typed transactions (#1180)
* fix(core): add eip1559 prefix for sighash

 - add a test which properly tests the `from` address decoding, which
   was incorrect due to the tx type not being hashed before recovery

* fix(core): decode from for EIP2930 transactions

 - add test which checks signed decoding for an EIP2930 transaction

* ignore decoding tests for celo

* remove type constant and use typed sighash

* update CHANGELOG
2022-04-27 15:39:59 +03:00
Rohit Narurkar 1b044652f0
chore(core): derive default for log (#1168) 2022-04-23 01:40:01 -07:00
Matthias Seitz 48e292021d
feat: add anvil bindings (#1164) 2022-04-21 19:22:52 +02:00
Matthias Seitz 7a098b183f
test: add type check test for abi array tuples (#1143) 2022-04-18 10:02:56 -07:00
Rohit Narurkar 45cce0f4b4
feat: impl rlp encodable for log and receipt (#1153) 2022-04-18 09:55:45 -07:00
Michael Sproul 286f842a2a
fix(core): encode absent tx access_list correctly (#1137)
The optional access list on `Transaction` was being incorrectly encoded
as an empty string (0x80) when omitted, when it should be encoded as an
empty list (0xc0).

Fixes #1134.
2022-04-13 08:26:14 -07:00
Matthias Seitz 7799634479
feat(types): add deserialize support for ValueorArray (#1138)
* feat(types): add deserialize support for ValueorArray

* chore: add hash derive

* chore: add Eq derive
2022-04-13 08:23:12 -07:00
Matthias Seitz 0bbd1e3bca
chore: add as number helper function (#1139) 2022-04-13 08:23:05 -07:00
Matthias Seitz 119956925d
fix: eth_feehistory reward is optional (#1127) 2022-04-09 15:12:05 -07:00
Dan Cline 6e004e7780
feat(core): implemented signed transaction RLP decoding (#1096)
* feat(core): implement signed transaction decoding

* add geth signed transaction test vectors

* add signed tx decoding CHANGELOG entry
2022-04-08 19:05:16 -07:00
Jonathan LEI bf4aa42884
fix: fix deploy tx RLP decoding (#1124)
* fix: fix deploy tx RLP decoding

* refactor: move duplicate RLP code into helper function
2022-04-08 10:58:26 -07:00
Matthias Seitz 509db06080
chore: expose some helpers (#1118) 2022-04-07 03:09:32 -07:00
dependabot[bot] 6e43d46f57
chore(deps): bump proc-macro2 from 1.0.36 to 1.0.37 (#1117)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.36 to 1.0.37.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.36...1.0.37)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-06 21:05:10 -07:00
dependabot[bot] d6e5647ab2
chore(deps): bump syn from 1.0.90 to 1.0.91 (#1113)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.90 to 1.0.91.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.90...1.0.91)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 23:42:49 -07:00
Dan Cline 842f4d260f
feat(core): add dev as a chain (#1093)
adds a new error message to etherscan if the user tries to create an
etherscan client with a 1337/ganache/dev chain
2022-03-30 11:20:23 -07:00
dependabot[bot] 167bb89727
chore(deps): bump syn from 1.0.89 to 1.0.90 (#1091)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.89 to 1.0.90.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.89...1.0.90)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-28 22:17:02 -07:00
Matthias Seitz a43a9b8806
fix(abi): change abiarraytype trait bounds for tuple (#1079) 2022-03-24 17:40:34 -07:00
Meet Mangukiya fa04247808
Tx optional from (#1075)
* doc(core/Signature): methods are all using normalized v, dont need to be 0 or 1 only

* feat(core/Transaction): make from optional, add method to recover from

* fix recovery

* add recover_from_mut

* update changelog
2022-03-23 22:06:55 -07:00
Meet Mangukiya d4fca905f5
feat(core/TypedTransaction): add helper for calculating max cost of tx (#1070) 2022-03-21 08:04:02 -07:00
Jeffrey Quesnelle 35748d0189
fix(core/Transaction): remove debug print (#1067) 2022-03-19 23:58:08 -07:00
Matthias Seitz 916e9a7334
chore(clippy): add some deny lints (#1064)
* feat: add deny lints

* trim ethers core

* trim ethers eip712

* deny ethers contract derive

* deny ethers contract abigen

* deny ethers contract

* deny ethers providers

* chore: add denies and fix unused deps

* doc: fix links

* fix: wasm build

* doc: fix links

* doc: fix links

* doc: fix inline doc links

* docs: fix intra doc links
2022-03-19 10:05:39 -07:00
Meet Mangukiya cde52c7c20
fix(core/TypedTransaction): eip1559 gas price should be max_fee_per_gas (#1062)
* fix(core/TypedTransaction): eip1559 gas price should be max_fee_per_gas

* fix tests

* tests(nonce_manager): reduce flakiness
2022-03-19 09:41:03 -07:00
Matthias Seitz b6b5b09f4a
feat(abigen): add abi object deserializer and generate deploy function (#1030)
* feat(abigen): add abi object deserializer

* chore: rustfmt

* refactor: use enum type for deser abi

* refactor: use enum types for deser

* chore: rustfmt

* feat: add bytecode field

* feat: generate bytecode static

* feat: generate deployment function

* refactor: deploy function

* feat: add contract deployer type

* feat: make 0x prefix optional

* feat: add deploy function

* feat: add deploy example

* chore: update CHANGELOG

* chore(clippy): make clippy happy
2022-03-18 21:23:33 -07:00
dependabot[bot] 262149945a
chore(deps): bump quote from 1.0.15 to 1.0.16 (#1061)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.15 to 1.0.16.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.15...1.0.16)

---
updated-dependencies:
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 22:18:59 -07:00
Matthias Seitz dd4893a752
feat(codec): add hex encode and decode functions (#1059) 2022-03-17 22:08:50 -07:00
Matthias Seitz 3d4feccabf
fix(core): check against ethers internal crate names (#1060)
* fix(core): check against ethers internal crate names

* fix: add import back
2022-03-17 15:14:53 -07:00
Matthias Seitz 2af28be283
fix(core): more sophisticated crate detection (#1056)
* fix(core): more sophisticated crate detection

* fix: remove RA hack
2022-03-17 12:49:38 -07:00
Meet Mangukiya 42ead6252d
feat(ethers-core/block): add gas_target and next_block_base_fee fns a… (#1047)
* feat(ethers-core/block): add gas_target and next_block_base_fee fns according to EIP-1559

* fix: feature flag gas_target, and next_block_base_fee to !celo, address review comments

* fix: in decreasing base fee case max(delta, 1) is not used

Refer 599ea45b9e/EIPS/eip-1559.md?plain=1#L193
2022-03-17 03:44:28 -07:00
dependabot[bot] 745d14ea7b
chore(deps): bump k256 from 0.10.3 to 0.10.4 (#1037)
Bumps [k256](https://github.com/RustCrypto/elliptic-curves) from 0.10.3 to 0.10.4.
- [Release notes](https://github.com/RustCrypto/elliptic-curves/releases)
- [Commits](https://github.com/RustCrypto/elliptic-curves/compare/k256/v0.10.3...k256/v0.10.4)

---
updated-dependencies:
- dependency-name: k256
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 02:02:57 -07:00
dependabot[bot] 62cede9806
chore(deps): bump syn from 1.0.88 to 1.0.89 (#1046)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.88 to 1.0.89.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.88...1.0.89)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 02:01:47 -07:00
c r db331eeeb3
utterly nitpicking but i was annoyed (#1038) 2022-03-16 11:15:49 +02:00
dependabot[bot] 129006b402
chore(deps): bump k256 from 0.10.2 to 0.10.3 (#1032)
Bumps [k256](https://github.com/RustCrypto/elliptic-curves) from 0.10.2 to 0.10.3.
- [Release notes](https://github.com/RustCrypto/elliptic-curves/releases)
- [Commits](https://github.com/RustCrypto/elliptic-curves/compare/k256/v0.10.2...k256/v0.10.3)

---
updated-dependencies:
- dependency-name: k256
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-15 02:16:38 -07:00
dependabot[bot] 1e3ec048c9
chore(deps): bump syn from 1.0.86 to 1.0.88 (#1033)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.86 to 1.0.88.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.86...1.0.88)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-15 02:16:31 -07:00
Meet Mangukiya 88262de9ee
feat(ethers-core/Bytes): impl FromStr (#991) 2022-03-05 20:14:11 +02:00
dependabot[bot] 010217c407
chore(deps): bump once_cell from 1.9.0 to 1.10.0 (#987)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.9.0 to 1.10.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.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-04 05:29:34 -08:00
Georgios Konstantopoulos d20c154e64 chore: bump ethabi to 17.0 2022-03-02 11:29:58 +01:00
Meet Mangukiya 4fd9c7800e
feat(ethers-core/Chain): implement Default trait (#976) 2022-02-28 22:58:04 +02:00
Georgios Konstantopoulos e0f5fe5325 docs(core): complete unfinished sentence in block comment
fixes #961
2022-02-28 11:44:34 +02:00
Matthias Seitz 45a37faa3d
fix(abigen): handle lossy ethabi generated abi structs (#950)
* fix(abigen): handle lossy ethabi generated abi structs

* chore: rustfmt
2022-02-22 20:26:21 +02:00
Alexandre Bazeaud 901d0c6e00
Add missing chains into parse method (#941)
* Add missing chains into parse method

* Update changelog
2022-02-21 18:01:19 +01:00
Tomas Tauber d5a1570fa2
feat(chain): add Cronos and Cronos testnet (#926) 2022-02-18 16:04:11 +02:00
dependabot[bot] 8ce58bfcf3
chore(deps): bump cargo_metadata from 0.14.1 to 0.14.2 (#920)
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata) from 0.14.1 to 0.14.2.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases)
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/0.14.1...0.14.2)

---
updated-dependencies:
- dependency-name: cargo_metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-17 16:54:10 +02:00
Matthias Seitz 4de4a676f0
chore: cargo --fix (#921) 2022-02-17 16:53:46 +02:00
Georgios Konstantopoulos f97a8ca541
fix(abigen): do not panic when run on non-cargo projects (#918)
* fix(abigen): do not panic when run on non-cargo projects

* chore: bump solidity test to 0.8.12
2022-02-16 17:46:25 +02:00
Sonny Scroggin 859af7e819
Remove `limit` on `Filter` (#917) 2022-02-16 17:15:55 +02:00
dependabot[bot] cd24022515
chore(deps): bump rand from 0.8.4 to 0.8.5 (#914)
Bumps [rand](https://github.com/rust-random/rand) from 0.8.4 to 0.8.5.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.8.4...0.8.5)

---
updated-dependencies:
- dependency-name: rand
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-15 22:32:38 +02:00
Georgios Konstantopoulos d28e6959db fix(core): correctly deserialize eip1186 proof responses 2022-02-12 18:58:58 +02:00
Meet Mangukiya 1f0eb725a7
feat(ethers-core/Chain): make to_string and from_str inverse functions (#903) 2022-02-12 17:41:18 +02:00
Tarrence van As d4eb78730a
fix(types/proof): add address field (#899) 2022-02-12 00:49:46 +02:00
Alexis Robert b07b302410
Fixes a parsing issue of EIP712 chain_id (chain_id = 80001 parsed as chain_id = 0x80001) (#892)
* Parsing U256 from base10_parse::<u64>() instead of directly to U256

This fixes a bug for chain_ids that are > 10, base10_parse::<U256>() was
somehow parsing into hex.

When using the derive macro, chain_id = 10 was parsed as chain_id = 0x10 = 16,
causing an issue for some chains like Polygon.

* chore: fmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-10 20:03:46 +02:00
Dan Cline ce0396ea18
fix(core): prevent chain_id from serializing for requests (#879)
* fix(core): prevent chain_id from serializing

* add default chainid for deserialization
2022-02-08 23:41:44 +02:00
0xTomoyo 75fbec0706
feat(chain): add arbitrum support (#869)
* feat: add arbitrum chainid & block explorer

* chore: update changelog

* feat: add arbitrum to is_legacy

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-05 16:36:21 +02:00
Matthias Seitz 8c07861b09
feat(codec): impl codec for Bytes (#856) 2022-02-02 13:57:39 +02:00
wolflo dc1565c014
fix(core): adjust Ganache for new cli output (#851) 2022-02-01 12:59:54 +02:00
dependabot[bot] 0df00a9bd5
chore(deps): bump elliptic-curve from 0.11.10 to 0.11.12 (#845)
Bumps [elliptic-curve](https://github.com/RustCrypto/traits) from 0.11.10 to 0.11.12.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve-v0.11.10...elliptic-curve-v0.11.12)

---
updated-dependencies:
- dependency-name: elliptic-curve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 10:08:14 +02:00
Dan Cline 01544ec4b7
Implement RLP decoding for transactions (#805)
* Implement RLP decoding for transactions

* set chain_id in fill_transaction
2022-01-30 21:21:16 +02:00
Options Eskimo 44499ae008
feat(chain): add BSC networks to the is_legacy helper (#843)
also fix formatting
2022-01-29 21:36:22 +02:00
juniorbeef 97744b87a6
core: fix overflow and panic in priority fee estimation (#839)
The U256 priority fees were being coerced into u32, which was not big
enough for actual values. The overflow was happening but not checked.
This led to a possible divide-by-zero panic in this code as well.

This change does the math as I256 -- overkill, but it works.
2022-01-29 14:54:38 +02:00
dependabot[bot] 5078008009
chore(deps): bump elliptic-curve from 0.11.9 to 0.11.10 (#837)
Bumps [elliptic-curve](https://github.com/RustCrypto/traits) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve-v0.11.9...elliptic-curve-v0.11.10)

---
updated-dependencies:
- dependency-name: elliptic-curve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-28 08:56:12 +02:00
Tarrence van As c22dd8eab4
feat(types/chain): is_legacy helper (#835)
moving this into ethers-rs from foundry so it can be more easily use elsewhere
2022-01-27 20:33:01 +02:00
Options Eskimo f434e0f57f
feat(chain): add BSC and BSC testnet (#831)
* feat(chain): add BSC and BSC testnet

* docs(changelog): add note about new BSC known chains
2022-01-27 16:50:11 +02:00
dependabot[bot] 75eca0116f
chore(deps): bump quote from 1.0.14 to 1.0.15 (#826)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.14 to 1.0.15.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.14...1.0.15)

---
updated-dependencies:
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-24 15:38:07 +02:00
dependabot[bot] 0d3c957cfe
chore(deps): bump syn from 1.0.85 to 1.0.86 (#816)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.85 to 1.0.86.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.85...1.0.86)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-20 15:47:51 +02:00
Meet Mangukiya 91ff71ec62
Fantom chain (#806)
* feat(core): add fantom and fantom-testnet chains

* feat(etherscan): add fantom chains support

* chore: lint
2022-01-18 13:00:27 +02:00
dependabot[bot] 6c7b6d1e49
chore(deps): bump k256 from 0.10.1 to 0.10.2 (#804)
Bumps [k256](https://github.com/RustCrypto/elliptic-curves) from 0.10.1 to 0.10.2.
- [Release notes](https://github.com/RustCrypto/elliptic-curves/releases)
- [Commits](https://github.com/RustCrypto/elliptic-curves/commits)

---
updated-dependencies:
- dependency-name: k256
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 12:38:40 +02:00
dependabot[bot] 1908c6d8ad
chore(deps): bump elliptic-curve from 0.11.7 to 0.11.9 (#803)
Bumps [elliptic-curve](https://github.com/RustCrypto/traits) from 0.11.7 to 0.11.9.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve-v0.11.7...elliptic-curve-v0.11.9)

---
updated-dependencies:
- dependency-name: elliptic-curve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 12:38:34 +02:00
dependabot[bot] 41663d3fc1
chore(deps): bump elliptic-curve from 0.11.6 to 0.11.7 (#793)
Bumps [elliptic-curve](https://github.com/RustCrypto/traits) from 0.11.6 to 0.11.7.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve/v0.11.6...elliptic-curve-v0.11.7)

---
updated-dependencies:
- dependency-name: elliptic-curve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-16 18:06:53 +02:00
Matthias Seitz 77dcccb7ba
fix(abi): check for uint8 params in human readable types (#789)
* fix(abi): check for uint8 params in human readable types

* Update ethers-core/src/abi/human_readable.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>

* fix mapping detection

* rustfmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-13 15:33:31 +02:00
Matthias Seitz d4f8984f59
chore(deps): bump ethabi master (#787) 2022-01-13 02:58:11 +02:00
Georgios Konstantopoulos 19671e51de chore: fix lints / solc test 2022-01-11 12:13:09 +02:00
Tarrence van As 092bd96a39
feat(chain): enum values + TryFrom<u64> (#782)
* feat(chain): map Chain enum to values

* feat(chain): support TryFrom<u64>

* chore: use parsechain error for the try_from impl

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-11 11:31:09 +02:00
dependabot[bot] a77bf845d2
chore(deps): bump ecdsa from 0.13.3 to 0.13.4 (#767)
Bumps [ecdsa](https://github.com/RustCrypto/signatures) from 0.13.3 to 0.13.4.
- [Release notes](https://github.com/RustCrypto/signatures/releases)
- [Commits](https://github.com/RustCrypto/signatures/compare/ecdsa/v0.13.3...ecdsa/v0.13.4)

---
updated-dependencies:
- dependency-name: ecdsa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-07 12:12:30 +02:00
Rohit Narurkar 2d05ea6234
ethers-addressbook crate (#769)
* feat: macro and token (simplest form)

* fix: better structure to fetch token by string symbol

* chore: add tokenlist to prelude

* fix: from current dir

* fix: dir refactoring

* fix: clippy

* chore: refactor tokenlist to addressbook
2022-01-07 12:12:21 +02:00
dependabot[bot] 10f014bd6c
chore(deps): bump syn from 1.0.84 to 1.0.85 (#764)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.84 to 1.0.85.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.84...1.0.85)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-06 13:50:29 +02:00
dependabot[bot] acadd672a8
chore(deps): bump k256 from 0.10.0 to 0.10.1 (#762)
Bumps [k256](https://github.com/RustCrypto/elliptic-curves) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/RustCrypto/elliptic-curves/releases)
- [Commits](https://github.com/RustCrypto/elliptic-curves/compare/k256/v0.10.0...k256/v0.10.1)

---
updated-dependencies:
- dependency-name: k256
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-06 08:20:21 +02:00
dependabot[bot] b347a1f65b
chore(deps): bump generic-array from 0.14.4 to 0.14.5 (#758)
Bumps [generic-array](https://github.com/fizyk20/generic-array) from 0.14.4 to 0.14.5.
- [Release notes](https://github.com/fizyk20/generic-array/releases)
- [Changelog](https://github.com/fizyk20/generic-array/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fizyk20/generic-array/commits)

---
updated-dependencies:
- dependency-name: generic-array
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-05 13:30:55 +02:00
odyslam.eth 96ef787230
feat: add FromStr impl for Chain (#756)
* feat: add FromStr impl for Chain

* fix(core): return error if chain not found

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-04 00:51:01 +02:00
dependabot[bot] c5ea7bd60a chore(deps): bump quote from 1.0.10 to 1.0.14 (#746)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.10 to 1.0.14.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.10...1.0.14)

---
updated-dependencies:
- dependency-name: quote
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-30 00:46:18 +02:00
dependabot[bot] 304a04b3fd chore(deps): bump proc-macro2 from 1.0.35 to 1.0.36 (#744)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.35...1.0.36)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-30 00:46:18 +02:00
dependabot[bot] c4236911bf chore(deps): bump convert_case from 0.4.0 to 0.5.0 (#741)
Bumps [convert_case](https://github.com/rutrum/convert-case) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/rutrum/convert-case/releases)
- [Commits](https://github.com/rutrum/convert-case/commits)

---
updated-dependencies:
- dependency-name: convert_case
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-30 00:46:18 +02:00
dependabot[bot] 7693392caa chore(deps): bump proc-macro2 from 1.0.34 to 1.0.35 (#743)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.34 to 1.0.35.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.34...1.0.35)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-30 00:46:18 +02:00
dependabot[bot] 2ca1ea4485 chore(deps): bump syn from 1.0.83 to 1.0.84 (#742)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.83 to 1.0.84.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.83...1.0.84)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-30 00:46:18 +02:00
bayu ✦ 3f095f415f
[draft] Add Optimism & OptimismKovan chains (#737)
* core: Add Optimism & OptimismKovan chains

* etherscan: Add ETHERSCAN_API_KEY to optimism network
2021-12-25 18:19:50 +02:00
dependabot[bot] 07e13ab9c7
chore(deps): bump syn from 1.0.82 to 1.0.83 (#726)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.82 to 1.0.83.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.82...1.0.83)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-23 16:38:16 +02:00
Georgios Konstantopoulos 568d9c8697
Update Cryptography crates (#617)
* fix(core): use new k256 for pubkey calculation

* fix(core): deserialize moonbeam keys with new fn

* chore(signers): update crypto crates

* chore: update cargo lock

* ci: remove libudev req

* chore: cargo fmt

* chore: fix outstanding yubihsm errors
2021-12-21 00:41:57 +02:00
Matthias Seitz 3c164bc9bf
feat(abigen): add EthAbiCodec proc macro (#704)
* feat(abigen): add EthAbiCodec proc macro

* rustfmt

* fix: tuple codec
2021-12-19 16:40:17 +02:00
Matthias Seitz e24117a1e1
chore(clippy): make clippy happy (#705) 2021-12-19 06:28:38 +02:00
x3ccd4828 6cecc4824a
fix: parse_units was generating an error on some values because of extra decimal places added round to prevent error (#701) 2021-12-17 11:22:37 +02:00
Georgios Konstantopoulos 4d647453e3
feat: new ethabi for error types (#700) 2021-12-17 00:24:10 +02:00
Alex Xiong 6cbdc89187
fix: avoid futures-util yanked err (#693) 2021-12-15 03:32:36 +01:00
Georgios Konstantopoulos f037fc0243
fix: do not panic on invalid units conversion (#691)
* fix: do not panic on invalid units conversion

This is done by switching the From implementations to TryFrom and
making the conversion functions return a thiserror Error instead of
the previous Boxed error object

* chore: update changelog
2021-12-15 03:32:29 +01:00
James Prestwich 47e9e7d3c7
refactor: move FeeHistory to core types (#688) 2021-12-14 00:49:49 +02:00
x3ccd4828 0e133e4a87
fix: format_units return was truncating the decimal places if there were leading zeros (#675) 2021-12-11 00:17:21 -07:00
dependabot[bot] 788f59623d
chore(deps): bump elliptic-curve from 0.11.1 to 0.11.5 (#653)
Bumps [elliptic-curve](https://github.com/RustCrypto/traits) from 0.11.1 to 0.11.5.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve-v0.11.1...elliptic-curve-v0.11.5)

---
updated-dependencies:
- dependency-name: elliptic-curve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-06 14:47:27 +02:00
dependabot[bot] 1a6aaf3362
chore(deps): bump proc-macro2 from 1.0.32 to 1.0.33 (#654)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.32 to 1.0.33.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.32...1.0.33)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-06 14:47:20 +02:00
Matthias Seitz 2a3fcbbb40
feat(abigen): use AbiType when parsing Function abi signature fails at compile time (#647)
* refactor: improved from token impl

* feat: add AbiType support

* feat: no need for expect

* feat: add missing abiarraytype impl

* test: add struct derive test

* chore: rustfmt

* chore: update changelog

* chore: rustfmt
2021-12-04 06:19:00 +02:00
James Prestwich 0f6d3688c2
feature: impl Default for eip2718::TypedTransaction (#646) 2021-12-03 22:03:49 +02:00
Matthias Seitz 7da5b64cfd
feat: add moonbeam support (#644)
* feat: add moonbeam support

* typos
2021-12-03 10:05:38 -08:00
Alexey Shekhirin dd2c589102
feat(etherscan, middleware): implement gas endpoints and use in oracle middleware (#621)
* feat(etherscan, middleware): implement gas-related endpoints and use them in gas oracle

* cleanup deps

* better comment

* revertme: add debug print

* Revert "revertme: add debug print"

This reverts commit 63993642c4.

* make etherscan tests serial

* run each etherscan test at least 200ms

* 200ms -> 250ms

* Revert "200ms -> 250ms"

This reverts commit 29c7f6ed9a.

* add separate etherscan key for celo tests

* 200ms -> 250ms

* add Chain::Sepolia to match
2021-11-27 09:54:20 +02:00
Rohit Narurkar 0b68227c38
feat: implement hex display for Bytes (#624)
* feat: implement hex display for Bytes

* chore: add changelog

* feat: impl Display, same as LowerHex

* fix: prepend 0x for hex display
2021-11-26 14:25:41 +02:00
dependabot[bot] e7fa7bab9a
chore(deps): bump syn from 1.0.81 to 1.0.82 (#620)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.81 to 1.0.82.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.81...1.0.82)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-25 10:16:38 +02:00
Matthias Seitz 2c30468b70
fix(codec)!: ambiguity unit8[] and bytes (#613)
* fix: unit8 encoding

* feat: use ethers::types::Bytes for solidity bytes type

* feat: add const generic from impls

* fix: failing tests

* fix: make compatible with bytes

* update changelog

* make compatible with encoding changes

* chore rm write to file
2021-11-24 22:15:17 +02:00
x3ccd4828 3a768b9c99
Fix parse units (#597)
* fix: changed format_units to return a String and preserve the decimal
places

* chore: fix changelog

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-11-24 11:07:18 +02:00
Georgios Konstantopoulos bb3a2fd27c
release: 0.6.0 (#611)
* release(core): 0.6.0

* release(providers): 0.6.0

* release(contract-abigen): 0.6.0

* release(contract-derive): 0.6.0

* release(derive-eip712): 0.2.0

* release(ethers-solc): 0.1.0

* release(contract): 0.6.0

* release(etherscan): 0.2.0

* release(signers): 0.6.0

* release(middleware): 0.6.0

* chore: update dev deps

* refactor(core): move docs to readme

* refactor(contract): move docs to readme

* refactor(providers): move docs to readme

* chore: bump ethers cargo toml

* refactor(signers): move docs to readme

* refactor(middleware): move docs to readme

* fix(ethers): adjust re-exports to allow searching internal packages

* docs: fix broken links

we cannot use relative crate imports because the readmes
are also imported by the parent crate

* alias readmes to be accessible to ethers crate
2021-11-23 21:23:12 +02:00
dependabot[bot] fb42f043a2
chore(deps): bump futures-util from 0.3.17 to 0.3.18 (#609)
Bumps [futures-util](https://github.com/rust-lang/futures-rs) from 0.3.17 to 0.3.18.
- [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.17...0.3.18)

---
updated-dependencies:
- dependency-name: futures-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-23 13:23:53 +02:00
Ivan Porto Carrero 1d65c9394f
add support for polygon and avalanche (#606)
* add support for polygon and avalanche, include the block explorers

* add multicall addresses for polygon
2021-11-22 11:02:28 +02:00
dependabot[bot] 983da8d6aa
chore(deps): bump elliptic-curve from 0.10.6 to 0.11.1 (#605)
Bumps [elliptic-curve](https://github.com/RustCrypto/traits) from 0.10.6 to 0.11.1.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve/v0.10.6...elliptic-curve/v0.11.1)

---
updated-dependencies:
- dependency-name: elliptic-curve
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 10:52:27 +02:00
Zhang Cheng ffb1a8bf1d
chore: enable zeroize feature for k256 (#596) 2021-11-19 11:22:07 +02:00
Alexey Shekhirin 2723e46044
chore: bump ethers-core to 0.5.5 (#582) 2021-11-14 14:24:40 +02:00
dependabot[bot] d28b5d847e
chore(deps): bump hex-literal from 0.3.3 to 0.3.4 (#573)
Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.3 to 0.3.4.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.3...hex-literal-v0.3.4)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-12 15:42:11 +02:00
Matthias Seitz dbea856e8c
fix: lift macros feature to lib level (#567) 2021-11-08 22:08:03 +02:00
dependabot[bot] 3d45a842b9
chore(deps): bump cargo_metadata from 0.14.0 to 0.14.1 (#563)
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata) from 0.14.0 to 0.14.1.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases)
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/v0.14.0...0.14.1)

---
updated-dependencies:
- dependency-name: cargo_metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-08 09:44:04 +00:00
Sebastian Martinez e72636210c
Refactor crate determination in new ethers-macro crate (#555)
* fix: compute ethers-core path in derive eip712

Co-authored-by: Ryan <ryan.tate@fieldresponder.io>

* refactor: move crate determination to ethers-macro

* docs: update fmt command

* fix: change cargo_metadata dep to optional

Co-authored-by: Ryan <ryan.tate@fieldresponder.io>
2021-11-05 15:00:01 +02:00
Georgios Konstantopoulos f0dea75219
feat: use ethers_solc::Solc instead of ethers_core::utils::Solc (#546)
* feat(ethers-solc): deserialize bytecode as bytes

* feat(ethers-solc): add method to fetch compact contract

* feat(ethers-solc): use Abi type instead of Vec<serde_json::Value>

* test(contract): use new Solc bindings

* test(middleware): use new Solc bindings

* chore: remove solc from ethers-core

* chore: remove concurrent setup code from ethers-core

* feat(ethers-solc): add ArtifactOutput::Nothing as a no-op artifact logger

* feat: add ethers-solc to top level crate

* examples: use new solc building pattern

* chore(solc): re-use opt str impl for error code decoding

* fix abigen example

* chore: fix doctests

* chore: remove setup feature

* fix: decode string to bytes correctly

* chore: clippy lints
2021-10-31 13:34:51 +02:00
dependabot[bot] e71fa21ccb
chore(deps): bump arrayvec from 0.7.1 to 0.7.2 (#540)
Bumps [arrayvec](https://github.com/bluss/arrayvec) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/bluss/arrayvec/releases)
- [Changelog](https://github.com/bluss/arrayvec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bluss/arrayvec/compare/0.7.1...0.7.2)

---
updated-dependencies:
- dependency-name: arrayvec
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-29 17:45:45 +02:00
Matthias Seitz dcf20022c6
chore: add rustfmt.toml (#537)
* chore: add rustfmt.toml

* rustfmt

* chore: Update readme with fmt info

* ci: update ci

* chore: rustfmt

* rustfmt

* rustfmt

* ci: install libudev

* chore(clippy): make clippy happy

* chore(clippy): make clippy happy

* revert ci

* ci: install libudev
2021-10-29 14:29:35 +02:00
Matthias Seitz eede86df41
feat: add abi code trait impls (#531)
* feat: use const generics for array tokenize

* feat: add abi encode decode impls

* test: add some tests

* chore: move abi codec to core

* update changelog
2021-10-28 01:07:24 +03:00
dependabot[bot] 7ceaba9328
chore(deps): bump syn from 1.0.80 to 1.0.81 (#535)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.80 to 1.0.81.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.80...1.0.81)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-27 12:27:22 +02:00
dependabot[bot] d50fc88441
chore(deps): bump proc-macro2 from 1.0.30 to 1.0.32 (#534)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.30 to 1.0.32.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.30...1.0.32)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-27 12:27:14 +02:00
Alexey Shekhirin cba1a85483
refactor(core, contract, etherscan): move Chain enum, use HashMap::from (#524)
* refactor(contract, etherscan): make use of HashMap::from

* feat(core): Chain enum

* rename unknown chain error

* reorg imports
2021-10-24 21:41:50 +03:00
Georgios Konstantopoulos ef9b3988ce
fix: ensure gas estimation includes the access list in 1559/2930 txs (#523)
* fix: ensure gas estimation includes the access list in 1559/2930 txs

* feat: add gas_price to typed tx

* feat: add access list to typed tx

* chore(providers): cleanup fill_transaction

* chore: fmt

* chore: enable 712 on ethers-contract at top level crate

* fix: do not error if eth_createAccessList is not available

* feat: only use access list if needed
2021-10-20 23:18:58 +03:00
Matthias Seitz c5a45f7bf4
feat: add abi type trait (#519)
* feat: add abi type trait

* rustfmt

* fix: fix imports

* feat: use const generic for u8 array

* rustfmt

* fix: imports
2021-10-18 23:24:53 +03:00
Matthias Seitz fb4d9a9ef1
feat: function call enums EthCall macro and more (#517)
* fix: do not sort event variants

* style: use deref over clone

* style: refactor some stuff

* feat: add ethcall trait

* feat: include in abigen

* feat: add bare bones eth call derive

* feat: impl EthCall derive

* feat: support enums

* feat: use abigen enum derive

* fix: concrete abi and map errors

* test: first call test

* rustfmt

* chore: use correct trait name on error

* feat: derive display for call structs

* feat: add from conversion

* test: add convert test

* chore: docs and test

* chore: update changelog

* cargo fix

* feat: add unit type derive support and more test

* chore: patch ethabi

* chore: rm ethabi patch

* feat: add encode/decode trait impls

* style: use AsRef<[u8]>

* Update ethers-contract/ethers-contract-abigen/src/contract/methods.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>

* style: reindent macro body

* test: add tuple event test

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-10-18 13:28:38 +03:00
Matthias Seitz bef7960a2b
feat: add display support for events (#513)
* chore: move proc macro implementation to separate modules

* feat: add display derive macro

* chore: reexport hex

* feat: add EthDisplay

* test: add display test

* fix: use ? op

* feat: derive EthDisplay in abigen

* feat: derive display for event enum

* chore: update changelog
2021-10-16 16:42:17 +03:00
dependabot[bot] cb46b1afed
chore(deps): bump proc-macro2 from 1.0.29 to 1.0.30 (#504)
Bumps [proc-macro2](https://github.com/alexcrichton/proc-macro2) from 1.0.29 to 1.0.30.
- [Release notes](https://github.com/alexcrichton/proc-macro2/releases)
- [Commits](https://github.com/alexcrichton/proc-macro2/compare/1.0.29...1.0.30)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-13 16:07:30 +03:00
dependabot[bot] 6d9b300b86
chore(deps): bump thiserror from 1.0.29 to 1.0.30 (#500)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.29 to 1.0.30.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.29...1.0.30)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-11 15:42:55 +03:00
dependabot[bot] 69c771c1c3
chore(deps): bump syn from 1.0.78 to 1.0.80 (#499)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.78 to 1.0.80.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.78...1.0.80)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-11 15:42:47 +03:00
Rohit Narurkar 2255b877de
feat: impl Deserialize for block number (#497) 2021-10-11 15:42:10 +03:00
Matthias Seitz 6216b2e4a2
chore: remove unused && cargo fix (#496)
* chore: rm allows

* chore: cargo fix
2021-10-10 09:31:34 +01:00
Ryan d7ab229a4c
derive-eip712: initial implementation of eip712 derive macro (#481)
* derive-eip712: initial implementation of eip712 derive macro

This commit provides an initial implementation for a derive macro
to encode typed data according to EIP-712, https://eips.ethereum.org/EIPS/eip-712

Additionally, this commit introduces a new signer trait method:

    async fn sign_typed_data<T: Eip712 + Send + Sync>(
        &self,
        payload: &T,
    ) -> Result<Signature, Self::Error>;

And implements the new method for each of the signers (wallet, ledger,
aws).

Additionally, these changes include using `WalletError` for the Wallet
signer error type

At the moment, derive does not recurse the primary type to find nested
Eip712 structs. This is something that is noted in the source and
currently responds with an error regarding custom types.

A subsequent PR should be opened once this issue becomes needed. For the
moment, the current implementation should satisfy non-nested, basic struct types.

* rename to ethers-derive-eip712; move to ethers-core

* refactor of derive-eip712 macro; use ParamType and EthAbiToken

* macro updates; add byte array checker for paramtype; use literal constant for domain type hash

* replace std::convert::Infallible with WalletError as Wallet signer error type

* update workspace members and dev dependencies for examples folder

* add example for eip712 and test against contract

* remove extraneous backward slash in '\x19\x01' prefix; example tests pass

* update unreleased change log

* remove print statements

* use parse_macro_input macro; remove dead code; handle nest struct not implemented error

* move eip712 example to solidity-contract tests folder; update cargo workspace dependencies

* allow optional EIP712Domain parameter when encoding eip712 struct and signing typed data

* add documentation for eip712 feature

* Update ethers-signers/src/ledger/mod.rs

Co-authored-by: Sebastian Martinez <me@sebastinez.dev>

* add error enum for Eip712Error; use sign_payload for ledger signer

* add EIP712WithDomain type for providing a wrapper around custom setting of the domain

* make LedgerWallet sign_payload public

* use optional feature gated dependencies for eip712; add default method for encode_eip712

* add default domain_separator method, pre-compute separator hash

* move derive-eip712 deps to dev deps

* remove invalid sign payload parameter, add await on async method

* remove deprecated comment

* debugging 'bad key handle' error for ledger signer

try using 'sign_message'

* await sign digest for aws signer

* remove extra space, fix fmt warning

* fix test, fmt errors

* use gt 0.6.0 pragma compiler version

* enable ABIEncoderV2 for solidity test contract

* chore: make test constructor public

Co-authored-by: Sebastian Martinez <me@sebastinez.dev>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-10-08 16:22:51 +01:00
Matthias Seitz 5d8b66a68f
feat: add general solc contract types (#484) 2021-10-04 07:45:32 +01:00
Georgios Konstantopoulos c7e4e0d433 chore: expose I256 functions 2021-10-02 23:53:17 +03:00
Matthias Seitz 42bf98330b
feat: support human readable struct inputs (#482)
* feat: keep track of custom types in abi parser

* feat: use internal structs for abi parsers

* test: add human readable struct input test

* chore: update changelog

* fix conflicts

* fix: remove eprintln

* make clippy happy

* make clippy happy

* rustfmt

* make clippy happy
2021-10-02 17:34:01 +03:00
Matthias Seitz da70e0caab
feat: allow to configure combined-json (#483) 2021-10-02 05:02:16 +03:00
Georgios Konstantopoulos a9157e1543
fix(human-readable-abi): allow functions without output args (#477) 2021-09-29 17:28:30 +03:00
Alexey Shekhirin 7a10944507
feat(core, abi): support shorthand function declarations (#472)
* feat(core, abi): support shorthand functions

* simplify a bit but not much lol

* refactor a bit, beautify a lot

* fail on absent output parens for shorthand

* chore: fix clippy lints

* fix: parse shorthand functions in multiline parsing

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-09-28 13:24:00 +03:00
Georgios Konstantopoulos ede76a2feb
fix(solc): normalize EVM version across solc versions (#473)
* fix(solc): normalize EVM version across solc versions

* fix: return semver::Version from solc::version instead of String

* fix off-by-1 error in solc version parsing
2021-09-28 02:25:45 +03:00
Georgios Konstantopoulos 1fb3fbfef6 chore: expose solc module 2021-09-27 20:48:18 +03:00
Georgios Konstantopoulos 8574e6a376
release: 0.5.3 (#471)
* release: version 0.5.3

* chore: update changelog
2021-09-27 13:20:10 +03:00
Georgios Konstantopoulos 7fdc47e8e5
chore: bump ethabi (#469) 2021-09-24 21:05:58 -04:00
Odysseas Lamtzidis 22367988fd
Add Decimal support to ethers::utils::parse_units (#463)
* implemnet parse_units with dec support

* Add doc tests

* add decimal support to parse_ethers()

* add unit tests
2021-09-20 16:02:45 -05:00
Odysseas Lamtzidis 80adc08860
Change wei from 1 to 0 (#460)
1 WEI = 10^0 WEI, not 10^1
2021-09-20 09:53:37 -05:00
drewstone 83e953bc2f
Add getProof to provider (#459)
* Add getProof to provider

* Format updates

* Add docs

* Remove fill_tx method, not sure how it got there

* Fix removed Trace type

* Remove test, eth_getProof not supported by ganache
2021-09-18 01:01:02 -05:00
Georgios Konstantopoulos 566f4c1f34 fix: remove solc path canonicalization 2021-09-13 23:58:10 +03:00
Georgios Konstantopoulos cf3339066b fix(solc): canonicalize custom paths 2021-09-13 23:46:37 +03:00
Georgios Konstantopoulos a6918aed2b
fix(ethabi): breaking changes and force enable serialize for eth-types (#448)
* fix(ethabi): breaking changes and force enable serialize for eth-types

* chore(ethereum-types) enable rlp
2021-09-13 20:43:54 +03:00
Georgios Konstantopoulos 77bc5aa30f
feat: expand solc capabilities / chore: update ethabi (#445)
* chore: use ethabi with bumped ethereum-types

* fix: do not use internal type in human readable abi

* fix: do not use internal type in abigen

* feat(solc): save the runtime bytecode

* feat: implement serde for CompiledContract

* feat: allow overriding solc binary path

* feat: expose providing raw file paths

* feat: do not set evm versions on old solc

* chore: use upstream ethabi
2021-09-13 15:35:50 +03:00
wolflo 90df511704
core: add utils::get_create2_address_from_hash() (#444) 2021-09-11 19:41:14 +03:00
wolflo 46faf7614b
Add usage examples for hashing utilities (#436)
* core: add doctest for utils::get_create2_address()

* examples: add permit hash encoding example
2021-09-09 08:42:42 +03:00
dependabot[bot] 6a938158b6
chore(deps): bump thiserror from 1.0.28 to 1.0.29 (#433)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.28 to 1.0.29.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.28...1.0.29)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-06 11:33:01 +03:00
Georgios Konstantopoulos 520645c48b
chore: add changelog for #427 changes (#428) 2021-09-03 17:50:50 +03:00
wolflo 664ccfe9d6
fix: Enable solc optimization (#427)
* fix: solc optimization enabled

* feat(solc): optional optimizer and passthrough args

Change optimizer() method to accept an Option<usize> (breaking).
Add args() option to pass arbitrary arguments to solc command.
2021-09-02 13:18:04 +03:00
dependabot[bot] 4128363f3c
chore(deps): bump thiserror from 1.0.26 to 1.0.28 (#419)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.26 to 1.0.28.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.26...1.0.28)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-31 13:55:22 +03:00
Georgios Konstantopoulos 838f19fcd4 (cargo-release) version 0.5.2 2021-08-31 13:39:25 +03:00
Oliver Nordbjerg a1f2600551
Correctly encode non-legacy mempool transactions (#415)
* Correctly encode non-legacy mempool transactions

If a non-legacy transaction was fetched from the mempool and
then RLP-encoded for inclusion in e.g. a flashbots bundle,
then the bundle would fail because the encoding only worked
for legacy transactions.

* Add tests and fix encoding
2021-08-31 13:38:16 +03:00
dependabot[bot] 404e9c2416
chore(deps): bump futures-util from 0.3.16 to 0.3.17 (#423)
Bumps [futures-util](https://github.com/rust-lang/futures-rs) from 0.3.16 to 0.3.17.
- [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.16...0.3.17)

---
updated-dependencies:
- dependency-name: futures-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-31 08:48:24 +03:00
Georgios Konstantopoulos 9df4d21d3b
(cargo-release) version 0.5.1 (#414) 2021-08-29 02:53:10 +03:00
Georgios Konstantopoulos 38c7f5030f
chore: remove cyclical dependencies (#410)
* chore(core): remove ethers dep

* chore(providers): remove ethers dep

tests using higher-rank crates are temporarily disabled

* chore(middleware): remove ethers dep and move tests over from providers

* chore(signers): remove ethers dep

* fix(contracts): correctly determine ethers sub-crates & remove ethers

* fix: re-enable tests for all members

* fix: make contract compile without middleware dep

move over the test using middleware to ethers-middleware

* chore: cargo fmt

* chore(contract): add missing import

* WIP

* WIP

* fix(middleware): use rustls as dev dep

* chore: cargo fmt

* fix: use different key for nonce manager to avoid nonce conflicts

* chore: fix celo test ported over to middlewares

the test had the same private key with an existing middleware test,
causing potential nonce reuses

it now also uses a different storage contract, so we had to change
it to use u256 instead of string

* fix(middleware): enable contracts/celo feature

* chore: ignore non-eip2718 txs to rinkeby
2021-08-29 00:06:29 +03:00
Oliver Nordbjerg 72c77dd0cb
Fix RLP encoding of gas price (#408) 2021-08-27 11:09:34 +03:00
dependabot[bot] 38175c4b1a
chore(deps): bump bytes from 1.0.1 to 1.1.0 (#407)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.0.1 to 1.1.0.
- [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.1...v1.1.0)

---
updated-dependencies:
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-26 11:29:52 +03:00
dependabot[bot] 8ba1885f0b
chore(deps): bump elliptic-curve from 0.10.5 to 0.10.6 (#406)
Bumps [elliptic-curve](https://github.com/RustCrypto/traits) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/elliptic-curve-v0.10.5...elliptic-curve/v0.10.6)

---
updated-dependencies:
- dependency-name: elliptic-curve
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-24 10:23:41 +03:00
Matthias Seitz ea566663d4
feat: wasm support (#390)
* feat: partial wasm32 support

* make compile for wasm32

* feat: att async-trait attr

* make compatible with wasm

* add type alias for archs

* rustfmt

* add wasm ci

* make compile with wasm-pack test

* make compile with wasm-pack test

* make compile with wasm-pack test

* make compile with wasm-pack test

* ci: disable wasmpack

* feat: use wasm timer delay

* feat: add wasm provider

* rustfmt

* misc refactor

* add wasm example

* make example a directory

* untrack error log

* move profile to root

* fix unused imports

* ci: enable wasm-pack test

* style: unify websocket implementations

* fix: typos

* fix: make policy compatible with wasm target

* chore: do not include ethers-wasm example as top level workspace member

* chore: modify wasm32 dependencies

* chore: make note about getrandom

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-08-23 12:56:44 +03:00
Georgios Konstantopoulos 8891ed38b4
chore: pull ethers to top level directory (#398)
* chore: pull up ethers to top level directory

* chore: enable ws feature when running examples

* chore: fix paths

* chore: enable ipc feature when running examples
2021-08-21 15:34:21 +03:00
Rohit Narurkar ad779c867f
feat: fee estimation with custom/default fn (#369)
* feat: fee estimation with custom/default fn

* fix: clippy and percentage calc fix

* calculate priority fee only if base fee above threshold

* chore: some comments

* fix: use legacy tx for ganache

* test: test a few cases for fee estimation using utils
2021-08-19 17:01:40 +03:00
Georgios Konstantopoulos 7d9dfcb53c
fix: skip 2930 tests in legacy mode / skip aws test if no id (#386)
* fix: skip 2930 tests in legacy mode

* test: skip aws signer test if no key id is set
2021-08-17 15:42:08 +03:00
James Prestwich f78edfeabb
feature: add legacy feature to ethers crate (#384) 2021-08-17 09:48:02 +03:00
James Prestwich e98288d0d5
bugfix: disable type serialization when legacy feature is set (#383) 2021-08-17 00:12:30 +03:00
Georgios Konstantopoulos 6cb7cac675
Release: 0.4 (#382)
* fix(abigen): use `no_deps` to avoid touching a Cargo.lock

* fix: use once_cell default features

* release: publish versions

core/providers/signers: 0.4.6
contract: 0.4.7
middleware: 0.4.8
ethers: 0.4.0
2021-08-16 11:54:12 +03:00
Matthias Seitz ba5f650dec
feat: generate rust structs from solidity JSON ABI (#378)
* add raw abi model

* feat: simplify struct representation

* feat: add struct generation

* use structs as function input

* fix: failing test

* add example

* rustfmt
2021-08-16 10:29:44 +03:00
Georgios Konstantopoulos 453504cb78 chore: remove default feature on futures-util from all crates 2021-08-15 20:25:11 +03:00
Rohit Narurkar 3c89c732b7
fix: signature fields should be U256 instead of H256 (#379)
* fix: signature fields should be U256 instead of H256

* fix: relevant changes for aws and ledger signer
2021-08-15 14:30:44 +03:00
Georgios Konstantopoulos 60ff4660df
feat: multiple addresses on Filter (#375)
* feat: support multiple addresses in filters

To support filtering of 1..n addresses we had to add the ValueOrArray
enum to the log types and refactor some ethers-contract code

Fixes: #240

Signed-off-by: Sebastian Martinez <sebastinez@me.com>

* chore: fmt

* fix: use legacy tx in unit test due to Ganache

Co-authored-by: Sebastian Martinez <sebastinez@me.com>
2021-08-12 19:19:24 +03:00
Georgios Konstantopoulos 99e9a687ca
fix: make gasPrice optional (since Type 2 transactions) (#374)
* fix: make gasPrice optional (since Type 2 transactions)

* chore: use new pkey for testnet txs to avoid nonce conflicts
2021-08-12 19:01:52 +03:00
georgewhewell 4cae82849f
add impl_fixed_types!(18) (fixes opensea abigen) (#373) 2021-08-12 17:43:55 +03:00
Georgios Konstantopoulos 4d4436a894 fix(core): use async-await-macro to fix docs.rs publishing 2021-08-12 17:08:51 +03:00
Georgios Konstantopoulos 1d79ec1360 chore: skip tx rlp test in celo 2021-08-09 04:01:17 +03:00
Georgios Konstantopoulos 25c2e0e199
feat(ethers-contract): typed txs (part 4) (#362)
* feat(contract): use eip-1559 txs by default

This may break any tests which use Ganache, since it only supports legacy transactions.
We should replace Ganache with hardhat where possible

* fix(providers): always try setting default_sender

* chore: make all test transactions legacy

* feat(multicall): allow submitting legacy txs

* chore: default to legacy txs via feature flag

This is useful for chains like Celo that do not support the Typed Envelope

* fix: use legacy txs in ds proxy deployment / tests

* chore: fix review comments
2021-08-09 03:50:38 +03:00