Skip to content

Commit

Permalink
feat: analysis storage slot
Browse files Browse the repository at this point in the history
  • Loading branch information
Akagi201 committed Sep 24, 2024
1 parent f71ff4d commit d0092bd
Showing 1 changed file with 18 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,23 @@ def trace_read_set(tx_hash, rpc_url):
payload = {
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": [tx_hash, {"tracer": "prestateTracer"}],
"params": [tx_hash, {"tracer": "prestateTracer", "diffMode": False}],
"id": 1,
}

response = requests.post(rpc_url, json=payload)
data = response.json()

accounts = set(data["result"].keys()) - accounts2ignore
storage_set = set()
for acc in accounts:
if "storage" not in data["result"][acc]:
storage_set.add(acc)
continue
storage_keys = data["result"][acc]["storage"].keys()
storage_set.update([acc + key for key in storage_keys])

return accounts
return storage_set


def trace_write_set(tx_hash, rpc_url):
Expand All @@ -76,10 +83,17 @@ def trace_write_set(tx_hash, rpc_url):

response = requests.post(rpc_url, json=payload)
data = response.json()

accounts = set(data["result"].keys()) - accounts2ignore

return accounts
storage_set = set()
for acc in accounts:
if "storage" not in data["result"][acc]:
storage_set.add(acc)
continue
storage_keys = data["result"][acc]["storage"].keys()
storage_set.update([acc + key for key in storage_keys])

return storage_set


def main():
Expand Down

0 comments on commit d0092bd

Please sign in to comment.