---
tags: v3, haus keeping, notes
---
# v3 Haus Keeping (Wednesday) - TW Notes 3-2-22
- Do we need to rename the contracts? Moloch > Baal > Baaloch > Pokebaal...?
#### Shares
- Loot named through a separate contract
- Shares named on the Baal contract
- Can DAO shares be transferred via their wallet/MetaMask?
- Yes, shares can be transferred from one EOA to another EOA
- No call required. Info already in subgraph.
- Tribute: historically included token approval. Has been removed in v3.
- Could make a multicall to stack approval, funds transfer, and mint token to the person that transferred funds.
- While proposal is open, the funds are still vulnerable.
#### Proposals
- Types cannot be easily discerned in the subgraph. Need to explore patterns to discern.
- Factors for ID have changed. Decoding is the way to go, although infinitely variable.
- Details of the metadata attached to proposals will reveal patterns for DH to decode.
- UI needs strong audit-ability for deciphering "wild west style" multi call stacks in custom proposals.
- Can't store a million AVIs - need to decide on a subset.
- [Tenderly](https://dashboard.tenderly.co/explorer) was building a decoder, but this tech is a ways out.
- Verify contracts via Etherscan via AVI: only works for verified contracts.
- **Need a warning for unverified contracts.**
- Make subgraph data less rich, has reverberations down to UX related to filtering/querying proposals.
#### Transfer (Line 256)
- Event is focused on shares. Does double duty.
- Might add separate events for minting/burning.
- Discerned by:
- from Baal = minting.
- from a member = might be burning.
- to Baal = definitely burning.
- Member to member = transfer.
- Baal to member = verified mint.
- The from/to discerns the nature of the event.
- In v2.5 there are set share/loot events. Will that trigger this new mechanism? = yes.
- Loot minting/burning/transferring is the same format, although loot is it's own token and has it's own events. => place for additional cleanup to save ourselves from conditional logic and possibly removing the "loot" event.
- ERC-20 conditions should be kept for true transfers, but refine to mint/burn event.
#### Delegate
- Delegator always has to be the person delegating.
- FromDelegate will be you without delegation, or to the person delegated to.
- Triggers DelegateVoteChanged
- New shares automatically go to new delegate.
- Delegation is 100%, no percentage. All or nothing.
#### ShamanSet
- Sending a shaman and designating its permission level as an admin in the DAO.
- A shaman = any contract that exposes certain functions, that can mint/burn, can even be an EOA (any address)
- Changes occur through proposal process
Admin = just ability to turn on/off (pause or unpause) transferrability of shares
Manager = can also mint/burn shares + loot, and set guild tokens, and convert shares to loot. The original conception of a shaman.
Governer (god mode) = all the additional parameters. Could brick the DAO by setting unlimited voting/grace period.
Permissions =
0 = no permission
1 = admin only
2 = manager only
3 = admin + manager
4 = governance only
admin + governance
5 = admin + governance
6 = manager + governance
7 = admin + manager + governance
Shaman Parameters =
- Voting period length
- Grace period length
- New Offering: how much ETH would need to be sent to a DAO to submit a proposal. *Important* to ensure user proposals don't get rejected. Correlated to spam protection.
- Period for submitting a propsal
- Quorom required for passing a proposal.
- Sponsor threshold: how much voting power is required, a number of shares threshold
- MinRetention = new dilution bound based on 100% scale. How much of the DAO would need to kill a proposal. "3" corresponds to 1/3 of the DAO or 33%.
UX considerations: how to adjust these settings? Work flow > proposal states
#### GuildTokenSet
- For a token to be RQ-able it needs to be on the default RQ list, set as a guild token. Otherwise, user can use an advanced RQ function to designate specific token to RQ.
- RQ can happen to a different address
- How complex will we want the UI for the advanced RQ transfer function? This feature is intended for the situation where a member RQs, recognizes that there is a broken token that needs to be bypasses in order to RQ successfully.
#### SharesPaused / LootPauses
- Designates transferrability.
- True = transferrable
- False = non-transferrable
- One might be paused without affecting the other.
- Greatly affects the permission nature, leads to thinking about the settings for quorom, shamans, etc.
- Allows the DAO to evolve in complexity as the community grows
#### Battle Testing
- Decide on the specific software/code/experience being tested
- Form intentional internal teams for identifying specific problems
- Allocate intention teams to be summoned in the testing DAOs
- Conduct specific post-game UX sessions to extract essential learnings from the war game.