diff --git a/lib/electrumx_rpc/rpc.dart b/lib/electrumx_rpc/rpc.dart index 1bcf2bd84..b20f2f802 100644 --- a/lib/electrumx_rpc/rpc.dart +++ b/lib/electrumx_rpc/rpc.dart @@ -53,20 +53,15 @@ class JsonRPC { } if (useSSL) { - await SecureSocket.connect(host, port, + socket ??= await SecureSocket.connect(host, port, timeout: connectionTimeout, - onBadCertificate: (_) => true).then((Socket sock) { - socket = sock; - socket?.listen(dataHandler, - onError: errorHandler, onDone: doneHandler, cancelOnError: true); - }); + onBadCertificate: (_) => true); + socket!.listen(dataHandler, + onError: errorHandler, onDone: doneHandler, cancelOnError: true); } else { - await Socket.connect(host, port, timeout: connectionTimeout) - .then((Socket sock) { - socket = sock; - socket?.listen(dataHandler, - onError: errorHandler, onDone: doneHandler, cancelOnError: true); - }); + socket ??= await Socket.connect(host, port, timeout: connectionTimeout); + socket!.listen(dataHandler, + onError: errorHandler, onDone: doneHandler, cancelOnError: true); } socket?.write('$jsonRpcRequest\r\n');