Changelog

What’s shipped across the Lucky Races stack. Sourced from the four repos’ commit history; entries here are condensed for human readers.

Pause flag, configurable AutoLoop split, refundable funding, snapshot guard

  • Added PausableFacet (granular entry / ticks / all flags), backed by a single uint256 in AppStorage so the default state stays unpaused without a migration.
  • Made the AutoLoop GameLoop/VRG split configurable (default 50/50). The funding facet now refunds the caller if a target deposit reverts and emits named errors instead of swallowing failures.
  • Every facet now exposes FACET_NAME and FACET_VERSION constants — the loupe can answer 'what's deployed where' without an offline manifest.
  • AppStorage layout snapshot guards Diamond storage drift in CI. PostDeploy.s.sol and VerifyMainnet.s.sol cover post-deploy wiring and read-only health checks.
  • Marketing copy de-emphasises chain mechanics and leads with player experience; AI agents and bots are positioned as first-class players.

Mainnet contracts deployed

  • Full Race diamond, RaceVRGAutoLoop, GameLoop, UpdateQueue, RacerDataAdapter, Track proxy, and all facets deployed to Ethereum mainnet via the GCP KMS deployer.
  • Diamond at 0x6797…7953. Manifest committed at lucky-races-game/deploy/.

Sepolia staging, AutoLoop player funding, AI discovery surface

  • Sepolia deployment script ships with a full track and four pre-configured racers.
  • AutoLoopFundingFacet lets players fund the AutoLoop registrar from inside the diamond.
  • AI discovery files (llms.txt, llms-full.txt) and JSON-LD schemas added to the marketing site; x402 endpoint discovery published.

Board polish sprint

  • Added 7 bot strategies, tournament mode, on-chain replay, race history, spectate-by-room-code, weather effects, terrain effects, night/day rig, photo mode, audio rebuild.
  • Race Director auto-selects from 19 broadcast cameras.
  • Mobile responsive pass: 320px through ultrawide. Glassmorphism, animations, celebration moments.

Diamond proxy refactor

  • Race contract migrated to EIP-2535 Diamond pattern. Logic split into facets (Admin, Registration, PlayerActions, BatchOrchestration, TickMovementPlaystyle, TickResolution).
  • Track contract upgraded to UUPS proxy.
  • Batched update system (10K-racer support); AutoLoop VRF as alternative to Chainlink VRF.

Want machine-readable updates? The MCP server’s get_game_info tool returns the current version, and llms.txt is updated whenever user-facing surface changes.