setParams method

void setParams(
  1. Map<String, String> params
)

Implementation

void setParams(Map<String, String> params) {
  try {
    final requestedProof = _getRequestedProof();
    if (_requestedProof == null) {
      throw buildProofRequestError('Requested proof is not present.');
    }

    final currentParams = availableParams();
    if (currentParams.isEmpty) {
      throw noProviderParamsError(
          'No params present in the provider config.');
    }

    final paramsToSet = params.keys.toList();
    for (final param in paramsToSet) {
      if (!currentParams.contains(param)) {
        throw invalidParamError(
            'Cannot set parameter $param for provider $_providerId. Available parameters: $currentParams');
      }
      // check if value is String
      if (params[param] is! String) {
        throw invalidParamError(
            'Cannot set parameter $param for provider $_providerId. Value must be a string.');
      }
    }
    _requestedProof!.parameters = {...requestedProof.parameters, ...params};
  } catch (error) {
    logger.info('Error Setting Params:', error);
    throw setParamsError("Error setting params", error);
  }
}