-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbase.py
79 lines (69 loc) · 2.54 KB
/
base.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import json
from util import send_request
class OkxDex(object):
def query_supported_chain():
"""
https://www.okx.com/api/v5/dex/cross-chain/supported/chain
:return:
"""
url = "/api/v5/dex/cross-chain/supported/chain"
resp = send_request(url, method="GET")
return resp.json()
def save_supported_chain(self):
chains = self.query_supported_chain()['data']
data = [{x['chainName']: x for x in chains}]
with open('bridge_chains.json', 'w', encoding='utf-8') as f:
json.dump(data, f, indent=2, ensure_ascii=False)
@staticmethod
def query_supported_tokens(chainId):
"""
获取币种列表。此接口的返回结果是欧易 DEX 认为的主流代币和平台代币。你可以指定该列表之外的代币在欧易 DEX 询价和兑换。
:return:
"""
url = "/api/v5/dex/aggregator/all-tokens"
data = {
"chainId": chainId
}
resp = send_request(url, method="GET", params=data)
return resp.json()
@staticmethod
def query_supported_tokens_by_bridge(chainId):
url = "/api/v5/dex/cross-chain/supported/tokens"
data = {
"chainId": chainId
}
resp = send_request(url, method="GET", params=data)
return resp.json()
@staticmethod
def query_supported_token_pairs_by_bridge(fromChainId):
url = "/api/v5/dex/cross-chain/supported/bridge-tokens-pairs"
data = {
"fromChainId": fromChainId
}
resp = send_request(url, method="GET", params=data)
return resp.json()
def query_supported_bridges(chainId):
url = "/api/v5/dex/cross-chain/supported/bridges"
data = {
"chainId": chainId
}
resp = send_request(url, method="GET", params=data)
return resp.json()
def approve_transaction(chainId, tokenContractAddress, approveAmount):
"""
获取交易授权所需要的数据
:return:
"""
url = "/api/v5/dex/aggregator/approve-transaction"
data = {
"chainId": chainId,
"tokenContractAddress": tokenContractAddress,
"approveAmount": approveAmount
}
resp = send_request(url, method="GET", params=data)
return resp.json()
if __name__ == '__main__':
# data = OkxDex().query_supported_token_pairs_by_bridge('1')
# data = OkxDex().query_supported_tokens_by_bridge('1')
data = OkxDex().query_supported_tokens('1')
print(data)