Skip to content

Commit

Permalink
Merge pull request #56 from tsachiherman/tsachi/expired-participation…
Browse files Browse the repository at this point in the history
…-keys

expired participation keys
  • Loading branch information
algofoundation authored Oct 27, 2021
2 parents b170194 + e77f3ea commit 3257051
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion dev/ledger.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,20 @@ The block header contains the following components:
issued prior to this block. This count starts from the first block with a
protocol version that supported the transaction counter. The counter is
stored in msgpack field `tc`.


- The block's _expired participation accounts_, which contains an optional slice of
public keys of accounts. These accounts are expected to have their participation
key expire by the end of the round (or was expired before the current round). The
msgpack representation of the components are described in detail below.
The slice is stored in msgpack key `partupdrmv`.

The block's _expired participation accounts_ slice is valid as long as the participation
keys of all the accounts in the slice are expired by the end of the round or were
expired before, the accounts themselves would have been online at the end of the
round if they were not included in the slice, and the number of elements in the slice is
less or equal to 32. A block proposer may not include all such
accounts in the slice and may even omit the slice completely.

The block body is the block's transaction sequence, which describes the sequence
of updates (transactions) to the account state.

Expand Down Expand Up @@ -494,6 +507,14 @@ how many units of that asset is held by the account and a boolean flag
indicating if the holding is frozen or unfrozen. An account that holds
any asset cannot be closed.

# Participation Updates

Participation updates contains a single list of addresses of accounts which
have been deemed to be _expired_. An account is said to be expired when the last
valid vote round in its participation key is strictly less than the current round
that is being processed. Once included in this list, an account will be marked
offline as part of applying the block changes to the ledger.

# Transactions

\newcommand \Tx {\mathrm{Tx}}
Expand Down

0 comments on commit 3257051

Please sign in to comment.