From 383642f3216b280a9842d18a9800b56198c9dfda Mon Sep 17 00:00:00 2001 From: 0xdatawolf <120292968+0xdatawolf001@users.noreply.github.com> Date: Wed, 22 Jan 2025 03:13:10 +0800 Subject: [PATCH 01/10] Morpho on Base (#7498) * init morpho on base * fix base flashloans schema yml indentation * fix base lending supply yml file * add data source for base morpo * deduplicate morpho base data sources * fixed mopho typo * fix morpho typo again * correct seed file time formating * correct date format * correct seed files due to scientific notation instead of actual integer numbers --------- Co-authored-by: jeff-dude <102681548+jeff-dude@users.noreply.github.com> --- .../_sector/lending/borrow/base/_schema.yml | 36 ++++++ .../borrow/base/lending_base_base_borrow.sql | 3 +- .../platforms/morpho_base_base_borrow.sql | 103 ++++++++++++++++++ .../lending/flashloans/base/_schema.yml | 32 ++++++ .../base/lending_base_base_flashloans.sql | 3 +- .../platforms/morpho_base_base_flashloans.sql | 29 +++++ .../_sector/lending/supply/base/_schema.yml | 36 ++++++ .../supply/base/lending_base_base_supply.sql | 3 +- .../platforms/morpho_base_base_supply.sql | 91 ++++++++++++++++ .../seeds/_sector/lending/_schema.yml | 41 +++++++ .../lending/morpho_base_base_borrow_seed.csv | 4 + .../morpho_base_base_flashloans_seed.csv | 4 + .../lending/morpho_base_base_supply_seed.csv | 4 + .../_sector/lending/borrow/base/_sources.yml | 8 ++ .../lending/flashloans/base/_sources.yml | 4 + .../_sector/lending/supply/base/_sources.yml | 5 + 16 files changed, 403 insertions(+), 3 deletions(-) create mode 100644 dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/platforms/morpho_base_base_borrow.sql create mode 100644 dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/platforms/morpho_base_base_flashloans.sql create mode 100644 dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/platforms/morpho_base_base_supply.sql create mode 100644 dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_borrow_seed.csv create mode 100644 dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_flashloans_seed.csv create mode 100644 dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_supply_seed.csv diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/_schema.yml b/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/_schema.yml index 41a25a6121d..252cb1d3a1a 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/_schema.yml +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/_schema.yml @@ -304,3 +304,39 @@ models: - *project_contract_address - *tx_hash - *evt_index + + - name: morpho_base_base_borrow + meta: + blockchain: base + sector: lending + project: Morpho + contributors: 0xDataWolf + config: + tags: ['lending', 'borrow', 'Morpho', 'base'] + description: "Morpho borrow transactions on Base" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - transaction_type + - token_address + - tx_hash + - evt_index + - check_lending_base_borrow_seed: + seed_file: ref('morpho_base_base_borrow_seed') + columns: + - *blockchain + - *project + - *version + - *transaction_type + - *token_address + - *borrower + - *on_behalf_of + - *repayer + - *liquidator + - *amount + - *block_month + - *block_time + - *block_number + - *project_contract_address + - *tx_hash + - *evt_index diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/lending_base_base_borrow.sql b/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/lending_base_base_borrow.sql index 9686e5dc8f4..4a58dd601ae 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/lending_base_base_borrow.sql +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/lending_base_base_borrow.sql @@ -13,7 +13,8 @@ ref('seamlessprotocol_base_base_borrow'), ref('moonwell_base_base_borrow'), ref('sonne_finance_base_base_borrow'), - ref('granary_base_base_borrow') + ref('granary_base_base_borrow'), + ref('morpho_base_base_borrow') ] %} diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/platforms/morpho_base_base_borrow.sql b/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/platforms/morpho_base_base_borrow.sql new file mode 100644 index 00000000000..90283ca99e5 --- /dev/null +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/borrow/base/platforms/morpho_base_base_borrow.sql @@ -0,0 +1,103 @@ +{{ + config( + schema = 'morpho_base', + alias = 'base_borrow', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['transaction_type', 'token_address', 'tx_hash', 'evt_index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +WITH markets AS ( + SELECT id + , from_hex(JSON_EXTRACT_SCALAR("marketParams", '$.loanToken')) AS loanToken + , from_hex(JSON_EXTRACT_SCALAR("marketParams", '$.collateralToken')) AS collateralToken + , from_hex(JSON_EXTRACT_SCALAR("marketParams", '$.oracle')) AS oracle + , JSON_EXTRACT_SCALAR("marketParams", '$.irm') AS irm + , JSON_EXTRACT_SCALAR("marketParams", '$.lltv') AS lltv + FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_CreateMarket') }} + ) + +, base_borrow AS ( + SELECT 'borrow' AS transaction_type + , 'variable' AS loan_type + , loanToken AS token_address + , caller AS borrower + , onBehalf AS on_behalf_of + , CAST(NULL AS varbinary) AS repayer + , CAST(NULL AS varbinary) AS liquidator + , CAST(assets AS double) AS amount + , contract_address + , evt_tx_hash + , evt_index + , evt_block_time + , evt_block_number + FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_Borrow') }} + INNER JOIN markets USING (id) + {% if is_incremental() %} + WHERE {{ incremental_predicate('evt_block_time') }} + {% endif %} + + UNION ALL + + SELECT 'repay' AS transaction_type + , NULL AS loan_type + , loanToken AS token_address + , caller AS borrower + , onBehalf AS on_behalf_of + , caller AS repayer + , cast(null as varbinary) AS liquidator + , -1 * cast(assets AS double) AS amount + , contract_address + , evt_tx_hash + , evt_index + , evt_block_time + , evt_block_number + FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_Repay') }} + INNER JOIN markets USING (id) + {% if is_incremental() %} + WHERE {{ incremental_predicate('evt_block_time') }} + {% endif %} + + UNION ALL + + select 'borrow_liquidation' AS transaction_type + , null AS loan_type + , loanToken AS token_address + , borrower + , borrower AS on_behalf_of + , caller AS repayer + , caller AS liquidator + , -1 * cast(repaidAssets AS double) AS amount + , contract_address + , evt_tx_hash + , evt_index + , evt_block_time + , evt_block_number + FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_Liquidate') }} + INNER JOIN markets USING (id) + {% if is_incremental() %} + WHERE {{ incremental_predicate('evt_block_time') }} + {% endif %} + ) + +SELECT 'base' AS blockchain +, 'morpho' AS project +, '1' AS version +, transaction_type +, loan_type +, token_address +, borrower +, on_behalf_of +, repayer +, liquidator +, amount +, CAST(date_trunc('month', evt_block_time) AS date) AS block_month +, evt_block_time AS block_time +, evt_block_number AS block_number +, contract_address AS project_contract_address +, evt_tx_hash AS tx_hash +, evt_index +FROM base_borrow \ No newline at end of file diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/_schema.yml b/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/_schema.yml index 17fbdf1de1f..e2e12989bb8 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/_schema.yml +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/_schema.yml @@ -194,3 +194,35 @@ models: - *block_number - *tx_hash - *evt_index + + - name: morpho_base_base_flashloans + meta: + blockchain: base + sector: lending + project: morpho + contributors: 0xDataWolf + config: + tags: ['lending', 'flashloans', 'morpho', 'base'] + description: "Morpho flashloans transactions on Base" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - tx_hash + - evt_index + - check_lending_base_flashloans_seed: + seed_file: ref('morpho_base_base_flashloans_seed') + columns: + - *blockchain + - *project + - *version + - *recipient + - *amount + - *fee + - *token_address + - *project_contract_address + - *block_month + - *block_time + - *block_number + - *tx_hash + - *evt_index + diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/lending_base_base_flashloans.sql b/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/lending_base_base_flashloans.sql index ce2b799cbd0..0e09ed99275 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/lending_base_base_flashloans.sql +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/lending_base_base_flashloans.sql @@ -11,7 +11,8 @@ ref('aave_v3_base_base_flashloans'), ref('seamlessprotocol_base_base_flashloans'), ref('granary_base_base_flashloans'), - ref('balancer_v2_base_base_flashloans') + ref('balancer_v2_base_base_flashloans'), + ref('morpho_base_base_flashloans') ] %} diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/platforms/morpho_base_base_flashloans.sql b/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/platforms/morpho_base_base_flashloans.sql new file mode 100644 index 00000000000..68362e63294 --- /dev/null +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/flashloans/base/platforms/morpho_base_base_flashloans.sql @@ -0,0 +1,29 @@ +{{ + config( + schema = 'morpho_base', + alias = 'base_flashloans', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'evt_index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +SELECT 'base' AS blockchain +, 'morpho' AS project +, '1' AS version +, caller AS recipient +, assets AS amount +, CAST(0 AS UINT256) AS fee +, token AS token_address +, contract_address AS project_contract_address +, date_trunc('month', evt_block_time) AS block_month +, evt_block_time AS block_time +, evt_block_number AS block_number +, evt_tx_hash AS tx_hash +, evt_index +FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_FlashLoan') }} +{% if is_incremental() %} +WHERE {{ incremental_predicate('evt_block_time') }} +{% endif %} diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/_schema.yml b/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/_schema.yml index e8a8728189b..bcb89272a06 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/_schema.yml +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/_schema.yml @@ -304,3 +304,39 @@ models: - *project_contract_address - *tx_hash - *evt_index + + - name: morpho_base_base_supply + meta: + blockchain: base + sector: lending + project: Morpho + contributors: 0xDataWolf + config: + tags: ['lending', 'supply', 'morpho', 'base'] + description: "Morpho supply transactions on Base" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - transaction_type + - token_address + - tx_hash + - evt_index + - check_lending_base_supply_seed: + seed_file: ref('morpho_base_base_supply_seed') + columns: + - *blockchain + - *project + - *version + - *transaction_type + - *token_address + - *depositor + - *on_behalf_of + - *withdrawn_to + - *liquidator + - *amount + - *block_month + - *block_time + - *block_number + - *project_contract_address + - *tx_hash + - *evt_index \ No newline at end of file diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/lending_base_base_supply.sql b/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/lending_base_base_supply.sql index 5b8ab0b7685..94490a7a942 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/lending_base_base_supply.sql +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/lending_base_base_supply.sql @@ -13,7 +13,8 @@ ref('seamlessprotocol_base_base_supply'), ref('moonwell_base_base_supply'), ref('sonne_finance_base_base_supply'), - ref('granary_base_base_supply') + ref('granary_base_base_supply'), + ref('morpho_base_base_supply') ] %} diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/platforms/morpho_base_base_supply.sql b/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/platforms/morpho_base_base_supply.sql new file mode 100644 index 00000000000..fde28bb9c77 --- /dev/null +++ b/dbt_subprojects/hourly_spellbook/models/_sector/lending/supply/base/platforms/morpho_base_base_supply.sql @@ -0,0 +1,91 @@ +{{ + config( + schema = 'morpho_base', + alias = 'base_supply', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['transaction_type', 'token_address', 'tx_hash', 'evt_index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +WITH markets AS ( + SELECT id + , from_hex(JSON_EXTRACT_SCALAR("marketParams", '$.loanToken')) AS loanToken + , from_hex(JSON_EXTRACT_SCALAR("marketParams", '$.collateralToken')) AS collateralToken + , from_hex(JSON_EXTRACT_SCALAR("marketParams", '$.oracle')) AS oracle + , JSON_EXTRACT_SCALAR("marketParams", '$.irm') AS irm + , JSON_EXTRACT_SCALAR("marketParams", '$.lltv') AS lltv + FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_CreateMarket') }} + ) + +SELECT 'base' AS blockchain +, 'morpho' AS project +, '1' AS version +, 'deposit' AS transaction_type +, loanToken AS token_address +, caller AS depositor +, onBehalf AS on_behalf_of +, CAST(NULL AS varbinary) AS withdrawn_to +, CAST(NULL AS varbinary) AS liquidator +, CAST(assets AS double) AS amount +, CAST(date_trunc('month', evt_block_time) AS date) AS block_month +, evt_block_time AS block_time +, evt_block_number AS block_number +, contract_address AS project_contract_address +, evt_tx_hash AS tx_hash +, evt_index +FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_Supply') }} +INNER JOIN markets USING (id) +{% if is_incremental() %} +WHERE {{ incremental_predicate('evt_block_time') }} +{% endif %} + +UNION ALL + +SELECT 'base' AS blockchain +, 'morpho' AS project +, '1' AS version +, 'withdraw' AS transaction_type +, loanToken AS token_address +, CAST(NULL AS varbinary) AS depositor +, onBehalf AS on_behalf_of +, receiver AS withdrawn_to +, CAST(NULL AS varbinary) AS liquidator +, -1 * CAST(assets AS double) AS amount +, CAST(date_trunc('month', evt_block_time) AS date) AS block_month +, evt_block_time AS block_time +, evt_block_number AS block_number +, contract_address AS project_contract_address +, evt_tx_hash AS tx_hash +, evt_index +FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_Withdraw') }} +INNER JOIN markets USING (id) +{% if is_incremental() %} +WHERE {{ incremental_predicate('evt_block_time') }} +{% endif %} + +UNION ALL + +SELECT 'base' AS blockchain +, 'morpho' AS project +, '1' AS version +, 'deposit_liquidation' AS transaction_type +, loanToken AS token_address +, borrower AS depositor +, CAST(NULL AS varbinary) AS on_behalf_of +, caller AS withdrawn_to +, caller AS liquidator +, -1 * CAST(seizedAssets AS double) AS amount +, CAST(date_trunc('month', evt_block_time) AS date) AS block_month +, evt_block_time AS block_time +, evt_block_number AS block_number +, contract_address AS project_contract_address +, evt_tx_hash AS tx_hash +, evt_index +FROM {{ source('morpho_blue_base', 'MorphoBlue_evt_Liquidate') }} +INNER JOIN markets USING (id) +{% if is_incremental() %} +WHERE {{ incremental_predicate('evt_block_time') }} +{% endif %} \ No newline at end of file diff --git a/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/_schema.yml b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/_schema.yml index 213fd274c94..d9f73328a57 100644 --- a/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/_schema.yml +++ b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/_schema.yml @@ -1586,3 +1586,44 @@ seeds: token_address: varbinary depositor: varbinary amount: double + - name: morpho_base_base_supply_seed + config: + column_types: + blockchain: varchar + project: varchar + version: varchar + block_number: bigint + block_time: timestamp + tx_hash: varbinary + evt_index: bigint + transaction_type: varchar + token_address: varbinary + depositor: varbinary + amount: double + - name: morpho_base_base_borrow_seed + config: + column_types: + blockchain: varchar + project: varchar + version: varchar + block_number: bigint + block_time: timestamp + tx_hash: varbinary + evt_index: bigint + transaction_type: varchar + token_address: varbinary + borrower: varbinary + amount: double + - name: morpho_base_base_flashloans_seed + config: + column_types: + blockchain: varchar + project: varchar + version: varchar + block_number: bigint + block_time: timestamp + tx_hash: varbinary + evt_index: bigint + token_address: varbinary + recipient: varbinary + amount: double diff --git a/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_borrow_seed.csv b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_borrow_seed.csv new file mode 100644 index 00000000000..bedcba9e1f8 --- /dev/null +++ b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_borrow_seed.csv @@ -0,0 +1,4 @@ +blockchain,project,version,block_number,block_time,tx_hash,evt_index,transaction_type,token_address,borrower,amount +base,morpho,1,25284479,2025-01-20 07:31:00.000 UTC,0x01f16d52115a5c6a98beb4c762a80df220e44ceb130ac706c3fe3b94b49a3248,321,repay,0x833589fcd6edb6e08f4c7c32d4f71b54bda02913,0x23055618898e202386e6c13955a58d3c68200bfb,-14808252558 +base,morpho,1,25284456,2025-01-20 07:30:00.000 UTC,0x0b5275144b76662ebaf9050258994db20633332fd04d7ffa6fc78c176a3fd524,118,borrow,0x833589fcd6edb6e08f4c7c32d4f71b54bda02913,0x23055618898e202386e6c13955a58d3c68200bfb,10000000000 +base,morpho,1,25276722,2025-01-20 03:13:00.000 UTC,0x9301be46a878f9206bee3f6f6c2ddca96471fcee5f586290a99b15b4053262d4,353,borrow_liquidation,0x833589fcd6edb6e08f4c7c32d4f71b54bda02913,0x0576dc91b3ae72ee2721b814dca3dedce631d734,-66504 \ No newline at end of file diff --git a/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_flashloans_seed.csv b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_flashloans_seed.csv new file mode 100644 index 00000000000..7ba08a68c86 --- /dev/null +++ b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_flashloans_seed.csv @@ -0,0 +1,4 @@ +blockchain,project,version,block_number,block_time,tx_hash,evt_index,token_address,recipient,amount +base,morpho,1,25275752,2025-01-20 02:40:00.000 UTC,0xabdbc348232792d94730aa573a4a006442342cf19abf155920907ed224243652,366,0x4200000000000000000000000000000000000006,0xf66ab55d9452480d6ca48704734e98e16f69ebe1,221117064767549000 +base,morpho,1,25279175,2025-01-20 04:34:00.000 UTC,0x124f6f13e82cf93a9c81bb306791a73e12f35f0a0b3b6d1b02d4c8cc1f15e968,388,0x4200000000000000000000000000000000000006,0xf66ab55d9452480d6ca48704734e98e16f69ebe1,157653411227257632 +base,morpho,1,25277384,2025-01-20 03:35:00.000 UTC,0x578f5ce92dd211ff5a8616b028a8fc3a54e0cb6b832e5b75bee65267a0df5f9e,485,0x4200000000000000000000000000000000000006,0xf66ab55d9452480d6ca48704734e98e16f69ebe1,193132207850073370 \ No newline at end of file diff --git a/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_supply_seed.csv b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_supply_seed.csv new file mode 100644 index 00000000000..16998ce226b --- /dev/null +++ b/dbt_subprojects/hourly_spellbook/seeds/_sector/lending/morpho_base_base_supply_seed.csv @@ -0,0 +1,4 @@ +blockchain,project,version,block_number,block_time,tx_hash,evt_index,transaction_type,token_address,depositor,amount +base,morpho,1,25284700,2025-01-20 07:39:00.000 UTC,0x57b7ebfe9f8f973ffdeca6f3379e0bae76484f3060b7cca43d0410054e1df77e,266,withdraw,0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf,,-50000000 +base,morpho,1,25284644,2025-01-20 07:37:00.000 UTC,0x012fbe2365d53fdabe8e71aca45096bf40ce2e63a86b4ca735a54a7fec55796f,602,deposit,0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf,0x543257ef2161176d7c8cd90ba65c2d4caef5a796,3150889 +base,morpho,1,25276722,2025-01-20 03:13:00.000 UTC,0x9301be46a878f9206bee3f6f6c2ddca96471fcee5f586290a99b15b4053262d4,353,deposit_liquidation,0x833589fcd6edb6e08f4c7c32d4f71b54bda02913,0x0576dc91b3ae72ee2721b814dca3dedce631d734,-21423024020247 \ No newline at end of file diff --git a/sources/_sector/lending/borrow/base/_sources.yml b/sources/_sector/lending/borrow/base/_sources.yml index 702ec368e87..cc6d815a07d 100644 --- a/sources/_sector/lending/borrow/base/_sources.yml +++ b/sources/_sector/lending/borrow/base/_sources.yml @@ -75,3 +75,11 @@ sources: - name: LendingPool_evt_Borrow - name: LendingPool_evt_Repay - name: LendingPool_evt_LiquidationCall + + - name: morpho_blue_base + tables: + - name: MorphoBlue_evt_CreateMarket + - name: MorphoBlue_evt_Borrow + - name: MorphoBlue_evt_Repay + - name: MorphoBlue_evt_Liquidate + diff --git a/sources/_sector/lending/flashloans/base/_sources.yml b/sources/_sector/lending/flashloans/base/_sources.yml index e710193c472..b89f8442a2c 100644 --- a/sources/_sector/lending/flashloans/base/_sources.yml +++ b/sources/_sector/lending/flashloans/base/_sources.yml @@ -12,3 +12,7 @@ sources: - name: the_granary_base tables: - name: LendingPool_evt_FlashLoan + + - name: morpho_blue_base + tables: + - name: MorphoBlue_evt_FlashLoan diff --git a/sources/_sector/lending/supply/base/_sources.yml b/sources/_sector/lending/supply/base/_sources.yml index 0fe93a08384..4d5809229f3 100644 --- a/sources/_sector/lending/supply/base/_sources.yml +++ b/sources/_sector/lending/supply/base/_sources.yml @@ -60,3 +60,8 @@ sources: tables: - name: LendingPool_evt_Deposit - name: LendingPool_evt_Withdraw + + - name: morpho_blue_base + tables: + - name: MorphoBlue_evt_Supply + - name: MorphoBlue_evt_Withdraw From 570b50e35714f7550c8c68197e7de8b605fbbec9 Mon Sep 17 00:00:00 2001 From: max-morrow Date: Tue, 21 Jan 2025 22:15:04 +0300 Subject: [PATCH 02/10] fix to lop partial fills (#7487) --- .../macros/models/_project/oneinch/LOP/oneinch_lop_macro.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbt_subprojects/dex/macros/models/_project/oneinch/LOP/oneinch_lop_macro.sql b/dbt_subprojects/dex/macros/models/_project/oneinch/LOP/oneinch_lop_macro.sql index 72ddc40547d..2c005b0641d 100644 --- a/dbt_subprojects/dex/macros/models/_project/oneinch/LOP/oneinch_lop_macro.sql +++ b/dbt_subprojects/dex/macros/models/_project/oneinch/LOP/oneinch_lop_macro.sql @@ -251,7 +251,7 @@ select , coalesce(dst_amount, taking_amount) as taking_amount , order_hash , map_concat(flags, map_from_entries(array[ - ('first', row_number() over(partition by coalesce(order_hash, tx_hash) order by block_number, tx_index, call_trace_address) = 1) + ('first', row_number() over(partition by coalesce(order_hash, tx_hash), tx_success and call_success order by block_number, tx_index, call_trace_address) = 1) , ('direct', call_from = tx_from and call_to = tx_to) -- == cardinality(call_trace_address) = 0, but because of zksync trace structure we switched to this ])) as flags , remains From c342d7e5e29a8135a1bd846310d30ab9a18a2b0e Mon Sep 17 00:00:00 2001 From: tomfutago <35136350+tomfutago@users.noreply.github.com> Date: Tue, 21 Jan 2025 20:13:59 +0000 Subject: [PATCH 03/10] Nexus Mutual - update contract address (#7508) * chore: update contract address * fix: add proxy filter --------- Co-authored-by: Huang Geyang --- .../ethereum/covers/nexusmutual_ethereum_covers_v2.sql | 4 +++- .../staking/nexusmutual_ethereum_base_staking_pools.sql | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/covers/nexusmutual_ethereum_covers_v2.sql b/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/covers/nexusmutual_ethereum_covers_v2.sql index ec1f72e4071..ece60f21dc2 100644 --- a/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/covers/nexusmutual_ethereum_covers_v2.sql +++ b/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/covers/nexusmutual_ethereum_covers_v2.sql @@ -38,6 +38,7 @@ cover_sales as ( from {{ source('nexusmutual_ethereum', 'Cover_call_buyCover') }} c cross join unnest(c.poolAllocationRequests) as t(pool_allocation) where c.call_success + and c.contract_address = 0xcafeac0fF5dA0A2777d915531bfA6B29d282Ee62 -- proxy ), staking_product_premiums as ( @@ -64,7 +65,8 @@ staking_product_premiums as ( call_tx_hash as tx_hash from {{ source('nexusmutual_ethereum', 'StakingProducts_call_getPremium') }} where call_success - and contract_address = 0xcafea573fbd815b5f59e8049e71e554bde3477e4 + --and contract_address = 0xcafea573fbd815b5f59e8049e71e554bde3477e4 + and contract_address <> 0xcafea524e89514e131ee9f8462536793d49d8738 ), cover_premiums as ( diff --git a/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/staking/nexusmutual_ethereum_base_staking_pools.sql b/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/staking/nexusmutual_ethereum_base_staking_pools.sql index 336002fa8cb..d6b737e1c83 100644 --- a/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/staking/nexusmutual_ethereum_base_staking_pools.sql +++ b/dbt_subprojects/daily_spellbook/models/nexusmutual/ethereum/staking/nexusmutual_ethereum_base_staking_pools.sql @@ -30,9 +30,9 @@ staking_pools_created as ( call_tx_hash as tx_hash_created from {{ source('nexusmutual_ethereum', 'Cover_call_createStakingPool') }} where call_success - and contract_address = 0xcafeac0fF5dA0A2777d915531bfA6B29d282Ee62 + and contract_address = 0xcafeac0fF5dA0A2777d915531bfA6B29d282Ee62 -- proxy union all - select + select call_block_time as block_time_created, output_0 as pool_id, output_1 as pool_address, @@ -94,7 +94,8 @@ staking_pool_products_updated as ( from {{ source('nexusmutual_ethereum', 'StakingProducts_call_setProducts') }} as p cross join unnest(params) as t(json) where p.call_success - and p.contract_address = 0xcafea573fBd815B5f59e8049E71E554bde3477E4 + --and p.contract_address = 0xcafea573fBd815B5f59e8049E71E554bde3477E4 + and p.contract_address <> 0xcafea524e89514e131ee9f8462536793d49d8738 and cast(json_query(t.json, 'lax $.setTargetWeight') as boolean) = true ) t ), From e5430de23e856e54f3db43b1e03aef2218cb418b Mon Sep 17 00:00:00 2001 From: K-Lascar <36436810+K-Lascar@users.noreply.github.com> Date: Thu, 23 Jan 2025 06:05:50 +1100 Subject: [PATCH 04/10] Add trump and melania coin (#7513) * Update RWA jar Hi everyone, just updating a previous RWA Jar address for Maker Ethereum Accounting * Update maker_ethereum_accounting.sql * Update with new Coinbase RWA Jar * Support for More Keepers Into Maker Accounting Added Keeper Addresses for Gelato, Chainlink, KEEP3R, and Techops. Added support for these Keeper addresses Modified burning case to use Keeper code * Fix bug of spellbook format * Try to migrate maker_ethereum_accounting * Update FlapFlop contract_address * Rewrite right() * Rewrite left() * Fix from keyword * Fix quotes * Fix interval * Fix numeric(38) * Fix ilk ref * Use distinct to replace group by * Use distinct to replace group by * Fix uint256 and int256 comparison * Fix type compatibility * Fix timestamp * Fix uint256 and int256 comparison * Cast rad to int256 * Recover models/maker/ethereum/maker_ethereum_accounting.sql * Add political coins Added TRUMP and MELANIA * Update prices_solana_tokens.sql --------- Co-authored-by: Huang Geyang --- .../tokens/models/prices/solana/prices_solana_tokens.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dbt_subprojects/tokens/models/prices/solana/prices_solana_tokens.sql b/dbt_subprojects/tokens/models/prices/solana/prices_solana_tokens.sql index 791f3f58b63..cff67f6840b 100644 --- a/dbt_subprojects/tokens/models/prices/solana/prices_solana_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/solana/prices_solana_tokens.sql @@ -716,5 +716,7 @@ FROM ('fxn-fxn', 'solana', 'FXN', '92cRC6kV5D7TiHX1j56AbkPbffo9jwcXxSDQZ8Mopump',6), ('griffain-test-griffaincom', 'solana', 'GRIFFAIN', 'KENJSUYLASHUMfHyy5o4Hp2FdNqZg1AsUPhfH2kYvEP', 6), ('tank-agenttank', 'solana', 'TANK', 'GAMwtMB6onAvBNBQJCJFuxoaqfPH8uCQ2dewNMVVpump', 6), - ('pengu-pudgy-penguins', 'solana', 'PENGU', '2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv', 6) + ('pengu-pudgy-penguins', 'solana', 'PENGU', '2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv', 6), + ('trump-official-trump', 'solana', 'TRUMP', '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', 6), + ('melania-melania-meme','solana', 'MELANIA', 'FUAfBo2jgks6gB4Z4LfZkqSZgzNucisEHqnNebaRxM1P', 6) ) as temp (token_id, blockchain, symbol, contract_address, decimals) From d1eac22820e96e97b86191ebb206d172b31fe25b Mon Sep 17 00:00:00 2001 From: 0xroll <96259407+0xroll@users.noreply.github.com> Date: Thu, 23 Jan 2025 03:06:09 +0800 Subject: [PATCH 05/10] [easy] add tokens in tokens_zksync_erc20.sql and prices table (#7506) * add tokens in tokens_zksync_erc20.sql * add more tokens * add token pricefeed for deUSD --- .../tokens/models/prices/zksync/prices_zksync_tokens.sql | 3 ++- .../tokens/models/tokens/zksync/tokens_zksync_erc20.sql | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/dbt_subprojects/tokens/models/prices/zksync/prices_zksync_tokens.sql b/dbt_subprojects/tokens/models/prices/zksync/prices_zksync_tokens.sql index 4d3b378fa55..b30bee862bb 100644 --- a/dbt_subprojects/tokens/models/prices/zksync/prices_zksync_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/zksync/prices_zksync_tokens.sql @@ -71,5 +71,6 @@ FROM ('bnb-binance-coin', 'zksync', 'BNB', 0x7400793aad94c8ca801aa036357d10f5fd0ce08f, 18), ('xvs-venus', 'zksync', 'XVS', 0xd78abd81a3d57712a3af080dc4185b698fe9ac5a, 18), ('usd-overnightfi-usd-arbitrum', 'zksync', 'USD+', 0x8e86e46278518efc1c5ced245cba2c7e3ef11557, 6), - ('vno-veno-finance', 'zksync', 'VNO', 0xe75a17b4f5c4f844688d5670b684515d7c785e63, 18) + ('vno-veno-finance', 'zksync', 'VNO', 0xe75a17b4f5c4f844688d5670b684515d7c785e63, 18), + ('deusd-elixir-deusd', 'zksync', 'deUSD', 0xb21f16d1ea2e8d96ccfafa397cef855bf368aa83, 18) ) as temp (token_id, blockchain, symbol, contract_address, decimals) diff --git a/dbt_subprojects/tokens/models/tokens/zksync/tokens_zksync_erc20.sql b/dbt_subprojects/tokens/models/tokens/zksync/tokens_zksync_erc20.sql index 0c0c6be5826..b23f0f7c5bd 100644 --- a/dbt_subprojects/tokens/models/tokens/zksync/tokens_zksync_erc20.sql +++ b/dbt_subprojects/tokens/models/tokens/zksync/tokens_zksync_erc20.sql @@ -337,6 +337,7 @@ FROM (VALUES (0x140d5bc5b62d6cb492b1a475127f50d531023803, 'DERI', 18), (0x0bf4cb727b3f8092534d793893b2cc3348963dbf, 'DERP', 18), (0x44e4a7f3de18c6e843bfe8754c23aa4e67e6a433, 'DEShare', 18), + (0xb21f16d1ea2e8d96ccfafa397cef855bf368aa83, 'deUSD', 18), (0x9929bcac4417a21d7e6fc86f6dae1cc7f27a2e41, 'DEXTF', 18), (0x8ab7ed6e7ee07c7bc4782f5de76d6f4a01790996, 'DH', 18), (0x66df663d5756fad6ef60d7ef2553d06ffd4ed178, 'DIX', 18), @@ -715,6 +716,7 @@ FROM (VALUES (0x4e7d2e3f40998daeb59a316148bfbf8efd1f7f3c, 'LUSD/WETH cSLP', 18), (0x05bc528d8a3378c82a1cc3d29f47998bc9af33a4, 'LXB', 18), (0xc38688f834f6eee749782c46c11dd8f46218310f, 'Lola', 18), + (0xe757355edba7ced7b8c0271bba4efda184ad75ab, 'M-BTC', 18), (0x336a72ecbd7de4e70b7059d5d183fbd88684a7ff, 'MAGE', 18), (0x72f23f10ecee6644ab4dc5c7d7ee98353f5b1fdc, 'MAGE', 18), (0xa37125136121fb2bea2a68549aaf76fe6526758c, 'MAGE-LP', 18), @@ -1045,6 +1047,7 @@ FROM (VALUES (0x05b445a40867d5003c9cbf8f36ffa084059ed64c, 'RVW', 0), (0x1800c4ad56dc810f21f4ede44724c9d32e4c0ce7, 'RW1', 18), (0xafdb096e62a41371c9cf466ae4980a34a214036b, 'ReWiki', 18), + (0x8b73bb0557c151daa39b6ff556e281e445b296d5, 'rzkETH', 18), (0xea93cb45b36be07881ec5a5716358ceb9cf6140b, 'S2', 18), (0xe3d85bd3363b6f0f91351591f9a8fd0d0a1145ed, 'SA', 18), (0xb2fe936c5e686dac742cf9d9902fd10fe3d58608, 'SAK3', 18), @@ -1383,6 +1386,7 @@ FROM (VALUES (0x555fb0ca9829fd2b7a93596a87b3cd8fd7815d8b, 'USDCHS', 6), (0x1313b37c32dda11b9fb8a6f0726887bfc1c89ce7, 'USDD', 18), (0x83650b14c0117d97aee88c68bb85d07ac42923f7, 'USDD', 10), + (0x39Fe7a0DACcE31Bd90418e3e659fb0b5f0B3Db0d, 'USDe', 18), (0x790e4a97ffa927987ee0f50512c22031bb5533f0, 'USDG', 18), (0x5f90c37ec885fca36fbbd035650eb6b3df10c55c, 'USDG', 18), (0x0be1a4b9eb5e13695f5c019068361fbf2c797a1f, 'USDP', 10), @@ -2003,6 +2007,7 @@ FROM (VALUES (0x9793eac2fecef55248efa039bec78e82ac01cb2f, 'earlyZERO', 18), (0x6887e2a86b482aecc78f93056bc34bfa5cfe5c3c, 'ef', 18), (0xc4224c3020f6c157ae31c0af8a983777fdd993a5, 'ely', 18), + (0x686b311F82b407f0be842652a98e5619F64cC25F, 'ENA', 18), (0xaaab3c3abf6b06c55757dc5a28788c886db811dc, 'enr', 18), (0x1886dfa728ed34a1b46decf7211cb643a844b982, 'esFUL', 18), (0xca6d99e423d88d0b6a9d7aa3f0fcf0cada92d6ac, 'esGOVI', 18), @@ -2205,6 +2210,7 @@ FROM (VALUES (0x14381d5d1352322b038bc988025a1e74dba1bffe, 'sMLP (WETH/wrsETH)', 18), (0x5201b081f63b1915b00ce02da88c4f91dd339bfc, 'sMLP (WETH/wstETH)', 18), (0xcd98e2c68248de044c3e44144c34d9ebb09337a9, 'sUSDC', 6), + (0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8, 'sUSDe', 18), (0xa258d1cfecadd96c763dfa50284525f1529cfb35, 'sZKE', 18), (0x2c72bfbea87ad1107da0e4b3431e39c47a23b955, 'sZOHM', 9), (0x1768f42e953a4c082e63597fe90a873ed61bc3b8, 'sbFUL', 18), @@ -2429,6 +2435,7 @@ FROM (VALUES (0x11ef47783740b3f0c9736d54be8ef8953c3ead99, 'xSWORD', 18), (0x24b7c8ca4379b3f2a833c5d56a7b11d1b274b463, 'xUSD', 18), (0xe62b571e9f40d158cb20796c56e93475d896c56d, 'xUSDC', 8), + (0xD78ABD81a3D57712a3af080dc4185b698Fe9ac5A, 'XVS', 18), (0x4f91f1321b3e686a93763a9b42e7d6ce6e999a78, 'xWBTC', 8), (0xa9a124b9b4174f10a3c8bfd760d031ab43389386, 'xZGEM', 18), (0x68623581b4e00c82978ed0aef803caaf1e65ca63, 'xxlb', 18), @@ -2485,6 +2492,7 @@ FROM (VALUES (0x0d0da0914ac765f7aba5a010b200a0afa29576c0, 'zkDAI', 8), (0x77afaa43d24c1599243f9ce0cd442d79f16cd84c, 'zkERA', 6), (0x36002f692234cdf2f115ee701a9899dcb69f19d8, 'zkETH', 8), + (0xb72207E1FB50f341415999732A20B6D25d8127aa, 'zkETH', 18), (0x3e725a194d83e2acadb4cf243301ef906d3e63bb, 'zkEggs', 18), (0xe03dbd5ad83d6cbc119049cba7d3a5a5c9279060, 'zkFARC', 18), (0xf15c36cf72fbc20998067bd81cd39cb0e0b829d5, 'zkFlash', 18), From ddda8dbd3087fa438cfd844c633bec2e6baf45b1 Mon Sep 17 00:00:00 2001 From: Peter <49856481+peterrliem@users.noreply.github.com> Date: Thu, 23 Jan 2025 03:06:44 +0800 Subject: [PATCH 06/10] Expose Ronin in token transfers spell (#7431) Co-authored-by: jeff-dude <102681548+jeff-dude@users.noreply.github.com> --- .../tokens/models/transfers_and_balances/tokens_transfers.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/dbt_subprojects/tokens/models/transfers_and_balances/tokens_transfers.sql b/dbt_subprojects/tokens/models/transfers_and_balances/tokens_transfers.sql index cd61477683a..55bc41b3a7f 100644 --- a/dbt_subprojects/tokens/models/transfers_and_balances/tokens_transfers.sql +++ b/dbt_subprojects/tokens/models/transfers_and_balances/tokens_transfers.sql @@ -14,6 +14,7 @@ ,"linea" ,"mantle" ,"optimism" + ,"ronin" ,"polygon" ,"scroll" ,"sei" From b0d76144425a85217ad6818a4db7e2de65022ebe Mon Sep 17 00:00:00 2001 From: Huang Geyang Date: Thu, 23 Jan 2025 03:07:17 +0800 Subject: [PATCH 07/10] Add wagmi sonic trades (#7510) * Add wagmi source * Add wagmi_sonic_base_trades * Add wagmi_sonic_base_trades_seed and test * Fix seed blank --- .../dex/models/trades/sonic/_schema.yml | 19 ++++++++++++++++- .../trades/sonic/dex_sonic_base_trades.sql | 1 + .../platforms/wagmi_sonic_base_trades.sql | 21 +++++++++++++++++++ dbt_subprojects/dex/seeds/trades/_schema.yml | 15 +++++++++++++ .../trades/wagmi_sonic_base_trades_seed.csv | 3 +++ sources/_sector/dex/trades/sonic/_sources.yml | 7 +++++++ 6 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 dbt_subprojects/dex/models/trades/sonic/platforms/wagmi_sonic_base_trades.sql create mode 100644 dbt_subprojects/dex/seeds/trades/wagmi_sonic_base_trades_seed.csv create mode 100644 sources/_sector/dex/trades/sonic/_sources.yml diff --git a/dbt_subprojects/dex/models/trades/sonic/_schema.yml b/dbt_subprojects/dex/models/trades/sonic/_schema.yml index 6b96924ec34..a0f5eb9956e 100644 --- a/dbt_subprojects/dex/models/trades/sonic/_schema.yml +++ b/dbt_subprojects/dex/models/trades/sonic/_schema.yml @@ -20,4 +20,21 @@ models: - tx_hash - evt_index - check_dex_base_trades_seed: - seed_file: ref('beets_sonic_base_trades_seed') \ No newline at end of file + seed_file: ref('beets_sonic_base_trades_seed') + + - name: wagmi_sonic_base_trades + meta: + blockchain: sonic + sector: dex + project: wagmi + contributors: hosuke + config: + tags: ['sonic', 'dex', 'trades', 'wagmi'] + description: "wagmi sonic base trades" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - tx_hash + - evt_index + - check_dex_base_trades_seed: + seed_file: ref('wagmi_sonic_base_trades_seed') \ No newline at end of file diff --git a/dbt_subprojects/dex/models/trades/sonic/dex_sonic_base_trades.sql b/dbt_subprojects/dex/models/trades/sonic/dex_sonic_base_trades.sql index bf2a270bfa8..e3f6f4f9b91 100644 --- a/dbt_subprojects/dex/models/trades/sonic/dex_sonic_base_trades.sql +++ b/dbt_subprojects/dex/models/trades/sonic/dex_sonic_base_trades.sql @@ -7,6 +7,7 @@ {% set base_models = [ ref('beets_sonic_base_trades') + , ref('wagmi_sonic_base_trades') ] %} WITH base_union AS ( diff --git a/dbt_subprojects/dex/models/trades/sonic/platforms/wagmi_sonic_base_trades.sql b/dbt_subprojects/dex/models/trades/sonic/platforms/wagmi_sonic_base_trades.sql new file mode 100644 index 00000000000..067651bbbdc --- /dev/null +++ b/dbt_subprojects/dex/models/trades/sonic/platforms/wagmi_sonic_base_trades.sql @@ -0,0 +1,21 @@ +{{ + config( + schema = 'wagmi_sonic', + alias = 'base_trades', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'evt_index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{{ + uniswap_compatible_v3_trades( + blockchain = 'sonic', + project = 'wagmi', + version = '3', + Pair_evt_Swap = source('wagmi_sonic', 'UniswapV3Pool_evt_Swap'), + Factory_evt_PoolCreated = source('wagmi_sonic', 'UniswapV3Factory_evt_PoolCreated') + ) +}} \ No newline at end of file diff --git a/dbt_subprojects/dex/seeds/trades/_schema.yml b/dbt_subprojects/dex/seeds/trades/_schema.yml index ac41a4744f8..ca9b983cdf3 100644 --- a/dbt_subprojects/dex/seeds/trades/_schema.yml +++ b/dbt_subprojects/dex/seeds/trades/_schema.yml @@ -4731,6 +4731,21 @@ seeds: block_date: timestamp - name: camelot_corn_base_trades_seed + config: + column_types: + blockchain: varchar + project: varchar + version: varchar + tx_hash: varbinary + evt_index: uint256 + block_number: uint256 + token_bought_address: varbinary + token_sold_address: varbinary + token_bought_amount_raw: uint256 + token_sold_amount_raw: uint256 + block_date: timestamp + + - name: wagmi_sonic_base_trades_seed config: column_types: blockchain: varchar diff --git a/dbt_subprojects/dex/seeds/trades/wagmi_sonic_base_trades_seed.csv b/dbt_subprojects/dex/seeds/trades/wagmi_sonic_base_trades_seed.csv new file mode 100644 index 00000000000..5fce0db23a8 --- /dev/null +++ b/dbt_subprojects/dex/seeds/trades/wagmi_sonic_base_trades_seed.csv @@ -0,0 +1,3 @@ +blockchain,project,version,block_date,tx_hash,evt_index,token_bought_address,token_sold_address,block_number,token_bought_amount_raw,token_sold_amount_raw +sonic,wagmi,3,2025-01-21,0x8c447cc48a4488870ac0a5a39f42e764a50f159fa9fbadace10a2dca77640f1a,2,0x50c42deacd8fc9773493ed674b675be577f2634b,0x039e2fb66102314ce7b64ce5ce3e5183bc94ad38,4847335,50421632945765830,271700000000000000000 +sonic,wagmi,3,2025-01-21,0x38155f722ac19c89b6b9798d11467bcd9e2ec9ac463dbb09ad3e8b95d0e03cdd,8,0x039e2fb66102314ce7b64ce5ce3e5183bc94ad38,0x50c42deacd8fc9773493ed674b675be577f2634b,4848299,2397204077986245906501,450000000000000000 \ No newline at end of file diff --git a/sources/_sector/dex/trades/sonic/_sources.yml b/sources/_sector/dex/trades/sonic/_sources.yml new file mode 100644 index 00000000000..a831c46212b --- /dev/null +++ b/sources/_sector/dex/trades/sonic/_sources.yml @@ -0,0 +1,7 @@ +version: 2 + +sources: + - name: wagmi_sonic + tables: + - name: UniswapV3Factory_evt_PoolCreated + - name: UniswapV3Pool_evt_Swap \ No newline at end of file From 83370f804c90931dac0226f329f053fec48f93ca Mon Sep 17 00:00:00 2001 From: viniabussafi <131974393+viniabussafi@users.noreply.github.com> Date: Wed, 22 Jan 2025 19:07:42 +0000 Subject: [PATCH 08/10] update enrich_balancer_v3_dex_trades (#7489) * update enrich_balancer_v3_dex_trades * fix group by * fix * fix dataype * improvements after testing --------- Co-authored-by: Huang Geyang --- .../models/enrich_balancer_v3_dex_trades.sql | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/dbt_subprojects/dex/macros/models/enrich_balancer_v3_dex_trades.sql b/dbt_subprojects/dex/macros/models/enrich_balancer_v3_dex_trades.sql index 094f4360d1a..5de22f7bb5f 100644 --- a/dbt_subprojects/dex/macros/models/enrich_balancer_v3_dex_trades.sql +++ b/dbt_subprojects/dex/macros/models/enrich_balancer_v3_dex_trades.sql @@ -70,11 +70,13 @@ WITH base_trades as ( minute, blockchain, wrapped_token, + underlying_token, + underlying_token_symbol, decimals, APPROX_PERCENTILE(median_price, 0.5) AS price, LEAD(minute, 1, NOW()) OVER (PARTITION BY wrapped_token ORDER BY minute) AS time_of_next_change FROM {{ source('balancer_v3', 'erc4626_token_prices') }} - GROUP BY 1, 2, 3, 4 + GROUP BY 1, 2, 3, 4, 5, 6 ) SELECT @@ -85,9 +87,12 @@ SELECT , block_date , block_time , block_number - , token_bought_symbol - , token_sold_symbol - , token_pair + , COALESCE(erc4626a.underlying_token_symbol, + token_bought_symbol) AS token_bought_symbol + , COALESCE(erc4626b.underlying_token_symbol, + token_sold_symbol) AS token_sold_symbol + , CONCAT(COALESCE(erc4626a.underlying_token_symbol, token_bought_symbol), '-', + COALESCE(erc4626b.underlying_token_symbol, token_sold_symbol)) AS token_pair , token_bought_amount , token_sold_amount , token_bought_amount_raw @@ -97,8 +102,10 @@ SELECT dexs.token_bought_amount * erc4626a.price, dexs.token_sold_amount * erc4626a.price ) AS amount_usd - , token_bought_address - , token_sold_address + , COALESCE(erc4626a.underlying_token, + token_bought_address) AS token_bought_address + , COALESCE(erc4626b.underlying_token, + token_sold_address) AS token_sold_address , taker , maker , project_contract_address From 24280ef55eb396438bbd8c33686e6df810ed180a Mon Sep 17 00:00:00 2001 From: Gengar Date: Wed, 22 Jan 2025 21:07:54 +0200 Subject: [PATCH 09/10] Update addresses_optimism_grants_funding.sql (#7419) Co-authored-by: jeff-dude <102681548+jeff-dude@users.noreply.github.com> --- .../optimism/addresses_optimism_grants_funding.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dbt_subprojects/daily_spellbook/models/addresses/optimism/addresses_optimism_grants_funding.sql b/dbt_subprojects/daily_spellbook/models/addresses/optimism/addresses_optimism_grants_funding.sql index 145a3d7a2cb..e6d1f11bc86 100644 --- a/dbt_subprojects/daily_spellbook/models/addresses/optimism/addresses_optimism_grants_funding.sql +++ b/dbt_subprojects/daily_spellbook/models/addresses/optimism/addresses_optimism_grants_funding.sql @@ -264,10 +264,10 @@ FROM (VALUES -- ,('Project', TBD , '[RFG-3] Trail of Bits Security Reviews', 'Season 4') ,('Project', 0xB6B9E9e56AB5a4AF927faa802ac93786352f3af9, 'Cantina.xyx and Spearbit Labs: RFG-3', 'Season 4') ,('Project', 0x697008C9CcA249eB5AbE9583f041A18A850453A4, 'LlamaNodes | High-Performant & Cost-Effective RPCs', 'Season 4') --- ,('Project', TBD, 'FHE x OP ', 'Season 4') --- ,('Project', TBD, 'Identity Fusion in the Optimism Ecosystem ', 'Season 4') --- ,('Project', TBD, 'Metagov', 'Season 4') --- ,('Project', TBD, 'Shapley Values', 'Season 4') +,('Project', 0x4a364125054B47b669af9D16cc65dCE6C6Fbd573, 'FHE x OP', 'Season 4') +,('Project', 0x6297Be9555d698916F1148507e6bA28B67cFbc54, 'Identity Fusion in the Optimism Ecosystem', 'Season 4') +,('Project', 0x9D31e30003f253563Ff108BC60B16Fdf2c93abb5, 'Metagov', 'Season 4') +,('Project', 0x6eDf76FD16Bb290A544fDc14fBB4b403D1DEeD9f, 'Shapley Values', 'Season 4') ,('Project', 0xd6E193cb08efaaF78ec2559fc0617F2ef7245e49, 'Tokenbound: Tooling for 6551', 'Season 4') ,('Project', 0x4a364125054B47b669af9D16cc65dCE6C6Fbd573, 'Compete Guide To Cross Chain / Rollup Interoperability', 'Season 4') ,('Project', 0x6297Be9555d698916F1148507e6bA28B67cFbc54, 'Cross-chain interoperability research', 'Season 4') From e8ca05d9b87960e83df4d3557225964769fffa10 Mon Sep 17 00:00:00 2001 From: Landon Gingerich Date: Wed, 22 Jan 2025 13:08:06 -0600 Subject: [PATCH 10/10] feat: add chain specific logic for zksync shared bridge (#7518) --- .../rollup_economics_zksync_l1_data_fees.sql | 90 ++++++++++++------- ..._economics_zksync_l1_verification_fees.sql | 81 +++++++++++------ 2 files changed, 114 insertions(+), 57 deletions(-) diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_data_fees/chains/rollup_economics_zksync_l1_data_fees.sql b/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_data_fees/chains/rollup_economics_zksync_l1_data_fees.sql index 6c16c23f2ea..7b871365606 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_data_fees/chains/rollup_economics_zksync_l1_data_fees.sql +++ b/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_data_fees/chains/rollup_economics_zksync_l1_data_fees.sql @@ -8,35 +8,65 @@ , incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] )}} +WITH data AS ( + SELECT + cast(date_trunc('month', t.block_time) AS date) AS block_month + , cast(date_trunc('day', t.block_time) AS date) AS block_date + , t.block_time + , t.block_number + , t.hash AS tx_hash + , t.index AS tx_index + , t.gas_price + , t.gas_used + , (t.gas_price / 1e18) * t.gas_used AS data_fee_native + , {{ evm_get_calldata_gas_from_data('t.data') }} AS calldata_gas_used + , (length(t.data)) AS data_length + , CASE -- If prior to shared bridge, chain_id is always equal to 324 for zksync era. If on shared bridge, fetch chain_id. + WHEN bytearray_substring(t.data, 1, 4) IN ( + 0x0c4dd810 -- Commit Block, pre-Boojum + , 0x701f58c5 -- Commit Batches, post-Boojum + , 0xce9dcf16 -- Execute Block, pre-Boojum + , 0xc3d93e7c -- Execute Batches, post-Boojum + ) THEN 324 + WHEN bytearray_substring(t.data, 1, 4) IN ( + 0x6edd4f12 -- Commit Batches Shared Bridge, post-v24 + , 0x6f497ac6 -- Execute Batches Shared Bridge, post-v24 + ) THEN varbinary_to_uint256(varbinary_substring(t.data, 5, 32)) + ELSE 324 + END AS chain_id + FROM {{ source('ethereum', 'transactions') }} t + WHERE t.to IN ( + 0x3dB52cE065f728011Ac6732222270b3F2360d919 -- L1 transactions settle here pre-Boojum + , 0xa0425d71cB1D6fb80E65a5361a04096E0672De03 -- L1 transactions settle here post-Boojum + , 0xa8CB082A5a689E0d594d7da1E2d72A3D63aDc1bD -- L1 transactions settle here post-EIP4844 + , 0x5D8ba173Dc6C3c90C8f7C04C9288BeF5FDbAd06E -- L1 transactions settle here post v24 upgrade (shared bridge) + ) + AND bytearray_substring(t.data, 1, 4) IN ( + 0x0c4dd810 -- Commit Block, pre-Boojum + , 0xce9dcf16 -- Execute Block, pre-Boojum + , 0x701f58c5 -- Commit Batches, post-Boojum + , 0xc3d93e7c -- Execute Batches, post-Boojum + , 0x6edd4f12 -- Commit Batches, post v24 upgrade (shared bridge) + , 0x6f497ac6 -- Execute Batches, post v24 upgrade (shared bridge) + ) + AND t.block_time >= TIMESTAMP '2023-02-14' + {% if is_incremental() %} + AND {{incremental_predicate('t.block_time')}} + {% endif %} +) + SELECT 'zksync era' AS name - , cast(date_trunc('month', t.block_time) AS date) AS block_month - , cast(date_trunc('day', t.block_time) AS date) AS block_date - , t.block_time - , t.block_number - , t.hash AS tx_hash - , t.index AS tx_index - , t.gas_price - , t.gas_used - , (t.gas_price / 1e18) * t.gas_used AS data_fee_native - , {{ evm_get_calldata_gas_from_data('t.data') }} AS calldata_gas_used - , (length(t.data)) AS data_length -FROM {{ source('ethereum', 'transactions') }} t -WHERE t.to IN ( - 0x3dB52cE065f728011Ac6732222270b3F2360d919 -- L1 transactions settle here pre-Boojum - , 0xa0425d71cB1D6fb80E65a5361a04096E0672De03 -- L1 transactions settle here post-Boojum - , 0xa8CB082A5a689E0d594d7da1E2d72A3D63aDc1bD -- L1 transactions settle here post-EIP4844 - , 0x5D8ba173Dc6C3c90C8f7C04C9288BeF5FDbAd06E -- L1 transactions settle here post v24 upgrade (shared bridge) -) -AND bytearray_substring(t.data, 1, 4) IN ( - 0x0c4dd810 -- Commit Block, pre-Boojum - , 0xce9dcf16 -- Execute Block, pre-Boojum - , 0x701f58c5 -- Commit Batches, post-Boojum - , 0xc3d93e7c -- Execute Batches, post-Boojum - , 0x6edd4f12 -- Commit Batches, post v24 upgrade (shared bridge) - , 0x6f497ac6 -- Execute Batches, post v24 upgrade (shared bridge) -) -AND t.block_time >= TIMESTAMP '2023-02-14' -{% if is_incremental() %} -AND {{incremental_predicate('t.block_time')}} -{% endif %} \ No newline at end of file + , block_month + , block_date + , block_time + , block_number + , tx_hash + , tx_index + , gas_price + , gas_used + , data_fee_native + , calldata_gas_used + , data_length +FROM data +WHERE chain_id = 324 -- zksync era diff --git a/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_verification_fees/chains/rollup_economics_zksync_l1_verification_fees.sql b/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_verification_fees/chains/rollup_economics_zksync_l1_verification_fees.sql index 155d129bedb..e25b843fe28 100644 --- a/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_verification_fees/chains/rollup_economics_zksync_l1_verification_fees.sql +++ b/dbt_subprojects/hourly_spellbook/models/_sector/rollup_economics/ethereum/l1_verification_fees/chains/rollup_economics_zksync_l1_verification_fees.sql @@ -8,32 +8,59 @@ , incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] )}} +WITH data AS ( + SELECT + cast(date_trunc('month', t.block_time) AS date) AS block_month + , cast(date_trunc('day', t.block_time) AS date) AS block_date + , t.block_time + , t.block_number + , t.hash AS tx_hash + , t.index AS tx_index + , t.gas_price + , t.gas_used + , (t.gas_price / 1e18) * t.gas_used AS verification_fee_native + , {{ evm_get_calldata_gas_from_data('t.data') }} AS calldata_gas_used + , 44*32 / cast(1024 AS double) / cast(1024 AS double) AS proof_size_mb + , CASE -- If prior to shared bridge, chain_id is always equal to 324 for zksync era. If on shared bridge, fetch chain_id. + WHEN bytearray_substring(t.data, 1, 4) IN ( + 0x7739cbe7 -- Prove Block, pre-Boojum + , 0x7f61885c -- Prove Batches, post-Boojum + ) THEN 324 + WHEN bytearray_substring(t.data, 1, 4) IN ( + 0xc37533bb -- Prove Batches Shared Bridge, post-v24 + ) THEN varbinary_to_uint256(varbinary_substring(t.data, 5, 32)) + ELSE 324 + END AS chain_id + FROM {{ source('ethereum', 'transactions') }} AS t + WHERE t.to IN ( + 0x3dB52cE065f728011Ac6732222270b3F2360d919 -- L1 transactions settle here pre-Boojum + , 0xa0425d71cB1D6fb80E65a5361a04096E0672De03 -- L1 transactions settle here post-Boojum + , 0xa8CB082A5a689E0d594d7da1E2d72A3D63aDc1bD -- L1 transactions settle here post-EIP4844 + , 0x5D8ba173Dc6C3c90C8f7C04C9288BeF5FDbAd06E -- L1 transactions settle here post v24 upgrade (shared bridge) + ) + AND bytearray_substring(t.data, 1, 4) IN ( + 0x7739cbe7 -- Prove Block, pre-Boojum + , 0x7f61885c -- Prove Batches, post-Boojum + , 0xc37533bb -- Prove Batches, post v24 upgrade (shared bridge) + ) + AND t.block_time >= TIMESTAMP '2023-02-14' + {% if is_incremental() %} + AND {{incremental_predicate('t.block_time')}} + {% endif %} +) + SELECT 'zksync era' AS name - , cast(date_trunc('month', t.block_time) AS date) AS block_month - , cast(date_trunc('day', t.block_time) AS date) AS block_date - , t.block_time - , t.block_number - , t.hash AS tx_hash - , t.index AS tx_index - , t.gas_price - , t.gas_used - , (t.gas_price / 1e18) * t.gas_used AS verification_fee_native - , {{ evm_get_calldata_gas_from_data('t.data') }} AS calldata_gas_used - , 44*32 / cast(1024 AS double) / cast(1024 AS double) AS proof_size_mb -FROM {{ source('ethereum', 'transactions') }} AS t -WHERE t.to IN ( - 0x3dB52cE065f728011Ac6732222270b3F2360d919 -- L1 transactions settle here pre-Boojum - , 0xa0425d71cB1D6fb80E65a5361a04096E0672De03 -- L1 transactions settle here post-Boojum - , 0xa8CB082A5a689E0d594d7da1E2d72A3D63aDc1bD -- L1 transactions settle here post-EIP4844 - , 0x5D8ba173Dc6C3c90C8f7C04C9288BeF5FDbAd06E -- L1 transactions settle here post v24 upgrade (shared bridge) -) -AND bytearray_substring(t.data, 1, 4) IN ( - 0x7739cbe7 -- Prove Block, pre-Boojum - , 0x7f61885c -- Prove Batches, post-Boojum - , 0xc37533bb -- Prove Batches, post v24 upgrade (shared bridge) -) -AND t.block_time >= TIMESTAMP '2023-02-14' -{% if is_incremental() %} -AND {{incremental_predicate('t.block_time')}} -{% endif %} \ No newline at end of file + , block_month + , block_date + , block_time + , block_number + , tx_hash + , tx_index + , gas_price + , gas_used + , verification_fee_native + , calldata_gas_used + , proof_size_mb +FROM data +WHERE chain_id = 324 -- zksync era