From 9a6ac07aa5624a4dcdf1cad511ef6c0c53baa82d Mon Sep 17 00:00:00 2001 From: Austin <93135983+austinFlipside@users.noreply.github.com> Date: Mon, 3 Jun 2024 12:47:40 -0400 Subject: [PATCH] upgrades (#27) * upgrades * adds unconfirmed blocks test --- ...test_silver_evm__confirmed_blocks_full.sql | 9 ++ ...test_silver_evm__confirmed_blocks_full.yml | 34 +++++++ ...st_silver_evm__confirmed_blocks_recent.sql | 23 +++++ ...st_silver_evm__confirmed_blocks_recent.yml | 34 +++++++ .../test_silver_evm__transactions_full.yml | 5 - .../test_silver_evm__transactions_recent.yml | 4 - .../streamline__evm_blocks_history.sql | 83 +++++++++++++++++ ...streamline__evm_confirm_blocks_history.sql | 92 +++++++++++++++++++ .../streamline__evm_receipts_history.sql | 84 +++++++++++++++++ .../streamline__evm_traces_history.sql | 85 +++++++++++++++++ .../streamline__evm_transactions_history.sql | 84 +++++++++++++++++ ...treamline__evm_confirm_blocks_realtime.sql | 4 - .../streamline__evm_receipts_realtime.sql | 5 + .../streamline__evm_traces_realtime.sql | 5 + .../streamline__evm_transactions_realtime.sql | 5 + .../silver/retry/_unconfirmed_blocks.sql | 34 +++++++ .../test_silver_evm__confirmed_blocks.sql | 1 + .../test_silver_evm__missing_receipts.sql | 2 + .../test_silver_evm__missing_traces.sql | 2 + ...st_silver_evm__recent_confirmed_blocks.sql | 1 + 20 files changed, 583 insertions(+), 13 deletions(-) create mode 100644 models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.sql create mode 100644 models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.yml create mode 100644 models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.sql create mode 100644 models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.yml create mode 100644 models/evm/streamline/silver/history/streamline__evm_blocks_history.sql create mode 100644 models/evm/streamline/silver/history/streamline__evm_confirm_blocks_history.sql create mode 100644 models/evm/streamline/silver/history/streamline__evm_receipts_history.sql create mode 100644 models/evm/streamline/silver/history/streamline__evm_traces_history.sql create mode 100644 models/evm/streamline/silver/history/streamline__evm_transactions_history.sql create mode 100644 models/evm/streamline/silver/retry/_unconfirmed_blocks.sql create mode 100644 tests/sei_evm/test_silver_evm__confirmed_blocks.sql create mode 100644 tests/sei_evm/test_silver_evm__missing_receipts.sql create mode 100644 tests/sei_evm/test_silver_evm__missing_traces.sql create mode 100644 tests/sei_evm/test_silver_evm__recent_confirmed_blocks.sql diff --git a/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.sql b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.sql new file mode 100644 index 0000000..838aed6 --- /dev/null +++ b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.sql @@ -0,0 +1,9 @@ +{{ config ( + materialized = 'view', + tags = ['full_evm_test'] +) }} + +SELECT + * +FROM + {{ ref('silver_evm__confirmed_blocks') }} diff --git a/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.yml b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.yml new file mode 100644 index 0000000..201db92 --- /dev/null +++ b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_full.yml @@ -0,0 +1,34 @@ +version: 2 +models: + - name: test_silver_evm__confirmed_blocks_full + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - TX_HASH + columns: + - name: BLOCK_NUMBER + tests: + - not_null + - dbt_expectations.expect_column_values_to_be_in_type_list: + column_type_list: + - NUMBER + - name: BLOCK_HASH + tests: + - not_null + - dbt_expectations.expect_column_values_to_match_regex: + regex: 0[xX][0-9a-fA-F]+ + - name: TX_HASH + tests: + - not_null + - dbt_expectations.expect_column_values_to_match_regex: + regex: 0[xX][0-9a-fA-F]+ + - name: _INSERTED_TIMESTAMP + tests: + - not_null + - dbt_expectations.expect_row_values_to_have_recent_data: + datepart: day + interval: 1 + - dbt_expectations.expect_column_values_to_be_in_type_list: + column_type_list: + - TIMESTAMP_NTZ + - TIMESTAMP_LTZ \ No newline at end of file diff --git a/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.sql b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.sql new file mode 100644 index 0000000..90794e9 --- /dev/null +++ b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.sql @@ -0,0 +1,23 @@ +{{ config ( + materialized = 'view', + tags = ['recent_evm_test'] +) }} + +WITH last_3_days AS ( + + SELECT + block_number + FROM + {{ ref("_evm_block_lookback") }} +) +SELECT + * +FROM + {{ ref('silver_evm__confirmed_blocks') }} +WHERE + block_number >= ( + SELECT + block_number + FROM + last_3_days + ) diff --git a/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.yml b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.yml new file mode 100644 index 0000000..a412954 --- /dev/null +++ b/models/evm/silver/core/tests/confirmed_blocks/test_silver_evm__confirmed_blocks_recent.yml @@ -0,0 +1,34 @@ +version: 2 +models: + - name: test_silver_evm__confirmed_blocks_recent + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - TX_HASH + columns: + - name: BLOCK_NUMBER + tests: + - not_null + - dbt_expectations.expect_column_values_to_be_in_type_list: + column_type_list: + - NUMBER + - name: BLOCK_HASH + tests: + - not_null + - dbt_expectations.expect_column_values_to_match_regex: + regex: 0[xX][0-9a-fA-F]+ + - name: TX_HASH + tests: + - not_null + - dbt_expectations.expect_column_values_to_match_regex: + regex: 0[xX][0-9a-fA-F]+ + - name: _INSERTED_TIMESTAMP + tests: + - not_null + - dbt_expectations.expect_row_values_to_have_recent_data: + datepart: hour + interval: 3 + - dbt_expectations.expect_column_values_to_be_in_type_list: + column_type_list: + - TIMESTAMP_NTZ + - TIMESTAMP_LTZ \ No newline at end of file diff --git a/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_full.yml b/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_full.yml index 3052f74..37f42e5 100644 --- a/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_full.yml +++ b/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_full.yml @@ -5,11 +5,6 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: - TX_HASH - - fsc_utils.sequence_gaps: - partition_by: - - BLOCK_NUMBER - column_name: POSITION - where: BLOCK_TIMESTAMP < CURRENT_DATE - 1 columns: - name: BLOCK_NUMBER tests: diff --git a/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_recent.yml b/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_recent.yml index 1f156f0..8614a73 100644 --- a/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_recent.yml +++ b/models/evm/silver/core/tests/transactions/test_silver_evm__transactions_recent.yml @@ -5,10 +5,6 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: - TX_HASH - - fsc_utils.sequence_gaps: - partition_by: - - BLOCK_NUMBER - column_name: POSITION columns: - name: BLOCK_NUMBER tests: diff --git a/models/evm/streamline/silver/history/streamline__evm_blocks_history.sql b/models/evm/streamline/silver/history/streamline__evm_blocks_history.sql new file mode 100644 index 0000000..c9f63db --- /dev/null +++ b/models/evm/streamline/silver/history/streamline__evm_blocks_history.sql @@ -0,0 +1,83 @@ +{{ config ( + materialized = "view", + post_hook = fsc_utils.if_data_call_function_v2( + func = 'streamline.udf_bulk_rest_api_v2', + target = "{{this.schema}}.{{this.identifier}}", + params ={ "external_table" :"evm_blocks", + "sql_limit" :"25000", + "producer_batch_size" :"100000", + "worker_batch_size" :"10000", + "sql_source" :"{{this.identifier}}" } + ), + tags = ['streamline_core_evm_history'] +) }} + +WITH last_3_days AS ( + + SELECT + block_number + FROM + {{ ref("_evm_block_lookback") }} +), +to_do AS ( + SELECT + block_number + FROM + {{ ref("streamline__evm_blocks") }} + WHERE + ( + block_number < ( + SELECT + block_number + FROM + last_3_days + ) + ) + AND block_number IS NOT NULL + EXCEPT + SELECT + block_number + FROM + {{ ref("streamline__complete_evm_blocks") }} + WHERE + block_number < ( + SELECT + block_number + FROM + last_3_days + ) +), +ready_blocks AS ( + SELECT + block_number + FROM + to_do +) +SELECT + block_number, + ROUND( + block_number, + -3 + ) :: INT AS partition_key, + {{ target.database }}.live.udf_api( + 'POST', + '{Service}/{Authentication}', + OBJECT_CONSTRUCT( + 'Content-Type', + 'application/json' + ), + OBJECT_CONSTRUCT( + 'id', + block_number :: STRING, + 'jsonrpc', + '2.0', + 'method', + 'eth_getBlockByNumber', + 'params', + ARRAY_CONSTRUCT(utils.udf_int_to_hex(block_number), FALSE)), + 'Vault/prod/sei/quicknode/mainnet' + ) AS request + FROM + ready_blocks + ORDER BY + block_number DESC diff --git a/models/evm/streamline/silver/history/streamline__evm_confirm_blocks_history.sql b/models/evm/streamline/silver/history/streamline__evm_confirm_blocks_history.sql new file mode 100644 index 0000000..83dea65 --- /dev/null +++ b/models/evm/streamline/silver/history/streamline__evm_confirm_blocks_history.sql @@ -0,0 +1,92 @@ +{{ config ( + materialized = "view", + post_hook = fsc_utils.if_data_call_function_v2( + func = 'streamline.udf_bulk_rest_api_v2', + target = "{{this.schema}}.{{this.identifier}}", + params ={ "external_table" :"evm_confirm_blocks", + "sql_limit" :"25000", + "producer_batch_size" :"10000", + "worker_batch_size" :"5000", + "sql_source" :"{{this.identifier}}" } + ), + tags = ['streamline_core_evm_history'] +) }} + +WITH last_3_days AS ( + + SELECT + block_number + FROM + {{ ref("_evm_block_lookback") }} +), +look_back AS ( + SELECT + block_number + FROM + {{ ref("_max_evm_block_by_hour") }} + qualify ROW_NUMBER() over ( + ORDER BY + block_number DESC + ) = 6 +), +to_do AS ( + SELECT + block_number + FROM + {{ ref("streamline__evm_blocks") }} + WHERE + block_number IS NOT NULL + AND block_number < ( + SELECT + block_number + FROM + last_3_days + ) + EXCEPT + SELECT + block_number + FROM + {{ ref("streamline__complete_evm_confirmed_blocks") }} + WHERE + block_number IS NOT NULL + AND block_number < ( + SELECT + block_number + FROM + last_3_days + ) +), +ready_blocks AS ( + SELECT + block_number + FROM + to_do +) +SELECT + block_number, + ROUND( + block_number, + -3 + ) :: INT AS partition_key, + {{ target.database }}.live.udf_api( + 'POST', + '{Service}/{Authentication}', + OBJECT_CONSTRUCT( + 'Content-Type', + 'application/json' + ), + OBJECT_CONSTRUCT( + 'id', + block_number :: STRING, + 'jsonrpc', + '2.0', + 'method', + 'eth_getBlockByNumber', + 'params', + ARRAY_CONSTRUCT(utils.udf_int_to_hex(block_number), FALSE)), + 'Vault/prod/sei/quicknode/mainnet' + ) AS request + FROM + ready_blocks + ORDER BY + block_number ASC diff --git a/models/evm/streamline/silver/history/streamline__evm_receipts_history.sql b/models/evm/streamline/silver/history/streamline__evm_receipts_history.sql new file mode 100644 index 0000000..7c57434 --- /dev/null +++ b/models/evm/streamline/silver/history/streamline__evm_receipts_history.sql @@ -0,0 +1,84 @@ +{{ config ( + materialized = "view", + post_hook = fsc_utils.if_data_call_function_v2( + func = 'streamline.udf_bulk_rest_api_v2', + target = "{{this.schema}}.{{this.identifier}}", + params ={ "external_table" :"evm_receipts", + "sql_limit" :"25000", + "producer_batch_size" :"100000", + "worker_batch_size" :"10000", + "sql_source" :"{{this.identifier}}", + "exploded_key": tojson(["result"]) } + ), + tags = ['streamline_core_evm_history'] +) }} + +WITH last_3_days AS ( + + SELECT + block_number + FROM + {{ ref("_evm_block_lookback") }} +), +to_do AS ( + SELECT + block_number + FROM + {{ ref("streamline__evm_blocks") }} + WHERE + ( + block_number < ( + SELECT + block_number + FROM + last_3_days + ) + ) + AND block_number IS NOT NULL + EXCEPT + SELECT + block_number + FROM + {{ ref("streamline__complete_evm_receipts") }} + WHERE + block_number < ( + SELECT + block_number + FROM + last_3_days + ) +), +ready_blocks AS ( + SELECT + block_number + FROM + to_do +) +SELECT + block_number, + ROUND( + block_number, + -3 + ) :: INT AS partition_key, + {{ target.database }}.live.udf_api( + 'POST', + '{Service}/{Authentication}', + OBJECT_CONSTRUCT( + 'Content-Type', + 'application/json' + ), + OBJECT_CONSTRUCT( + 'id', + block_number :: STRING, + 'jsonrpc', + '2.0', + 'method', + 'eth_getBlockReceipts', + 'params', + ARRAY_CONSTRUCT(utils.udf_int_to_hex(block_number))), + 'Vault/prod/sei/quicknode/mainnet' + ) AS request + FROM + ready_blocks + ORDER BY + block_number DESC diff --git a/models/evm/streamline/silver/history/streamline__evm_traces_history.sql b/models/evm/streamline/silver/history/streamline__evm_traces_history.sql new file mode 100644 index 0000000..f7e57db --- /dev/null +++ b/models/evm/streamline/silver/history/streamline__evm_traces_history.sql @@ -0,0 +1,85 @@ +{{ config ( + materialized = "view", + post_hook = fsc_utils.if_data_call_function_v2( + func = 'streamline.udf_bulk_rest_api_v2', + target = "{{this.schema}}.{{this.identifier}}", + params ={ "external_table" :"evm_traces", + "sql_limit" :"25000", + "producer_batch_size" :"1000", + "worker_batch_size" :"100", + "sql_source" :"{{this.identifier}}", + "exploded_key": tojson(["result"]) } + ), + tags = ['streamline_core_evm_history'] +) }} + +WITH last_3_days AS ( + + SELECT + block_number + FROM + {{ ref("_evm_block_lookback") }} +), +to_do AS ( + SELECT + block_number + FROM + {{ ref("streamline__evm_blocks") }} + WHERE + ( + block_number < ( + SELECT + block_number + FROM + last_3_days + ) + ) + AND block_number IS NOT NULL + EXCEPT + SELECT + block_number + FROM + {{ ref("streamline__complete_evm_traces") }} + WHERE + block_number < ( + SELECT + block_number + FROM + last_3_days + ) +), +ready_blocks AS ( + SELECT + block_number + FROM + to_do +) +SELECT + block_number, + ROUND( + block_number, + -3 + ) :: INT AS partition_key, + {{ target.database }}.live.udf_api( + 'POST', + '{Service}/{Authentication}', + OBJECT_CONSTRUCT( + 'Content-Type', + 'application/json' + ), + OBJECT_CONSTRUCT( + 'id', + block_number :: STRING, + 'jsonrpc', + '2.0', + 'method', + 'debug_traceBlockByNumber', + 'params', + ARRAY_CONSTRUCT(utils.udf_int_to_hex(block_number), OBJECT_CONSTRUCT('tracer', 'callTracer', 'timeout', '30s')) + ), + 'Vault/prod/sei/quicknode/mainnet' + ) AS request +FROM + ready_blocks +ORDER BY + block_number DESC diff --git a/models/evm/streamline/silver/history/streamline__evm_transactions_history.sql b/models/evm/streamline/silver/history/streamline__evm_transactions_history.sql new file mode 100644 index 0000000..66fd278 --- /dev/null +++ b/models/evm/streamline/silver/history/streamline__evm_transactions_history.sql @@ -0,0 +1,84 @@ +{{ config ( + materialized = "view", + post_hook = fsc_utils.if_data_call_function_v2( + func = 'streamline.udf_bulk_rest_api_v2', + target = "{{this.schema}}.{{this.identifier}}", + params ={ "external_table" :"evm_transactions", + "sql_limit" :"25000", + "producer_batch_size" :"100000", + "worker_batch_size" :"10000", + "sql_source" :"{{this.identifier}}", + "exploded_key": tojson(["result.transactions"]) } + ), + tags = ['streamline_core_evm_history'] +) }} + +WITH last_3_days AS ( + + SELECT + block_number + FROM + {{ ref("_evm_block_lookback") }} +), +to_do AS ( + SELECT + block_number + FROM + {{ ref("streamline__evm_blocks") }} + WHERE + ( + block_number < ( + SELECT + block_number + FROM + last_3_days + ) + ) + AND block_number IS NOT NULL + EXCEPT + SELECT + block_number + FROM + {{ ref("streamline__complete_evm_transactions") }} + WHERE + block_number < ( + SELECT + block_number + FROM + last_3_days + ) +), +ready_blocks AS ( + SELECT + block_number + FROM + to_do +) +SELECT + block_number, + ROUND( + block_number, + -3 + ) :: INT AS partition_key, + {{ target.database }}.live.udf_api( + 'POST', + '{Service}/{Authentication}', + OBJECT_CONSTRUCT( + 'Content-Type', + 'application/json' + ), + OBJECT_CONSTRUCT( + 'id', + block_number :: STRING, + 'jsonrpc', + '2.0', + 'method', + 'eth_getBlockByNumber', + 'params', + ARRAY_CONSTRUCT(utils.udf_int_to_hex(block_number), TRUE)), + 'Vault/prod/sei/quicknode/mainnet' + ) AS request + FROM + ready_blocks + ORDER BY + block_number DESC diff --git a/models/evm/streamline/silver/realtime/streamline__evm_confirm_blocks_realtime.sql b/models/evm/streamline/silver/realtime/streamline__evm_confirm_blocks_realtime.sql index 170c048..eaaae6d 100644 --- a/models/evm/streamline/silver/realtime/streamline__evm_confirm_blocks_realtime.sql +++ b/models/evm/streamline/silver/realtime/streamline__evm_confirm_blocks_realtime.sql @@ -13,15 +13,11 @@ ) }} WITH last_3_days AS ( - {# SELECT block_number FROM {{ ref("_evm_block_lookback") }} - #} - SELECT - 79123881 AS block_number ), look_back AS ( SELECT diff --git a/models/evm/streamline/silver/realtime/streamline__evm_receipts_realtime.sql b/models/evm/streamline/silver/realtime/streamline__evm_receipts_realtime.sql index ec989dc..675a9a6 100644 --- a/models/evm/streamline/silver/realtime/streamline__evm_receipts_realtime.sql +++ b/models/evm/streamline/silver/realtime/streamline__evm_receipts_realtime.sql @@ -63,6 +63,11 @@ ready_blocks AS ( block_number FROM {{ ref("_missing_receipts") }} + UNION + SELECT + block_number + FROM + {{ ref("_unconfirmed_blocks") }} ) SELECT block_number, diff --git a/models/evm/streamline/silver/realtime/streamline__evm_traces_realtime.sql b/models/evm/streamline/silver/realtime/streamline__evm_traces_realtime.sql index 2b1041d..fa6cc1b 100644 --- a/models/evm/streamline/silver/realtime/streamline__evm_traces_realtime.sql +++ b/models/evm/streamline/silver/realtime/streamline__evm_traces_realtime.sql @@ -63,6 +63,11 @@ ready_blocks AS ( block_number FROM {{ ref("_missing_traces") }} + UNION + SELECT + block_number + FROM + {{ ref("_unconfirmed_blocks") }} ) SELECT block_number, diff --git a/models/evm/streamline/silver/realtime/streamline__evm_transactions_realtime.sql b/models/evm/streamline/silver/realtime/streamline__evm_transactions_realtime.sql index 4ed7760..8b58c79 100644 --- a/models/evm/streamline/silver/realtime/streamline__evm_transactions_realtime.sql +++ b/models/evm/streamline/silver/realtime/streamline__evm_transactions_realtime.sql @@ -63,6 +63,11 @@ ready_blocks AS ( block_number FROM {{ ref("_missing_receipts") }} + UNION + SELECT + block_number + FROM + {{ ref("_unconfirmed_blocks") }} ) SELECT block_number, diff --git a/models/evm/streamline/silver/retry/_unconfirmed_blocks.sql b/models/evm/streamline/silver/retry/_unconfirmed_blocks.sql new file mode 100644 index 0000000..de3feb4 --- /dev/null +++ b/models/evm/streamline/silver/retry/_unconfirmed_blocks.sql @@ -0,0 +1,34 @@ +{{ config ( + materialized = "ephemeral" +) }} + +WITH lookback AS ( + + SELECT + block_number + FROM + {{ ref("_evm_block_lookback") }} +) +SELECT + DISTINCT cb.block_number AS block_number +FROM + {{ ref("silver_evm__confirmed_blocks") }} + cb + LEFT JOIN {{ ref("silver_evm__transactions") }} + txs USING ( + block_number, + block_hash, + tx_hash + ) +WHERE + txs.tx_hash IS NULL + AND cb.block_number >= ( + SELECT + block_number + FROM + lookback + ) + AND cb._inserted_timestamp >= DATEADD('hour', -84, SYSDATE()) + AND ( + txs._inserted_timestamp >= DATEADD('hour', -84, SYSDATE()) + OR txs._inserted_timestamp IS NULL) diff --git a/tests/sei_evm/test_silver_evm__confirmed_blocks.sql b/tests/sei_evm/test_silver_evm__confirmed_blocks.sql new file mode 100644 index 0000000..a3ff01d --- /dev/null +++ b/tests/sei_evm/test_silver_evm__confirmed_blocks.sql @@ -0,0 +1 @@ +{{ missing_confirmed_txs(ref("test_silver_evm__confirmed_blocks_full"), ref("test_silver_evm__transactions_full")) }} diff --git a/tests/sei_evm/test_silver_evm__missing_receipts.sql b/tests/sei_evm/test_silver_evm__missing_receipts.sql new file mode 100644 index 0000000..f7a598d --- /dev/null +++ b/tests/sei_evm/test_silver_evm__missing_receipts.sql @@ -0,0 +1,2 @@ +-- depends_on: {{ ref('test_silver_evm__transactions_full') }} +{{ missing_txs(ref("test_silver_evm__receipts_full")) }} diff --git a/tests/sei_evm/test_silver_evm__missing_traces.sql b/tests/sei_evm/test_silver_evm__missing_traces.sql new file mode 100644 index 0000000..1eafb18 --- /dev/null +++ b/tests/sei_evm/test_silver_evm__missing_traces.sql @@ -0,0 +1,2 @@ +-- depends_on: {{ ref('test_silver_evm__transactions_full') }} +{{ missing_txs(ref("test_silver_evm__traces_full")) }} diff --git a/tests/sei_evm/test_silver_evm__recent_confirmed_blocks.sql b/tests/sei_evm/test_silver_evm__recent_confirmed_blocks.sql new file mode 100644 index 0000000..75dcc83 --- /dev/null +++ b/tests/sei_evm/test_silver_evm__recent_confirmed_blocks.sql @@ -0,0 +1 @@ +{{ missing_confirmed_txs(ref("test_silver_evm__confirmed_blocks_recent"), ref("test_silver_evm__transactions_recent")) }}