🛟 Making web3 more predictable & safer, 1 type at a time!
npm install ethers-types
yarn add ethers-types
Import your favorite protocol's contract types directly into your TypeScript code:
import { getDefaultProvider } from "ethers";
import { MorphoAaveV3__factory } from "ethers-types/factories/protocols/morpho/aave-v3/MorphoAaveV3__factory";
import { ERC20__factory } from "ethers-types/factories/token/ERC20/ERC20__factory";
const provider = getDefaultProvider();
const dai = ERC20__factory.connect("0x6B175474E89094C44Da98b954EedeAC495271d0F", provider);
const ma3Eth = MorphoAaveV3__factory.connect("0x33333aea097c193e66081E930c33020272b33333", provider);
You can even use ethers-multicall-provider to batch your RPC calls and load responses faster!
import { getDefaultProvider } from "ethers";
import { MorphoAaveV3__factory } from "ethers-types/factories/protocols/morpho/aave-v3/MorphoAaveV3__factory";
import { ERC20__factory } from "ethers-types/factories/token/ERC20/ERC20__factory";
const provider = MulticallWrapper.wrap(getDefaultProvider());
const dai = ERC20__factory.connect("0x6B175474E89094C44Da98b954EedeAC495271d0F", provider);
dai.symbol().then(console.log);
dai.decimals().then(console.log);