Skip to content

build: upgrade to @nomicfoundation/edr v0.12.0-next.25#7949

Closed
Wodann wants to merge 1 commit intomainfrom
build/edr-0.12.0-next.25
Closed

build: upgrade to @nomicfoundation/edr v0.12.0-next.25#7949
Wodann wants to merge 1 commit intomainfrom
build/edr-0.12.0-next.25

Conversation

@Wodann
Copy link
Copy Markdown
Member

@Wodann Wodann commented Feb 13, 2026

  • Because this PR includes a bug fix, relevant tests have been included.
  • Because this PR includes a new feature, the change was previously discussed on an Issue or with someone from the team.
  • I didn't do anything of this.

Upgraded EDR to v0.12.0-next.25:

Minor Changes

  • NomicFoundation/edr@3974769: Added callTraces() to Response object, inclusion of which is configurable through the includeCallTraces option on the ObservabilityConfig

  • NomicFoundation/edr@f4bdc36: Removed getLatestSupportedSolcVersion API

    BREAKING CHANGE: A new API latestSupportedSolidityVersion was previously introduced to replace the deprecated getLatestSupportedSolcVersion. The old API has now been removed. Users should update their code to use latestSupportedSolidityVersion instead.

  • NomicFoundation/edr@3974769: Removed traces() API from the Response object

  • NomicFoundation/edr@f4bdc36: Added support to the debug_traceCall & debug_traceTransaction JSON-RPC methods for different tracers (4byteTracer, callTracer, flatCallTracer, prestateTracer, noopTracer, and muxTracer).

    Our API is now aligned with Geth's tracing capabilities.

    BREAKING CHANGE: Memory capture used to be enabled by default on geth, but has since been flipped core: cmd: invert disableMemory ethereum/go-ethereum#23558 and is now disabled by default. We have followed suit and disabled it by default as well. If you were relying on memory capture, you will need to explicitly enable it by setting the enableMemory option to true in your tracer configuration.

TO DO

I wasn't clear on standards in Hardhat 3 for this, so I figured it would be easier for a Hardhat developer to quickly implement this:

  • v-next/hardhat/src/internal/builtin-plugins/solidity-test/formatters.ts needs to be moved to a package that is shared between Solidity Tests and the JSON-RPC provider
  • A configuration option for the verbosity level should be added that can be configured via CLI (e.g. -vvvv) similar to Solidity tests
  • The EDR ProviderConfig should receive the IncludeTraces configuration, based on the configured verbosity level.
  • The formatTraces function should be called in edr-provider.ts, depending on the verbosity level

If no one is available, I can do it with some direction on CLI configuration options and preferred file locations.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Feb 13, 2026

⚠️ No Changeset found

Latest commit: 7e76913

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​nomicfoundation/​edr@​0.12.0-next.25991007395100

View full report

@github-actions
Copy link
Copy Markdown
Contributor

hardhat

Total size of the bundle: 245M
Total number of dependencies (including transitive): 48

List of dependencies (sorted by size)
239M	total
37M	@nomicfoundation/edr-linux-x64-musl
37M	@nomicfoundation/edr-linux-x64-gnu
34M	@nomicfoundation/edr-linux-arm64-musl
34M	@nomicfoundation/edr-linux-arm64-gnu
25M	@nomicfoundation/edr-win32-x64-msvc
25M	@nomicfoundation/edr-darwin-x64
21M	@nomicfoundation/edr-darwin-arm64
7.3M	@sentry/core
5.2M	zod
2.7M	micro-eth-signer
1.9M	@noble/curves
1.7M	undici
1.2M	@noble/hashes
1.0M	@nomicfoundation/hardhat-utils
884K	@nomicfoundation/hardhat-vendored
864K	@streamparser/json
624K	micro-packed
592K	tsx
552K	@nomicfoundation/hardhat-errors
492K	@scure/bip39
476K	@nomicfoundation/edr
408K	json-stream-stringify
368K	ethereum-cryptography
344K	fast-equals
332K	@streamparser/json-node
320K	enquirer
320K	@nomicfoundation/hardhat-zod-utils
288K	semver
200K	ws
180K	chokidar
176K	get-tsconfig
168K	@scure/base
160K	esbuild
136K	adm-zip
96K	@scure/bip32
92K	chalk
72K	@nomicfoundation/solidity-analyzer
68K	debug
60K	readdirp
56K	rfdc
48K	ansi-colors
44K	resolve.exports
40K	resolve-pkg-maps
36K	p-map
24K	strip-ansi
24K	env-paths
24K	ansi-regex
20K	ms

@kanej
Copy link
Copy Markdown
Member

kanej commented Feb 13, 2026

On this question:

- [ ] v-next/hardhat/src/internal/builtin-plugins/solidity-test/formatters.ts needs to be moved to a package that is shared between Solidity Tests and the JSON-RPC provider

I think we move the formatters up into network-manager (both Solidity Test and the Network Manager are built-in so part of the Hardhat package), and then reuse them from the Solidity Test plugin.

So maybe move the formatters to:

v-next/hardhat/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.ts

@schaable, what do you think?

@schaable
Copy link
Copy Markdown
Member

On this question:

- [ ] v-next/hardhat/src/internal/builtin-plugins/solidity-test/formatters.ts needs to be moved to a package that is shared between Solidity Tests and the JSON-RPC provider

I think we move the formatters up into network-manager (both Solidity Test and the Network Manager are built-in so part of the Hardhat package), and then reuse them from the Solidity Test plugin.

So maybe move the formatters to:

v-next/hardhat/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.ts

@schaable, what do you think?

Agree, but not all exports in that file are related to stack traces. formatArtifactId is still specific to solidity-test, the Colorizer interface seems more generic, and I don't think formatLogs is used. Maybe we split it into:

  • v-next/hardhat/src/internal/builtin-plugins/solidity-test/formatters.ts (keep formatArtifactId here)
  • v-next/hardhat/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.ts (move formatTraces and related helpers here)
  • v-next/hardhat/src/internal/utils/colorizer.ts (move Colorizer here, unless there's a better place)

We can also remove formatLogs and its tests. All this could be done as a prep PR ahead of this one.

@kanej kanej linked an issue Feb 16, 2026 that may be closed by this pull request
1 task
@kanej kanej mentioned this pull request Feb 16, 2026
1 task
@ChristopherDedominici
Copy link
Copy Markdown
Contributor

Closed in favor of #7983

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for -vvvv in JS/TS tests

4 participants