// SPDX-License-Identifier: UNLICENSEDpragmasolidity ^0.8.13;import"yield-utils-v2/contracts/mocks/ERC20Mock.sol";contractQTMTokenisERC20Mock {boolpublic transferFail;/// @dev Inherited constructor from ERC20Mock.sol/// @dev No parameters need to be passed for top-level constructorconstructor() ERC20Mock("Quantum", "QTM") { transferFail =false; }/// @dev Sets value of transferFail/// @param state_ Default value is false, as set in constructorfunctionsetFailTransfers(bool state_) public { transferFail = state_; }/// @dev Overriding _transfer from ERC20Mock to allow for a 'transfe failed' simulation, via transferFail variablefunction_transfer(address src,address dst,uint wad) internaloverridereturns (bool) {if (transferFail) {returnfalse; } else {return super._transfer(src, dst, wad); } }}