mirror of
https://github.com/FlipsideCrypto/gnosis-models.git
synced 2026-02-06 11:41:50 +00:00
* vars, readme, tx_success * defi heal logic * lookbacks on lps * var format * heal logic * dex swaps heal * pool name * column names
70 lines
1.7 KiB
SQL
70 lines
1.7 KiB
SQL
{{ config(
|
|
materialized = 'view',
|
|
persist_docs ={ "relation": true,
|
|
"columns": true },
|
|
meta={
|
|
'database_tags':{
|
|
'table': {
|
|
'PROTOCOL': 'CURVE, BALANCER, SUSHI, HONEYSWAP, SWAPR',
|
|
'PURPOSE': 'DEX, SWAPS'
|
|
}
|
|
}
|
|
}
|
|
) }}
|
|
|
|
SELECT
|
|
block_number,
|
|
block_timestamp,
|
|
tx_hash,
|
|
origin_function_signature,
|
|
origin_from_address,
|
|
origin_to_address,
|
|
contract_address,
|
|
pool_name,
|
|
event_name,
|
|
amount_in_unadj,
|
|
amount_in,
|
|
ROUND(
|
|
CASE
|
|
WHEN amount_out_usd IS NULL
|
|
OR ABS((amount_in_usd - amount_out_usd) / NULLIF(amount_out_usd, 0)) > 0.75
|
|
OR ABS((amount_in_usd - amount_out_usd) / NULLIF(amount_in_usd, 0)) > 0.75 THEN NULL
|
|
ELSE amount_in_usd
|
|
END,
|
|
2
|
|
) AS amount_in_usd,
|
|
amount_out_unadj,
|
|
amount_out,
|
|
ROUND(
|
|
CASE
|
|
WHEN amount_in_usd IS NULL
|
|
OR ABS((amount_out_usd - amount_in_usd) / NULLIF(amount_in_usd, 0)) > 0.75
|
|
OR ABS((amount_out_usd - amount_in_usd) / NULLIF(amount_out_usd, 0)) > 0.75 THEN NULL
|
|
ELSE amount_out_usd
|
|
END,
|
|
2
|
|
) AS amount_out_usd,
|
|
sender,
|
|
tx_to,
|
|
event_index,
|
|
platform,
|
|
token_in,
|
|
token_out,
|
|
symbol_in,
|
|
symbol_out,
|
|
_log_id,
|
|
COALESCE (
|
|
complete_dex_swaps_id,
|
|
{{ dbt_utils.generate_surrogate_key(
|
|
['tx_hash','event_index']
|
|
) }}
|
|
) AS ez_dex_swaps_id,
|
|
COALESCE(
|
|
inserted_timestamp,
|
|
'2000-01-01'
|
|
) AS inserted_timestamp,
|
|
COALESCE(
|
|
modified_timestamp,
|
|
'2000-01-01'
|
|
) AS modified_timestamp
|
|
FROM {{ ref('silver_dex__complete_dex_swaps') }} |