Hi,
I follow Contracts Wizard and get a Governor contract. In the contract, a propose function is implemented like this
function propose(
address[] memory targets,
uint256[] memory values,
bytes[] memory calldatas,
string memory description
)
public
override(GovernorUpgradeable, GovernorCompatibilityBravoUpgradeable, IGovernorUpgradeable)
returns (uint256)
{
return super.propose(targets, values, calldatas, description);
}
When I call this function in a test unit, I will get "TypeError: governor.propose is not a function"
await governor.propose(
[account1.address],
["100"],
[encodeParameters(["address"], [account0.address])],
"Proposal #1: Do nothing",
);
After trying some, I noticed the function have to be called like this
await governor["propose(address[],uint256[],bytes[],string)"](
[account1.address],
["100"],
[encodeParameters(["address"], [account0.address])],
"Proposal #1: Do nothing",
);
Anyone knows that?