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

Semantic & signification of RatifyState #4641

Open
KtorZ opened this issue Sep 21, 2024 · 1 comment
Open

Semantic & signification of RatifyState #4641

KtorZ opened this issue Sep 21, 2024 · 1 comment
Labels
🖋️ documentation Everything related to documenting code, processes, etc.

Comments

@KtorZ
Copy link
Contributor

KtorZ commented Sep 21, 2024

Hello! Would anyone be kind to document the semantic and signification of the RatifyState type and its sub-components:

data RatifyState era = RatifyState
{ rsEnactState :: !(EnactState era)
, rsEnacted :: !(Seq (GovActionState era))
, rsExpired :: !(Set (GovActionId (EraCrypto era)))
, rsDelayed :: !Bool
}

I know the type is part of an Internal module, but it is now exposed to end-users through the local-state-query protocol via the GetRatifyState query. In order to make this query available to a larger audience, I'd be thankful to get clarification on the various components of its result.

Thanks.

@lehins lehins added the 🖋️ documentation Everything related to documenting code, processes, etc. label Oct 3, 2024
@lehins
Copy link
Collaborator

lehins commented Oct 3, 2024

The fact that it is defined in an Internal module, does not make it "internal". It is exposed to the world through public modules and there is even a query for it 😃 That does not mean that we should not document it! So, thank you for opening this issue.

The gist of it is that it represents what will happen at the next epoch boundary with respect to the governance. For example if a governance action is listed in rsEnacted it means that it will be enacted on the next epoch boundary and its affect is already applied in the rsEnactState. So, in reality the affect of enactment on the epoch boundary is just applying the values from the EnactState to the GovState in the ledger state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🖋️ documentation Everything related to documenting code, processes, etc.
Projects
None yet
Development

No branches or pull requests

2 participants