mirror of
https://github.com/FlipsideCrypto/fsc-evm.git
synced 2026-02-06 11:22:00 +00:00
Merge afbbbfc748 into f356174625
This commit is contained in:
commit
91e3182b80
@ -273,7 +273,9 @@
|
||||
},
|
||||
'euler': {
|
||||
'v1': {
|
||||
'euler_origin_to_address': '0x7f321498a801a191a93c840750ed637149ddf8d0'
|
||||
'euler_origin_to_address': ['0x7f321498a801a191a93c840750ed637149ddf8d0',
|
||||
'0xd5e966db359f1cb2a01280fccbeb839ac572ce35',
|
||||
'0xa76c7b314c310abb3fb7c68778c0c3369caf24fc']
|
||||
},
|
||||
},
|
||||
'granary': {
|
||||
|
||||
@ -261,7 +261,9 @@
|
||||
},
|
||||
'euler': {
|
||||
'v1': {
|
||||
'euler_origin_to_address': '0x7f53e2755eb3c43824e162f7f6f087832b9c9df6'
|
||||
'euler_origin_to_address': ['0x7f53e2755eb3c43824e162f7f6f087832b9c9df6',
|
||||
'0x5bb012482fa43c44a29168c6393657130fdf0506',
|
||||
'0x3ba1566ed39f865baf4c1eb9ace53f3d2062be65']
|
||||
}
|
||||
},
|
||||
'morpho': {
|
||||
|
||||
@ -365,7 +365,11 @@
|
||||
},
|
||||
'euler': {
|
||||
'v1': {
|
||||
'euler_origin_to_address': '0x29a56a1b8214d9cf7c5561811750d5cbdb45cc8e'
|
||||
'euler_origin_to_address': ['0x29a56a1b8214d9cf7c5561811750d5cbdb45cc8e',
|
||||
'0xdd84a24eedde63f10ec3e928f1c8302a47538b6b',
|
||||
'0xb5eb1d005e389bef38161691e2083b4d86ff647a',
|
||||
'0x19a2b03446931e630c876119edc1ec8f7ca32e9e',
|
||||
'0xf726311f85d45a7fecffbc94bd8508a0a39958c6']
|
||||
}
|
||||
},
|
||||
'silo': {
|
||||
|
||||
@ -0,0 +1,97 @@
|
||||
{# Get variables #}
|
||||
{% set vars = return_vars() %}
|
||||
|
||||
{# Log configuration details #}
|
||||
{{ log_model_details() }}
|
||||
|
||||
{{ config(
|
||||
materialized = 'incremental',
|
||||
incremental_strategy = 'delete+insert',
|
||||
unique_key = "block_number",
|
||||
cluster_by = ['block_timestamp::DATE'],
|
||||
tags = ['silver','defi','lending','curated','euler']
|
||||
) }}
|
||||
|
||||
WITH token_meta AS (
|
||||
SELECT
|
||||
contract_address,
|
||||
token_name,
|
||||
token_symbol,
|
||||
token_decimals,
|
||||
underlying_address,
|
||||
underlying_name,
|
||||
underlying_symbol,
|
||||
underlying_decimals,
|
||||
protocol,
|
||||
version,
|
||||
dToken
|
||||
FROM
|
||||
{{ ref('silver_lending__euler_tokens') }}
|
||||
),
|
||||
base 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 account,
|
||||
utils.udf_hex_to_int(
|
||||
segmented_data [0] :: STRING
|
||||
) :: INTEGER AS interest_amount,
|
||||
modified_timestamp,
|
||||
CONCAT(
|
||||
tx_hash :: STRING,
|
||||
'-',
|
||||
event_index :: STRING
|
||||
) AS _log_id
|
||||
FROM
|
||||
{{ ref('core__fact_event_logs') }}
|
||||
WHERE
|
||||
topics [0] :: STRING = '0x5e804d42ae3b860f881d11cb44a4bb1f2f0d5b3d081f5539a32d6f97b629d978'
|
||||
AND contract_address IN (
|
||||
SELECT
|
||||
DISTINCT(contract_address)
|
||||
FROM
|
||||
token_meta
|
||||
)
|
||||
|
||||
{% if is_incremental() %}
|
||||
AND modified_timestamp >= (
|
||||
SELECT
|
||||
MAX(modified_timestamp) - INTERVAL '{{ vars.CURATED_LOOKBACK_HOURS }}'
|
||||
FROM
|
||||
{{ this }}
|
||||
)
|
||||
AND modified_timestamp >= SYSDATE() - INTERVAL '{{ vars.CURATED_LOOKBACK_DAYS }}'
|
||||
{% endif %}
|
||||
AND tx_succeeded
|
||||
)
|
||||
SELECT
|
||||
tx_hash,
|
||||
block_number,
|
||||
block_timestamp,
|
||||
event_index,
|
||||
origin_from_address,
|
||||
origin_to_address,
|
||||
origin_function_signature,
|
||||
d.contract_address,
|
||||
t.dToken AS protocol_market,
|
||||
t.underlying_address AS token_address,
|
||||
interest_amount AS amount_unadj,
|
||||
account,
|
||||
t.protocol || '-' || t.version AS platform,
|
||||
t.protocol,
|
||||
t.version,
|
||||
d._log_id,
|
||||
d.modified_timestamp,
|
||||
'InterestAccrued' AS event_name
|
||||
FROM
|
||||
base d
|
||||
LEFT JOIN token_meta t
|
||||
ON d.contract_address = t.contract_address
|
||||
QUALIFY (ROW_NUMBER() OVER (PARTITION BY d._log_id ORDER BY d.modified_timestamp DESC)) = 1
|
||||
@ -41,7 +41,6 @@ repay AS(
|
||||
regexp_substr_all(SUBSTR(DATA, 3, len(DATA)), '.{64}') AS segmented_data,
|
||||
contract_address AS market,
|
||||
CONCAT('0x', SUBSTR(topics [1] :: STRING, 27, 40)) AS borrower_address,
|
||||
CONCAT('0x', SUBSTR(topics [2] :: STRING, 27, 40)) AS repayer,
|
||||
utils.udf_hex_to_int(
|
||||
segmented_data [0] :: STRING
|
||||
) :: INTEGER AS repayed_amount,
|
||||
@ -55,7 +54,7 @@ repay AS(
|
||||
FROM
|
||||
{{ ref('core__fact_event_logs') }}
|
||||
WHERE
|
||||
topics [0] :: STRING = '0x4cdde6e09bb755c9a5589ebaec640bbfedff1362d4b255ebf8339782b9942faa'
|
||||
topics [0] :: STRING = '0x5c16de4f8b59bd9caf0f49a545f25819a895ed223294290b408242e72a594231'
|
||||
and contract_address in (
|
||||
select
|
||||
distinct(contract_address)
|
||||
|
||||
@ -18,13 +18,13 @@ WITH morpho_blue_addresses AS (
|
||||
),
|
||||
|
||||
traces AS (
|
||||
|
||||
SELECT
|
||||
block_number,
|
||||
tx_hash,
|
||||
block_timestamp,
|
||||
from_address,
|
||||
to_address,
|
||||
trace_index,
|
||||
LEFT(
|
||||
input,
|
||||
10
|
||||
@ -34,23 +34,16 @@ traces AS (
|
||||
CONCAT('0x', SUBSTR(segmented_input [1] :: STRING, 25)) AS collateral_token,
|
||||
CONCAT('0x', SUBSTR(segmented_input [2] :: STRING, 25)) AS oracle_address,
|
||||
CONCAT('0x', SUBSTR(segmented_input [3] :: STRING, 25)) AS irm_address,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_input [4] :: STRING
|
||||
)
|
||||
) AS lltv,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_input [5] :: STRING
|
||||
)
|
||||
) AS amount,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_input [6] :: STRING
|
||||
)
|
||||
) AS shares,
|
||||
-- onBehalf address (borrower) from trace input
|
||||
CONCAT('0x', SUBSTR(segmented_input [7] :: STRING, 25)) AS on_behalf_address,
|
||||
CONCAT('0x', SUBSTR(segmented_input [8] :: STRING, 25)) AS receiver_address,
|
||||
-- Get actual borrowed assets from trace OUTPUT (return value)
|
||||
-- borrow() returns (uint256 assetsBorrowed, uint256 sharesBorrowed)
|
||||
regexp_substr_all(SUBSTR(output, 3), '.{64}') AS segmented_output,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_output [0] :: STRING
|
||||
)
|
||||
) AS borrow_assets,
|
||||
concat_ws(
|
||||
'-',
|
||||
block_number,
|
||||
@ -77,7 +70,7 @@ traces AS (
|
||||
AND function_sig = '0x50d8cd4b'
|
||||
AND trace_succeeded
|
||||
AND tx_succeeded
|
||||
AND block_timestamp >= '{{ vars.CURATED_START_TIMESTAMP }}'
|
||||
AND block_timestamp >= '{{ vars.CURATED_START_TIMESTAMP }}'
|
||||
|
||||
{% if is_incremental() %}
|
||||
AND modified_timestamp >= (
|
||||
@ -88,28 +81,8 @@ AND modified_timestamp >= (
|
||||
)
|
||||
AND modified_timestamp >= SYSDATE() - INTERVAL '{{ vars.CURATED_LOOKBACK_DAYS }}'
|
||||
{% endif %}
|
||||
),
|
||||
tx_join AS (
|
||||
SELECT
|
||||
block_number,
|
||||
tx_hash,
|
||||
block_timestamp,
|
||||
origin_from_address,
|
||||
origin_to_address,
|
||||
origin_function_signature,
|
||||
from_address,
|
||||
to_address AS contract_address,
|
||||
origin_from_address AS borrower_address,
|
||||
loan_token,
|
||||
collateral_token,
|
||||
amount,
|
||||
on_behalf_address,
|
||||
receiver_address,
|
||||
_call_id,
|
||||
modified_timestamp
|
||||
FROM
|
||||
traces
|
||||
)
|
||||
|
||||
SELECT
|
||||
tx_hash,
|
||||
block_number,
|
||||
@ -117,18 +90,18 @@ SELECT
|
||||
origin_from_address,
|
||||
origin_to_address,
|
||||
origin_function_signature,
|
||||
t.contract_address,
|
||||
to_address AS contract_address,
|
||||
loan_token AS token_address,
|
||||
amount AS amount_unadj,
|
||||
t.contract_address AS protocol_market,
|
||||
borrower_address AS borrower,
|
||||
borrow_assets AS amount_unadj,
|
||||
on_behalf_address AS borrower,
|
||||
to_address AS protocol_market,
|
||||
m.protocol || '-' || m.version AS platform,
|
||||
m.protocol,
|
||||
m.version,
|
||||
t._call_id AS _id,
|
||||
t.modified_timestamp,
|
||||
_call_id AS _id,
|
||||
modified_timestamp,
|
||||
'Borrow' AS event_name
|
||||
FROM
|
||||
tx_join t
|
||||
traces t
|
||||
LEFT JOIN morpho_blue_addresses m
|
||||
ON m.contract_address = t.contract_address
|
||||
ON m.contract_address = t.to_address
|
||||
|
||||
@ -99,7 +99,7 @@ tx_join AS (
|
||||
origin_function_signature,
|
||||
from_address,
|
||||
to_address AS contract_address,
|
||||
origin_from_address AS depositor_address,
|
||||
on_behalf_address AS depositor_address,
|
||||
loan_token,
|
||||
collateral_token,
|
||||
amount,
|
||||
|
||||
@ -18,13 +18,13 @@ WITH morpho_blue_addresses AS (
|
||||
),
|
||||
|
||||
traces AS (
|
||||
|
||||
SELECT
|
||||
block_number,
|
||||
tx_hash,
|
||||
block_timestamp,
|
||||
from_address,
|
||||
to_address,
|
||||
trace_index,
|
||||
LEFT(
|
||||
input,
|
||||
10
|
||||
@ -34,23 +34,16 @@ traces AS (
|
||||
CONCAT('0x', SUBSTR(segmented_input [1] :: STRING, 25)) AS collateral_token,
|
||||
CONCAT('0x', SUBSTR(segmented_input [2] :: STRING, 25)) AS oracle_address,
|
||||
CONCAT('0x', SUBSTR(segmented_input [3] :: STRING, 25)) AS irm_address,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_input [4] :: STRING
|
||||
)
|
||||
) AS lltv,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_input [5] :: STRING
|
||||
)
|
||||
) AS amount,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_input [6] :: STRING
|
||||
)
|
||||
) AS shares,
|
||||
-- onBehalf address (borrower) from trace input
|
||||
CONCAT('0x', SUBSTR(segmented_input [7] :: STRING, 25)) AS on_behalf_address,
|
||||
CONCAT('0x', SUBSTR(segmented_input [8] :: STRING, 25)) AS receiver_address,
|
||||
-- Get actual repaid assets from trace OUTPUT (return value)
|
||||
-- repay() returns (uint256 assetsRepaid, uint256 sharesRepaid)
|
||||
regexp_substr_all(SUBSTR(output, 3), '.{64}') AS segmented_output,
|
||||
TRY_TO_NUMBER(
|
||||
utils.udf_hex_to_int(
|
||||
segmented_output [0] :: STRING
|
||||
)
|
||||
) AS repay_assets,
|
||||
concat_ws(
|
||||
'-',
|
||||
block_number,
|
||||
@ -77,7 +70,7 @@ traces AS (
|
||||
AND function_sig = '0x20b76e81'
|
||||
AND trace_succeeded
|
||||
AND tx_succeeded
|
||||
AND block_timestamp >= '{{ vars.CURATED_START_TIMESTAMP }}'
|
||||
AND block_timestamp >= '{{ vars.CURATED_START_TIMESTAMP }}'
|
||||
|
||||
{% if is_incremental() %}
|
||||
AND modified_timestamp >= (
|
||||
@ -88,28 +81,8 @@ AND modified_timestamp >= (
|
||||
)
|
||||
AND modified_timestamp >= SYSDATE() - INTERVAL '{{ vars.CURATED_LOOKBACK_DAYS }}'
|
||||
{% endif %}
|
||||
),
|
||||
tx_join AS (
|
||||
SELECT
|
||||
block_number,
|
||||
tx_hash,
|
||||
block_timestamp,
|
||||
origin_from_address,
|
||||
origin_to_address,
|
||||
origin_function_signature,
|
||||
from_address,
|
||||
to_address AS contract_address,
|
||||
origin_from_address AS borrower_address,
|
||||
loan_token,
|
||||
collateral_token,
|
||||
amount,
|
||||
on_behalf_address,
|
||||
receiver_address,
|
||||
_call_id,
|
||||
modified_timestamp
|
||||
FROM
|
||||
traces
|
||||
)
|
||||
|
||||
SELECT
|
||||
tx_hash,
|
||||
block_number,
|
||||
@ -117,19 +90,19 @@ SELECT
|
||||
origin_from_address,
|
||||
origin_to_address,
|
||||
origin_function_signature,
|
||||
t.contract_address,
|
||||
to_address AS contract_address,
|
||||
loan_token AS token_address,
|
||||
amount AS amount_unadj,
|
||||
on_behalf_address AS payer,
|
||||
borrower_address as borrower,
|
||||
t.contract_address AS protocol_market,
|
||||
repay_assets AS amount_unadj,
|
||||
from_address AS payer,
|
||||
on_behalf_address AS borrower,
|
||||
to_address AS protocol_market,
|
||||
m.protocol || '-' || m.version AS platform,
|
||||
m.protocol,
|
||||
m.version,
|
||||
t._call_id AS _id,
|
||||
t.modified_timestamp,
|
||||
_call_id AS _id,
|
||||
modified_timestamp,
|
||||
'Repay' AS event_name
|
||||
FROM
|
||||
tx_join t
|
||||
traces t
|
||||
LEFT JOIN morpho_blue_addresses m
|
||||
ON m.contract_address = t.contract_address
|
||||
ON m.contract_address = t.to_address
|
||||
@ -99,7 +99,7 @@ tx_join AS (
|
||||
origin_function_signature,
|
||||
from_address,
|
||||
to_address AS contract_address,
|
||||
origin_from_address AS depositor_address,
|
||||
on_behalf_address AS depositor_address,
|
||||
loan_token,
|
||||
collateral_token,
|
||||
amount,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user