-
Notifications
You must be signed in to change notification settings - Fork 116
Home
Updated: Dec 20 2021
This document summarizes all the Eng projects in a human-readable format sorted by priority and objective. See Project board for details on each task: https://github.com/OLSF/libra/projects/6
Help Requested: Hustle Karma coordinators can turn these actions into Karma Tasks with bounties.
Documentation Does not exist in the Wiki, it's in the ./ol/documentation
folder of the repo.
For a general overview: https://github.com/OLSF/libra#readme
Or visit the documentation folders:
- https://github.com/OLSF/libra/tree/main/ol/documentation/core-devs
- https://github.com/OLSF/libra/tree/main/ol/documentation/node-ops
- Make Network Reliable
- Redirect efforts of volunteers away from operating infrastructure into productive labor
- Make Carpe part of security model and participatory
- Cross chain interfaces
- Determine what in Diem upstream causes TX Script invariants from leading to resource exhaustion.
- Is there something specific to script prologue invariants?
- Is keeping the TX in mempool a problem? (patched)
- Mempool Resubmissions? (patched)
Goal: Upgrade oracle has instability when transactions are submitted concurrently with Upgrade Tick
- Upgrades should issue a reconfiguration.
- Possibly the Rust code for end of epoch reconfiguration could optionally run upgrades if there are payloads.
Revert to the Diem standard of error reporting in Move (requires network upgrade) How to make the the Functional tests useful (change diem_vm/errors) Create 0L error parser in ol/types, to use throughout tooling (including Carpe)
Goal: pull in the latest major version changes from Diem. Finalize Merge QA
Goal: people have a limited amount of time to spend on 0L. We want to direct those efforts to productive uses. Managing Node downtime is not a productive use.
-
Documentation on troubleshooting.
- People asking repeated questions in Discord. There needs to be an owner for the troubleshooting documentation.
-
0L Start reliability
- No unwraps that cause panic on 'Node' object
- Fetch list of upstream_peers from same list which Carpe uses (may need to rename the field for clarity, needs to be a list of fullnodes, not validator node).
- Automatic version numbering on diem-node and other cli tools we publish.
Goal: Testing upgrades is a long and tedious process. This project augments upgrade integration tests to simulate network upgrades on a local swarm, based on snapshots from mainnet.
- Fork into local Swarm.
- ol/genesis-tools to finalize starting swarm from snapshot, and overwriting the validator set for testing purposes.
Goal: An arithmetic error made payments to Carpe users go down dramatically. The error was fixed, but the protocol didn't account for ways to make the missed payments return to accounts.
- Correct the payouts to Carpe Users that were underpaid from epoch 14-50.
- Calculate shortfall.
- Provision the minting code to be lazily paid out (so it doesn't congest the epoch boundary).
- Users must make an affirmative transaction to claim the difference.
- Implement the "claim" transaction in txs.
- Implement the "claim" ux in Carpe
Goal: Carpe is in Alpha mode. Moving to a wider beta release requires reliability and features.
- PRIORITY error reliability: every action should have a corresponding human readable error, and UI for the error. Every account action should have a UX to confirm that the action will take place. No silent actions. Carpe being disconnected from a fullnode doesn't show any UI presently. Need a separate interface which shows it cannot connect to the network. https://github.com/OLSF/libra/issues/933
- Mac OSX keychain access is being requested after every proof. Users may have mining interrupted and be unaware.
- Over the Air upgrades: deploy changes across code
- Move repo to /libra: It's too difficult to manage separate repos.
- Transfers between accounts which are not slow wallets.
- Clearly display when an account is a Slow Wallet, Community Wallet, Validator
Goal: Make Validators into DAOs ("teams"), and decentralize the responsibility and rewards, making Carpe users part of the security model.
- Conclude Ratchet algorithm for increasing decentralization threshold.
- Finalize Carpe Controllers
- Fetch state from chain.
- Calculate expected rewards
- Submit Transactions for joining or changing Teams
Goal: allow assets to flow between chains.
- Ethereum Bridge
- Eth development environment
- Eth Merkle solidity POC (from Optics)
- Bridge orchestrator POC
- Merge Secp and keccak hashes (figure out deployment path)