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