defi-state-querier 0.4.18__py3-none-any.whl → 0.4.19__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 CHANGED
@@ -1 +1 @@
1
- __version__ = "0.4.18"
1
+ __version__ = "0.4.19"
@@ -0,0 +1,187 @@
1
+ class Denoms:
2
+ def __init__(self, denom: str, decimal: int):
3
+ self.denom = denom
4
+ self.decimal = decimal
5
+
6
+ data = {
7
+ "uatom": {
8
+ "name": "ATOM",
9
+ "denom": "uatom",
10
+ "decimal": 6
11
+ },
12
+ "ibc/0025f8a87464a471e66b234c4f93aec5b4da3d42d7986451a059273426290dd5": {
13
+ "name": "NTRN",
14
+ "denom": "ibc/0025f8a87464a471e66b234c4f93aec5b4da3d42d7986451a059273426290dd5",
15
+ "decimal": 6
16
+ },
17
+ "ibc/f663521bf1836b00f5f177680f74bfb9a8b5654a694d0d2bc249e03cf2509013": {
18
+ "name": "USDC",
19
+ "denom": "ibc/f663521bf1836b00f5f177680f74bfb9a8b5654a694d0d2bc249e03cf2509013",
20
+ "decimal": 6
21
+ },
22
+ "ibc/b05539b66b72e2739b986b86391e5d08f12b8d5d2c2a7f8f8cf9adf674dfa231": {
23
+ "name": "stATOM",
24
+ "denom": "ibc/b05539b66b72e2739b986b86391e5d08f12b8d5d2c2a7f8f8cf9adf674dfa231",
25
+ "decimal": 6
26
+ },
27
+ "ibc/2181aab0218eac24bc9f86bd1364fbbfa3e6e3fcc25e88e3e68c15dc6e752d86": {
28
+ "name": "AKT",
29
+ "denom": "ibc/2181aab0218eac24bc9f86bd1364fbbfa3e6e3fcc25e88e3e68c15dc6e752d86",
30
+ "decimal": 6
31
+ },
32
+ "ibc/6b8a3f5c2ad51cd6171fa41a7e8c35ad594ab69226438db94450436ea57b3a89": {
33
+ "name": "STRD",
34
+ "denom": "ibc/6b8a3f5c2ad51cd6171fa41a7e8c35ad594ab69226438db94450436ea57b3a89",
35
+ "decimal": 6
36
+ },
37
+ "ibc/14f9bc3e44b8a9c1be1fb08980fab87034c9905ef17cf2f5008fc085218811cc": {
38
+ "name": "OSMO",
39
+ "denom": "ibc/14f9bc3e44b8a9c1be1fb08980fab87034c9905ef17cf2f5008fc085218811cc",
40
+ "decimal": 6
41
+ },
42
+ "ibc/e7d5e9d0e9bf8b7354929a817dd28d4d017e745f638954764aa88522a7a409ec": {
43
+ "name": "BTSG",
44
+ "denom": "ibc/e7d5e9d0e9bf8b7354929a817dd28d4d017e745f638954764aa88522a7a409ec",
45
+ "decimal": 6
46
+ },
47
+ "ibc/054892d6bb43af8b93aac28aa5fd7019d2c59a15dafd6f45c1fa2bf9bda22454": {
48
+ "name": "stOSMO",
49
+ "denom": "ibc/054892d6bb43af8b93aac28aa5fd7019d2c59a15dafd6f45c1fa2bf9bda22454",
50
+ "decimal": 6
51
+ },
52
+ "ibc/adbec1a7ac2fef73e06b066a1c94dab6c27924ef7ea3f5a43378150009620284": {
53
+ "name": "BCNA",
54
+ "denom": "ibc/adbec1a7ac2fef73e06b066a1c94dab6c27924ef7ea3f5a43378150009620284",
55
+ "decimal": 6
56
+ },
57
+ "ibc/12da42304ee1ce96071f712aa4d58186ad11c3165c0dcda71e017a54f3935e66": {
58
+ "name": "IRIS",
59
+ "denom": "ibc/12da42304ee1ce96071f712aa4d58186ad11c3165c0dcda71e017a54f3935e66",
60
+ "decimal": 6
61
+ },
62
+ "ibc/b011c1a0ad5e717f674ba59fd8e05b2f946e4fd41c9cb3311c95f7ed4b815620": {
63
+ "name": "stINJ",
64
+ "denom": "ibc/b011c1a0ad5e717f674ba59fd8e05b2f946e4fd41c9cb3311c95f7ed4b815620",
65
+ "decimal": 18
66
+ },
67
+ "ibc/81d08bc39fb520ebd948cf017910dd69702d34bf5ac160f76d3b5cfc444ebce0": {
68
+ "name": "XPRT",
69
+ "denom": "ibc/81d08bc39fb520ebd948cf017910dd69702d34bf5ac160f76d3b5cfc444ebce0",
70
+ "decimal": 6
71
+ },
72
+ "ibc/c932adfe2b4216397a4f17458b6e4468499b86c3bc8116180f85d799d6f5cc1b": {
73
+ "name": "CRO",
74
+ "denom": "ibc/c932adfe2b4216397a4f17458b6e4468499b86c3bc8116180f85d799d6f5cc1b",
75
+ "decimal": 8
76
+ },
77
+ "ibc/42e47a5ba708ebe6e0c227006254f2784e209f4dbd3c6bb77edc4b29ef875e8e": {
78
+ "name": "DVPN",
79
+ "denom": "ibc/42e47a5ba708ebe6e0c227006254f2784e209f4dbd3c6bb77edc4b29ef875e8e",
80
+ "decimal": 6
81
+ },
82
+ "ibc/1fbdd58d438b4d04d26cbfb2e722c18984a0f1a52468c4f42f37d102f3d3f399": {
83
+ "name": "REGEN",
84
+ "denom": "ibc/1fbdd58d438b4d04d26cbfb2e722c18984a0f1a52468c4f42f37d102f3d3f399",
85
+ "decimal": 6
86
+ },
87
+ "ibc/19dd710119533524061885a6f190b18af28d9537e2bae37f32a62c1a25979287": {
88
+ "name": "EVMOS",
89
+ "denom": "ibc/19dd710119533524061885a6f190b18af28d9537e2bae37f32a62c1a25979287",
90
+ "decimal": 18
91
+ },
92
+ "ibc/88dcaa43a9cd099e1f9bbb80b9a90f64782eba115a84b2cd8398757ada4f4b40": {
93
+ "name": "stJUNO",
94
+ "denom": "ibc/88dcaa43a9cd099e1f9bbb80b9a90f64782eba115a84b2cd8398757ada4f4b40",
95
+ "decimal": 6
96
+ },
97
+ "ibc/715bd634cf4d914c3ee93b0f8a9d2514b743f6fe36bc80263d1bc5ee4b3c5d40": {
98
+ "name": "stSTARS",
99
+ "denom": "ibc/715bd634cf4d914c3ee93b0f8a9d2514b743f6fe36bc80263d1bc5ee4b3c5d40",
100
+ "decimal": 6
101
+ },
102
+ "ibc/6469bda6f62c4f4b8f76629fa1e72a02a3d1dd9e2b22ddb3c3b2296dead29ab8": {
103
+ "name": "INJ",
104
+ "denom": "ibc/6469bda6f62c4f4b8f76629fa1e72a02a3d1dd9e2b22ddb3c3b2296dead29ab8",
105
+ "decimal": 18
106
+ },
107
+ "ibc/5bb694d466ccf099ef73f165f88472af51d9c4991eaa42bd1168c5304712cc0d": {
108
+ "name": "ION",
109
+ "denom": "ibc/5bb694d466ccf099ef73f165f88472af51d9c4991eaa42bd1168c5304712cc0d",
110
+ "decimal": 6
111
+ },
112
+ "ibc/533e5ffc606fd11b8dca309c66afd6a1f046ef784a73f323a332cf6823f0ea87": {
113
+ "name": "XKI",
114
+ "denom": "ibc/533e5ffc606fd11b8dca309c66afd6a1f046ef784a73f323a332cf6823f0ea87",
115
+ "decimal": 6
116
+ },
117
+ "ibc/1542f8dc70e7999691e991e1edeb1b47e65e3a217b1649d347098ee48acb580f": {
118
+ "name": "SCRT",
119
+ "denom": "ibc/1542f8dc70e7999691e991e1edeb1b47e65e3a217b1649d347098ee48acb580f",
120
+ "decimal": 6
121
+ },
122
+ "ibc/cdab23da5495290063363bd1c3499e26189036302dc689985a7e23f8df8d8db0": {
123
+ "name": "JUNO",
124
+ "denom": "ibc/cdab23da5495290063363bd1c3499e26189036302dc689985a7e23f8df8d8db0",
125
+ "decimal": 6
126
+ },
127
+ "ibc/68a333688e5b07451f95555f8fe510e43ef9d3d44df0909964f92081ef9be5a7": {
128
+ "name": "IOV",
129
+ "denom": "ibc/68a333688e5b07451f95555f8fe510e43ef9d3d44df0909964f92081ef9be5a7",
130
+ "decimal": 6
131
+ },
132
+ "ibc/1d5826f7ede6e3b13009fef994dc9caaf15cc24ca7a9ff436ffb2e56fd72f54f": {
133
+ "name": "LIKE",
134
+ "denom": "ibc/1d5826f7ede6e3b13009fef994dc9caaf15cc24ca7a9ff436ffb2e56fd72f54f",
135
+ "decimal": 9
136
+ },
137
+ "ibc/dec41a02e47658d40fc71e5a35a9c807111f5a6662a3fb5da84c4e6f53e616b3": {
138
+ "name": "UMEE",
139
+ "denom": "ibc/dec41a02e47658d40fc71e5a35a9c807111f5a6662a3fb5da84c4e6f53e616b3",
140
+ "decimal": 6
141
+ },
142
+ "ibc/f5ed5f3dc6f0ef73fa455337c027fe91abcb375116bf51a228e44c493e020a09": {
143
+ "name": "ROWAN",
144
+ "denom": "ibc/f5ed5f3dc6f0ef73fa455337c027fe91abcb375116bf51a228e44c493e020a09",
145
+ "decimal": 18
146
+ },
147
+ "ibc/5cae744c89bc70ae7b38019a1edf83199b7e10f00f160e7f4f12bca7a32a7ee5": {
148
+ "name": "stLUNA",
149
+ "denom": "ibc/5cae744c89bc70ae7b38019a1edf83199b7e10f00f160e7f4f12bca7a32a7ee5",
150
+ "decimal": 6
151
+ },
152
+ "ibc/8870c4203cebf2279ba065e3de95fc3f8e05a4a93424e7dc707a21514be353a0": {
153
+ "name": "KAVA",
154
+ "denom": "ibc/8870c4203cebf2279ba065e3de95fc3f8e05a4a93424e7dc707a21514be353a0",
155
+ "decimal": 6
156
+ },
157
+ "ibc/b93f321238f7bb15ab5b882660aae72286c8e9035de34e2b30f60e54c623c63c": {
158
+ "name": "EEUR",
159
+ "denom": "ibc/b93f321238f7bb15ab5b882660aae72286c8e9035de34e2b30f60e54c623c63c",
160
+ "decimal": 6
161
+ },
162
+ "ibc/e070ce91cc4bd15aec9b5788c0826755aad35052a3037e9ac62be70b4c9a7dbb": {
163
+ "name": "NGM",
164
+ "denom": "ibc/e070ce91cc4bd15aec9b5788c0826755aad35052a3037e9ac62be70b4c9a7dbb",
165
+ "decimal": 6
166
+ },
167
+ "ibc/835ee9d00c35d72128f195b50f8a89eb83e5011c43ea0aa00d16348e2208febb": {
168
+ "name": "bCRE",
169
+ "denom": "ibc/835ee9d00c35d72128f195b50f8a89eb83e5011c43ea0aa00d16348e2208febb",
170
+ "decimal": 6
171
+ },
172
+ "ibc/3f18d520ce791a40357d061fad657ced6b21d023f229eaf131d7fe7ce6f488bd": {
173
+ "name": "CRE",
174
+ "denom": "ibc/3f18d520ce791a40357d061fad657ced6b21d023f229eaf131d7fe7ce6f488bd",
175
+ "decimal": 6
176
+ },
177
+ "ibc/db9aaadfbe21e014373ef97141d451f453b9b9a2c8b65f5cf8e7ce57531b6850": {
178
+ "name": "CRO",
179
+ "denom": "ibc/db9aaadfbe21e014373ef97141d451f453b9b9a2c8b65f5cf8e7ce57531b6850",
180
+ "decimal": 8
181
+ },
182
+ "ibc/20a7dc8e24709e6f1ee0f4e832c2ed345add77425890482a349ae3c43cac6b2c": {
183
+ "name": "ATOLO",
184
+ "denom": "ibc/20a7dc8e24709e6f1ee0f4e832c2ed345add77425890482a349ae3c43cac6b2c",
185
+ "decimal": 6
186
+ }
187
+ }
@@ -0,0 +1,37 @@
1
+ from defi_services.constants.cosmos_decimals_constant import Denoms
2
+ from defi_services.services.cosmos_token_services import CosmosTokenServices
3
+
4
+
5
+ class CosmosStateProcessor:
6
+ def __init__(self, lcd: str, denom: str):
7
+ self.lcd = lcd
8
+ self.denom = denom
9
+
10
+ def get_token_balance(self, address):
11
+ cosmos = CosmosTokenServices(self.lcd, self.denom)
12
+ data = cosmos.query_balances(address)
13
+ result = {}
14
+ for item in data:
15
+ denom = item.get('denom', "").lower()
16
+ amount = int(item.get('amount', None))
17
+ decimal = Denoms.data.get(denom, {}).get("decimal", 0)
18
+ result[denom] = amount / 10 ** decimal
19
+ return result
20
+
21
+ def run(self, address: str, queries: list):
22
+ result = []
23
+ token_balances = self.get_token_balance(address)
24
+ for query in queries:
25
+ query_id = query.get("query_id")
26
+ entity_id = query.get("entity_id")
27
+ query_type = query.get("query_type")
28
+ if query_type != "token_balance":
29
+ continue
30
+
31
+ result.append(
32
+ {"query_id": query_id,
33
+ "query_type": query_type,
34
+ "entity_id": entity_id,
35
+ "token_balance": token_balances.get(entity_id, 0)
36
+ })
37
+ return result
@@ -0,0 +1,42 @@
1
+ import json
2
+ from urllib.parse import quote
3
+ import requests
4
+
5
+
6
+ class CosmosTokenServices:
7
+ def __init__(self, lcd: str, denom: str):
8
+ self.lcd = lcd
9
+ self.denom = denom
10
+
11
+ # queries the balance of all coins for a single account.
12
+ def query_balances(self, address: str):
13
+ responses = []
14
+ endpoint = '/cosmos/bank/v1beta1/balances/'
15
+ try:
16
+ results = json.loads(requests.get(self.lcd + endpoint + address, timeout=60).content)
17
+ responses += results['balances']
18
+ pagination = results['pagination']['next_key']
19
+ while pagination is not None:
20
+ results = json.loads(
21
+ requests.get(self.lcd + endpoint + '?pagination.key=' + quote(str(pagination)), timeout=60).content)
22
+ responses += results['balances']
23
+ pagination = results['pagination']['next_key']
24
+ return responses
25
+ except Exception:
26
+ raise Exception
27
+
28
+ # queries the balance of a given denom for a single account.
29
+ def query_balances_by_denom(self, address, denom):
30
+ endpoint = '/cosmos/bank/v1beta1/balances/'
31
+ try:
32
+ return json.loads(
33
+ requests.get(self.lcd + endpoint + address + '/by_denom?denom=' + denom, timeout=60).content)
34
+ except Exception:
35
+ raise Exception
36
+
37
+ def query_token_decimal(self):
38
+ endpoint = '/cosmos/bank/v1beta1/denoms_metadata'
39
+ try:
40
+ return json.loads(requests.get(self.lcd + endpoint, timeout=60).content)
41
+ except Exception:
42
+ raise Exception
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: defi-state-querier
3
- Version: 0.4.18
3
+ Version: 0.4.19
4
4
  Summary: Calculate apy, apr, and wallet information,... in decentralized applications.
