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