// SPDX-License-Identifier: MIT pragma solidity 0.8.30; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; /// @notice Fixed-supply ERC-20. No owner, further minting, tax or blacklist. contract StrataToken is ERC20 { constructor(string memory tokenName, string memory tokenSymbol, uint256 wholeSupply) ERC20(tokenName, tokenSymbol) { require(bytes(tokenName).length > 0 && bytes(tokenName).length <= 48, "Name length"); require(bytes(tokenSymbol).length >= 2 && bytes(tokenSymbol).length <= 10, "Symbol length"); require(wholeSupply > 0 && wholeSupply < 1e15, "Supply range"); _mint(msg.sender, wholeSupply * 10 ** decimals()); } }