// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; /// @title MoonRushBondingToken — Fair-launch token; supply held by bonding curve until graduation. contract MoonRushBondingToken is ERC20, Ownable { address public immutable curve; constructor( string memory name_, string memory symbol_, address curve_, uint256 totalSupply_ ) ERC20(name_, symbol_) Ownable(curve_) { require(curve_ != address(0), "curve=0"); curve = curve_; _mint(curve_, totalSupply_); } }