Params
This contracts contains a number of structures which are to be passed as parameters to Poll contracts. This way we can reduce the number of parameters and avoid a stack too deep error during compilation.
TreeDepths
A struct holding the depths of the merkle trees
struct TreeDepths {
uint8 intStateTreeDepth;
uint8 messageTreeSubDepth;
uint8 messageTreeDepth;
uint8 voteOptionTreeDepth;
}
MaxValues
A struct holding the max values for the poll
struct MaxValues {
uint256 maxMessages;
uint256 maxVoteOptions;
}
ExtContracts
A struct holding the external contracts that are to be passed to a Poll contract on deployment
struct ExtContracts {
contract IMACI maci;
contract AccQueue messageAq;
contract TopupCredit topupCredit;
}