AccountInfo represents a reference to AccountSharedData in either an AppendVec or the write cache.
AccountInfo is not persisted anywhere between program runs.
AccountInfo is purely runtime state.
Note that AccountInfo is saved to disk buckets during runtime, but disk buckets are recreated at startup.
Manage the map of slot -> append vec
Persistent accounts are stored at this path location:
<path>/<pid>/data/
Partitioning of the accounts into chunks for rent collection
keep track of areas of the validator that are currently active
helpers for squashing append vecs into ancient append vecs
an ancient append vec is:
Persistent storage for accounts.
Cached data for hashing accounts
Cached data for hashing accounts
The Epoch Accounts Hash (EAH) is a special hash of the whole accounts state that occurs once
per epoch.
Code related to partitioned rewards distribution
calculate and collect rent from Accounts
SharedBuffer is given a Reader and SharedBufferReader implements the Reader trait.
SharedBuffer reads ahead in the underlying file and saves the data.
SharedBufferReaders can be created for the buffer and independently keep track of each reader’s read location.
The background reader keeps track of the progress of each client. After data has been read by all readers,
the buffer is recycled and reading ahead continues.
A primary use case is the underlying reader being decompressing a file, which can be computationally expensive.
The clients of SharedBufferReaders could be parallel instances which need access to the decompressed data.
Code for stake and vote rewards
trait for abstracting underlying storage of pubkey and account pairs to be written