Skip to content

Add inlined documentation about state transitions#388

Open
yacovm wants to merge 3 commits into
mainfrom
MSM-ASCII
Open

Add inlined documentation about state transitions#388
yacovm wants to merge 3 commits into
mainfrom
MSM-ASCII

Conversation

@yacovm
Copy link
Copy Markdown
Collaborator

@yacovm yacovm commented May 20, 2026

No description provided.

yacovm added 3 commits May 19, 2026 23:17
Signed-off-by: Yacov Manevich <yacov.manevich@avalabs.org>
Also self-sign during aggregation

- Introduces ApprovalStore (msm/approvals.go) — an in-memory store of validator approvals for epoch transitions, keyed by (NodeID, PChainHeight). It verifies BLS signatures on
  ingest, deduplicates by timestamp (newer wins, older is dropped), and prunes per-node entries to at most len(validators) by evicting the oldest timestamp.
- Adds Timestamp to ValidatorSetApproval (msm/encoding.go) so the store can order/evict approvals deterministically.
- computeNewApprovals (msm/msm.go) now optimistically self-signs the next epoch's P-chain reference height each round and appends its own ValidatorSetApproval to the peer set since the store deduplicates it later.

Signed-off-by: Yacov Manevich <yacov.manevich@avalabs.org>
Signed-off-by: Yacov Manevich <yacov.manevich@avalabs.org>
@yacovm yacovm changed the title Msm ascii Add inlined documentation about state transitions May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant