Files
khadhroony-bot3/kb-store/migrations/0001_canonical_transaction_store.sql
2026-07-28 18:41:30 +02:00

30 lines
1.1 KiB
SQL

WITH failed_transfer AS (
SELECT
core.signature,
core.slot,
core.instruction_path,
core.accounts_json
FROM kb_sol_ops_processing_ledger AS ledger
JOIN kb_sol_core_instructions AS core
ON ledger.input_key = core.signature || ':' || core.instruction_path
WHERE ledger.stage = 'instruction_decode'
AND ledger.status = 'failed'
AND ledger.processor_name = 'metadata_metaplex_token_metadata'
AND ledger.error_message LIKE 'transfer%'
)
SELECT
failed.signature,
failed.slot,
failed.instruction_path,
account.ordinality - 1 AS position,
account.value ->> 'accountKey' AS account_key,
(account.value ->> 'accountIndex')::INTEGER AS account_index,
keys.signer,
keys.writable
FROM failed_transfer AS failed
CROSS JOIN LATERAL jsonb_array_elements(failed.accounts_json)
WITH ORDINALITY AS account(value, ordinality)
LEFT JOIN kb_sol_core_account_keys AS keys
ON keys.signature = failed.signature
AND keys.account_index = (account.value ->> 'accountIndex')::INTEGER
ORDER BY account.ordinality;