code: def __system_multiCall(calls, **kwargs):
      
      if not isinstance(calls, list):
          raise RPCInvalidParams('system.multicall first argument should be a list, {} given.'.format(type(calls)))
  
      handler = kwargs.get(HANDLER_KEY)
  
      results = []
  
      for call in calls:
          try:
              result = handler.execute_procedure(call['methodName'], args=call.get('params'))
  
              # From https://mirrors.talideon.com/articles/multicall.html:
              # "Notice that regular return values are always nested inside a one-element array. This allows you to
              # return structs from functions without confusing them with faults."
              results.append([result])
  
          except RPCException as e:
              results.append({
                  'faultCode': e.code,
                  'faultString': e.message,
              })
          except Exception as e:
              results.append({
                  'faultCode': RPC_INTERNAL_ERROR,
                  'faultString': str(e),
              })
  
      return results
docs: Call multiple RPC methods at once.
  
      :param calls: An array of struct like {"methodName": string, "params": array }
      :param kwargs: Internal data
      :type calls: list
      :type kwargs: dict
      :return: