Commit Graph

1700 Commits

Author SHA1 Message Date
Andrea Simeoni 04ed534b72
docs: mdbook (#1994)
* mdbook init + summary

* Getting started section

* intro typos

* intro typos and wording

* intro typos and wording

* Big numbers section

* Big numbers: added section titles + docs refinement

* Removed index prefix from file names

* Update docs/mdbook/book.toml

Co-authored-by: Andrea Simeoni <>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-03 15:18:38 +02:00
Matthias Seitz d1df3417f7
feat(solc): improve error on case mismatch (#1998) 2023-01-03 15:14:01 +02:00
Matthias Seitz 6ac3e75c6a
fix: use full path of i256 (#2000) 2023-01-03 15:12:47 +02:00
DaniPopes 97582cc346
feat(core, contract): improve `determine_ethers_crates` (#1988)
* refactor: determine_ethers_crates

* feat: improve crate resolution

* export new types and functions

* export

* fix: file name check

* fix: invert condition and check CARGO_MANIFEST_DIR

* use abigen macro to generate multicall

* chore: rm debug

* rm unnecessary .replace

* chore: clippy

* chore: clippy

* Revert "chore: clippy"

This reverts commit bd220f308d.

* Revert "chore: clippy"

This reverts commit 5550f4e856.

* add tests

* better tests, docs

* add another test

* fix docs

* refactor: add an environment struct for determining ethers crates

* fix: use fmt::Debug to escape paths

* docs: rename and rm old docs

* feat: use global path for crates

* fix: docs

* chore: move rand impl to tests mod
2023-01-03 15:11:57 +02:00
DaniPopes fd4da49121
tests: use sepolia (#1989)
* tests: use sepolia

* update ci

* update sleep duration

* deprecate ropsten

* use goerli

* fmt

* keys
2022-12-31 12:47:53 +02:00
Dan Cline 228f9607fe
feat(core): expose all genesis related structs (#1975) 2022-12-30 14:48:47 +02:00
DaniPopes d272318483
chore: update all rust editions to 2021 (#1979) 2022-12-30 14:48:29 +02:00
0xKitsune f94e6f549f
added `from_bytes` for `Wallet` type (#1983)
* added `from_bytes` for `Wallet` type

* added key_from_bytes test for Wallet::from_bytes

* updated changelog
2022-12-30 14:45:19 +02:00
Akram Hussein 69e0ff7301
fix: doc typo regarding Multicall::call_array (#1985) 2022-12-30 14:44:03 +02:00
DaniPopes 4274a27531
fix(examples): deprecated gas oracle (#1986) 2022-12-30 14:43:49 +02:00
dependabot[bot] a42cc9f63f
chore(deps): bump once_cell from 1.16.0 to 1.17.0 (#1987)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.16.0 to 1.17.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.16.0...v1.17.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 14:43:05 +02:00
DaniPopes c5ff733702
chore: clippy (#1990)
* chore: clippy

* chore: clippy
2022-12-30 14:19:41 +02:00
Georgios Konstantopoulos 48dbbbd829 chore: clippy 2022-12-30 14:18:58 +02:00
Matthias Seitz fcef7c70ad
fix: gwei wei wrong u256 constant (#1992) 2022-12-30 12:46:52 +02:00
Andrea Simeoni 10310ce3ad
refactor: examples (#1940)
* ToC

* Big numbers section

* Middleware examples: builder

* Middleware examples: gas_escalator

* Middleware examples: gas_oracle

* Middleware examples: signer

* Middleware examples: missing stubs

* review: applied DaniPopes suggestions to big numbers

* typo

* Middleware examples: nonce_manager

* cargo +nightly fmt

* update roadmap

* Middleware examples: policy

* Middleware examples: added docs

* Contracts examples: created folder; included abigen example

* Contracts examples: refactor abigen docs. Fixed cargo example reference

* Contracts examples: contract_events; minor docs changes

* Moved each example under its own crate.
Cargo builds locally
TODO: Fix broken examples CI

* Big numbers examples: used regular operators for math

* Single examples run correctly (missing overall CI execution)
Example crates dependencies
Removed duplicates

* review: Applied gakonst note to remove commented items in workspace manifest

* review: Applied gakonst note to restore visibility on contract constructor

* ci:
- Run/Build  examples in a single step to avoid duplicated scripts
- Removed ci.yaml step "Build all examples"

* cargo +nightly fmt

* ci: fix WASM step error

* Removed deprecated EthGasStation example

* WASM example uses local copy of `contract_abi.json`. In this way we keep the WASM example auto-consistent, at the cost of a small duplication

* Cargo.lock aligned to master branch

* Removed useless comments in examples

* review: Applied gakonst note to add panic!() on the policy middleware example

* review: Applied gakonst suggestion to add a custom middleware example

* typos in docs

* Update examples/big-numbers/examples/bn_math_operations.rs

review: Accepted commit suggested by DaniPopes

Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>

* review: Applied DaniPopes suggestion on assert_eq!

* Update examples/big-numbers/README.md

review: Accepted DaniPopes suggestion on big-numbers docs

Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>

* review: All imports now reference the "ethers" crate

* ci: added features ["ws", "rustls"] where needed
cargo +nigthly fmt

* Examples with special features (e.g. ipc, trezor etc.) are built alongside them. This is expressed as a "default" requirement in their respective Cargo.toml

* cargo +nightly fmt

* Examples: Gas oracle API keys from env
Added missing features in middleware Cargo.toml

* typo: use expect() instead of unwrap()

* Updated ToC
Moved 2 examples under more relevant folders

* Gas oracle examples raise panic on middleware errors

* review: removed useless [[example]] in Cargo.toml

* review: removed #[allow(unused_must_use)] from gas_escalator example

* review: Removed prefixes from file names

* review: removed useless [[example]] in Cargo.toml

* docs: Updated description to run examples in the workspace README.md

Co-authored-by: Andrea Simeoni <>
Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>
2022-12-29 14:53:11 +02:00
James Prestwich e26ede21f1
fix: don't override user-set 1559 attributes (#1980)
* fix: don't override user-set 1559 attributes

* fix: enforce cap on prioirity fee per gas
2022-12-29 03:05:08 +02:00
dependabot[bot] 799f752e55
chore(deps): bump serde_path_to_error from 0.1.8 to 0.1.9 (#1969)
Bumps [serde_path_to_error](https://github.com/dtolnay/path-to-error) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/dtolnay/path-to-error/releases)
- [Commits](https://github.com/dtolnay/path-to-error/compare/0.1.8...0.1.9)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-25 13:53:42 +02:00
dependabot[bot] ea6d058bbc
chore(deps): bump proc-macro2 from 1.0.47 to 1.0.49 (#1951)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.47 to 1.0.49.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.47...1.0.49)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-25 13:53:32 +02:00
Vid Kersic b27c7b0773
feat: debug_traceCall (#1949)
* feat: debug_traceCall

* chore: update changelog

* fix: rebase to master and change tracer from string to enum
2022-12-25 13:33:05 +02:00
Andrey Kuznetsov 2e32528292
chore: gitignore .pre-commit-config.yaml (#1973) 2022-12-25 12:20:42 +02:00
Matthias Seitz 8a5b3cc6c9
fix: reexport SourceLocation (#1971) 2022-12-23 14:58:02 +02:00
Matthias Seitz 5bbc7524c0
chore: rm broken pre commit yaml (#1972) 2022-12-23 13:56:51 +02:00
Matthias Seitz 612cce016c
fix: reexport some ast types again (#1968) 2022-12-23 12:37:23 +02:00
DaniPopes d8d4eac3ad
fix(contract): add setter for MultiBindings' rustfmt (#1948) 2022-12-22 21:05:00 +02:00
dependabot[bot] 0cc6be4f5c
chore(deps): bump thiserror from 1.0.37 to 1.0.38 (#1950) 2022-12-22 21:00:36 +02:00
dependabot[bot] 3e685aaede
chore(deps): bump semver from 1.0.14 to 1.0.16 (#1952) 2022-12-22 21:00:18 +02:00
dependabot[bot] 6bb5abb2fd
chore(deps): bump syn from 1.0.105 to 1.0.107 (#1953) 2022-12-22 21:00:10 +02:00
dependabot[bot] bfb919a5bf
chore(deps): bump serial_test from 0.9.0 to 0.10.0 (#1954) 2022-12-22 20:59:44 +02:00
Sebastiano Faiella 253202f96a
docs(ethers-providers): fixed typos in rw client docs (#1957) 2022-12-22 20:59:20 +02:00
dependabot[bot] 73039ba264
chore(deps): bump num_cpus from 1.14.0 to 1.15.0 (#1959) 2022-12-22 20:58:52 +02:00
DaniPopes 1baf88138f
fix(etherscan): source code serde (#1962) 2022-12-22 20:58:35 +02:00
DaniPopes 5008006767
fix: ethers-etherscan solc feature (#1965) 2022-12-22 20:57:00 +02:00
alpharush 42dacbb9b3
(docs): add clippy command (#1967) 2022-12-22 20:56:33 +02:00
Andrey Kuznetsov 8673704955
Init devenv, gitignore .nlsp-settings (#1942) 2022-12-22 18:25:09 +02:00
Matthias Seitz 04e0092adf
revert: Ast Artifact (#1966) 2022-12-22 18:22:11 +02:00
Franfran d553111906
fix: rebase to master for onbjerg's ast (#1943) 2022-12-22 15:22:57 +02:00
DaniPopes e007ea01b1
feat(core): chain macros and impls (#1958) 2022-12-22 14:44:51 +02:00
Yiannis M 813600e6c9
fix: Add `openssl` and `rustls` feature flags in ethers-middleware (#1961)
* fix: ethers-middleware: Add `openssl` and `rustls` feature flags

* fix: ethers-contract-derive: Disable default features of ethers-contract-abigen

Without this fix, `rustls` was enabled by default even if user had `openssl` feature flag
2022-12-21 16:44:42 +02:00
Genysys 91cd6ccce8
feat: adds bscscan as abi source (#1955) 2022-12-19 17:54:24 +02:00
DaniPopes bb4af1c134
fix(middleware): oracles, tests (#1944)
* fix(middleware): oracles, tests

* fix: use util

* fix: make blocknative api key optional

* make response fields public

* import orders

* docs: oracle trait

* fix: make response fns public

* chore: clippy

* fix: doc tests
2022-12-18 13:45:47 +02:00
DaniPopes 022f082cee
fix(msrv): bump in .clippy.toml and add a comment in root Cargo.toml (#1945) 2022-12-18 13:41:11 +02:00
Dan Cline 6efa7ca85f
fix(core): decode to correctly in Transaction (#1946)
* would not correctly decode a create transaction because 0x80 was not
   properly decoded
2022-12-18 13:40:43 +02:00
Matthias Seitz e86183e935
feat: make geth executable configurable (#1947)
* feat: make geth executable configurable

* Update ethers-core/src/utils/geth.rs

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>

* Update ethers-core/src/utils/geth.rs

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2022-12-18 13:33:40 +02:00
Andrey Kuznetsov 279aea6323
feat(contract): add_calls and call_array for multicall (#1941) 2022-12-18 13:05:02 +02:00
Andrey Kuznetsov 5bc9ee73b2
fix(contract): allow 16 calls in multicall (#1934) 2022-12-15 09:47:59 +02:00
dependabot[bot] cd19d1a691
chore(deps): bump base64 from 0.13.1 to 0.20.0 (#1935)
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.13.1 to 0.20.0.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.13.1...v0.20.0)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-15 09:46:21 +02:00
dependabot[bot] ed4fb21343
chore(deps): bump rayon from 1.6.0 to 1.6.1 (#1936)
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/rayon-rs/rayon/releases)
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.6.0...rayon-core-v1.6.1)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-15 09:46:11 +02:00
Andrea Simeoni 4fd5bbb676
Added new checkbox to the PR checklist (#1937)
Co-authored-by: Andrea Simeoni <>
2022-12-14 10:06:02 +02:00
Dan Cline ea10f4b4df
fix(core): set `GethInstance` p2p_port in spawn (#1933)
* fix(core): set GethInstance p2p_port in spawn

 * previously, spawning Geth with disabled discovery would not actually
   set the p2p port in the returned GethInstance. This is because it
   would only pass the port to the geth command. If the value started as
   None, it would remain to be None in the GethInstance even though a
   port was passed to the command.
 * adds tests for the existence of ports in GethInstance

* remove rpc port test

* rpc port test doesn't make sense because it will always be set, it is
  not an Option

* use sigterm instead of sigkill

* use sigint instead of sigterm

* run tests in different directories

 * prevents flaky behavior because cargo runs tests in parallel, if the
   default directory were used, each GethInstance would fight for geth's
   file system lock.

* remove nix as a dep

 * sigkill works for now
2022-12-09 09:42:23 -08:00
dependabot[bot] c044dc8287
chore(deps): bump futures-locks from 0.7.0 to 0.7.1 (#1930)
Bumps [futures-locks](https://github.com/asomers/futures-locks) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/asomers/futures-locks/releases)
- [Changelog](https://github.com/asomers/futures-locks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/asomers/futures-locks/compare/v0.7.0...v0.7.1)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 12:31:05 -08:00