From ab1369b78103df3ffe55fbd85bb739a4f3eeae08 Mon Sep 17 00:00:00 2001 From: drethereum Date: Fri, 26 Jul 2024 10:37:10 -0600 Subject: [PATCH] add trace decoder to evm udf --- macros/create_streamline_udfs.sql | 1 + macros/streamline/udfs.sql | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/macros/create_streamline_udfs.sql b/macros/create_streamline_udfs.sql index a9bc226..9b2bad9 100644 --- a/macros/create_streamline_udfs.sql +++ b/macros/create_streamline_udfs.sql @@ -8,5 +8,6 @@ {% if var("UPDATE_UDFS_AND_SPS") %} {{ create_udf_bulk_rest_api_v2() }} {{ create_udf_bulk_decode_logs() }} + {{ create_udf_bulk_decode_traces() }} {% endif %} {% endmacro %} diff --git a/macros/streamline/udfs.sql b/macros/streamline/udfs.sql index f25e9eb..c21da4b 100644 --- a/macros/streamline/udfs.sql +++ b/macros/streamline/udfs.sql @@ -46,6 +46,30 @@ {% do adapter.execute(sql) %} {% endmacro %} +{% macro create_udf_bulk_decode_traces() %} + {{ log("Creating udf udf_bulk_decode_traces_v2 for target:" ~ target.name ~ ", schema: " ~ target.schema ~ ", DB: " ~ target.database, info=True) }} + {{ log("role:" ~ target.role ~ ", user:" ~ target.user, info=True) }} + + {% set sql %} + CREATE OR REPLACE EXTERNAL FUNCTION streamline.udf_bulk_decode_traces_v2(json object) returns array api_integration = + {% if target.name == "prod" %} + {{ log("Creating prod udf_bulk_decode_traces_v2", info=True) }} + {{ var("API_INTEGRATION") }} AS 'https://{{ var("EXTERNAL_FUNCTION_URI") | lower }}bulk_decode_traces' + {% elif target.name == "dev" %} + {{ log("Creating dev udf_bulk_decode_traces_v2", info=True) }} + {{ var("API_INTEGRATION") }} AS 'https://{{ var("EXTERNAL_FUNCTION_URI") | lower }}bulk_decode_traces' + {% elif target.name == "sbx" %} + {{ log("Creating stg udf_bulk_decode_traces_v2", info=True) }} + {{ var("API_INTEGRATION") }} AS 'https://{{ var("EXTERNAL_FUNCTION_URI") | lower }}bulk_decode_traces' + {% else %} + {{ log("Creating default (dev) udf_bulk_decode_traces_v2", info=True) }} + {{ var("config")["dev"]["API_INTEGRATION"] }} AS 'https://{{ var("config")["dev"]["EXTERNAL_FUNCTION_URI"] | lower }}bulk_decode_traces' + {% endif %}; + {% endset %} + {{ log(sql, info=True) }} + {% do adapter.execute(sql) %} +{% endmacro %} + {% macro create_aws_api_integrations() %} {{ log("Creating api integration for target:" ~ target.name ~ ", schema: " ~ target.schema ~ ", DB: " ~ target.database, info=True) }} {{ log("role:" ~ target.role ~ ", user:" ~ target.user, info=True) }}