-
Notifications
You must be signed in to change notification settings - Fork 87
Implement a deterministic voting power snapshot calculator with delegation-safe accounting #383
Copy link
Copy link
Open
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalityconsistencyPattern and convention standardization across the codebase for uniformityPattern and convention standardization across the codebase for uniformityexpertExpert difficulty tasks requiring deep expertise and architectural decision-makingExpert difficulty tasks requiring deep expertise and architectural decision-makinggovernanceCommunity governance rules, governance evaluation, permissions, and decision-making infrastructureCommunity governance rules, governance evaluation, permissions, and decision-making infrastructure
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesThird CampaignOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsbackendBackend services, application logic, persistence integration, and server-side functionalityBackend services, application logic, persistence integration, and server-side functionalityconsistencyPattern and convention standardization across the codebase for uniformityPattern and convention standardization across the codebase for uniformityexpertExpert difficulty tasks requiring deep expertise and architectural decision-makingExpert difficulty tasks requiring deep expertise and architectural decision-makinggovernanceCommunity governance rules, governance evaluation, permissions, and decision-making infrastructureCommunity governance rules, governance evaluation, permissions, and decision-making infrastructure
Difficulty: Expert
Type: Feature
Recommended labels (if available in this repo): governance, backend, consistency, expert
Background
Governance systems often need to freeze voting power at a specific logical snapshot so that later balance or membership changes do not alter an already active vote.
This issue introduces a pure snapshot calculator. It does not create proposals, persist snapshots or integrate with Stellar balances.
Problem
There is currently no standard Core primitive for converting a set of eligible participants and weighted sources into an immutable, deterministic voting-power snapshot.
Without explicit rules, duplicate identities or duplicated source entries can inflate voting power and result ordering may vary across runs.
Expected Outcome
Implement a deterministic voting-power snapshot calculator that validates source records, aggregates power safely and produces a canonical snapshot representation suitable for hashing or persistence by future modules.
Suggested Implementation
Inputs may resemble:
The calculator should:
Do not depend on the separate canonical-JSON or delegation-graph campaign issues. If fingerprinting is implemented, include the minimal deterministic encoding needed within this task.
Acceptance Criteria
pnpm typecheckpasses.pnpm buildpasses.pnpm testpasses.Likely Affected Files/Directories
Independence Requirement
This issue must be independently implementable from the current
mainbranch. It must not depend on the delegation graph, quorum engine or another governance campaign issue.