12345678910111213141516171819202122232425262728293031323334353637 |
- // SPDX-License-Identifier: MIT
- pragma solidity 0.8.28;
- import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
- import { ERC20Burnable } from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
- /**
- * @title MockUSDT
- * @dev 标准的ERC20代币合约,用作Mock USDT
- * 包含基本的ERC20功能:转账、授权、销毁等
- */
- contract MockUSDT is ERC20, ERC20Burnable {
- uint8 private constant DECIMALS = 6; // USDT使用6位小数
- constructor(
- string memory name,
- string memory symbol,
- address initialOwner
- ) ERC20(name, symbol) {
- // 给初始所有者铸造一些代币
- _mint(initialOwner, 1000000 * 10**DECIMALS); // 100万USDT
- }
- /**
- * @dev 重写decimals函数,返回6位小数
- */
- function decimals() public view virtual override returns (uint8) {
- return DECIMALS;
- }
- /**
- * @dev 铸造代币(任何人都可以调用,用于测试)
- */
- function mint(address to, uint256 amount) external {
- _mint(to, amount);
- }
- }
|