5
5
  Home-page: https://github.com/Centic-io/defi-state-querier
6
6
  Author: Viet-Bang Pham
@@ -1,4 +1,4 @@
1
- defi_services/__init__.py,sha256=my_eRKQWrGqOjGcYUQ3l4O21n-LMG22J283Pb5L90kw,23
1
+ defi_services/__init__.py,sha256=mfToEOXd_f_mFG0ts1iWNTvKhsjPQqwRFaAmcx61xJo,23
2
2
  defi_services/abis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  defi_services/abis/dex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  defi_services/abis/dex/biswap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -234,6 +234,7 @@ defi_services/abis/vault/valuator_abi.py,sha256=j44uj0hqmKj7lY0ajfUaY4N3xjVEaSBY
234
234
  defi_services/abis/vault/ve_abi.py,sha256=uoc08LyW9_Y7xxDVIgXOzLjo_kOy1YGP3cUAOZhyizw,38341
235
235
  defi_services/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
236
  defi_services/constants/chain_constant.py,sha256=aU7xLaQYLro-7sI5Jpyi0tEHhEQcchyxlxEEJaotFMM,1018
237
+ defi_services/constants/cosmos_decimals_constant.py,sha256=Qk51o5d3VNVYJxMqU23UXTOTWBIyKHlbQ-nuYS8An10,8630
237
238
  defi_services/constants/db_constant.py,sha256=gDMFFjhPOgQHuS9sPOTFbsfSdIfdWQEE4tGlxHQhNsE,2566
