TypeChain icon indicating copy to clipboard operation
TypeChain copied to clipboard

Generated types are broken if contract function names clash with ethers built-ins

Open jfschwarz opened this issue 1 year ago • 0 comments

Example: This contract has a target property. The ethers v6 type generated by TypeChain looks like this:

/*
 * Interface 'Module' incorrectly extends interface 'BaseContract'.
 *  Types of property 'target' are incompatible.
 *   Type 'TypedContractMethod<[], [string], "view">' is not assignable to type 'string | Addressable'.ts(2430)                  
 */
export interface Module extends BaseContract {
  //             ~~~~~~ 
  // ...
  target: TypedContractMethod<[], [string], "view">;
  // ...
 }

Expected behavior: TypeChain should probably skip over functions that clash with ethers built-ins.

jfschwarz avatar Dec 08 '23 08:12 jfschwarz