# [BOUNTY] 0L Community Wallet Specifications 0L v6.9 does not currently have tooling to activate migrated community wallets, create new ones, visualize them and a UI to administer them. ## Bounty Each piece of these items has a bounty attached and will be sponsored by the Tool Scrubbers Guild. 1. Visual Components: 500K $LIBRA 2. Wallet Tooling: 500K $LIBRA 3. Documentation: 200K $LIBRA Operations are part of the libra framework. They can be found in the following files - [Community Wallets](https://github.com/0LNetworkCommunity/libra-framework/blob/main/framework/libra-framework/sources/ol_sources/community_wallet.move) - [Donor Voice](https://github.com/0LNetworkCommunity/libra-framework/blob/main/framework/libra-framework/sources/ol_sources/vote_lib/donor_voice.move) - [Donor Voice Governance](https://github.com/0LNetworkCommunity/libra-framework/blob/main/framework/libra-framework/sources/ol_sources/ol_account.move) - [Multi Action](https://github.com/0LNetworkCommunity/libra-framework/blob/main/framework/libra-framework/sources/ol_sources/vote_lib/multi_action.move) - [Vote Reciepts](https://github.com/0LNetworkCommunity/libra-framework/blob/main/framework/libra-framework/sources/ol_sources/vote_lib/vote_receipt.move) ## Timeline Each of these bounties is expected to be completed within one week of acceptance. This can be somewhat flexible depending on the workers schedule. Payments should be made shortly after the work is complete and the Tool Scrubbers Guild Community wallet is activated by the work completed in these bounties # Work ## Visual Components: Create a page on 0l.fyi visualizing the community wallets 1. **Community Wallet Visualization:** - Display migration status (active/inactive based on signer addition). - Show multisig details: number of signers and their identities. - Present wallet balance. - List donors with their addresses, contribution percentages, and amounts. - Exhibit proposed transactions with details: GUID, signature status (n/m), recipient address, description, and veto status. - Display a history of vetoed and past transactions. 2. **User Interface Requirements:** - Intuitive design for easy navigation through wallet statuses and details. - Secure login and authentication system for wallet administration. - Real-time updates and notifications for transaction changes. ## Tooling: Work should be created in the form of a PR to the [Libra Framework Repository](https://github.com/0LNetworkCommunity/libra-framework) 1. **Wallet Tooling:** - Implement a new `community` subcommand: - Enable transaction proposal. - Allow for proposal signing for subsequent signers - Allow for transaction vetoing. - Allow for veto voting - Implement a `multi-sig` subcommand: - Facilitate creation of multisig wallets. - Add or remove signers efficiently. 2. **Integration and Compatibility:** - Ensure compatibility with existing wallet types in the Libra framework. - Appropriate tests. ## Documentation: Documentation should be created in the form of a PR to the [0L Documentation repository](https://github.com/0LNetworkCommunity/documentation) to be displayed on the [UI](https://0lnetwork.dev/) 1. **Community Wallets:** - Document the structure and operation of community wallets. - Provide step-by-step guidelines for wallet creation and migration. 2. **Workflow and Multisig:** - Explain the entire workflow, from wallet creation to transaction execution. - Detail the multisig process, including signer management and transaction approval. 3. **Donor Voice:** - Outline how donors can influence decisions and the governance model involved. - Outline Veto/voting process and timeline 5. **Troubleshooting Guide:** - Provide a troubleshooting section for common issues and their resolutions.