<N as Network>::ReceiptResponse should ALWAYS embed the <N as Network>::ReceiptEnvelope in itself
To enforce that we should
add + Receipt + AsRef + AsMut + Into bounds to the Network trait's ReceiptResponse type
Followup work
define BlockContext as it seems to be a set of shared RPC keys
cc @mattsse should `type ReceiptResponse: ReceiptResponse` also be constrained to ` + AsRef<Self::ReceiptEnvelope>` to ensure that network implementers ALWAYS embed the envelope in the response?
_Originally posted by @prestwich in https://github.com/alloy-rs/alloy/issues/846#issuecomment-2155381974_
ah, right this way we could enforce embedding the receipt type in rpc, so `ReceiptResponse is Receipt + BlockContext`
this makes sense, then we could also add `Into<Self::ReceiptEnvelope>`
_Originally posted by @mattsse in https://github.com/alloy-rs/alloy/issues/846#issuecomment-2156043828_
<N as Network>::ReceiptResponse
should ALWAYS embed the<N as Network>::ReceiptEnvelope
in itselfTo enforce that we should
+ Receipt + AsRef + AsMut + Into
bounds to the Network trait'sReceiptResponse
typeFollowup work
BlockContext
as it seems to be a set of shared RPC keys