The Governance Module is a module that that enables participating in governance of component tokens held in the SetToken. Examples of intended protocols include Compound, Uniswap, and Maker governance.

Select Methods


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.


function propose(ISetToken _setToken, string memory _governanceName, bytes memory _proposalData)

Manager only. Create a new proposal for a specified governance protocol.


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


function register(ISetToken _setToken, string memory _governanceName)

Manager only. Register for voting for the SetToken


function revoke(ISetToken _setToken, string memory _governanceName)

Manager only. Revoke voting for the SetToken


function initialize(ISetToken _setToken)

Manager only. Initializes this module to the SetToken.

Last updated