remove granary

This commit is contained in:
mattromano 2025-08-20 14:36:17 -07:00
parent 857e3c6f69
commit 8599655d63
2 changed files with 0 additions and 259 deletions

View File

@ -1,115 +0,0 @@
{{ config(
materialized = 'incremental',
incremental_strategy = 'delete+insert',
unique_key = "block_number",
cluster_by = ['block_timestamp::DATE'],
tags = ['silver','defi','lending','curated']
) }}
WITH atoken_meta AS (
SELECT
atoken_address,
granary_version_pool,
atoken_symbol,
atoken_name,
atoken_decimals,
underlying_address,
underlying_symbol,
underlying_name,
underlying_decimals,
atoken_version,
atoken_created_block,
atoken_stable_debt_address,
atoken_variable_debt_address
FROM
{{ ref('silver__granary_tokens') }}
),
liquidation AS(
SELECT
tx_hash,
block_number,
block_timestamp,
event_index,
origin_from_address,
origin_to_address,
origin_function_signature,
contract_address,
regexp_substr_all(SUBSTR(DATA, 3, len(DATA)), '.{64}') AS segmented_data,
CONCAT('0x', SUBSTR(topics [1] :: STRING, 27, 40)) AS collateral_asset,
CONCAT('0x', SUBSTR(topics [2] :: STRING, 27, 40)) AS debt_asset,
CONCAT('0x', SUBSTR(topics [3] :: STRING, 27, 40)) AS borrower_address,
utils.udf_hex_to_int(
segmented_data [0] :: STRING
) :: INTEGER AS debt_to_cover_amount,
utils.udf_hex_to_int(
segmented_data [1] :: STRING
) :: INTEGER AS liquidated_amount,
CONCAT('0x', SUBSTR(segmented_data [2] :: STRING, 25, 40)) AS liquidator_address,
'Granary' AS granary_version,
COALESCE(
origin_to_address,
contract_address
) AS lending_pool_contract,
modified_timestamp AS _inserted_timestamp,
CONCAT(
tx_hash :: STRING,
'-',
event_index :: STRING
) AS _log_id
FROM
{{ ref('core__fact_event_logs') }}
WHERE
topics [0] :: STRING = '0xe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e005286'
{% if is_incremental() %}
AND _inserted_timestamp >= (
SELECT
MAX(_inserted_timestamp) - INTERVAL '12 hours'
FROM
{{ this }}
)
AND _inserted_timestamp >= SYSDATE() - INTERVAL '7 day'
{% endif %}
AND contract_address IN (
SELECT
granary_version_pool
FROM
atoken_meta
)
AND tx_succeeded
)
SELECT
tx_hash,
block_number,
block_timestamp,
event_index,
origin_from_address,
origin_to_address,
origin_function_signature,
contract_address,
collateral_asset,
amc.atoken_address AS collateral_granary_token,
liquidated_amount AS amount_unadj,
liquidated_amount / pow(
10,
amc.atoken_decimals
) AS amount,
debt_asset,
amd.atoken_address AS debt_granary_token,
liquidator_address AS liquidator,
borrower_address AS borrower,
granary_version AS platform,
amc.underlying_symbol AS collateral_token_symbol,
amd.underlying_symbol AS debt_token_symbol,
'base' AS blockchain,
_log_id,
_inserted_timestamp
FROM
liquidation
LEFT JOIN atoken_meta amc
ON liquidation.collateral_asset = amc.underlying_address
LEFT JOIN atoken_meta amd
ON liquidation.debt_asset = amd.underlying_address qualify(ROW_NUMBER() over(PARTITION BY _log_id
ORDER BY
_inserted_timestamp DESC)) = 1

View File

