docs: def get_staking_leaderboard(self, round_num=0, tournament=1):
          """Retrieves the leaderboard of the staking competition for the given
          round.
  
          Args:
              round_num (int, optional): The round you are interested in,
                  defaults to current round.
              tournament (int, optional): ID of the tournament, defaults to 1
  
          Returns:
              list: list of stakers (`dict`)
  
              Each stake in the list as the following structure:
  
                  * username (`str`)
                  * consistency (`float`)
                  * liveLogloss (`float` or `None`)
                  * liveAuroc (`float` or `None`)
                  * validationLogloss (`float`)
                  * validationAuroc (`float` or `None`)
                  * stake (`dict`)
                   * confidence (`decimal.Decimal`)
                   * insertedAt (`datetime`)
                   * soc (`decimal.Decimal`)
                   * txHash (`str`)
                   * value (`decimal.Decimal`)
  
          Example:
              >>> NumerAPI().get_staking_leaderboard(99)
              [{'consistency': 83.33333333333334,
                'liveLogloss': 0.6941153941722517,
                'liveAuroc': 0.5241153941722517,
                'stake': {'confidence': Decimal('0.055'),
                 'insertedAt': datetime.datetime(2018, 3, 18, 0, 20, 31, 724728, tzinfo=tzutc()),
                 'soc': Decimal('18.18'),
                 'txHash': '0xf1460c7fe08e7920d3e61492501337db5c89bff22af9fd88b9ff1ad604939f61',
                 'value': Decimal('1.00')},
                'username': 'ci_wp',
                'validationLogloss': 0.692269984475575},
                'validationAuroc': 0.512269984475575},
                ..
              ]
          """
          msg = "getting stakes for tournament {} round {}"
          self.logger.info(msg.format(tournament, round_num))
          query = '''
              query($number: Int!
                    $tournament: Int!) {
                rounds(number: $number
                       tournament: $tournament) {
                  leaderboard {
                    consistency
                    liveLogloss
                    liveAuroc
                    username
                    validationLogloss
                    validationAuroc
                    stake {
                      insertedAt
                      soc
                      confidence
                      value
                      txHash
                    }
                  }
                }
              }
          '''
          arguments = {'number': round_num, 'tournament': tournament}
          result = self.raw_query(query, arguments)['data']['rounds'][0]
          if result is None:
              return None
          stakes = result['leaderboard']
          # filter those with actual stakes
          stakes = [item for item in stakes if item["stake"] is not None]
          # convert strings to python objects
          for s in stakes:
              utils.replace(s["stake"], "insertedAt",
                            utils.parse_datetime_string)
              utils.replace(s["stake"], "confidence", utils.parse_float_string)
              utils.replace(s["stake"], "soc", utils.parse_float_string)
              utils.replace(s["stake"], "value", utils.parse_float_string)
          return stakes