defi-state-querier 0.5.18__py3-none-any.whl → 0.5.20__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/constants/chain_constant.py +6 -1
- defi_services/constants/network_constants.py +20 -361
- defi_services/constants/token_constant.py +3 -1
- defi_services/jobs/processors/cosmos_state_processor.py +3 -2
- defi_services/jobs/processors/ton_state_processor.py +4 -3
- defi_services/jobs/tcv.py +93 -59
- defi_services/services/lending/aave_v2_services.py +3 -3
- defi_services/services/lending/granary_services.py +3 -3
- defi_services/services/lending/morpho_aave_v2_services.py +3 -3
- defi_services/services/lending/morpho_aave_v3_services.py +2 -2
- defi_services/services/lending/trava_services.py +2 -2
- defi_services/services/lending/uwu_services.py +3 -3
- defi_services/services/lending/valas_services.py +2 -2
- defi_services/services/multicall/multicall_v2.py +0 -317
- defi_services/services/vault/tcv_vault_services.py +1 -2
- defi_services/services/vault/vault_info/arbitrum/tcv_arb.py +6 -6
- {defi_state_querier-0.5.18.dist-info → defi_state_querier-0.5.20.dist-info}/METADATA +1 -1
- {defi_state_querier-0.5.18.dist-info → defi_state_querier-0.5.20.dist-info}/RECORD +29 -29
- /defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/__init__.py +0 -0
- /defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/aave_v2_event_abi.py +0 -0
- /defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/aave_v2_incentives_abi.py +0 -0
- /defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/lending_pool_abi.py +0 -0
- /defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/oracle_abi.py +0 -0
- /defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/staked_incentives_abi.py +0 -0
- /defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/uwu_incentives_abi.py +0 -0
- {defi_state_querier-0.5.18.dist-info → defi_state_querier-0.5.20.dist-info}/LICENSE +0 -0
- {defi_state_querier-0.5.18.dist-info → defi_state_querier-0.5.20.dist-info}/WHEEL +0 -0
- {defi_state_querier-0.5.18.dist-info → defi_state_querier-0.5.20.dist-info}/top_level.txt +0 -0
@@ -3,9 +3,9 @@ import time
|
|
3
3
|
|
4
4
|
from web3 import Web3
|
5
5
|
|
6
|
-
from defi_services.abis.lending.
|
7
|
-
from defi_services.abis.lending.
|
8
|
-
from defi_services.abis.lending.
|
6
|
+
from defi_services.abis.lending.aave_v2_and_forks.aave_v2_incentives_abi import AAVE_V2_INCENTIVES_ABI
|
7
|
+
from defi_services.abis.lending.aave_v2_and_forks.lending_pool_abi import LENDING_POOL_ABI
|
8
|
+
from defi_services.abis.lending.aave_v2_and_forks.oracle_abi import ORACLE_ABI
|
9
9
|
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
10
10
|
from defi_services.constants.chain_constant import Chain
|
11
11
|
from defi_services.constants.db_constant import DBConst
|
@@ -3,9 +3,9 @@ import time
|
|
3
3
|
|
4
4
|
from web3 import Web3
|
5
5
|
|
6
|
-
from defi_services.abis.lending.
|
7
|
-
from defi_services.abis.lending.
|
8
|
-
from defi_services.abis.lending.
|
6
|
+
from defi_services.abis.lending.aave_v2_and_forks.aave_v2_incentives_abi import AAVE_V2_INCENTIVES_ABI
|
7
|
+
from defi_services.abis.lending.aave_v2_and_forks.lending_pool_abi import LENDING_POOL_ABI
|
8
|
+
from defi_services.abis.lending.aave_v2_and_forks.oracle_abi import ORACLE_ABI
|
9
9
|
from defi_services.abis.lending.granary.granary_rewarder_abi import GRANARY_REWARDER_ABI
|
10
10
|
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
11
11
|
from defi_services.constants.chain_constant import Chain
|
@@ -3,9 +3,9 @@ import time
|
|
3
3
|
|
4
4
|
from web3 import Web3
|
5
5
|
|
6
|
-
from defi_services.abis.lending.
|
7
|
-
from defi_services.abis.lending.
|
8
|
-
from defi_services.abis.lending.
|
6
|
+
from defi_services.abis.lending.aave_v2_and_forks.aave_v2_incentives_abi import AAVE_V2_INCENTIVES_ABI
|
7
|
+
from defi_services.abis.lending.aave_v2_and_forks.lending_pool_abi import LENDING_POOL_ABI
|
8
|
+
from defi_services.abis.lending.aave_v2_and_forks.oracle_abi import ORACLE_ABI
|
9
9
|
from defi_services.abis.lending.morpho.morpho_aave_v2_comptroller_abi import MORPHO_AAVE_V2_COMPTROLLER
|
10
10
|
from defi_services.abis.lending.morpho.morpho_aave_v2_lens_abi import MORPHO_AAVE_V2_LENS_ABI
|
11
11
|
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
@@ -3,8 +3,8 @@ import time
|
|
3
3
|
|
4
4
|
from web3 import Web3
|
5
5
|
|
6
|
-
from defi_services.abis.lending.
|
7
|
-
from defi_services.abis.lending.
|
6
|
+
from defi_services.abis.lending.aave_v2_and_forks.aave_v2_incentives_abi import AAVE_V2_INCENTIVES_ABI
|
7
|
+
from defi_services.abis.lending.aave_v2_and_forks.oracle_abi import ORACLE_ABI
|
8
8
|
from defi_services.abis.lending.aave.aave_v3.aave_v3_lending_pool_abi import AAVE_V3_LENDING_POOL_ABI
|
9
9
|
from defi_services.abis.lending.morpho.morpho_aave_v3_comptroller_abi import MORPHO_AAVE_V3_COMPTROLLER_ABI
|
10
10
|
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
@@ -3,8 +3,8 @@ import time
|
|
3
3
|
|
4
4
|
from web3 import Web3
|
5
5
|
|
6
|
-
from defi_services.abis.lending.
|
7
|
-
from defi_services.abis.lending.
|
6
|
+
from defi_services.abis.lending.aave_v2_and_forks.oracle_abi import ORACLE_ABI
|
7
|
+
from defi_services.abis.lending.aave_v2_and_forks.staked_incentives_abi import STAKED_INCENTIVES_ABI
|
8
8
|
from defi_services.abis.lending.trava.trava_lending_pool_abi import TRAVA_LENDING_POOL_ABI
|
9
9
|
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
10
10
|
from defi_services.constants.chain_constant import Chain
|
@@ -3,9 +3,9 @@ import time
|
|
3
3
|
|
4
4
|
from web3 import Web3
|
5
5
|
|
6
|
-
from defi_services.abis.lending.
|
7
|
-
from defi_services.abis.lending.
|
8
|
-
from defi_services.abis.lending.
|
6
|
+
from defi_services.abis.lending.aave_v2_and_forks.lending_pool_abi import LENDING_POOL_ABI
|
7
|
+
from defi_services.abis.lending.aave_v2_and_forks.oracle_abi import ORACLE_ABI
|
8
|
+
from defi_services.abis.lending.aave_v2_and_forks.uwu_incentives_abi import UWU_INCENTIVES_ABI
|
9
9
|
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
10
10
|
from defi_services.constants.chain_constant import Chain
|
11
11
|
from defi_services.constants.entities.lending_constant import Lending
|
@@ -3,8 +3,8 @@ import time
|
|
3
3
|
|
4
4
|
from web3 import Web3
|
5
5
|
|
6
|
-
from defi_services.abis.lending.
|
7
|
-
from defi_services.abis.lending.
|
6
|
+
from defi_services.abis.lending.aave_v2_and_forks.lending_pool_abi import LENDING_POOL_ABI
|
7
|
+
from defi_services.abis.lending.aave_v2_and_forks.oracle_abi import ORACLE_ABI
|
8
8
|
from defi_services.abis.lending.valas.chef_incentives_controller import CHEF_INCENTIVES_CONTROLLER
|
9
9
|
from defi_services.abis.lending.valas.valas_multi_fee_distribution import VALAS_MULTI_FEE_DISTRIBUTION
|
10
10
|
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
@@ -1,17 +1,10 @@
|
|
1
|
-
import csv
|
2
|
-
import json
|
3
|
-
import time
|
4
1
|
from collections import defaultdict
|
5
2
|
from typing import Tuple, List, Union, Any, Optional, Dict
|
6
3
|
|
7
4
|
from query_state_lib.base.utils.decoder import decode_eth_call_data
|
8
|
-
from query_state_lib.client.client_querier import ClientQuerier
|
9
5
|
from web3 import Web3, contract
|
10
6
|
|
11
|
-
from defi_services.abis.dex.pancakeswap.pancakeswap_lp_token_abi import LP_TOKEN_ABI
|
12
7
|
from defi_services.abis.multicall_v3_abi import MULTICALL_V3_ABI
|
13
|
-
from defi_services.abis.token.erc20_abi import ERC20_ABI
|
14
|
-
from defi_services.constants.network_constants import MulticallContract, Chains, Networks
|
15
8
|
from defi_services.services.multicall.batch_queries_service import add_rpc_call, decode_data_response, \
|
16
9
|
decode_data_response_ignore_error
|
17
10
|
from defi_services.utils.dict_utils import all_equal
|
@@ -184,313 +177,3 @@ def decode_multical_response(w3_multicall: W3Multicall, data_responses, list_cal
|
|
184
177
|
batch_idx += 1
|
185
178
|
|
186
179
|
return results
|
187
|
-
|
188
|
-
|
189
|
-
def _test_multicall(_w3: Web3, multicall_contract, wallets, tokens):
|
190
|
-
start_time = time.time()
|
191
|
-
encode_time = 0
|
192
|
-
|
193
|
-
rpc_call_id = {}
|
194
|
-
|
195
|
-
n_calls = 0
|
196
|
-
data = {}
|
197
|
-
for wallet in wallets:
|
198
|
-
start_encode_time = time.time()
|
199
|
-
data[wallet] = {}
|
200
|
-
|
201
|
-
w3_multicall = W3Multicall(_w3, address=MulticallContract.get_multicall_contract(Chains.arbitrum))
|
202
|
-
for token in tokens:
|
203
|
-
# if token['address'] == '0x0000000000000000000000000000000000000000':
|
204
|
-
# continue
|
205
|
-
|
206
|
-
w3_multicall.add(W3Multicall.Call(
|
207
|
-
Web3.to_checksum_address(token['address']), # contract address
|
208
|
-
ERC20_ABI, # method signature to call
|
209
|
-
'balanceOf',
|
210
|
-
wallet
|
211
|
-
))
|
212
|
-
|
213
|
-
decimals_call = W3Multicall.Call(
|
214
|
-
Web3.to_checksum_address(token['address']), # contract address
|
215
|
-
ERC20_ABI, # method signature to call
|
216
|
-
'decimals'
|
217
|
-
)
|
218
|
-
if decimals_call not in rpc_call_id:
|
219
|
-
w3_multicall.add(decimals_call)
|
220
|
-
rpc_call_id[decimals_call] = None
|
221
|
-
|
222
|
-
encode_time += time.time() - start_encode_time
|
223
|
-
n_calls += len(w3_multicall.calls)
|
224
|
-
|
225
|
-
# For single call
|
226
|
-
inputs = w3_multicall.get_params()
|
227
|
-
response = multicall_contract.functions.tryAggregate(*inputs).call()
|
228
|
-
results = w3_multicall.decode(response)
|
229
|
-
|
230
|
-
for token in tokens:
|
231
|
-
# if token['address'] == '0x0000000000000000000000000000000000000000':
|
232
|
-
# continue
|
233
|
-
|
234
|
-
decimals_call_id = f'decimals_{token["address"]}_latest'.lower()
|
235
|
-
balance_call_id = f'balanceOf_{token["address"]}_{wallet}_latest'.lower()
|
236
|
-
|
237
|
-
decimals = results.get(decimals_call_id)
|
238
|
-
if decimals is None:
|
239
|
-
decimals = rpc_call_id.get(decimals_call_id) or 18
|
240
|
-
else:
|
241
|
-
rpc_call_id[decimals_call_id] = decimals
|
242
|
-
|
243
|
-
balance = results.get(balance_call_id)
|
244
|
-
if balance is None:
|
245
|
-
balance = rpc_call_id.get(balance_call_id) or 0
|
246
|
-
else:
|
247
|
-
rpc_call_id[balance_call_id] = balance
|
248
|
-
balance /= 10 ** decimals
|
249
|
-
|
250
|
-
data[wallet][token['address']] = {
|
251
|
-
'name': token['name'],
|
252
|
-
'symbol': token['symbol'],
|
253
|
-
'balance': balance,
|
254
|
-
'decimals': decimals
|
255
|
-
}
|
256
|
-
|
257
|
-
with open('results_multicall.json', 'w') as f:
|
258
|
-
json.dump(data, f, indent=2)
|
259
|
-
duration = time.time() - start_time
|
260
|
-
|
261
|
-
print(f'There are {n_calls} calls')
|
262
|
-
print(f'Encode took {round(encode_time, 3)}s')
|
263
|
-
print(f'Done after {round(duration, 3)}s')
|
264
|
-
|
265
|
-
return duration, encode_time, n_calls
|
266
|
-
|
267
|
-
|
268
|
-
def _test_state_querier(client_querier: ClientQuerier, wallets, tokens):
|
269
|
-
start_time = time.time()
|
270
|
-
|
271
|
-
list_call_id = []
|
272
|
-
list_rpc_call = []
|
273
|
-
|
274
|
-
for wallet in wallets:
|
275
|
-
for token in tokens:
|
276
|
-
if token['address'] == '0x0000000000000000000000000000000000000000':
|
277
|
-
continue
|
278
|
-
|
279
|
-
add_rpc_call(
|
280
|
-
abi=ERC20_ABI, contract_address=Web3.to_checksum_address(token['address']),
|
281
|
-
fn_name="balanceOf", fn_paras=wallet, block_number='latest',
|
282
|
-
list_call_id=list_call_id, list_rpc_call=list_rpc_call
|
283
|
-
)
|
284
|
-
add_rpc_call(
|
285
|
-
abi=ERC20_ABI, contract_address=Web3.to_checksum_address(token['address']),
|
286
|
-
fn_name="decimals", block_number='latest',
|
287
|
-
list_call_id=list_call_id, list_rpc_call=list_rpc_call
|
288
|
-
)
|
289
|
-
|
290
|
-
encode_time = time.time() - start_time
|
291
|
-
print(f'There are {len(list_rpc_call)} calls')
|
292
|
-
print(f'Encode took {round(encode_time, 3)}s')
|
293
|
-
|
294
|
-
responses = client_querier.sent_batch_to_provider(list_rpc_call, batch_size=2000)
|
295
|
-
decoded_data = decode_data_response_ignore_error(data_responses=responses, list_call_id=list_call_id)
|
296
|
-
|
297
|
-
data = {}
|
298
|
-
for wallet in wallets:
|
299
|
-
data[wallet] = {}
|
300
|
-
for token in tokens:
|
301
|
-
if token['address'] == '0x0000000000000000000000000000000000000000':
|
302
|
-
continue
|
303
|
-
|
304
|
-
decimals = decoded_data.get(f'decimals_{token["address"]}_latest'.lower())
|
305
|
-
balance = decoded_data.get(f'balanceOf_{token["address"]}_{wallet}_latest'.lower()) / 10 ** decimals
|
306
|
-
|
307
|
-
data[wallet][token['address']] = {
|
308
|
-
'name': token['name'],
|
309
|
-
'symbol': token['symbol'],
|
310
|
-
'balance': balance,
|
311
|
-
'decimals': decimals
|
312
|
-
}
|
313
|
-
|
314
|
-
with open('results_querier.json', 'w') as f:
|
315
|
-
json.dump(data, f, indent=2)
|
316
|
-
duration = time.time() - start_time
|
317
|
-
print(f'Done after {round(duration, 3)}s')
|
318
|
-
|
319
|
-
return duration, encode_time, len(list_rpc_call)
|
320
|
-
|
321
|
-
|
322
|
-
def _test_multicall_with_multiprocessing(_w3: Web3, client_querier: ClientQuerier, wallets, tokens):
|
323
|
-
start_time = time.time()
|
324
|
-
|
325
|
-
w3_multicall = W3Multicall(_w3, address=MulticallContract.get_multicall_contract(Chains.arbitrum))
|
326
|
-
for wallet in wallets:
|
327
|
-
for token in tokens:
|
328
|
-
# if token['address'] == '0x0000000000000000000000000000000000000000':
|
329
|
-
# continue
|
330
|
-
|
331
|
-
w3_multicall.add(W3Multicall.Call(
|
332
|
-
Web3.to_checksum_address(token['address']), # contract address
|
333
|
-
ERC20_ABI, # method signature to call
|
334
|
-
'balanceOf',
|
335
|
-
wallet
|
336
|
-
))
|
337
|
-
|
338
|
-
w3_multicall.add(W3Multicall.Call(
|
339
|
-
Web3.to_checksum_address(token['address']), # contract address
|
340
|
-
ERC20_ABI, # method signature to call
|
341
|
-
'decimals'
|
342
|
-
))
|
343
|
-
|
344
|
-
w3_multicall.add(W3Multicall.Call(
|
345
|
-
Web3.to_checksum_address(token['address']), # contract address
|
346
|
-
LP_TOKEN_ABI, # method signature to call
|
347
|
-
'token0'
|
348
|
-
))
|
349
|
-
|
350
|
-
list_call_id, list_rpc_call = [], []
|
351
|
-
add_rpc_multicall(w3_multicall, list_rpc_call=list_rpc_call, list_call_id=list_call_id)
|
352
|
-
|
353
|
-
encode_time = time.time() - start_time
|
354
|
-
|
355
|
-
responses = client_querier.sent_batch_to_provider(list_rpc_call, batch_size=1)
|
356
|
-
decoded_data = decode_multical_response(
|
357
|
-
w3_multicall=w3_multicall, data_responses=responses,
|
358
|
-
list_call_id=list_call_id, ignore_error=True
|
359
|
-
)
|
360
|
-
|
361
|
-
data = {}
|
362
|
-
for wallet in wallets:
|
363
|
-
data[wallet] = {}
|
364
|
-
for token in tokens:
|
365
|
-
# if token['address'] == '0x0000000000000000000000000000000000000000':
|
366
|
-
# continue
|
367
|
-
|
368
|
-
decimals_call_id = f'decimals_{token["address"]}_latest'.lower()
|
369
|
-
balance_call_id = f'balanceOf_{token["address"]}_{wallet}_latest'.lower()
|
370
|
-
|
371
|
-
decimals = decoded_data.get(decimals_call_id) or 18
|
372
|
-
balance = decoded_data.get(balance_call_id, 0) / 10 ** decimals
|
373
|
-
|
374
|
-
data[wallet][token['address']] = {
|
375
|
-
'name': token['name'],
|
376
|
-
'symbol': token['symbol'],
|
377
|
-
'balance': balance,
|
378
|
-
'decimals': decimals
|
379
|
-
}
|
380
|
-
|
381
|
-
with open('results_multicall_with_multiprocessing.json', 'w') as f:
|
382
|
-
json.dump(data, f, indent=2)
|
383
|
-
duration = time.time() - start_time
|
384
|
-
|
385
|
-
print(f'There are {len(w3_multicall.calls)} calls')
|
386
|
-
print(f'Encode took {round(encode_time, 3)}s')
|
387
|
-
print(f'Done after {round(duration, 3)}s')
|
388
|
-
|
389
|
-
return duration, encode_time, len(w3_multicall.calls)
|
390
|
-
|
391
|
-
|
392
|
-
def query_multi_contracts(n_times=20, wallets_batch_size=5, wallets_distribute_similar=True):
|
393
|
-
with open('../../../.data/wallets.json') as f:
|
394
|
-
wallets = json.load(f)
|
395
|
-
wallets = ['0x6FfA563915CB3186b9Dd206D0E08bdeDcd2EA2ED']
|
396
|
-
|
397
|
-
with open('../../../.data/tokens.json') as f:
|
398
|
-
tokens_ = json.load(f)
|
399
|
-
tokens_ = [
|
400
|
-
{
|
401
|
-
"address": "0xE2035f04040A135c4dA2f96AcA742143c57c79F9",
|
402
|
-
"name": "UXUY",
|
403
|
-
"symbol": "uxuy"
|
404
|
-
},
|
405
|
-
{
|
406
|
-
"address": "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",
|
407
|
-
"name": "Tether",
|
408
|
-
"symbol": "usdt"
|
409
|
-
},
|
410
|
-
{
|
411
|
-
"address": "0x0000000000000000000000000000000000000000",
|
412
|
-
"name": "ETH",
|
413
|
-
"symbol": "ETH"
|
414
|
-
}
|
415
|
-
]
|
416
|
-
|
417
|
-
print(f'There are maximum {len(wallets)} wallets')
|
418
|
-
print(f'There are {len(tokens_)} tokens')
|
419
|
-
|
420
|
-
if wallets_distribute_similar:
|
421
|
-
wallets_batch = [wallets[:300], wallets[:300], wallets[:300]]
|
422
|
-
else:
|
423
|
-
wallets_batch = [wallets[:300], wallets[300:600], wallets[600:900]]
|
424
|
-
|
425
|
-
# Methodology 1: Query State Lib
|
426
|
-
start_time = time.time()
|
427
|
-
client_querier = ClientQuerier(provider_url=Networks.providers['arbitrum'])
|
428
|
-
starting_time_1 = time.time() - start_time
|
429
|
-
logger.info(f'Starting state querier: {round(starting_time_1, 3)}s')
|
430
|
-
|
431
|
-
_multiple(
|
432
|
-
n_times=n_times, starting_time=starting_time_1, filename='query_state_lib',
|
433
|
-
wallets=wallets_batch[0], wallets_batch_size=wallets_batch_size, tokens=tokens_, func=_test_state_querier,
|
434
|
-
client_querier=client_querier
|
435
|
-
)
|
436
|
-
|
437
|
-
# Methodology 2: Multicall
|
438
|
-
start_time = time.time()
|
439
|
-
_w3 = Web3(Web3.HTTPProvider(Networks.providers['arbitrum']))
|
440
|
-
starting_time_2_1 = time.time() - start_time
|
441
|
-
multicall_address = MulticallContract.get_multicall_contract(Chains.arbitrum)
|
442
|
-
multicall_contract = _w3.eth.contract(Web3.to_checksum_address(multicall_address), abi=MULTICALL_V3_ABI)
|
443
|
-
starting_time_2 = time.time() - start_time
|
444
|
-
logger.info(f'Starting multicall: {round(starting_time_2, 3)}s')
|
445
|
-
|
446
|
-
_multiple(
|
447
|
-
n_times=n_times, starting_time=starting_time_2, filename='multicall',
|
448
|
-
wallets=wallets_batch[1], wallets_batch_size=wallets_batch_size, tokens=tokens_, func=_test_multicall,
|
449
|
-
_w3=_w3, multicall_contract=multicall_contract
|
450
|
-
)
|
451
|
-
|
452
|
-
# Methodology 3: Combine Multicall with multiprocessing
|
453
|
-
starting_time_3 = starting_time_1 + starting_time_2_1
|
454
|
-
logger.info(f'Starting combined: {round(starting_time_3, 3)}s')
|
455
|
-
|
456
|
-
_multiple(
|
457
|
-
n_times=n_times, starting_time=starting_time_3, filename='combined',
|
458
|
-
wallets=wallets_batch[2], wallets_batch_size=wallets_batch_size, tokens=tokens_,
|
459
|
-
func=_test_multicall_with_multiprocessing, _w3=_w3, client_querier=client_querier
|
460
|
-
)
|
461
|
-
|
462
|
-
|
463
|
-
def _multiple(n_times, starting_time, filename, wallets, wallets_batch_size, tokens, func, *args, **kwargs):
|
464
|
-
data = [['Total Time', 'Encode Time']]
|
465
|
-
overview = {
|
466
|
-
'avg_total_time': 0, 'avg_encode_time': 0,
|
467
|
-
'times': 0, 'errors': 0,
|
468
|
-
'queries': 0, 'start_time': starting_time
|
469
|
-
}
|
470
|
-
for i in range(n_times):
|
471
|
-
idx = i * wallets_batch_size
|
472
|
-
sub_wallets = wallets[idx:idx + wallets_batch_size]
|
473
|
-
try:
|
474
|
-
total_time, encode_time, n_calls = func(wallets=sub_wallets, tokens=tokens, *args, **kwargs)
|
475
|
-
|
476
|
-
overview['queries'] = n_calls
|
477
|
-
data.append([total_time, encode_time])
|
478
|
-
overview['times'] += 1
|
479
|
-
except Exception as ex:
|
480
|
-
logger.exception(ex)
|
481
|
-
overview['errors'] += 1
|
482
|
-
finally:
|
483
|
-
time.sleep(13)
|
484
|
-
|
485
|
-
with open(f'results_{filename}.csv', 'w') as f:
|
486
|
-
writer = csv.writer(f)
|
487
|
-
writer.writerows(data)
|
488
|
-
|
489
|
-
overview['avg_total_time'] = sum([t[0] for t in data[1:]]) / overview['times']
|
490
|
-
overview['avg_encode_time'] = sum([t[1] for t in data[1:]]) / overview['times']
|
491
|
-
with open(f'overview_results_{filename}.json', 'w') as f:
|
492
|
-
json.dump(overview, f, indent=2)
|
493
|
-
|
494
|
-
|
495
|
-
if __name__ == '__main__':
|
496
|
-
query_multi_contracts(n_times=1, wallets_batch_size=1, wallets_distribute_similar=True)
|
@@ -94,7 +94,6 @@ class TCVVaultStateService(ProtocolServices):
|
|
94
94
|
}
|
95
95
|
return result
|
96
96
|
|
97
|
-
|
98
97
|
# REWARDS BALANCE
|
99
98
|
def get_rewards_balance_function_info(
|
100
99
|
self,
|
@@ -106,4 +105,4 @@ class TCVVaultStateService(ProtocolServices):
|
|
106
105
|
|
107
106
|
def calculate_rewards_balance(
|
108
107
|
self, wallet: str, reserves_info: dict, decoded_data: dict, block_number: int = "latest"):
|
109
|
-
pass
|
108
|
+
pass
|
@@ -7,7 +7,7 @@ TCV_VAULT_ARBITRUM = {
|
|
7
7
|
"vaultName": "eth/usdc",
|
8
8
|
"tokenIn": "0xe467db55710cf35e2dc0402104e23221f0e12e66",
|
9
9
|
"pool": '0xc6962004f452be9203591991d15f6b388e09e8d0',
|
10
|
-
"poolInfo":{
|
10
|
+
"poolInfo": {
|
11
11
|
"token0": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
|
12
12
|
"token1": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
|
13
13
|
"fee": 500
|
@@ -17,7 +17,7 @@ TCV_VAULT_ARBITRUM = {
|
|
17
17
|
"vaultName": "eth/usdt",
|
18
18
|
"tokenIn": "0x9403be93fddedf88a3ed7d11bfb643b13e5cbc27",
|
19
19
|
"pool": '0x641c00a822e8b671738d32a431a4fb6074e5c79d',
|
20
|
-
"poolInfo":{
|
20
|
+
"poolInfo": {
|
21
21
|
"token0": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
|
22
22
|
"token1": "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",
|
23
23
|
"fee": 500
|
@@ -28,7 +28,7 @@ TCV_VAULT_ARBITRUM = {
|
|
28
28
|
"vaultName": "eth/arb",
|
29
29
|
"tokenIn": "0xae83866e6b48e29b225a10bc236f2665cc4f081e",
|
30
30
|
"pool": '0xc6f780497a95e246eb9449f5e4770916dcd6396a',
|
31
|
-
"poolInfo":{
|
31
|
+
"poolInfo": {
|
32
32
|
"token0": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
|
33
33
|
"token1": "0x912ce59144191c1204e64559fe8253a0e49e6548",
|
34
34
|
"fee": 500
|
@@ -38,7 +38,7 @@ TCV_VAULT_ARBITRUM = {
|
|
38
38
|
"vaultName": "eth/usdc(bridgeusdc)",
|
39
39
|
"tokenIn": "0xaae3866f0233aec20580c21a3c10791afd38c8c1",
|
40
40
|
"pool": '0xc31e54c7a869b9fcbecc14363cf510d1c41fa443',
|
41
|
-
"poolInfo":{
|
41
|
+
"poolInfo": {
|
42
42
|
"token0": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
|
43
43
|
"token1": "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
44
44
|
"fee": 500
|
@@ -48,11 +48,11 @@ TCV_VAULT_ARBITRUM = {
|
|
48
48
|
"vaultName": "eth/usdc",
|
49
49
|
"tokenIn": "0xa02d1ecbe8eefaf7d64871ee0ae6404318df9702",
|
50
50
|
"pool": '0xc473e2aee3441bf9240be85eb122abb059a3b57c',
|
51
|
-
"poolInfo":{
|
51
|
+
"poolInfo": {
|
52
52
|
"token0": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
|
53
53
|
"token1": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
|
54
54
|
"fee": 3000
|
55
55
|
}
|
56
56
|
}
|
57
57
|
}
|
58
|
-
}
|
58
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
defi_services/__init__.py,sha256=
|
1
|
+
defi_services/__init__.py,sha256=lyuL7YYSa5adRq6V1WM7LqatnFIdxyUhDg6nA3gpgiw,23
|
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
|
@@ -73,13 +73,13 @@ defi_services/abis/lending/aave/gho/gho_discount_rate_strategy.py,sha256=8d9By2_
|
|
73
73
|
defi_services/abis/lending/aave/gho/gho_flash_minter.py,sha256=DVPpdW5D2PjsdUqz9A8z8FQf_DylvC6R1HJ3pwaEVto,6081
|
74
74
|
defi_services/abis/lending/aave/gho/gho_token.py,sha256=fUxGuKYNGmp4HlJ5n2jGabHCSzWYm49XLtkIRcHymxI,15229
|
75
75
|
defi_services/abis/lending/aave/gho/gho_variable_debt_token.py,sha256=NdJMoH-8wvQ8aOiwCjLgrpwsDDOv8R9fDMCC61id9IA,20924
|
76
|
-
defi_services/abis/lending/
|
77
|
-
defi_services/abis/lending/
|
78
|
-
defi_services/abis/lending/
|
79
|
-
defi_services/abis/lending/
|
80
|
-
defi_services/abis/lending/
|
81
|
-
defi_services/abis/lending/
|
82
|
-
defi_services/abis/lending/
|
76
|
+
defi_services/abis/lending/aave_v2_and_forks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
|
+
defi_services/abis/lending/aave_v2_and_forks/aave_v2_event_abi.py,sha256=rhR2cKMxALtoIDSpvP4Vr2dlSluN0axnU0DGQ181msE,5393
|
78
|
+
defi_services/abis/lending/aave_v2_and_forks/aave_v2_incentives_abi.py,sha256=fBKvb7hbv4JtFjwRrb28uT23PmViqMs6I1LqTaa12ms,10408
|
79
|
+
defi_services/abis/lending/aave_v2_and_forks/lending_pool_abi.py,sha256=-0n6RynouIW1HY8qFMbmk3nEFnv3w4kntd89gth6Log,29034
|
80
|
+
defi_services/abis/lending/aave_v2_and_forks/oracle_abi.py,sha256=a-41IwY7F5lAqAFyMHBDGi4PFZ4p6neVJcUvPvMYwzI,4399
|
81
|
+
defi_services/abis/lending/aave_v2_and_forks/staked_incentives_abi.py,sha256=kMgU2nWbEZEZ0Sj58Tc0lq4_HxrS2e6ISnEXNuhSaeA,13482
|
82
|
+
defi_services/abis/lending/aave_v2_and_forks/uwu_incentives_abi.py,sha256=eXB9wPJLDrB98nM2R8tCQni5cY1Wkk9dQfXboMhMoRs,10433
|
83
83
|
defi_services/abis/lending/aave_v3_forks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
84
84
|
defi_services/abis/lending/aave_v3_forks/aave_v3_incentives_abi.py,sha256=_iMYKmw1MJe73CugzxsqMFdSvYaCHEmREs6wssr33kQ,18201
|
85
85
|
defi_services/abis/lending/aave_v3_forks/aave_v3_lending_pool_abi.py,sha256=chBEC1BaB7cLmIc1qPPNsgfmmG72Rb2543sVgPfRcyI,38831
|
@@ -295,14 +295,14 @@ defi_services/abis/vault/lido/lido_withdrawl_queue.py,sha256=qKdsXQLKlNU3a_Nk68q
|
|
295
295
|
defi_services/abis/vault/lido/lido_wsteth.py,sha256=DJhMToJS43vV2r5WP2kZSiagt7R8MtKFT8u1xJBjZKU,8780
|
296
296
|
defi_services/abis/vault/lido/lidor_accounting_oracle_hash_consensus.py,sha256=TWCLaccDgvWJZZKLAeoznYgGi3g3M_hFqoo3KE_L7K8,21039
|
297
297
|
defi_services/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
298
|
-
defi_services/constants/chain_constant.py,sha256
|
298
|
+
defi_services/constants/chain_constant.py,sha256=weJmKNr8JF3EE3HOzFGh4oUIlzv_8GN4zDtsWQWvqU8,1198
|
299
299
|
defi_services/constants/cosmos_decimals_constant.py,sha256=SjFkFbkvxVAk0jtok_1EaBh69ZE8S1fFAbVn6bdJO4s,13635
|
300
300
|
defi_services/constants/db_constant.py,sha256=gDMFFjhPOgQHuS9sPOTFbsfSdIfdWQEE4tGlxHQhNsE,2566
|
301
301
|
defi_services/constants/mongo_constant.py,sha256=qsDIq2Gg5MkBGaEOh4Fd9y6fOOidF4gGPnQwtaPon3E,398
|
302
|
-
defi_services/constants/network_constants.py,sha256=
|
302
|
+
defi_services/constants/network_constants.py,sha256=SFmnxOEPiexBooAUd5JkVSwP_GmF7IGrp86Z1yPsjCE,2430
|
303
303
|
defi_services/constants/query_constant.py,sha256=6HSK5IToUQpKLqmTeCgKf0npwmog7GWFUmQpz_mbkgY,1088
|
304
304
|
defi_services/constants/time_constant.py,sha256=bC-0pYnfIFFR_0iVvkxhfyHfOclWNw9O3DbdO_nh258,181
|
305
|
-
defi_services/constants/token_constant.py,sha256=
|
305
|
+
defi_services/constants/token_constant.py,sha256=sFlmEA9uiwyBePU5U61blXn3R7nCGKjQtlvq94ElwYo,5104
|
306
306
|
defi_services/constants/ton_decimals_constant.py,sha256=zMbbiIi2a9ZQSHEt8tLY0FnQtMi1qybkXMeFkKeEw3g,50657
|
307
307
|
defi_services/constants/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
308
308
|
defi_services/constants/entities/dex_constant.py,sha256=oCt8RS-0KjFW5zR5IU1Ys49nYCCAraY8pTivOpXoyvs,343
|
@@ -313,16 +313,16 @@ defi_services/constants/entities/lending_services.py,sha256=EeCRUi-K4O3MlB6m5f9Q
|
|
313
313
|
defi_services/constants/entities/vault_constant.py,sha256=XaFp2VpmePfym42Gn-5IeT8qnQBq1JcRNrH7r2_tWxo,122
|
314
314
|
defi_services/constants/entities/vault_services.py,sha256=uwcvxwnyXNU3_3mcI6PGWyvGe40tzHmTrmigotLWeMM,752
|
315
315
|
defi_services/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
316
|
-
defi_services/jobs/tcv.py,sha256=
|
316
|
+
defi_services/jobs/tcv.py,sha256=Ngp6VWcH2n2ZCMTPu0TySxXQn_O6C2FDbvzVltEmH5Y,5707
|
317
317
|
defi_services/jobs/processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
318
318
|
defi_services/jobs/processors/call_state_processor.py,sha256=WseX0OaMA5D_ANYofrz7W2BooSMdHlGRay4NuiABmM4,436
|
319
|
-
defi_services/jobs/processors/cosmos_state_processor.py,sha256=
|
319
|
+
defi_services/jobs/processors/cosmos_state_processor.py,sha256=ROXlF7KGHL0dUykbGpRi35qJwgjtPuPO60FQVB34N7c,1894
|
320
320
|
defi_services/jobs/processors/multi_call_state_processor.py,sha256=AksswGMSyStbnvkQcBVb0Y2tdpkUgc1CWoeSiMpGy8U,462
|
321
321
|
defi_services/jobs/processors/multi_state_processor.py,sha256=Od7Y8zPz7xj0L-_0YuK4wg_94fX8Q1PquuKUUYteIJU,5731
|
322
322
|
defi_services/jobs/processors/solana_state_processor.py,sha256=szsBYrkEV8kBzuA_iaSVescnwKJ2MHoTbut5kORbWTs,4065
|
323
323
|
defi_services/jobs/processors/state_processor.py,sha256=Ze_5isU_l_APB262E-VV_4KZwEG6W0XE6PikJZIcAoM,7291
|
324
324
|
defi_services/jobs/processors/substrate_state_processor.py,sha256=KkiY1NkaxnizNJBTfn4twB-zuQo3fT3akOlbie8VF5g,3940
|
325
|
-
defi_services/jobs/processors/ton_state_processor.py,sha256=
|
325
|
+
defi_services/jobs/processors/ton_state_processor.py,sha256=iKgY04iH0MHCwrJOqdApJseVHyXF2G4EhH-7SpO2KFw,2281
|
326
326
|
defi_services/jobs/queriers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
327
327
|
defi_services/jobs/queriers/call_state_querier.py,sha256=1aTPFwX28dY6SDQ7wHDAdwSGxYHMR7sZzaIJl8bJqZw,4880
|
328
328
|
defi_services/jobs/queriers/solana_state_querier.py,sha256=TQELYo6GUoF8s-LfetqYbclNaH8bakQqC7y2ifACIb8,3239
|
@@ -358,7 +358,7 @@ defi_services/services/dex/dex_info/uniswap_info.py,sha256=ffVWA6c-GRlmzBLzJXuKv
|
|
358
358
|
defi_services/services/eth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
359
359
|
defi_services/services/eth/eth_services.py,sha256=b6nEcgGHVFdRjqT2RZqvjfRuh56yjWgwLj74YNhiHGM,3719
|
360
360
|
defi_services/services/lending/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
361
|
-
defi_services/services/lending/aave_v2_services.py,sha256=
|
361
|
+
defi_services/services/lending/aave_v2_services.py,sha256=I3Z0FH8OLCiMmODzpu63F1x9vHnQMMOU9obhyUdOMKI,22300
|
362
362
|
defi_services/services/lending/aave_v3_services.py,sha256=9jogWv0zyZrSS7XLGFSgvNIvOCpBYXYbl32TBV5cH_U,16709
|
363
363
|
defi_services/services/lending/apeswap_services.py,sha256=UrLhXVzGvim_xfs54hSJ1qeTH6ber4xh01j5PWFl4C8,4737
|
364
364
|
defi_services/services/lending/compound_service.py,sha256=8r7pAs8KaaakDuHg4BUICW4zLD-ihm_DQETYwnAFc98,21917
|
@@ -366,21 +366,21 @@ defi_services/services/lending/compound_v3_services.py,sha256=wsUavP2LAJCxmr8A0M
|
|
366
366
|
defi_services/services/lending/cream_services.py,sha256=vtah0kMHAxztenWbJp4CxEcBMF0XUBglGRk6p9d-oiU,1644
|
367
367
|
defi_services/services/lending/flux_services.py,sha256=C9WJ2MIBK4xTaXIHF3yBVu52xGCNzO4Ed5DWyxWTTeE,12617
|
368
368
|
defi_services/services/lending/geist_services.py,sha256=UI5D-MbMqplrt7D4krSFdpaREKOT81k8boD_XhGGpUQ,1035
|
369
|
-
defi_services/services/lending/granary_services.py,sha256=
|
369
|
+
defi_services/services/lending/granary_services.py,sha256=oRjvwRo32lU7H4i8CLomXy5zACqP7CHLJtdrPO25vHQ,16460
|
370
370
|
defi_services/services/lending/iron_bank_service.py,sha256=GuXoXEbR4gkkNYfAyFkDtVeI3-knq3kFnLBeWVuUvv8,15585
|
371
371
|
defi_services/services/lending/justlend_service.py,sha256=az1OxDAqDKjT7jZ2CiNS4sfKXjhS04kD6FWB4ZT16mQ,8874
|
372
372
|
defi_services/services/lending/liqee_service.py,sha256=dBMlQpREqSzZY2_JCpJDxnWl9A8fWxa56KhsDNd--as,17140
|
373
|
-
defi_services/services/lending/morpho_aave_v2_services.py,sha256=
|
374
|
-
defi_services/services/lending/morpho_aave_v3_services.py,sha256=
|
373
|
+
defi_services/services/lending/morpho_aave_v2_services.py,sha256=C8mfClb_KVbSr08YReVjhPzP4FTurGsitE9a4isEMn8,8471
|
374
|
+
defi_services/services/lending/morpho_aave_v3_services.py,sha256=5p-_1rpFnjaY55gRJWxdQ1qHuKDrQDMY-6PdRDpfJIo,8268
|
375
375
|
defi_services/services/lending/morpho_compound_services.py,sha256=38AXwi-7yxSrRghS3OCRZrOy9cfJnC3k-yNf1Ep27Ds,14912
|
376
376
|
defi_services/services/lending/onyx_service.py,sha256=CqQcenVidyKYIxNlaTliaYmSI8zV7_zxK_wCQE5s-r4,15401
|
377
377
|
defi_services/services/lending/radiant_v2_services.py,sha256=FrdD518nJT_dO-XYNezYzm2yDEWBbpQlRJe5VZ09ORw,3147
|
378
378
|
defi_services/services/lending/silo_services.py,sha256=yLw90u_IXEqE3NbfhVAhG1y8qQqo26xSbYXXlh4lL3g,16726
|
379
379
|
defi_services/services/lending/spark_services.py,sha256=68_egY0yOT7YIOVbd8rbHJBJEsL0sOr0zSsTSdw0BUY,1042
|
380
380
|
defi_services/services/lending/strike_service.py,sha256=ZQ9B6Xngo64njwqABOO3CH-ESFmUmQWbisCgVXYKjak,13797
|
381
|
-
defi_services/services/lending/trava_services.py,sha256=
|
382
|
-
defi_services/services/lending/uwu_services.py,sha256=
|
383
|
-
defi_services/services/lending/valas_services.py,sha256=
|
381
|
+
defi_services/services/lending/trava_services.py,sha256=XakGhWzEcrEbKxPsAzZz-X8JVtMBkU2hem-AGWTHCvk,19101
|
382
|
+
defi_services/services/lending/uwu_services.py,sha256=umv1YKsFBrOybPgX69ybzzEVOkAsmIAT8YL3UWlaxEk,13842
|
383
|
+
defi_services/services/lending/valas_services.py,sha256=KlguY7dg58jK2LbJn79c6Tsu_gYmIlSLfC3U81YfI5E,22445
|
384
384
|
defi_services/services/lending/venus_services.py,sha256=LhSG2H16kZn8AqIS7DAOy0kxP8N2O_ZUAEl9Eho4Ujo,16523
|
385
385
|
defi_services/services/lending/wepiggy_services.py,sha256=x10QkYpn47wgNvmDeMGgmzJxv7WPte6hqR3MCBRgMbM,15684
|
386
386
|
defi_services/services/lending/lending_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -447,14 +447,14 @@ defi_services/services/lending/lending_info/tron/__init__.py,sha256=47DEQpj8HBSa
|
|
447
447
|
defi_services/services/lending/lending_info/tron/justlend_tron.py,sha256=2F4M8zFEE6-gqDKi82M-Xd6kcb2HP8-qmpNzDYorpXE,3741
|
448
448
|
defi_services/services/multicall/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
449
449
|
defi_services/services/multicall/batch_queries_service.py,sha256=HzgKOdkP6kpjR7gySD78aZfX2Bkln3JM3OQ8ehjGWx0,3457
|
450
|
-
defi_services/services/multicall/multicall_v2.py,sha256=
|
450
|
+
defi_services/services/multicall/multicall_v2.py,sha256=fKxq7Zv9gdaXaeS0kN_1ivgh-XJ_pQdVd9HuNl3ZZKo,6797
|
451
451
|
defi_services/services/multicall/state_query_service.py,sha256=1Ob5NX0tXmVUrSB1_mOvFBkOUA8KZJPwH2DMiHwlGhI,23709
|
452
452
|
defi_services/services/vault/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
453
|
-
defi_services/services/vault/tcv_vault_services.py,sha256=
|
453
|
+
defi_services/services/vault/tcv_vault_services.py,sha256=RPqp0jHviH0PY4AC5Eswowza_VL7YSovqADQT3WBzLk,3827
|
454
454
|
defi_services/services/vault/trava_vault_services.py,sha256=9Sj5W6o7o478MKu7ZOUdqkTtPUzT59eS9yBcU8O4UrM,7705
|
455
455
|
defi_services/services/vault/vault_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
456
456
|
defi_services/services/vault/vault_info/arbitrum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
457
|
-
defi_services/services/vault/vault_info/arbitrum/tcv_arb.py,sha256=
|
457
|
+
defi_services/services/vault/vault_info/arbitrum/tcv_arb.py,sha256=aN3L78Q6sCUvb2oa5RUtqCthCA88qsADVkU13sjtN-g,2473
|
458
458
|
defi_services/services/vault/vault_info/bsc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
459
459
|
defi_services/services/vault/vault_info/bsc/trava_bsc.py,sha256=v1Nv5SmjDYLvCke_H5ZtgdjNXo0_9X-P5OQldezP0XM,1586
|
460
460
|
defi_services/services/vault/vault_info/ethereum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -475,8 +475,8 @@ defi_services/utils/memory_storage.py,sha256=BOT8laB0iVSCGE-oDlpWJQLbSC6X2blKX4z
|
|
475
475
|
defi_services/utils/sqrt_price_math.py,sha256=9lgUeWFT4wjl3Vq3b7-jZ2bGvvZx7dDBSfVnM3lsZ8o,5575
|
476
476
|
defi_services/utils/thread_proxy.py,sha256=5Z8biAyEReUkh3vfJSvEv7GwMe3CsE5M8CbghkQtePw,2951
|
477
477
|
defi_services/utils/ton_decode_address.py,sha256=EWKwmC7KtbXpdKgiNK-5j-5lX7fCr17I4EWYs9b43eU,443
|
478
|
-
defi_state_querier-0.5.
|
479
|
-
defi_state_querier-0.5.
|
480
|
-
defi_state_querier-0.5.
|
481
|
-
defi_state_querier-0.5.
|
482
|
-
defi_state_querier-0.5.
|
478
|
+
defi_state_querier-0.5.20.dist-info/LICENSE,sha256=6jmfxa8nUIwfKnzZUxAHJSJ_IS7h7mpbJq26cWjoo-o,1063
|
479
|
+
defi_state_querier-0.5.20.dist-info/METADATA,sha256=Gfty41LlOw2obmoLXWvGfQ2BPE4kLC_HhiWmOccSJEc,4413
|
480
|
+
defi_state_querier-0.5.20.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
481
|
+
defi_state_querier-0.5.20.dist-info/top_level.txt,sha256=C-OTxHK6MknKK-nAbEzCPDUl1M6pktRhgJrmsozdf6g,14
|
482
|
+
defi_state_querier-0.5.20.dist-info/RECORD,,
|
File without changes
|
File without changes
|
/defi_services/abis/lending/{aave_v2_and_forlks → aave_v2_and_forks}/aave_v2_incentives_abi.py
RENAMED
File without changes
|
File without changes
|
File without changes
|