IIP-41: Allow OTC investors & contributors to vote with tokens held in the vesting contract

iip: 41 title: Allow OTC investors & contributors to vote with tokens held in the vesting contract status: Proposed authors: @bigsky7 @reganbozman @ncitron discussion-to: https://gov.indexcoop.com/t/iip-41-allow-investors-contributors-to-vote-with-tokens-held-in-otc-vesting-contract/1531 created: 2021-05-17

Simple Summary

Allow Index Coop investors and contributors who participated in the recent Strategic Sale to vote with tokens from the OTC vesting contract.

Abstract

Snapshot strategy is modified to allow:

  1. Vesting tokens to be used to vote in Index Coop governance votes

  2. Vesting tokens to be used to vote in Index Coop meta-governance votes

Motivation

Protocol governance is the most important part of the Index Coop community. By enabling voting with tokens held in escrow, investors and community members will be able to take part in all Index Coop governance votes.

This will help both our community and our investors:

  1. Increase governance involvement: We want our community members to vote and participate in the governance of our protocol. Ensuring that every stakeholder can vote ensures that no votes or community members are shut out from our governance.

  2. Align long-term incentives: All participants in this round are committed to the long-term success of the Coop, voting will enable them to participate in Coop decision making and help maintain long-term alignment.

Voting will be enabled for both community members and investors from the OTC round.

Specification

Overview

The implementation of this change will take a different approach than our prior Snapshot strategy changes. Rather than adding an additional Snapshot strategy to our space, we will instead deploy a mock ERC20 token called INDEXPOWAH, which redefines the balanceOf function to instead return the total number of votes that the individual has. The contract will count votes in accordance with the specifications of IIP-9, IIP-38, and IIP-41.

Rationale

Snapshot limits each space to a maximum of five strategies. In order to implement some of the remaining features in IIP-38 and IIP-41, we will need a total of eight strategies. This method reduces our space to just two strategies ( erc20-balance-of and delegation ). This idea was inspired by Sushiswap’s SUSHIPOWAH contract which serves the same purpose for the Sushiswap community.

Technical Specification

The source code and tests for the INDEXPOWAH contract can be found on GitHub: https://github.com/SetProtocol/index-coop-smart-contracts/pull/51