Deployed addresses
Every deployed contract, per chain, read live from this app's own chain configuration — the same source the site itself uses to talk to the chain. Nothing here is transcribed by hand, so it cannot disagree with what the app does.
Why past curve factories still matter
Replacing the curve factory only affects newly launched tokens. Every token launched before the swap still has its pool registered on the old factory, so poolOf(token) on the current factory returns the zero address for them. Any integration that resolves a curve token's pool must walk the full list — current factory first, then each past one — or it will simply fail to find the older half of the tokens. This is a real failure we have hit: checking only the current factory made the homepage's bonding-curve filter come up empty.
// 解析一枚曲线币的池子:必须遍历当前 + 历代工厂
const FACTORIES = [current, ...legacy]; // 见上表,新 → 旧
for (const f of FACTORIES) {
const pool = await f.read.poolOf([token]);
if (pool !== ZERO) return pool; // 命中即停
}
return null; // 不是曲线币