Strongly-typed contracts
Is there a way to currently (or in the future) make the contract aware of the functions it supports? Example:
Thanks to TypeChain we have a generated contract type which would be as follows for the example above:
start_time(
overrides?: CallOverrides
): Promise<{
0: BigNumber;
}>;
I'm thinking there might be a way to pass it to the Contract class if we make it generic — taking contract type as a type argument.
It would be great to see it natively supported by the package.
Till then, we can do like this:
const contract = new MulticallContract(address, ABI) as unknown as ContractType
It would be great to see it natively supported by the package.
Till then, we can do like this:
const contract = new MulticallContract(address, ABI) as unknown as ContractType
Will return values with typed in this expression when calling provider.all?
It would be great to see it natively supported by the package. Till then, we can do like this:
const contract = new MulticallContract(address, ABI) as unknown as ContractTypeWill return values with typed in this expression when calling provider.all?

Sadly no. You'd have to provide the return datatypes manually to .all as shown above