Remove: TimeCurve launchpad sale-end, redemption, presale, LP seed flows

Context

Remove TimeCurve launchpad sale-end, redemption, presale, and LP seed flows. Parent epic: #238 (closed).

Relevant files

  • contracts/src/TimeCurve.solendSale, redeemCharms, distributePrizes, LinearCharmPrice, MAX_SALE_ELAPSED_SEC, presale hooks
  • contracts/src/pricing/LinearCharmPrice.sol
  • contracts/src/vesting/DoubPresaleVesting.sol, PresaleCharmBeneficiaryRegistry.sol
  • contracts/src/sinks/DoubLPIncentives.sol
  • frontend/src/pages/timecurve/TimeCurveStakeAtLaunchSection.tsx
  • frontend/src/pages/PresaleVestingPage.tsx or /vesting route
  • docs/operations/final-signoff-and-value-movement.md

Acceptance criteria

  • No saleEnded / redeemCharms / distributePrizes / linear price schedule in v2
  • Presale vesting pages and env vars removed
  • LaunchGate/home launchpad copy replaced with arena entry (frontend/src/lib/surfaceContent.ts)

Verification checklist

  • Grep clean for redeemCharms, endSale, LinearCharmPrice, launchLiquidityAnchor
  • No /vesting route in production build