Technology Development:
1. Make Blockstore: scan_and_fix_roots() take optional start/stop slots. The optional args allow reuse by ledger-tool repair roots command Also, hold cleanup lock for duration of Blockstore::scan_and_fix_roots(). This prevents a scenario where scan_and_fix_roots() could identify a slot as needing to be marked root, that slot getting cleaned by LedgerCleanupService, and then scan_and_fix_roots() marking the slot as root on the now purged slot.
2. ledger-tool: Adjusted the help messages for force-update-to-open. The previous help message was pretty generic as it covered two potential error scenarios. This change gives a more detailed error message to each of those errors.
3. Adds byte_block:read_type(), an util function that reads the raw part of the input byte block at the specified offset as type T. This function will be later used by the hot storage. Modified existing unit tests to use byte_block:read_type() when the input byte block is properly aligned.
4. Moved new vote generation when last vote is outside slothash into the main path, this actually makes more sense since we don’t select where to vote in two different places, and all the vote generation logic is seamlessly inherited.
5. Slot:MAX was used to specify that a type of snapshots should not be created; define a constant to be that value and reference the constant to have a single point of edit.
6. Adds AccountMetaOptionalFields:size_from_flags that takes AccountMegaFlags and returns the size of the AccountMetaOptionalFields based on the input AccountMegaFlags. This function is needed because the reader of the TieredAccountMeta directly extract all the Some fields of AccountMetaOptionalFields from its account block without constructing the AccountMetaOptionalFields instance.Before we were using BorrowedAccount:get_data_mut() to get the base pointer to the account data, then we were slicing the spare capacity from it. Calling get_data_muter() doesn’t work if an account has been closed tho, since the current program doesn’t own the account anymore and therefore get_data_muter() errors out.
Community Development:
- The May 2023 Bi Monthly Report for Alitas is now accessible to the general public.
2. Just tweeted an eye-catching infographic packed with fascinating facts about Alitas!
🌀Website: https://alitas.tech/#line
🌀Twitter: https://twitter.com/AlitasTech
🌀Telegram: https://t.me/Alitastech