Skip to content

Commit

Permalink
Flashloans Migration - #1 - Aave - Ready for review (#4294)
Browse files Browse the repository at this point in the history
* Flashloans Migration - #1 - Aave

* fix avax
  • Loading branch information
henrystats authored Sep 12, 2023
1 parent 58b79b0 commit 09ab15c
Show file tree
Hide file tree
Showing 24 changed files with 137 additions and 69 deletions.
7 changes: 5 additions & 2 deletions models/aave/aave_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
alias = alias('flashloans')
tags = ['dunesql']
, partition_by = ['block_month']
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
, incremental_strategy = 'merge'
Expand Down Expand Up @@ -27,6 +29,7 @@ FROM (
, project
, version
, block_time
, block_month
, block_number
, amount
, amount_usd
Expand All @@ -39,7 +42,7 @@ FROM (
, contract_address
FROM {{ aave_model }}
{% if is_incremental() %}
WHERE block_time >= date_trunc("day", now() - interval '1 week')
WHERE block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
{% if not loop.last %}
UNION ALL
Expand Down
1 change: 1 addition & 0 deletions models/aave/aave_schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,4 @@ models:
- name: currency_symbol
- name: recipient
- name: contract_address
- name: block_month
7 changes: 5 additions & 2 deletions models/aave/arbitrum/aave_arbitrum_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
alias = alias('flashloans')
tags = ['dunesql']
, partition_by = ['block_month']
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
, incremental_strategy = 'merge'
Expand All @@ -21,6 +23,7 @@ FROM (
SELECT blockchain
, project
, version
, block_month
, block_time
, block_number
, amount
Expand All @@ -34,7 +37,7 @@ FROM (
, contract_address
FROM {{ aave_model }}
{% if is_incremental() %}
WHERE block_time >= date_trunc("day", now() - interval '1 week')
WHERE block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
{% if not loop.last %}
UNION ALL
Expand Down
4 changes: 3 additions & 1 deletion models/aave/arbitrum/aave_arbitrum_schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ models:
- name: currency_symbol
- name: recipient
- name: contract_address
- name: block_month

- name: aave_arbitrum_flashloans
meta:
Expand Down Expand Up @@ -59,4 +60,5 @@ models:
- name: currency_contract
- name: currency_symbol
- name: recipient
- name: contract_address
- name: contract_address
- name: block_month
13 changes: 8 additions & 5 deletions models/aave/arbitrum/aave_v3_arbitrum_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{{ config(
schema = 'aave_v3_arbitrum'
tags = ['dunesql']
, schema = 'aave_v3_arbitrum'
, alias = alias('flashloans')
, materialized = 'incremental'
, partition_by = ['block_month']
, file_format = 'delta'
, incremental_strategy = 'merge'
, unique_key = ['tx_hash', 'evt_index']
Expand All @@ -23,23 +25,24 @@ WITH flashloans AS (
, flash.evt_tx_hash AS tx_hash
, flash.evt_index
, CAST(flash.premium AS double) AS fee
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN '{{weth_address}}' ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 'ETH' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 18 ELSE erc20.decimals END AS currency_decimals
, CASE WHEN flash.asset= {{aave_mock_address}} THEN {{weth_address}} ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 'ETH' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 18 ELSE erc20.decimals END AS currency_decimals
, flash.target AS recipient
, flash.contract_address
FROM {{ source('aave_v3_arbitrum','L2Pool_evt_FlashLoan') }} flash
LEFT JOIN {{ ref('tokens_arbitrum_erc20') }} erc20
ON flash.asset = erc20.contract_address
WHERE CAST(flash.amount AS double) > 0
{% if is_incremental() %}
AND flash.evt_block_time >= date_trunc("day", now() - interval '1 week')
AND flash.evt_block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
)

SELECT 'arbitrum' AS blockchain
, 'Aave' AS project
, '3' AS version
, CAST(date_trunc('Month', flash.block_time) as date) AS block_month
, flash.block_time
, flash.block_number
, flash.amount_raw / POWER(10, flash.currency_decimals) AS amount
Expand Down
7 changes: 5 additions & 2 deletions models/aave/avalanche_c/aave_avalanche_c_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
alias = alias('flashloans')
tags = ['dunesql']
, partition_by = ['block_month']
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
, incremental_strategy = 'merge'
Expand All @@ -22,6 +24,7 @@ FROM (
SELECT blockchain
, project
, version
, block_month
, block_time
, block_number
, amount
Expand All @@ -35,7 +38,7 @@ FROM (
, contract_address
FROM {{ aave_model }}
{% if is_incremental() %}
WHERE block_time >= date_trunc("day", now() - interval '1 week')
WHERE block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
{% if not loop.last %}
UNION ALL
Expand Down
5 changes: 4 additions & 1 deletion models/aave/avalanche_c/aave_avalanche_c_schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ models:
- name: currency_symbol
- name: recipient
- name: contract_address
- name: block_month

- name: aave_v3_avalanche_c_flashloans
meta:
Expand Down Expand Up @@ -60,6 +61,7 @@ models:
- name: currency_symbol
- name: recipient
- name: contract_address
- name: block_month

- name: aave_avalanche_c_flashloans
meta:
Expand Down Expand Up @@ -89,4 +91,5 @@ models:
- name: currency_contract
- name: currency_symbol
- name: recipient
- name: contract_address
- name: contract_address
- name: block_month
13 changes: 8 additions & 5 deletions models/aave/avalanche_c/aave_v2_avalanche_c_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
schema = 'aave_v2_avalanche_c'
tags = ['dunesql']
, partition_by = ['block_month']
, schema = 'aave_v2_avalanche_c'
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
Expand All @@ -23,22 +25,23 @@ WITH flashloans AS (
, flash.evt_tx_hash AS tx_hash
, flash.evt_index
, CAST(flash.premium AS double) AS fee
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN '{{wavax_address}}' ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 'AVAX' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 18 ELSE erc20.decimals END AS currency_decimals
, CASE WHEN flash.asset= {{aave_mock_address}} THEN {{wavax_address}} ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 'AVAX' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 18 ELSE erc20.decimals END AS currency_decimals
, flash.target AS recipient
, flash.contract_address
FROM {{ source('aave_v2_avalanche_c','LendingPool_evt_FlashLoan') }} flash
LEFT JOIN {{ ref('tokens_avalanche_c_erc20') }} erc20 ON flash.asset = erc20.contract_address
WHERE CAST(flash.amount AS double) > 0
{% if is_incremental() %}
AND flash.evt_block_time >= date_trunc("day", now() - interval '1 week')
AND flash.evt_block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
)

SELECT 'avalanche_c' AS blockchain
, 'Aave' AS project
, '2' AS version
, CAST(date_trunc('Month', flash.block_time) as date) AS block_month
, flash.block_time
, flash.block_number
, flash.amount_raw / POWER(10, flash.currency_decimals) AS amount
Expand Down
13 changes: 8 additions & 5 deletions models/aave/avalanche_c/aave_v3_avalanche_c_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
schema = 'aave_v3_avalanche_c'
tags = ['dunesql']
, partition_by = ['block_month']
, schema = 'aave_v3_avalanche_c'
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
Expand All @@ -23,22 +25,23 @@ WITH flashloans AS (
, flash.evt_tx_hash AS tx_hash
, flash.evt_index
, CAST(flash.premium AS double) AS fee
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN '{{wavax_address}}' ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 'AVAX' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 18 ELSE erc20.decimals END AS currency_decimals
, CASE WHEN flash.asset= {{aave_mock_address}} THEN {{wavax_address}} ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 'AVAX' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 18 ELSE erc20.decimals END AS currency_decimals
, flash.target AS recipient
, flash.contract_address
FROM {{ source('aave_v3_avalanche_c','Pool_evt_FlashLoan') }} flash
LEFT JOIN {{ ref('tokens_avalanche_c_erc20') }} erc20 ON flash.asset = erc20.contract_address
WHERE CAST(flash.amount AS double) > 0
{% if is_incremental() %}
AND flash.evt_block_time >= date_trunc("day", now() - interval '1 week')
AND flash.evt_block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
)

SELECT 'avalanche_c' AS blockchain
, 'Aave' AS project
, '3' AS version
, CAST(date_trunc('Month', flash.block_time) as date) AS block_month
, flash.block_time
, flash.block_number
, flash.amount_raw/POWER(10, flash.currency_decimals) AS amount
Expand Down
7 changes: 5 additions & 2 deletions models/aave/ethereum/aave_ethereum_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
alias = alias('flashloans')
tags = ['dunesql']
, partition_by = ['block_month']
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
, incremental_strategy = 'merge'
Expand All @@ -23,6 +25,7 @@ FROM (
SELECT blockchain
, project
, version
, block_month
, block_time
, block_number
, amount
Expand All @@ -36,7 +39,7 @@ FROM (
, contract_address
FROM {{ aave_model }}
{% if is_incremental() %}
WHERE block_time >= date_trunc("day", now() - interval '1 week')
WHERE block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
{% if not loop.last %}
UNION ALL
Expand Down
6 changes: 5 additions & 1 deletion models/aave/ethereum/aave_ethereum_schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ models:
- name: currency_symbol
- name: recipient
- name: contract_address
- name: block_month

- name: aave_v2_ethereum_flashloans
meta:
Expand Down Expand Up @@ -375,6 +376,7 @@ models:
- name: currency_symbol
- name: recipient
- name: contract_address
- name: block_month

- name: aave_v3_ethereum_flashloans
meta:
Expand Down Expand Up @@ -405,6 +407,7 @@ models:
- name: currency_symbol
- name: recipient
- name: contract_address
- name: block_month

- name: aave_ethereum_flashloans
meta:
Expand Down Expand Up @@ -434,4 +437,5 @@ models:
- name: currency_contract
- name: currency_symbol
- name: recipient
- name: contract_address
- name: contract_address
- name: block_month
13 changes: 8 additions & 5 deletions models/aave/ethereum/aave_v1_ethereum_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
schema = 'aave_v1_ethereum'
tags = ['dunesql']
, partition_by = ['block_month']
, schema = 'aave_v1_ethereum'
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
Expand All @@ -19,22 +21,23 @@ WITH flashloans AS (
, flash.evt_tx_hash AS tx_hash
, flash.evt_index
, CAST(flash._totalFee AS double) AS fee
, CASE WHEN flash._reserve='{{aave_mock_address}}' THEN '{{weth_address}}' ELSE flash._reserve END AS currency_contract
, CASE WHEN flash._reserve='{{aave_mock_address}}' THEN 'ETH' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash._reserve='{{aave_mock_address}}' THEN 18 ELSE erc20.decimals END AS currency_decimals
, CASE WHEN flash._reserve= {{aave_mock_address}} THEN {{weth_address}} ELSE flash._reserve END AS currency_contract
, CASE WHEN flash._reserve= {{aave_mock_address}} THEN 'ETH' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash._reserve= {{aave_mock_address}} THEN 18 ELSE erc20.decimals END AS currency_decimals
, flash._target AS recipient
, flash.contract_address AS contract_address
FROM {{ source('aave_ethereum','LendingPool_evt_FlashLoan') }} flash
LEFT JOIN {{ ref('tokens_ethereum_erc20') }} erc20 ON flash._reserve = erc20.contract_address
WHERE CAST(flash._amount AS double) > 0
{% if is_incremental() %}
AND flash.evt_block_time >= date_trunc("day", now() - interval '1 week')
AND flash.evt_block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
)

SELECT 'ethereum' AS blockchain
, 'Aave' AS project
, '1' AS version
, CAST(date_trunc('Month', flash.block_time) as date) AS block_month
, flash.block_time
, flash.block_number
, flash.amount_raw/POWER(10, flash.currency_decimals) AS amount
Expand Down
13 changes: 8 additions & 5 deletions models/aave/ethereum/aave_v2_ethereum_flashloans.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{{ config(
schema = 'aave_v2_ethereum'
tags = ['dunesql']
, partition_by = ['block_month']
, schema = 'aave_v2_ethereum'
, alias = alias('flashloans')
, materialized = 'incremental'
, file_format = 'delta'
Expand All @@ -19,22 +21,23 @@ WITH flashloans AS (
, flash.evt_tx_hash AS tx_hash
, flash.evt_index
, CAST(flash.premium AS double) AS fee
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN '{{weth_address}}' ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 'ETH' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset='{{aave_mock_address}}' THEN 18 ELSE erc20.decimals END AS currency_decimals
, CASE WHEN flash.asset= {{aave_mock_address}} THEN {{weth_address}} ELSE flash.asset END AS currency_contract
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 'ETH' ELSE erc20.symbol END AS currency_symbol
, CASE WHEN flash.asset= {{aave_mock_address}} THEN 18 ELSE erc20.decimals END AS currency_decimals
, flash.target AS recipient
, flash.contract_address
FROM {{ source('aave_v2_ethereum','LendingPool_evt_FlashLoan') }} flash
LEFT JOIN {{ ref('tokens_ethereum_erc20') }} erc20 ON flash.asset = erc20.contract_address
WHERE CAST(flash.amount AS double) > 0
{% if is_incremental() %}
AND flash.evt_block_time >= date_trunc("day", now() - interval '1 week')
AND flash.evt_block_time >= date_trunc('day', now() - interval '7' Day)
{% endif %}
)

SELECT 'ethereum' AS blockchain
, 'Aave' AS project
, '2' AS version
, CAST(date_trunc('Month', flash.block_time) as date) AS block_month
, flash.block_time
, flash.block_number
, flash.amount_raw/POWER(10, flash.currency_decimals) AS amount
Expand Down
Loading

0 comments on commit 09ab15c

Please sign in to comment.