238
239
  defi_services/constants/mongo_constant.py,sha256=qsDIq2Gg5MkBGaEOh4Fd9y6fOOidF4gGPnQwtaPon3E,398
239
240
  defi_services/constants/query_constant.py,sha256=6HSK5IToUQpKLqmTeCgKf0npwmog7GWFUmQpz_mbkgY,1088
@@ -249,6 +250,7 @@ defi_services/constants/entities/vault_constant.py,sha256=IGGd4--T-BQcm8mlU8XAJ_
249
250
  defi_services/constants/entities/vault_services.py,sha256=IMmQc15wS1KA7EuQqM_AraQtCthnZ7hoNee0E_DOyw8,567
250
251
  defi_services/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
251
252
  defi_services/jobs/processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
253
+ defi_services/jobs/processors/cosmos_state_processor.py,sha256=2S5fhqHQ4pUtRaLnbFJNUo4jKc5MHq7HA-0FHebOJyo,1334
252
254
  defi_services/jobs/processors/multi_state_processor.py,sha256=20pYx-vpOvJwYNM4NvRrc149V4DM_RZGhJ6EQDQ0oJw,4749
253
255
  defi_services/jobs/processors/solana_state_processor.py,sha256=szsBYrkEV8kBzuA_iaSVescnwKJ2MHoTbut5kORbWTs,4065
