Index Coop Docs
Search
K

Governance Module

The GovernanceModule enables participating in the governance of component tokens held in the SetToken. Examples of intended protocols include Aave, Compound, and Uniswap governance.

Select Methods

delegate()

function delegate(ISetToken _setToken, string memory _governanceName, address _delegatee)
Manager only. Delegate voting power to an Ethereum address. Note: for some governance adapters, delegating to self is equivalent to registering and delegating to zero address is revoking right to vote.
Parameter Name
Type
Description
_setToken
ISetToken
Instance of the SetToken
_governanceName
string
Human readable name of integration stored in the IntegrationRegistry
_delegatee
address
Address of delegatee

propose()

function propose(ISetToken _setToken, string memory _governanceName, bytes memory _proposalData)
Manager only. Create a new proposal for a specified governance protocol.
Parameter Name
Type
Description
_setToken
ISetToken
Instance of the SetToken
_governanceName
string
Human readable name of integration stored in the IntegrationRegistry
_proposalData
bytes
Byte data of proposal to pass into governance adapter

vote()

function vote(ISetToken _setToken, string memory _governanceName, uint256 _proposalId, bool _support, bytes memory _data)
Manager only. Cast vote for a specific governance token held in the SetToken. Manager specifies whether to vote for or against a given proposal
Parameter Name
Type
Description
_setToken
ISetToken
Instance of the SetToken
_governanceName
string
Human readable name of integration stored in the IntegrationRegistry
_proposalId
uint256
ID of the proposal to vote on
_support
bool
Boolean indicating whether to support proposal
_data
bytes
Arbitrary bytes to be used to construct vote call data

register()

function register(ISetToken _setToken, string memory _governanceName)
Manager only. Register for voting for the SetToken
Parameter Name
Type
Description
_setToken
ISetToken
Instance of the SetToken
_governanceName
string
Human readable name of integration stored in the IntegrationRegistry

revoke()

function revoke(ISetToken _setToken, string memory _governanceName)
Manager only. Revoke voting for the SetToken
Parameter Name
Type
Description
_setToken
ISetToken
Instance of the SetToken
_governanceName
string
Human readable name of integration stored in the IntegrationRegistry

initialize()

function initialize(ISetToken _setToken)
Manager only. Initializes this module to the SetToken.
Parameter Name
Type
Description
_setToken
ISetToken
Address of the SetToken