Build on crossr
Launching
- Call
createLaunch(manifest, legIndex, relays[], devBuyQuote, devBuyMinOut)on the home chain, frommanifest.creator.legIndexis the leg that lives on this chain. - Each
RelaySpecis{legIndex, options}for a remote leg;optionsare LayerZero executor options, uselzReceiveOptions(RELAY_LEG_GAS)from the shared package. The remote quote must be allow-listed on the home chain (remoteQuoteAllowed). msg.valuemust equal exactlycreationFee × (1 + relays.length) + Σ relay.quoteLeg(...), plusdevBuyQuotewhen the local quote is native. ReadcreationFeefrom the launchpad and quote every relay first; the launchpad reverts withBadValueotherwise.- ERC20 quote: approve the launchpad for
devBuyQuotebefore the call. Remote legs open a few seconds later once the LayerZero message lands;LegRelayedthenLegCreatedon the peer chain tell you when. - Unsupported chain on the relay? Send the same manifest with
createLaunch(manifest, legIndex, [], 0, 0)directly on that chain, from the same creator. Same hash, same token address.
crossr.app/launch
crossr
Launch fees3 × creationFee
MessagingΣ relay.quoteLeg(i)
Dev buydevBuyQuote
msg.value= sum of the above