254
256
  defi_services/jobs/processors/state_processor.py,sha256=EqHSjL4hgGX51n54d1WLlNdbxE2W39byGzzJd8ghMHM,7288
@@ -258,6 +260,7 @@ defi_services/jobs/queriers/solana_state_querier.py,sha256=TQELYo6GUoF8s-LfetqYb
258
260
  defi_services/jobs/queriers/state_querier.py,sha256=CACVB3UOpka37qgDY1aS00zIJJFrkIPvmBULIMEeZRQ,7299
259
261
  defi_services/jobs/queriers/substrate_state_querier.py,sha256=_T0Dk06sP_uBKaxgj2J_EBtJDoq-hi8jU7Np4iuO0LA,3858
260
262
  defi_services/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
263
+ defi_services/services/cosmos_token_services.py,sha256=6z_eE7lF5tY461VJ6uVoG18hOdXKeWR4NgDDP-MGI0k,1603
261
264
  defi_services/services/dex_protocol_services.py,sha256=J93P7kwy1v98aeA95ErT7jDCCOAelFuCNiTXl3PVFFo,6656
262
265
  defi_services/services/nft_services.py,sha256=vKva0OJQTTxgP1lrZ5ij2sw2N44JxN5dfLLtvNJB6aA,2188
263
266
  defi_services/services/protocol_services.py,sha256=3Yca433xGXowcV4EjFoQ90AJHg-SfuOBsDF7aMCJ8Zk,7626
