A simple DEX aggregator quoter for Seer. Quotes across venues and builds calldata for official DEX routers (Uniswap SwapRouter02 / V4 Router, Swapr Algebra SwapRouter).
LensQuoter is based on zRouter.
One bytecode for src/LensQuoter.sol. Per-chain DEX addresses are injected in the constructor; pass address(0) to disable a venue.
Supported venues: Uniswap V3, Uniswap V4 (hookless + hooked via V4 Router), Swapr V3 (Algebra).
| Chain | UniV3 | UniV4 | Swapr |
|---|---|---|---|
| Ethereum / Base / Optimism | yes | yes | no |
| Gnosis | no | no | yes |
Users approve and call the venue routers returned by builders.
View getters: WNATIVE, V3_FACTORY, V3_QUOTER, V3_SWAP_ROUTER, V4_POOL_MANAGER, V4_QUOTER, V4_ROUTER, SWAPR_POOL_DEPLOYER, SWAPR_QUOTER, SWAPR_SWAP_ROUTER.
getQuotes(exactOut, tokenIn, tokenOut, swapAmount)— best + all venue quotes (no calldata)buildBestSwap(...)— single-hop best route +(target, callData, msgValue)for an official routerbuildBestSwapViaETH(...)— via WNATIVE mid (optional V4 hook candidate on single-hop); two-hop uses same-venue path encodingbuildBestSwapViaToken(..., mid)— configurable mid; two-hop same venue onlylimit(exactOut, quoted, bps)— slippage helper
Native = address(0). V3/Swapr paths use WNATIVE internally; V4 keeps native as address(0).
forge script script/Deploy.s.sol:Deploy --rpc-url ethereum --broadcast -vvvv
forge script script/Deploy.s.sol:Deploy --rpc-url op --broadcast -vvvv
forge script script/Deploy.s.sol:Deploy --rpc-url base --broadcast -vvvv
forge script script/Deploy.s.sol:Deploy --rpc-url gnosis --broadcast -vvvvAfter broadcast, update CHAINS.lensQuoter in sdk/src/index.ts and rebuild the SDK (cd sdk && npm run build).
Constructor args come from script/ChainConfig.sol.
forge test --match-contract LensQuoterV4QuoterDelegationTest
forge test --match-contract LensQuoterGnosisTest -j1
forge test --match-contract LensQuoterOPTest -j1See sdk/README.md. Package: @seer-pm/lens. Same ABI and AMM enum on every chain.
The contracts are optimized for simplicity. Review before production use. Use at your own risk.
MIT