nftchance/mev

feat: generate typescript interfaces for reference contract children

Opened this issue · 0 comments

Right now when including a reference we only generate a Typescript interface for the top-level contract even though in certain cases we will most definitely want all the children as well.

Right now, for each reference a index.ts is generated however instead we should generate a ${name}.ts for each Solidity file found. This way all Solidity files can be interfaced with ease. Additionally, this means one can reuse the onchain interfaces already provided by a protocol.

For example, UniswapV3Factory returns a IERC20Minimal.sol however we do not have a Typescript interface for it, even though that would make things much simpler due to the assumption that something within the contract needs it and therefore our Strategy would benefit from access to that without manual declaration.