dethcrypto / TypeChain

🔌 TypeScript bindings for Ethereum smart contracts
MIT License
2.76k stars 361 forks source link

How to use zksync-ethers with typechain? #893

Open NOOMA-42 opened 7 months ago

NOOMA-42 commented 7 months ago

typechain generate __factory files and export in index.ts, and factory extend ContractFactory in ethers, like this:

export class TimelockController__factory extends ContractFactory {

however, I should use ContractFactory from zksync-ethers in the second argument of handleDeploy. Clearly mismatch the type. like below:

return this.multiProvider.handleDeploy(
      chain,
      new TimelockController__factory(),
      // delay, [proposers], [executors], admin
      [
        timelockConfig.delay,
        [timelockConfig.roles.proposer],
        [timelockConfig.roles.executor],
        ethers.constants.AddressZero,
      ],
    );

Should I use a wrapper to make the typechain generated factory compatible with zksync-ethers or there're other standardized way to handle such cases?