Skip to content

Commit

Permalink
Clear output, as we do not have a good example output
Browse files Browse the repository at this point in the history
  • Loading branch information
miohtama committed Aug 8, 2023
1 parent 4049455 commit f1a5a29
Showing 1 changed file with 6 additions and 68 deletions.
74 changes: 6 additions & 68 deletions docs/source/tutorials/aave-v3-interest-analysis.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -52,23 +52,9 @@
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2023-08-08T08:36:19.626447Z",
"start_time": "2023-08-08T08:35:59.678463Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Starting notebook\n",
"Detected network Polygon chain 137 start block 25826028 max block 32000000\n"
]
}
],
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n",
"from web3 import Web3, HTTPProvider\n",
Expand All @@ -81,11 +67,6 @@
"json_rpc_url = aave_v3_get_json_rpc_url() or input(\"Please enter your JSON-RPC URL here\")\n",
"web3 = Web3(HTTPProvider(json_rpc_url))\n",
"\n",
"# Include JSON-RPC speed optimisations,\n",
"# so we can read data at the max speed\n",
"web3.middleware_onion.clear()\n",
"patch_web3(web3)\n",
"\n",
"aave_network = aave_v3_get_network_by_chain_id(web3.eth.chain_id)\n",
"token = 'WMATIC' # use WMATIC token in the following examples\n",
"stable_token = 'DAI' # use DAI token in the following examples for stable token operations\n",
Expand All @@ -111,52 +92,9 @@
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2023-08-08T08:38:16.899047Z",
"start_time": "2023-08-08T08:36:19.627454Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Restored previous scan state, data until block 25,873,328, we are skipping 47,300 blocks out of 6,173,972 total\n",
"Scanning block range 25,873,328 - 32,000,000\n"
]
},
{
"data": {
"text/plain": " 0%| | 0/6126672 [00:00<?, ?it/s]",
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "422ff146b2e649d296ba9ed9d9a95440"
}
},
"metadata": {},
"output_type": "display_data"
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
"\u001B[0;31mKeyboardInterrupt\u001B[0m Traceback (most recent call last)",
"Cell \u001B[0;32mIn[3], line 11\u001B[0m\n\u001B[1;32m 8\u001B[0m \u001B[38;5;66;03m# Stores the last block number of event data we store\u001B[39;00m\n\u001B[1;32m 9\u001B[0m state \u001B[38;5;241m=\u001B[39m JSONFileScanState(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m/tmp/aave-v3-\u001B[39m\u001B[38;5;132;01m{\u001B[39;00maave_network\u001B[38;5;241m.\u001B[39mname\u001B[38;5;241m.\u001B[39mlower()\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m-rate-scan.json\u001B[39m\u001B[38;5;124m'\u001B[39m)\n\u001B[0;32m---> 11\u001B[0m \u001B[43maave_v3_fetch_events_to_csv\u001B[49m\u001B[43m(\u001B[49m\u001B[43mjson_rpc_url\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mstate\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43maave_network\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mname\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mstart_block\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mstart_block\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mend_block\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mend_block\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mmax_workers\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mmax_workers\u001B[49m\u001B[43m)\u001B[49m\n",
"File \u001B[0;32m~/code/executor/trade-executor/deps/web3-ethereum-defi/eth_defi/aave_v3/events.py:282\u001B[0m, in \u001B[0;36maave_v3_fetch_events_to_csv\u001B[0;34m(json_rpc_url, state, aave_network_name, start_block, end_block, output_folder, max_workers, log_info)\u001B[0m\n\u001B[1;32m 279\u001B[0m state\u001B[38;5;241m.\u001B[39msave_state(current_block)\n\u001B[1;32m 281\u001B[0m \u001B[38;5;66;03m# Read specified events in block range\u001B[39;00m\n\u001B[0;32m--> 282\u001B[0m \u001B[38;5;28;01mfor\u001B[39;00m log_result \u001B[38;5;129;01min\u001B[39;00m read_events_concurrent(\n\u001B[1;32m 283\u001B[0m executor,\n\u001B[1;32m 284\u001B[0m restored_start_block,\n\u001B[1;32m 285\u001B[0m end_block,\n\u001B[1;32m 286\u001B[0m events\u001B[38;5;241m=\u001B[39mcontract_events,\n\u001B[1;32m 287\u001B[0m notify\u001B[38;5;241m=\u001B[39mupdate_progress,\n\u001B[1;32m 288\u001B[0m chunk_size\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m100\u001B[39m,\n\u001B[1;32m 289\u001B[0m context\u001B[38;5;241m=\u001B[39mtoken_cache,\n\u001B[1;32m 290\u001B[0m ):\n\u001B[1;32m 291\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m 292\u001B[0m \u001B[38;5;66;03m# write to correct buffer\u001B[39;00m\n\u001B[1;32m 293\u001B[0m event_name \u001B[38;5;241m=\u001B[39m log_result[\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mevent\u001B[39m\u001B[38;5;124m\"\u001B[39m]\u001B[38;5;241m.\u001B[39mevent_name\n",
"File \u001B[0;32m~/code/executor/trade-executor/deps/web3-ethereum-defi/eth_defi/event_reader/reader.py:686\u001B[0m, in \u001B[0;36mread_events_concurrent\u001B[0;34m(executor, start_block, end_block, events, notify, chunk_size, context, extract_timestamps, filter, reorg_mon)\u001B[0m\n\u001B[1;32m 681\u001B[0m processed_chunks: Set[\u001B[38;5;28mint\u001B[39m] \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mset\u001B[39m()\n\u001B[1;32m 683\u001B[0m \u001B[38;5;66;03m# Complete the tasks.\u001B[39;00m\n\u001B[1;32m 684\u001B[0m \u001B[38;5;66;03m# Always guarantee the block order for the caller,\u001B[39;00m\n\u001B[1;32m 685\u001B[0m \u001B[38;5;66;03m# so that events are iterated in the correct order\u001B[39;00m\n\u001B[0;32m--> 686\u001B[0m \u001B[38;5;28;01mfor\u001B[39;00m task \u001B[38;5;129;01min\u001B[39;00m tm\u001B[38;5;241m.\u001B[39mas_completed():\n\u001B[1;32m 687\u001B[0m block_num \u001B[38;5;241m=\u001B[39m task\u001B[38;5;241m.\u001B[39margs[\u001B[38;5;241m0\u001B[39m] \u001B[38;5;66;03m# Peekaboo\u001B[39;00m\n\u001B[1;32m 688\u001B[0m completed_tasks[block_num] \u001B[38;5;241m=\u001B[39m task\n",
"File \u001B[0;32m~/Library/Caches/pypoetry/virtualenvs/ts-strategy-NgEO31rc-py3.10/lib/python3.10/site-packages/futureproof/task_manager.py:129\u001B[0m, in \u001B[0;36mTaskManager.as_completed\u001B[0;34m(self)\u001B[0m\n\u001B[1;32m 127\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_tasks_in_queue \u001B[38;5;241m==\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_executor\u001B[38;5;241m.\u001B[39mmax_workers:\n\u001B[1;32m 128\u001B[0m logger\u001B[38;5;241m.\u001B[39mdebug(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mQueue full, waiting for result\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n\u001B[0;32m--> 129\u001B[0m \u001B[38;5;28;01myield\u001B[39;00m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_wait_for_result\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 131\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_submit_task(task)\n\u001B[1;32m 133\u001B[0m \u001B[38;5;28;01mwhile\u001B[39;00m \u001B[38;5;28mlen\u001B[39m(\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mcompleted_tasks) \u001B[38;5;241m<\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_submitted_task_count:\n",
"File \u001B[0;32m~/Library/Caches/pypoetry/virtualenvs/ts-strategy-NgEO31rc-py3.10/lib/python3.10/site-packages/futureproof/task_manager.py:177\u001B[0m, in \u001B[0;36mTaskManager._wait_for_result\u001B[0;34m(self)\u001B[0m\n\u001B[1;32m 175\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21m_wait_for_result\u001B[39m(\u001B[38;5;28mself\u001B[39m) \u001B[38;5;241m-\u001B[39m\u001B[38;5;241m>\u001B[39m Task:\n\u001B[1;32m 176\u001B[0m \u001B[38;5;250m \u001B[39m\u001B[38;5;124;03m\"\"\"Gather result from a submitted tasks.\"\"\"\u001B[39;00m\n\u001B[0;32m--> 177\u001B[0m completed_task \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_results_queue\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mget\u001B[49m\u001B[43m(\u001B[49m\u001B[43mblock\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;28;43;01mTrue\u001B[39;49;00m\u001B[43m)\u001B[49m\n\u001B[1;32m 178\u001B[0m logger\u001B[38;5;241m.\u001B[39mdebug(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mGathering result for completed task \u001B[39m\u001B[38;5;132;01m%r\u001B[39;00m\u001B[38;5;124m\"\u001B[39m, completed_task)\n\u001B[1;32m 179\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_tasks_in_queue \u001B[38;5;241m-\u001B[39m\u001B[38;5;241m=\u001B[39m \u001B[38;5;241m1\u001B[39m\n",
"File \u001B[0;32m/opt/homebrew/Cellar/[email protected]/3.10.12_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/queue.py:171\u001B[0m, in \u001B[0;36mQueue.get\u001B[0;34m(self, block, timeout)\u001B[0m\n\u001B[1;32m 169\u001B[0m \u001B[38;5;28;01melif\u001B[39;00m timeout \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[1;32m 170\u001B[0m \u001B[38;5;28;01mwhile\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_qsize():\n\u001B[0;32m--> 171\u001B[0m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mnot_empty\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mwait\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 172\u001B[0m \u001B[38;5;28;01melif\u001B[39;00m timeout \u001B[38;5;241m<\u001B[39m \u001B[38;5;241m0\u001B[39m:\n\u001B[1;32m 173\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mtimeout\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m must be a non-negative number\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n",
"File \u001B[0;32m/opt/homebrew/Cellar/[email protected]/3.10.12_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/threading.py:320\u001B[0m, in \u001B[0;36mCondition.wait\u001B[0;34m(self, timeout)\u001B[0m\n\u001B[1;32m 318\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m: \u001B[38;5;66;03m# restore state no matter what (e.g., KeyboardInterrupt)\u001B[39;00m\n\u001B[1;32m 319\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m timeout \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[0;32m--> 320\u001B[0m \u001B[43mwaiter\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43macquire\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[1;32m 321\u001B[0m gotit \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mTrue\u001B[39;00m\n\u001B[1;32m 322\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n",
"\u001B[0;31mKeyboardInterrupt\u001B[0m: "
]
}
],
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from eth_defi.aave_v3.events import aave_v3_fetch_events_to_csv\n",
"from eth_defi.event_reader.json_state import JSONFileScanState\n",
Expand Down

0 comments on commit f1a5a29

Please sign in to comment.