// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract USDeToken is ERC20 { constructor(string memory name, string memory symbol) ERC20(name, symbol) { // Mint 10 billion tokens (10 * 10^18) to the contract creator _mint(msg.sender,10000000000000000000000000000); } // Override transfer and transferFrom functions to prevent further minting function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), allowance(sender, _msgSender()) - amount); return true; } }