# Tooling Needs A list of needs based on this week's hack ### Moloch Pack group of packages you can bring in together or on their own - Remove the need for MolochContext with react-query hooks for each domain of Moloch Data - ie.) useDao, useProposals, ect.. - might be it's own package - build an apply to admin app to get it working - apply to start repo - Moloch V3 Macro elements (Proposal Card, Proposal List) - we need to walkthourh app and define - Moloch V3 component atoms - anything need to compose the macro elements - Moloch V3 Fields (for formBuilder) - ensure we include key proposal settings fields - expiration and proposal offering - add all current custom fields - what is on form builder vs. moloch pack - need to adapt to use hook instead of context - in moloch pack - can import separately Future: - Moloch V3 Pages - Moloch context should have a flag to know if a dao entity was found - use Hooks library likely removes the need for this - might be able to deprecate moloch-v3-context - Index Shaman contracts so they can be identified by i.e. interface hash - think about we get more shamans - shaman specific subgraph? - or some other registry ### Quick App Structure Start with 3 new starter repos - single dao w/out ui, just base contexts, single dao w/ ui, multi dao - Include basic boilerplate code on dApp template to start implementing custom fields - Under `legos/tx.ts` specify TX record type as `export const TX: Record<string, TXLego> = {` otherwise you start getting typing errors Future - separate exoskeletons for single DAO apps vs. Multi DAO - extracted out of starters eventually - CLI templates for vite/cra/next ### Custom UI - Still need to separate UI from FormBuilder ### Decouple React Router from UI - Was a larger lift than initialy thought. React router impacts more components but should still be removed from the UI. - TODO: Rowdy add components that need to be refactored - Without this we can't use next.js - TODO: list all spots needing update and assess effort and API friction ### Component Library - Tag explodes on hub card ![](https://i.imgur.com/l9NwROt.png) Moloch Pack atom updates: - Currently, we have a MemberCard that is a dropdown. MemberCard should not be a Dropdown. There should be a MemberCard (or MemberAvatar), which fetches for a memberProfile and displays it, and there should be a MemberCardDropdown which has the full dropdown. - MemberCard has extra padding. The padding should be applied from outside the library. ### Form Builder - Add Object argType on `checkArgType`. Use case: sending a struct as a parameter e.g. see VCOnboarderShaman ### Tx Builder - return transaction receipt and form state into a lifecycle function to read that data in a component after form submission ### Build updates - Get React Icons working in ~~CRA~~ and Next.js - Currently working via kinda hacky solution. Have issue open with NX team found [here](https://github.com/nrwl/nx/issues/13919) - remove react icons library and put in an assets - Auto imports aren't consistently working - Sourcemaps maybe? - huge package size? - nested packages are not doing this - workaround to add all in package.json - package and app sizes - `export * as...` - refactor these to named exports - big lift in utils ### app updates/bugs - Profile is refreshing on each route change in ADMIN - DAO name is not getting updated when posting new metadata - Sponsor logic should look at delegated shares - if a member has delagated shares they should not be able to sponsor Fixed: - admin: adjust logic on execute button so quorum failures can be executed, app currently thinks those are just failed. - if status is 5 (Ready) and proposal failed (status[2] == false) - still needs to be executed ( or maybe status[1] == false and status[2] == false) - or might need to adjust proposal status logic in moloch-v3-data ### Subgraph - delegateCount is showing 1, even no one is delegating to this address. Shares are the same as delegateShares https://admin.daohaus.fun/#/molochv3/0x5/0xc035dd7cda32ae73f0f306ed56658527aad47648/members ![](https://i.imgur.com/vByGKcW.png) ![](https://i.imgur.com/OMoeMSc.png) - Found the delegateOf field. We should perhaps generate a new query for a member's delegates. I'm having trouble doing this from an external app. ### Docs - get out of JP's world - merge new pr - package headlines - new packages will be coming with moloch pack - update readmes - still have a lot of old code examples - automate api docs - w/ co-pilot - inline comments w/ doc generation - research tools - hook up out of github - js doc/doc sys - tutorial creation - 1. find time to do more code alongs or fishbowls - 2. UI runs with creating content off these FUTURE/start developing process for these - - contributor process flow - how can we flow custom dev elements back into the protocol - pr issues template - tutorial/article/doc page/readme notes driving to this - retroactive funding? - bounty board for issues going forward? - dogfood/document as we build ## Budget https://app.safe.global/gno:0x23f6FA624581855D527df1Aa751B8a60c5e8059d/balances Do we want to spin this proposal up as a request from a maintainers DAO? - RAD DAD Lads DAO ## Next steps - Start a proposal doc - sam, then send to team to add/edit/ect... - deliverables - budget - team - Spin up Rad Dad Lads DAO - Create issue tickets and project board - sam