From 801cfa7d1af317f9c5033f6adad6a24ec9b78640 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Mon, 20 Jan 2025 17:12:41 +0100 Subject: [PATCH 01/20] fix: add missing amms for jupiter tracking (#7483) Done by querying https://station.jup.ag/api-v6/get-program-id-to-label and ensuring all amms listed there are present. --- .../models/jupiter/jupiter_solana_aggregator_swaps.sql | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dbt_subprojects/solana/models/jupiter/jupiter_solana_aggregator_swaps.sql b/dbt_subprojects/solana/models/jupiter/jupiter_solana_aggregator_swaps.sql index 7f4738892fa..dbe144ae03f 100644 --- a/dbt_subprojects/solana/models/jupiter/jupiter_solana_aggregator_swaps.sql +++ b/dbt_subprojects/solana/models/jupiter/jupiter_solana_aggregator_swaps.sql @@ -71,7 +71,11 @@ with ('1DEX', 'DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm'), ('Obric V2', 'obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y'), ('Mooshot', 'MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG'), - ('Fox', 'HyhpEq587ANShDdbx1mP4dTmDZC44CXWft29oYQXDb53') + ('Fox', 'HyhpEq587ANShDdbx1mP4dTmDZC44CXWft29oYQXDb53'), + ('Solayer', 'endoLNCKTqDn8gSVnN2hDdpgACUPWHZTwoYnnMybpAT'), + ('Token Mill', 'JoeaRXgtME3jAoz5WuFXGEndfv4NPH9nBxsLq44hk9J'), + ('Daos.fun', '5jnapfrAN47UYkLkEf7HnprPPBCQLvkYWGZDeKkaP5hv'), + ('ZeroFi', 'ZERor4xhbUycZ6gb9ntrhqscUcZmAbQDjEAtCf4hbZY') ) as v(amm_name, amm) ) From b06ec6a053539f8b62d773e70ce370572cd1b56b Mon Sep 17 00:00:00 2001 From: Peter <157015397+safeintern@users.noreply.github.com> Date: Tue, 21 Jan 2025 05:00:31 +0800 Subject: [PATCH 02/20] Add MORPHO to prices (#7505) Co-authored-by: jeff-dude <102681548+jeff-dude@users.noreply.github.com> --- .../tokens/models/prices/ethereum/prices_ethereum_tokens.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dbt_subprojects/tokens/models/prices/ethereum/prices_ethereum_tokens.sql b/dbt_subprojects/tokens/models/prices/ethereum/prices_ethereum_tokens.sql index a324dbd2686..f98e58db451 100644 --- a/dbt_subprojects/tokens/models/prices/ethereum/prices_ethereum_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/ethereum/prices_ethereum_tokens.sql @@ -1873,7 +1873,9 @@ FROM ('sovrn-sovrun','ethereum', 'SOVRN', 0x031B8d752d73d7Fe9678ACEf26e818280D0646b4, 18), ('apw-spectra','ethereum', 'APW', 0x4104b135dbc9609fc1a9490e61369036497660c8, 18), ('wagmi5-wagmi', 'ethereum', 'WAGMI', 0x92CC36D66e9d739D50673d1f27929a371FB83a67, 18), - ('deusd-elixir-deusd','ethereum', 'DEUSD', 0x15700b564ca08d9439c58ca5053166e8317aa138, 18) + ('deusd-elixir-deusd','ethereum', 'DEUSD', 0x15700b564ca08d9439c58ca5053166e8317aa138, 18), + ('morpho-morpho','ethereum', 'MORPHO', 0x58d97b57bb95320f9a05dc918aef65434969c2b2, 18) + ) as temp (token_id, blockchain, symbol, contract_address, decimals) where contract_address not in ( -- bad price feeds From 4296526569aef7425586082a58b09d269b8fcfc2 Mon Sep 17 00:00:00 2001 From: Mansi <122999960+IrishLatte19@users.noreply.github.com> Date: Tue, 21 Jan 2025 02:30:41 +0530 Subject: [PATCH 03/20] Silver Token Price (#7502) --- .../tokens/models/prices/sonic/prices_sonic_tokens.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/dbt_subprojects/tokens/models/prices/sonic/prices_sonic_tokens.sql b/dbt_subprojects/tokens/models/prices/sonic/prices_sonic_tokens.sql index 6a15f52541d..35eab529e51 100644 --- a/dbt_subprojects/tokens/models/prices/sonic/prices_sonic_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/sonic/prices_sonic_tokens.sql @@ -28,4 +28,5 @@ FROM , ('scusd-sonic-usd', 'scUSD', 0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE, 6) , ('sceth-sonic-eth', 'scETH', 0x3bce5cb273f0f148010bbea2470e7b5df84c7812, 18) , ('sts-staked-sonic', 'stS', 0xe5da20f15420ad15de0fa650600afc998bbe3955, 18) + , ('ag-silver', 'AG', 0x005851f943ee2957b1748957f26319e4f9edebc1, 18) ) as temp (token_id, symbol, contract_address, decimals) From 9b07123803ce76dce6e3983aa41006c27d317ada Mon Sep 17 00:00:00 2001 From: Mansi <122999960+IrishLatte19@users.noreply.github.com> Date: Tue, 21 Jan 2025 02:30:50 +0530 Subject: [PATCH 04/20] GFI token (#7501) --- .../tokens/models/prices/polygon/prices_polygon_tokens.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dbt_subprojects/tokens/models/prices/polygon/prices_polygon_tokens.sql b/dbt_subprojects/tokens/models/prices/polygon/prices_polygon_tokens.sql index 7ab06fd4371..11223d67cb6 100644 --- a/dbt_subprojects/tokens/models/prices/polygon/prices_polygon_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/polygon/prices_polygon_tokens.sql @@ -154,7 +154,8 @@ FROM ('naka-nakamoto-games', 'polygon', 'NAKA',0x311434160d7537be358930def317afb606c0d737, 18), ('sfl1-sunflower-land', 'polygon', 'SFL',0xd1f9c58e33933a993a3891f8acfe05a68e1afc05, 18), ('algb-algebra', 'polygon', 'ALGB',0x0169ec1f8f639b32eec6d923e24c2a2ff45b9dd6, 18), - ('rmv-reality-metaverse', 'polygon', 'RMV',0xf0949dd87d2531d665010d6274f06a357669457a, 18) + ('rmv-reality-metaverse', 'polygon', 'RMV',0xf0949dd87d2531d665010d6274f06a357669457a, 18), + ('gfi-gravity-finance', 'polygon', 'GFI', 0x874e178A2f3f3F9d34db862453Cd756E7eAb0381, 18) ) as temp (token_id, blockchain, symbol, contract_address, decimals) where contract_address not in ( From a906f4b9ad9ca4cf3d9a89f775b8cc9816e22020 Mon Sep 17 00:00:00 2001 From: viniabussafi <131974393+viniabussafi@users.noreply.github.com> Date: Mon, 20 Jan 2025 21:01:00 +0000 Subject: [PATCH 05/20] add missing tokens to tokens.erc20 (#7499) --- .../ethereum/balancer_v3_ethereum_erc4626_token_mapping.sql | 3 ++- .../tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql | 1 + .../tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/dbt_subprojects/hourly_spellbook/models/_project/balancer/erc4626_tokens/ethereum/balancer_v3_ethereum_erc4626_token_mapping.sql b/dbt_subprojects/hourly_spellbook/models/_project/balancer/erc4626_tokens/ethereum/balancer_v3_ethereum_erc4626_token_mapping.sql index 315c92bc772..adaf6faadd0 100644 --- a/dbt_subprojects/hourly_spellbook/models/_project/balancer/erc4626_tokens/ethereum/balancer_v3_ethereum_erc4626_token_mapping.sql +++ b/dbt_subprojects/hourly_spellbook/models/_project/balancer/erc4626_tokens/ethereum/balancer_v3_ethereum_erc4626_token_mapping.sql @@ -68,7 +68,8 @@ SELECT decimals FROM (VALUES (0x7204b7dbf9412567835633b6f00c3edc3a8d6330, 'CoinShift USDC', 'csUSDC', 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, 'USDC', 18), - (0xbeefc011e94f43b8b7b455ebab290c7ab4e216f1, 'CoinShift USDL', 'csUSDL', 0xbdC7c08592Ee4aa51D06C27Ee23D5087D65aDbcD, 'wUSDL', 18) + (0xbeefc011e94f43b8b7b455ebab290c7ab4e216f1, 'CoinShift USDL', 'csUSDL', 0xbdC7c08592Ee4aa51D06C27Ee23D5087D65aDbcD, 'wUSDL', 18), + (0x1e6ffa4e9F63d10B8820A3ab52566Af881Dab53c, 'Gauntlet WETH Ecosystem', 'gtWETHe', 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, 'WETH', 18) ) AS temp_table (erc4626_token, erc4626_token_name, erc4626_token_symbol, underlying_token, underlying_token_symbol, decimals) ) diff --git a/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql b/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql index 7635bf4ce45..745e5c73b07 100644 --- a/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql +++ b/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql @@ -126,4 +126,5 @@ FROM (VALUES , (0x521598765b0E5a4CD743f2769C06787b84617252, 'TLP', 18) , (0xf3527ef8dE265eAa3716FB312c12847bFBA66Cef, 'USDX', 18) , (0x7788A3538C5fc7F9c7C8A74EAC4c898fC8d87d92, 'sUSDX', 18) + , (0xd09ACb80C1E8f2291862c4978A008791c9167003, 'tETH', 18) ) AS temp_table (contract_address, symbol, decimals) diff --git a/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql b/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql index a4be3f402d0..7ddf9d6fe82 100644 --- a/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql +++ b/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql @@ -4747,4 +4747,5 @@ FROM (VALUES , ( 0xbeefc011e94f43b8b7b455ebab290c7ab4e216f1, 'csUSDL', 18) , ( 0xc4441c2be5d8fa8126822b9929ca0b81ea0de38e, 'USUAL', 18) , ( 0xC71Ea051a5F82c67ADcF634c36FFE6334793D24C, 'waEthLidoGHO', 18) + , ( 0x1e6ffa4e9F63d10B8820A3ab52566Af881Dab53c, 'gtWETHe', 18) ) AS temp_table (contract_address, symbol, decimals) From 89f2de37ab356deedd47825413c2f0a2774d5714 Mon Sep 17 00:00:00 2001 From: AIDataMaster Date: Mon, 20 Jan 2025 23:01:10 +0200 Subject: [PATCH 06/20] Move GMX Project To Hourly Directory (#7500) * Move dbt models to hourly_spellbook directory. Modify WithdrawalCreated Event Model * Removed changes in model --- ...mx_v2_arbitrum_claimable_funding_amount_per_size_updated.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_deposit_cancelled.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_deposit_created.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_deposit_executed.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_event_schema.yml | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_execution_fee_refund.sql | 0 .../gmx_v2_arbitrum_funding_fee_amount_per_size_updated.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_glv_created.sql | 0 .../event/arbitrum/gmx_v2_arbitrum_glv_deposit_cancelled.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_created.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_executed.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_cancelled.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_created.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_executed.sql | 0 .../event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_cancelled.sql | 0 .../event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_created.sql | 0 .../event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_executed.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_keeper_execution_fee.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_market_created.sql | 0 .../gmx_v2_arbitrum_open_interest_in_tokens_updated.sql | 0 .../event/arbitrum/gmx_v2_arbitrum_open_interest_updated.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_oracle_price_update.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_order_cancelled.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_order_created.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_order_executed.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_order_frozen.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_order_updated.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_pool_amount_updated.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_position_decrease.sql | 0 .../event/arbitrum/gmx_v2_arbitrum_position_fees_collected.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_info.sql | 0 .../gmx_v2_arbitrum_position_impact_pool_distributed.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_position_increase.sql | 0 .../_project}/gmx/event/arbitrum/gmx_v2_arbitrum_set_uint.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_shift_created.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_shift_executed.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_swap_fees_collected.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_cancelled.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_created.sql | 0 .../gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_executed.sql | 0 ...v2_avalanche_c_claimable_funding_amount_per_size_updated.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_deposit_cancelled.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_deposit_created.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_deposit_executed.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_event_schema.yml | 0 .../avalanche_c/gmx_v2_avalanche_c_execution_fee_refund.sql | 0 .../gmx_v2_avalanche_c_funding_fee_amount_per_size_updated.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_created.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_glv_deposit_cancelled.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_glv_deposit_created.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_glv_deposit_executed.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_glv_shift_cancelled.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_glv_shift_created.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_glv_shift_executed.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_cancelled.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_created.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_executed.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_keeper_execution_fee.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_market_created.sql | 0 .../gmx_v2_avalanche_c_open_interest_in_tokens_updated.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_open_interest_updated.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_oracle_price_update.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_order_cancelled.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_order_created.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_order_executed.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_order_frozen.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_order_updated.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_pool_amount_updated.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_position_decrease.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_position_fees_collected.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_position_fees_info.sql | 0 .../gmx_v2_avalanche_c_position_impact_pool_distributed.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_position_increase.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_set_uint.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_created.sql | 0 .../gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_executed.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_swap_fees_collected.sql | 0 .../avalanche_c/gmx_v2_avalanche_c_withdrawal_cancelled.sql | 0 .../event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql | 2 +- .../avalanche_c/gmx_v2_avalanche_c_withdrawal_executed.sql | 0 .../event/gmx_v2_claimable_funding_amount_per_size_updated.sql | 0 .../models/_project}/gmx/event/gmx_v2_deposit_cancelled.sql | 0 .../models/_project}/gmx/event/gmx_v2_deposit_created.sql | 0 .../models/_project}/gmx/event/gmx_v2_deposit_executed.sql | 0 .../models/_project}/gmx/event/gmx_v2_event_schema.yml | 0 .../models/_project}/gmx/event/gmx_v2_execution_fee_refund.sql | 0 .../gmx/event/gmx_v2_funding_fee_amount_per_size_updated.sql | 0 .../models/_project}/gmx/event/gmx_v2_glv_created.sql | 0 .../models/_project}/gmx/event/gmx_v2_glv_deposit_cancelled.sql | 0 .../models/_project}/gmx/event/gmx_v2_glv_deposit_created.sql | 0 .../models/_project}/gmx/event/gmx_v2_glv_deposit_executed.sql | 0 .../models/_project}/gmx/event/gmx_v2_glv_shift_cancelled.sql | 0 .../models/_project}/gmx/event/gmx_v2_glv_shift_created.sql | 0 .../models/_project}/gmx/event/gmx_v2_glv_shift_executed.sql | 0 .../_project}/gmx/event/gmx_v2_glv_withdrawal_cancelled.sql | 0 .../_project}/gmx/event/gmx_v2_glv_withdrawal_created.sql | 0 .../_project}/gmx/event/gmx_v2_glv_withdrawal_executed.sql | 0 .../models/_project}/gmx/event/gmx_v2_keeper_execution_fee.sql | 0 .../models/_project}/gmx/event/gmx_v2_market_created.sql | 0 .../gmx/event/gmx_v2_open_interest_in_tokens_updated.sql | 0 .../models/_project}/gmx/event/gmx_v2_open_interest_updated.sql | 0 .../models/_project}/gmx/event/gmx_v2_oracle_price_update.sql | 0 .../models/_project}/gmx/event/gmx_v2_order_cancelled.sql | 0 .../models/_project}/gmx/event/gmx_v2_order_created.sql | 0 .../models/_project}/gmx/event/gmx_v2_order_executed.sql | 0 .../models/_project}/gmx/event/gmx_v2_order_frozen.sql | 0 .../models/_project}/gmx/event/gmx_v2_order_updated.sql | 0 .../models/_project}/gmx/event/gmx_v2_pool_amount_updated.sql | 0 .../models/_project}/gmx/event/gmx_v2_position_decrease.sql | 0 .../_project}/gmx/event/gmx_v2_position_fees_collected.sql | 0 .../models/_project}/gmx/event/gmx_v2_position_fees_info.sql | 0 .../gmx/event/gmx_v2_position_impact_pool_distributed.sql | 0 .../models/_project}/gmx/event/gmx_v2_position_increase.sql | 0 .../models/_project}/gmx/event/gmx_v2_set_uint.sql | 0 .../models/_project}/gmx/event/gmx_v2_shift_created.sql | 0 .../models/_project}/gmx/event/gmx_v2_shift_executed.sql | 0 .../models/_project}/gmx/event/gmx_v2_swap_fees_collected.sql | 0 .../models/_project}/gmx/event/gmx_v2_withdrawal_cancelled.sql | 0 .../models/_project}/gmx/event/gmx_v2_withdrawal_created.sql | 0 .../models/_project}/gmx/event/gmx_v2_withdrawal_executed.sql | 0 .../tokens/arbitrum/gmx_v2_arbitrum_collateral_tokens_data.sql | 0 .../_project}/gmx/tokens/arbitrum/gmx_v2_arbitrum_erc20.sql | 0 .../gmx/tokens/arbitrum/gmx_v2_arbitrum_glv_markets_data.sql | 0 .../gmx/tokens/arbitrum/gmx_v2_arbitrum_markets_data.sql | 0 .../gmx/tokens/arbitrum/gmx_v2_arbitrum_tokens_schema.yml | 0 .../avalanche_c/gmx_v2_avalanche_c_collateral_tokens_data.sql | 0 .../gmx/tokens/avalanche_c/gmx_v2_avalanche_c_erc20.sql | 0 .../tokens/avalanche_c/gmx_v2_avalanche_c_glv_markets_data.sql | 0 .../gmx/tokens/avalanche_c/gmx_v2_avalanche_c_markets_data.sql | 0 .../gmx/tokens/avalanche_c/gmx_v2_avalanche_c_tokens_schema.yml | 0 .../_project}/gmx/tokens/gmx_v2_collateral_tokens_data.sql | 0 .../models/_project}/gmx/tokens/gmx_v2_erc20.sql | 0 .../models/_project}/gmx/tokens/gmx_v2_glv_markets_data.sql | 0 .../models/_project}/gmx/tokens/gmx_v2_markets_data.sql | 0 .../models/_project}/gmx/tokens/gmx_v2_tokens_schema.yml | 0 135 files changed, 1 insertion(+), 1 deletion(-) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_claimable_funding_amount_per_size_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_event_schema.yml (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_execution_fee_refund.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_funding_fee_amount_per_size_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_keeper_execution_fee.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_market_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_in_tokens_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_oracle_price_update.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_order_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_order_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_order_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_order_frozen.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_order_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_pool_amount_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_position_decrease.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_collected.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_info.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_position_impact_pool_distributed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_position_increase.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_set_uint.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_shift_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_shift_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_swap_fees_collected.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_claimable_funding_amount_per_size_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_event_schema.yml (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_execution_fee_refund.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_funding_fee_amount_per_size_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_keeper_execution_fee.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_market_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_in_tokens_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_oracle_price_update.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_frozen.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_pool_amount_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_decrease.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_collected.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_info.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_impact_pool_distributed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_increase.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_set_uint.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_swap_fees_collected.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql (99%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_claimable_funding_amount_per_size_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_deposit_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_deposit_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_deposit_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_event_schema.yml (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_execution_fee_refund.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_funding_fee_amount_per_size_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_deposit_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_deposit_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_deposit_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_shift_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_shift_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_shift_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_withdrawal_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_withdrawal_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_glv_withdrawal_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_keeper_execution_fee.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_market_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_open_interest_in_tokens_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_open_interest_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_oracle_price_update.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_order_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_order_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_order_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_order_frozen.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_order_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_pool_amount_updated.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_position_decrease.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_position_fees_collected.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_position_fees_info.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_position_impact_pool_distributed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_position_increase.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_set_uint.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_shift_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_shift_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_swap_fees_collected.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_withdrawal_cancelled.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_withdrawal_created.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/event/gmx_v2_withdrawal_executed.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/arbitrum/gmx_v2_arbitrum_collateral_tokens_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/arbitrum/gmx_v2_arbitrum_erc20.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/arbitrum/gmx_v2_arbitrum_glv_markets_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/arbitrum/gmx_v2_arbitrum_markets_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/arbitrum/gmx_v2_arbitrum_tokens_schema.yml (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_collateral_tokens_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_erc20.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_glv_markets_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_markets_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_tokens_schema.yml (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/gmx_v2_collateral_tokens_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/gmx_v2_erc20.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/gmx_v2_glv_markets_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/gmx_v2_markets_data.sql (100%) rename dbt_subprojects/{daily_spellbook/models/_projects => hourly_spellbook/models/_project}/gmx/tokens/gmx_v2_tokens_schema.yml (100%) diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_claimable_funding_amount_per_size_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_claimable_funding_amount_per_size_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_claimable_funding_amount_per_size_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_claimable_funding_amount_per_size_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_deposit_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_event_schema.yml b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_event_schema.yml similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_event_schema.yml rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_event_schema.yml diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_execution_fee_refund.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_execution_fee_refund.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_execution_fee_refund.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_execution_fee_refund.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_funding_fee_amount_per_size_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_funding_fee_amount_per_size_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_funding_fee_amount_per_size_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_funding_fee_amount_per_size_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_deposit_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_shift_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_glv_withdrawal_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_keeper_execution_fee.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_keeper_execution_fee.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_keeper_execution_fee.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_keeper_execution_fee.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_market_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_market_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_market_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_market_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_in_tokens_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_in_tokens_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_in_tokens_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_in_tokens_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_open_interest_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_oracle_price_update.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_oracle_price_update.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_oracle_price_update.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_oracle_price_update.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_frozen.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_frozen.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_frozen.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_frozen.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_order_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_order_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_pool_amount_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_pool_amount_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_pool_amount_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_pool_amount_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_decrease.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_decrease.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_decrease.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_decrease.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_collected.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_collected.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_collected.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_collected.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_info.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_info.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_info.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_fees_info.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_impact_pool_distributed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_impact_pool_distributed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_impact_pool_distributed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_impact_pool_distributed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_increase.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_increase.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_position_increase.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_position_increase.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_set_uint.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_set_uint.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_set_uint.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_set_uint.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_shift_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_shift_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_shift_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_shift_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_shift_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_shift_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_shift_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_shift_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_swap_fees_collected.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_swap_fees_collected.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_swap_fees_collected.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_swap_fees_collected.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/arbitrum/gmx_v2_arbitrum_withdrawal_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_claimable_funding_amount_per_size_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_claimable_funding_amount_per_size_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_claimable_funding_amount_per_size_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_claimable_funding_amount_per_size_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_deposit_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_event_schema.yml b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_event_schema.yml similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_event_schema.yml rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_event_schema.yml diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_execution_fee_refund.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_execution_fee_refund.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_execution_fee_refund.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_execution_fee_refund.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_funding_fee_amount_per_size_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_funding_fee_amount_per_size_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_funding_fee_amount_per_size_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_funding_fee_amount_per_size_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_deposit_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_shift_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_glv_withdrawal_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_keeper_execution_fee.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_keeper_execution_fee.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_keeper_execution_fee.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_keeper_execution_fee.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_market_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_market_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_market_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_market_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_in_tokens_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_in_tokens_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_in_tokens_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_in_tokens_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_open_interest_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_oracle_price_update.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_oracle_price_update.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_oracle_price_update.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_oracle_price_update.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_frozen.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_frozen.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_frozen.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_frozen.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_order_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_pool_amount_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_pool_amount_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_pool_amount_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_pool_amount_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_decrease.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_decrease.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_decrease.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_decrease.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_collected.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_collected.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_collected.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_collected.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_info.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_info.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_info.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_fees_info.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_impact_pool_distributed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_impact_pool_distributed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_impact_pool_distributed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_impact_pool_distributed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_increase.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_increase.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_increase.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_position_increase.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_set_uint.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_set_uint.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_set_uint.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_set_uint.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_shift_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_swap_fees_collected.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_swap_fees_collected.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_swap_fees_collected.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_swap_fees_collected.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql similarity index 99% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql index f42e389f09c..8b1d5fba50b 100644 --- a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql +++ b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_created.sql @@ -153,7 +153,7 @@ WITH evt_data_1 AS ( MAX(CASE WHEN key_name = 'updatedAtTime' THEN value END) AS updated_at_time, MAX(CASE WHEN key_name = 'executionFee' THEN value END) AS execution_fee, MAX(CASE WHEN key_name = 'callbackGasLimit' THEN value END) AS callback_gas_limit, - + MAX(CASE WHEN key_name = 'shouldUnwrapNativeToken' THEN value END) AS should_unwrap_native_token, MAX(CASE WHEN key_name = 'key' THEN value END) AS "key" diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/avalanche_c/gmx_v2_avalanche_c_withdrawal_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_claimable_funding_amount_per_size_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_claimable_funding_amount_per_size_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_claimable_funding_amount_per_size_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_claimable_funding_amount_per_size_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_deposit_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_deposit_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_deposit_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_deposit_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_deposit_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_deposit_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_deposit_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_deposit_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_deposit_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_deposit_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_deposit_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_deposit_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_event_schema.yml b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_event_schema.yml similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_event_schema.yml rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_event_schema.yml diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_execution_fee_refund.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_execution_fee_refund.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_execution_fee_refund.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_execution_fee_refund.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_funding_fee_amount_per_size_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_funding_fee_amount_per_size_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_funding_fee_amount_per_size_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_funding_fee_amount_per_size_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_deposit_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_deposit_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_deposit_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_deposit_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_deposit_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_deposit_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_deposit_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_deposit_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_deposit_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_deposit_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_deposit_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_deposit_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_shift_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_shift_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_shift_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_shift_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_shift_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_shift_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_shift_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_shift_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_shift_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_shift_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_shift_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_shift_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_withdrawal_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_withdrawal_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_withdrawal_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_withdrawal_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_withdrawal_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_withdrawal_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_withdrawal_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_withdrawal_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_withdrawal_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_withdrawal_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_glv_withdrawal_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_glv_withdrawal_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_keeper_execution_fee.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_keeper_execution_fee.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_keeper_execution_fee.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_keeper_execution_fee.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_market_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_market_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_market_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_market_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_open_interest_in_tokens_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_open_interest_in_tokens_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_open_interest_in_tokens_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_open_interest_in_tokens_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_open_interest_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_open_interest_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_open_interest_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_open_interest_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_oracle_price_update.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_oracle_price_update.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_oracle_price_update.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_oracle_price_update.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_frozen.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_frozen.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_frozen.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_frozen.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_order_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_order_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_pool_amount_updated.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_pool_amount_updated.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_pool_amount_updated.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_pool_amount_updated.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_decrease.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_decrease.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_decrease.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_decrease.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_fees_collected.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_fees_collected.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_fees_collected.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_fees_collected.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_fees_info.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_fees_info.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_fees_info.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_fees_info.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_impact_pool_distributed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_impact_pool_distributed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_impact_pool_distributed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_impact_pool_distributed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_increase.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_increase.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_position_increase.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_position_increase.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_set_uint.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_set_uint.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_set_uint.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_set_uint.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_shift_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_shift_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_shift_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_shift_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_shift_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_shift_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_shift_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_shift_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_swap_fees_collected.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_swap_fees_collected.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_swap_fees_collected.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_swap_fees_collected.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_withdrawal_cancelled.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_withdrawal_cancelled.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_withdrawal_cancelled.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_withdrawal_cancelled.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_withdrawal_created.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_withdrawal_created.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_withdrawal_created.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_withdrawal_created.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_withdrawal_executed.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_withdrawal_executed.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/event/gmx_v2_withdrawal_executed.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/event/gmx_v2_withdrawal_executed.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_collateral_tokens_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_collateral_tokens_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_collateral_tokens_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_collateral_tokens_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_erc20.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_erc20.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_erc20.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_erc20.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_glv_markets_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_glv_markets_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_glv_markets_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_glv_markets_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_markets_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_markets_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_markets_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_markets_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_tokens_schema.yml b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_tokens_schema.yml similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/arbitrum/gmx_v2_arbitrum_tokens_schema.yml rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/arbitrum/gmx_v2_arbitrum_tokens_schema.yml diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_collateral_tokens_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_collateral_tokens_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_collateral_tokens_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_collateral_tokens_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_erc20.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_erc20.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_erc20.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_erc20.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_glv_markets_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_glv_markets_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_glv_markets_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_glv_markets_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_markets_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_markets_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_markets_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_markets_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_tokens_schema.yml b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_tokens_schema.yml similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_tokens_schema.yml rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/avalanche_c/gmx_v2_avalanche_c_tokens_schema.yml diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_collateral_tokens_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_collateral_tokens_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_collateral_tokens_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_collateral_tokens_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_erc20.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_erc20.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_erc20.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_erc20.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_glv_markets_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_glv_markets_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_glv_markets_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_glv_markets_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_markets_data.sql b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_markets_data.sql similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_markets_data.sql rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_markets_data.sql diff --git a/dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_tokens_schema.yml b/dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_tokens_schema.yml similarity index 100% rename from dbt_subprojects/daily_spellbook/models/_projects/gmx/tokens/gmx_v2_tokens_schema.yml rename to dbt_subprojects/hourly_spellbook/models/_project/gmx/tokens/gmx_v2_tokens_schema.yml From 33275ef614ea914169fad6dc9e32f4d7843dd58a Mon Sep 17 00:00:00 2001 From: clizzard <145153355+clizzard7@users.noreply.github.com> Date: Mon, 20 Jan 2025 22:01:21 +0100 Subject: [PATCH 07/20] add padre bot (#7496) * add padre bot * fix seed * fixed filter * removed filter --- .../_sector/dex/bot_trades/solana/_schema.yml | 40 +++++++ .../platforms/padre_solana_bot_trades.sql | 112 ++++++++++++++++++ .../platforms/padre_solana_bot_users.sql | 32 +++++ .../seeds/padre/padre_solana_trades_seed.csv | 21 ++++ 4 files changed, 205 insertions(+) create mode 100644 dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_trades.sql create mode 100644 dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_users.sql create mode 100644 dbt_subprojects/solana/seeds/padre/padre_solana_trades_seed.csv diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml index fb74d1ec172..7720ec8024f 100644 --- a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml @@ -777,3 +777,43 @@ models: - check_bot_trades_seed: seed_file: ref('sanji_solana_trades_seed') blockchain: solana + + - name: padre_solana_bot_trades + meta: + blockchain: solana + sector: dex + project: padre + contributors: clizzard + config: + tags: ["solana", "dex", "padre", "trades"] + description: > + Padre trades on Solana + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - tx_id + - tx_index + - outer_instruction_index + - inner_instruction_index + - check_bot_trades_seed: + seed_file: ref('padre_solana_trades_seed') + blockchain: solana + + - name: padre_solana_bot_users + meta: + blockchain: solana + sector: dex + project: padre + contributors: whale_hunter + description: > + padre users on Solana + config: + tags: ["solana", "dex", "bot_trades"] + columns: + - name: user + data_tests: unique + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - user \ No newline at end of file diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_trades.sql b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_trades.sql new file mode 100644 index 00000000000..c927fa41d6f --- /dev/null +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_trades.sql @@ -0,0 +1,112 @@ +{{ + config( + alias="bot_trades", + schema="padre_solana", + partition_by=["block_month"], + materialized="incremental", + file_format="delta", + incremental_strategy='merge', + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')], + unique_key=[ + "blockchain", + "tx_id", + "tx_index", + "outer_instruction_index", + "inner_instruction_index", + ], + ) +}} + +{% set project_start_date = "2024-07-28" %} +{% set fee_receiver_1 = "J5XGHmzrRmnYWbmw45DbYkdZAU2bwERFZ11qCDXPvFB5" %} +{% set wsol_token = "So11111111111111111111111111111111111111112" %} + +with + users as ( + select * from {{ref('padre_solana_bot_users')}} + ), + bottrades as ( + select + trades.block_time, + cast(date_trunc('day', trades.block_time) as date) as block_date, + cast(date_trunc('month', trades.block_time) as date) as block_month, + 'solana' as blockchain, + amount_usd, + if(token_sold_mint_address = '{{wsol_token}}', 'Buy', 'Sell') as type, + token_bought_amount, + token_bought_symbol, + token_bought_mint_address as token_bought_address, + token_sold_amount, + token_sold_symbol, + token_sold_mint_address as token_sold_address, + 0 as fee_usd, + 0 AS fee_token_amount, + 'SOL' as fee_token_symbol, + '{{wsol_token}}' as fee_token_address, + project, + version, + token_pair, + project_program_id as project_contract_address, + trader_id as user, + trades.tx_id, + tx_index, + outer_instruction_index, + inner_instruction_index + from {{ ref("dex_solana_trades") }} as trades + join users on trader_id = user + where + {% if is_incremental() %} {{ incremental_predicate("trades.block_time") }} + {% else %} trades.block_time >= timestamp '{{project_start_date}}' + {% endif %} + ), + highestinnerinstructionindexforeachtrade as ( + select + tx_id, + outer_instruction_index, + max(inner_instruction_index) as highestinnerinstructionindex + from bottrades + group by tx_id, outer_instruction_index + ) +select + block_time, + block_date, + block_month, + 'Padre' as bot, + blockchain, + amount_usd, + type, + token_bought_amount, + token_bought_symbol, + token_bought_address, + token_sold_amount, + token_sold_symbol, + token_sold_address, + fee_usd, + fee_token_amount, + fee_token_symbol, + fee_token_address, + project, + version, + token_pair, + project_contract_address, + user, + bottrades.tx_id, + tx_index, + bottrades.outer_instruction_index, + coalesce(inner_instruction_index, 0) as inner_instruction_index, + if( + inner_instruction_index = highestinnerinstructionindex, true, false + ) as is_last_trade_in_transaction +from bottrades +join + highestinnerinstructionindexforeachtrade + on ( + bottrades.tx_id = highestinnerinstructionindexforeachtrade.tx_id + and bottrades.outer_instruction_index + = highestinnerinstructionindexforeachtrade.outer_instruction_index + ) +order by + block_time desc, + tx_index desc, + outer_instruction_index desc, + inner_instruction_index desc diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_users.sql b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_users.sql new file mode 100644 index 00000000000..66d7c5a3b1e --- /dev/null +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/padre_solana_bot_users.sql @@ -0,0 +1,32 @@ +{{ + config( + alias='bot_users', + schema='padre_solana', + materialized='incremental', + file_format='delta', + incremental_strategy='merge', + unique_key='user' + ) +}} + +{% set project_start_date = "2024-07-28" %} +{% set fee_receiver = "J5XGHmzrRmnYWbmw45DbYkdZAU2bwERFZ11qCDXPvFB5" %} + + +select distinct + signer as user +from {{ source('solana', 'account_activity') }} as activity +inner join {{ source("solana", "transactions") }} as transactions + on tx_id = id + and transactions.block_time = activity.block_time + {% if is_incremental() %} + and {{ incremental_predicate('activity.block_time') }} + and {{ incremental_predicate('transactions.block_time') }} + {% else %} + and activity.block_time >= timestamp '{{project_start_date}}' + and transactions.block_time >= timestamp '{{project_start_date}}' + {% endif %} +where + tx_success + and balance_change > 0 + and address = '{{fee_receiver}}' diff --git a/dbt_subprojects/solana/seeds/padre/padre_solana_trades_seed.csv b/dbt_subprojects/solana/seeds/padre/padre_solana_trades_seed.csv new file mode 100644 index 00000000000..84e4216b07f --- /dev/null +++ b/dbt_subprojects/solana/seeds/padre/padre_solana_trades_seed.csv @@ -0,0 +1,21 @@ +block_time,block_date,block_month,bot,blockchain,amount_usd,type,token_bought_amount,token_bought_symbol,token_bought_address,token_sold_amount,token_sold_symbol,token_sold_address,fee_usd,fee_token_amount,fee_token_symbol,fee_token_address,project,version,token_pair,project_contract_address,user,tx_id,tx_index,outer_instruction_index,inner_instruction_index,is_last_trade_in_transaction +2024-07-29 03:09:46.000 UTC,2024-07-29,2024-07-01,Padre,solana,4342.064413034531,Sell,22.531598843,SOL,So11111111111111111111111111111111111111112,901975.039143,schizo,8sWKTMrh9bWUrvykK4H3jzEzGbEqvJNpS2f7joYKpump,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-schizo,BeT4ArJs2aFpnxm5Mk6cbpSzMRCP2QUiZpHgtcTu18za,EvtcrTLCvF8i1B34oZXWH51UBQHBBzYeb7hEXMftwxDS,2oozDxT679MJYmg9jBjugfB4wpEbQKktA3D2Dp9ux4kEonj4XXi48oAymYqUUqxFKvMkXAriQfew4uzjMjJfca7F,1040,5,0,true +2024-07-29 03:16:22.000 UTC,2024-07-29,2024-07-01,Padre,solana,2708.4800701477,Sell,14.059071218,SOL,So11111111111111111111111111111111111111112,188409.841644,nomnom,6ZrYhkwvoYE4QqzpdzJ7htEHwT2u2546EkTNJ7qepump,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-nomnom,Fhmjp6SMtmD8GXkq8tw6aZjBk3sDpKtKKSH6RToLAX3m,EvtcrTLCvF8i1B34oZXWH51UBQHBBzYeb7hEXMftwxDS,4k5nuVwzhpSQNiFGgnv6NMFrXJScpj6sUTpneNveUEKdXQmSaQBV9d7MuGxqqfosgX2sbxy6tG8VQwvzhjjpoMdm,1011,5,0,true +2024-07-29 03:14:07.000 UTC,2024-07-29,2024-07-01,Padre,solana,1254.2153435262,Sell,6.51168342,SOL,So11111111111111111111111111111111111111112,8818837.982308,MAXXING,F2GVPgWyN4yBSv8zmSw9TmgunQcv7K7MzceFVZzxpump,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-MAXXING,FPDReqibT45v49cfZ1UJcFDerZU73oHFS9CkpzHZyWGH,EvtcrTLCvF8i1B34oZXWH51UBQHBBzYeb7hEXMftwxDS,64Jhz8dPECEptVjyUfL85CsFsuLG7vdsUf5bW2yoNFJ3rtM7X8hxPuU8vLWnzVsHKCibZDDUdRKWbmtVBPeVdbw8,189,5,0,true +2024-07-28 22:52:44.000 UTC,2024-07-28,2024-07-01,Padre,solana,773.38533484703,Sell,4.224533429,SOL,So11111111111111111111111111111111111111112,979444.414913,KNOCKED,7EvQv9xDvLNDDmPxgrt7D11U8RPFgKjd2KUnPNqKcsbg,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-KNOCKED,BCgJt1H9JFkM7BkMyDxViRFoh7xKBPZizM596rWDPhrh,8nsijy3H9LkjGAgWTRKrhtQqj6Ju5uzxZFaoGKU4Xqpy,4WYmYATpNMtk2yVSah6QevYmtEZAqU47arXKw3PcshoXFvsMSgiZUEpxEzm7zj3UnGNAuyMuoR4EUd9FUjppz4nn,1184,5,0,true +2024-07-30 19:53:23.000 UTC,2024-07-30,2024-07-01,Padre,solana,102.58591137975,Sell,0.577135929,SOL,So11111111111111111111111111111111111111112,481090.8646,WADDUP,7z5d8Je3JH5nENwgfDYt755hG3NGUnvgBgTBoka6nF2S,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,WADDUP-SOL,EVLrQHHDuAobUfDQ9Vu9ZCDtxBKRgLVPmDFrTTNenzj2,GQvbUyFERsYEYzYRwmAHT4sQuX3SqGMFNnT1ok6WMDaq,RPdEF9gLhEPzLaetBZrXBpp2Sm7HQbG8RtxW1ZaBwpVwZwUCjuni3i8bC4JmiR1H58sEwcRSEJdjj7GekkQCb9p,1208,4,1,true +2024-07-28 14:34:46.000 UTC,2024-07-28,2024-07-01,Padre,solana,37.042,Buy,345807.758507,MUMI,E3g4eBhwiieY6rMMtsXdTqjsGPTG5J7akSYAsm3fGqeK,0.2,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-MUMI,ACTXLXqL7V7nrw952PEoHFjHag9u4TDdfhFRHyaCWPU,ED3hJpjoC2GVuqm5EAaJNVh3iHy3R9pS1SQ8BtqM9VSY,idkF2fWEv8pCr9eZq2rm6gABBQJVVH55fV9xdoaMnSnNcSuQ1skkAffC8tSGWSjMwBYesQyVd3EBDMq1z6gJkVj,1550,2,6,true +2024-07-28 00:43:30.000 UTC,2024-07-28,2024-07-01,Padre,solana,183.14010000000002,Buy,26007.251225,NEIRO,CTg3ZgYx79zrE1MteDVkmkcGniiFrK1hJ6yiabropump,0.99,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-NEIRO,HvAqakZgurMR2br1eGWPU6EeFcxzmeW8n6Mn7ejEf3DV,8nsijy3H9LkjGAgWTRKrhtQqj6Ju5uzxZFaoGKU4Xqpy,2iYz4AXGnQm2dS6zBY14HzCBtsEjYGCHn3fX3BKdqmYq2QmGAR1cJ7BjBcKdDdN1KfwHUCh45NkBfSeFaLUfkhYg,2725,5,0,true +2024-07-28 10:44:08.000 UTC,2024-07-28,2024-07-01,Padre,solana,40.74339115008,Sell,0.221047044,SOL,So11111111111111111111111111111111111111112,180827.091232,WIFNEIRO,3zmTDxKuANbHWtkLCKLXEByrrP1PqCgN9wCqk2ePpump,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,WIFNEIRO-SOL,5P7NaLqeozNC5rK1GncMVH98rzq1TGXEwJtgGEydu9Xf,DXLX3jgL1su1C73k8ixvepAz5y29UdXKesXjiXFgtHQP,2U9Ngk3agPmsFhC5fDNV3tESkRF7aRBJ7ustqTMt1z3Dsgn2NegmoMbUT4bw7g5utbStpQpp3ja3uZsYB2jMg3bp,180,4,1,true +2024-07-29 00:42:07.000 UTC,2024-07-29,2024-07-01,Padre,solana,183.524003081748,Buy,183.712676,USDC,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0.977302816,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,lifinity,2,USDC-SOL,86eq4kdBkUCHGdCC2SfcqGHRCBGhp2M89aCmuvvxaXsm,5ygynpzLGWfSZn3oS5Eu3iCMHkEQpopzdfRhL2M7oSwE,5QmdnwJFZFkwmfM5B9fDWMBTUi59c7PQBXDB7DddJDjKsebrDLeUyjXB8PFAfN15UucT45k7fQf2Jjwr7a3kJV6Z,106,3,6,true +2024-07-29 04:20:19.000 UTC,2024-07-29,2024-07-01,Padre,solana,3.8407999999999998,Buy,161.644336,NEIRO,CTg3ZgYx79zrE1MteDVkmkcGniiFrK1hJ6yiabropump,0.02,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-NEIRO,HvAqakZgurMR2br1eGWPU6EeFcxzmeW8n6Mn7ejEf3DV,3qxNDrVsmag4YPbcN2vmPZbNDK7aCmojweAcbjHjwFNM,5CWA1n172WLCynmQue2kPf5Rv5zSKnYHHEa9wCYQLsyXQtvFZjDDd3Q23Lx4RFAYrnAWn9tia9F8C2jCeZskBpLd,264,6,0,true +2024-07-28 11:43:28.000 UTC,2024-07-28,2024-07-01,Padre,solana,48.1700458395,Sell,0.260027238,SOL,So11111111111111111111111111111111111111112,115050.920169,WIFNEIRO,3zmTDxKuANbHWtkLCKLXEByrrP1PqCgN9wCqk2ePpump,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,WIFNEIRO-SOL,5P7NaLqeozNC5rK1GncMVH98rzq1TGXEwJtgGEydu9Xf,DXLX3jgL1su1C73k8ixvepAz5y29UdXKesXjiXFgtHQP,5rV5ViYtmZdDViChmXMw3Pyv4r3w3wYXZwupfjduTAhGobfadKK9XBAs921HfHM1WMUkKg5VzBz28X6j24BK4JoV,89,4,1,true +2024-07-28 06:41:17.000 UTC,2024-07-28,2024-07-01,Padre,solana,1802.8890000000001,Buy,254843.411269,ong,358PuxphAQ26nktpniGzcooT1u3TZEsE2HmWgQUMpump,9.9,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-ong,8p7SxnBgw9hghfKnADeKGXDUBDm5L3M24Zd1yzXPuu7m,8nsijy3H9LkjGAgWTRKrhtQqj6Ju5uzxZFaoGKU4Xqpy,WsJeZxGsiNfygva4HEVZyMwjcfwAGrcCBHdxvSXbpJbNpWr35Wc8m3kgmkiUUM3aKzwu4FJrTRDvQVECpPLYooM,93,5,0,true +2024-07-28 01:28:05.000 UTC,2024-07-28,2024-07-01,Padre,solana,390.98506778859,Sell,2.099474133,SOL,So11111111111111111111111111111111111111112,1355263.727115,neiro,3V9KFwFJn9pScbnSCFyr2qTibpbWExV1nMryES2Ppump,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-neiro,GB1yyzxVJ5KVFpKgY36T2nGWPCmBhQ2Rzpf31Tv3WTYU,8nsijy3H9LkjGAgWTRKrhtQqj6Ju5uzxZFaoGKU4Xqpy,5bWtRShoXUArWYXsbpCoicXoCw7axh1aTTd9ZT2wopyTF6CvPoacAaStpd1TPBnWU8L35VcBec6PdBLS1e4fAbQT,18,5,0,true +2024-07-28 23:44:49.000 UTC,2024-07-28,2024-07-01,Padre,solana,406.81369342200003,Sell,2.20316108,SOL,So11111111111111111111111111111111111111112,1364941.357955,Real,AD8HAcdNzLSAeh57VotePz3tn7EQGF3gSAevQ1hGpump,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-Real,9po5SNMNMU9rmwjjMLdN5QFa3KApphjqkUyQN4PGn9M5,8FHmXVGeyszEk2kACRTZQ35rgFnsoCn94321w2odhQqX,4LMWkHJggzbY52TC6Q5gU21BZZ53XoUFqwd3xmubZJNWQwDFahjVcsT71HsNnvHHEBzYmfN3zrAMtNNJ6Qgf2E5b,83,3,0,true +2024-07-30 07:17:52.000 UTC,2024-07-30,2024-07-01,Padre,solana,61.693527707739996,Sell,0.336865391,SOL,So11111111111111111111111111111111111111112,34671.208275033,,CATEkkXvRpQdEZfd8z5uMEptkbmETbEfApPJEHBJDQrJ,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,,8DhfruYZ5PRbhgVtU1yaJDE4rgLHDUN1dHTeMuNkn1iZ,FrvYN7DGZvnv3QYsTt3yYm3gT2A5gkCQhgbyzYfKH4jb,3TK7KpgZtj9yH8o9g1HFqBq5mxAePHMDeRKihgu1vXXtkBS2jC2BYNjsJVvdTaEgC1SPr3yq4kCnDmY2J6iwHx1B,1057,5,1,true +2024-07-28 16:50:14.000 UTC,2024-07-28,2024-07-01,Padre,solana,9.221,Buy,1466828.888015,QTIP,4J3RYcnunRYUURXwgYiyvReJXLKHJcFi2WtYSQi1pump,0.05,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-QTIP,EKNNiWwYL3i4w19sGDfAhdkJ7f3qfYxiJitY4a85M2ef,DAHUU16ALEBkp9jF35mmfTvSNVyNzNJK5UR9YrhC6BGg,4R9toxJ8RL8TujsGTAjR6C4V6A4S5vhWJsUa7FUhYWcxBFh7KZ7xap1uecqwLSeMYk32BNh8DyuUnKxWDVJUdrdL,43,4,4,true +2024-07-30 14:52:04.000 UTC,2024-07-30,2024-07-01,Padre,solana,0.006401098439999999,Sell,0.000035332,SOL,So11111111111111111111111111111111111111112,41.313000817,SIMBA,FwTkVa9gVRdXg1zR6dqSqr6EQpTjBWHNiwmAhBEtHmwc,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-SIMBA,FoRSDXpf8L5BnsUMPRq79eSUVC7ZHaNCPa5ypy2KVyes,627vtWXuV97MZFqBzZJx3BmDj9yycguWqDb1aXBoa1eP,4uHqgdNhUdmC7VGJPzmKd6rc2GCH2vhq5QXtktwwKiNhWcrX9wMJo45WbaxYbLbvogMmH4onD2PVZKscQQpGnswp,66,6,0,true +2024-07-30 19:56:24.000 UTC,2024-07-30,2024-07-01,Padre,solana,18.45030568608,Sell,0.103635936,SOL,So11111111111111111111111111111111111111112,120272.7161,WADDUP,7z5d8Je3JH5nENwgfDYt755hG3NGUnvgBgTBoka6nF2S,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,WADDUP-SOL,EVLrQHHDuAobUfDQ9Vu9ZCDtxBKRgLVPmDFrTTNenzj2,GQvbUyFERsYEYzYRwmAHT4sQuX3SqGMFNnT1ok6WMDaq,5bYhKZqL1UZwvXD3LaKwVQpvFAWfRkXt5oTBVVku3oFx15U7bTow8eQ2nMW7g1jXb1HU3PGDvtHBGjDqJQwfqMFn,558,4,1,true +2024-07-28 01:24:41.000 UTC,2024-07-28,2024-07-01,Padre,solana,919.3634999999999,Buy,1355263.727115,neiro,3V9KFwFJn9pScbnSCFyr2qTibpbWExV1nMryES2Ppump,4.95,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-neiro,GB1yyzxVJ5KVFpKgY36T2nGWPCmBhQ2Rzpf31Tv3WTYU,8nsijy3H9LkjGAgWTRKrhtQqj6Ju5uzxZFaoGKU4Xqpy,4hZeMtVdNKCsuN6Mfyc5HcVdt8JeKAMLTUdo3AwCYD52n6tNQFjMJEV7YAmfZzLAzX59z3wHCAMU7UBDS6GuRdbb,72,6,0,true +2024-07-28 14:13:50.000 UTC,2024-07-28,2024-07-01,Padre,solana,185.9,Buy,7700.720547,NEIRO,CTg3ZgYx79zrE1MteDVkmkcGniiFrK1hJ6yiabropump,1,SOL,So11111111111111111111111111111111111111112,0,0,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-NEIRO,HvAqakZgurMR2br1eGWPU6EeFcxzmeW8n6Mn7ejEf3DV,4YaMSrppjbBGzzfGVKKBMnPNuABE9QaA5fJ1mzY6bwot,5pHGRjFt8J4XxbjDTHUBdgvquymLfK2Md1YFurvY5r1QPbppAyDetjEtdHdWuzT2oXkd1BEYiZ8Hv9dySSBGCfP6,2861,6,1,true From 1704dd701daf2e2fab58e556543582a4b0e3552c Mon Sep 17 00:00:00 2001 From: Patel Princi Date: Tue, 21 Jan 2025 02:32:04 +0530 Subject: [PATCH 08/20] jojo on base (#7491) --- dbt_subprojects/dex/models/dex_info.sql | 1 + .../dex/models/trades/base/_schema.yml | 17 +++++++ .../trades/base/dex_base_base_trades.sql | 1 + .../base/platforms/jojo_base_base_trades.sql | 50 +++++++++++++++++++ dbt_subprojects/dex/seeds/trades/_schema.yml | 17 ++++++- .../trades/jojo_base_base_trades_seed.csv | 2 + sources/_sector/dex/trades/base/_sources.yml | 3 ++ 7 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 dbt_subprojects/dex/models/trades/base/platforms/jojo_base_base_trades.sql create mode 100644 dbt_subprojects/dex/seeds/trades/jojo_base_base_trades_seed.csv diff --git a/dbt_subprojects/dex/models/dex_info.sql b/dbt_subprojects/dex/models/dex_info.sql index 5c99e1ed15d..93e0b07e383 100644 --- a/dbt_subprojects/dex/models/dex_info.sql +++ b/dbt_subprojects/dex/models/dex_info.sql @@ -199,5 +199,6 @@ FROM (VALUES , ('enosys', 'Enosys', 'Direct', 'enosys_global') , ('gravity_finance', 'GravityFinance', 'Direct', 'Gravity_Finance') , ('fluid', 'Fluid DEX', 'Direct', '0xfluid') + , ('jojo', 'JOJO', 'Direct', 'jojo_exchange') , ('beets', 'Beets DEX', 'Direct', 'beets_fi') ) AS temp_table (project, name, marketplace_type, x_username) diff --git a/dbt_subprojects/dex/models/trades/base/_schema.yml b/dbt_subprojects/dex/models/trades/base/_schema.yml index 9648dedd6a4..6632cdef796 100644 --- a/dbt_subprojects/dex/models/trades/base/_schema.yml +++ b/dbt_subprojects/dex/models/trades/base/_schema.yml @@ -1041,3 +1041,20 @@ models: - evt_index - check_dex_base_trades_seed: seed_file: ref('akronswap_base_base_trades_seed') + + - name: jojo_base_base_trades + meta: + blockchain: base + sector: dex + project: jojo + contributors: princi + config: + tags: [ 'base', 'dex', 'trades', 'jojo' ] + description: "jojo base 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('jojo_base_base_trades_seed') diff --git a/dbt_subprojects/dex/models/trades/base/dex_base_base_trades.sql b/dbt_subprojects/dex/models/trades/base/dex_base_base_trades.sql index fb04c901264..c3b5362ff13 100644 --- a/dbt_subprojects/dex/models/trades/base/dex_base_base_trades.sql +++ b/dbt_subprojects/dex/models/trades/base/dex_base_base_trades.sql @@ -54,6 +54,7 @@ , ref('infusion_base_base_trades') , ref('flashliquidity_base_base_trades') , ref('akronswap_base_base_trades') + , ref('jojo_base_base_trades') ] %} WITH base_union AS ( diff --git a/dbt_subprojects/dex/models/trades/base/platforms/jojo_base_base_trades.sql b/dbt_subprojects/dex/models/trades/base/platforms/jojo_base_base_trades.sql new file mode 100644 index 00000000000..436bbce8139 --- /dev/null +++ b/dbt_subprojects/dex/models/trades/base/platforms/jojo_base_base_trades.sql @@ -0,0 +1,50 @@ +{{ config( + schema = 'jojo_base', + alias = 'base_trades', + partition_by = ['block_month'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['block_date', 'blockchain', 'project', 'version', 'tx_hash', 'evt_index'] +) }} + +WITH token_swaps AS ( + SELECT + evt_block_number AS block_number, + CAST(evt_block_time AS timestamp(3) with time zone) AS block_time, + evt_tx_from AS maker, + evt_tx_to AS taker, + payAmount AS token_sold_amount_raw, + receivedAmount AS token_bought_amount_raw, + fromToken AS token_sold_address, + toToken AS token_bought_address, + contract_address AS project_contract_address, + evt_tx_hash AS tx_hash, + evt_index AS evt_index + FROM + {{ source('jojo_base', 'FundingRateArbitrage_evt_Swap') }} + {% if is_incremental() %} + WHERE + {{ incremental_predicate('evt_block_time') }} + {% endif %} +) + +SELECT + 'base' AS blockchain, + 'jojo' AS project, + '1' AS version, + CAST(date_trunc('month', token_swaps.block_time) AS date) AS block_month, + CAST(date_trunc('day', token_swaps.block_time) AS date) AS block_date, + token_swaps.block_time, + token_swaps.block_number, + token_swaps.token_sold_amount_raw, + token_swaps.token_bought_amount_raw, + token_swaps.token_sold_address, + token_swaps.token_bought_address, + token_swaps.maker, + token_swaps.taker, + token_swaps.project_contract_address, + token_swaps.tx_hash, + token_swaps.evt_index +FROM + token_swaps diff --git a/dbt_subprojects/dex/seeds/trades/_schema.yml b/dbt_subprojects/dex/seeds/trades/_schema.yml index cd57b0fb1ae..ac41a4744f8 100644 --- a/dbt_subprojects/dex/seeds/trades/_schema.yml +++ b/dbt_subprojects/dex/seeds/trades/_schema.yml @@ -4649,7 +4649,22 @@ seeds: token_bought_amount_raw: uint256 token_sold_amount_raw: uint256 block_date: timestamp - + + - name: jojo_base_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: beets_sonic_base_trades_seed config: column_types: diff --git a/dbt_subprojects/dex/seeds/trades/jojo_base_base_trades_seed.csv b/dbt_subprojects/dex/seeds/trades/jojo_base_base_trades_seed.csv new file mode 100644 index 00000000000..bf31391545c --- /dev/null +++ b/dbt_subprojects/dex/seeds/trades/jojo_base_base_trades_seed.csv @@ -0,0 +1,2 @@ +blockchain,project,version,block_month,block_date,block_time,block_number,token_sold_amount_raw,token_bought_amount_raw,token_sold_address,token_bought_address,maker,taker,project_contract_address,tx_hash,evt_index +base,jojo,1,2024-05-01 00:00,2024-05-29 00:00,2024-05-29 02:08,15079594,30000000000,7308115452705510033,0x833589fcd6edb6e08f4c7c32d4f71b54bda02913,0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22,0xf7debaf84774b0e4da659ede243c8a84a2afcd14,0x8b7e1924ff57eec8ebd87254e4de6ff397f039d3,0x8b7e1924ff57eec8ebd87254e4de6ff397f039d3,0x2a68b8ffa1c93e692b8fb4584c856ddd4bfef9f5100d977d92d4b65a8be8ddf3,62 \ No newline at end of file diff --git a/sources/_sector/dex/trades/base/_sources.yml b/sources/_sector/dex/trades/base/_sources.yml index 0bb8805bdcc..f35bf7ad7e8 100644 --- a/sources/_sector/dex/trades/base/_sources.yml +++ b/sources/_sector/dex/trades/base/_sources.yml @@ -201,4 +201,7 @@ sources: tables: - name: UniswapV2Pair_evt_Swap - name: UniswapV2Factory_evt_PairCreated + - name: jojo_base + tables: + - name: FundingRateArbitrage_evt_Swap From c4c4123ae65de8b1d8aa21981030ce7eb4214941 Mon Sep 17 00:00:00 2001 From: ChefButterBeer Date: Tue, 21 Jan 2025 05:03:06 +0800 Subject: [PATCH 09/20] Add pcsx on arb to dex trades (#7465) * add pcsx to arb vs seed file * add example output into pcs arb base trade seed csv * add a ExclusiveDutchOrderReactor_evt_Fill table in the arb _sources yml file * modify the sql code to include pcsx arb * modified the sql to fix a bug * fix bug in sql --- .../dex/models/trades/arbitrum/_schema.yml | 3 +- .../pancakeswap_v2_arbitrum_base_trades.sql | 99 ++++++++++++++++--- .../pancakeswap_arbitrum_base_trades_seed.csv | 3 + .../_sector/dex/trades/arbitrum/_sources.yml | 9 +- 4 files changed, 93 insertions(+), 21 deletions(-) diff --git a/dbt_subprojects/dex/models/trades/arbitrum/_schema.yml b/dbt_subprojects/dex/models/trades/arbitrum/_schema.yml index b3957f89920..0e6c3672d5f 100644 --- a/dbt_subprojects/dex/models/trades/arbitrum/_schema.yml +++ b/dbt_subprojects/dex/models/trades/arbitrum/_schema.yml @@ -215,7 +215,7 @@ models: blockchain: arbitrum sector: dex project: pancakeswap - contributors: chef_seaweed, tomfutago + contributors: chef_butterbeer, chef_seaweed, tomfutago config: tags: ["arbitrum", "dex", "trades", "pancakeswap", "uniswap", "v2"] description: "Pancakeswap Arbitrum v2 base trades" @@ -230,6 +230,7 @@ models: version: - 2 - stableswap + - pcsx - name: balancer_v2_arbitrum_base_trades meta: diff --git a/dbt_subprojects/dex/models/trades/arbitrum/platforms/pancakeswap_v2_arbitrum_base_trades.sql b/dbt_subprojects/dex/models/trades/arbitrum/platforms/pancakeswap_v2_arbitrum_base_trades.sql index 382b85091e7..08326425abc 100644 --- a/dbt_subprojects/dex/models/trades/arbitrum/platforms/pancakeswap_v2_arbitrum_base_trades.sql +++ b/dbt_subprojects/dex/models/trades/arbitrum/platforms/pancakeswap_v2_arbitrum_base_trades.sql @@ -25,7 +25,7 @@ dexs_macro AS ( }} ), -dexs AS ( +dexs_ss AS ( -- PancakeSwap v2 stableswap SELECT 'stableswap' AS version, @@ -46,6 +46,51 @@ dexs AS ( {% if is_incremental() %} WHERE {{ incremental_predicate('t.evt_block_time') }} {% endif %} +), + +transfer as ( + select + tx_hash, + "from", + to, + contract_address, + sum(amount_raw) as amount_raw + from {{ source('tokens', 'transfers') }} + where blockchain = 'arbitrum' + and block_date >= date '2024-08-01' + and tx_hash in (select evt_tx_hash from {{ source('pancakeswap_arbitrum', 'ExclusiveDutchOrderReactor_evt_Fill') }}) + {% if is_incremental() %} + and {{ incremental_predicate('block_time') }} + {% endif %} + group by 1,2,3,4 +), + +dexs_pcsx AS ( + -- PancakeSwapX + SELECT + 'pcsx' AS version, + a.evt_block_number AS block_number, + a.evt_block_time AS block_time, + a.swapper AS taker, + a.filler AS maker, + receive.amount_raw AS token_bought_amount_raw, + send.amount_raw AS token_sold_amount_raw, + receive.contract_address AS token_bought_address, + send.contract_address AS token_sold_address, + a.contract_address AS project_contract_address, + a.evt_tx_hash AS tx_hash, + a.evt_index + + FROM {{ source('pancakeswap_arbitrum', 'ExclusiveDutchOrderReactor_evt_Fill') }} a + + LEFT JOIN transfer AS send + ON a.evt_tx_hash = send.tx_hash AND a.swapper = send."from" + + LEFT JOIN transfer AS receive + on a.evt_tx_hash = receive.tx_hash AND a.swapper = receive."to" + {% if is_incremental() %} + WHERE {{ incremental_predicate('a.evt_block_time') }} + {% endif %} ) SELECT @@ -70,18 +115,40 @@ UNION ALL SELECT 'arbitrum' AS blockchain, 'pancakeswap' AS project, - dexs.version, - CAST(date_trunc('month', dexs.block_time) AS date) AS block_month, - CAST(date_trunc('day', dexs.block_time) AS date) AS block_date, - dexs.block_time, - dexs.block_number, - dexs.token_bought_amount_raw, - dexs.token_sold_amount_raw, - dexs.token_bought_address, - dexs.token_sold_address, - dexs.taker, - dexs.maker, - dexs.project_contract_address, - dexs.tx_hash, - dexs.evt_index -FROM dexs + dexs_ss.version, + CAST(date_trunc('month', dexs_ss.block_time) AS date) AS block_month, + CAST(date_trunc('day', dexs_ss.block_time) AS date) AS block_date, + dexs_ss.block_time, + dexs_ss.block_number, + dexs_ss.token_bought_amount_raw, + dexs_ss.token_sold_amount_raw, + dexs_ss.token_bought_address, + dexs_ss.token_sold_address, + dexs_ss.taker, + dexs_ss.maker, + dexs_ss.project_contract_address, + dexs_ss.tx_hash, + dexs_ss.evt_index +FROM dexs_ss +UNION ALL +SELECT + 'arbitrum' AS blockchain, + 'pancakeswap' AS project, + dexs_pcsx.version, + CAST(date_trunc('month', dexs_pcsx.block_time) AS date) AS block_month, + CAST(date_trunc('day', dexs_pcsx.block_time) AS date) AS block_date, + dexs_pcsx.block_time, + dexs_pcsx.block_number, + dexs_pcsx.token_bought_amount_raw, + dexs_pcsx.token_sold_amount_raw, + dexs_pcsx.token_bought_address, + dexs_pcsx.token_sold_address, + dexs_pcsx.taker, + dexs_pcsx.maker, + dexs_pcsx.project_contract_address, + dexs_pcsx.tx_hash, + dexs_pcsx.evt_index +FROM dexs_pcsx +WHERE token_sold_amount_raw > 0 +AND token_bought_amount_raw > 0 +AND token_bought_address is not NULL diff --git a/dbt_subprojects/dex/seeds/trades/pancakeswap_arbitrum_base_trades_seed.csv b/dbt_subprojects/dex/seeds/trades/pancakeswap_arbitrum_base_trades_seed.csv index 48122ab3011..5d46bb546d4 100644 --- a/dbt_subprojects/dex/seeds/trades/pancakeswap_arbitrum_base_trades_seed.csv +++ b/dbt_subprojects/dex/seeds/trades/pancakeswap_arbitrum_base_trades_seed.csv @@ -7,3 +7,6 @@ arbitrum,pancakeswap,2,2023-08-10,0x1958fe5d2b768dff806749c4d029be07fd5a0e182d4d arbitrum,pancakeswap,2,2023-08-10,0xb9cda996210e763e0edaa5489a276e96f4db35161b15b95407f95cfd4a8e2c79,10,0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9,0x82af49447d8a07e3bd95bd0d56f35241523fbab1,120059612,221946,125732913697032 arbitrum,pancakeswap,stableswap,2024-04-01,0x2cf8caf24b570525f082d3654ea210877f7900abb1ec86c463ae70983b6aaee5,26,0xb688ba096b7bb75d7841e47163cd12d18b36a5bf,0x0c880f6761f1af8d9aa9c466984b80dab9a8c9e8,196473076,406168916530447950398,296449467065124408277 arbitrum,pancakeswap,stableswap,2024-04-02,0xbf75e0478b82c5748c534f9f2269016bd818d0b404324cb0a03a5f12f61230cb,12,0xb688ba096b7bb75d7841e47163cd12d18b36a5bf,0x0c880f6761f1af8d9aa9c466984b80dab9a8c9e8,196871367,401013690539420465823,288005566501605715147 +arbitrum,pancakeswap,pcsx,2025-01-13,0x4b740e957457a80213ec5650991d025441ecef3305dfbe3b77d1c14232ce1c9d,7,0x82af49447d8a07e3bd95bd0d56f35241523fbab1,0x912ce59144191c1204e64559fe8253a0e49e6548,294915549,1270358560945986962,5825398783795375785546 +arbitrum,pancakeswap,pcsx,2025-01-13,0xb96773ceea967f9099c585a2d9ff1a2308018291a2c19035ad062e29f285f100,12,0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9,0xaf88d065e77c8cc2239327c5edb3a432268e5831,294910647,200809512,200954754 +arbitrum,pancakeswap,pcsx,2025-01-13,0x93026efe07954361d10336be40c64cd430420472faae447d3aee3568d4e13f76,22,0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9,0xaf88d065e77c8cc2239327c5edb3a432268e5831,294940634,367841716,367794365 \ No newline at end of file diff --git a/sources/_sector/dex/trades/arbitrum/_sources.yml b/sources/_sector/dex/trades/arbitrum/_sources.yml index 818aa443104..fa00d46d12c 100644 --- a/sources/_sector/dex/trades/arbitrum/_sources.yml +++ b/sources/_sector/dex/trades/arbitrum/_sources.yml @@ -40,18 +40,19 @@ sources: - name: LBFactory_evt_LBPairCreated - name: trader_joe_v2_1_arbitrum - name: trader_joe_arbitrum + - name: pancakeswap_arbitrum + tables: + - name: ExclusiveDutchOrderReactor_evt_Fill - name: pancakeswap_v2_arbitrum tables: - name: PancakePair_evt_Swap - name: PancakeFactory_evt_PairCreated + - name: PancakeStableSwapTwoPool_evt_TokenExchange + - name: PancakeStableSwapFactory_evt_NewStableSwapPair - name: pancakeswap_v3_arbitrum tables: - name: PancakeV3Pool_evt_Swap - name: PancakeV3Factory_evt_PoolCreated - - name: pancakeswap_v2_arbitrum - tables: - - name: PancakeStableSwapTwoPool_evt_TokenExchange - - name: PancakeStableSwapFactory_evt_NewStableSwapPair - name: balancer_v2_arbitrum tables: - name: Vault_evt_Swap 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 10/20] 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 11/20] 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 12/20] 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 13/20] 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 14/20] [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 15/20] 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 16/20] 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 17/20] 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 18/20] 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 19/20] 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 From 35d1d10e824e974a843049ed6c0e7358ba22d585 Mon Sep 17 00:00:00 2001 From: 0xRob <83790096+0xRobin@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:57:22 +0700 Subject: [PATCH 20/20] DUX-823 Prices v2 rework (#7391) * initial v2 setup * rename * fix compile * syntax * fixxxeees * moar fixeez * moar fixeez * fixezzz * fixezzz * fix col ref in unique * left anti join * add dex volume filter * add missing select * materialize end model * add uniqueness tests * fix test * store test failures * fix anti join syntax * trigger CI * test CI again * partition by day * remove partition * partition by date * try out minute mean and compare * table * more comparisons * use dex source * fix syntax * syntax * remove temp testing models * syntax * filter out USDe * fix * syntax * add day level prices * syntax * syntax * remove ref * add date * build out daily prices table * syntax * limit data to 30 days * grouping * cast sequence as timestamp * syntax * do 100 days * all the daysgit push! * leave day for follow up PR --------- Co-authored-by: Huang Geyang --- .../tokens/models/prices_v2/_schema.yml | 50 ++++++++++++ .../prices_v2_coinpaprika_minute.sql | 30 +++++++ .../minute_inputs/prices_v2_dex_filter.sql | 43 ++++++++++ .../minute_inputs/prices_v2_dex_minute.sql | 11 +++ .../prices_v2_dex_minute_raw.sql | 65 +++++++++++++++ .../tokens/models/prices_v2/prices_v2_day.sql | 81 +++++++++++++++++++ .../models/prices_v2/prices_v2_latest.sql | 23 ++++++ .../sparse_prices/prices_v2_day_sparse.sql | 27 +++++++ .../sparse_prices/prices_v2_hour_sparse.sql | 27 +++++++ .../sparse_prices/prices_v2_minute_sparse.sql | 41 ++++++++++ 10 files changed, 398 insertions(+) create mode 100644 dbt_subprojects/tokens/models/prices_v2/_schema.yml create mode 100644 dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_coinpaprika_minute.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_filter.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute_raw.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/prices_v2_day.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/prices_v2_latest.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_day_sparse.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_hour_sparse.sql create mode 100644 dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_minute_sparse.sql diff --git a/dbt_subprojects/tokens/models/prices_v2/_schema.yml b/dbt_subprojects/tokens/models/prices_v2/_schema.yml new file mode 100644 index 00000000000..e1c1fe5f935 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/_schema.yml @@ -0,0 +1,50 @@ +version: 2 + +models: + - name: prices_v2_dex_minute_raw + meta: + sector: prices + contributors: 0xRob + description: "sparse minute-level prices sourced from dex.trades, not filtered" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - contract_address + - timestamp + + - name: prices_v2_coinpaprika_minute + meta: + sector: prices + contributors: 0xRob + description: "sparse minute-level prices from coinpaprika (only trusted tokens)" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - contract_address + - timestamp + + - name: prices_v2_minute_sparse + meta: + sector: prices + contributors: 0xRob + description: "sparse minute-level prices from all sources" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - contract_address + - timestamp + + - name: prices_v2_day_sparse + meta: + sector: prices + contributors: 0xRob + description: "sparse day-level prices from all sources" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - contract_address + - timestamp diff --git a/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_coinpaprika_minute.sql b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_coinpaprika_minute.sql new file mode 100644 index 00000000000..4e2a1ae711f --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_coinpaprika_minute.sql @@ -0,0 +1,30 @@ +{{ config( + schema = 'prices_v2' + , alias = 'coinpaprika_minute' + , materialized = 'incremental' + , file_format = 'delta' + , partition_by = ['date'] + , incremental_strategy = 'merge' + , unique_key = ['blockchain', 'contract_address', 'timestamp'] + , incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.timestamp')] + ) +}} + +select + ptt.blockchain + , ptt.contract_address + , p.minute as timestamp + , p.price + , cast(null as double) as volume + , 'coinpaprika' as source + , date_trunc('day', p.minute) as date --partition +from + {{ source('prices','usd_0003') }} as p -- todo: fix this source +inner join + {{ ref('prices_trusted_tokens') }} as ptt + on p.token_id = ptt.token_id +where + 1=1 + {% if is_incremental() %} + and {{ incremental_predicate('p.minute') }} + {% endif %} diff --git a/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_filter.sql b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_filter.sql new file mode 100644 index 00000000000..c7e71747b73 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_filter.sql @@ -0,0 +1,43 @@ +{{ config( + schema='prices_v2' + , alias = 'dex_filter' + , materialized = 'view' + ) +}} + +WITH dex_volume_over_10k as ( + select + blockchain + ,contract_address + from( + SELECT + d.blockchain, + d.token_bought_address as contract_address, + sum(d.amount_usd) as volume -- in USD + FROM {{ source('dex','trades') }} d + group by 1,2 + UNION ALL + SELECT + d.blockchain, + d.token_sold_address as contract_address, + sum(d.amount_usd) as volume -- in USD + FROM {{ source('dex','trades') }} d + group by 1,2 + ) + group by 1,2 + having sum(volume) >= 10000 +) +, manual_filter as ( + SELECT + blockchain, + contract_address + FROM ( + VALUES + ('ethereum', 0x4c9EDD5852cd905f086C759E8383e09bff1E68B3) -- USDe has bad events (ex https://etherscan.io/tx/0x0c9464ff4fea893667a43e96e830073031f5587d8f3b33fb27a8464979f12897#eventlog#151) + ) as t(blockchain, contract_address) +) + +select * +from dex_volume_over_10k +where (blockchain, contract_address) + not in (select blockchain, contract_address from manual_filter) diff --git a/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute.sql b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute.sql new file mode 100644 index 00000000000..b354c312f18 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute.sql @@ -0,0 +1,11 @@ +{{ config( + schema='prices_v2' + , alias = 'dex_minute' + , materialized = 'view' + ) +}} + +SELECT +* +FROM {{ ref('prices_v2_dex_minute_raw') }} +INNER JOIN {{ ref('prices_v2_dex_filter') }} using (blockchain, contract_address) diff --git a/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute_raw.sql b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute_raw.sql new file mode 100644 index 00000000000..f9466fbe0fb --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/minute_inputs/prices_v2_dex_minute_raw.sql @@ -0,0 +1,65 @@ +{{ config( + schema='prices_v2' + , alias = 'dex_minute_raw' + , materialized = 'incremental' + , file_format = 'delta' + , partition_by = ['date'] + , incremental_strategy = 'merge' + , unique_key = ['blockchain', 'contract_address', 'timestamp'] + , incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.timestamp')] + ) +}} + +WITH dex_trades_filter_and_unnest as ( + SELECT + d.blockchain, + d.token_bought_address as contract_address, + d.block_time as timestamp, + d.amount_usd/d.token_bought_amount as price, + d.amount_usd as volume -- in USD + FROM {{ source('dex','trades') }} d + INNER JOIN {{ref('prices_trusted_tokens')}} t + on t.blockchain = d.blockchain + and t.contract_address = d.token_sold_address -- the token traded against is trusted + LEFT JOIN {{ref('prices_trusted_tokens')}} anti_t + on anti_t.blockchain = d.blockchain + and anti_t.contract_address = d.token_bought_address -- the subjected token is already in trusted + WHERE d.amount_usd > 0 and token_bought_amount > 0 and token_bought_address is not null + and anti_t.contract_address is null + {% if is_incremental() %} + AND {{ incremental_predicate('d.block_time') }} + {% endif %} + + UNION ALL + + SELECT + d.blockchain, + d.token_sold_address as contract_address, + d.block_time as timestamp, + d.amount_usd/d.token_sold_amount as price, + d.amount_usd as volume -- in USD + FROM {{ source('dex','trades') }} d + INNER JOIN {{ref('prices_trusted_tokens')}} t + on t.blockchain = d.blockchain + and t.contract_address = d.token_bought_address -- the token traded against is trusted + LEFT JOIN {{ref('prices_trusted_tokens')}} anti_t + on anti_t.blockchain = d.blockchain + and anti_t.contract_address = d.token_sold_address -- the subjected token is already in trusted + WHERE d.amount_usd > 0 and token_sold_amount > 0 and token_sold_address is not null + and anti_t.contract_address is null + {% if is_incremental() %} + AND {{ incremental_predicate('d.block_time') }} + {% endif %} +) + + +SELECT + blockchain, + contract_address, + date_trunc('minute',timestamp) as timestamp, + approx_percentile(price,0.5) as price, -- median + sum(volume) as volume, + 'dex.trades' as source, + date_trunc('day',timestamp) as date -- partition +FROM dex_trades_filter_and_unnest +group by 1,2,3,7 diff --git a/dbt_subprojects/tokens/models/prices_v2/prices_v2_day.sql b/dbt_subprojects/tokens/models/prices_v2/prices_v2_day.sql new file mode 100644 index 00000000000..7aa82d2e096 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/prices_v2_day.sql @@ -0,0 +1,81 @@ +{{ config( + schema='prices_v2', + alias = 'day', + tags = ['prod_exclude'], + materialized = 'incremental', + file_format = 'delta', + partition_by = ['date'], + incremental_strategy = 'merge', + unique_key = ['blockchain', 'contract_address', 'timestamp'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.timestamp')] + ) +}} + + +--WITH sparse_prices as ( +-- select +-- * +-- , lead(timestamp) over (partition by blockchain, contract_address order by timestamp asc) as next_update +-- from ( +-- select +-- blockchain +-- , contract_address +-- , timestamp +-- , price +-- , volume +-- , source +-- , date -- this is redundant here as date = timestamp, but we keep it in to be consistent across intervals +-- , source_timestamp +-- from {{ ref('prices_v2_day_sparse') }} +-- {% if is_incremental() %} +-- where {{ incremental_predicate('timestamp') }} +-- {% endif %} +-- -- If we're running incremental, we also need to add the last known prices from before the incremental window, to forward fill them +-- {% if is_incremental() %} +-- UNION ALL +-- SELECT * FROM ( +-- select +-- blockchain +-- , contract_address +-- , max(timestamp) -- we get the last updated price +-- , max_by(price,timestamp) as price +-- , max_by(volume,timestamp) as volume +-- , max_by(source,timestamp) as source +-- , max(date) as date +-- , max_by(source_timestamp,timestamp) as source_timestamp +-- from {{ ref('prices_v2_day_sparse') }} +-- where not {{ incremental_predicate('timestamp') }} -- not in the current incremental window (so before that) +-- group by blockchain, contract_address +-- ) +-- {% endif %} +-- ) +--) +-- +---- construct the time spline we want to fill +--, timeseries as ( +-- select timestamp +-- from unnest( +-- sequence(cast((select date_trunc('day', min(timestamp)) from sparse_prices) as timestamp) +-- , cast(date_trunc('day', now()) as timestamp) +-- , interval '1' day +-- ) +-- ) as foo(timestamp) +-- {% if is_incremental() %} +-- where {{ incremental_predicate('timestamp') }} -- reduce to the incremental window if running incrementally +-- {% endif %} +--) +-- +--SELECT +-- p.blockchain +-- , p.contract_address +-- , t.timestamp +-- , p.price +-- , p.volume +-- , p.source +-- , t.timestamp as date +-- , p.source_timestamp +--FROM timeseries t +--INNER JOIN sparse_prices p +-- on p.timestamp <= t.timestamp +-- and (p.next_update is null or p.next_update > t.timestamp) + diff --git a/dbt_subprojects/tokens/models/prices_v2/prices_v2_latest.sql b/dbt_subprojects/tokens/models/prices_v2/prices_v2_latest.sql new file mode 100644 index 00000000000..3a65637d4a9 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/prices_v2_latest.sql @@ -0,0 +1,23 @@ +{{ config( + schema='prices_v2', + alias = 'latest', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['blockchain', 'contract_address'] + ) +}} + + +SELECT + blockchain + , contract_address + , max(timestamp) as timestamp + , max_by(price,timestamp) as price + , max_by(volume,timestamp) as volume + , max_by(source,timestamp) as source +FROM {{ ref('prices_v2_minute_sparse') }} +{% if is_incremental() %} +WHERE {{ incremental_predicate('timestamp') }} +{% endif %} +GROUP BY 1,2 diff --git a/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_day_sparse.sql b/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_day_sparse.sql new file mode 100644 index 00000000000..dc43d39c3c3 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_day_sparse.sql @@ -0,0 +1,27 @@ +{{ config( + schema='prices_v2', + alias = 'day_sparse', + materialized = 'incremental', + file_format = 'delta', + partition_by = ['date'], + incremental_strategy = 'merge', + unique_key = ['blockchain', 'contract_address', 'timestamp'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.timestamp')] + ) +}} + + +SELECT + blockchain + , contract_address + , date as timestamp + , max_by(price,timestamp) as price + , sum(volume) as volume + , max_by(source,timestamp) as source + , date + , max(timestamp) as source_timestamp +FROM {{ ref('prices_v2_minute_sparse') }} +{% if is_incremental() %} +WHERE {{ incremental_predicate('date') }} -- using date here makes sure we always process full days +{% endif %} +GROUP BY 1,2,3,7 diff --git a/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_hour_sparse.sql b/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_hour_sparse.sql new file mode 100644 index 00000000000..b99bf078759 --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_hour_sparse.sql @@ -0,0 +1,27 @@ +{{ config( + schema='prices_v2', + alias = 'hour_raw', + materialized = 'incremental', + file_format = 'delta', + partition_by = ['date'], + incremental_strategy = 'merge', + unique_key = ['blockchain', 'contract_address', 'timestamp'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.timestamp')] + ) +}} + + +SELECT + blockchain + , contract_address + , date_trunc('hour',timestamp) as timestamp + , max_by(price,timestamp) as price + , sum(volume) as volume + , max_by(source,timestamp) as source + , date + , max(timestamp) as source_timestamp +FROM {{ ref('prices_v2_minute_sparse') }} +{% if is_incremental() %} +WHERE {{ incremental_predicate("date_trunc('hour',timestamp)") }} -- this makes sure we always proces full hours +{% endif %} +GROUP BY 1,2,3,7 diff --git a/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_minute_sparse.sql b/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_minute_sparse.sql new file mode 100644 index 00000000000..912df7f721b --- /dev/null +++ b/dbt_subprojects/tokens/models/prices_v2/sparse_prices/prices_v2_minute_sparse.sql @@ -0,0 +1,41 @@ +{{ config( + schema='prices_v2', + alias = 'minute_sparse', + file_format = 'delta', + materialized = 'incremental', + partition_by = ['date'], + incremental_strategy = 'merge', + unique_key = ['blockchain', 'contract_address', 'timestamp'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.timestamp')] + ) +}} + +-- this model feeds into sqlmesh which performs a forward fill and aggregates upto higher timeframes + +{% set prices_models = [ + ref('prices_v2_dex_minute') + ,ref('prices_v2_coinpaprika_minute') +] %} + + +SELECT * +FROM +( + {% for model in prices_models %} + SELECT + blockchain + , contract_address + , timestamp + , price + , volume -- can be null + , source -- dex.trades/coinpaprika/.. + , date -- partition + FROM {{ model }} + {% if is_incremental() %} + WHERE {{ incremental_predicate('timestamp') }} + {% endif %} + {% if not loop.last %} + UNION ALL + {% endif %} + {% endfor %} +)