Skip to content

Commit

Permalink
Fix notebook
Browse files Browse the repository at this point in the history
  • Loading branch information
ClementWalter committed Oct 25, 2023
1 parent ca20b41 commit 1790d5a
Showing 1 changed file with 36 additions and 10 deletions.
46 changes: 36 additions & 10 deletions packages/starksheet-cairo/notebooks/sheets.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
import json
import logging
import math
import shlex
import subprocess
import time
from pathlib import Path

import matplotlib.pyplot as plt
import pandas as pd
import requests

logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
Expand All @@ -35,7 +36,7 @@ def get_contracts_calls(contract_addresses):
json.load(open("timestamps.json")) if Path("timestamps.json").is_file() else {}
)
data = {
"query": """query AccountCallsTablePaginationFragment(
"query": """query AccountCallsTableQuery(
$after: String,
$first: Int!,
$input: CallsInput!
Expand Down Expand Up @@ -91,9 +92,16 @@ def get_contract_calls(contract_address):
data["variables"]["after"] = None
data["variables"]["input"]["contract_address"] = contract_address
data["variables"]["input"]["min_timestamp"] = timestamps.get(contract_address)
response = requests.post(url, headers=headers, json=data)
_calls = response.json()["data"]["calls"]["edges"]
page_info = response.json()["data"]["calls"]["pageInfo"]
data_raw = json.dumps(data).replace("\\n", "")
res = subprocess.run(
shlex.split(
f"""curl 'https://api.starkscancdn.com/graphql' -H 'authority: api.starkscancdn.com' -H 'accept: application/json' -H 'accept-language: en-US,en;q=0.9' -H 'content-type: application/json' -H 'dnt: 1' -H 'origin: https://starkscan.co' -H 'referer: https://starkscan.co/' -H 'sec-ch-ua: "Not=A?Brand";v="99", "Chromium";v="118"' -H 'sec-ch-ua-mobile: ?0' -H 'sec-ch-ua-platform: "macOS"' -H 'sec-fetch-dest: empty' -H 'sec-fetch-mode: cors' -H 'sec-fetch-site: cross-site' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' --data-raw '{data_raw}' --compressed"""
),
capture_output=True,
)
response = json.loads(res.stdout.decode())
_calls = response["data"]["calls"]["edges"]
page_info = response["data"]["calls"]["pageInfo"]
if not _calls:
timestamps[contract_address] = math.floor(
pd.Timestamp.now(tz="UTC").timestamp()
Expand All @@ -106,9 +114,18 @@ def get_contract_calls(contract_address):
page += 1
logger.info(f"⏳ contract {contract_address}: fetching page {page}")
data["variables"]["after"] = page_info["endCursor"]
response = requests.post(url, headers=headers, json=data)
_calls += response.json()["data"]["calls"]["edges"]
page_info = response.json()["data"]["calls"]["pageInfo"]

data_raw = json.dumps(data).replace("\\n", "")
res = subprocess.run(
shlex.split(
f"""curl 'https://api.starkscancdn.com/graphql' -H 'authority: api.starkscancdn.com' -H 'accept: application/json' -H 'accept-language: en-US,en;q=0.9' -H 'content-type: application/json' -H 'dnt: 1' -H 'origin: https://starkscan.co' -H 'referer: https://starkscan.co/' -H 'sec-ch-ua: "Not=A?Brand";v="99", "Chromium";v="118"' -H 'sec-ch-ua-mobile: ?0' -H 'sec-ch-ua-platform: "macOS"' -H 'sec-fetch-dest: empty' -H 'sec-fetch-mode: cors' -H 'sec-fetch-site: cross-site' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' --data-raw '{data_raw}' --compressed"""
),
capture_output=True,
)
response = json.loads(res.stdout.decode())

_calls += response["data"]["calls"]["edges"]
page_info = response["data"]["calls"]["pageInfo"]
timestamps[contract_address] = _calls[-1]["node"]["timestamp"]

timestamps[contract_address] = math.floor(
Expand Down Expand Up @@ -198,8 +215,17 @@ def get_clash_hash(contract_address):
}""",
"variables": {"input": {"contract_address": contract_address}},
}
response = requests.post(url, headers=headers, json=data)
class_hash = response.json()["data"]["contract"]["class_hash"]

data_raw = json.dumps(data).replace("\\n", "")
res = subprocess.run(
shlex.split(
f"""curl 'https://api.starkscancdn.com/graphql' -H 'authority: api.starkscancdn.com' -H 'accept: application/json' -H 'accept-language: en-US,en;q=0.9' -H 'content-type: application/json' -H 'dnt: 1' -H 'origin: https://starkscan.co' -H 'referer: https://starkscan.co/' -H 'sec-ch-ua: "Not=A?Brand";v="99", "Chromium";v="118"' -H 'sec-ch-ua-mobile: ?0' -H 'sec-ch-ua-platform: "macOS"' -H 'sec-fetch-dest: empty' -H 'sec-fetch-mode: cors' -H 'sec-fetch-site: cross-site' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' --data-raw '{data_raw}' --compressed"""
),
capture_output=True,
)
response = json.loads(res.stdout.decode())

class_hash = response["data"]["contract"]["class_hash"]
known_classes[contract_address] = class_hash
return class_hash

Expand Down

0 comments on commit 1790d5a

Please sign in to comment.