diff --git a/dbt_subprojects/dex/models/automated_trades/dex_automated_base_trades.sql b/dbt_subprojects/dex/models/automated_trades/dex_automated_base_trades.sql index 69914af3332..bd717ce04c1 100644 --- a/dbt_subprojects/dex/models/automated_trades/dex_automated_base_trades.sql +++ b/dbt_subprojects/dex/models/automated_trades/dex_automated_base_trades.sql @@ -14,6 +14,7 @@ ref('dex_ethereum_automated_base_trades') , ref('dex_arbitrum_automated_base_trades') , ref('dex_base_automated_base_trades') + , ref('dex_polygon_automated_base_trades') ] %} with base_union as ( diff --git a/dbt_subprojects/dex/models/automated_trades/polygon/dex_polygon_automated_base_trades.sql b/dbt_subprojects/dex/models/automated_trades/polygon/dex_polygon_automated_base_trades.sql new file mode 100644 index 00000000000..2e4fd44f9dd --- /dev/null +++ b/dbt_subprojects/dex/models/automated_trades/polygon/dex_polygon_automated_base_trades.sql @@ -0,0 +1,65 @@ +{{ config( + schema = 'dex_polygon' + , alias = 'automated_base_trades' + , partition_by = ['block_month'] + , materialized = 'incremental' + , file_format = 'delta' + , incremental_strategy = 'merge' + , unique_key = ['tx_hash', 'evt_index'] + , incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{% set models = [ + ref('uniswap_v2_polygon_automated_base_trades') + , ref('uniswap_v3_polygon_automated_base_trades') +] %} + +with base_union as ( + SELECT * + FROM + ( + {% for model in models %} + SELECT + blockchain + , project + , project_status + , version + , factory_address + , dex_type + , block_month + , block_date + , block_time + , block_number + , cast(token_bought_amount_raw as uint256) as token_bought_amount_raw + , cast(token_sold_amount_raw as uint256) as token_sold_amount_raw + , token_bought_address + , token_sold_address + , taker + , maker + , project_contract_address + , tx_hash + , evt_index + , tx_from + , tx_to + FROM + {{ model }} + WHERE + token_sold_amount_raw >= 0 and token_bought_amount_raw >= 0 + {% if is_incremental() %} + AND {{ incremental_predicate('block_time') }} + {% endif %} + {% if not loop.last %} + UNION ALL + {% endif %} + {% endfor %} + ) +) + +{{ + add_tx_columns( + model_cte = 'base_union' + , blockchain = 'polygon' + , columns = ['from', 'to', 'index'] + ) +}} \ No newline at end of file diff --git a/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_automated_base_trades.sql b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_automated_base_trades.sql new file mode 100644 index 00000000000..fb23d1e0fe3 --- /dev/null +++ b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_automated_base_trades.sql @@ -0,0 +1,20 @@ +{{ config( + schema = 'uniswap_v2_polygon', + alias = 'automated_base_trades', + partition_by = ['block_month'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'evt_index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{{ + uniswap_v2_forks_trades( + blockchain = 'polygon' + , version = '2' + , Pair_evt_Swap = ref('uniswap_v2_polygon_decoded_pool_evt_swap') + , Factory_evt_PairCreated = ref('uniswap_v2_polygon_decoded_factory_evt') + ) +}} \ No newline at end of file diff --git a/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_decoded_factory_evt.sql b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_decoded_factory_evt.sql new file mode 100644 index 00000000000..f0ff9a10439 --- /dev/null +++ b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_decoded_factory_evt.sql @@ -0,0 +1,15 @@ +{{ config( + schema = 'uniswap_v2_polygon', + alias = 'decoded_factory_evt', + partition_by = ['block_date'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{{uniswap_v2_factory_event_decoding( + logs = source('polygon', 'logs') +)}} \ No newline at end of file diff --git a/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_decoded_pool_evt_swap.sql b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_decoded_pool_evt_swap.sql new file mode 100644 index 00000000000..aab5e7ce9d3 --- /dev/null +++ b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v2_polygon_decoded_pool_evt_swap.sql @@ -0,0 +1,15 @@ +{{ config( + schema = 'uniswap_v2_polygon', + alias = 'decoded_pool_evt_swap', + partition_by = ['block_date'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{{uniswap_v2_pool_event_decoding( + logs = source('polygon', 'logs') +)}} \ No newline at end of file diff --git a/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_automated_base_trades.sql b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_automated_base_trades.sql new file mode 100644 index 00000000000..60ef9100ebe --- /dev/null +++ b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_automated_base_trades.sql @@ -0,0 +1,20 @@ +{{ config( + schema = 'uniswap_v3_polygon', + alias = 'automated_base_trades', + partition_by = ['block_month'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'evt_index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{{ + uniswap_v3_forks_trades( + blockchain = 'polygon' + , version = '3' + , Pair_evt_Swap = ref('uniswap_v3_polygon_decoded_pool_evt_swap') + , Factory_evt_PoolCreated = ref('uniswap_v3_polygon_decoded_factory_evt') + ) +}} \ No newline at end of file diff --git a/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_decoded_factory_evt.sql b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_decoded_factory_evt.sql new file mode 100644 index 00000000000..9d8845f2871 --- /dev/null +++ b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_decoded_factory_evt.sql @@ -0,0 +1,15 @@ +{{ config( + schema = 'uniswap_v3_polygon', + alias = 'decoded_factory_evt', + partition_by = ['block_date'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{{uniswap_v3_factory_event_decoding( + logs = source('polygon', 'logs') +)}} \ No newline at end of file diff --git a/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_decoded_pool_evt_swap.sql b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_decoded_pool_evt_swap.sql new file mode 100644 index 00000000000..47a6656ee4c --- /dev/null +++ b/dbt_subprojects/dex/models/automated_trades/polygon/projects/uniswap/uniswap_v3_polygon_decoded_pool_evt_swap.sql @@ -0,0 +1,15 @@ +{{ config( + schema = 'uniswap_v3_polygon', + alias = 'decoded_pool_evt_swap', + partition_by = ['block_date'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +{{uniswap_v3_pool_event_decoding( + logs = source('polygon', 'logs') +)}} \ No newline at end of file