From 884abc5dbd2eb4b8fc4ae9adcf63ecb9bcbf53c3 Mon Sep 17 00:00:00 2001 From: Eric Laurello Date: Tue, 2 Jul 2024 13:43:07 -0400 Subject: [PATCH] deprecations and prices --- models/bronze/bronze__loan_open_events.sql | 3 +- .../bronze/bronze__loan_repayment_events.sql | 3 +- ...bronze__streamling_swap_details_events.sql | 2 +- .../gold/defi/defi__fact_loan_open_events.sql | 7 +- .../gold/defi/defi__fact_loan_open_events.yml | 4 +- .../defi/defi__fact_loan_repayment_events.sql | 6 +- .../defi/defi__fact_loan_repayment_events.yml | 4 +- ...i__fact_streamling_swap_details_events.sql | 2 +- ...i__fact_streamling_swap_details_events.yml | 4 +- models/silver/silver__loan_open_events.sql | 3 +- .../silver/silver__loan_repayment_events.sql | 3 +- models/silver/silver__prices.sql | 109 +++--------------- models/silver/silver__rune_price.sql | 19 +++ ...silver__streamling_swap_details_events.sql | 2 +- 14 files changed, 59 insertions(+), 112 deletions(-) create mode 100644 models/silver/silver__rune_price.sql diff --git a/models/bronze/bronze__loan_open_events.sql b/models/bronze/bronze__loan_open_events.sql index 1048d78..d0575f2 100644 --- a/models/bronze/bronze__loan_open_events.sql +++ b/models/bronze/bronze__loan_open_events.sql @@ -4,8 +4,9 @@ SELECT owner, - collateral_up, + {# collateral_up, debt_up, + #} collateralization_ratio, collateral_asset, target_asset, diff --git a/models/bronze/bronze__loan_repayment_events.sql b/models/bronze/bronze__loan_repayment_events.sql index d288822..a6c48d2 100644 --- a/models/bronze/bronze__loan_repayment_events.sql +++ b/models/bronze/bronze__loan_repayment_events.sql @@ -4,8 +4,9 @@ SELECT owner, - collateral_down, + {# collateral_down, debt_down, + #} collateral_asset, event_id, block_timestamp, diff --git a/models/bronze/bronze__streamling_swap_details_events.sql b/models/bronze/bronze__streamling_swap_details_events.sql index fb95cc5..ddca098 100644 --- a/models/bronze/bronze__streamling_swap_details_events.sql +++ b/models/bronze/bronze__streamling_swap_details_events.sql @@ -15,7 +15,7 @@ SELECT out_asset, out_e8, failed_swaps, - failed_swaps_reasons, + {# failed_swaps_reasons, #} event_id, block_timestamp, failed_swap_reasons, diff --git a/models/gold/defi/defi__fact_loan_open_events.sql b/models/gold/defi/defi__fact_loan_open_events.sql index a178688..da55ea0 100644 --- a/models/gold/defi/defi__fact_loan_open_events.sql +++ b/models/gold/defi/defi__fact_loan_open_events.sql @@ -10,8 +10,9 @@ WITH base AS ( SELECT owner, - collateral_up, + {# collateral_up, debt_up, + #} collateralization_ratio, collateral_asset, target_asset, @@ -46,8 +47,8 @@ SELECT '-1' ) AS dim_block_id, owner, - collateral_up, - debt_up, + NULL AS collateral_up, + NULL AS debt_up, collateralization_ratio, collateral_asset, target_asset, diff --git a/models/gold/defi/defi__fact_loan_open_events.yml b/models/gold/defi/defi__fact_loan_open_events.yml index de4f997..c2621c0 100644 --- a/models/gold/defi/defi__fact_loan_open_events.yml +++ b/models/gold/defi/defi__fact_loan_open_events.yml @@ -23,9 +23,9 @@ models: tests: - not_null - name: collateral_up - description: "The collateral amount" + description: "DEPRECATING SOON! The collateral amount" - name: debt_up - description: "The debt amount" + description: "DEPRECATING SOON! The debt amount" - name: collateralization_ratio description: "The collateralization ratio" tests: diff --git a/models/gold/defi/defi__fact_loan_repayment_events.sql b/models/gold/defi/defi__fact_loan_repayment_events.sql index 76acafb..d0e180d 100644 --- a/models/gold/defi/defi__fact_loan_repayment_events.sql +++ b/models/gold/defi/defi__fact_loan_repayment_events.sql @@ -10,8 +10,9 @@ WITH base AS ( SELECT owner, - collateral_down, + {# collateral_down, debt_down, + #} collateral_asset, event_id, block_timestamp, @@ -44,8 +45,9 @@ SELECT '-1' ) AS dim_block_id, owner, - collateral_down, + {# collateral_down, debt_down, + #} collateral_asset, collateral_withdrawn, debt_repaid, diff --git a/models/gold/defi/defi__fact_loan_repayment_events.yml b/models/gold/defi/defi__fact_loan_repayment_events.yml index 80f9383..0b85bbf 100644 --- a/models/gold/defi/defi__fact_loan_repayment_events.yml +++ b/models/gold/defi/defi__fact_loan_repayment_events.yml @@ -23,9 +23,9 @@ models: tests: - not_null - name: collateral_down - description: "The collateral amount" + description: "DEPRECATING SOON! The collateral amount" - name: debt_down - description: "The debt amount" + description: "DEPRECATING SOON! The debt amount" - name: collateral_asset description: "The collateral asset" tests: diff --git a/models/gold/defi/defi__fact_streamling_swap_details_events.sql b/models/gold/defi/defi__fact_streamling_swap_details_events.sql index 6c2a92c..ab8ba4c 100644 --- a/models/gold/defi/defi__fact_streamling_swap_details_events.sql +++ b/models/gold/defi/defi__fact_streamling_swap_details_events.sql @@ -21,7 +21,7 @@ WITH base AS ( out_asset, out_e8, failed_swaps, - failed_swaps_reasons, + failed_swap_reasons AS failed_swaps_reasons, event_id, block_timestamp, failed_swap_reasons, diff --git a/models/gold/defi/defi__fact_streamling_swap_details_events.yml b/models/gold/defi/defi__fact_streamling_swap_details_events.yml index 7065a19..5c5ded1 100644 --- a/models/gold/defi/defi__fact_streamling_swap_details_events.yml +++ b/models/gold/defi/defi__fact_streamling_swap_details_events.yml @@ -43,9 +43,11 @@ models: - name: failed_swaps description: "the count of failed swaps" - name: failed_swaps_reasons - description: "the reason of failed swaps" + description: "DEPRECATING SOON! the reason of failed swaps" - name: event_id description: "" + - name: failed_swap_reasons + description: "the reason of failed swaps" - name: INSERTED_TIMESTAMP description: '{{ doc("inserted_timestamp") }}' - name: MODIFIED_TIMESTAMP diff --git a/models/silver/silver__loan_open_events.sql b/models/silver/silver__loan_open_events.sql index 584d9be..a0a108f 100644 --- a/models/silver/silver__loan_open_events.sql +++ b/models/silver/silver__loan_open_events.sql @@ -4,8 +4,9 @@ SELECT owner, - collateral_up, + {# collateral_up, debt_up, + #} collateralization_ratio, collateral_asset, target_asset, diff --git a/models/silver/silver__loan_repayment_events.sql b/models/silver/silver__loan_repayment_events.sql index 3e6f437..bde60cd 100644 --- a/models/silver/silver__loan_repayment_events.sql +++ b/models/silver/silver__loan_repayment_events.sql @@ -4,8 +4,9 @@ SELECT owner, - collateral_down, + {# collateral_down, debt_down, + #} collateral_asset, event_id, block_timestamp, diff --git a/models/silver/silver__prices.sql b/models/silver/silver__prices.sql index d45798f..d5912e6 100644 --- a/models/silver/silver__prices.sql +++ b/models/silver/silver__prices.sql @@ -25,102 +25,21 @@ WHERE b.block_timestamp :: DATE >= CURRENT_DATE -7 {% endif %} ), -max_pool_blocks AS ( +price AS ( SELECT - MAX(block_id) AS max_block, - pool_name + height AS block_id, + b.block_timestamp, + rune_price_e8 AS rune_usd FROM - blocks - WHERE - pool_name IN ( - 'BNB.USDT-6D8', - 'BNB.BUSD-BD1', - 'ETH.USDT-0XDAC17F958D2EE523A2206206994597C13D831EC7' - ) - GROUP BY - pool_name -), -reference_pool AS ( - SELECT - bpd.block_id, - block_timestamp, - bpd.pool_name, - rune_e8 - FROM - blocks bpd - JOIN max_pool_blocks mpb - ON bpd.pool_name = mpb.pool_name - AND bpd.block_id = mpb.max_block - ORDER BY - rune_e8 DESC - LIMIT - 1 -), -- step 2 use that pool to determine the price of rune -rune_usd_max_tbl AS ( - SELECT - block_timestamp, - block_id, - asset_e8 / nullif(rune_e8,0) AS rune_usd_max - FROM - blocks - WHERE - pool_name = ( - SELECT - pool_name - FROM - reference_pool - ) -), -rune_usd_sup_tbl AS ( - SELECT - block_timestamp, - block_id, - AVG(rune_usd) AS rune_usd_sup - FROM - ( - SELECT - block_timestamp, - block_id, - asset_e8 / rune_e8 AS rune_usd - FROM - blocks - WHERE - rune_e8 > 0 - AND asset_e8 > 0 - ) - GROUP BY - block_timestamp, - block_id -), -rune_usd AS ( - SELECT - block_timestamp, - block_id, - CASE - WHEN rune_usd_max IS NULL THEN LAG(rune_usd_max) ignore nulls over ( - ORDER BY - block_id - ) - ELSE rune_usd_max - END AS rune_usd - FROM - ( - SELECT - COALESCE( - A.block_timestamp, - b.block_timestamp - ) AS block_timestamp, - COALESCE( - A.block_id, - b.block_id - ) AS block_id, - rune_usd_max - FROM - rune_usd_max_tbl A full - JOIN rune_usd_sup_tbl b - ON A.block_timestamp = b.block_timestamp - AND A.block_id = b.block_id - ) + {{ ref('silver__rune_price') }} A + JOIN {{ ref('silver__block_log') }} + b + ON A.block_timestamp = b.timestamp + +{% if is_incremental() %} +WHERE + b.block_timestamp :: DATE >= CURRENT_DATE -7 +{% endif %} ) -- step 3 calculate the prices of assets by pool, in terms of tokens per tokens -- and in USD for both tokens SELECT @@ -147,7 +66,7 @@ SELECT ) AS _unique_key FROM blocks b - JOIN rune_usd ru + JOIN price ru ON b.block_id = ru.block_id WHERE rune_e8 > 0 diff --git a/models/silver/silver__rune_price.sql b/models/silver/silver__rune_price.sql new file mode 100644 index 0000000..4d21939 --- /dev/null +++ b/models/silver/silver__rune_price.sql @@ -0,0 +1,19 @@ +{{ config( + materialized = 'view' +) }} + +SELECT + rune_price_e8, + block_timestamp, + DATEADD( + ms, + __HEVO__LOADED_AT, + '1970-01-01' + ) AS _INSERTED_TIMESTAMP +FROM + {{ ref( + 'bronze__rune_price' + ) }} + e qualify(ROW_NUMBER() over(PARTITION BY block_timestamp +ORDER BY + __HEVO__LOADED_AT DESC)) = 1 diff --git a/models/silver/silver__streamling_swap_details_events.sql b/models/silver/silver__streamling_swap_details_events.sql index 6ce55fb..8137a0f 100644 --- a/models/silver/silver__streamling_swap_details_events.sql +++ b/models/silver/silver__streamling_swap_details_events.sql @@ -15,7 +15,7 @@ SELECT out_asset, out_e8, failed_swaps, - failed_swaps_reasons, + {# failed_swaps_reasons, #} event_id, block_timestamp, failed_swap_reasons,