ERCs icon indicating copy to clipboard operation
ERCs copied to clipboard

Update ERC-7821: Remove Call Struct from Specification

Open McOso opened this issue 9 months ago • 8 comments

Update (Feb 7, 2025): Based on convo, this PR just removes the Call struct from the Specification section since it is not needed to standardize the execution interface. The Reference Implementation has been left unchanged.


ERC-7821 implies using a Call struct. ERC-7579 already leverages an Execution struct in their reference implementation.

This is to change the Call struct to the referenced ERC-7579 Execution struct.


Another option is to remove the struct from this standard altogether since you are really trying to standardize the execute interface

McOso avatar Feb 03 '25 18:02 McOso

Why does it need to match the 7579 struct? It's just a naming thing, no?

jxom avatar Feb 06 '25 20:02 jxom

Why does it need to match the 7579 struct? It's just a naming thing, no?

I just think it is helpful to match the same struct since the ERC is already referencing 7579. Really, call struct could just be removed from this ERC since the goal isn't to standardize the call struct, it is to standardize the execution interface.

McOso avatar Feb 06 '25 21:02 McOso

It references 7579 on the execute & supportsExecutionMode signatures specifically – I don't think other aspects of this ERC necessarily need to reference/be completely aligned with 7579 semantics.

jxom avatar Feb 06 '25 22:02 jxom

I prefer Call, since it is shorter.

You can always rename it to Execution tho. We just need to call it something.

Solady’s LibERC7579 doesn’t have a Call struct, so you can use it to build with your own preferred names.

We can add a note saying that this is the Execution struct, and users are free to rename it, as long as the type and order of the fields stay the same.

Vectorized avatar Feb 07 '25 00:02 Vectorized

I don't think other aspects of this ERC necessarily need to reference/be completely aligned with 7579 semantics. Yeah, I'm leaning to it being just unnecessary to define any struct in this standard.

@Vectorized what if we remove the Call struct from the specification section, since you are trying to standardize the execution interface and not the call struct. But then you can use the Call struct in the reference implementation?

McOso avatar Feb 07 '25 05:02 McOso

Yeah, don't think it would hurt to remove L41-45 as it's not being used in the Overview. We can leave the Reference Implementation as-is.

jxom avatar Feb 07 '25 06:02 jxom

File ERCS/erc-7821.md

Requires 1 more reviewers from @amxx, @jxom, @vectorized

eip-review-bot avatar Feb 07 '25 13:02 eip-review-bot

Updated the PR based on the convo. The change now just removes the Call struct from the Specification section but keeps the reference implementation as is.

McOso avatar Feb 07 '25 13:02 McOso