WITH tx_with_method AS (
SELECT
ft.block_id
, COALESCE(ft.block_timestamp, b.block_timestamp) AS block_timestamp
, ft.tx_hash
, SPLIT_PART(ft.action_id, '-', 2) AS action_no
, ft.action_name
, ft.method_name
, ft.args
, ft.deposit / POW(10,24) AS deposit_near
, t.tx_signer as user_name
, t.tx_receiver
, PARSE_JSON(args) as message
FROM
near.core.fact_actions_events_function_call ft
LEFT JOIN
near.core.fact_blocks b
ON
ft.block_id = b.block_id
LEFT JOIN
near.core.fact_transactions t
ON
ft.tx_hash = t.tx_hash
WHERE
t.tx_receiver = 'social.near' -- RECEIVER ADDRESS FOR NEAR SOCIAL NETWORK
AND t.tx_status = 'Success' -- NOT COUNT FAILED TRANSACTIONS
)
, flatten_message AS (
SELECT
t.block_timestamp
, t.tx_hash
, t.user_name
, t.args
--, f2.key -- DOUBLE CHECK THAT USER IS CORRECT
--, f2.value:graph -- CONTROL VARIABLE TO MAKE SURE GRAPH INTERACTIONS ARE ACCOUNTED FOR