# SeaGrants on allo-v2 **SeaGrants** is a decentralized application (dapp) built on top of [allo-v2](https://github.com/allo-protocol/allo-v2/tree/main/contracts), designed for on-chain interactions. It leverages the [allo-v2-sdk](https://github.com/allo-protocol/allo-v2-sdk) for seamless integration, demonstrating best practices for other dapps built on **allo-v2** by isolating contract interactions from core business logic. All the data needed are indexed via spec and can be found at [spec.dev/allov2](https://spec.dev/allov2). The actual postgres database code is hosted at [allo-v2-spec](https://github.com/allo-protocol/allo-v2-spec) ## Key Functionalities ### 1. Profile Management Users can create and manage profiles on the Registry. These profiles can be utilized within the application or created using the allo-v2-sdk and is offered when the recipient is submitting an application ### 2. Custom Strategy Deployment The core functionality involves deploying a custom strategy (MicroGrants) for each pool, enabling specific features and behaviors tailored to the needs of the MicroGrants community. ### 3. Pool Operations - **Creating a MicroGrantStrategy Pool:** Users can initiate the creation of a MicroGrantStrategy Pool, defining its parameters and specifications (pool amount and token, maximum amount which can be requeted, approval threshold needed for application to be accepted) - **Allocator Management:** Pool managers have the ability to maintain a list of allocators authorized to allocate applications within the pool. The dapp offer a form and csv option to do this - **Application Submission:** Recipients can submit applications during the allocation period, specifying an amount within the threshold set by the pool manager. - **Profile Usage:** When creating an application, users are expected to utilize an existing profile from the Registry or create one via the allo-v2-sdk. - - **Allocation Mechanism:** Valid allocators can vote to accept or reject applications. - **Funds Disbursement:** Once an application reaches the threshold of accepted allocations, the application is marked as accepted, and the requested funds are sent to the recipient at the specified address. ### 4. Frontend Data Indexing Data essential for frontend rendering has been indexed by spec. This indexed data is publicly accessible, allowing external parties to leverage information seamlessly. ## Implemented Features ### Core Features - **Application Workflow:** - Submit an application - Review an application - Ensure funds are sent to an approved application - Screen displaying the overall summary of MicroGrants activities ## Revised Features ### Replaced Features - **Pool Creation Flow:** Replaced by a more intuitive pool creation screen instead of relying on script - **Rich Markdown Support for Metadata** - **Allocator Management Flow:** Replaced by a more intuitive allocator management screen. - **User Profile Selection:** Recipients can now select a profile or create a new one during the application submission process. - **Landing Page:** Replaced with a comprehensive landing page showcasing all MicroGrants pools. ## Callouts and Considerations - **Testing Environment:** The application has undergone rigorous testing on the Goerli testnet. Extending to mainnet networks is feasible but requires thorough configuration and testing on both contract interaction and indexing components. - **Spec Global Database:** The global database needs purging as it contains data from the pre-audit stage. Collaboration with Ben is essential for this administrative operation.