So, what I am trying to do is building a part of this app throughout a hackathon. The idea is to write an ERC-20 governance token (which I need to inherit ERC20Permit for), and writing a contract to farm this token by depositing assets (ETH and USD are top on the list). The reason to avoid writing a governance at the moment is that I want to implement quadratic voting.
Is there any flaw in this ? for which I should have a governance contract, make it upgradable, and eventually work on this quadratic voting feature?
Sorry I don't understand your question. Are you asking if it's possible to write a governance / voting smart contract that has some kind of quadratic voting functionality without the governance token being implemented? If so, yes.
If not, please elaborate more on your question.
Also as a separate note, you don't need ERC20 permit for the governance token. ERC20 permit allows you to call transferFrom without having to first broadcast a transaction to give allowance, it's not a requirement for governance tokens.
Actually opposite. I was asking if I can write a governance contract without writing governance contract. But I think I will just write a simple one right now and upgrade it eventually.
Thanks for the clarification on ERC20Permmit, I was confusing it with something else.
PS: I want to implement quadratic voting in my governance contract.
Yeah, I got that. I realize my question was really stupid and I wasn't thinking through. I think I will start with fundamental governance contracts from OpenZepplin and upgrade it as I go for quadratic voting. Good thing that it's from Compound as Gitcoin forked the same contract to work on their end to work on quadratic voting.