diff --git a/queries/dune_v2/period_slippage.sql b/queries/dune_v2/period_slippage.sql index 48cb2fe3..0a0b3c91 100644 --- a/queries/dune_v2/period_slippage.sql +++ b/queries/dune_v2/period_slippage.sql @@ -1,4 +1,4 @@ --- https://github.com/cowprotocol/solver-rewards/pull/322 +-- https://github.com/cowprotocol/solver-rewards/pull/327 -- Query Here: https://dune.com/queries/3093726 with batch_meta as ( @@ -125,6 +125,35 @@ batch_meta as ( -- ETH transfers to traders are already part of USER_OUT and not contains(traders_out, to) ) +-- sDAI emits only one transfer event for deposits and withdrawals. +-- This reconstructs the missing transfer from event logs. +,sdai_deposit_withdrawal_transfers as ( + -- withdraw events result in additional AMM_IN transfer + select + tx_hash, + 0x9008d19f58aabd9ed0d60971565aa8510560ab41 as sender, + 0x0000000000000000000000000000000000000000 as receiver, + contract_address as token, + cast(shares as int256) as amount_wei, + 'AMM_IN' as transfer_type + from batch_meta bm + join maker_ethereum.SavingsDai_evt_Withdraw w + on w.evt_tx_hash= bm.tx_hash + where sender = 0x9008d19f58aabd9ed0d60971565aa8510560ab41 + union all + -- deposit events result in additional AMM_OUT transfer + select + tx_hash, + 0x0000000000000000000000000000000000000000 as sender, + 0x9008d19f58aabd9ed0d60971565aa8510560ab41 as receiver, + contract_address as token, + cast(shares as int256) as amount_wei, + 'AMM_OUT' as transfer_type + from batch_meta bm + join maker_ethereum.SavingsDai_evt_Deposit w + on w.evt_tx_hash= bm.tx_hash + where owner = 0x9008d19f58aabd9ed0d60971565aa8510560ab41 +) ,pre_batch_transfers as ( select * from ( select * from user_in @@ -134,6 +163,8 @@ batch_meta as ( select * from other_transfers union all select * from eth_transfers + union all + select * from sdai_deposit_withdrawal_transfers ) as _ order by tx_hash )