Requirements:
Create a voter proxy to allow people to vote with locked SGT
Should fallback gracefully if pools/contracts do not exist
Should inherit Ownable or some transferrable ownership ability from openzeppelin
Should allow the owner to add new pools/contract addresses i.e. if a sushiswap pool is created later, or sett vaults or staking geyser addresses change, the admin should be able to change or add them
Should support sushi swap pools
Should support uniswap pools
Should support 1inch pools
Should support sett style vaults
Should support current staking geysers (balanceOf(account) call)
Should use SafeMath from openzeppelin for add/sub/mult
Requirements:
Create a voter proxy to allow people to vote with locked SGT
References: