stakes method

Future<List<StakeRewardsInfo?>> stakes({
  1. String? validator,
  2. String? withdrawer,
})

Implementation

Future<List<StakeRewardsInfo?>> stakes(
    {String? validator, String? withdrawer}) async {
  try {
    Map<String, dynamic> params = {};
    if (validator != null || withdrawer != null) {
      if (validator != null && validator.isNotEmpty) {
        params['validator'] = validator;
      }
      if (withdrawer != null && withdrawer.isNotEmpty) {
        params['withdrawer'] = withdrawer;
      }
    }
    dynamic result = await client.get(api('network/stakes', params));
    if (result != null) {
      List<dynamic>? stakes = (await client
          .get(api('network/stakes', params)))['stakes'] as List<dynamic>?;
      if (stakes != null) {
        return stakes
            .map((result) => StakeRewardsInfo.fromJson(result))
            .toList();
      } else {
        return [];
      }
    } else {
      return [];
    }
  } on ExplorerException catch (e) {
    throw ExplorerException(
        code: e.code, message: '{"stakes": "${e.message}"}');
  }
}