---
# System prepended metadata

title: SiloHAUS Spec Session
tags: [SiloHaus]

---

# SiloHAUS - RDF -  Spec Session

## Questions
- want to disable rage quit of the share token
  - maybe custom share token
  - restrict rage quit at the tba level - custom 6551
- custom crypto kittie custom claim contract
  - nothing custom - they can do that 
- Shares name = {DAO name}-vote
  - hide token transfer form
- Summoner needs to query nft collection on summon
  - get total supply to set the proportion of claim
  - what about non-fixed supply? - we only support fixed supply
  - summoner needs to check and validate
    - totalSupply
    - conforms 721 standard validation




## Contracts

**New loot contract + singleton**
  - FixedLoot
  - takes totalSupply on init
  - takes initialHolder on init
  - remove upgradability
  - turn off mint
  - turn off pause-ability
  - adjust beforeTokenTransfer to check new mint/pause rules

**New HOS**
  - Makes the baal, safe, sidecar safe
  - adjust initparams and initactions
      - takes loot template now
      - initalSupply and initialHolder (if not safe the HOS creates)
  - identify fixedloot in referrer field
  - create and set the claim shaman in the baal init
      - determine shaman address
      - permission level 2 (manager I think)
  - sends loot tokens to claim shaman and some to side vault

**Claim shaman contract**
  - inits with
      - nft contract address
      - ratio of tokens to shares
  - create tba (at least get address)
  - Claim function
      - batch option
      - checks balanceOf on some nft contract to make a whitelist
      - keeps track of tokenIds that have claimed (or have share)
      - mints 1 share
      - transfers some amount of loot 
          - * Q: from side vault?
          - * Q: does all loot go into shaman? some amount for distro?
          - * Q: shaman may need approval from token contract for transferFrom on Safe
          - * Q: another option is roles/permissions

**DAO initial config**
  - 0 shares, 0 loot
  - 33% min retention 
  - voting period: 3days, grace 2 day
  - quorum: 0
  - sponsor threshold: 1
  - offering: 0
  - shares non transferable, loot transferable

**Other Considerations**
  - ADMIN UI: daos with this token can't use mintloot proposals
  - SUBGRAPH: no summoners provided in SILO - should be fine on the subgraph?

## Data delivery

- HOS will flow down to normal summoners
    - main summoner
    - sidecar vault
    - identify nft dao by referrer?
- General nft holdings per address?
- TBA per nft token?
- Claim shaman
    - claim status could be indexed maybe


## UI

**General**
- New custom apps
- Launcher is stand-alone
- Multi-tenent
    - create multi-tenent starter
      - just swap target_dao for useCurrentDaoContext
    - needs a home page not scoped to dao if so
        - simple search by name?

**Summon**
- Simple form w/ available fields
- HOC transaction
    - Custom arg assembly functions for init params and actions
    - Hidden default values
- could be a stepper form

**Claim**
- Connect wallet and find nfts per wallet
    - get nfts per address
    - get nft claim status from shaman
- Claim function
    - takes a list of tokenIDs
- Complexity around data fetching/mashing
- New components
    - help nft list
    - nft card
    - claim
    - batch claim modal
- Note: somme older NFTs do not follow the standard

- future
  - view all nfts
  - maybe batch claim all?
  - don't create tbas


**Profile**
- Highly customized version of current profile
- Overview data displays adjusted a bit
    - total nfts held index somewhere?
    - all meme tokens held by all tbas for the nfts held by the connected account
- held nft list
    - claimed tbs that the connected address holds the nft for
- nft card
    - profile state with delegate
- delegate single nft
    - routes tx through the tba
        - function on tba that takes an encoded delgate call function
- delegate many
    - maybe a front end multicall library to batch the single delegates (wont work for multiple contracts)
    - maybe a middleware contract that allows delegate call to many (needs custom 6551 implimentation)
    - to do multi call on multiple contract probably requires calling from a contract and not an EOA. THis could be acomplished if 1 nft/tba owned all other nft/tbas and used a multi call library like the Safe one (still have to send all nfts to tba)
- make pfp
    - changes profile image somehow
        - use localStorage
        - use poster - but requires adding a lot for profile management
- Manage view
    - new table
- connect as nft flow??
    - more exploration - in scope initially?
    - lots of unknowns
    - seems like it could identify the tba that will be voting/delegating/submitting proposals/rage quit
    - how will that state run through the rest of the app for other functionality scoped to the connected wallet
    - can we prioritize the delegation flow for viting/proposing ect...
    - profile page doesn't make sense if connected as a tba through tokenbound account
      - lots more unknowns


**Holders/Members**
- Doesn't pull data from member list, but from nft holders list somewhere
- Current member list components w/ some small changes

**DAO Info**
- Small component changes

**DAO Settings**
- DAO metadata needs to be updated by a tba
    - what address comes through here and does our poster indexer pick that up?
    - probably need to adjust how we index this - but we would then need to store

**Proposals**
- Lists/details and new prop forms
- New proposals

**Safes**

**Yeeter proposal** - future
    - how to get the shaman address and have it for the setShaman
    - better to integrate with yeeter

## Resources

[RDF PROTOTYPE](https://www.figma.com/proto/Bsy8YZDLvjowKBUOHf7yuP/Moloch-RDF?type=design&node-id=29-2195&t=AuHY55gTBaro249g-0&scaling=scale-down-width&page-id=0%3A1&starting-point-node-id=29%3A2195)

[RDF UI DESIGNS FIGMA (with notes)](https://www.figma.com/file/Bsy8YZDLvjowKBUOHf7yuP/Moloch-RDF?type=design&node-id=0%3A1&mode=design&t=AuHY55gTBaro249g-1)


[airstack](https://app.airstack.xyz/)

TokenBound SDK?


## Silo Core

Uses TBA DAOhaus, but has a different onboarding flow
- enables creataing new collections
- nft sale to seed the dao