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:
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
Import 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.

