Skip to content
LogoLogo

Solidity import playground

This is what the Tevm bundler does to every .sol import, on every build and in your editor. Step through the three panes:

app.ts — import the .sol file like any module
import { Counter } from './contracts/Counter.sol' // fully typed — no codegen, no copied ABI const tx = await client.writeContract({ abi: Counter.abi, functionName: 'increment', })
Counter.sol ──▶ tevm bundler plugin ──▶ typed Contract module
2Import it. The bundler plugin resolves .sol files through the Tevm compiler pipeline.

The same pipeline runs in three places — your bundler plugin at build time, the TypeScript plugin in your editor, and the LSP for editors without TypeScript — so the types you hover over are exactly the types your build emits.