Skip to content

Commit 6587478

Browse files
committed
Added new endpoints: get pool locks and get token audit
1 parent b15183a commit 6587478

10 files changed

Lines changed: 120 additions & 6 deletions

File tree

.github/workflows/python-app.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
19+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
2020

2121
steps:
2222
- uses: actions/checkout@v3

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# Version 0.3.2
2+
+ Added Get pool locks
3+
+ Added Get token audit
4+
+ Updated doc with new methods
5+
+ Updated demo examples
6+
17
# Version 0.3.1
28
+ Separated modules
39
+ Added logger

README.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,18 @@ Supports [Dextools API v1](https://api.dextools.io/docs) and [Dextools API v2](h
3434
2. [Get pool liquidity](#get-pool-liquidity)
3535
3. [Get pool score](#get-pool-score)
3636
4. [Get pool price](#get-pool-price)
37-
5. [Get pools](#get-pools)
38-
6. [Get pools sorted by `creationBlock` and descending order and providing block numbers instead](#get-pools-sorted-by-creationblock-and-descending-order-and-providing-block-numbers-instead)
37+
5. [Get pool locks](#get-pool-locks)
38+
6. [Get pools](#get-pools)
39+
7. [Get pools sorted by `creationBlock` and descending order and providing block numbers instead](#get-pools-sorted-by-creationblock-and-descending-order-and-providing-block-numbers-instead)
3940
4. [Token](#token)
4041
1. [Get token](#get-token)
4142
2. [Get token locks](#get-token-locks)
4243
3. [Get token score](#get-token-score)
4344
4. [Get token info](#get-token-info)
4445
5. [Get token price](#get-token-price)
45-
6. [Get tokens](#get-tokens)
46-
7. [Get tokens sorted by `creationBlock` and descending order and providing block numbers instead in descending order](#get-tokens-sorted-by-creationblock-and-descending-order-and-providing-block-numbers-instead-in-descending-order)
46+
6. [Get token price](#get-token-audit)
47+
7. [Get tokens](#get-tokens)
48+
8. [Get tokens sorted by `creationBlock` and descending order and providing block numbers instead in descending order](#get-tokens-sorted-by-creationblock-and-descending-order-and-providing-block-numbers-instead-in-descending-order)
4749
8. [Get tokens sorted by `socialsInfoUpdated` and descending order and datetimes in descending order](#get-tokens-sorted-by-socialsinfoupdated-and-descending-order-and-datetimes-in-descending-order)
4850
9. [Get token pools](#get-token-pools)
4951
10. [Get token pools sorted by `creationBlock` and descending order and providing block numbers instead in descending order](#get-token-pools-sorted-by-creationblock-and-descending-order-and-providing-block-numbers-instead-in-descending-order)
@@ -225,6 +227,12 @@ pool_price = dextools.get_pool_price("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1
225227
print(pool_price)
226228
```
227229

230+
#### Get pool locks
231+
```
232+
pool_locks = dextools.get_pool_locks("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
233+
print(pool_locks)
234+
```
235+
228236
#### Get pools
229237
```
230238
pools = dextools.get_pools("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
@@ -268,6 +276,12 @@ token_price = dextools.get_token_price("ether", "0xfb7b4564402e5500db5bb6d63ae67
268276
print(token_price)
269277
```
270278

279+
#### Get token audit
280+
```
281+
token_audit = dextools.get_token_audit("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
282+
print(token_audit)
283+
```
284+
271285
#### Get tokens
272286
```
273287
tokens = dextools.get_tokens("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")

dextools_python/async_dextools_v2.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ async def get_pool_price(self, chain, address):
9393
async with self._session.get(f"{self.url}{endpoint}{chain}/{address}/price", headers=self._headers) as response:
9494
logger.debug(response.url)
9595
return await response.json()
96+
97+
async def get_pool_locks(self, chain, address):
98+
endpoint = "/pool/"
99+
100+
async with self._session.get(f"{self.url}{endpoint}{chain}/{address}/locks", headers=self._headers) as response:
101+
logger.debug(response.url)
102+
return await response.json()
96103

97104
async def get_pools(self, chain, from_, to, order="asc", sort="creationTime", page=None, pageSize=None):
98105
endpoint = "/pool/"
@@ -135,6 +142,13 @@ async def get_token_price(self, chain, address):
135142
async with self._session.get(f"{self.url}{endpoint}{chain}/{address}/price", headers=self._headers) as response:
136143
logger.debug(response.url)
137144
return await response.json()
145+
146+
async def get_token_audit(self, chain, address):
147+
endpoint = "/token/"
148+
149+
async with self._session.get(f"{self.url}{endpoint}{chain}/{address}/audit", headers=self._headers) as response:
150+
logger.debug(response.url)
151+
return await response.json()
138152

139153
async def get_tokens(self, chain, from_, to, order="asc", sort="socialsInfoUpdated", page=None, pageSize=None):
140154
endpoint = "/token/"

dextools_python/dextools_v2.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ def get_pool_price(self, chain, address):
7575
response = requests.get(f"{self.url}{endpoint}{chain}/{address}/price", headers=self._headers)
7676
logger.debug(response.url)
7777
return response.json()
78+
79+
def get_pool_locks(self, chain, address):
80+
endpoint = "/pool/"
81+
response = requests.get(f"{self.url}{endpoint}{chain}/{address}/locks", headers=self._headers)
82+
logger.debug(response.url)
83+
return response.json()
7884

7985
def get_pools(self, chain, from_, to, order="asc", sort="creationTime", page=None, pageSize=None):
8086
endpoint = "/pool/"
@@ -112,6 +118,12 @@ def get_token_price(self, chain, address):
112118
logger.debug(response.url)
113119
return response.json()
114120

121+
def get_token_audit(self, chain, address):
122+
endpoint = "/token/"
123+
response = requests.get(f"{self.url}{endpoint}{chain}/{address}/audit", headers=self._headers)
124+
logger.debug(response.url)
125+
return response.json()
126+
115127
def get_tokens(self, chain, from_, to, order="asc", sort="socialsInfoUpdated", page=None, pageSize=None):
116128
endpoint = "/token/"
117129
response = requests.get(self.url + endpoint + chain, params={"order": order, "sort": sort, "from": from_, "to": to, "page": page, "pageSize": pageSize}, headers=self._headers)

examples/async_demov2.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ async def instance():
6868
pool_price = await dextools.get_pool_price("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
6969
pp.pprint(pool_price)
7070

71+
# Get pool locks
72+
print("Get pool locks")
73+
pool_locks = await dextools.get_pool_locks("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
74+
pp.pprint(pool_locks)
75+
7176
# Get pools
7277
print("Get pools")
7378
pools = await dextools.get_pools("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
@@ -104,6 +109,11 @@ async def instance():
104109
token_price = await dextools.get_token_price("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
105110
pp.pprint(token_price)
106111

112+
# Get token audit
113+
print("Get token audit")
114+
token_audit = await dextools.get_token_audit("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
115+
pp.pprint(token_audit)
116+
107117
# Get tokens
108118
print("Get tokens")
109119
tokens = await dextools.get_tokens("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
@@ -213,6 +223,11 @@ async def context_manager():
213223
pool_price = await dextools.get_pool_price("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
214224
pp.pprint(pool_price)
215225

226+
# Get pool locks
227+
print("Get pool locks")
228+
pool_locks = await dextools.get_pool_locks("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
229+
pp.pprint(pool_locks)
230+
216231
# Get pools
217232
print("Get pools")
218233
pools = await dextools.get_pools("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
@@ -249,6 +264,11 @@ async def context_manager():
249264
token_price = await dextools.get_token_price("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
250265
pp.pprint(token_price)
251266

267+
# Get token audit
268+
print("Get token audit")
269+
token_audit = await dextools.get_token_audit("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
270+
pp.pprint(token_audit)
271+
252272
# Get tokens
253273
print("Get tokens")
254274
tokens = await dextools.get_tokens("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")

examples/demov2.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@
6666
pool_price = dextools.get_pool_price("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
6767
pp.pprint(pool_price)
6868

69+
# Get pool locks
70+
print("Get pool locks")
71+
pool_locks = dextools.get_pool_locks("ether", "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d")
72+
pp.pprint(pool_locks)
73+
6974
# Get pools
7075
print("Get pools")
7176
pools = dextools.get_pools("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")
@@ -102,6 +107,11 @@
102107
token_price = dextools.get_token_price("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
103108
pp.pprint(token_price)
104109

110+
# Get token audit
111+
print("Get token audit")
112+
token_audit = dextools.get_token_audit("ether", "0xfb7b4564402e5500db5bb6d63ae671302777c75a")
113+
pp.pprint(token_audit)
114+
105115
# Get tokens
106116
print("Get tokens")
107117
tokens = dextools.get_tokens("ether", from_="2023-11-14T19:00:00", to="2023-11-14T23:00:00")

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "dextools-python"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
description = "A simple Python API wrapper for DEXTools"
55
repository = "https://github.com/alb2001/dextools-python"
66
authors = ["alb2001 <alb2001@outlook.es>"]

tests/test_async_dextools_api_v2.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,16 @@ async def test_get_pool_score(dextools_instance):
8989
assert isinstance(response["data"]["votes"], dict)
9090
assert isinstance(response["data"]["dextScore"], dict)
9191

92+
@pytest.mark.asyncio
93+
async def test_get_pool_locks(dextools_instance):
94+
chain = "ether"
95+
pool = "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d"
96+
response = await dextools_instance.get_pool_locks(chain, pool)
97+
98+
assert response["statusCode"] == 200
99+
assert isinstance(response, dict)
100+
assert isinstance(response["data"], dict)
101+
92102
@pytest.mark.asyncio
93103
async def test_get_pool_price(dextools_instance):
94104
chain = "ether"
@@ -187,6 +197,16 @@ async def test_get_token_price(dextools_instance):
187197
assert isinstance(response, dict)
188198
assert isinstance(response["data"], dict)
189199

200+
@pytest.mark.asyncio
201+
async def test_get_token_audit(dextools_instance):
202+
chain = "ether"
203+
token = "0xfb7b4564402e5500db5bb6d63ae671302777c75a"
204+
response = await dextools_instance.get_token_audit(chain, token)
205+
206+
assert response["statusCode"] == 200
207+
assert isinstance(response, dict)
208+
assert isinstance(response["data"], dict)
209+
190210
@pytest.mark.asyncio
191211
async def test_get_tokens(dextools_instance):
192212
chain = "ether"

tests/test_dextools_api_v2.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,15 @@ def test_get_pool_score(dextools_instance):
8080
assert isinstance(response["data"]["votes"], dict)
8181
assert isinstance(response["data"]["dextScore"], dict)
8282

83+
def test_get_pool_locks(dextools_instance):
84+
chain = "ether"
85+
pool = "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d"
86+
response = dextools_instance.get_pool_locks(chain, pool)
87+
88+
assert response["statusCode"] == 200
89+
assert isinstance(response, dict)
90+
assert isinstance(response["data"], dict)
91+
8392
def test_get_pool_price(dextools_instance):
8493
chain = "ether"
8594
pool = "0xa29fe6ef9592b5d408cca961d0fb9b1faf497d6d"
@@ -170,6 +179,15 @@ def test_get_token_price(dextools_instance):
170179
assert isinstance(response, dict)
171180
assert isinstance(response["data"], dict)
172181

182+
def test_get_token_audit(dextools_instance):
183+
chain = "ether"
184+
token = "0xfb7b4564402e5500db5bb6d63ae671302777c75a"
185+
response = dextools_instance.get_token_audit(chain, token)
186+
187+
assert response["statusCode"] == 200
188+
assert isinstance(response, dict)
189+
assert isinstance(response["data"], dict)
190+
173191
def test_get_tokens(dextools_instance):
174192
chain = "ether"
175193
from_ = "2023-11-14T19:00:00"

0 commit comments

Comments
 (0)