docstr: Retrieve all assets in `sids`.
  
  Parameters
  ----------
  sids : iterable of int
      Assets to retrieve.
  default_none : bool
      If True, return None for failed lookups.
      If False, raise `SidsNotFound`.
  
  Returns
  -------
  assets : list[Asset or None]
      A list of the same length as `sids` containing Assets (or Nones)
      corresponding to the requested sids.
  
  Raises
  ------
  SidsNotFound
      When a requested sid is not found and default_none=False.
code: def retrieve_all(self, sids, default_none=False):
      """
      Retrieve all assets in `sids`.
  
      Parameters
      ----------
      sids : iterable of int
          Assets to retrieve.
      default_none : bool
          If True, return None for failed lookups.
          If False, raise `SidsNotFound`.
  
      Returns
      -------
      assets : list[Asset or None]
          A list of the same length as `sids` containing Assets (or Nones)
          corresponding to the requested sids.
  
      Raises
      ------
      SidsNotFound
          When a requested sid is not found and default_none=False.
      """
      assets = []
      for exchange_name in self.exchanges:
          exchange = self.exchanges[exchange_name]
          xas = [
              asset for asset in exchange.assets if asset.sid in sids
          ]
          assets += xas
  
      return assets
  
file_path: catalyst/catalyst/exchange/exchange_asset_finder.py
imports: import pandas
  from catalyst.constants import LOG_LEVEL
  from catalyst.exchange.utils.factory import find_exchanges
  from logbook import Logger
label_desc: Use image node_id 4 for calling the ExchangeAssetFinder obj's underlying member method code with example usage: obj.retrieve_all(sids, default_none) and returns: assets