defi-state-querier 0.5.7__py3-none-any.whl → 0.5.8__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- defi_services/__init__.py +1 -1
- defi_services/jobs/processors/cosmos_state_processor.py +6 -5
- defi_services/services/cosmos_token_services.py +22 -20
- {defi_state_querier-0.5.7.dist-info → defi_state_querier-0.5.8.dist-info}/METADATA +1 -1
- {defi_state_querier-0.5.7.dist-info → defi_state_querier-0.5.8.dist-info}/RECORD +8 -8
- {defi_state_querier-0.5.7.dist-info → defi_state_querier-0.5.8.dist-info}/LICENSE +0 -0
- {defi_state_querier-0.5.7.dist-info → defi_state_querier-0.5.8.dist-info}/WHEEL +0 -0
- {defi_state_querier-0.5.7.dist-info → defi_state_querier-0.5.8.dist-info}/top_level.txt +0 -0
defi_services/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.5.
|
1
|
+
__version__ = "0.5.8"
|
@@ -14,16 +14,17 @@ class CosmosStateProcessor:
|
|
14
14
|
if self.chain_id in MulticallContract.mapping:
|
15
15
|
data = cosmos.query_balances(address, tokens)
|
16
16
|
else:
|
17
|
-
|
18
|
-
|
19
|
-
for item in
|
17
|
+
result = cosmos.query_coin_balances(address=address)
|
18
|
+
data = {}
|
19
|
+
for item in result:
|
20
20
|
denom = item.get('denom', "").lower()
|
21
21
|
amount = int(item.get('amount', None))
|
22
22
|
decimal = Denoms.all.get(denom, {}).get("decimal", 0)
|
23
|
-
|
23
|
+
data[denom] = amount / 10 ** decimal
|
24
|
+
|
24
25
|
return data
|
25
26
|
|
26
|
-
def run(self, address: str, queries: list):
|
27
|
+
def run(self, address: str, queries: list, *args, **kwargs):
|
27
28
|
result = []
|
28
29
|
tokens = [query.get('entity_id').lower() for query in queries if query.get('query_type') == 'token_balance']
|
29
30
|
token_balances = self.get_token_balance(address, tokens)
|
@@ -14,8 +14,10 @@ class CosmosTokenServices:
|
|
14
14
|
def __init__(self, lcd: str, rest_uri: str, chain_id: str):
|
15
15
|
self.chain_id = chain_id
|
16
16
|
self.lcd = lcd
|
17
|
+
|
17
18
|
self.rest_uri = rest_uri
|
18
19
|
self.client = CosmWasmRestClient(RestClient(rest_address=rest_uri))
|
20
|
+
|
19
21
|
self.decimals = Denoms.cosmos
|
20
22
|
self.decimals.update(Denoms.orai)
|
21
23
|
|
@@ -23,34 +25,34 @@ class CosmosTokenServices:
|
|
23
25
|
def query_coin_balances(self, address: str):
|
24
26
|
responses = []
|
25
27
|
endpoint = '/cosmos/bank/v1beta1/balances/'
|
26
|
-
|
27
|
-
|
28
|
+
|
29
|
+
response = requests.get(self.lcd + endpoint + address, timeout=60).content
|
30
|
+
results = json.loads(response)
|
31
|
+
|
32
|
+
responses += results['balances']
|
33
|
+
pagination = results['pagination']['next_key']
|
34
|
+
|
35
|
+
while pagination is not None:
|
36
|
+
response = requests.get(self.lcd + endpoint + '?pagination.key=' + quote(str(pagination)), timeout=60)
|
37
|
+
results = json.loads(response.content)
|
38
|
+
|
28
39
|
responses += results['balances']
|
29
40
|
pagination = results['pagination']['next_key']
|
30
|
-
|
31
|
-
|
32
|
-
requests.get(self.lcd + endpoint + '?pagination.key=' + quote(str(pagination)), timeout=60).content)
|
33
|
-
responses += results['balances']
|
34
|
-
pagination = results['pagination']['next_key']
|
35
|
-
return responses
|
36
|
-
except Exception:
|
37
|
-
raise Exception
|
41
|
+
|
42
|
+
return responses
|
38
43
|
|
39
44
|
# queries the balance of a given denom for a single account.
|
40
45
|
def query_balances_by_denom(self, address, denom):
|
41
46
|
endpoint = '/cosmos/bank/v1beta1/balances/'
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
except Exception:
|
46
|
-
raise Exception
|
47
|
+
|
48
|
+
response = requests.get(self.lcd + endpoint + address + '/by_denom?denom=' + denom, timeout=60)
|
49
|
+
return json.loads(response.content)
|
47
50
|
|
48
51
|
def query_token_decimal(self):
|
49
52
|
endpoint = '/cosmos/bank/v1beta1/denoms_metadata'
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
raise Exception
|
53
|
+
|
54
|
+
response = requests.get(self.lcd + endpoint, timeout=60)
|
55
|
+
return json.loads(response.content)
|
54
56
|
|
55
57
|
def query_balances(self, address: str, tokens: list):
|
56
58
|
balance_query, cw20_tokens = self.get_balance_function_info(address, tokens)
|
@@ -93,7 +95,7 @@ class CosmosTokenServices:
|
|
93
95
|
balances[tokens[idx]] = int(balance_data[idx])
|
94
96
|
|
95
97
|
for token in tokens:
|
96
|
-
if token
|
98
|
+
if decimals.get(token) is not None:
|
97
99
|
balances[token] /= 10**decimals[token]
|
98
100
|
else:
|
99
101
|
balances[token] /= 10**self.decimals.get(token, {}).get("decimal", 0)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
defi_services/__init__.py,sha256=
|
1
|
+
defi_services/__init__.py,sha256=bDuZ37zImJZsQ3a4pW87q4kg-zsIBrUFAv1aumIf_7k,22
|
2
2
|
defi_services/abis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
defi_services/abis/multicall_v3_abi.py,sha256=0aPxjrJJFU17fODjvYFRDn5Y5J1yi_AJKc8v1uohNGY,12352
|
4
4
|
defi_services/abis/dex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -313,7 +313,7 @@ defi_services/constants/entities/vault_services.py,sha256=IMmQc15wS1KA7EuQqM_Ara
|
|
313
313
|
defi_services/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
314
314
|
defi_services/jobs/processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
315
315
|
defi_services/jobs/processors/call_state_processor.py,sha256=WseX0OaMA5D_ANYofrz7W2BooSMdHlGRay4NuiABmM4,436
|
316
|
-
defi_services/jobs/processors/cosmos_state_processor.py,sha256=
|
316
|
+
defi_services/jobs/processors/cosmos_state_processor.py,sha256=u9CdGF41XQlxe3IyXV2ocdHdaq1aLeonOZOIpCPNojY,1831
|
317
317
|
defi_services/jobs/processors/multi_call_state_processor.py,sha256=AksswGMSyStbnvkQcBVb0Y2tdpkUgc1CWoeSiMpGy8U,462
|
318
318
|
defi_services/jobs/processors/multi_state_processor.py,sha256=Od7Y8zPz7xj0L-_0YuK4wg_94fX8Q1PquuKUUYteIJU,5731
|
319
319
|
defi_services/jobs/processors/solana_state_processor.py,sha256=szsBYrkEV8kBzuA_iaSVescnwKJ2MHoTbut5kORbWTs,4065
|
@@ -325,7 +325,7 @@ defi_services/jobs/queriers/solana_state_querier.py,sha256=TQELYo6GUoF8s-LfetqYb
|
|
325
325
|
defi_services/jobs/queriers/state_querier.py,sha256=q7cAW395urZjcWTpqw8m_nDunLyyTuAXJ3DRx_1HOxo,7384
|
326
326
|
defi_services/jobs/queriers/substrate_state_querier.py,sha256=_T0Dk06sP_uBKaxgj2J_EBtJDoq-hi8jU7Np4iuO0LA,3858
|
327
327
|
defi_services/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
328
|
-
defi_services/services/cosmos_token_services.py,sha256
|
328
|
+
defi_services/services/cosmos_token_services.py,sha256=pRw_rEhoofd6V1-KwU74ZHjhg6PsXSznK6eD1ASyROA,5108
|
329
329
|
defi_services/services/dex_protocol_services.py,sha256=J93P7kwy1v98aeA95ErT7jDCCOAelFuCNiTXl3PVFFo,6656
|
330
330
|
defi_services/services/nft_services.py,sha256=vKva0OJQTTxgP1lrZ5ij2sw2N44JxN5dfLLtvNJB6aA,2188
|
331
331
|
defi_services/services/protocol_services.py,sha256=3Yca433xGXowcV4EjFoQ90AJHg-SfuOBsDF7aMCJ8Zk,7626
|
@@ -464,8 +464,8 @@ defi_services/utils/market_service.py,sha256=imPtPHBkpEx5JnhqeIWYqbCjsIEm8IKBYHN
|
|
464
464
|
defi_services/utils/memory_storage.py,sha256=BOT8laB0iVSCGE-oDlpWJQLbSC6X2blKX4zuQbs4inc,851
|
465
465
|
defi_services/utils/sqrt_price_math.py,sha256=9lgUeWFT4wjl3Vq3b7-jZ2bGvvZx7dDBSfVnM3lsZ8o,5575
|
466
466
|
defi_services/utils/thread_proxy.py,sha256=5Z8biAyEReUkh3vfJSvEv7GwMe3CsE5M8CbghkQtePw,2951
|
467
|
-
defi_state_querier-0.5.
|
468
|
-
defi_state_querier-0.5.
|
469
|
-
defi_state_querier-0.5.
|
470
|
-
defi_state_querier-0.5.
|
471
|
-
defi_state_querier-0.5.
|
467
|
+
defi_state_querier-0.5.8.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
|
468
|
+
defi_state_querier-0.5.8.dist-info/METADATA,sha256=nHPUkRUA4JSqteq0wAaCA_OIaPJSXZOZTAat6zZOo94,4417
|
469
|
+
defi_state_querier-0.5.8.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
470
|
+
defi_state_querier-0.5.8.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
|
471
|
+
defi_state_querier-0.5.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|