withdraw events

This commit is contained in:
Eric Laurello 2024-09-03 09:17:17 -04:00
parent e423731d5b
commit 7b3d718c18
8 changed files with 253 additions and 63 deletions

View File

@ -0,0 +1,24 @@
{{ config(
materialized = 'view'
) }}
SELECT
tx_id,
rune_addr,
amount_e8,
units,
basis_points,
affiliate_basis_pts,
affiliate_amount_e8,
affiliate_addr,
event_id,
block_timestamp,
__HEVO__DATABASE_NAME,
__HEVO__SCHEMA_NAME,
__HEVO__INGESTED_AT,
__HEVO__LOADED_AT
FROM
{{ source(
'thorchain_midgard',
'midgard_rune_pool_withdraw_events'
) }}

View File

@ -21,77 +21,79 @@ There is more information on how to use dbt docs in the last section of this doc
### Core Schema (`thorchain`.`CORE`.`<table_name>`)
- [core__dim_block](#!/model/model.thorchain_models.core__dim_block)
- [core__dim_labels](#!/model/model.thorchain_models.core__dim_labels)
- [core__dim_midgard](#!/model/model.thorchain_models.core__dim_midgard)
- [core__fact_network_version_events](#!/model/model.thorchain_models.core__fact_network_version_events)
- [core__fact_set_mimir_events](#!/model/model.thorchain_models.core__fact_set_mimir_events)
- [core__fact_thorname_change_events](#!/model/model.thorchain_models.core__fact_thorname_change_events)
- [core__fact_transfer_events](#!/model/model.thorchain_models.core__fact_transfer_events)
- [core__fact_transfers](#!/model/model.thorchain_models.core__fact_transfers)
- [core__fact_tss_keygen_failure_events](#!/model/model.thorchain_models.core__fact_tss_keygen_failure_events)
- [core__fact_tss_keygen_success_events](#!/model/model.thorchain_models.core__fact_tss_keygen_success_events)
- [core.dim_block](#!/model/model.thorchain_models.core__dim_block)
- [core.dim_labels](#!/model/model.thorchain_models.core__dim_labels)
- [core.dim_midgard](#!/model/model.thorchain_models.core__dim_midgard)
- [core.fact_network_version_events](#!/model/model.thorchain_models.core__fact_network_version_events)
- [core.fact_set_mimir_events](#!/model/model.thorchain_models.core__fact_set_mimir_events)
- [core.fact_thorname_change_events](#!/model/model.thorchain_models.core__fact_thorname_change_events)
- [core.fact_transfer_events](#!/model/model.thorchain_models.core__fact_transfer_events)
- [core.fact_transfers](#!/model/model.thorchain_models.core__fact_transfers)
- [core.fact_tss_keygen_failure_events](#!/model/model.thorchain_models.core__fact_tss_keygen_failure_events)
- [core.fact_tss_keygen_success_events](#!/model/model.thorchain_models.core__fact_tss_keygen_success_events)
### Defi Schema
- [defi__fact_active_vault_events](#!/model/model.thorchain_models.defi__fact_active_vault_events)
- [defi__fact_add_events](#!/model/model.thorchain_models.defi__fact_add_events)
- [defi__fact_asgard_fund_yggdrasil_events](#!/model/model.thorchain_models.defi__fact_asgard_fund_yggdrasil_events)
- [defi__fact_block_pool_depths](#!/model/model.thorchain_models.defi__fact_block_pool_depths)
- [defi__fact_block_rewards](#!/model/model.thorchain_models.defi__fact_block_rewards)
- [defi__fact_bond_actions](#!/model/model.thorchain_models.defi__fact_bond_actions)
- [defi__fact_bond_events](#!/model/model.thorchain_models.defi__fact_bond_events)
- [defi__fact_daily_earnings](#!/model/model.thorchain_models.defi__fact_daily_earnings)
- [defi__fact_daily_pool_stats](#!/model/model.thorchain_models.defi__fact_daily_pool_stats)
- [defi__fact_daily_tvl](#!/model/model.thorchain_models.defi__fact_daily_tvl)
- [defi__fact_errata_events](#!/model/model.thorchain_models.defi__fact_errata_events)
- [defi__fact_fee_events](#!/model/model.thorchain_models.defi__fact_fee_events)
- [defi__fact_gas_events](#!/model/model.thorchain_models.defi__fact_gas_events)
- [defi__fact_inactive_vault_events](#!/model/model.thorchain_models.defi__fact_inactive_vault_events)
- [defi__fact_liquidity_actions](#!/model/model.thorchain_models.defi__fact_liquidity_actions)
- [defi__fact_loan_open_events](#!/model/model.thorchain_models.defi__fact_loan_open_events)
- [defi__fact_loan_repayment_events](#!/model/model.thorchain_models.defi__fact_loan_repayment_events)
- [defi__fact_mint_burn_events](#!/model/model.thorchain_models.defi__fact_mint_burn_events)
- [defi__fact_outbound_events](#!/model/model.thorchain_models.defi__fact_outbound_events)
- [defi__fact_pending_liquidity_events](#!/model/model.thorchain_models.defi__fact_pending_liquidity_events)
- [defi__fact_pool_balance_change_events](#!/model/model.thorchain_models.defi__fact_pool_balance_change_events)
- [defi__fact_pool_block_balances](#!/model/model.thorchain_models.defi__fact_pool_block_balances)
- [defi__fact_pool_block_fees](#!/model/model.thorchain_models.defi__fact_pool_block_fees)
- [defi__fact_pool_block_statistics](#!/model/model.thorchain_models.defi__fact_pool_block_statistics)
- [defi__fact_pool_events](#!/model/model.thorchain_models.defi__fact_pool_events)
- [defi__fact_refund_events](#!/model/model.thorchain_models.defi__fact_refund_events)
- [defi__fact_reserve_events](#!/model/model.thorchain_models.defi__fact_reserve_events)
- [defi__fact_rewards_event_entries](#!/model/model.thorchain_models.defi__fact_rewards_event_entries)
- [defi__fact_rewards_events](#!/model/model.thorchain_models.defi__fact_rewards_events)
- [defi__fact_stake_events](#!/model/model.thorchain_models.defi__fact_stake_events)
- [defi__fact_streamling_swap_details_events](#!/model/model.thorchain_models.defi__fact_streamling_swap_details_events)
- [defi__fact_swaps](#!/model/model.thorchain_models.defi__fact_swaps)
- [defi__fact_swaps_events](#!/model/model.thorchain_models.defi__fact_swaps_events)
- [defi__fact_switch_events](#!/model/model.thorchain_models.defi__fact_switch_events)
- [defi__fact_total_block_rewards](#!/model/model.thorchain_models.defi__fact_total_block_rewards)
- [defi__fact_total_value_locked](#!/model/model.thorchain_models.defi__fact_total_value_locked)
- [defi__fact_unstake_events](#!/model/model.thorchain_models.defi__fact_unstake_events)
- [defi__fact_update_node_account_status_events](#!/model/model.thorchain_models.defi__fact_update_node_account_status_events)
- [defi__fact_upgrades](#!/model/model.thorchain_models.defi__fact_upgrades)
- [defi__fact_withdraw_events](#!/model/model.thorchain_models.defi__fact_withdraw_events)
- [defi.fact_active_vault_events](#!/model/model.thorchain_models.defi__fact_active_vault_events)
- [defi.fact_add_events](#!/model/model.thorchain_models.defi__fact_add_events)
- [defi.fact_asgard_fund_yggdrasil_events](#!/model/model.thorchain_models.defi__fact_asgard_fund_yggdrasil_events)
- [defi.fact_block_pool_depths](#!/model/model.thorchain_models.defi__fact_block_pool_depths)
- [defi.fact_block_rewards](#!/model/model.thorchain_models.defi__fact_block_rewards)
- [defi.fact_bond_actions](#!/model/model.thorchain_models.defi__fact_bond_actions)
- [defi.fact_bond_events](#!/model/model.thorchain_models.defi__fact_bond_events)
- [defi.fact_daily_earnings](#!/model/model.thorchain_models.defi__fact_daily_earnings)
- [defi.fact_daily_pool_stats](#!/model/model.thorchain_models.defi__fact_daily_pool_stats)
- [defi.fact_daily_tvl](#!/model/model.thorchain_models.defi__fact_daily_tvl)
- [defi.fact_errata_events](#!/model/model.thorchain_models.defi__fact_errata_events)
- [defi.fact_fee_events](#!/model/model.thorchain_models.defi__fact_fee_events)
- [defi.fact_gas_events](#!/model/model.thorchain_models.defi__fact_gas_events)
- [defi.fact_inactive_vault_events](#!/model/model.thorchain_models.defi__fact_inactive_vault_events)
- [defi.fact_liquidity_actions](#!/model/model.thorchain_models.defi__fact_liquidity_actions)
- [defi.fact_loan_open_events](#!/model/model.thorchain_models.defi__fact_loan_open_events)
- [defi.fact_loan_repayment_events](#!/model/model.thorchain_models.defi__fact_loan_repayment_events)
- [defi.fact_mint_burn_events](#!/model/model.thorchain_models.defi__fact_mint_burn_events)
- [defi.fact_outbound_events](#!/model/model.thorchain_models.defi__fact_outbound_events)
- [defi.fact_pending_liquidity_events](#!/model/model.thorchain_models.defi__fact_pending_liquidity_events)
- [defi.fact_pool_balance_change_events](#!/model/model.thorchain_models.defi__fact_pool_balance_change_events)
- [defi.fact_pool_block_balances](#!/model/model.thorchain_models.defi__fact_pool_block_balances)
- [defi.fact_pool_block_fees](#!/model/model.thorchain_models.defi__fact_pool_block_fees)
- [defi.fact_pool_block_statistics](#!/model/model.thorchain_models.defi__fact_pool_block_statistics)
- [defi.fact_pool_events](#!/model/model.thorchain_models.defi__fact_pool_events)
- [defi.fact_refund_events](#!/model/model.thorchain_models.defi__fact_refund_events)
- [defi.fact_reserve_events](#!/model/model.thorchain_models.defi__fact_reserve_events)
- [defi.fact_rewards_event_entries](#!/model/model.thorchain_models.defi__fact_rewards_event_entries)
- [defi.fact_rewards_events](#!/model/model.thorchain_models.defi__fact_rewards_events)
- [defi.fact_rune_pool_deposit_events](#!/model/model.thorchain_models.defi__fact_rune_pool_deposit_events)
- [defi.fact_rune_pool_withdraw_events](#!/model/model.thorchain_models.defi__fact_rune_pool_withdraw_events)
- [defi.fact_stake_events](#!/model/model.thorchain_models.defi__fact_stake_events)
- [defi.fact_streamling_swap_details_events](#!/model/model.thorchain_models.defi__fact_streamling_swap_details_events)
- [defi.fact_swaps](#!/model/model.thorchain_models.defi__fact_swaps)
- [defi.fact_swaps_events](#!/model/model.thorchain_models.defi__fact_swaps_events)
- [defi.fact_switch_events](#!/model/model.thorchain_models.defi__fact_switch_events)
- [defi.fact_total_block_rewards](#!/model/model.thorchain_models.defi__fact_total_block_rewards)
- [defi.fact_total_value_locked](#!/model/model.thorchain_models.defi__fact_total_value_locked)
- [defi.fact_unstake_events](#!/model/model.thorchain_models.defi__fact_unstake_events)
- [defi.fact_update_node_account_status_events](#!/model/model.thorchain_models.defi__fact_update_node_account_status_events)
- [defi.fact_upgrades](#!/model/model.thorchain_models.defi__fact_upgrades)
- [defi.fact_withdraw_events](#!/model/model.thorchain_models.defi__fact_withdraw_events)
### Governance Schema
- [gov__fact_new_node_events](#!/model/model.thorchain_models.gov__fact_new_node_events)
- [gov__fact_set_ip_address_events](#!/model/model.thorchain_models.gov__fact_set_ip_address_events)
- [gov__fact_set_node_keys_events](#!/model/model.thorchain_models.gov__fact_set_node_keys_events)
- [gov__fact_set_version_events](#!/model/model.thorchain_models.gov__fact_set_version_events)
- [gov__fact_slash_amounts](#!/model/model.thorchain_models.gov__fact_slash_amounts)
- [gov__fact_slash_points](#!/model/model.thorchain_models.gov__fact_slash_points)
- [gov__fact_validator_request_leave_events](#!/model/model.thorchain_models.gov__fact_validator_request_leave_events)
- [gov.fact_new_node_events](#!/model/model.thorchain_models.gov__fact_new_node_events)
- [gov.fact_set_ip_address_events](#!/model/model.thorchain_models.gov__fact_set_ip_address_events)
- [gov.fact_set_node_keys_events](#!/model/model.thorchain_models.gov__fact_set_node_keys_events)
- [gov.fact_set_version_events](#!/model/model.thorchain_models.gov__fact_set_version_events)
- [gov.fact_slash_amounts](#!/model/model.thorchain_models.gov__fact_slash_amounts)
- [gov.fact_slash_points](#!/model/model.thorchain_models.gov__fact_slash_points)
- [gov.fact_validator_request_leave_events](#!/model/model.thorchain_models.gov__fact_validator_request_leave_events)
### Price Schema
- [price__dim_asset_metadata](#!/model/model.thorchain_models.price__dim_asset_metadata)
- [price__ez_asset_metadata](#!/model/model.thorchain_models.price__ez_asset_metadata)
- [price__ez_prices_hourly](#!/model/model.thorchain_models.price__ez_prices_hourly)
- [price__fact_prices](#!/model/model.thorchain_models.price__fact_prices)
- [price__fact_prices_ohlc_hourly](#!/model/model.thorchain_models.price__fact_prices_ohlc_hourly)
- [price.dim_asset_metadata](#!/model/model.thorchain_models.price__dim_asset_metadata)
- [price.ez_asset_metadata](#!/model/model.thorchain_models.price__ez_asset_metadata)
- [price.ez_prices_hourly](#!/model/model.thorchain_models.price__ez_prices_hourly)
- [price.fact_prices](#!/model/model.thorchain_models.price__fact_prices)
- [price.fact_prices_ohlc_hourly](#!/model/model.thorchain_models.price__fact_prices_ohlc_hourly)
## **Data Model Overview**

View File

@ -3,4 +3,4 @@
) }}
SELECT
'2.22.3' AS midgard_version
'2.24.2' AS midgard_version

View File

@ -0,0 +1,65 @@
{{ config(
materialized = 'incremental',
meta ={ 'database_tags':{ 'table':{ 'PURPOSE': 'DEX, AMM' }} },
unique_key = 'fact_rune_pool_withdraw_events_id',
incremental_strategy = 'merge',
incremental_predicates = ['DBT_INTERNAL_DEST.block_timestamp >= (select min(block_timestamp) from ' ~ generate_tmp_view_name(this) ~ ')'],
cluster_by = ['block_timestamp::DATE']
) }}
WITH base AS (
SELECT
tx_id,
rune_address,
amount_e8,
units,
basis_points,
affiliate_basis_points,
affiliate_amount_e8,
affiliate_address,
event_id,
block_timestamp,
_INSERTED_TIMESTAMP
FROM
{{ ref('silver__rune_pool_withdraw_events') }}
)
SELECT
{{ dbt_utils.generate_surrogate_key(
['a.event_id']
) }} AS fact_rune_pool_withdraw_events_id,
b.block_timestamp,
COALESCE(
b.dim_block_id,
'-1'
) AS dim_block_id,
tx_id,
rune_address,
amount_e8,
units,
basis_points,
affiliate_basis_points,
affiliate_amount_e8,
affiliate_address,
event_id,
A._inserted_timestamp,
'{{ invocation_id }}' AS _audit_run_id,
SYSDATE() AS inserted_timestamp,
SYSDATE() AS modified_timestamp
FROM
base A
JOIN {{ ref('core__dim_block') }}
b
ON A.block_timestamp = b.timestamp
{% if is_incremental() %}
WHERE
b.block_timestamp >= (
SELECT
MAX(
block_timestamp - INTERVAL '1 HOUR'
)
FROM
{{ this }}
)
{% endif %}

View File

@ -0,0 +1,55 @@
version: 2
models:
- name: defi__fact_rune_pool_withdraw_events
description: "Fact table containing all rune pool withdraw events"
columns:
- name: FACT_RUNE_POOL_DEPOSIT_EVENTS_ID
description: "{{ doc('sk') }}"
tests:
- dbt_expectations.expect_column_to_exist
- unique
- name: BLOCK_TIMESTAMP
description: "{{ doc('block_timestamp') }}"
tests:
- not_null:
where: DIM_BLOCK_ID not in ('-1','-2')
- name: DIM_BLOCK_ID
description: "FK to DIM_BLOCK table"
tests:
- negative_one:
where: _inserted_timestamp < (CURRENT_TIMESTAMP - INTERVAL '8 HOURS')
- name: TX_ID
description: "{{ doc('tx_id') }}"
tests:
- not_null
- name: RUNE_ADDRESS
description: "{{ doc('address') }}"
tests:
- not_null
- name: AMOUNT_E8
description: "The asset amount for this event"
tests:
- not_null
- name: UNITS
description: "The amount of units for the transactions"
tests:
- not_null
- name: BASIS_POINTS
description: "The basis points for the transactions"
- name: AFFILIATE_BASIS_POINTS
description: "The affiliate basis points for the transactions"
- name: AFFILIATE_AMOUNT_E8
description: "The affiliate amount for the transactions"
- name: AFFILIATE_ADDRESS
description: "The affiliate address for the transactions"
- name: INSERTED_TIMESTAMP
description: '{{ doc("inserted_timestamp") }}'
- name: MODIFIED_TIMESTAMP
description: '{{ doc("modified_timestamp") }}'
tests:
- dbt_constraints.primary_key:
column_name: FACT_RUNE_POOL_DEPOSIT_EVENTS_ID
- dbt_constraints.foreign_key:
fk_column_name: DIM_BLOCK_ID
pk_table_name: ref('core__dim_block')
pk_column_name: DIM_BLOCK_ID

View File

@ -0,0 +1,24 @@
{{ config(
materialized = 'view'
) }}
SELECT
tx_id,
rune_addr AS rune_address,
amount_e8,
units,
basis_points,
affiliate_basis_pts AS affiliate_basis_points,
affiliate_amount_e8,
affiliate_addr AS affiliate_address,
event_id,
block_timestamp,
DATEADD(
ms,
__HEVO__LOADED_AT,
'1970-01-01'
) AS _INSERTED_TIMESTAMP
FROM
{{ ref(
'bronze__rune_pool_withdraw_events'
) }}

View File

@ -0,0 +1,19 @@
version: 2
models:
- name: silver__rune_pool_withdraw_events
columns:
- name: TX_ID
tests:
- not_null
- name: RUNE_ADDRESS
tests:
- not_null
- name: AMOUNT_E8
tests:
- not_null
- name: UNITS
tests:
- not_null
- name: BLOCK_TIMESTAMP
tests:
- not_null

View File

@ -33,6 +33,7 @@ sources:
- name: midgard_rewards_event_entries
- name: midgard_rewards_events
- name: midgard_rune_pool_deposit_events
- name: midgard_rune_pool_withdraw_events
- name: midgard_rune_price
- name: midgard_scheduled_outbound_events
- name: midgard_send_messages