<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_payments(self):
 """Get all your payments. Returns: list of dicts: payments For each payout in the list, a dict contains the following items: * nmrAmount (`decimal.Decimal`) * usdAmount (`decimal.Decimal`) * tournament (`str`) * round (`dict`) * number (`int`) * openTime (`datetime`) * resolveTime (`datetime`) * resolvedGeneral (`bool`) * resolvedStaking (`bool`) Example: [{'nmrAmount': Decimal('0.00'), 'round': {'number': 84, 'openTime': datetime.datetime(2017, 12, 2, 18, 0, tzinfo=tzutc()), 'resolveTime': datetime.datetime(2018, 1, 1, 18, 0, tzinfo=tzutc()), 'resolvedGeneral': True, 'resolvedStaking': True}, 'tournament': 'staking', 'usdAmount': Decimal('17.44')}, ] """

        query = """
          query {
            user {
              payments {
                nmrAmount
                round {
                  number
                  openTime
                  resolveTime
                  resolvedGeneral
                  resolvedStaking
                }
                tournament
                usdAmount
              }
            }
          }
        """
        data = self.raw_query(query, authorization=True)['data']
        payments = data['user']['payments']
        # convert strings to python objects
        for p in payments:
            utils.replace(p['round'], "openTime", utils.parse_datetime_string)
            utils.replace(p['round'], "resolveTime",
                          utils.parse_datetime_string)
            utils.replace(p, "usdAmount", utils.parse_float_string)
            utils.replace(p, "nmrAmount", utils.parse_float_string)
        return payments