Session — the launchpad on testnet, with an interface
Closed 16 Sep 2026. The launchpad is live on Arbitrum Sepolia with a web interface that ships from
master. Next thread: hooks.md.
What was done
web/— every screen: launch list, create, launch page with a curve chart and a price chart, curve and pool trading through the router, graduation retry, fees. React + Vite + wagmi + Mantine.- Deployed to Arbitrum Sepolia by hand (
make sepolia-deploy), 0.0028 ETH, block 309500438, verified on chain rather than from the script's output. WETH only, graduates at 0.01. make devbrings up chain, contracts and web in one command, reusing whatever is already there.- Vercel ships the app and the internal docs from
master, configured entirely in the repo. notes/ARCHITECTURE.mdgained four Mermaid diagrams: the contract map, a launch end to end, its states, and today's seams against the per-launch ones experiments need.
Decided in passing — do not relitigate
- Estimates come from simulating the router call where any swap is involved, and from the curve where none is. There is no Uniswap quoter on the local chain, and a simulation is exact across every leg — including v4 pool swaps, where it also spares us reimplementing the maths.
- ABIs in the web are hand-written. A build then never needs forge, which is what lets Vercel build it at all. A drifted signature fails loudly on the first read.
- Uncollected pool fees are read by simulating
collectFeesthrougheth_simulateV1. - The price chart replays curve events rather than storing history:
spotPriceis reconstructible fromBought/Sold, exactly, and pool points come from eachSwap'ssqrtPriceX96. - D8 reversed twice in one day and landed on public: the internal docs are hosted unprotected, by
the developer's choice, having been shown what it exposes.
notes/is published writing now. - The chain is chosen at build time, by branch (D30), which is what makes mainnet the same commit.
Still open in this thread
- No transaction has ever been signed through a wallet. ~0.012 ETH closes it on Sepolia.
- The rhubarb repo (
../launchpad) is mid-change and uncommitted:web/vercel.json, a.gitignoreexception anddeploy/42161.json, all needed for its automatic deploys — and the developer has since copiedweb/toweb-legacy/for a redesign. Therhub-siteVercel project's root directory isweb, and its first automatic deploy will go straight to rhubarb.money. - The browser tab still says "Launchpad (dev)".
- The web has no tests.
make checkneeds a local deploy first, because the typecheck imports the generated address file.