livequery-base/macros/create_udfs.sql
Austin 040b3fdf9a
Stream 318/an 3432/stream 324/evm highl level abstractions (#24)
* - create place holder configs for high level evm abstractions

* - rename udf_config

* - fixed macro bug

* - add generic rpc_call

* - add generic evm rpc udf

* - add generic evm rpc udf

* - more DRY primitives

* WIP

* - add example udft

* - readme.MD

* - updated comments on evm primitives

* - add model to store signatures for UI

* evm abstractions

* use schema

* Squashed commit of the following:

commit df57d3309394d13407d5f4f7a1c27ab4e51ccb4e
Author: Julius Remigio <14811322+juls858@users.noreply.github.com>
Date:   Thu Jun 15 12:31:00 2023 -0700

     - remove unneeded model

* - refactor pimitives to use schema with network name

* schema fix and polygon

* - added udf_rpc to live schema
- prefixed primitives with udf_

* use crosschain table

* use sources for crosschain

* support all chains

* add network

* updated comments

* all chains

* remove map

* reorg

* remove optimism from map

* Update utils.sql

Return null instead of empty json object

* add error column

* Revert "add error column"

This reverts commit 49bc7239a43afaa9974abc2ab9408310c0757aa1.

* Revert "Update utils.sql"

This reverts commit 1edbeef5eebea6a5bffe3fc599afd2289864b359.

* Update utils.sql

Return null instead of empty json object

* Revert "Update utils.sql"

This reverts commit e4c29b093235cf9a36ca34e1000d1ad1c1a7beb6.

---------

Co-authored-by: Julius Remigio <14811322+juls858@users.noreply.github.com>
2023-06-27 11:55:30 -07:00

65 lines
5.0 KiB
SQL

{% macro create_udfs(drop_=False) %}
{% if var("UPDATE_UDFS_AND_SPS") %}
{% set sql %}
CREATE SCHEMA IF NOT EXISTS silver;
CREATE SCHEMA IF NOT EXISTS beta;
CREATE SCHEMA IF NOT EXISTS utils;
CREATE SCHEMA IF NOT EXISTS _utils;
CREATE SCHEMA IF NOT EXISTS _live;
CREATE SCHEMA IF NOT EXISTS live;
{%- set udfs = fromyaml(config_core_udfs()) -%}
{%- for udf in udfs -%}
{{- create_or_drop_function_from_config(udf, drop_=drop_) -}}
{% endfor %}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "arbitrum_nova", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "arbitrum_one", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "arbitrum_one", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "avalanche_c", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "avalanche_c", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "base", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "bsc", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "bsc", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "celo", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "ethereum", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "ethereum", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "ethereum", "sepolia", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "fantom", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "gnosis", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "harmony", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "harmony", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "optimism", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "optimism", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "polygon", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "polygon", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "polygon_zkevm", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_rpc_primitives, "polygon_zkevm", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "arbitrum_nova", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "arbitrum_one", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "arbitrum_one", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "avalanche_c", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "avalanche_c", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "base", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "bsc", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "bsc", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "celo", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "ethereum", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "ethereum", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "ethereum", "sepolia", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "fantom", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "gnosis", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "harmony", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "harmony", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "optimism", "goerli", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "optimism", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "polygon", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "polygon", "testnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "polygon_zkevm", "mainnet", drop_) -}}
{{- crud_udfs_in_schema(config_evm_high_level_abstractions, "polygon_zkevm", "testnet", drop_) -}}
{% endset %}
{% do run_query(sql) %}
{% endif %}
{% endmacro %}