# app.daohaus.club v2 Data 1. diagram of each app domain - app/api/subgraphs 2. outline data sources for each ## Web app data sources ![](https://i.imgur.com/epesaiz.png) ### Inputs #### 1. RPC - Contract calls and transactions #### 2. data.daohaus api - read/write dao metadata - general metadata - boost/playlist data - minion vault data - read cached token data - price, symbols - endpoints that wrap other apis that require auth secrets - pinata temp key - discord/discourse #### 3. block explorer apis - fetch abis for minion form builder - fetch native balances for minions #### 4. TheGraph - daohaus supergraph - 1 per netowrk - indexes all moloch and factory contract activity - minion factories - escrow minion per network - daohaus stats - 1 per network - moloch and factory data shaped for bank chart and history (in vault section) - daohaus boosts graph - 1 per network - boost specific mappings (transmutation/wrap and zap) - ens - 1 subgraph - ens reverse lookup on mainnet - nft subgraphs - 2 per network (721 and 1155) - used to populate nft forms - boost specific - superfluid, snapshot, poap - shaman subgraph - only used in bolt on so far #### 5. boost specific apis - Mintgate - Supefluid graph - Snapshot graph - Discord/discourse (wrapped in daohaus api) - Rarible #### 6. Ceramic - read/write user profile data - 3box/idx #### 7. Other apis - pinata/ipfs to pin images and display ipfs docs - gnosis api to validate safe minion setup - error log? - is this still used? - do we want this? - maybe remove or really hook it up ## Api data sources/storage ![](https://i.imgur.com/mXMplxC.png) #### 1. RPC - validate signatures for writing dao data - make contract calls for balances and nft data for minion vaults #### 2. block explorer api - etherscan variants, blockscout variants - gets token data by address for minion vault tokens/balances/history #### 3. subgraphs - most jobs/api endpoints use these to get graph data for whatever is needed with the job - minion lists - member lists - proposals - daos - ect... #### 4. wrapped apis - discord boost activation - check if a channel is available and bot can access - discourse boost - creates forum channel on activation - creates post on new proposal submission #### 5. coingecko api - token list + price data for all token in guildbanks - token lists + price data for minion vaults #### 6. covalent api - gets token data by address for minion vault tokens/balances/history - nft data for minions - kovan,mainnet,polygon,arbitrum only #### 7. s3 buckets ** top priority to replace** - jobs run on intervals that aggregate data and put in json docs in s3 buckets - dao metadata pulled from airtable - merges daa meta, boost data, audit logs data, allies data, playlist data - dao guildbank token list pulled from subgraphs and hydrated with current token price and data - dao minion vault data pulled from subgraphs, hydrated with and various apis and formatted #### 8. airtable ** top priority to replace** ###### input - new dao registration creates dao metadata record - editing dao metadata updates metadata record - adding a boost adds boost record + updates dao metadata/playlist data - update boost settings updates a boost record + dao metadata/playist data ###### output - jobs dumping data to s3 pull this data #### 8. api endpoints used by web app /dao/{id} - get all metadata for a single dao by contract address from s3 /dao/slug/{slug} - get all metadata for a single dao by slug - not used /dao/update - put to handle adding a new dao and udpating dao metadata on an existing dao /dao/boost - post to add a boost and update boost settings /dao/ipfs-key - post to get pinata one time upload key /dao/discord-status/{channelId} - wrap discord api and checks to see if a discord channel is set up for haus bot /dao/discourse-topics/{categoryId} - was added to pull discourse posts - not used /dao/discourse-topic - post to create new discourse forum post for a proposal /dao/get-utc - server time - not used /dao/haus/circulating-supply - coingecko uses this - might be helpful when we put haus in the app /dao/vaults - post with an array of minion addresses in the body - returns all minion vault data from s3 /dao/vaults/{id} - gets vault data for a single minion vault by minion address /dao/refresh-vault - put to trigger a vault refresh job and s3 dump with a single minion vault or dao address /dao-tokens - gets all hydrated token data for dao vault tokens - name, symbol, current usd price ## TheGraph data sources ![](https://i.imgur.com/CSX0TlT.png) #### 1.-7. Moloch factory contracts & Minion factory contracts - data source mapping on the factory contract for each moloch/minion version - single summon event to create moloch entities and register a mooloch template with the moloch address - template mappings - mapping for all events on the moloch/minion contract take event data and create/update entities #### 8. Escrow minion contracts - single escrow minion contract on each network - data source mapping for escrow minion events to add update entity data #### 9.-12. Stats graph moloch factory contracts - stats graph tracks historical token balance movements in guildbanks mostly used in bank charts - similar factory/template pattern as above #### 13.-15. Boost graph contracts - available for boost specific mappings - wrap n zap factory - tracks new wrap n zaps and maps them to a moloch address - transmutation factory - not used anymore #### 16.-17. Shamans graph - will be used to watch all shaman factories - wraps shaman factory contracts and creates entites and templates for mappings on shaman contract themselves - currently have a v2.5 sage minion shaman and the yeeter shaman
{"metaMigratedAt":"2023-06-16T17:19:14.597Z","metaMigratedFrom":"YAML","title":"app.daohaus.club v2 Data","breaks":true,"contributors":"[{\"id\":\"09d0c4f6-76f1-40bf-9588-bc9c33801104\",\"add\":9753,\"del\":3816}]"}
Expand menu