@@ -388,8 +391,8 @@ defi_services/utils/market_service.py,sha256=imPtPHBkpEx5JnhqeIWYqbCjsIEm8IKBYHN
388
391
  defi_services/utils/memory_storage.py,sha256=BOT8laB0iVSCGE-oDlpWJQLbSC6X2blKX4zuQbs4inc,851
389
392
  defi_services/utils/sqrt_price_math.py,sha256=9lgUeWFT4wjl3Vq3b7-jZ2bGvvZx7dDBSfVnM3lsZ8o,5575
390
393
  defi_services/utils/thread_proxy.py,sha256=5Z8biAyEReUkh3vfJSvEv7GwMe3CsE5M8CbghkQtePw,2951
391
- defi_state_querier-0.4.18.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
392
- defi_state_querier-0.4.18.dist-info/METADATA,sha256=aZ4J-jQERtNczwEFWitV337TCP0yKrl-Q7TPy666B98,4376
393
- defi_state_querier-0.4.18.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
394
- defi_state_querier-0.4.18.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
395
- defi_state_querier-0.4.18.dist-info/RECORD,,
394
+ defi_state_querier-0.4.19.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
395
+ defi_state_querier-0.4.19.dist-info/METADATA,sha256=qXsjOj1j8_WYUw123ByywIAb7FNWuhesbK9CgGMEKwA,4376
396
+ defi_state_querier-0.4.19.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
397
+ defi_state_querier-0.4.19.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
398
+ defi_state_querier-0.4.19.dist-info/RECORD,,