The LinearERC20Voting strategy assumes an ERC20Votes token, which is an OZ implementation, but our token isn't actually an ERC20Votes, it's our own "VotesERC20" token.
This only happens to work because it conforms to the methods in IVotes that we need (getPastTotalSupply, getPastVotes), and we don't call anything ERC20Votes specific.
This just updates the code to use the base interface we need, rather than a token contract we don't use.
Description
The
LinearERC20Voting
strategy assumes anERC20Votes
token, which is an OZ implementation, but our token isn't actually anERC20Votes
, it's our own "VotesERC20" token.This only happens to work because it conforms to the methods in IVotes that we need (getPastTotalSupply, getPastVotes), and we don't call anything ERC20Votes specific.
This just updates the code to use the base interface we need, rather than a token contract we don't use.