// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; /// @dev Test ERC20 with configurable decimals. contract MockERC20 is ERC20 { uint8 private immutable _decimals; constructor(string memory name_, string memory symbol_, uint8 decimals_) ERC20(name_, symbol_) { _decimals = decimals_; } function mint(address to, uint256 amount) external { _mint(to, amount); } function decimals() public view override returns (uint8) { return _decimals; } } /// @dev Alias used by some tests. contract MockERC20Decimals is MockERC20 { constructor(string memory name_, string memory symbol_, uint8 decimals_) MockERC20(name_, symbol_, decimals_) {} }