mirror of
https://github.com/FlipsideCrypto/solana-models.git
synced 2026-02-06 13:56:50 +00:00
Meteora DLMM LP actions (#555)
* model and tests * update col name + col tests in yml * clean up tests
This commit is contained in:
parent
eef8ccfbf4
commit
db5a1ebf21
21
data/testing__liquidity_pool_actions_meteora_dlmm.csv
Normal file
21
data/testing__liquidity_pool_actions_meteora_dlmm.csv
Normal file
@ -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
|
||||
|
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user