// SPDX-License-Identifier: MIT pragma solidity 0.8.30; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; /// @notice Fixed issuance draft. Supply is in base units (18 decimals). /// No owner, proxy, taxes, blacklist, public mint or privileged transfer path. /// This transferable token does NOT confer or prove a unique human identity. contract TIMEToken is ERC20 { error InvalidTreasury(); error InvalidSupply(); constructor(address treasury, uint256 initialSupply) ERC20("TIME", "TIME") { if (treasury == address(0)) revert InvalidTreasury(); if (initialSupply == 0) revert InvalidSupply(); _mint(treasury, initialSupply); } }