diff --git a/data/testing__liquidity_pool_actions_meteora_dlmm.csv b/data/testing__liquidity_pool_actions_meteora_dlmm.csv new file mode 100644 index 00000000..6f313a93 --- /dev/null +++ b/data/testing__liquidity_pool_actions_meteora_dlmm.csv @@ -0,0 +1,21 @@ +tx_id, index, inner_index, program_id, action, mint, amount, liquidity_provider, liquidity_pool_address +2jAXqkqyoaf1YntiBtr5RaJ1s8BfGzKctQaNvh5rZrcCBa1dksfLgNXRWXvni4sdJKvJ91SFv4numpbPhv3j63L,3,0,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeLiquidityByRange,JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,986.266166,3kntVMYLAbvJtyincLhzkQXsSnEbQbcLsmBWUu4dYHQm,8ZBbyDGErfqvY65fRZnm6dtQBe3REuAPqzRN7819fzeW +2jAXqkqyoaf1YntiBtr5RaJ1s8BfGzKctQaNvh5rZrcCBa1dksfLgNXRWXvni4sdJKvJ91SFv4numpbPhv3j63L,3,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeLiquidityByRange,So11111111111111111111111111111111111111112,0,3kntVMYLAbvJtyincLhzkQXsSnEbQbcLsmBWUu4dYHQm,8ZBbyDGErfqvY65fRZnm6dtQBe3REuAPqzRN7819fzeW +3L5DuPixRYRVaundtYvWeUhm2cqhxDkFzTYap8MzSLtcB4WrvUoZGeLjqmTKt86Z8L8sqDwULWsibT3JSeUQrWQ4,3,0,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeAllLiquidity,JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,1572.485942,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +3L5DuPixRYRVaundtYvWeUhm2cqhxDkFzTYap8MzSLtcB4WrvUoZGeLjqmTKt86Z8L8sqDwULWsibT3JSeUQrWQ4,3,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeAllLiquidity,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +3L5DuPixRYRVaundtYvWeUhm2cqhxDkFzTYap8MzSLtcB4WrvUoZGeLjqmTKt86Z8L8sqDwULWsibT3JSeUQrWQ4,5,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidity,JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,1597.746369,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +3L5DuPixRYRVaundtYvWeUhm2cqhxDkFzTYap8MzSLtcB4WrvUoZGeLjqmTKt86Z8L8sqDwULWsibT3JSeUQrWQ4,5,2,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidity,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +3V6ENkNR8TKnbZCS2GdaKjKzrEYf6zmjFb4qkeRE1YH1GPkfsMys2jY8AeiPgYinBKVM6gSctAJ2LAfbU6mFXdmi,1,0,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeAllLiquidity,JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,1535.343848,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +3V6ENkNR8TKnbZCS2GdaKjKzrEYf6zmjFb4qkeRE1YH1GPkfsMys2jY8AeiPgYinBKVM6gSctAJ2LAfbU6mFXdmi,1,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeAllLiquidity,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +3V6ENkNR8TKnbZCS2GdaKjKzrEYf6zmjFb4qkeRE1YH1GPkfsMys2jY8AeiPgYinBKVM6gSctAJ2LAfbU6mFXdmi,3,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidity,JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,1560.005906,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +3V6ENkNR8TKnbZCS2GdaKjKzrEYf6zmjFb4qkeRE1YH1GPkfsMys2jY8AeiPgYinBKVM6gSctAJ2LAfbU6mFXdmi,3,2,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidity,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,0,botU1zmaQoP7BrNEr3VJ3BapMJDWnf5WUZJQFuc5cAu,HyhMt7jPKJ1LLXQTm5wjf5f4kWqAeTeKQZvMq8TtZnPV +4YBoHVNFUgBEkUvy5A9vnwKiLp2UNcqftGhj2DSBWFZgfLUXPGrG6zMPqEm8cGQHLByTRSp4pxKu8jH7migZUpW5,4,2,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeLiquidity,JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,415.989948,6jW5kGzAQ6dM3CUGF7k1uTRBb8DFm9whv52UTEPFpgF8,6cDtJkcJKFEsGDhptmgvy3XtbwyRqnW3GoGcmnwVzJ7U +4YBoHVNFUgBEkUvy5A9vnwKiLp2UNcqftGhj2DSBWFZgfLUXPGrG6zMPqEm8cGQHLByTRSp4pxKu8jH7migZUpW5,4,3,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeLiquidity,bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1,2.577164054,6jW5kGzAQ6dM3CUGF7k1uTRBb8DFm9whv52UTEPFpgF8,6cDtJkcJKFEsGDhptmgvy3XtbwyRqnW3GoGcmnwVzJ7U +5ihY28gCAS7JPatAavqGySHuyNU1eB6Sft1zW1gmKokygfmn61L3o7TQNcAYA6bFewbMHwBofk5JvrSpMVdEohqE,2,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidityByWeight,JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN,427.290395,779UeNqMZfJx1e78GK1qKk5TRdq3hcqVfs2yRhY2vdKA,C8Gr6AUuq9hEdSYJzoEpNcdjpojPZwqG5MtQbeouNNwg +5ihY28gCAS7JPatAavqGySHuyNU1eB6Sft1zW1gmKokygfmn61L3o7TQNcAYA6bFewbMHwBofk5JvrSpMVdEohqE,2,2,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidityByWeight,So11111111111111111111111111111111111111112,5.617280431,779UeNqMZfJx1e78GK1qKk5TRdq3hcqVfs2yRhY2vdKA,C8Gr6AUuq9hEdSYJzoEpNcdjpojPZwqG5MtQbeouNNwg +A843K1go5EcThwXbKZ4BTkSDF2ZcxLiTXLHBoTCoMKLawHsCWAzJmH4PrVpJ1f2eDxH4HXjbdWodqmukTYtS41g,4,0,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidityByStrategyOneSide,3b7ruEQ8GLaj1ZSzH1UbDtqYpzhrc3uybR589cXYeU6a,1847414.67041438,48jfanV9N82teYyQSKgGMsaRPbQeaRThb4YabnB8CNjt,EsuqdgscURsH6XuLJRVVthzfHnZctERwMcUj4xKBdEio +RwpuVM5P57djxZHXZJ89wTLGig7RRwY3VP5HJtfyCadDFakzCS1ownKDq86jA4f5PkLQyTz6gamka5b9VjcF2ri,2,0,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeAllLiquidity,So11111111111111111111111111111111111111112,0,FxTSyxLoaJQxx61FqH3gPCiRbVzwnS2PADFZTzPesHV5,4YVLUZGEhsjfsWuxRbo6h18vL297HYRHTrLVE8bwpyCW +RwpuVM5P57djxZHXZJ89wTLGig7RRwY3VP5HJtfyCadDFakzCS1ownKDq86jA4f5PkLQyTz6gamka5b9VjcF2ri,2,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,removeAllLiquidity,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,11.434211,FxTSyxLoaJQxx61FqH3gPCiRbVzwnS2PADFZTzPesHV5,4YVLUZGEhsjfsWuxRbo6h18vL297HYRHTrLVE8bwpyCW +RwpuVM5P57djxZHXZJ89wTLGig7RRwY3VP5HJtfyCadDFakzCS1ownKDq86jA4f5PkLQyTz6gamka5b9VjcF2ri,5,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidityOneSide,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,11.452858,FxTSyxLoaJQxx61FqH3gPCiRbVzwnS2PADFZTzPesHV5,4YVLUZGEhsjfsWuxRbo6h18vL297HYRHTrLVE8bwpyCW +mstqGJ3i8goH2EGEcCmNqpnv6ChkbkB4ToLHeHwN2oEJXzU4fXHHpmUvvQGwdvCgN51PfRqLMmyNtxPzGQ8k2KC,6,0,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidityByStrategy,5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm,4.997536347,3joMi9jhukZRV2aJ9dpZvsaNHEPNF3pMzoWkii5QxiiC,8iibPkw7zbNHMPcihHeBgcL7rDnHteZb2NfvTy8bNm7d +mstqGJ3i8goH2EGEcCmNqpnv6ChkbkB4ToLHeHwN2oEJXzU4fXHHpmUvvQGwdvCgN51PfRqLMmyNtxPzGQ8k2KC,6,1,LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo,addLiquidityByStrategy,So11111111111111111111111111111111111111112,6.15121824,3joMi9jhukZRV2aJ9dpZvsaNHEPNF3pMzoWkii5QxiiC,8iibPkw7zbNHMPcihHeBgcL7rDnHteZb2NfvTy8bNm7d \ No newline at end of file diff --git a/models/silver/liquidity_pool/silver__liquidity_pool_actions_meteora_dlmm.sql b/models/silver/liquidity_pool/silver__liquidity_pool_actions_meteora_dlmm.sql new file mode 100644 index 00000000..b403be69 --- /dev/null +++ b/models/silver/liquidity_pool/silver__liquidity_pool_actions_meteora_dlmm.sql @@ -0,0 +1,227 @@ +-- depends_on: {{ ref('silver__decoded_instructions_combined') }} +{{ config( + materialized = 'incremental', + unique_key = "liquidity_pool_actions_meteora_dlmm_id", + incremental_predicates = ["dynamic_range_predicate", "block_timestamp::date"], + merge_exclude_columns = ["inserted_timestamp"], + cluster_by = ['block_timestamp::DATE','_inserted_timestamp::DATE'], + tags = ['scheduled_non_core'], +) }} + +{% if execute %} + {% set base_query %} + CREATE + OR REPLACE temporary TABLE silver.liquidity_pool_actions_meteora_dlmm__intermediate_tmp AS + + SELECT + block_timestamp, + block_id, + tx_id, + succeeded, + INDEX, + inner_index, + program_id, + event_type, + decoded_instruction, + _inserted_timestamp + FROM + {{ ref('silver__decoded_instructions_combined') }} + WHERE + program_id = 'LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo' + AND event_type IN ( + 'removeLiquidityByRange', + 'removeLiquidity', + 'removeAllLiquidity', + 'addLiquidityByStrategyOneSide', + 'addLiquidityOneSide', + 'addLiquidity', + 'addLiquidityByWeight', + 'addLiquidityByStrategy' + ) + AND succeeded + + {% if is_incremental() %} + AND _inserted_timestamp >= ( + SELECT + MAX(_inserted_timestamp) - INTERVAL '1 hour' + FROM + {{ this }} + ) + {% else %} + AND _inserted_timestamp :: DATE >= '2024-02-19' + {% endif %} + + {% endset %} + {% do run_query(base_query) %} + {% set between_stmts = fsc_utils.dynamic_range_predicate("silver.liquidity_pool_actions_meteora_dlmm__intermediate_tmp", "block_timestamp::date") %} +{% endif %} + +WITH base AS ( + SELECT + * + FROM + silver.liquidity_pool_actions_meteora_dlmm__intermediate_tmp +), +base_transfers AS ( + SELECT + block_timestamp, + tx_id, + INDEX, + mint, + amount, + dest_token_account, + source_token_account + FROM + {{ ref('silver__transfers') }} + WHERE + {{ between_stmts }} +), +decoded AS ( + SELECT + block_timestamp, + block_id, + tx_id, + succeeded, + INDEX, + inner_index, + program_id, + event_type AS action, + silver.udf_get_account_pubkey_by_name( + 'sender', + decoded_instruction :accounts + ) AS liquidity_provider, + silver.udf_get_account_pubkey_by_name( + 'lbPair', + decoded_instruction :accounts + ) AS liquidity_pool_address, + COALESCE( + silver.udf_get_account_pubkey_by_name( + 'reserveX', + decoded_instruction :accounts + ), + silver.udf_get_account_pubkey_by_name( + 'reserve', + decoded_instruction :accounts + ) + ) AS liquidity_a_token_vault, + silver.udf_get_account_pubkey_by_name( + 'reserveY', + decoded_instruction :accounts + ) AS liquidity_b_token_vault, + _inserted_timestamp, + FROM + base +), +deposits AS ( + SELECT + d.block_timestamp, + d.block_id, + d.tx_id, + d.succeeded, + d.index, + SPLIT_PART( + t.index, + '.', + 2 + ) :: INT AS inner_index, + d.program_id, + d.action, + t.mint, + t.amount, + d.liquidity_provider, + d.liquidity_pool_address, + d._inserted_timestamp + FROM + base_transfers t + INNER JOIN decoded d + ON t.block_timestamp :: DATE = d.block_timestamp :: DATE + AND t.tx_id = d.tx_id + AND SPLIT_PART( + t.index, + '.', + 1 + ) = d.index + WHERE + d.action IN ( + 'addLiquidityByStrategyOneSide', + 'addLiquidityOneSide', + 'addLiquidity', + 'addLiquidityByWeight', + 'addLiquidityByStrategy' + ) + AND dest_token_account IN ( + liquidity_a_token_vault, + liquidity_b_token_vault + ) +), +withdraws AS ( + SELECT + d.block_timestamp, + d.block_id, + d.tx_id, + d.succeeded, + d.index, + SPLIT_PART( + t.index, + '.', + 2 + ) :: INT AS inner_index, + d.program_id, + d.action, + t.mint, + t.amount, + d.liquidity_provider, + d.liquidity_pool_address, + d._inserted_timestamp + FROM + base_transfers t + INNER JOIN decoded d + ON t.block_timestamp :: DATE = d.block_timestamp :: DATE + AND t.tx_id = d.tx_id + AND SPLIT_PART( + t.index, + '.', + 1 + ) = d.index + WHERE + d.action IN ( + 'removeLiquidityByRange', + 'removeLiquidity', + 'removeAllLiquidity' + ) + AND source_token_account IN ( + liquidity_a_token_vault, + liquidity_b_token_vault + ) +), +pre_final AS ( + SELECT + * + FROM + deposits + UNION ALL + SELECT + * + FROM + withdraws +) +SELECT + block_timestamp, + block_id, + tx_id, + succeeded, + INDEX, + inner_index, + program_id, + action, + mint, + amount, + liquidity_provider, + liquidity_pool_address, + _inserted_timestamp, + {{ dbt_utils.generate_surrogate_key(['tx_id','index','inner_index']) }} AS liquidity_pool_actions_meteora_dlmm_id, + SYSDATE() AS inserted_timestamp, + SYSDATE() AS modified_timestamp, + '{{ invocation_id }}' AS _invocation_id +FROM + pre_final diff --git a/models/silver/liquidity_pool/silver__liquidity_pool_actions_meteora_dlmm.yml b/models/silver/liquidity_pool/silver__liquidity_pool_actions_meteora_dlmm.yml new file mode 100644 index 00000000..6bc69bfd --- /dev/null +++ b/models/silver/liquidity_pool/silver__liquidity_pool_actions_meteora_dlmm.yml @@ -0,0 +1,111 @@ +version: 2 +models: + - name: silver__liquidity_pool_actions_meteora_dlmm + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - BLOCK_ID + - TX_ID + - INDEX + - INNER_INDEX + where: block_timestamp::date > current_date - 30 + - compare_model_subset: + name: silver__liquidity_pool_actions_meteora_dlmm_business_logic_test + compare_model: ref('testing__liquidity_pool_actions_meteora_dlmm') + compare_columns: + - tx_id + - index + - inner_index + - program_id + - action + - mint + - round(amount,8) + - liquidity_provider + - liquidity_pool_address + model_condition: "where tx_id in ('2jAXqkqyoaf1YntiBtr5RaJ1s8BfGzKctQaNvh5rZrcCBa1dksfLgNXRWXvni4sdJKvJ91SFv4numpbPhv3j63L', + '3L5DuPixRYRVaundtYvWeUhm2cqhxDkFzTYap8MzSLtcB4WrvUoZGeLjqmTKt86Z8L8sqDwULWsibT3JSeUQrWQ4', + '3V6ENkNR8TKnbZCS2GdaKjKzrEYf6zmjFb4qkeRE1YH1GPkfsMys2jY8AeiPgYinBKVM6gSctAJ2LAfbU6mFXdmi', + '4YBoHVNFUgBEkUvy5A9vnwKiLp2UNcqftGhj2DSBWFZgfLUXPGrG6zMPqEm8cGQHLByTRSp4pxKu8jH7migZUpW5', + '5ihY28gCAS7JPatAavqGySHuyNU1eB6Sft1zW1gmKokygfmn61L3o7TQNcAYA6bFewbMHwBofk5JvrSpMVdEohqE', + 'A843K1go5EcThwXbKZ4BTkSDF2ZcxLiTXLHBoTCoMKLawHsCWAzJmH4PrVpJ1f2eDxH4HXjbdWodqmukTYtS41g', + 'RwpuVM5P57djxZHXZJ89wTLGig7RRwY3VP5HJtfyCadDFakzCS1ownKDq86jA4f5PkLQyTz6gamka5b9VjcF2ri', + 'mstqGJ3i8goH2EGEcCmNqpnv6ChkbkB4ToLHeHwN2oEJXzU4fXHHpmUvvQGwdvCgN51PfRqLMmyNtxPzGQ8k2KC')" + recent_date_filter: &recent_date_filter + config: + where: _inserted_timestamp >= current_date - 7 + columns: + - name: BLOCK_TIMESTAMP + description: "{{ doc('block_timestamp') }}" + tests: + - dbt_expectations.expect_row_values_to_have_recent_data: + datepart: day + interval: 2 + - not_null: *recent_date_filter + - name: BLOCK_ID + description: "{{ doc('block_id') }}" + tests: + - not_null: *recent_date_filter + - name: TX_ID + description: "{{ doc('tx_id') }}" + tests: + - not_null: *recent_date_filter + - name: SUCCEEDED + description: "{{ doc('tx_succeeded') }}" + tests: + - not_null: *recent_date_filter + - name: INDEX + description: "{{ doc('index') }}" + tests: + - not_null: *recent_date_filter + - name: INNER_INDEX + description: "Position of event within inner instructions" + tests: + - not_null: *recent_date_filter + - name: PROGRAM_ID + description: "{{ doc('program_id') }}" + tests: + - not_null: *recent_date_filter + - name: ACTION + description: "{{ doc('action') }}" + tests: + - not_null: *recent_date_filter + - name: MINT + description: "{{ doc('mint') }}" + tests: + - not_null: + where: block_id > 69393037 AND _inserted_timestamp >= current_date - 7 + - name: AMOUNT + description: "{{ doc('amount') }}" + tests: + - not_null: *recent_date_filter + - name: LIQUIDITY_PROVIDER + description: "{{ doc('liquidity_provider') }}" + tests: + - not_null: *recent_date_filter + - name: LIQUIDITY_POOL_ADDRESS + description: "{{ doc('liquidity_pool_address') }}" + tests: + - not_null: *recent_date_filter + - name: _INSERTED_TIMESTAMP + description: "{{ doc('_inserted_timestamp') }}" + tests: + - not_null: *recent_date_filter + - name: LIQUIDITY_POOL_ACTIONS_METEORA_DLMM_ID + description: '{{ doc("pk") }}' + tests: + - unique: *recent_date_filter + - name: INSERTED_TIMESTAMP + description: '{{ doc("inserted_timestamp") }}' + tests: + - not_null: *recent_date_filter + - name: MODIFIED_TIMESTAMP + description: '{{ doc("modified_timestamp") }}' + tests: + - not_null: *recent_date_filter + - name: _INVOCATION_ID + description: '{{ doc("_invocation_id") }}' + tests: + - not_null: + name: test_silver__not_null_liquidity_pool_actions_meteora_dlmm__invocation_id + <<: *recent_date_filter + diff --git a/models/silver/parser/silver__decoded_instructions_combined.yml b/models/silver/parser/silver__decoded_instructions_combined.yml index e3677cc2..6fabd1c9 100644 --- a/models/silver/parser/silver__decoded_instructions_combined.yml +++ b/models/silver/parser/silver__decoded_instructions_combined.yml @@ -104,6 +104,16 @@ models: AND succeeded AND coalesce(decoded_instruction:args:poolTokenAmount::int,-1) <> 0 and _inserted_timestamp between current_date - 7 and current_timestamp() - INTERVAL '4 HOUR' + - dbt_utils.relationships_where: + name: dbt_utils_relationships_where_silver__decoded_instructions_combined_meteora_dlmm_liquidity_pool_actions_tx_id + to: ref('silver__liquidity_pool_actions_meteora_dlmm') + field: tx_id + from_condition: > + program_id = 'LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo' + AND event_type IN ('removeLiquidityByRange','removeLiquidity','removeAllLiquidity','addLiquidityByStrategyOneSide','addLiquidityOneSide','addLiquidity','addLiquidityByWeight','addLiquidityByStrategy') + AND succeeded + and _inserted_timestamp between current_date - 7 and current_timestamp() - INTERVAL '4 HOUR' + to_condition: "_inserted_timestamp >= current_date - 7" - name: SIGNERS - name: SUCCEEDED - name: INDEX