base-models/models/silver/core/silver__confirmed_blocks.sql
drethereum ce3d34c527
AN-5568/sl-2 (#235)
* initial core streamline model updates for sl2

* dbt project vars, core bronze views and fsc-evm temp macros

* revert

* spacing

* external function uri stg

* sources and references to new table names

* workflow cmds

* chainhead test

* vars clean up

* update api integration

* added prod integration, cleaned up vars, param for silver.traces2

* remove goerli models

* block delay

* var for delay

* remove order by
2024-12-10 11:45:02 -07:00

52 lines
1.1 KiB
SQL

-- depends_on: {{ ref('bronze__confirm_blocks') }}
{{ config(
materialized = 'incremental',
incremental_strategy = 'delete+insert',
unique_key = "block_number",
cluster_by = "round(block_number,-3)",
full_refresh = false,
tags = ['non_realtime']
) }}
WITH base AS (
SELECT
block_number,
DATA :result :hash :: STRING AS block_hash,
DATA :result :transactions txs,
_inserted_timestamp
FROM
{% if is_incremental() %}
{{ ref('bronze__confirm_blocks') }}
WHERE
_inserted_timestamp >= (
SELECT
IFNULL(
MAX(
_inserted_timestamp
),
'1970-01-01' :: TIMESTAMP
) _inserted_timestamp
FROM
{{ this }}
)
{% else %}
{{ ref('bronze__confirm_blocks_fr') }}
{% endif %}
qualify(ROW_NUMBER() over (PARTITION BY block_number
ORDER BY
_inserted_timestamp DESC)) = 1
)
SELECT
block_number,
block_hash,
VALUE :: STRING AS tx_hash,
_inserted_timestamp
FROM
base,
LATERAL FLATTEN (
input => txs
)