Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reth-rpc-eth-types still brings boa from revm-inspectors even with the js-tracer disabled by default. #13408

Closed
storopoli opened this issue Dec 15, 2024 · 9 comments
Labels
C-enhancement New feature or request M-prevent-stale Prevents old inactive issues/PRs from being closed due to inactivity S-needs-triage This issue needs to be labelled

Comments

@storopoli
Copy link

Describe the feature

I have a PR to update a big codebase to [email protected] which includes the latest js-tracer optional fixes to try to remove the boa bloat in Cargo.lock since we don't want to build a whole JS interpreter every time we do cargo {build,check,test}.

Still somehow boa still shows up in the cargo tree. Here's the important parts:

├── reth-rpc-api v1.1.3 (https://github.com/paradigmxyz/reth.git?rev=v1.1.3#d97449da)
│   └── reth-rpc-eth-api v1.1.3 (https://github.com/paradigmxyz/reth.git?rev=v1.1.3#d97449da)
│       ├── reth-node-api v1.1.3 (https://github.com/paradigmxyz/reth.git?rev=v1.1.3#d97449da)
│       │   ├── reth-node-core v1.1.3 (https://github.com/paradigmxyz/reth.git?rev=v1.1.3#d97449da)
│       │   │   ├── reth-rpc-eth-types v1.1.3 (https://github.com/paradigmxyz/reth.git?rev=v1.1.3#d97449da)
│       │   │   │   ├── revm-inspectors v0.12.1
│       │   │   │   │   ├── boa_engine v0.19.1
│       │   │   │   │   ├── boa_gc v0.19.1 (*)

Now I am trying to find how did boa get into here.
It wasn't supposed to happen since:

  1. git grep 'js-tracer' shows nothing
  2. reth-rpc-api depends on reth-rpc-eth-api without the js-tracer feature
    1. Which in turn calls reth-node-api which does not depend on revm-inspectors
    2. Then calls reth-node-core that again does not depend on revm-inspectors.
    3. Then calls reth-rpc-eth-types which also has feature-gated the js-tracer feature and not enabling by default
  3. revm-inspectors has feature-gated boa dependency and not enabled by default for a while

Now I don't know if I need to change something in my codebase. Or if we need somehow to force reth-rpc-eth-types to not enable js-tracer feature in revm-inspectors by default.

Additional context

No response

@storopoli storopoli added C-enhancement New feature or request S-needs-triage This issue needs to be labelled labels Dec 15, 2024
@mattsse
Copy link
Collaborator

mattsse commented Dec 30, 2024

could you please link or paste your Cargo.toml file with the git deps?

@storopoli
Copy link
Author

@mattsse
Copy link
Collaborator

mattsse commented Jan 3, 2025

ah I think the issue is with this dep which contains the reth binary

https://github.com/alpenlabs/strata/blob/9f3c0fcc6ae78d609b7ce24f336e085f1852689b/Cargo.toml#L145

hence it enables the js-tracer feature

reth-node-ethereum = { workspace = true, features = ["js-tracer"] }

@storopoli
Copy link
Author

That's definitely it.
Is it possible to feature-gate it in reth?
Should I open a new ticket?

Copy link
Contributor

This issue is stale because it has been open for 21 days with no activity.

@github-actions github-actions bot added the S-stale This issue/PR is stale and will close with no further activity label Jan 27, 2025
@mattsse mattsse added M-prevent-stale Prevents old inactive issues/PRs from being closed due to inactivity and removed S-stale This issue/PR is stale and will close with no further activity labels Jan 27, 2025
@storopoli
Copy link
Author

Don't stale, bot! (Don't know how to not stale apart from commenting this...)

@mattsse
Copy link
Collaborator

mattsse commented Jan 27, 2025

fixing this via #13999

@storopoli
Copy link
Author

Hey @mattsse thanks for the work in #13999, what are the next steps? How can I assist?

@mattsse
Copy link
Collaborator

mattsse commented Feb 12, 2025

recommended way to use it is now reth-ethereum

closing this now, please flag suggestions for re-exports, missing crates, problematic features, better groupings etc.

@mattsse mattsse closed this as completed Feb 12, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in Reth Tracker Feb 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement New feature or request M-prevent-stale Prevents old inactive issues/PRs from being closed due to inactivity S-needs-triage This issue needs to be labelled
Projects
Status: Done
Development

No branches or pull requests

2 participants