@ -1,144 +0,0 @@
{{ config(
materialized = 'incremental',
unique_key = 'atoken_address',
tags = ['silver','defi','lending','curated']
) }}
WITH DECODE AS (
SELECT
block_number AS atoken_created_block,
contract_address AS a_token_address,
regexp_substr_all(SUBSTR(DATA, 3, len(DATA)), '.{64}') AS segmented_data,
CONCAT('0x', SUBSTR(topics [1] :: STRING, 27, 40)) AS underlying_asset,
CONCAT('0x', SUBSTR(topics [2] :: STRING, 27, 40)) AS granary_version_pool,
CONCAT('0x', SUBSTR(segmented_data [0] :: STRING, 25, 40)) AS treasury_address,
utils.udf_hex_to_int(
SUBSTR(
segmented_data [2] :: STRING,
27,
40
)
) :: INTEGER AS atoken_decimals,
utils.udf_hex_to_string (
segmented_data [7] :: STRING
) :: STRING AS atoken_name,
utils.udf_hex_to_string (
segmented_data [9] :: STRING
) :: STRING AS atoken_symbol,
modified_timestamp AS _inserted_timestamp,
CONCAT(
tx_hash :: STRING,
'-',
event_index :: STRING
) AS _log_id
FROM
{{ ref('core__fact_event_logs') }}
l
WHERE
topics [0] = '0xb19e051f8af41150ccccb3fc2c2d8d15f4a4cf434f32a559ba75fe73d6eea20b'
{% if is_incremental() %}
AND _inserted_timestamp >= (
SELECT
MAX(
_inserted_timestamp
) - INTERVAL '12 hours'
FROM
{{ this }}
)
AND contract_address NOT IN (
SELECT
atoken_address
FROM
{{ this }}
)
AND block_timestamp >= SYSDATE() - INTERVAL '7 days'
{% endif %}
),
a_token_step_1 AS (
SELECT
atoken_created_block,
a_token_address,
segmented_data,
underlying_asset,
granary_version_pool,
treasury_address,
atoken_decimals,
atoken_name,
atoken_symbol,
_inserted_timestamp,
_log_id
FROM
DECODE
WHERE
treasury_address = '0xd93e25a8b1d645b15f8c736e1419b4819ff9e6ef'
),
debt_tokens AS (
SELECT
block_number AS atoken_created_block,
contract_address AS a_token_address,
regexp_substr_all(SUBSTR(DATA, 3, len(DATA)), '.{64}') AS segmented_data,
CONCAT('0x', SUBSTR(topics [1] :: STRING, 27, 40)) AS underlying_asset,
CONCAT('0x', SUBSTR(topics [2] :: STRING, 27, 40)) AS atoken_address,
CONCAT('0x', SUBSTR(segmented_data [0] :: STRING, 27, 40)) :: STRING AS atoken_stable_debt_address,
CONCAT('0x', SUBSTR(segmented_data [1] :: STRING, 27, 40)) :: STRING AS atoken_variable_debt_address,
modified_timestamp AS _inserted_timestamp,
CONCAT(
tx_hash :: STRING,
'-',
event_index :: STRING
) AS _log_id
FROM
{{ ref('core__fact_event_logs') }}
WHERE
topics [0] = '0x3a0ca721fc364424566385a1aa271ed508cc2c0949c2272575fb3013a163a45f'
AND CONCAT('0x', SUBSTR(topics [2] :: STRING, 27, 40)) IN (
SELECT
a_token_address
FROM
a_token_step_1
)
),
a_token_step_2 AS (
SELECT
atoken_created_block,
a_token_address,
segmented_data,
underlying_asset,
granary_version_pool,
treasury_address,
atoken_decimals,
atoken_name,
atoken_symbol,
_inserted_timestamp,
_log_id,
'Granary' AS protocol
FROM
a_token_step_1
)
SELECT
A.atoken_created_block,
granary_version_pool,
A.treasury_address,
A.atoken_symbol AS atoken_symbol,
A.a_token_address AS atoken_address,
b.atoken_stable_debt_address,
b.atoken_variable_debt_address,
A.atoken_decimals AS atoken_decimals,
A.protocol AS atoken_version,
atoken_name AS atoken_name,
C.token_symbol AS underlying_symbol,
A.underlying_asset AS underlying_address,
C.token_decimals AS underlying_decimals,
C.token_name AS underlying_name,
A._inserted_timestamp,
A._log_id
FROM
a_token_step_2 A
INNER JOIN debt_tokens b
ON A.a_token_address = b.atoken_address
INNER JOIN {{ ref('silver__contracts') }} C
ON contract_address = A.underlying_asset qualify(ROW_NUMBER() over(PARTITION BY atoken_address
ORDER BY
A.atoken_created_block DESC)) = 1