Monitoring Full + Partial Withdrawal Proofs Posted on Chain
Monitoring full and partial withdrawal proofs posted on the Ethereum blockchain is essential for applications that need to validate the authenticity and status of withdrawals in real time.
Monitoring full and partial withdrawal proofs on the Ethereum blockchain is crucial for applications that manage or track the staking and restaking processes. Full withdrawals typically occur when participants decide to remove all their staked assets, while partial withdrawals allow for the retrieval of a portion of the staked assets, reflecting different user behaviors and needs.
By tracking these withdrawal events in real-time, developers can ensure that the withdrawal processes are executed correctly, flag any irregularities, and enhance user confidence in the safety and reliability of the staking platforms.
The following SQL query is designed to fetch detailed transaction data related to full and partial withdrawal proofs from the Ethereum mainnet:
SELECT
l.transaction_hash,
l.block_time,
l.block_number,
l.block_hash,
l.transaction_index,
l.log_index as evt_index,
t.from_address as msg_sender,
t.to_address as msg_receiver,
l.contract_address,
l.event,
l.argument_names,
l.argument_types,
l.argument_values,
l.block_date,
l.data,
l.topics
FROM ethereum_mainnet.logs as l
LEFT JOIN ethereum_mainnet.transactions as t
ON l.transaction_hash=t.hash
WHERE 1=1
AND l.topics[1] IN ('0xb76a93bb649ece524688f1a01d184e0bbebcda58eae80c28a898bec3fb5a0963','0x8a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4e') -- Full + Partial
AND l.block_date >= DATE('2024-04-16')
AND t.block_date >= DATE('2024-04-16')
AND t.status = 1
ORDER BY l.block_time DESC
LIMIT 1000;
For historical analysis in a Data Lake environment, modify the topics filter in the WHERE clause as follows to ensure robust handling of potential null values:
For Data Lake: Change
AND l.topics[1]
toAND try(l.topics[1])
You can explore the results in the table iframe above.
Updated 5 months ago