triggerAggregateLogin static method

Future<TorusCredentials> triggerAggregateLogin({
  1. required TorusAggregateVerifierType aggerateVerifierType,
  2. required String verifierIdentifier,
  3. required List<TorusSubVerifierDetails> subVerifierDetailsArray,
})

Implementation

static Future<TorusCredentials> triggerAggregateLogin({
  required TorusAggregateVerifierType aggerateVerifierType,
  required String verifierIdentifier,
  required List<TorusSubVerifierDetails> subVerifierDetailsArray,
}) async {
  try {
    final String aggregateVerifierTypeString =
        aggerateVerifierType.toString();
    final Map loginResponse =
        await _channel.invokeMethod('triggerAggregateLogin', {
      'aggregateVerifierType': aggregateVerifierTypeString
          .substring(aggregateVerifierTypeString.lastIndexOf('.') + 1),
      'verifierIdentifier': verifierIdentifier,
      'subVerifierDetailsArray':
          subVerifierDetailsArray.map((e) => e.toMap()).toList(),
    });
    return TorusCredentials(
      loginResponse['publicAddress'],
      loginResponse['privateKey'],
      _convertUserInfo(loginResponse['userInfo']),
    );
  } on PlatformException catch (e) {
    switch (e.code) {
      case "UserCancelledException":
        throw UserCancelledException();
      case "NoAllowedBrowserFoundException":
        throw NoAllowedBrowserFoundException();
      default:
        rethrow;
    }
  }
}