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

dep(maili): Dependency set in RollupConfig #926

Open
clabby opened this issue Jan 22, 2025 · 2 comments
Open

dep(maili): Dependency set in RollupConfig #926

clabby opened this issue Jan 22, 2025 · 2 comments
Labels
F-deps Flag: Updates dependencies H-interop Hardfork: Interop related

Comments

@clabby
Copy link
Collaborator

clabby commented Jan 22, 2025

Overview

The dependency set for interop will be stored within the RollupConfig. The proposed schema from the Go team is something like:

dependencySets: {
 1000: [1,2,3,4], // timestamp to list of chain IDs
 3500: [1,2,3,4,5],
 7000: [1,2,3]
}

The FPP will need this field added to be able to reference the canonical dependency set of the chain to perform validation on the SuperRoot it receives.

@clabby clabby added F-deps Flag: Updates dependencies H-interop Hardfork: Interop related labels Jan 22, 2025
@clabby
Copy link
Collaborator Author

clabby commented Jan 22, 2025

I don't like the proposed schema. It makes no sense to have to define dependency set timestamps separate from hardfork timestamps imo.

We still don't have a great idea of how the dependency set will be updated - on-chain, or through the client software. If through the client software, I think I'd rather pair dependency sets with forks, rather than timestamps (just because there's more room for error if the timestamps are set in 2 places.) If not through the client software, we have to do something different & this ticket can be closed.

@ajsutton
Copy link

We can't directly combine the dependency set updates and the hard forks because while dep set updates are a hard fork, they are also unique to an interop cluster. So you can't say that Holocene added Base to the dependency set because on a different cluster that may not be the case. So somewhere in the rollup you need a mapping from activation timestamp to the list of chains being added to the dependency set (removal is not possible). The activation timestamp might be the same as a named hard fork like holocene, but it doesn't have to be (it is still a hard fork though). There's a bunch of ways you might try and express that in JSON and I don't really mind which we go with, but the simple version above seems pretty reasonable to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
F-deps Flag: Updates dependencies H-interop Hardfork: Interop related
Projects
Status: Backlog
Development

No branches or pull requests

2 participants