crossr
Build on crossr

Contracts

Everything here is what the web app itself does. Contracts are plain Solidity you can call from any client, the shared package gives you typed ABIs, manifest hashing and the curve math, and the indexer exposes a small REST API. Source: github.com/andrewkyrz/crossr-contracts.

  • Launchpad: one per chain. Creates legs, runs the bonding curves, graduates them. Entry points: createLaunch, buy, sell, graduate; views getCurve, quoteBuy, quoteSell, spotPrice, sellableTokens, predictToken, manifestHash.
  • LaunchToken: immutable ERC20 deployed with CREATE3. Exposes launchId(); the only mint path is bridgeMint from the configured bridge.
  • LaunchRelay: LayerZero V2 OApp that ships a manifest leg to another chain. quoteLeg / sendLeg, called by the launchpad.
  • TokenBridge: LayerZero V2 OApp shared by every token on the chain. quoteSend / send burn here and mint there.
  • LiquidityLocker: owns every graduated Uniswap v4 position forever. LaunchHook gates pool init to the locker and charges the post-graduation fee.
  • FeeEscrow: all fees end up here. balanceOf(account, asset) then claim(asset); the native coin is asset 0x0.
  • Addresses per chain live in deployments/<chainId>.json and are re-exported by the shared package as deployment(chainId). ABIs are generated from the Foundry build with bun run abi.