select
count(distinct tx_hash) as txn_count,
count(distinct block_id) as blocks_count,
(count(distinct (iff(tx_status = 'Success', tx_hash, null))) / txn_count) * 100 as success_rate,
100 - success_rate as fail_rate,
txn_count / (86400 * 365) as tps
from near.core.fact_transactions
where year(block_timestamp) = 2022