* 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
* On Ws error close all active subscriptions and force clients to reconnect. the Websocket.
* Comment typos
* Unit tests
Lint
cargo +nightly fmt
* - Added CHANGELOG entry
- Added `#` prefix to issue IDs where missing
* ownership typo
Co-authored-by: Andrea Simeoni <>
* tell Geth to expose the admin namespace
* wip: add admin namespace support
* add networking and peer related structs
* add rest of chain config fields
* add datadir to geth
* fix data dir ref
* add dev flag to geth
* set dev only if block_time is not set
* put mutually exclusive options in an enum
* make block_time use the devmode enum
* add p2p port to geth
* add basic impls for admin endpoints
* move from_int_or_hex to ethers-core utils
* fix nodeinfo protocol field
* the type is better represented by a struct which can have either eth
or snap
* add chain id and discovery toggle for Geth
* remove PeerEvent
* should re-add when peer event endpoints are implemented
* simplify serde options for admin responses
* change signature for peer modification apis
* these admin apis accept an enode, which _may_ be an enr, but could
also be a legacy enode "v4" url.
* add note on where `ChainConfig` fields come from
* add note on PeerInfo about the source of fields
* add admin namespace support to CHANGELOG
* update pr number in changelog
* cargo fmt
* move chainconfig to genesis in utils
* accept genesis file in geth
* add genesis writing to geth spawn
* finally get geth nodes to connect
* import io::Read in provider tests
* fix PeerInfo and use enode id for provider test
* make clippy happy
* improve documentation for genesis module
* remove not(wasm) attributes on genesis module
* remove debugging printlns
* remove io::Read from provider tests
* add failing post merge test case
* add full mainnet nodeinfo for testing
* support deserializing json bignums to U256
* the serde_json arbitrary_precision feature is necessary so the
serde_json::Number variant of `IntOrHexOrBigNum` can be converted
into a string and fed into U256::from_dec_string
* fix from_int_or_hex_opt doc string
* remove third variant from IntOrHex
* unnecessary since serde_json::Number handles smaller ints as well
* add comments for ids
* fix enode id type in admin_peers provider test
* fix admin typo in Cargo.toml
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* add method to wait on a gethinstance adding a peer
* fix dial loop and wait_to_add_peer doc comments
* update geth
* the build can be updated by changing the GETH_BUILD env var
* wait for geth to exit on drop
* remove unnecessary wait
* fix mid-handshake PeerInfo deserialization
* remove println
* make tests less flaky
* handle discovery with the rest of the non dev opts
* dump geth stderr to debug failing ci test
* add method which dumps the unread stderr of the geth instance into a
string
* remove call_raw debug println
* bug is due to authrpc endpoint being in use
* use unused port when authrpc port is not specified
* remove dump_stderr from GethInstance
* did not work properly anyways
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* Build an `Event` without requiring a contract instance
* Contract unit test
* Function to set Event address
* Example
* Typo to improve readability
* CHANGELOG
* cargo +nightly fmt
* FIX conflict
* review: applied Address alias
Co-authored-by: Andrea Simeoni <>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* Added support for I256 in format_units. Added two complement support for I256.
* Add I256 support into parse_units
Co-authored-by: Dave Belvedere <dave@protonmail.com>
* fix: generated crate not using generated version
* add docs
* wip: add base testcases
* fix: str formatting
* fix: add missing comma
* fix: tests and file loading
* fix: strip whitespaces
* fix: case where we are using specified crate
* linting: remove extra ref
* refactor: use toml parser over regex
* fix: add case for path and ethers-contract
* fix: add missing comma
* feat: don't check for path
* remove build-dep fallback
* created opcode enum and added to VMOperation. Fixes#1857
* rebuild trace logs to include missing fields
* opcode descriptions for docs + changelog
* restore traces and indent trace
* opcode 0x20 should be SHA3
* Update I256 documentation to call out diversions from standard numeric types on the right shift operator
* Update changelog
* Address review comment. Link changelog notes to PR
Co-authored-by: Dave Belvedere <dave@protonmail.com>
* ethers-solc: add immutableReferences output selector
It is a property on the deployed bytecode object
on the compiler output. This is the precursor for
`forge inspect <contract-name> immutableReferences`.
* chore: update changelog
* fix(abigen): abigen feature required for bindings
traits such as ethers::contract::EthDisplay require abigen
* update changelog
* abigen now uses re-exported version of serde_json
* fix(abigen): contract names can be reserve words
* update changelog
* clippy warning
* module names consistent with other safe_*
* update refs to generated abis
* move reserved words tests to their own fn
* added note to changelog re: module name changes