Set Documentation
Search…
⌃K

GovernanceModule

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

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