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 |
Last updated