From ad0372f58713fbea05cd864d08befc859dc978a4 Mon Sep 17 00:00:00 2001 From: shah Date: Mon, 2 Dec 2024 13:48:41 -0800 Subject: [PATCH] remove non core models/macros --- macros/evm/evm.yaml.sql | 399 ---- macros/evm/evm_abstractions.sql | 1736 ----------------- macros/evm/evm_primitives.yaml.sql | 91 - macros/livequery/api_integrations.sql | 11 - models/deploy/evm/arbitrum_nova__mainnet.sql | 10 - models/deploy/evm/arbitrum_one__goerli.sql | 10 - models/deploy/evm/arbitrum_one__mainnet.sql | 10 - models/deploy/evm/avalanche_c__mainnet.sql | 10 - models/deploy/evm/avalanche_c__testnet.sql | 10 - models/deploy/evm/base__goerli.sql | 10 - models/deploy/evm/base__mainnet.sql | 10 - models/deploy/evm/bsc__mainnet.sql | 10 - models/deploy/evm/bsc__testnet.sql | 10 - models/deploy/evm/celo__mainnet.sql | 10 - models/deploy/evm/ethereum__goerli.sql | 10 - models/deploy/evm/ethereum__mainnet.sql | 13 - models/deploy/evm/ethereum__sepolia.sql | 10 - models/deploy/evm/fantom__mainnet.sql | 10 - models/deploy/evm/gnosis__mainnet.sql | 10 - models/deploy/evm/harmony__mainnet.sql | 10 - models/deploy/evm/harmony__testnet.sql | 10 - models/deploy/evm/optimism__goerli.sql | 10 - models/deploy/evm/optimism__mainnet.sql | 10 - models/deploy/evm/polygon__mainnet.sql | 10 - models/deploy/evm/polygon__testnet.sql | 10 - models/deploy/evm/polygon_zkevm__mainnet.sql | 10 - models/deploy/evm/polygon_zkevm__testnet.sql | 10 - models/mapping_tables/_eth__decoded_logs.sql | 11 - models/mapping_tables/_eth__logs.sql | 11 - models/mapping_tables/_evm__abi_map.sql | 22 - models/mapping_tables/_evm__contracts_map.sql | 20 - .../_evm__native_symbol_map.sql | 129 -- 32 files changed, 2663 deletions(-) delete mode 100644 macros/evm/evm.yaml.sql delete mode 100644 macros/evm/evm_abstractions.sql delete mode 100644 macros/evm/evm_primitives.yaml.sql delete mode 100644 macros/livequery/api_integrations.sql delete mode 100644 models/deploy/evm/arbitrum_nova__mainnet.sql delete mode 100644 models/deploy/evm/arbitrum_one__goerli.sql delete mode 100644 models/deploy/evm/arbitrum_one__mainnet.sql delete mode 100644 models/deploy/evm/avalanche_c__mainnet.sql delete mode 100644 models/deploy/evm/avalanche_c__testnet.sql delete mode 100644 models/deploy/evm/base__goerli.sql delete mode 100644 models/deploy/evm/base__mainnet.sql delete mode 100644 models/deploy/evm/bsc__mainnet.sql delete mode 100644 models/deploy/evm/bsc__testnet.sql delete mode 100644 models/deploy/evm/celo__mainnet.sql delete mode 100644 models/deploy/evm/ethereum__goerli.sql delete mode 100644 models/deploy/evm/ethereum__mainnet.sql delete mode 100644 models/deploy/evm/ethereum__sepolia.sql delete mode 100644 models/deploy/evm/fantom__mainnet.sql delete mode 100644 models/deploy/evm/gnosis__mainnet.sql delete mode 100644 models/deploy/evm/harmony__mainnet.sql delete mode 100644 models/deploy/evm/harmony__testnet.sql delete mode 100644 models/deploy/evm/optimism__goerli.sql delete mode 100644 models/deploy/evm/optimism__mainnet.sql delete mode 100644 models/deploy/evm/polygon__mainnet.sql delete mode 100644 models/deploy/evm/polygon__testnet.sql delete mode 100644 models/deploy/evm/polygon_zkevm__mainnet.sql delete mode 100644 models/deploy/evm/polygon_zkevm__testnet.sql delete mode 100644 models/mapping_tables/_eth__decoded_logs.sql delete mode 100644 models/mapping_tables/_eth__logs.sql delete mode 100644 models/mapping_tables/_evm__abi_map.sql delete mode 100644 models/mapping_tables/_evm__contracts_map.sql delete mode 100644 models/mapping_tables/_evm__native_symbol_map.sql diff --git a/macros/evm/evm.yaml.sql b/macros/evm/evm.yaml.sql deleted file mode 100644 index 32bd2eb..0000000 --- a/macros/evm/evm.yaml.sql +++ /dev/null @@ -1,399 +0,0 @@ -{% macro config_evm_high_level_abstractions(blockchain, network) -%} -{# - This macro is used to generate the high level abstractions for an EVM - blockchain. - #} -{% set schema = blockchain ~ "_" ~ network %} -- name: {{ schema -}}.tf_latest_native_balance - signature: - - [wallet, STRING, The address to get the balance of at the latest block] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, symbol STRING, raw_balance STRING, balance FLOAT)" - - | - The table has the following columns: - * `blockchain` - The blockchain - * `network` - The network - * `wallet_address` - The wallet address - * `symbol` - The symbol of the native asset - * `raw_balance` - The unadjusted native asset balance - * `balance` - The adjusted native asset balance - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the native asset balance at the latest block for a given address.$$ - sql: | - {{ evm_latest_native_balance_string(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_native_balance - signature: - - [wallets, ARRAY, An array of addresses string to get the balance of at the latest block] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, symbol STRING, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the native asset balances at the latest block for given addresses.$$ - sql: | - {{ evm_latest_native_balance_array(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_token_balance - signature: - - [wallet, STRING, The address to get the balance of at the latest block] - - [token, STRING, The address of the token to get the balance of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balance at the latest block for a given address and token address. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_latest_token_balance_ss(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_token_balance - signature: - - [wallet, STRING, The address to get the balance of at the latest block] - - [tokens, ARRAY, An array of address strings of the tokens to get the balance of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances at the latest block for a given address and multiple token addresses. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_latest_token_balance_sa(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_token_balance - signature: - - [wallets, ARRAY, An array of addresses string to get the balance of at the latest block] - - [token, STRING, The address of the token to get the balance of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances at the latest block for multiple addresses and a single token address. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_latest_token_balance_as(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_token_balance - signature: - - [wallets, ARRAY, An array of addresses string to get the balance of at the latest block] - - [tokens, ARRAY, An array of address strings of the tokens to get the balance of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances at the latest block for multiple addresses and multiple token addresses. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_latest_token_balance_aa(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_token_balance - signature: - - [wallet, STRING, The address to get the balance of at the input block] - - [token, STRING, The address of the token to get the balance of] - - [block_number, INTEGER, The block number to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balance for a given address and token address at a specific block. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_historical_token_balance_ssi(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_token_balance - signature: - - [wallet, STRING, The address to get the balance of at the input block] - - [token, STRING, The address of the token to get the balance of] - - [block_numbers, ARRAY, The block numbers to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances for a given address and token address at multiple specific blocks. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_historical_token_balance_ssa(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_token_balance - signature: - - [wallets, ARRAY, The addresses to get the balance of at the input block] - - [token, STRING, The address of the token to get the balance of] - - [block_number, INTEGER, The block number to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances for multiple addresses and a given token addresses at a specific block. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_historical_token_balance_asi(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_token_balance - signature: - - [wallet, STRING, The address to get the balance of at the input block] - - [tokens, ARRAY, An array of address strings of the tokens to get the balance of] - - [block_number, INTEGER, The block number to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances for a given address and multiple token addresses at a specific block. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_historical_token_balance_sai(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_token_balance - signature: - - [wallet, STRING, The address to get the balance of at the input block] - - [tokens, ARRAY, An array of address strings of the tokens to get the balance of] - - [block_numbers, ARRAY, The block numbers to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances for a given address and multiple token addresses at multiple specific blocks. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_historical_token_balance_saa(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_token_balance - signature: - - [wallets, ARRAY, An array of address strings to get the balance of at the input block] - - [tokens, ARRAY, An array of address strings of the tokens to get the balance of] - - [block_number, INTEGER, The block number to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances for multiple addresses and multiple token addresses at a specific block. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_historical_token_balance_aai(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_token_balance - signature: - - [wallets, ARRAY, An array of address strings to get the balance of at the input block] - - [tokens, ARRAY, An array of address strings of the tokens to get the balance of] - - [block_numbers, ARRAY, The block numbers to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, token_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the token balances for multiple addresses and multiple token addresses at multiple specific blocks. Supports ERC20 and ERC721 tokens.$$ - sql: | - {{ evm_historical_token_balance_aaa(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_native_balance - signature: - - [wallet, STRING, The address to get the balance of at the input block] - - [block_number, INTEGER, The block number to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the native asset balance for a given address at a specific block.$$ - sql: | - {{ evm_historical_native_balance_si(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_native_balance - signature: - - [wallet, STRING, The address to get the balance of at the input block] - - [block_numbers, ARRAY, The block numbers to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the native asset balances for a given address at multiple specific blocks.$$ - sql: | - {{ evm_historical_native_balance_sa(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_native_balance - signature: - - [wallets, ARRAY, An array of address strings to get the balance of at the input block] - - [block_number, INTEGER, The block number to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the native asset balances for multiple addresses at a specific block.$$ - sql: | - {{ evm_historical_native_balance_ai(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_historical_native_balance - signature: - - [wallets, ARRAY, An array of address strings to get the balance of at the input block] - - [block_numbers, ARRAY, The block numbers to get the balance at] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, wallet_address STRING, symbol STRING, block_number INTEGER, raw_balance STRING, balance FLOAT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the native asset balances for multiple addresses at multiple specific blocks.$$ - sql: | - {{ evm_historical_native_balance_aa(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events - signature: - - [address, STRING, The address of the contract to get the events of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, contract_address STRING, event_topics ARRAY, event_data STRING)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the latest events emitted by a contract in the last 100 blocks.$$ - sql: | - {{ evm_latest_contract_events_s(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events - signature: - - [address, STRING, The address of the contract to get the events of] - - [lookback, INTEGER, The number of blocks to look back. Please note there are RPC limitations on this method.] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, contract_address STRING, event_topics ARRAY, event_data STRING)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the latest events emitted by a contract within the last `lookback` blocks. *Please note there are RPC limitations on this method.*$$ - sql: | - {{ evm_latest_contract_events_si(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events - signature: - - [addresses, ARRAY, The addresses of the contracts to get the events of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, contract_address STRING, event_topics ARRAY, event_data STRING)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the latest events emitted by multiple contracts in the last 100 blocks.$$ - sql: | - {{ evm_latest_contract_events_a(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events - signature: - - [addresses, ARRAY, The addresses of the contracts to get the events of] - - [lookback, INTEGER, The number of blocks to look back. Please note there are RPC limitations on this method.] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, contract_address STRING, event_topics ARRAY, event_data STRING)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the latest events emitted by multiple contracts within the last `lookback` blocks. *Please note there are RPC limitations on this method.*$$ - sql: | - {{ evm_latest_contract_events_ai(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events_decoded - signature: - - [address, STRING, The address of the contract to get the decoded events of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, event_name STRING, contract_address STRING, event_topics ARRAY, event_data STRING, decoded_data OBJECT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$RReturns the latest decoded events emitted by a contract in the last 100 blocks. Submit missing ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/).$$ - sql: | - {{ evm_latest_contract_events_decoded_s(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events_decoded - signature: - - [addresses, ARRAY, The addresses of the contracts to get the decoded events of] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, event_name STRING, contract_address STRING, event_topics ARRAY, event_data STRING, decoded_data OBJECT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the latest decoded events emitted by multiple contracts in the last 100 blocks. Submit missing ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/).$$ - sql: | - {{ evm_latest_contract_events_decoded_a(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events_decoded - signature: - - [address, STRING, The address of the contract to get the decoded events of] - - [lookback, INTEGER, The number of blocks to look back. Please note there are RPC limitations on this method.] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, event_name STRING, contract_address STRING, event_topics ARRAY, event_data STRING, decoded_data OBJECT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the latest decoded events emitted by a contract within the last `lookback` blocks. Submit missing ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/). *Please note there are RPC limitations on this method.*$$ - sql: | - {{ evm_latest_contract_events_decoded_si(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_latest_contract_events_decoded - signature: - - [addresses, ARRAY, The addresses of the contracts to get the decoded events of] - - [lookback, INTEGER, The number of blocks to look back. Please note there are RPC limitations on this method.] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, event_name STRING, contract_address STRING, event_topics ARRAY, event_data STRING, decoded_data OBJECT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the latest decoded events emitted by multiple contracts within the last `lookback` blocks. Submit missing ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/). *Please note there are RPC limitations on this method.* $$ - sql: | - {{ evm_latest_contract_events_decoded_ai(schema, blockchain, network) | indent(4) -}} -{%- endmacro -%} - -{% macro config_eth_high_level_abstractions(blockchain, network) -%} -{# - This macro is used to generate high level abstractions for Ethereum mainnet only. -#} -{% set schema = blockchain ~ "_" ~ network %} -- name: {{ schema -}}.tf_all_contract_events - signature: - - [address, STRING, The address of the contracts to get the events of] - - [min_block, INTEGER, The minimum block number to get the events from] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, contract_address STRING, event_topics ARRAY, event_data STRING)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the events emitted by a contract from a specific block to the latest block.$$ - sql: | - {{ evm_contract_events(schema, blockchain, network) | indent(4) -}} - -- name: {{ schema -}}.tf_all_contract_events_decoded - signature: - - [address, STRING, The address of the contracts to get the events of] - - [min_block, INTEGER, The minimum block number to get the events from] - return_type: - - "TABLE(status STRING, blockchain STRING, network STRING, tx_hash STRING, block_number INTEGER, event_index INTEGER, event_name STRING, contract_address STRING, event_topics ARRAY, event_data STRING, decoded_data OBJECT)" - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the decoded events emitted by a contract from a specific block to the latest block. Submit missing ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/).$$ - sql: | - {{ evm_contract_events_decoded(schema, blockchain, network) | indent(4) -}} -{%- endmacro -%} \ No newline at end of file diff --git a/macros/evm/evm_abstractions.sql b/macros/evm/evm_abstractions.sql deleted file mode 100644 index cea18f6..0000000 --- a/macros/evm/evm_abstractions.sql +++ /dev/null @@ -1,1736 +0,0 @@ -{% macro evm_latest_native_balance_string(schema, blockchain, network) %} -with base as (select lower(wallet) AS wallet_address) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - symbol, - utils.udf_hex_to_int({{schema}}.udf_rpc_eth_get_balance(wallet_address,'latest')::string) AS raw_balance, - (raw_balance / POW(10,18))::float AS balance -FROM base -LEFT JOIN {{ ref('_evm__native_symbol_map') }} -on '{{blockchain}}' = blockchain -and '{{network}}' = network -{% endmacro %} - -{% macro evm_latest_native_balance_array(schema, blockchain, network) %} -WITH address_inputs AS ( - SELECT wallets AS wallet_array -), -flat_addresses AS ( - SELECT lower(value::string) AS wallet_address - FROM address_inputs a, - LATERAL FLATTEN(input => a.wallet_array) -), -node_call AS ( - SELECT wallet_address, - {{schema}}.udf_rpc_eth_get_balance(wallet_address,'latest')::string AS hex_balance - FROM flat_addresses -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - symbol, - utils.udf_hex_to_int(hex_balance) AS raw_balance, - (raw_balance / POW(10,18))::FLOAT AS balance -FROM node_call -LEFT JOIN {{ ref('_evm__native_symbol_map') }} -on '{{blockchain}}' = blockchain -and '{{network}}' = network -{% endmacro %} - -{% macro evm_latest_token_balance_ss(schema, blockchain, network) %} -WITH inputs AS ( - SELECT - lower(token) AS token_address, - lower(wallet) AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, 0) - ) AS DATA -), -node_call AS ( - SELECT - wallet_address, - token_address, - symbol, - {{schema}}.udf_rpc_eth_call(object_construct_keep_null('from', null, 'to', token_address, 'data', data),'latest')::string AS eth_call, - utils.udf_hex_to_int(eth_call::string) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - and blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - raw_balance, - balance -FROM node_call -{% endmacro %} - -{% macro evm_latest_token_balance_sa(schema, blockchain, network) %} -WITH inputs AS ( - SELECT tokens, wallet -), -flat_rows AS ( - SELECT - lower(value::string) AS token_address, - lower(wallet::string) AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, 0) - ) AS DATA - FROM inputs, - LATERAL FLATTEN(input => tokens) -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - {{schema}}.udf_rpc_eth_call(object_construct_keep_null('from', null, 'to', token_address, 'data', data),'latest')::string AS eth_call, - utils.udf_hex_to_int(eth_call::string) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - flat_rows - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - and blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_latest_token_balance_as(schema, blockchain, network) %} -WITH inputs AS ( - SELECT token, wallets -), -flat_rows AS ( - SELECT - lower(value::string) AS wallet_address, - lower(token::string) AS token_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, 0) - ) AS DATA - FROM inputs, - LATERAL FLATTEN(input => wallets) -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - {{schema}}.udf_rpc_eth_call(object_construct_keep_null('from', null, 'to', token_address, 'data', data),'latest')::string AS eth_call, - utils.udf_hex_to_int(eth_call::string) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - flat_rows - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - and blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_latest_token_balance_aa(schema, blockchain, network) %} -WITH inputs AS ( - SELECT tokens, wallets -), -flat_rows AS ( - SELECT - lower(tokens.VALUE::STRING) AS token_address, - lower(wallets.VALUE::STRING) AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, 0) - ) AS DATA - FROM - inputs, - LATERAL FLATTEN(input => tokens) tokens, - LATERAL FLATTEN(input => wallets) wallets -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - {{schema}}.udf_rpc_eth_call(object_construct_keep_null('from', null, 'to', token_address, 'data', data),'latest')::string AS eth_call, - utils.udf_hex_to_int(eth_call::string) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - flat_rows - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - and blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_ssi(schema, blockchain, network) %} -WITH inputs AS ( - SELECT - LOWER(token) AS token_address, - LOWER(wallet) AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, 0) - ) AS data, - block_number -), final AS ( - SELECT - wallet_address, - token_address, - symbol, - block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_ssa(schema, blockchain, network) %} -WITH block_inputs AS ( - SELECT block_numbers -), -blocks AS ( - SELECT value::INTEGER AS block_number - FROM block_inputs, - LATERAL FLATTEN(input => block_numbers) -), -inputs AS ( - SELECT - LOWER(token) AS token_address, - LOWER(wallet) AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, 0) - ) AS data -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - blocks.block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(blocks.block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - CROSS JOIN blocks - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_asi(schema, blockchain, network) %} -WITH wallet_inputs AS ( - SELECT wallets -), -wallets AS ( - SELECT lower(value::STRING) AS wallet - FROM wallet_inputs, - LATERAL FLATTEN(input => wallets) -), -inputs AS ( - SELECT - LOWER(token) AS token_address, - wallet, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet, '0x', ''), 64, 0) - ) AS data - FROM wallets -), -final AS ( - SELECT - wallet AS wallet_address, - token_address, - symbol, - block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_asa(schema, blockchain, network) %} -WITH block_inputs AS ( - SELECT block_numbers -), -blocks AS ( - SELECT value::INTEGER AS block_number - FROM block_inputs, - LATERAL FLATTEN(input => block_numbers) -), -wallet_inputs AS ( - SELECT wallets -), -wallets AS ( - SELECT lower(value::STRING) AS wallet - FROM wallet_inputs, - LATERAL FLATTEN(input => wallets) -), -inputs AS ( - SELECT - LOWER(token) AS token_address, - wallet, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet, '0x', ''), 64, '0') - ) AS data - FROM wallets -), -final AS ( - SELECT - wallet AS wallet_address, - token_address, - symbol, - blocks.block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(blocks.block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - CROSS JOIN blocks - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_sai(schema, blockchain, network) %} -WITH token_inputs AS ( - SELECT tokens -), -tokens AS ( - SELECT value::STRING AS token - FROM token_inputs, - LATERAL FLATTEN(input => tokens) -), -inputs AS ( - SELECT - LOWER(token) AS token_address, - LOWER(wallet) AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, '0') - ) AS data - FROM - tokens -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_saa(schema, blockchain, network) %} -WITH block_inputs AS ( - SELECT block_numbers -), -blocks AS ( - SELECT value::INTEGER AS block_number - FROM block_inputs, - LATERAL FLATTEN(input => block_numbers) -), -token_inputs AS ( - SELECT tokens -), -tokens AS ( - SELECT value::STRING AS token - FROM token_inputs, - LATERAL FLATTEN(input => tokens) -), -inputs AS ( - SELECT - LOWER(token) AS token_address, - LOWER(wallet) AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, '0') - ) AS data - FROM - tokens -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - blocks.block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(blocks.block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - CROSS JOIN blocks - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_aai(schema, blockchain, network) %} -WITH token_inputs AS ( - SELECT tokens -), -tokens AS ( - SELECT value::STRING AS token - FROM token_inputs, - LATERAL FLATTEN(input => tokens) -), -wallet_inputs AS ( - SELECT wallets -), -wallets AS ( - SELECT lower(value::STRING) AS wallet - FROM wallet_inputs, - LATERAL FLATTEN(input => wallets) -), -inputs AS ( - SELECT - LOWER(token) AS token_address, - wallet AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, '0') - ) AS data - FROM - tokens, - wallets -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_token_balance_aaa(schema, blockchain, network) %} -WITH block_inputs AS ( - SELECT block_numbers -), -blocks AS ( - SELECT value::INTEGER AS block_number - FROM block_inputs, - LATERAL FLATTEN(input => block_numbers) -), -wallet_inputs AS ( - SELECT wallets -), -wallets AS ( - SELECT lower(value::STRING) AS wallet - FROM wallet_inputs, - LATERAL FLATTEN(input => wallets) -), -token_inputs AS ( - SELECT tokens -), -tokens AS ( - SELECT value::STRING AS token - FROM token_inputs, - LATERAL FLATTEN(input => tokens) -), -inputs AS ( - SELECT - LOWER(token) AS token_address, - wallet AS wallet_address, - '0x70a08231' AS function_sig, - CONCAT( - function_sig, - LPAD(REPLACE(wallet_address, '0x', ''), 64, '0') - ) AS data - FROM - wallets, - tokens -), -final AS ( - SELECT - wallet_address, - token_address, - symbol, - blocks.block_number, - {{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', data), CONCAT('0x', TRIM(TO_CHAR(blocks.block_number, 'XXXXXXXXXX'))))::STRING AS eth_call, - utils.udf_hex_to_int(eth_call::STRING) AS raw_balance, - raw_balance::INT / POW(10, ifnull(decimals,0)) AS balance - FROM - inputs - CROSS JOIN blocks - LEFT JOIN {{ ref('_evm__contracts_map') }} - ON token_address = address - AND blockchain = '{{blockchain}}' -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and REGEXP_LIKE(token_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - token_address, - symbol, - block_number, - raw_balance, - balance -FROM final -{% endmacro %} - -{% macro evm_historical_native_balance_si(schema, blockchain, network) %} -with base as (select lower(wallet) AS wallet_address, CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX'))) as hex_block) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - symbol, - block_number, - utils.udf_hex_to_int({{schema}}.udf_rpc_eth_get_balance(wallet_address,hex_block)::string) AS raw_balance, - (raw_balance / POW(10,18))::float AS balance -FROM base -LEFT JOIN {{ ref('_evm__native_symbol_map') }} -on '{{blockchain}}' = blockchain -and '{{network}}' = network -{% endmacro %} - -{% macro evm_historical_native_balance_sa(schema, blockchain, network) %} -WITH block_inputs AS ( - SELECT block_numbers -), -blocks AS ( - SELECT value::INTEGER AS block_number - FROM block_inputs, - LATERAL FLATTEN(input => block_numbers) -), -inputs AS ( - SELECT - wallet AS wallet_address, - block_number, - utils.udf_hex_to_int({{schema}}.udf_rpc_eth_get_balance(wallet, CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX')))))::STRING AS raw_balance - FROM blocks -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - symbol, - block_number, - raw_balance, - (raw_balance::int / pow(10,18)) ::float as balance -FROM inputs -LEFT JOIN {{ ref('_evm__native_symbol_map') }} -on '{{blockchain}}' = blockchain -and '{{network}}' = network -{% endmacro %} - -{% macro evm_historical_native_balance_ai(schema, blockchain, network) %} -WITH wallet_inputs AS ( - SELECT wallets -), -flat_wallets AS ( - SELECT lower(value::string) AS wallet - FROM wallet_inputs, - LATERAL FLATTEN(input => wallets) -), -inputs AS ( - SELECT - wallet AS wallet_address, - block_number, - utils.udf_hex_to_int({{schema}}.udf_rpc_eth_get_balance(wallet, CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX')))))::STRING AS raw_balance - FROM flat_wallets -) -SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - symbol, - block_number, - raw_balance, - (raw_balance::int / pow(10,18)) ::float as balance -FROM inputs -LEFT JOIN {{ ref('_evm__native_symbol_map') }} -on '{{blockchain}}' = blockchain -and '{{network}}' = network -{% endmacro %} - -{% macro evm_historical_native_balance_aa(schema, blockchain, network) %} - WITH inputs AS ( - SELECT wallets, block_numbers - ), - flat_wallets AS ( - SELECT lower(wallet.value::STRING) AS wallet, block.value::INTEGER AS block_number - FROM inputs, - LATERAL FLATTEN(input => wallets) wallet, - LATERAL FLATTEN(input => block_numbers) block - ), - final AS ( - SELECT - wallet AS wallet_address, - block_number, - utils.udf_hex_to_int({{schema}}.udf_rpc_eth_get_balance(wallet, CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX')))))::STRING AS raw_balance - FROM flat_wallets - ) - SELECT - case - when REGEXP_LIKE(wallet_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(block_number) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - wallet_address, - symbol, - block_number, - raw_balance, - (raw_balance::int / pow(10,18))::float as balance - FROM final - LEFT JOIN {{ ref('_evm__native_symbol_map') }} - on '{{blockchain}}' = blockchain - and '{{network}}' = network -{% endmacro %} - -{% macro evm_latest_contract_events_s(schema, blockchain, network) %} - WITH chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - 100, 'XXXXXXXXXX'))) AS from_block_hex - ), - node_call AS ( - SELECT - lower(address) AS contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM chainhead - ), - node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) - ) - SELECT - case - when REGEXP_LIKE(contract_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - tx_hash, - block_number, - event_index, - contract_address, - event_topics, - event_data - FROM node_flat -{% endmacro %} - -{% macro evm_latest_contract_events_si(schema, blockchain, network) %} - WITH chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - lookback, 'XXXXXXXXXX'))) AS from_block_hex - ), - node_call AS ( - SELECT - lower(address) AS contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM chainhead - ), - node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) - ) - SELECT - case - when REGEXP_LIKE(contract_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(lookback) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - tx_hash, - block_number, - event_index, - contract_address, - event_topics, - event_data - FROM node_flat -{% endmacro %} - -{% macro evm_latest_contract_events_a(schema, blockchain, network) %} - WITH chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - 100, 'XXXXXXXXXX'))) AS from_block_hex - ), - node_call AS ( - SELECT - lower(address) AS contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM ( - SELECT value::STRING AS address - FROM LATERAL FLATTEN(input => addresses) - ) inputs, chainhead - ), - node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) - ) - SELECT - case - when REGEXP_LIKE(contract_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - tx_hash, - block_number, - event_index, - contract_address, - event_topics, - event_data - FROM node_flat -{% endmacro %} - -{% macro evm_latest_contract_events_ai(schema, blockchain, network) %} - WITH chainhead AS ( - SELECT - {{schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - lookback, 'XXXXXXXXXX'))) AS from_block_hex - ), - node_call AS ( - SELECT - lower(address) AS contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM ( - SELECT value::STRING AS address - FROM LATERAL FLATTEN(input => addresses) - ) inputs, chainhead - ), - node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) - ) - SELECT - case - when REGEXP_LIKE(contract_address, '^0x([a-fA-F0-9]{40})$') - and is_integer(lookback) - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - tx_hash, - block_number, - event_index, - contract_address, - event_topics, - event_data - FROM node_flat -{% endmacro %} - -{% macro evm_latest_contract_events_decoded_s(schema, blockchain, network) %} -WITH inputs AS ( - SELECT lower(address::STRING) AS contract_address -), -chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - 100, 'XXXXXXXXXX'))) AS from_block_hex -), -abis AS ( - SELECT - parent_contract_address, - event_name, - event_signature, - abi - FROM inputs - JOIN {{ ref('_evm__abi_map') }} - ON lower(contract_address) = parent_contract_address - AND blockchain = '{{blockchain}}' - QUALIFY ROW_NUMBER() OVER (PARTITION BY contract_address, event_name ORDER BY end_block DESC) = 1 -), -node_call AS ( - SELECT - inputs.contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', inputs.contract_address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM inputs - JOIN chainhead ON 1=1 -), -node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) -), -decode_logs AS ( - SELECT - contract_address, - block_number, - tx_hash, - tx_index, - event_index, - event_removed, - event_data, - event_topics, - utils.udf_evm_decode_log( - abi, - OBJECT_CONSTRUCT( - 'topics', - event_topics, - 'data', - event_data, - 'address', - contract_address - ) - )[0] AS decoded_data, - decoded_data:name::STRING AS event_name, - utils.udf_evm_transform_log(decoded_data) AS transformed - FROM node_flat - JOIN abis - ON contract_address = parent_contract_address - AND event_topics[0]::STRING = event_signature -), -final AS ( - SELECT - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed, - OBJECT_AGG( - DISTINCT CASE - WHEN v.value:name = '' THEN CONCAT('anonymous_', v.index) - ELSE v.value:name - END, - v.value:value - ) AS decoded_flat - FROM decode_logs b, - LATERAL FLATTEN(input => transformed:data) v - GROUP BY - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed -) -SELECT - case - when REGEXP_LIKE(n.contract_address, '^0x([a-fA-F0-9]{40})$') then 'Success' - when f.event_name is null then 'Error - Contract ABI Not Found, submit ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/)' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - n.tx_hash, - n.block_number, - n.event_index, - f.event_name, - n.contract_address, - n.event_topics, - n.event_data, - f.decoded_flat AS decoded_data -FROM node_flat n -left join final f -on n.block_number = f.block_number -and n.tx_hash = f.tx_hash -and n.event_index = f.event_index -{% endmacro %} - -{% macro evm_latest_contract_events_decoded_si(schema, blockchain, network) %} -WITH inputs AS ( - SELECT lower(address::STRING) AS contract_address -), -chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - lookback, 'XXXXXXXXXX'))) AS from_block_hex, - lookback -), -abis AS ( - SELECT - parent_contract_address, - event_name, - event_signature, - abi - FROM inputs - JOIN {{ ref('_evm__abi_map') }} - ON lower(contract_address) = parent_contract_address - AND blockchain = '{{blockchain}}' - QUALIFY ROW_NUMBER() OVER (PARTITION BY contract_address, event_name ORDER BY end_block DESC) = 1 -), -node_call AS ( - SELECT - inputs.contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', inputs.contract_address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs, - lookback - FROM inputs - JOIN chainhead ON 1=1 -), -node_flat AS ( - SELECT - contract_address, - lookback, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) -), -decode_logs AS ( - SELECT - contract_address, - block_number, - tx_hash, - tx_index, - event_index, - event_removed, - event_data, - event_topics, - utils.udf_evm_decode_log( - abi, - OBJECT_CONSTRUCT( - 'topics', - event_topics, - 'data', - event_data, - 'address', - contract_address - ) - )[0] AS decoded_data, - decoded_data:name::STRING AS event_name, - utils.udf_evm_transform_log(decoded_data) AS transformed - FROM node_flat - JOIN abis - ON contract_address = parent_contract_address - AND event_topics[0]::STRING = event_signature -), -final AS ( - SELECT - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed, - OBJECT_AGG( - DISTINCT CASE - WHEN v.value:name = '' THEN CONCAT('anonymous_', v.index) - ELSE v.value:name - END, - v.value:value - ) AS decoded_flat - FROM decode_logs b, - LATERAL FLATTEN(input => transformed:data) v - GROUP BY - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed -) -SELECT - case - when REGEXP_LIKE(n.contract_address, '^0x([a-fA-F0-9]{40})$') and is_integer(n.lookback) then 'Success' - when f.event_name is null then 'Error - Contract ABI Not Found, submit ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/)' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - n.tx_hash, - n.block_number, - n.event_index, - f.event_name, - n.contract_address, - n.event_topics, - n.event_data, - f.decoded_flat AS decoded_data -FROM node_flat n -left join final f -on n.block_number = f.block_number -and n.tx_hash = f.tx_hash -and n.event_index = f.event_index -{% endmacro %} - -{% macro evm_latest_contract_events_decoded_a(schema, blockchain, network) %} -WITH base AS (SELECT addresses), -inputs AS ( - SELECT lower(value::STRING) AS contract_address - FROM base, LATERAL FLATTEN(input => addresses) -), -chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - 100, 'XXXXXXXXXX'))) AS from_block_hex -), -abis AS ( - SELECT - parent_contract_address, - event_name, - event_signature, - abi - FROM inputs - JOIN {{ ref('_evm__abi_map') }} - ON lower(contract_address) = parent_contract_address - AND blockchain = '{{blockchain}}' - QUALIFY ROW_NUMBER() OVER (PARTITION BY contract_address, event_name ORDER BY end_block DESC) = 1 -), -node_call AS ( - SELECT - inputs.contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', inputs.contract_address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM inputs - JOIN chainhead ON 1=1 -), -node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) -), -decode_logs AS ( - SELECT - contract_address, - block_number, - tx_hash, - tx_index, - event_index, - event_removed, - event_data, - event_topics, - utils.udf_evm_decode_log( - abi, - OBJECT_CONSTRUCT( - 'topics', - event_topics, - 'data', - event_data, - 'address', - contract_address - ) - )[0] AS decoded_data, - decoded_data:name::STRING AS event_name, - utils.udf_evm_transform_log(decoded_data) AS transformed - FROM node_flat - JOIN abis - ON contract_address = parent_contract_address - AND event_topics[0]::STRING = event_signature -), -final AS ( - SELECT - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed, - OBJECT_AGG( - DISTINCT CASE - WHEN v.value:name = '' THEN CONCAT('anonymous_', v.index) - ELSE v.value:name - END, - v.value:value - ) AS decoded_flat - FROM decode_logs b, - LATERAL FLATTEN(input => transformed:data) v - GROUP BY - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed -) -SELECT - case - when REGEXP_LIKE(n.contract_address, '^0x([a-fA-F0-9]{40})$') then 'Success' - when f.event_name is null then 'Error - Contract ABI Not Found, submit ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/)' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - n.tx_hash, - n.block_number, - n.event_index, - f.event_name, - n.contract_address, - n.event_topics, - n.event_data, - f.decoded_flat AS decoded_data -FROM node_flat n -left join final f -on n.block_number = f.block_number -and n.tx_hash = f.tx_hash -and n.event_index = f.event_index -{% endmacro %} - -{% macro evm_latest_contract_events_decoded_ai(schema, blockchain, network) %} -WITH base AS (SELECT addresses), -inputs AS ( - SELECT lower(value::STRING) AS contract_address - FROM base, LATERAL FLATTEN(input => addresses) -), -chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - lookback, 'XXXXXXXXXX'))) AS from_block_hex, - lookback -), -abis AS ( - SELECT - parent_contract_address, - event_name, - event_signature, - abi - FROM inputs - JOIN {{ ref('_evm__abi_map') }} - ON lower(contract_address) = parent_contract_address - AND blockchain = '{{blockchain}}' - QUALIFY ROW_NUMBER() OVER (PARTITION BY contract_address, event_name ORDER BY end_block DESC) = 1 -), -node_call AS ( - SELECT - inputs.contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', inputs.contract_address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs, - lookback - FROM inputs - JOIN chainhead ON 1=1 -), -node_flat AS ( - SELECT - contract_address, - lookback, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) -), -decode_logs AS ( - SELECT - contract_address, - block_number, - tx_hash, - tx_index, - event_index, - event_removed, - event_data, - event_topics, - utils.udf_evm_decode_log( - abi, - OBJECT_CONSTRUCT( - 'topics', - event_topics, - 'data', - event_data, - 'address', - contract_address - ) - )[0] AS decoded_data, - decoded_data:name::STRING AS event_name, - utils.udf_evm_transform_log(decoded_data) AS transformed - FROM node_flat - JOIN abis - ON contract_address = parent_contract_address - AND event_topics[0]::STRING = event_signature -), -final AS ( - SELECT - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed, - OBJECT_AGG( - DISTINCT CASE - WHEN v.value:name = '' THEN CONCAT('anonymous_', v.index) - ELSE v.value:name - END, - v.value:value - ) AS decoded_flat - FROM decode_logs b, - LATERAL FLATTEN(input => transformed:data) v - GROUP BY - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed -) -SELECT - case - when REGEXP_LIKE(n.contract_address, '^0x([a-fA-F0-9]{40})$') and is_integer(n.lookback) then 'Success' - when f.event_name is null then 'Error - Contract ABI Not Found, submit ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/)' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - n.tx_hash, - n.block_number, - n.event_index, - f.event_name, - n.contract_address, - n.event_topics, - n.event_data, - f.decoded_flat AS decoded_data -FROM node_flat n -left join final f -on n.block_number = f.block_number -and n.tx_hash = f.tx_hash -and n.event_index = f.event_index -{% endmacro %} - -{% macro evm_contract_events(schema, blockchain, network) %} - WITH chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - 200, 'XXXXXXXXXX'))) AS from_block_hex, - utils.udf_hex_to_int(chainhead_hex) - 200 as min_block_no - ), - node_call AS ( - SELECT - lower(address) AS contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM chainhead - ), - node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) - ) - SELECT - case - when REGEXP_LIKE(contract_address, '^0x([a-fA-F0-9]{40})$') - then 'Success' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - tx_hash, - block_number, - event_index, - contract_address, - event_topics, - event_data - FROM node_flat - UNION ALL - SELECT - 'Success' as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - tx_hash, - block_number, - event_index, - contract_address, - topics as event_topics, - data as event_data - from {{ ref('_eth__logs') }} - where contract_address = (select contract_address from node_call) - and block_number >= min_block - and block_number <= (select min_block_no from chainhead) -{% endmacro %} - -{% macro evm_contract_events_decoded(schema, blockchain, network) %} -WITH inputs AS ( - SELECT lower(address::STRING) AS contract_address -), -chainhead AS ( - SELECT - {{ schema }}.udf_rpc('eth_blockNumber', [])::STRING AS chainhead_hex, - CONCAT('0x', TRIM(TO_CHAR(utils.udf_hex_to_int(chainhead_hex) - 400, 'XXXXXXXXXX'))) AS from_block_hex, - utils.udf_hex_to_int(chainhead_hex) - 400 as min_block_no -), -abis AS ( - SELECT - parent_contract_address, - event_name, - event_signature, - abi - FROM inputs - JOIN {{ ref('_evm__abi_map') }} - ON lower(contract_address) = parent_contract_address - AND blockchain = '{{blockchain}}' - QUALIFY ROW_NUMBER() OVER (PARTITION BY contract_address, event_name ORDER BY end_block DESC) = 1 -), -node_call AS ( - SELECT - inputs.contract_address, - {{ schema }}.udf_rpc_eth_get_logs( - OBJECT_CONSTRUCT('address', inputs.contract_address, 'fromBlock', from_block_hex, 'toBlock', chainhead_hex) - ) AS eth_getLogs - FROM inputs - JOIN chainhead ON 1=1 -), -node_flat AS ( - SELECT - contract_address, - utils.udf_hex_to_int(value:blockNumber::STRING)::INT AS block_number, - value:transactionHash::STRING AS tx_hash, - utils.udf_hex_to_int(value:transactionIndex::STRING)::INT AS tx_index, - utils.udf_hex_to_int(value:logIndex::STRING)::INT AS event_index, - value:removed::BOOLEAN AS event_removed, - value:data::STRING AS event_data, - value:topics::ARRAY AS event_topics - FROM node_call, - LATERAL FLATTEN(input => eth_getLogs) -), -decode_logs AS ( - SELECT - contract_address, - block_number, - tx_hash, - tx_index, - event_index, - event_removed, - event_data, - event_topics, - utils.udf_evm_decode_log( - abi, - OBJECT_CONSTRUCT( - 'topics', - event_topics, - 'data', - event_data, - 'address', - contract_address - ) - )[0] AS decoded_data, - decoded_data:name::STRING AS event_name, - utils.udf_evm_transform_log(decoded_data) AS transformed - FROM node_flat - JOIN abis - ON contract_address = parent_contract_address - AND event_topics[0]::STRING = event_signature -), -final AS ( - SELECT - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed, - OBJECT_AGG( - DISTINCT CASE - WHEN v.value:name = '' THEN CONCAT('anonymous_', v.index) - ELSE v.value:name - END, - v.value:value - ) AS decoded_flat - FROM decode_logs b, - LATERAL FLATTEN(input => transformed:data) v - GROUP BY - b.tx_hash, - b.block_number, - b.event_index, - b.event_name, - b.contract_address, - b.event_topics, - b.event_data, - b.decoded_data, - transformed -) -SELECT - case - when REGEXP_LIKE(n.contract_address, '^0x([a-fA-F0-9]{40})$') and is_integer(min_block) then 'Success' - when f.event_name is null then 'Error - Contract ABI Not Found, submit ABIs [here](https://science.flipsidecrypto.xyz/abi-requestor/)' - else 'Error - Invalid Input' - end as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - n.tx_hash, - n.block_number, - n.event_index, - f.event_name, - n.contract_address, - n.event_topics, - n.event_data, - f.decoded_flat AS decoded_data -FROM node_flat n -left join final f -on n.block_number = f.block_number -and n.tx_hash = f.tx_hash -and n.event_index = f.event_index -union all -select - 'Success' as status, - '{{blockchain}}' AS blockchain, - '{{network}}' AS network, - tx_hash, - block_number, - event_index, - event_name, - contract_address, - topics as event_topics, - data as event_data, - decoded_log as decoded_data -from {{ ref('_eth__decoded_logs') }} - where contract_address = (select contract_address from inputs) - and block_number >= min_block - and block_number <= (select min_block_no from chainhead) -{% endmacro %} \ No newline at end of file diff --git a/macros/evm/evm_primitives.yaml.sql b/macros/evm/evm_primitives.yaml.sql deleted file mode 100644 index 5fb7012..0000000 --- a/macros/evm/evm_primitives.yaml.sql +++ /dev/null @@ -1,91 +0,0 @@ -{%- macro config_evm_rpc_primitives(blockchain, network) -%} -{#- - Generates a set of UDFs that call the Ethereum JSON RPC API - - - rpc: Executes an RPC call on the {{ blockchain }} blockchain - - eth_call: Executes a new message call immediately without creating a transaction on the block chain - - eth_getLogs: Returns an array of all logs matching filter with given address - - eth_getBalance: Returns the balance of the account of given address - - -#} -{% set schema = blockchain ~ "_" ~ network -%} - -- name: {{ schema -}}.udf_rpc - signature: - - [method, STRING, RPC method to call] - - [parameters, VARIANT, Parameters to pass to the RPC method] - return_type: [VARIANT, The return value of the RPC method] - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Executes an RPC call on the {{ blockchain }} blockchain.$$ - sql: | - SELECT live.udf_rpc('{{ blockchain }}', '{{ network }}', method, parameters) - -- name: {{ schema -}}.udf_rpc_eth_call - signature: - - [transaction, OBJECT, The transaction object] - - [block_or_tag, STRING, The block number or tag to execute the call on] - return_type: [VARIANT, The return value of the executed contract code] - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Executes a new message call immediately without creating a transaction on the block chain.$$ - sql: | - SELECT {{ schema -}}.udf_rpc('eth_call', [transaction, block_or_tag]) - -- name: {{ schema -}}.udf_rpc_eth_get_logs - signature: - - [filter, OBJECT, The filter object] - return_type: [VARIANT, An array of all logs matching filter with given address] - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns an array of all logs matching filter with given address.$$ - sql: | - SELECT {{ schema -}}.udf_rpc('eth_getLogs', [filter]) - -- name: {{ schema -}}.udf_rpc_eth_get_balance - signature: - - [address, STRING, The address to get the balance of] - - [block_or_tag, STRING, The block number or tag to execute the call on] - return_type: [VARIANT, The balance of the account of given address] - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the balance of the account of given address.$$ - sql: | - SELECT {{ schema -}}.udf_rpc('eth_getBalance', [address, block_or_tag]) - -- name: {{ schema -}}.udf_get_token_balance - signature: - - [wallet_address, STRING, The address to get the balance of] - - [token_address, STRING, The token to get the balance of] - return_type: [STRING, The balance of the account of given address] - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the balance of the wallet of given token address at the latest block.$$ - sql: | - SELECT utils.udf_hex_to_int({{ schema -}}.udf_rpc_eth_call(object_construct_keep_null('from', null, 'to', token_address, 'data', concat('0x70a08231',LPAD(REPLACE(wallet_address, '0x', ''), 64, 0))),'latest')::string) - -- name: {{ schema -}}.udf_get_token_balance - signature: - - [wallet_address, STRING, The address to get the balance of] - - [token_address, STRING, The token to get the balance of] - - [block_number, INTEGER, The block number to retrieve the balance at] - return_type: [STRING, The balance of the account of given address] - options: | - NOT NULL - RETURNS NULL ON NULL INPUT - VOLATILE - COMMENT = $$Returns the balance of the wallet of given token address at the given block.$$ - sql: | - SELECT utils.udf_hex_to_int({{schema}}.udf_rpc_eth_call(OBJECT_CONSTRUCT_KEEP_NULL('from', NULL, 'to', token_address, 'data', concat('0x70a08231',LPAD(REPLACE(wallet_address, '0x', ''), 64, 0))), CONCAT('0x', TRIM(TO_CHAR(block_number, 'XXXXXXXXXX'))))::STRING) - -{%- endmacro -%} diff --git a/macros/livequery/api_integrations.sql b/macros/livequery/api_integrations.sql deleted file mode 100644 index f6d2d38..0000000 --- a/macros/livequery/api_integrations.sql +++ /dev/null @@ -1,11 +0,0 @@ -{% macro create_aws_ethereum_api() %} - {% if target.name == "prod" %} - {% set sql %} - CREATE api integration IF NOT EXISTS aws_ethereum_api api_provider = aws_api_gateway api_aws_role_arn = 'arn:aws:iam::661245089684:role/snowflake-api-ethereum' api_allowed_prefixes = ( - 'https://e03pt6v501.execute-api.us-east-1.amazonaws.com/prod/', - 'https://mryeusnrob.execute-api.us-east-1.amazonaws.com/dev/' - ) enabled = TRUE; -{% endset %} - {% do run_query(sql) %} - {% endif %} -{% endmacro %} diff --git a/models/deploy/evm/arbitrum_nova__mainnet.sql b/models/deploy/evm/arbitrum_nova__mainnet.sql deleted file mode 100644 index 0521871..0000000 --- a/models/deploy/evm/arbitrum_nova__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} \ No newline at end of file diff --git a/models/deploy/evm/arbitrum_one__goerli.sql b/models/deploy/evm/arbitrum_one__goerli.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/arbitrum_one__goerli.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/arbitrum_one__mainnet.sql b/models/deploy/evm/arbitrum_one__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/arbitrum_one__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/avalanche_c__mainnet.sql b/models/deploy/evm/avalanche_c__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/avalanche_c__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/avalanche_c__testnet.sql b/models/deploy/evm/avalanche_c__testnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/avalanche_c__testnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/base__goerli.sql b/models/deploy/evm/base__goerli.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/base__goerli.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/base__mainnet.sql b/models/deploy/evm/base__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/base__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/bsc__mainnet.sql b/models/deploy/evm/bsc__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/bsc__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/bsc__testnet.sql b/models/deploy/evm/bsc__testnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/bsc__testnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/celo__mainnet.sql b/models/deploy/evm/celo__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/celo__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/ethereum__goerli.sql b/models/deploy/evm/ethereum__goerli.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/ethereum__goerli.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/ethereum__mainnet.sql b/models/deploy/evm/ethereum__mainnet.sql deleted file mode 100644 index 6f3fadc..0000000 --- a/models/deploy/evm/ethereum__mainnet.sql +++ /dev/null @@ -1,13 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('_eth__logs') }} --- depends_on: {{ ref('_eth__decoded_logs') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions, - config_eth_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/ethereum__sepolia.sql b/models/deploy/evm/ethereum__sepolia.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/ethereum__sepolia.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/fantom__mainnet.sql b/models/deploy/evm/fantom__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/fantom__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/gnosis__mainnet.sql b/models/deploy/evm/gnosis__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/gnosis__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/harmony__mainnet.sql b/models/deploy/evm/harmony__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/harmony__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/harmony__testnet.sql b/models/deploy/evm/harmony__testnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/harmony__testnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/optimism__goerli.sql b/models/deploy/evm/optimism__goerli.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/optimism__goerli.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/optimism__mainnet.sql b/models/deploy/evm/optimism__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/optimism__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/polygon__mainnet.sql b/models/deploy/evm/polygon__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/polygon__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/polygon__testnet.sql b/models/deploy/evm/polygon__testnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/polygon__testnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/polygon_zkevm__mainnet.sql b/models/deploy/evm/polygon_zkevm__mainnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/polygon_zkevm__mainnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/deploy/evm/polygon_zkevm__testnet.sql b/models/deploy/evm/polygon_zkevm__testnet.sql deleted file mode 100644 index ba6cfde..0000000 --- a/models/deploy/evm/polygon_zkevm__testnet.sql +++ /dev/null @@ -1,10 +0,0 @@ --- depends_on: {{ ref('_evm__contracts_map') }} --- depends_on: {{ ref('_evm__abi_map') }} --- depends_on: {{ ref('_evm__native_symbol_map') }} --- depends_on: {{ ref('live') }} --- depends_on: {{ ref('utils') }} -{%- set configs = [ - config_evm_rpc_primitives, - config_evm_high_level_abstractions - ] -%} -{{- ephemeral_deploy(configs) -}} diff --git a/models/mapping_tables/_eth__decoded_logs.sql b/models/mapping_tables/_eth__decoded_logs.sql deleted file mode 100644 index 6afcf20..0000000 --- a/models/mapping_tables/_eth__decoded_logs.sql +++ /dev/null @@ -1,11 +0,0 @@ -{{ config( - materialized = 'view', - grants = {'+select': fromyaml(var('ROLES'))} -) }} - -SELECT * -FROM - {{ source( - 'ethereum_core', - 'ez_decoded_event_logs' - ) }} diff --git a/models/mapping_tables/_eth__logs.sql b/models/mapping_tables/_eth__logs.sql deleted file mode 100644 index f430b00..0000000 --- a/models/mapping_tables/_eth__logs.sql +++ /dev/null @@ -1,11 +0,0 @@ -{{ config( - materialized = 'view', - grants = {'+select': fromyaml(var('ROLES'))} -) }} - -SELECT * -FROM - {{ source( - 'ethereum_core', - 'fact_event_logs' - ) }} diff --git a/models/mapping_tables/_evm__abi_map.sql b/models/mapping_tables/_evm__abi_map.sql deleted file mode 100644 index 0ecbaba..0000000 --- a/models/mapping_tables/_evm__abi_map.sql +++ /dev/null @@ -1,22 +0,0 @@ -{{ config( - materialized = 'view', - grants = {'+select': fromyaml(var('ROLES'))} -) }} - -SELECT - parent_contract_address, - event_name, - event_signature, - abi, - start_block, - end_block, - CASE blockchain - WHEN 'avalanche' THEN 'avalanche_c' - WHEN 'arbitrum' THEN 'arbitrum_one' - ELSE blockchain - END AS blockchain -FROM - {{ source( - 'crosschain', - 'dim_evm_event_abis' - ) }} diff --git a/models/mapping_tables/_evm__contracts_map.sql b/models/mapping_tables/_evm__contracts_map.sql deleted file mode 100644 index 73836b4..0000000 --- a/models/mapping_tables/_evm__contracts_map.sql +++ /dev/null @@ -1,20 +0,0 @@ -{{ config( - materialized = 'view', - grants = {'+select': fromyaml(var('ROLES'))} -) }} - -SELECT - address, - symbol, - decimals, - CASE - blockchain - WHEN 'avalanche' THEN 'avalanche_c' - WHEN 'arbitrum' THEN 'arbitrum_one' - ELSE blockchain - END AS blockchain -FROM - {{ source( - 'crosschain', - 'dim_contracts' - ) }} diff --git a/models/mapping_tables/_evm__native_symbol_map.sql b/models/mapping_tables/_evm__native_symbol_map.sql deleted file mode 100644 index f08a081..0000000 --- a/models/mapping_tables/_evm__native_symbol_map.sql +++ /dev/null @@ -1,129 +0,0 @@ -{{ config( - materialized = 'view', - grants = {'+select': fromyaml(var('ROLES'))} -) }} - -WITH blockchain_assets AS ( - - SELECT - 'avalanche' AS blockchain, - 'AVAX' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'avalanche' AS blockchain, - 'AVAX' AS asset_symbol, - 'testnet' AS network - UNION ALL - SELECT - 'binance' AS blockchain, - 'BNB' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'binance' AS blockchain, - 'BNB' AS asset_symbol, - 'testnet' AS network - UNION ALL - SELECT - 'gnosis' AS blockchain, - 'xDAI' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'ethereum' AS blockchain, - 'ETH' AS asset_symbol, - 'goerli' AS network - UNION ALL - SELECT - 'ethereum' AS blockchain, - 'ETH' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'ethereum' AS blockchain, - 'ETH' AS asset_symbol, - 'sepolia' AS network - UNION ALL - SELECT - 'arbitrum_nova' AS blockchain, - 'ETH' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'arbitrum_one' AS blockchain, - 'ETH' AS asset_symbol, - 'goerli' AS network - UNION ALL - SELECT - 'arbitrum_one' AS blockchain, - 'ETH' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'base' AS blockchain, - 'ETH' AS asset_symbol, - 'goerli' AS network - UNION ALL - SELECT - 'fantom' AS blockchain, - 'FTM' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'gnosis' AS blockchain, - 'xDAI' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'harmony' AS blockchain, - 'ONE' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'harmony' AS blockchain, - 'ONE' AS asset_symbol, - 'testnet' AS network - UNION ALL - SELECT - 'optimism' AS blockchain, - 'ETH' AS asset_symbol, - 'goerli' AS network - UNION ALL - SELECT - 'optimism' AS blockchain, - 'ETH' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'polygon' AS blockchain, - 'MATIC' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'polygon' AS blockchain, - 'MATIC' AS asset_symbol, - 'testnet' AS network - UNION ALL - SELECT - 'polygon_zkevm' AS blockchain, - 'ETH' AS asset_symbol, - 'mainnet' AS network - UNION ALL - SELECT - 'polygon_zkevm' AS blockchain, - 'ETH' AS asset_symbol, - 'testnet' AS network - UNION ALL - SELECT - 'CELO' AS blockchain, - 'CELO' AS asset_symbol, - 'mainnet' AS network -) - -SELECT - blockchain, - network, - asset_symbol AS symbol -FROM - blockchain_assets