There are two contracts in my project:
- admin groups
- voting
Admin groups contain
mapping(uint => address[]) internal m_Admins
For example
- [1][0] = admin #1 with level 1
- [9][0] = admin #2 with level 9,
- [9][1] = admin #3 with level 9,
- etc.
Also contract contains a simple field
address[] internal m_AdminsList
which pushes on the end or removes by index a specific admin - it's just same as mapping but expressed as a list.
And voting, when it starts, I would like to send the array of admins that are allowed to process voting. The reason is when a new admin is added during active voting I would like to not allow him to give vote. I want him to be able to vote only the new voting.
How can I make a function that sends array of admins to voting contract? I can make two functions with admins count and get admin by index, but this might be gas expensive to perform a loop...