defi-state-querier 0.5.7__py3-none-any.whl → 0.5.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|