Allows proposers to more granularly select proposal's voting strategies from the set of active strategies
Adds a uint8[] function param to propose where caller can add indices of desired strategies per proposal
Uses _getSelectedBitArray internal function to compute a uint256 bit array per standard
Adds a selectedVotingStrategies to Proposal Struct
Creates a toggle to fallback to active proposal's if selected are not used prior to accumulating voting power(old behavior)
Considerations
Could check if active + selected strategies before using to allow for inactive strategies to not be used even when selected
Motivation
A project I'm working on has a need for different voting strategies per proposal and an attack vector occurs when users can select from all active strategies per proposal. The only current option to mitigate this is to deploy a space per proposal which seems inefficient
Description of Changes
uint8[]
function param topropose
where caller can add indices of desired strategies per proposal_getSelectedBitArray
internal function to compute auint256
bit array per standardselectedVotingStrategies
to Proposal StructConsiderations
Motivation
A project I'm working on has a need for different voting strategies per proposal and an attack vector occurs when users can select from all active strategies per proposal. The only current option to mitigate this is to deploy a space per proposal which seems inefficient