Skip to content

Commit

Permalink
Merge pull request #942 from moonstream-to/customer-view-tasks
Browse files Browse the repository at this point in the history
Add customer views tasks and improve state crawler logs
  • Loading branch information
Andrei-Dolgolev authored Oct 25, 2023
2 parents 6e35ab9 + c192f27 commit 06629ee
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 13 deletions.
22 changes: 9 additions & 13 deletions crawlers/mooncrawl/mooncrawl/state_crawler/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,10 @@ def execute_query(query: Dict[str, Any], token: str):
result = []

for item in data:
result.append(tuple([item[key] for key in keys]))
if len(keys) == 1:
result.append(item[keys[0]])
else:
result.append(tuple([item[key] for key in keys]))

return result

Expand Down Expand Up @@ -193,7 +196,7 @@ def crawl_calls_level(
block_number,
blockchain_type,
block_timestamp,
max_batch_size=5000,
max_batch_size=3000,
min_batch_size=4,
):
calls_of_level = []
Expand All @@ -203,8 +206,6 @@ def crawl_calls_level(
continue
parameters = []

logger.info(f"Call: {json.dumps(call, indent=4)}")

for input in call["inputs"]:
if type(input["value"]) in (str, int):
if input["value"] not in responces:
Expand Down Expand Up @@ -260,9 +261,6 @@ def crawl_calls_level(
block_number,
)
make_multicall_result = future.result(timeout=20)
logger.info(
f"Multicall2 returned {len(make_multicall_result)} results at block {block_number}"
)
retry = 0
calls_of_level = calls_of_level[batch_size:]
logger.info(f"lenght of task left {len(calls_of_level)}.")
Expand All @@ -274,7 +272,7 @@ def crawl_calls_level(
time.sleep(4)
if retry > 5:
raise (e)
batch_size = max(batch_size // 3, min_batch_size)
batch_size = max(batch_size // 4, min_batch_size)
except TimeoutError as e: # timeout
logger.error(f"TimeoutError: {e}, retrying")
retry += 1
Expand All @@ -285,7 +283,7 @@ def crawl_calls_level(
logger.error(f"Exception: {e}")
raise (e)
time.sleep(2)
logger.info(f"Retry: {retry}")
logger.debug(f"Retry: {retry}")
# results parsing and writing to database
add_to_session_count = 0
for result in make_multicall_result:
Expand Down Expand Up @@ -471,8 +469,7 @@ def recursive_unpack(method_abi: Any, level: int = 0) -> Any:
# run crawling of levels
try:
# initial call of level 0 all call without subcalls directly moved there
logger.info("Crawl level: 0")
logger.info(f"Jobs amount: {len(calls[0])}")
logger.info("Crawl level: 0. Jobs amount: {len(calls[0])}")
logger.info(f"call_tree_levels: {call_tree_levels}")

batch_size = crawl_calls_level(
Expand All @@ -490,8 +487,7 @@ def recursive_unpack(method_abi: Any, level: int = 0) -> Any:
)

for level in call_tree_levels:
logger.info(f"Crawl level: {level}")
logger.info(f"Jobs amount: {len(calls[level])}")
logger.info(f"Crawl level: {level}. Jobs amount: {len(calls[level])}")

batch_size = crawl_calls_level(
web3_client,
Expand Down
70 changes: 70 additions & 0 deletions crawlers/mooncrawl/mooncrawl/state_crawler/jobs/mumbai-jobs.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,75 @@
}
],
"address": "0x230E4e85d4549343A460F5dE0a7035130F62d74C"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "seasonId",
"type": "uint256",
"value": 1
},
{
"internalType": "address",
"name": "user",
"type": "address",
"value": {
"type": "queryAPI",
"query_url": "twilight_tactics_players",
"blockchain": "mumbai",
"params": {
"season_id": "1"
},
"keys": [
"player"
]
}
}
],
"name": "twtGetSeasonalDominationPointsByAccount",
"address": "0xb93D53A10793C7EA7DaE973625C9BB3b18Eec2A7",
"outputs": [
{
"internalType": "uint256[5]",
"name": "shadowcornDominationPoints",
"type": "uint256[5]"
},
{
"internalType": "uint256[5]",
"name": "unicornDominationPoints",
"type": "uint256[5]"
}
],
"stateMutability": "view",
"type": "function",
"selector": "0x1c109952"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "seasonId",
"type": "uint256",
"value": 1
}
],
"name": "twtGetSeasonalDominationPointsForAllRegions",
"address": "0xb93D53A10793C7EA7DaE973625C9BB3b18Eec2A7",
"outputs": [
{
"internalType": "uint256[5]",
"name": "shadowcornDominationPoints",
"type": "uint256[5]"
},
{
"internalType": "uint256[5]",
"name": "unicornDominationPoints",
"type": "uint256[5]"
}
],
"stateMutability": "view",
"type": "function",
"selector": "0xa491c0f6"
}
]

0 comments on commit 06629ee

Please sign in to comment.