---
# System prepended metadata

title: Mini Mol Specs

---

# Mini Mol Specs

## Background

The benefits of the Moloch framework over other more complex DAO frameworks are: 
* a relatively simple, single contract structure; 
* easy, accessible, and readable code;
* flexibility within its focus on permissioned community coordination.

The idea behind the MiniMol is to explore a more miniturized version of Moloch with a focus on maintaining these three core strengths. 

## Mini Mol Specs 

* Single core contract 
* Functionality focused on:
    * Membership 
    * Member Ownership 
    * Interacting with outside contracts
    * More flexible vote tabulation 

* Difference from Molochv2 
    * More flexible vote tabulation 
    * No (or minimal) internal banks / accounting 
    * Two proposal types: 
        * Membership 
        * Embedded Minion 

### Data 

* Member Struct
    * Shares 
    * Delegated Shares
        * Note: allow for true delegated voting. Equals shares until member delegates or is delegated votes. 
    * Delegate Address 
    * Jailed 
    * Highest Index Yes Vote
    * Mapping (address => uint) tokenClaims
        * Note: meant to replace loot

* Proposal Struct
    * proposer
    * applicant
    * sharesRequested 
    * flags 
        * Note: [sponsored, processed, didPass, cancelled, guildkick, action, new member]
    * startingPeriod
    * tabulationMethod
        * Note: image this would be an abstract or library contract that returns pass / fail based on the way it counts the votes (i.e. share weight, 1:1, quadratic, etc). 
    * maxTotalSharesAtYesVote 
    * details
    * mapping (address => Vote) votesByMember

* Vote Enum (Null, Yes, No)

* Mappings and Arrays
    * proposal queue 
    * actions
    * proposals
    * proposedToKick
    * members

### Functions 

* Submit Member Proposal
    * Proposer
    * Applicant
    * TributeToken
    * TributeOfferred 
    * 







