📋 Description
We need a factory contract that spins up a fresh, minimal DAO (SimpleGovernor) for every user. Each DAO must be isolated, upgrade-free, and configured in one call.
✅ Acceptance Criteria
- Expose create_simple_dao(config: DaoConfig) -> ContractAddress
- Emit SimpleDaoCreated(dao: ContractAddress, creator: ContractAddress, config_hash: felt252)
- Each DAO is a brand-new contract instance (no proxy, no delegate call)
- Unit tests: 100 % coverage for happy path + revert on duplicate salt
📋 Description
We need a factory contract that spins up a fresh, minimal DAO (SimpleGovernor) for every user. Each DAO must be isolated, upgrade-free, and configured in one call.
✅ Acceptance Criteria