Governance Module
Last updated
Was this helpful?
Last updated
Was this helpful?
The GovernanceModule enables participating in the governance of component tokens held in the . Examples of intended protocols include Aave, Compound, and Uniswap governance.
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
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
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
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
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
function initialize(ISetToken _setToken)
Manager only. Initializes this module to the SetToken.
Parameter Name
Type
Description
_setToken
ISetToken
Address of the SetToken