mirror of
https://github.com/FlipsideCrypto/terra-models.git
synced 2026-02-06 14:11:44 +00:00
blocks >100 txns
This commit is contained in:
parent
a059d1260b
commit
61879e1dd3
@ -51,12 +51,16 @@ tests:
|
||||
vars:
|
||||
"dbt_date:time_zone": GMT
|
||||
"UPDATE_SNOWFLAKE_TAGS": TRUE
|
||||
STREAMLINE_INVOKE_STREAMS: TRUE
|
||||
STREAMLINE_INVOKE_STREAMS: FALSE
|
||||
STREAMLINE_USE_DEV_FOR_EXTERNAL_TABLES: False
|
||||
UPDATE_UDFS_AND_SPS: False
|
||||
UPDATE_SNOWFLAKE_TAGS: True
|
||||
OBSERV_FULL_TEST: FALSE
|
||||
START_GHA_TASKS: False
|
||||
API_INTEGRATION: '{{ var("config")[target.name]["API_INTEGRATION"] if var("config")[target.name] else var("config")["dev"]["API_INTEGRATION"] }}'
|
||||
EXTERNAL_FUNCTION_URI: '{{ var("config")[target.name]["EXTERNAL_FUNCTION_URI"] if var("config")[target.name] else var("config")["dev"]["EXTERNAL_FUNCTION_URI"] }}'
|
||||
ROLES: |
|
||||
["INTERNAL_DEV"]
|
||||
|
||||
|
||||
dispatch:
|
||||
|
||||
@ -44,7 +44,7 @@ SELECT
|
||||
'"method": "tx_search", "params":["',
|
||||
'tx.height=',
|
||||
block_id :: INTEGER,
|
||||
'",true, "1" ,"1000" ,"asc"],"id":"',
|
||||
'",true, "1" ,"100" ,"asc"],"id":"',
|
||||
block_id :: STRING,
|
||||
'"}'
|
||||
)
|
||||
|
||||
@ -0,0 +1,96 @@
|
||||
{{ config (
|
||||
materialized = "view",
|
||||
post_hook = if_data_call_function(
|
||||
func = "{{this.schema}}.udf_bulk_json_rpc(object_construct('sql_source', '{{this.identifier}}', 'external_table', 'pc_getTxSearch', 'sql_limit', {{var('sql_limit','40000')}}, 'producer_batch_size', {{var('producer_batch_size','10000')}}, 'worker_batch_size', {{var('worker_batch_size','1000')}}, 'batch_call_limit', {{var('batch_call_limit','10')}}))",
|
||||
target = "{{this.schema}}.{{this.identifier}}"
|
||||
)
|
||||
) }}
|
||||
|
||||
WITH last_3_days AS (
|
||||
|
||||
SELECT
|
||||
block_id
|
||||
FROM
|
||||
{{ ref("_max_block_by_date") }}
|
||||
qualify ROW_NUMBER() over (
|
||||
ORDER BY
|
||||
block_id DESC
|
||||
) = 3
|
||||
),
|
||||
gen AS (
|
||||
SELECT
|
||||
ROW_NUMBER() over (
|
||||
ORDER BY
|
||||
SEQ4()
|
||||
) AS id
|
||||
FROM
|
||||
TABLE(GENERATOR(rowcount => 50))
|
||||
),
|
||||
possible_perms AS (
|
||||
SELECT
|
||||
id,
|
||||
(
|
||||
id * 100
|
||||
) - 99 min_count,
|
||||
id * 100 max_count
|
||||
FROM
|
||||
gen
|
||||
),
|
||||
perms AS (
|
||||
SELECT
|
||||
block_id,
|
||||
id
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
A.block_id,
|
||||
A.tx_count
|
||||
FROM
|
||||
{{ ref("silver__blocks") }} A
|
||||
JOIN last_3_days b
|
||||
ON A.block_id = b.block_id
|
||||
WHERE
|
||||
A.block_id > 4109598
|
||||
AND A.tx_count > 100
|
||||
) A
|
||||
JOIN possible_perms
|
||||
ON CEIL(
|
||||
tx_count,
|
||||
-2
|
||||
) >= max_count
|
||||
),
|
||||
blocks AS (
|
||||
SELECT
|
||||
block_id,
|
||||
id
|
||||
FROM
|
||||
perms
|
||||
WHERE
|
||||
id > 1
|
||||
EXCEPT
|
||||
SELECT
|
||||
block_number :: STRING,
|
||||
metadata :request :params [2] :: INT AS id
|
||||
FROM
|
||||
{{ ref("bronze__streamline_transactions") }}
|
||||
WHERE
|
||||
metadata NOT LIKE '"1",%'
|
||||
)
|
||||
SELECT
|
||||
PARSE_JSON(
|
||||
CONCAT(
|
||||
'{"jsonrpc": "2.0",',
|
||||
'"method": "tx_search", "params":["',
|
||||
'tx.height=',
|
||||
block_id :: INTEGER,
|
||||
'",true, "',
|
||||
id :: INT :: STRING,
|
||||
'" ,"1000" ,"asc"],"id":"',
|
||||
block_id :: INT :: STRING,
|
||||
'"}'
|
||||
)
|
||||
) AS request
|
||||
FROM
|
||||
blocks
|
||||
ORDER BY
|
||||
block_id ASC
|
||||
Loading…
Reference in New Issue
Block a user