MCPcopy Create free account
hub / github.com/ccxt/ccxt / authenticate

Method authenticate

python/ccxt/pro/modetrade.py:580–606  ·  view source on GitHub ↗
(self, params={})

Source from the content-addressed store, hash-verified

578 del client.subscriptions['authenticated']
579
580 async def authenticate(self, params={}):
581 self.check_required_credentials()
582 url = self.urls['api']['ws']['private'] + '/' + self.accountId
583 client = self.client(url)
584 messageHash = 'authenticated'
585 event = 'auth'
586 future = client.reusableFuture(messageHash)
587 authenticated = self.safe_value(client.subscriptions, messageHash)
588 if authenticated is None:
589 ts = str(self.nonce())
590 auth = ts
591 secret = self.secret
592 if secret.find('ed25519:') >= 0:
593 parts = secret.split('ed25519:')
594 secret = parts[1]
595 signature = self.eddsa(self.encode(auth), self.base58_to_binary(secret), 'ed25519')
596 request = {
597 'event': event,
598 'params': {
599 'orderly_key': self.apiKey,
600 'sign': signature,
601 'timestamp': ts,
602 },
603 }
604 message = self.extend(request, params)
605 self.watch(url, messageHash, message, messageHash)
606 return await future
607
608 async def watch_private(self, messageHash, message, params={}):
609 await self.authenticate(params)

Callers 2

watch_privateMethod · 0.95

Calls 12

nonceMethod · 0.95
safe_valueMethod · 0.80
findMethod · 0.80
splitMethod · 0.80
base58_to_binaryMethod · 0.80
clientMethod · 0.45
reusableFutureMethod · 0.45
eddsaMethod · 0.45
encodeMethod · 0.45
extendMethod · 0.45
watchMethod · 0.45

Tested by

no test coverage detected