@@ -11,12 +11,9 @@ import PromiseKit
11
11
import BigInt
12
12
import Foundation
13
13
14
- public protocol WebsocketProvider {
14
+ public protocol IWebsocketProvider {
15
15
var socket : WebSocket { get }
16
16
var delegate : Web3SocketDelegate { get set }
17
- static func connectToSocket( endpoint: URL ,
18
- delegate: Web3SocketDelegate ,
19
- keystoreManager manager: KeystoreManager ? ) -> Web3SocketProvider
20
17
func connectSocket( ) throws
21
18
func disconnectSocket( ) throws
22
19
}
@@ -74,7 +71,7 @@ public protocol Web3SocketDelegate {
74
71
func received( message: Any )
75
72
}
76
73
77
- public final class InfuraWeb3SocketProvider : Web3SocketProvider {
74
+ public final class InfuraWebsocketProvider : WebsocketProvider {
78
75
public var subscriptionKey : String ?
79
76
private var subscriptionTimer : Timer ?
80
77
@@ -95,8 +92,8 @@ public final class InfuraWeb3SocketProvider: Web3SocketProvider {
95
92
96
93
public static func connectToSocket( _ network: Networks ,
97
94
delegate: Web3SocketDelegate ,
98
- keystoreManager manager: KeystoreManager ? ) -> Web3SocketProvider ? {
99
- guard let socketProvider = InfuraWeb3SocketProvider ( network,
95
+ keystoreManager manager: KeystoreManager ? ) -> InfuraWebsocketProvider ? {
96
+ guard let socketProvider = InfuraWebsocketProvider ( network,
100
97
delegate: delegate,
101
98
keystoreManager: manager) else { return nil }
102
99
socketProvider. socket. connect ( )
@@ -132,10 +129,6 @@ public final class InfuraWeb3SocketProvider: Web3SocketProvider {
132
129
if let requestData = try ? encoder. encode ( request) {
133
130
self . socket. write ( data: requestData)
134
131
}
135
-
136
- // // TODO: - This should be in another way, but only this works
137
- // self.socket.write(string: "{\"jsonrpc\":\"2.0\",\"method\":\"eth_getFilterChanges\",\"params\":[\"\(key)\"],\"id\":1}")
138
- // self.subscriptionTimer?.invalidate()
139
132
}
140
133
}
141
134
}
@@ -155,7 +148,7 @@ public final class InfuraWeb3SocketProvider: Web3SocketProvider {
155
148
}
156
149
157
150
/// The default websocket provider.
158
- public class Web3SocketProvider : Web3Provider , WebsocketProvider , WebSocketDelegate {
151
+ public class WebsocketProvider : Web3Provider , IWebsocketProvider , WebSocketDelegate {
159
152
public func sendAsync( _ request: JSONRPCrequest , queue: DispatchQueue ) -> Promise < JSONRPCresponse > {
160
153
if request. method == nil {
161
154
return Promise ( error: Web3Error . nodeError ( desc: " RPC method is nil " ) )
@@ -216,8 +209,8 @@ public class Web3SocketProvider: Web3Provider, WebsocketProvider, WebSocketDeleg
216
209
217
210
public static func connectToSocket( endpoint: URL ,
218
211
delegate: Web3SocketDelegate ,
219
- keystoreManager manager: KeystoreManager ? ) -> Web3SocketProvider {
220
- let socketProvider = Web3SocketProvider ( endpoint: endpoint,
212
+ keystoreManager manager: KeystoreManager ? ) -> WebsocketProvider {
213
+ let socketProvider = WebsocketProvider ( endpoint: endpoint,
221
214
delegate: delegate,
222
215
keystoreManager: manager)
223
216
socketProvider. connectSocket ( )
0 commit comments