Портировать с python на dart функцию запроса ордеров с okex
Необходимо портировать с python на dart код запроса активных ордеров с крипто-биржи okex.
Код на python работает. Все необходимые пароли и ключи доступа к API okex вбиты. Функция запрашивает активные ордера (там выставлен один ордер) и печатает их список в консоль. То же самое должно происходить в портированной функции на dart.
Рабочий код на python:
from datetime import datetime
import hmac
import base64
import requests
APIKEY = "d02e7a65-c5fa-4406-8710-f5660d038260"
APISECRET = "57B9A0B51A7CBD0B8554FD11ABBE0FDC"
PASS = "VXSVxnIvAd2ciMRI1CtVG40wNHaCkHkL"
BASE_URL = 'https://aws.okex.com'
def send_signed_request(http_method, url_path, payload=None):
if payload is None:
payload = {}
def get_time():
return datetime.utcnow().isoformat()[:-3] + 'Z'
def signature(timestamp, method, request_path, body, secret_key):
if str(body) == '{}' or str(body) == 'None':
body = ''
message = str(timestamp) + str.upper(method) + request_path + str(body)
mac = hmac.new(bytes(secret_key, encoding='utf8'), bytes(message, encoding='utf-8'), digestmod='sha256')
d = mac.digest()
return base64.b64encode(d)
# set request header
def get_header(request='GET', endpoint='', body=None):
if body is None:
body = dict()
cur_time = get_time()
#cur_time = "2021-09-18T15:31:52.219Z"
print(cur_time)
header1 = dict()
header1['CONTENT-TYPE'] = 'application/json'
header1['OK-ACCESS-KEY'] = APIKEY
sign = signature(cur_time, request, endpoint, body, APISECRET)
print(sign)
header1['OK-ACCESS-SIGN'] = sign
print(sign[0])
header1['OK-ACCESS-TIMESTAMP'] = str(cur_time)
header1['OK-ACCESS-PASSPHRASE'] = PASS
return header1
url = BASE_URL + url_path
header = get_header(http_method, url_path, payload)
print(url)
print(header)
response = requests.get(url, headers=header)
response.json()
return response.json()
resp = send_signed_request("GET", "/api/v5/trade/orders-pending", payload={})
print(resp['data'])