diff --git a/models/silver/streamline/streamline__blocks.sql b/models/silver/streamline/streamline__blocks.sql index 4150c7e..3923098 100644 --- a/models/silver/streamline/streamline__blocks.sql +++ b/models/silver/streamline/streamline__blocks.sql @@ -3,15 +3,17 @@ tags = ['streamline_view'] ) }} - -{% if execute %} -{% set height = run_query('SELECT streamline.udf_get_chainhead()') %} -{% set block_height = height.columns[0].values()[0] %} -{% else %} -{% set block_height = 0 %} -{% endif %} - SELECT - height as block_id + _id AS block_number FROM - TABLE(streamline.udtf_get_base_table({{block_height}})) \ No newline at end of file + {{ source( + 'crosschain_silver', + 'number_sequence' + ) }} +WHERE + _id <= ( + SELECT + MAX(block_number) + FROM + {{ ref('streamline__chainhead') }} + ) diff --git a/models/silver/streamline/streamline__chainhead.sql b/models/silver/streamline/streamline__chainhead.sql new file mode 100644 index 0000000..a96645f --- /dev/null +++ b/models/silver/streamline/streamline__chainhead.sql @@ -0,0 +1,27 @@ +{{ config ( + materialized = "view", + tags = ['streamline_view'] +) }} + +SELECT + {{ target.database }}.live.udf_api( + 'POST', + '{Service}', + OBJECT_CONSTRUCT( + 'Content-Type', + 'application/json', + 'fsc-quantum-state', + 'livequery' + ), + OBJECT_CONSTRUCT( + 'id', + 0, + 'jsonrpc', + '2.0', + 'method', + 'status', + 'params', + [] + ), + 'Vault/prod/terra/mainnet/publicnode' + ) :data :result :sync_info :latest_block_height :: INT - 500 AS block_number