creating a solidity contract for access control in elections