Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Labels to chainspec to activate hardforks at once. #7738

Open
LukaszRozmej opened this issue Nov 7, 2024 · 8 comments · May be fixed by #7764
Open

Add Labels to chainspec to activate hardforks at once. #7738

LukaszRozmej opened this issue Nov 7, 2024 · 8 comments · May be fixed by #7764

Comments

@LukaszRozmej
Copy link
Member

Right now to activate Dencun we need to add to chainspec:

    "eip4844TransitionTimestamp": "0x65687fd0",
    "eip4788TransitionTimestamp": "0x65687fd0",
    "eip1153TransitionTimestamp": "0x65687fd0",
    "eip5656TransitionTimestamp": "0x65687fd0",
    "eip6780TransitionTimestamp": "0x65687fd0"

We want to keep fine-grained eip transitions, but we would also like to specify it all at once with some label:

    "dencun": "0x65687fd0"

or

    "cancun": "0x65687fd0"

It would be great if it worked both ways - so cancun flag could be checked, even if single eip timestamps would be set in config. If the activations conflict with each other some exception should be thrown.

It should work as that for all forks.

@GradleD
Copy link

GradleD commented Nov 8, 2024

Can I take care of this issue?

@LukaszRozmej
Copy link
Member Author

Can I take care of this issue?

Sure, first approved PR wins! ;)

@LuisDi98
Copy link

I understood the job can be simplified by adding the label with a timestamp, all good so creating a hashmap and grouping the eips is the solution, considering the exceptions if timestamps conflicts ✅ I would like to take this issue.

Also I am part of Dojo Coding community looking to contribute to new open source projects, it would be nice to work with Nethermind project.

@LukaszRozmej
Copy link
Member Author

I understood the job can be simplified by adding the label with a timestamp, all good so creating a hashmap and grouping the eips is the solution, considering the exceptions if timestamps conflicts ✅ I would like to take this issue.

Also I am part of Dojo Coding community looking to contribute to new open source projects, it would be nice to work with Nethermind project.

So I think I would add a properties in ChainParameters class with custom getter's and setter's that would map to specific EIP's. (with setter set all of them, question is what to do with get? Options: check all of them with && or check any of them with ||)

The only problem is that this would only handle the actual domain logic class, and to parse JSON we would have to duplicate this logic in ChainSpecParamsJson as we have those 2 aspects separate.

@mimisavage
Copy link

Can I handle this task?

@LukaszRozmej
Copy link
Member Author

Can I handle this task?

@LuisDi98 was already at least half done in #7764 , his latest changes though went in wrong direction. Not sure if he plans on finishing it. So feel free to build upon 2c3c961 commit and read through the comments on the PR.

@Nityam573
Copy link

Can I contribute to this one?

@mymiracle0118
Copy link

Can I take care of this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants