defi-state-querier 0.2.3__py3-none-any.whl → 0.2.4__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 CHANGED
@@ -1 +1 @@
1
- __version__ = "0.2.3"
1
+ __version__ = "0.2.4"
@@ -0,0 +1,334 @@
1
+ import json
2
+
3
+ REWARD_ABI = json.loads('''
4
+ [
5
+ {
6
+ "inputs": [
7
+ {
8
+ "internalType": "address",
9
+ "name": "governor_",
10
+ "type": "address"
11
+ }
12
+ ],
13
+ "stateMutability": "nonpayable",
14
+ "type": "constructor"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "address",
20
+ "name": "",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "name": "AlreadyConfigured",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "InvalidUInt64",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "address",
42
+ "name": "",
43
+ "type": "address"
44
+ }
45
+ ],
46
+ "name": "NotPermitted",
47
+ "type": "error"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "address",
53
+ "name": "",
54
+ "type": "address"
55
+ }
56
+ ],
57
+ "name": "NotSupported",
58
+ "type": "error"
59
+ },
60
+ {
61
+ "inputs": [
62
+ {
63
+ "internalType": "address",
64
+ "name": "",
65
+ "type": "address"
66
+ },
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "",
70
+ "type": "uint256"
71
+ }
72
+ ],
73
+ "name": "TransferOutFailed",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "anonymous": false,
78
+ "inputs": [
79
+ {
80
+ "indexed": true,
81
+ "internalType": "address",
82
+ "name": "oldGovernor",
83
+ "type": "address"
84
+ },
85
+ {
86
+ "indexed": true,
87
+ "internalType": "address",
88
+ "name": "newGovernor",
89
+ "type": "address"
90
+ }
91
+ ],
92
+ "name": "GovernorTransferred",
93
+ "type": "event"
94
+ },
95
+ {
96
+ "anonymous": false,
97
+ "inputs": [
98
+ {
99
+ "indexed": true,
100
+ "internalType": "address",
101
+ "name": "src",
102
+ "type": "address"
103
+ },
104
+ {
105
+ "indexed": true,
106
+ "internalType": "address",
107
+ "name": "recipient",
108
+ "type": "address"
109
+ },
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "token",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": false,
118
+ "internalType": "uint256",
119
+ "name": "amount",
120
+ "type": "uint256"
121
+ }
122
+ ],
123
+ "name": "RewardClaimed",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "address",
130
+ "name": "comet",
131
+ "type": "address"
132
+ },
133
+ {
134
+ "internalType": "address",
135
+ "name": "src",
136
+ "type": "address"
137
+ },
138
+ {
139
+ "internalType": "bool",
140
+ "name": "shouldAccrue",
141
+ "type": "bool"
142
+ }
143
+ ],
144
+ "name": "claim",
145
+ "outputs": [],
146
+ "stateMutability": "nonpayable",
147
+ "type": "function"
148
+ },
149
+ {
150
+ "inputs": [
151
+ {
152
+ "internalType": "address",
153
+ "name": "comet",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "internalType": "address",
158
+ "name": "src",
159
+ "type": "address"
160
+ },
161
+ {
162
+ "internalType": "address",
163
+ "name": "to",
164
+ "type": "address"
165
+ },
166
+ {
167
+ "internalType": "bool",
168
+ "name": "shouldAccrue",
169
+ "type": "bool"
170
+ }
171
+ ],
172
+ "name": "claimTo",
173
+ "outputs": [],
174
+ "stateMutability": "nonpayable",
175
+ "type": "function"
176
+ },
177
+ {
178
+ "inputs": [
179
+ {
180
+ "internalType": "address",
181
+ "name": "comet",
182
+ "type": "address"
183
+ },
184
+ {
185
+ "internalType": "address",
186
+ "name": "account",
187
+ "type": "address"
188
+ }
189
+ ],
190
+ "name": "getRewardOwed",
191
+ "outputs": [
192
+ {
193
+ "components": [
194
+ {
195
+ "internalType": "address",
196
+ "name": "token",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "internalType": "uint256",
201
+ "name": "owed",
202
+ "type": "uint256"
203
+ }
204
+ ],
205
+ "internalType": "struct CometRewards.RewardOwed",
206
+ "name": "",
207
+ "type": "tuple"
208
+ }
209
+ ],
210
+ "stateMutability": "nonpayable",
211
+ "type": "function"
212
+ },
213
+ {
214
+ "inputs": [],
215
+ "name": "governor",
216
+ "outputs": [
217
+ {
218
+ "internalType": "address",
219
+ "name": "",
220
+ "type": "address"
221
+ }
222
+ ],
223
+ "stateMutability": "view",
224
+ "type": "function"
225
+ },
226
+ {
227
+ "inputs": [
228
+ {
229
+ "internalType": "address",
230
+ "name": "",
231
+ "type": "address"
232
+ }
233
+ ],
234
+ "name": "rewardConfig",
235
+ "outputs": [
236
+ {
237
+ "internalType": "address",
238
+ "name": "token",
239
+ "type": "address"
240
+ },
241
+ {
242
+ "internalType": "uint64",
243
+ "name": "rescaleFactor",
244
+ "type": "uint64"
245
+ },
246
+ {
247
+ "internalType": "bool",
248
+ "name": "shouldUpscale",
249
+ "type": "bool"
250
+ }
251
+ ],
252
+ "stateMutability": "view",
253
+ "type": "function"
254
+ },
255
+ {
256
+ "inputs": [
257
+ {
258
+ "internalType": "address",
259
+ "name": "",
260
+ "type": "address"
261
+ },
262
+ {
263
+ "internalType": "address",
264
+ "name": "",
265
+ "type": "address"
266
+ }
267
+ ],
268
+ "name": "rewardsClaimed",
269
+ "outputs": [
270
+ {
271
+ "internalType": "uint256",
272
+ "name": "",
273
+ "type": "uint256"
274
+ }
275
+ ],
276
+ "stateMutability": "view",
277
+ "type": "function"
278
+ },
279
+ {
280
+ "inputs": [
281
+ {
282
+ "internalType": "address",
283
+ "name": "comet",
284
+ "type": "address"
285
+ },
286
+ {
287
+ "internalType": "address",
288
+ "name": "token",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "name": "setRewardConfig",
293
+ "outputs": [],
294
+ "stateMutability": "nonpayable",
295
+ "type": "function"
296
+ },
297
+ {
298
+ "inputs": [
299
+ {
300
+ "internalType": "address",
301
+ "name": "newGovernor",
302
+ "type": "address"
303
+ }
304
+ ],
305
+ "name": "transferGovernor",
306
+ "outputs": [],
307
+ "stateMutability": "nonpayable",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "internalType": "address",
314
+ "name": "token",
315
+ "type": "address"
316
+ },
317
+ {
318
+ "internalType": "address",
319
+ "name": "to",
320
+ "type": "address"
321
+ },
322
+ {
323
+ "internalType": "uint256",
324
+ "name": "amount",
325
+ "type": "uint256"
326
+ }
327
+ ],
328
+ "name": "withdrawToken",
329
+ "outputs": [],
330
+ "stateMutability": "nonpayable",
331
+ "type": "function"
332
+ }
333
+ ]
334
+ ''')
@@ -224,13 +224,15 @@ class CompoundStateService(ProtocolServices):
224
224
  reserves_info: dict = None,
225
225
  block_number: int = "latest",
226
226
  ):
227
- rpc_call = self.get_comptroller_function_info("compAccrued", [wallet], block_number)
228
- get_reward_id = f"compAccrued_{self.name}_{wallet}_{block_number}".lower()
227
+ reward_token = self.pool_info.get("rewardToken")
228
+ comptroller = self.pool_info.get("comptrollerAddress")
229
+ rpc_call = self.get_lens_function_info("getCompBalanceMetadataExt", [reward_token, comptroller, wallet], block_number)
230
+ get_reward_id = f"getCompBalanceMetadataExt_{self.name}_{wallet}_{block_number}".lower()
229
231
  return {get_reward_id: rpc_call}
230
232
 
231
233
  def calculate_rewards_balance(self, decoded_data: dict, wallet: str, block_number: int = "latest"):
232
- get_reward_id = f"compAccrued_{self.name}_{wallet}_{block_number}".lower()
233
- rewards = decoded_data.get(get_reward_id) / 10 ** 18
234
+ get_reward_id = f"getCompBalanceMetadataExt_{self.name}_{wallet}_{block_number}".lower()
235
+ rewards = decoded_data.get(get_reward_id)[-1] / 10 ** 18
234
236
  reward_token = self.pool_info.get("rewardToken")
235
237
  result = {
236
238
  reward_token: {"amount": rewards}
@@ -1,5 +1,6 @@
1
1
  from defi_services.abis.lending.compound_v3.comet_abi import COMET_ABI
2
2
  from defi_services.abis.lending.compound_v3.comet_ext_abi import COMET_EXT_ABI
3
+ from defi_services.abis.lending.compound_v3.reward_abi import REWARD_ABI
3
4
  from defi_services.abis.token.erc20_abi import ERC20_ABI
4
5
  from defi_services.constants.chain_constant import Chain
5
6
  from defi_services.constants.entities.lending_constant import Lending
@@ -22,6 +23,7 @@ class CompoundV3StateService(CompoundStateService):
22
23
  self.pool_info = CompoundV3Info.mapping.get(chain_id)
23
24
  self.comet_abi = COMET_ABI
24
25
  self.comet_ext = COMET_EXT_ABI
26
+ self.reward_abi = REWARD_ABI
25
27
 
26
28
  def get_service_info(self):
27
29
  info = {
@@ -70,11 +72,12 @@ class CompoundV3StateService(CompoundStateService):
70
72
  block_number: int = "latest",
71
73
  ):
72
74
  result = {}
75
+ reward_address = self.pool_info.get("rewardAddress")
73
76
  for token, value in self.pool_info.get("reservesList").items():
74
- ext_address = value.get("cometExt")
77
+ comet = value.get("comet")
75
78
  rpc_call = self.state_service.get_function_info(
76
- ext_address, self.comet_ext, "baseTrackingAccrued", [wallet], block_number)
77
- get_reward_id = f"baseTrackingAccrued_{ext_address}_{wallet}_{block_number}".lower()
79
+ reward_address, self.reward_abi, "getRewardOwed", [comet, wallet], block_number)
80
+ get_reward_id = f"getRewardOwed_{reward_address}_{comet}_{wallet}_{block_number}".lower()
78
81
  result[get_reward_id] = rpc_call
79
82
  return result
80
83
 
@@ -84,10 +87,11 @@ class CompoundV3StateService(CompoundStateService):
84
87
  wallet: str,
85
88
  block_number: int = "latest"):
86
89
  reward_amount = 0
90
+ reward_address = self.pool_info.get("rewardAddress")
87
91
  for token, value in self.pool_info.get("reservesList").items():
88
- ext_address = value.get("cometExt")
89
- get_reward_id = f"baseTrackingAccrued_{ext_address}_{wallet}_{block_number}".lower()
90
- reward_amount += decoded_data.get(get_reward_id) / 10 ** 18
92
+ comet = value.get("comet")
93
+ get_reward_id = f"getRewardOwed_{reward_address}_{comet}_{wallet}_{block_number}".lower()
94
+ reward_amount += decoded_data.get(get_reward_id)[1] / 10 ** 18
91
95
  reward_token = self.pool_info.get("rewardToken")
92
96
  result = {
93
97
  reward_token: {"amount": reward_amount}
@@ -34,3 +34,14 @@ class CreamStateService(CompoundStateService):
34
34
  }
35
35
  return info
36
36
 
37
+ def get_rewards_balance_function_info(
38
+ self,
39
+ wallet: str,
40
+ reserves_info: dict = None,
41
+ block_number: int = "latest",
42
+ ):
43
+ reward_token = self.pool_info.get("rewardToken")
44
+ comptroller = self.pool_info.get("comptrollerImplementationAddress")
45
+ rpc_call = self.get_lens_function_info("getCompBalanceMetadataExt", [reward_token, comptroller, wallet], block_number)
46
+ get_reward_id = f"getCompBalanceMetadataExt_{self.name}_{wallet}_{block_number}".lower()
47
+ return {get_reward_id: rpc_call}
@@ -18,7 +18,7 @@ AAVE_V3_ETH = {
18
18
  "tToken": "0x0b925ed163218f6662a35e0f0371ac234f9e9371",
19
19
  "sdToken": "0x39739943199c0fbfe9e5f1b5b160cd73a64cb85d",
20
20
  "dToken": "0xc96113eed8cab59cd8a66813bcb0ceb29f06d2e4",
21
- "liquidationThreshold": 0.8
21
+ "liquidationThreshold": 0.81
22
22
  },
23
23
  "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": {
24
24
  "tToken": "0x5ee5bf7ae06d1be5997a1a72006fe6c607ec6de8",
@@ -54,7 +54,7 @@ AAVE_V3_ETH = {
54
54
  "tToken": "0x977b6fc5de62598b08c85ac8cf2b745874e8b78c",
55
55
  "sdToken": "0x82be6012cea6d147b968ebaea5ceecf6a5b4f493",
56
56
  "dToken": "0x0c91bca95b5fe69164ce583a2ec9429a569798ed",
57
- "liquidationThreshold": 0.74
57
+ "liquidationThreshold": 0.77
58
58
  },
59
59
  "0xdac17f958d2ee523a2206206994597c13d831ec7": {
60
60
  "tToken": "0x23878914efe38d27c4d67ab83ed1b93a74d4086a",
@@ -66,7 +66,7 @@ AAVE_V3_ETH = {
66
66
  "tToken": "0xcc9ee9483f662091a1de4795249e24ac0ac2630f",
67
67
  "sdToken": "0x1d1906f909cae494c7441604dafdddbd0485a925",
68
68
  "dToken": "0xae8593dd575fe29a9745056aa91c4b746eee62c8",
69
- "liquidationThreshold": 0.74
69
+ "liquidationThreshold": 0.77
70
70
  },
71
71
  "0x5f98805a4e8be255a32880fdec7f6728c6568ba0": {
72
72
  "tToken": "0x3fe6a295459fae07df8a0cecc36f37160fe86aa9",
@@ -139,6 +139,12 @@ AAVE_V3_ETH = {
139
139
  "sdToken": "0x41e330fd8f7ea31e2e8f02cc0c9392d1403597b4",
140
140
  "dToken": "0x8988eca19d502fd8b9ccd03fa3bd20a6f599bc2a",
141
141
  "liquidationThreshold": 0.0
142
+ },
143
+ "0x83f20f44975d03b1b09e64809b757c47f942beea": {
144
+ "tToken": "0x4c612e3b15b96ff9a6faed838f8d07d479a8dd4c",
145
+ "sdToken": "0x48bc45f084988bc01933ea93eeffebc0416534f6",
146
+ "dToken": "0x8db9d35e117d8b93c6ca9b644b25bad5d9908141",
147
+ "liquidationThreshold": 0.8
142
148
  }
143
149
  }
144
150
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: defi-state-querier
3
- Version: 0.2.3
3
+ Version: 0.2.4
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=PNiDER4qM19h9zdsdfgKt2_dT4WgYK7EguJ8RU2qA_g,22
1
+ defi_services/__init__.py,sha256=SBl2EPFW-ltPvQ7vbVWItyAsz3aKYIpjO7vcfr84GkU,22
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
@@ -34,6 +34,7 @@ defi_services/abis/lending/apeswape/apswap_ctoken_abi.py,sha256=O2q-bl0hGY0maG7K
34
34
  defi_services/abis/lending/compound_v3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
35
  defi_services/abis/lending/compound_v3/comet_abi.py,sha256=KU0CONZWPPWhvc0GT8TUB71tHMOoHex38GmSlUMvupU,37543
36
36
  defi_services/abis/lending/compound_v3/comet_ext_abi.py,sha256=npi28jLXipBUYywfcNUXz7gAlsF9w8ou3JcJMSrnZs0,11684
37
+ defi_services/abis/lending/compound_v3/reward_abi.py,sha256=YzULMk7RZvVHrL2m_OTrLeVyfln2RVkCeflTipN70Ew,6223
37
38
  defi_services/abis/lending/cream/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
39
  defi_services/abis/lending/cream/cream_comptroller_abi.py,sha256=lHcdsXy99bltWfHhvu5svHLk6FF5p8GuwMJBRKnPz68,43379
39
40
  defi_services/abis/lending/cream/cream_lens_abi.py,sha256=IP5xv3YG2pgqlzldUJCzQ8PXhzlD5BnHTuFf0qypms8,20100
@@ -128,9 +129,9 @@ defi_services/services/lending/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
128
129
  defi_services/services/lending/aave_v2_services.py,sha256=-sVla7IQ8GdkBXYuloaN9VSm4XUk_BkcpGsZRTiG9aI,17188
129
130
  defi_services/services/lending/aave_v3_services.py,sha256=wRgDN8Pb3DorEJlBv_SpUvwJN034Ti9XVjRcevP_hrE,14783
130
131
  defi_services/services/lending/apeswap_services.py,sha256=Pj_27FjE04IZe41RdxFg6Wpu45qmabg5v20hwhBRBBw,3408
131
- defi_services/services/lending/compound_service.py,sha256=HxSnADUt9ODBBkq-Nmk6KCt1AwG2jYSekUm9kgY-tTM,17878
132
- defi_services/services/lending/compound_v3_services.py,sha256=l-BCIhvJdqVCCXEScnOF03sqAZcAcq1i0b6OshRRZno,7396
133
- defi_services/services/lending/cream_services.py,sha256=dUXtlC66zpqPQL6e66O9YzQPvAqr_Y5pc2m3zNYLiY4,1093
132
+ defi_services/services/lending/compound_service.py,sha256=rxvYlu_JS2KXGLD_viJCRYnB_IJiU28GCugPPDA3D9E,18064
133
+ defi_services/services/lending/compound_v3_services.py,sha256=onZJYgqW6DEvUaYiMS2-7pOTjWKrD2tb1oEyqNQ4QzA,7628
134
+ defi_services/services/lending/cream_services.py,sha256=kh49qnfnha-cVy2QQ-eQFt3mziwfYLvAyPentFeDB0Q,1666
134
135
  defi_services/services/lending/flux_services.py,sha256=vrtGdPg9N4jSbjUxPSM6TNHmTABikup0bVDUqfjLeHI,12270
135
136
  defi_services/services/lending/geist_services.py,sha256=UI5D-MbMqplrt7D4krSFdpaREKOT81k8boD_XhGGpUQ,1035
136
137
  defi_services/services/lending/granary_services.py,sha256=yoHWStc9qW4XhDjJQyNeKhheQbk7by7Ipz_0RL11dbg,10763
@@ -174,7 +175,7 @@ defi_services/services/lending/lending_info/bsc/venus_bsc.py,sha256=9B9wRuHkrPM4
174
175
  defi_services/services/lending/lending_info/bsc/wepiggy_bsc.py,sha256=2Db98_o42B8TSsmcmbLL5OwjV3Y56PLWTBNjRssXNrg,3273
175
176
  defi_services/services/lending/lending_info/ethereum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
177
  defi_services/services/lending/lending_info/ethereum/aave_v2_eth.py,sha256=HkI4ed-_27oZvGs6rdpFcIyJeqGcRsObDoCnMEApeuA,12032
177
- defi_services/services/lending/lending_info/ethereum/aave_v3_eth.py,sha256=tgHWU2NnrmlbPplRKRfo5TS5Vqivrd3fxtwvxb2B8GU,7307
178
+ defi_services/services/lending/lending_info/ethereum/aave_v3_eth.py,sha256=tXe5QlEvQzQHgAJjug0MNo1m5bIyThiM7OavhQMsmok,7620
178
179
  defi_services/services/lending/lending_info/ethereum/compound_eth.py,sha256=9gMWKs9RUsV4bIWb4bJ9rF6L-LNUOQQAzE15UVLS3lE,3740
179
180
  defi_services/services/lending/lending_info/ethereum/compound_v3_eth.py,sha256=l3mVlB2MkKkNmr2Op9WocPFB1QaPJ0R9SLbO1fYNkw8,2653
180
181
  defi_services/services/lending/lending_info/ethereum/flux_eth.py,sha256=Iw-hvmFc5g9_--drvZCWxtoscvMIkr1mna4pTStrA-g,1270
@@ -216,8 +217,8 @@ defi_services/utils/logger_utils.py,sha256=KxDlmaK9aoMOI1gdroRYjMm383myvFiWqW0iK
216
217
  defi_services/utils/market_service.py,sha256=imPtPHBkpEx5JnhqeIWYqbCjsIEm8IKBYHNEy6rKjdU,723
217
218
  defi_services/utils/memory_storage.py,sha256=BOT8laB0iVSCGE-oDlpWJQLbSC6X2blKX4zuQbs4inc,851
218
219
  defi_services/utils/thread_proxy.py,sha256=5Z8biAyEReUkh3vfJSvEv7GwMe3CsE5M8CbghkQtePw,2951
219
- defi_state_querier-0.2.3.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
220
- defi_state_querier-0.2.3.dist-info/METADATA,sha256=LOspr9XbYnFL8fKT5Y1Tm7v3tYWT6rlg2NafyiiqxQY,3932
221
- defi_state_querier-0.2.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
222
- defi_state_querier-0.2.3.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
223
- defi_state_querier-0.2.3.dist-info/RECORD,,
220
+ defi_state_querier-0.2.4.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
221
+ defi_state_querier-0.2.4.dist-info/METADATA,sha256=U3LRytpVwUwYtkpMs4PjsSEjoEzSGyk8UJjOAZlHBKk,3932
222
+ defi_state_querier-0.2.4.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
223
+ defi_state_querier-0.2.4.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
224
+ defi_state_querier-0.2.4.dist-info/RECORD,,