--- tags: v3, hub app, planning --- # Hub App Scaffolding and Planning (4/19/22) ## Patterns to Test ## Where to Start - Focusing mostly on data fetching (there's a lot here already) - Can start with low fidelity components and build these out as design builds them out - This intersects with Jord's work -- we'll be making progress on components as Jord is building the library - We can create cards to increase the fidelity of the components we identify ### Components and Data Features - Nav (where are we with the Global Nav?) - WalletConnect - No cross links to other apps - Header - Incoming from Ceramic - User name, bio, address/ENS - Edit Profile link (no design) - Link to Self.id but do we want to consider using an alternate Profile such as MetaGame's - Basic Profile: - in SDK, create ways to fetch Ceramic data by single user (such as for a Profile page) - `getUserFromCeramic` - **$HAUS Balance/Price Feed/Display Card:** - Not always displayed on Profiles - $HAUS price info - Fetching $HAUS price data in the SDK - Inform need for Skynet cache - `getUserHausBalance` - SDK: By token contract or by HAUS only? - Cross chain balances and totals (HAUS only) - Would we want to be able to link DAOs across chains? If so, could we get a total treasury from this? - Likely not yet - Start with HAUS and then expand from there - Total it inside the frontend - Consider adding this to the UI features package - **WalletConnect** - Consider adding this to the UI features package - **Proposals* - Build this for Core UI -> add to the UI features package -> bring back into the Hub App - **Attestations** - Still in early alpha - **DAOs Table** - `getAllDAOsByUserAddress` - List of DAOs user is a member of by address - `name` is only metadata right now - Can add metadata for the other fields such as `proposalCount` - Token data -- interact with Gnosis Safe API - Start looking at the fields in the DAO table ### Token Price Feed / Balances - How do we want to group together functionality? - Mirroring the structure of v3 protocol - Do we spin out another package for token specific functions? - Fetching not only HAUS but other tokens as well - `getTokenPriceByContractAddress` - `getBalanceByAddress` - user or safe - `totalValue` - Interactions with the Gnosis Safe API ### Data - What would be delivered from the data package to the Hub App? - Some will require lambdas to calculate -- can start with this - At what point do we need better aggregation, caching, processing, etc. ## Outputs - Spec doc similar to the [Summoner App Alpha doc](https://hackmd.io/_HaWUWP-RTmBS_XoxidiEw?view) - Shared set of user stories between Design and Dev - What are the core features we want to align on for the first version? - What are the core things we want users to be able to do on this app? - Can bring some from this session to our meeting with Ven ## Next Steps - [x] Define the user stories -> align with Ven -> break into cards - [x] Scaffolding the Hub App card added to board - [ ] Stretch: Begin setting up Ceramic fetching - [x] SDK Package Code Review ## Notes - Consider how to split out these into packages -- is it all in the SDK? - Look to Core UI Vaults to inform some of this - Think about the UX for filtering and sorting and how this may impact the performance on the Explore page