Skip to content

[Feature] Move AnyNetwork types into their own crate(s) #1598

@prestwich

Description

@prestwich

Component

consensus, eips, genesis, network, json-rpc

What version of Alloy are you on?

No response

Operating System

None

Describe the bug

per discussion here: #1460 (comment)

Currently alloy-consensus contains Any types for Receipt and Header that are then bubbled up through alloy-rpc-types-eth to alloy-network. These types are not eth types and it is somewhat messy to put them alongside the eth types. We have a standard pattern for adding networks to alloy, that AnyNetwork is currently not following, which is to create consensus-* and rpc-types-* crates

Approximate steps to take:

  • create alloy-consensus-any, depending on alloy-consensus
  • create alloy-rpc-types-any, depending on alloy-rpc-types-eth
  • move AnyReceipt and AnyHeader from alloy-consensus to alloy-consensus-any
  • move AnyTxEnvelope from alloy-network to alloy-consensus-any
  • create type aliases for AnyRpcHeader and AnyRpcBlock in alloy-rpc-types-any
  • change alloy-network to depend on alloy-consensus-any and alloy-rpc-types-any

Alternate approach would be to create only a single crate that contains both consensus and rpc types

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions