Files
dzentra_bot/app/src/integrations/exchange/auth.py

26 lines
685 B
Python

import hmac
import hashlib
import time
class ExchangeAuth:
def __init__(self, api_key: str, api_secret: str):
self.api_key = api_key
self.api_secret = api_secret.encode()
def sign(self, query: str) -> str:
return hmac.new(self.api_secret, query.encode(), hashlib.sha256).hexdigest()
def build_headers(self):
return {
"X-MBX-APIKEY": self.api_key,
}
def build_signed_params(self, params: dict):
params["timestamp"] = int(time.time() * 1000)
query = "&".join(f"{k}={v}" for k, v in params.items())
signature = self.sign(query)
params["signature"] = signature
return params