bluealloy / revm

Rust implementation of the Ethereum Virtual Machine.
https://bluealloy.github.io/revm/
MIT License
1.67k stars 572 forks source link

Revm 16.0.0 depends on alloy 0.3, resulting in duplicate crates #1828

Closed ARitz-Cracker closed 1 month ago

ARitz-Cracker commented 1 month ago

The alloydb feature provided by revm 16.0.0 still depends on outdated alloy crates. This results in duplicate (and conflicting) dependencies for alloy-eip7702.

Additionally, I've noticed that the 2 major version change releases today where based on a branch which diverged from main on Sept 9th. The main branch seemingly already has all the up-to-date dependencies. Are there plans to release a version on cargo based on the main branch anytime soonish?

rakita commented 1 month ago

Releases are done from release/* branches in this case release/v47 while main is getting a big refactor.

For why there is major version number bumped is because of the dependency bump on alloy-primitives that can be nasty. In reality it is maintainance/small release. it is better explained here: https://github.com/bluealloy/revm/issues/1812

The alloydb database is a small wrapper of 200 lines. If you need to use it, I recommend copying it to your codebase.

ARitz-Cracker commented 1 month ago

Thanks for the clarification!

rakita commented 1 month ago

Thanks for the clarification!

No problem, and thank you for using revm!

ARitz-Cracker commented 1 month ago

The alloydb database is a small wrapper of 200 lines. If you need to use it, I recommend copying it to your codebase.

Just wanted a clarification on this, if we were to fork AlloyDB and maintain an updated version ourselves, may we use the crate name revm-alloy-db? You could then deprecate AlloyDB in revm in favour of our fork if you do not wish to maintain it further.

rakita commented 1 month ago

The alloydb database is a small wrapper of 200 lines. If you need to use it, I recommend copying it to your codebase.

Just wanted a clarification on this, if we were to fork AlloyDB and maintain an updated version ourselves, may we use the crate name revm-alloy-db? You could then deprecate AlloyDB in revm in favour of our fork if you do not wish to maintain it further.

This seems reasonable. There is a potential future where this is included directly in alloy, but until then be free to publish revm-alloy-db.

rakita commented 1 month ago

Have published new revm with bumped AlloyDB