making it compatible with dev branch

This commit is contained in:
godmodegalactus 2023-11-24 15:33:24 +01:00
parent 1e4bd091ab
commit 2d77ab38e5
No known key found for this signature in database
GPG Key ID: 22DA4A30887FDA3C
4 changed files with 50 additions and 22 deletions

View File

@ -12,14 +12,15 @@ def find_block_by_slotnumber(slot_number: int):
SELECT * FROM (
SELECT
slot,
block_hash,
block_hash,e
leader_identity,
processed_transactions,
successful_transactions,
banking_stage_errors,
total_cu_used,
total_cu_requested,
heavily_writelocked_accounts
heavily_writelocked_accounts,
heavily_readlocked_accounts,
FROM banking_stage_results.blocks
-- this critera uses index idx_blocks_slot
WHERE slot = %s
@ -35,25 +36,22 @@ def find_block_by_slotnumber(slot_number: int):
# format see BankingStageErrorsTrackingSidecar -> block_info.rs
# parse (k:GubTBrbgk9JwkwX1FkXvsrF1UC2AP7iTgg8SGtgH14QE, cu_req:600000, cu_con:2243126)
parsed_accounts = []
for acc in row["heavily_writelocked_accounts"]:
(k, cu_req, cu_con) = parse_accounts(acc)
parsed = {'k': k, 'cu_req': cu_req, 'cu_con': cu_con}
parsed_accounts.append(parsed)
parsed_accounts.sort(key=lambda acc: int(acc['cu_con']), reverse=True)
parsed_accounts = row["heavily_writelocked_accounts"]
parsed_accounts.sort(key=lambda acc: int(acc['cu_consumed']), reverse=True)
row["heavily_writelocked_accounts_parsed"] = parsed_accounts
parsed_accounts = row["heavily_readlocked_accounts"]
parsed_accounts.sort(key=lambda acc: int(acc['cu_consumed']), reverse=True)
row["heavily_readlocked_accounts_parsed"] = parsed_accounts
return maprows
# parse (k:GubTBrbgk9JwkwX1FkXvsrF1UC2AP7iTgg8SGtgH14QE, cu_req:600000, cu_con:2243126)
def parse_accounts(acc):
groups = re.match(r"\((k:)(?P<k>[a-zA-Z0-9]+)(, cu_req:)(?P<cu_req>[0-9]+)(, cu_con:)(?P<cu_con>[0-9]+)\)", acc)
return (groups.group('k'), groups.group('cu_req'), groups.group('cu_con'))
# def parse_accounts(acc):
# groups = re.match(r"\((k:)(?P<k>[a-zA-Z0-9]+)(, cu_req:)(?P<cu_req>[0-9]+)(, cu_con:)(?P<cu_con>[0-9]+)\)", acc)
# return (groups.group('k'), groups.group('cu_req'), groups.group('cu_con'))
def main():
find_block_by_slotnumber(226352855)

View File

@ -31,9 +31,9 @@
<div class="align-items-center text-truncate" style="width:300px">
<span class="font-monospace">
{% if tx.is_executed %}
<a href="https://explorer.solana.com/tx/{{ tx.signature }}?cluster={{config.cluster}}">{{ tx.signature }}</a>
<a href="https://explorer.solana.com/tx/{{tx.signature}}?cluster={{config.cluster}}">{{tx.signature}}</a>
{% else %}
{{ tx.signature }}
{{tx.signature}}
{% endif %}
</span>
</div>
@ -45,7 +45,22 @@
<tr>
<td>
<span class="font-monospace text-danger">
{{ error }}
{{error}}
</span>
</td>
</tr>
{% endfor %}
</table>
</div>
</td>
<td>
<div class="d-flex align-items-left">
<table>
{% for account_used in tx.account_used_array %}
<tr>
<td>
<span class="font-monospace text-danger">
{{account_used}}
</span>
</td>
</tr>

View File

@ -89,6 +89,21 @@
</tr>
{% endfor %}
</tbody>
<tbody>
{% for read_account in block.heavily_readlocked_accounts_parsed %}
<tr>
<td>
<a href="https://explorer.solana.com/account/{{ write_account.k }}?cluster={{config.cluster}}">
<div class="d-none d-lg-flex align-items-center "><span class="font-size-tiny me-2"><span
class=""></span></span><span
class="font-monospace"><span class="">{{read_account.k}}</span></span>
</div>
</a></td>
<td>{{read_account.cu_req}}</td>
<td>{{read_account.cu_con}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>

View File

@ -1,5 +1,5 @@
import postgres_connection
import json
def run_query():
con = postgres_connection.create_connection()
@ -37,8 +37,8 @@ def run_query():
for index, row in enumerate(maprows):
row['pos'] = index + 1
# note: type changed from 'text' to 'text[]'
row['errors_array'] = row['errors']
row['errors_array'] = json.loads(row['errors'])
row['accounts_used_array'] = json.loads(row['accounts_used'])
return maprows
@ -74,8 +74,8 @@ def find_transaction_by_sig(tx_sig: str):
assert len(maprows) <= 1, "Tx Sig is primary key - find zero or one"
for row in maprows:
# note: type changed from 'text' to 'text[]'
row['errors_array'] = row['errors']
row['errors_array'] = json.loads(row['errors'])
row['accounts_used_array'] = json.loads(row['accounts_used'])
return maprows