disconnect method

  1. @override
Future<void> disconnect({
  1. required String topic,
  2. ErrorResponse? reason,
})
override

Implementation

@override
Future<void> disconnect({
  required String topic,
  ErrorResponse? reason,
}) async {
  _isInitialized();
  await _isValidDisconnect(topic);
  if (client.session.keys.contains(topic)) {
    await _sendRequest<ErrorResponse>(
      topic,
      JsonRpcMethod.WC_SESSION_DELETE,
      reason ?? getSdkError(SdkErrorKey.USER_DISCONNECTED),
      (v) => v.toJson(),
    );
    await _deleteSession(topic);
  } else {
    await client.core.pairing.disconnect(topic: topic);
  }
}