Dan Cline
537d0a9deb
fix(core): properly parse genesis alloc storage ( #2205 )
...
* fix(core): properly parse genesis alloc storage
* Previously we were not properly parsing the storage field of
GenesisAlloc. The first issue was in using serde(flatten), which is
just incorrect because storage is not encoded flattened. The second
issue was in the parsing of H256 keys and values. Some of the storage
values in hive genesis examples were encoded in less than 64 hex
characters, such as the string `0x12`. This would not succeed normal
H256 parsing.
* Introduce from_unformatted_hex_map to properly deserialize the
storage map.
* Modify existing genesis parsing tests to check parsed storage and
code values against expected values.
* Introduce new genesis parsing test from the hive smoke tests,
checking full struct equality.
* remove unused from_unformatted hex
* make clippy happy
2023-02-27 15:22:01 -07:00
DaniPopes
1861b98896
chore: move etherscan api key env var matching to Chain enum ( #2204 )
...
* fix: mainnet, optimism blocktimes
* chore: move etherscan api key env var matching to Chain enum
* docs: missing exhaustiveness comment
2023-02-27 13:14:36 -07:00
dependabot[bot]
59781a4e62
chore(deps): bump tempfile from 3.3.0 to 3.4.0 ( #2200 )
...
Bumps [tempfile](https://github.com/Stebalien/tempfile ) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases )
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS )
- [Commits](https://github.com/Stebalien/tempfile/commits )
---
updated-dependencies:
- dependency-name: tempfile
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>
2023-02-27 13:03:47 -07:00
dependabot[bot]
f577751615
chore(deps): bump syn from 1.0.108 to 1.0.109 ( #2202 )
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.108 to 1.0.109.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.108...1.0.109 )
---
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>
2023-02-27 13:03:34 -07:00
DaniPopes
203e350940
docs: fix broken links, update documentation ( #2203 )
...
* docs: fix broken links
* docs: update READMEs and module-level documentation
2023-02-27 13:03:17 -07:00
dependabot[bot]
7d54e3099c
chore(deps): bump num_enum from 0.5.10 to 0.5.11 ( #2184 )
...
Bumps [num_enum](https://github.com/illicitonion/num_enum ) from 0.5.10 to 0.5.11.
- [Release notes](https://github.com/illicitonion/num_enum/releases )
- [Commits](https://github.com/illicitonion/num_enum/compare/0.5.10...0.5.11 )
---
updated-dependencies:
- dependency-name: num_enum
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>
2023-02-24 16:45:22 -08:00
DaniPopes
f59153ba66
fix(core): i256 docs ( #2187 )
...
* fix(core): i256 docs
* add doc
2023-02-24 16:44:47 -08:00
DaniPopes
7e12f3ba36
feat(core): improve I256 implementation ( #2180 )
...
* feat(core): improve I256 implementation
* chore: reorganize impls
* chore: update docs, add attributes, use Self
* fix: signum
* chore: use inline(always), update implementations
* fix: use usize for shifting, add more shift ops
* feat: make arithmetic ops generic to match U256
* chore: clippy
* chore: return
2023-02-23 16:21:41 -08:00
dependabot[bot]
48dc4b1ee2
chore(deps): bump syn from 1.0.107 to 1.0.108 ( #2178 )
2023-02-23 13:15:40 -08:00
James Prestwich
2090bf560e
Expose contract revert errors in the ContractError struct ( #2172 )
...
* feature: spelunk for revert errors
* feature: bubble up revert to contract error
* feature: bubble up reverts to multicall
* fix: correctly remove signature when deserializing EthErrors
* chore: remove redundant test
* chore: clippy
* fix: allow empty revert string
* docs: add all missing rustdoc for ethers-contract
* chore: rustfmt
* chore: Changelog
* fix: danipope test comment
2023-02-22 14:52:25 -08:00
James Prestwich
ee5e3e52c0
fmt: run rustfmt ( #2176 )
2023-02-21 16:52:20 -08:00
DaniPopes
e55b8116f3
feat(contract): improve Multicall result handling ( #2164 )
...
* nits
* clippy
* ordering
* move
* chore: edition 2021
* chore: detokenize nit
* feat(contract): improve Multicall result handling
* docs: update CHANGELOG.md
* feat: make fields public
* chore: clippy
2023-02-20 18:50:28 -08:00
DaniPopes
3732de844c
fix(abigen): builtin trait derives ( #2170 )
...
* fix(abigen): builtin trait derives
* refactor: EthDisplay
* feat(derive): improve type detection
* chore: cleanup
* chore: edition 2021
* chore: clippy
* chore: use unreachable
2023-02-20 16:27:43 -08:00
dependabot[bot]
2f85e73049
chore(deps): bump num_enum from 0.5.9 to 0.5.10 ( #2168 )
...
Bumps [num_enum](https://github.com/illicitonion/num_enum ) from 0.5.9 to 0.5.10.
- [Release notes](https://github.com/illicitonion/num_enum/releases )
- [Commits](https://github.com/illicitonion/num_enum/compare/0.5.9...0.5.10 )
---
updated-dependencies:
- dependency-name: num_enum
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>
2023-02-20 16:17:32 -08:00
Muhammad Syahrul Nizam
33ed94851c
chore: added canto network ( #2171 )
2023-02-20 13:51:06 -08:00
Dan Cline
228f944726
use Option for CliqueConfig fields ( #2162 )
2023-02-17 12:01:12 -08:00
dependabot[bot]
69edf3b49e
chore(deps): bump once_cell from 1.17.0 to 1.17.1 ( #2156 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.17.0 to 1.17.1.
- [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.17.0...v1.17.1 )
---
updated-dependencies:
- dependency-name: once_cell
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>
2023-02-15 10:55:04 -08:00
WillQ
fd83e203b4
feat: add debug for geth default api ( #2140 )
2023-02-15 10:54:58 -08:00
DaniPopes
a69036f07b
fix(core): block FromStr implementation ( #2155 )
2023-02-14 13:15:58 -08:00
Dan Cline
a064657234
fix(core): test hive genesis parsing ( #2145 )
...
* add genesis tests from hive
* add another genesis from hive
* add execution-apis genesis
* add correct u64 hex decoding in GenesisAccount
* use default chainid of 1 without config
* add genesis test field asserts
* use better serde(default) settings
2023-02-13 17:06:57 -08:00
Matthias Seitz
a474a95cc5
chore: use arbiscan urls for arbitrum goerli ( #2127 )
2023-02-10 11:51:32 -08:00
dependabot[bot]
2c2ecd917c
chore(deps): bump proc-macro2 from 1.0.50 to 1.0.51 ( #2117 )
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.50 to 1.0.51.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.50...1.0.51 )
---
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>
2023-02-07 11:03:54 -08:00
YuFei Wang
14be402f40
feat: add support for Geth built-in tracer and config ( #2121 )
...
* feat: add 4byteTracer
* feat: add prestateTracer
* feat: add noopTracer
* refactor: geth tracer layout
* feat: call tracer config
* fix: compatible with legacy call trace
* feat: pre state tracer config
* test: serialize/deserialize tracer
* refactor: deserialize type
* style: update refs
* chore: update CHANGELOG.md
* style: json string to object
2023-02-07 10:50:44 -08:00
James Prestwich
e5e4da07c5
feature: allow signature to recover typed_data payloads ( #2120 )
...
* feature: allow signature to recover typed_data payloads
* fix: under feature flag and Changelog
* fix: undo accidental doc mangling
2023-02-06 13:27:35 -08:00
Matthias Seitz
0bb6f51082
chore: add convenient from impls ( #2112 )
2023-02-05 17:33:25 -08:00
DaniPopes
cabb15e346
feat(abi): packed encoding ( #2104 )
...
* feat(abi): packed encoding
* clippy
* fix: use least number of bits for int/uint
* docs: update CHANGELOG.md
* fix: doctest
2023-02-04 19:23:27 -08:00
Matthias Seitz
a544d4076c
feat: add DerefMut for OtherFields ( #2109 )
2023-02-02 11:12:52 -08:00
dependabot[bot]
1b4b35d44d
chore(deps): bump cargo_metadata from 0.15.2 to 0.15.3 ( #2101 )
...
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata ) from 0.15.2 to 0.15.3.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases )
- [Changelog](https://github.com/oli-obk/cargo_metadata/blob/main/CHANGELOG.md )
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/v0.15.2...0.15.3 )
---
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>
2023-02-01 15:32:41 -08:00
dependabot[bot]
7e11f54ab0
chore(deps): bump bytes from 1.3.0 to 1.4.0 ( #2100 )
...
Bumps [bytes](https://github.com/tokio-rs/bytes ) from 1.3.0 to 1.4.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.3.0...v1.4.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>
2023-02-01 15:32:32 -08:00
Vid Kersic
7e7f9041b3
feat: add support for js tracer to geth trace, fix different return types ( #2064 )
...
* feat: add support for js tracer to geth trace, fix different return types
* chore: fix clippy
* chore: update geth structs
2023-01-31 09:58:06 -08:00
DaniPopes
9b7d184fd6
feat(core): more type parsing ( #2095 )
...
* feat(core): more type parsing
* c
* doc
2023-01-31 09:37:33 -08:00
DaniPopes
93e1850646
refactor/feat(abigen,types): add bytes::Bytes static methods, refactor struct declaration ( #2089 )
...
* refactor: final struct expansion
* feat(types): implement bytes::Bytes static methods
* feat: use static Bytes for bytecode
* chore: add rustfmt skip directive
* clippy
2023-01-30 12:12:35 -08:00
Matthias Seitz
71c6fd4928
feat: add convenience impl From Log ( #2087 )
2023-01-30 12:06:46 -08:00
Dan Cline
9ebc5b378c
feat(core): expose genesis and private key in Geth ( #2091 )
...
* feat(core): expose genesis and private key in Geth
* expose the genesis and clique_private_key fields in GethInstance
* add tests which initialize geth with clique_private_key, making sure
the genesis and clique_private_key fields are exposed on the
GethInstance
* add clique p2p port test
* refactor tests to clean up properly
2023-01-30 11:57:34 -08:00
Matthias Seitz
ff05a8762b
fix: add getrandom with js feature for wasm ( #2076 )
2023-01-27 13:14:26 -05:00
dependabot[bot]
0077da5ba5
chore(deps): bump num_enum from 0.5.7 to 0.5.9 ( #2073 )
...
Bumps [num_enum](https://github.com/illicitonion/num_enum ) from 0.5.7 to 0.5.9.
- [Release notes](https://github.com/illicitonion/num_enum/releases )
- [Commits](https://github.com/illicitonion/num_enum/commits/0.5.9 )
---
updated-dependencies:
- dependency-name: num_enum
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>
2023-01-27 13:12:46 -05:00
Dan Cline
e9a808e84f
fix(core): fix geth --init temp dir race condition ( #2068 )
...
* fix(core): fix geth --init temp dir race condition
* previously, if multiple instances of geth were spawned concurrently,
only one directory would be used to populate geth's genesis.json.
this can lead to a race condition where the genesis.json would be
re-written by a second instance, before the first instance reads the
genesis.json for populating its db and genesis block with the geth
--init command. this was possible because directory returned by
std::env::temp_dir() is often shared
* fixes the race condition by using tempfile::tempdir(), which creates
a unique directory per call to tempdir()
* only use tempfile on non-wasm32
2023-01-21 18:13:40 -08:00
Georgios Konstantopoulos
b8fa524e8e
feat(core/geth): enable Clique mode ( #2063 )
...
* feat(core/geth): add method for initing Clique genesis
* feat(core/geth): add Clique mode
this is ported from https://github.com/paradigmxyz/reth/pull/623/files\#diff-99e7bcdfb85c75ffe5fb2ccfbc5fd8234fced6704c34b622fbf24289b8522515R228-R245
* feat(core/geth): disable discovery in clique mode
* examples: add Geth Clique example
2023-01-19 10:49:47 -08:00
dependabot[bot]
43dad6a705
chore(deps): bump proc-macro2 from 1.0.49 to 1.0.50 ( #2061 )
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.49 to 1.0.50.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.49...1.0.50 )
---
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>
2023-01-17 11:15:20 -08:00
Georgios Konstantopoulos
27761d7acc
chore: derive default for enums
2023-01-13 11:07:52 -08:00
Dan Cline
3a01682edf
feat(core): switch shanghaiBlock to shanghaiTime ( #2049 )
...
* geth switched to time-based forking in
https://github.com/ethereum/go-ethereum/pull/25878 , this changes the
name of the `shanghai_block` field to `shanghaiTime` so it is
compatible with geth.
2023-01-13 10:19:25 -08:00
Will Smith
2eb56e69b7
fix: revert to old version ( #2048 )
2023-01-12 17:53:28 -08:00
dependabot[bot]
5a4646f292
chore(deps): bump num_enum from 0.5.7 to 0.5.8 ( #2035 )
...
Bumps [num_enum](https://github.com/illicitonion/num_enum ) from 0.5.7 to 0.5.8.
- [Release notes](https://github.com/illicitonion/num_enum/releases )
- [Commits](https://github.com/illicitonion/num_enum/commits/0.5.8 )
---
updated-dependencies:
- dependency-name: num_enum
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>
2023-01-11 19:32:49 -08:00
DaniPopes
b4b153a364
perf(utils): avoid unnecessary allocations ( #2046 )
...
* perf(utils): avoid unnecessary allocations
* docs: add more to_checksum information
* docs
* use address
2023-01-11 19:20:35 -08:00
joshieDo
3c65997eae
feat(core): add `strum::EnumIter` and `strum::EnumCount` to `Chain` ( #2043 )
...
* add strum EnumIter and EnumCount to Chain
* clippy
2023-01-11 19:17:46 -08:00
Matthias Seitz
01d3e4310f
feat: support parsing bytecode from evm object ( #2024 )
2023-01-07 16:22:07 +02:00
DaniPopes
2aa7bc3b99
chore(core): alias&export error as ParseChainError ( #2022 )
...
* chore(core): alias&export error as ParseChainError
`pub use TryFromPrimitiveError as ParseChainError`
for backwards compatibility
* fix: comment
* fully alias
2023-01-07 11:14:25 +02:00
Chris Cordle
c684220144
feat: Add arbitrum nova api and chain id 42170 ( #2020 )
...
* Add arbitrum nova api and chain id
* chore: fmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-06 11:32:54 +02:00
WillQ
4a8a6ad259
abigen adopt hardhat generated bytecode ( #2012 )
...
* abigen adopt hardhat generated bytecode
* update changelog
2023-01-05 11:46:32 +02:00
Dan Cline
c0e607da1e
feat(providers): support personal account apis ( #2009 )
...
* feat(providers): add personal key mgmt rpcs
* add personal_importRawKey and personal_unlockAccount
* expose geth personal api
* do not prefix with 0x
* serialize privkey as string
* add allow-insecure-unlock option to Geth
2023-01-04 23:35:44 +02:00