function callOptionalReturn(IERC20 token, bytes memory data) private {
        
        

        
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success);

        if (returndata.length > 0) {
            require(abi.decode(returndata, (bool)));
        }
    }