(self, url, params={})
| 2185 | return await self.watch_multiple(url, messageHashes, message, messageHashes, self.extend(subscription, subExtension)) |
| 2186 | |
| 2187 | async def authenticate(self, url, params={}): |
| 2188 | self.check_required_credentials() |
| 2189 | messageHash = 'authenticated' |
| 2190 | client = self.client(url) |
| 2191 | future = client.reusableFuture(messageHash) |
| 2192 | authenticated = self.safe_value(client.subscriptions, messageHash) |
| 2193 | if authenticated is None: |
| 2194 | expiresInt = self.milliseconds() + 10000 |
| 2195 | expires = self.number_to_string(expiresInt) |
| 2196 | path = 'GET/realtime' |
| 2197 | auth = path + expires |
| 2198 | signature = self.hmac(self.encode(auth), self.encode(self.secret), hashlib.sha256, 'hex') |
| 2199 | request = { |
| 2200 | 'op': 'auth', |
| 2201 | 'args': [ |
| 2202 | self.apiKey, expires, signature, |
| 2203 | ], |
| 2204 | } |
| 2205 | message = self.extend(request, params) |
| 2206 | self.watch(url, messageHash, message, messageHash) |
| 2207 | return await future |
| 2208 | |
| 2209 | def handle_error_message(self, client: Client, message) -> Bool: |
| 2210 | # |
no test coverage detected