Skip to content

feat(script): ScriptResult, ProvidersManager and state structs Network-generic#14104

Merged
zerosnacks merged 2 commits intofoundry-rs:masterfrom
mablr:feature/forge_state_struct_generic_network
Apr 3, 2026
Merged

feat(script): ScriptResult, ProvidersManager and state structs Network-generic#14104
zerosnacks merged 2 commits intofoundry-rs:masterfrom
mablr:feature/forge_state_struct_generic_network

Conversation

@mablr
Copy link
Copy Markdown
Collaborator

@mablr mablr commented Apr 2, 2026

Motivation

Towards generic forge script

  • Parameterize ScriptResult<N>, ProvidersManager<N>, ProviderInfo<N>, PreSimulationState<N>, and FilledTransactionsState<N> with a Network type parameter
  • Implement Default manually for ScriptResult<N> and ProvidersManager<N> since derive(Default) requires N: Default
  • Use #[serde(bound = "")] cheat to relax derived Serialize bounds on generic structs

Pending #14101 to wire Network generic further, as ScriptRunner holds hardcoded Executor<Ethereum, EthEvmFactory>.

…etwork`-generic

- Parameterize `ScriptResult<N>, ProvidersManager<N>, ProviderInfo<N>,
  PreSimulationState<N>, and FilledTransactionsState<N>` with a `Network` type
  parameter
- Implement Default manually for `ScriptResult<N>` and `ProvidersManager<N>`
  since `derive(Default)` requires `N: Default`
- Use `#[serde(bound = "")]` cheat to relax derived Serialize bounds on generic structs
@mablr mablr requested review from 0xrusowsky and onbjerg as code owners April 2, 2026 21:57
@mablr mablr changed the title feat(script): ScriptResult, ProvidersManager and state structs `NExecutor<Ethereum, EthEvmFactory> feat(script): ScriptResult, ProvidersManager and state structs Network-generic Apr 2, 2026
Copy link
Copy Markdown
Member

@zerosnacks zerosnacks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@zerosnacks zerosnacks merged commit b82d0e8 into foundry-rs:master Apr 3, 2026
15 checks passed
@github-project-automation github-project-automation Bot moved this to Done in Foundry Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants