From 2293399951fffcaa7026be3e96b08b6a30b54d2c Mon Sep 17 00:00:00 2001 From: 0xRob <0xRobin5@gmail.com> Date: Wed, 19 Jun 2024 11:26:47 +0200 Subject: [PATCH 1/4] move NFT solana models --- .../chains/solana/nft_solana_base_trades.sql | 41 ------------------- .../_sector/nft}/nft_solana_old_trades.sql | 0 .../models/_sector/nft}/nft_solana_trades.sql | 0 .../_sector/nft}/nft_solana_trades_schema.yml | 14 ------- .../models/_sector/nft}/old/_schema.yml | 0 .../nft}/old/magiceden_solana_events.sql | 0 .../nft}/old/opensea_solana_events.sql | 0 .../models/_sector/nft}/platforms/_schema.yml | 0 .../platforms/magiceden_mmm_solana_trades.sql | 0 .../platforms/magiceden_v2_solana_trades.sql | 0 .../platforms/magiceden_v3_solana_trades.sql | 0 .../platforms/tensorswap_v1_solana_trades.sql | 0 .../platforms/tensorswap_v2_solana_trades.sql | 0 13 files changed, 55 deletions(-) delete mode 100644 nft/models/_sector/trades/chains/solana/nft_solana_base_trades.sql rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/nft_solana_old_trades.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/nft_solana_trades.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/nft_solana_trades_schema.yml (91%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/old/_schema.yml (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/old/magiceden_solana_events.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/old/opensea_solana_events.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/platforms/_schema.yml (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/platforms/magiceden_mmm_solana_trades.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/platforms/magiceden_v2_solana_trades.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/platforms/magiceden_v3_solana_trades.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/platforms/tensorswap_v1_solana_trades.sql (100%) rename {nft/models/_sector/trades/chains/solana => solana/models/_sector/nft}/platforms/tensorswap_v2_solana_trades.sql (100%) diff --git a/nft/models/_sector/trades/chains/solana/nft_solana_base_trades.sql b/nft/models/_sector/trades/chains/solana/nft_solana_base_trades.sql deleted file mode 100644 index c56e6060a1d..00000000000 --- a/nft/models/_sector/trades/chains/solana/nft_solana_base_trades.sql +++ /dev/null @@ -1,41 +0,0 @@ -{{ config( - schema = 'nft_solana', - alias = 'base_trades', - materialized = 'view' - ) -}} - --- transformative view to get the solana trades into nft.trades as much as possible --- columns are filled on a best effort basis, but many will probably hold null values.. --- the main goal is to get transaction count and overall volume correct --- any values cast to varbinary will be wrongly encoded but will still hold equality and uniqueness constraints - - -SELECT - blockchain, - project, - version as project_version, - block_date, - block_month, - block_time, - block_slot as block_number, - cast(tx_id as varbinary) as tx_hash, - cast(project_program_id as varbinary) as project_contract_address, - trade_category, - trade_type, - cast(buyer as varbinary) as buyer, - cast(seller as varbinary) as seller, - cast(null as varbinary) as nft_contract_address, - cast(null as uint256) as nft_token_id, - coalesce(try(cast(number_of_items as uint256)), uint256 '0') as nft_amount, - coalesce(try(cast(amount_raw as uint256)), uint256 '0') as price_raw, - case when currency_symbol = 'SOL' then 0x069b8857feab8184fb687f634618c035dac439dc1aeb3b5598a0f00000000001 else null end as currency_contract, - coalesce(try(cast(taker_fee_amount_raw + maker_fee_amount_raw as uint256)), uint256 '0') as platform_fee_amount_raw, - coalesce(try(cast(royalty_fee_amount_raw as uint256)), uint256 '0') as royalty_fee_amount_raw, - cast(null as varbinary) as platform_fee_address, - cast(null as varbinary) as royalty_fee_address, - cast(null as varbinary) as tx_from, - cast(null as varbinary) as tx_to, - cast(null as varbinary) as tx_data_marker, -- forwarc compatibility with aggregator marker matching - row_number() over (partition by tx_id order by leaf_id) as sub_tx_trade_id -- intermediate fix to fill this column -FROM {{ ref('nft_solana_trades') }} diff --git a/nft/models/_sector/trades/chains/solana/nft_solana_old_trades.sql b/solana/models/_sector/nft/nft_solana_old_trades.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/nft_solana_old_trades.sql rename to solana/models/_sector/nft/nft_solana_old_trades.sql diff --git a/nft/models/_sector/trades/chains/solana/nft_solana_trades.sql b/solana/models/_sector/nft/nft_solana_trades.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/nft_solana_trades.sql rename to solana/models/_sector/nft/nft_solana_trades.sql diff --git a/nft/models/_sector/trades/chains/solana/nft_solana_trades_schema.yml b/solana/models/_sector/nft/nft_solana_trades_schema.yml similarity index 91% rename from nft/models/_sector/trades/chains/solana/nft_solana_trades_schema.yml rename to solana/models/_sector/nft/nft_solana_trades_schema.yml index a359956cace..ef899441055 100644 --- a/nft/models/_sector/trades/chains/solana/nft_solana_trades_schema.yml +++ b/solana/models/_sector/nft/nft_solana_trades_schema.yml @@ -136,17 +136,3 @@ models: - &inner_instruction_index name: inner_instruction_index description: "inner index of instruction call" - - - name: nft_solana_base_trades - meta: - blockchain: solana - sector: nft - contributors: [ 0xRob ] - config: - tags: [ 'solana','nft' ] - description: > - nft solana trades with the schema of nft_trades, mainly used to include volume and tx counts into nft.trades - tests: - - check_columns_nft_base_trades - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ 'block_number','tx_hash','sub_tx_trade_id' ] diff --git a/nft/models/_sector/trades/chains/solana/old/_schema.yml b/solana/models/_sector/nft/old/_schema.yml similarity index 100% rename from nft/models/_sector/trades/chains/solana/old/_schema.yml rename to solana/models/_sector/nft/old/_schema.yml diff --git a/nft/models/_sector/trades/chains/solana/old/magiceden_solana_events.sql b/solana/models/_sector/nft/old/magiceden_solana_events.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/old/magiceden_solana_events.sql rename to solana/models/_sector/nft/old/magiceden_solana_events.sql diff --git a/nft/models/_sector/trades/chains/solana/old/opensea_solana_events.sql b/solana/models/_sector/nft/old/opensea_solana_events.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/old/opensea_solana_events.sql rename to solana/models/_sector/nft/old/opensea_solana_events.sql diff --git a/nft/models/_sector/trades/chains/solana/platforms/_schema.yml b/solana/models/_sector/nft/platforms/_schema.yml similarity index 100% rename from nft/models/_sector/trades/chains/solana/platforms/_schema.yml rename to solana/models/_sector/nft/platforms/_schema.yml diff --git a/nft/models/_sector/trades/chains/solana/platforms/magiceden_mmm_solana_trades.sql b/solana/models/_sector/nft/platforms/magiceden_mmm_solana_trades.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/platforms/magiceden_mmm_solana_trades.sql rename to solana/models/_sector/nft/platforms/magiceden_mmm_solana_trades.sql diff --git a/nft/models/_sector/trades/chains/solana/platforms/magiceden_v2_solana_trades.sql b/solana/models/_sector/nft/platforms/magiceden_v2_solana_trades.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/platforms/magiceden_v2_solana_trades.sql rename to solana/models/_sector/nft/platforms/magiceden_v2_solana_trades.sql diff --git a/nft/models/_sector/trades/chains/solana/platforms/magiceden_v3_solana_trades.sql b/solana/models/_sector/nft/platforms/magiceden_v3_solana_trades.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/platforms/magiceden_v3_solana_trades.sql rename to solana/models/_sector/nft/platforms/magiceden_v3_solana_trades.sql diff --git a/nft/models/_sector/trades/chains/solana/platforms/tensorswap_v1_solana_trades.sql b/solana/models/_sector/nft/platforms/tensorswap_v1_solana_trades.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/platforms/tensorswap_v1_solana_trades.sql rename to solana/models/_sector/nft/platforms/tensorswap_v1_solana_trades.sql diff --git a/nft/models/_sector/trades/chains/solana/platforms/tensorswap_v2_solana_trades.sql b/solana/models/_sector/nft/platforms/tensorswap_v2_solana_trades.sql similarity index 100% rename from nft/models/_sector/trades/chains/solana/platforms/tensorswap_v2_solana_trades.sql rename to solana/models/_sector/nft/platforms/tensorswap_v2_solana_trades.sql From 4419cea2b754a03059007288c47a2fc28f21dab1 Mon Sep 17 00:00:00 2001 From: 0xRob <0xRobin5@gmail.com> Date: Wed, 19 Jun 2024 11:30:11 +0200 Subject: [PATCH 2/4] fix solana CI --- .github/workflows/solana.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/solana.yml b/.github/workflows/solana.yml index 867cc50deb3..e8029c70c1e 100644 --- a/.github/workflows/solana.yml +++ b/.github/workflows/solana.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: pull_request: paths: - - dex/** + - solana/** - .github/workflows/solana.yml - .github/workflows/dbt_run.yml From 4f30fae1cbb670017fbe48b3319319d88c3d9c62 Mon Sep 17 00:00:00 2001 From: 0xRob <0xRobin5@gmail.com> Date: Wed, 19 Jun 2024 11:33:09 +0200 Subject: [PATCH 3/4] move seeds --- .../solana_trades => solana/seeds/nft_solana_trades}/_schema.yml | 0 .../seeds/nft_solana_trades}/magiceden_mmm_solana_trades_seed.csv | 0 .../seeds/nft_solana_trades}/magiceden_solana_trades_solscan.csv | 0 .../seeds/nft_solana_trades}/magiceden_v2_solana_trades_seed.csv | 0 .../seeds/nft_solana_trades}/magiceden_v3_solana_trades_seed.csv | 0 .../seeds/nft_solana_trades}/tensorswap_v1_solana_trades_seed.csv | 0 .../seeds/nft_solana_trades}/tensorswap_v2_solana_trades_seed.csv | 0 .../seeds/opensea}/opensea_solana_trades_solscan.csv | 0 {nft/seeds/opensea/solana => solana/seeds/opensea}/schema.yml | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename {nft/seeds/trades/solana_trades => solana/seeds/nft_solana_trades}/_schema.yml (100%) rename {nft/seeds/trades/solana_trades => solana/seeds/nft_solana_trades}/magiceden_mmm_solana_trades_seed.csv (100%) rename {nft/seeds/trades/solana_trades => solana/seeds/nft_solana_trades}/magiceden_solana_trades_solscan.csv (100%) rename {nft/seeds/trades/solana_trades => solana/seeds/nft_solana_trades}/magiceden_v2_solana_trades_seed.csv (100%) rename {nft/seeds/trades/solana_trades => solana/seeds/nft_solana_trades}/magiceden_v3_solana_trades_seed.csv (100%) rename {nft/seeds/trades/solana_trades => solana/seeds/nft_solana_trades}/tensorswap_v1_solana_trades_seed.csv (100%) rename {nft/seeds/trades/solana_trades => solana/seeds/nft_solana_trades}/tensorswap_v2_solana_trades_seed.csv (100%) rename {nft/seeds/opensea/solana => solana/seeds/opensea}/opensea_solana_trades_solscan.csv (100%) rename {nft/seeds/opensea/solana => solana/seeds/opensea}/schema.yml (100%) diff --git a/nft/seeds/trades/solana_trades/_schema.yml b/solana/seeds/nft_solana_trades/_schema.yml similarity index 100% rename from nft/seeds/trades/solana_trades/_schema.yml rename to solana/seeds/nft_solana_trades/_schema.yml diff --git a/nft/seeds/trades/solana_trades/magiceden_mmm_solana_trades_seed.csv b/solana/seeds/nft_solana_trades/magiceden_mmm_solana_trades_seed.csv similarity index 100% rename from nft/seeds/trades/solana_trades/magiceden_mmm_solana_trades_seed.csv rename to solana/seeds/nft_solana_trades/magiceden_mmm_solana_trades_seed.csv diff --git a/nft/seeds/trades/solana_trades/magiceden_solana_trades_solscan.csv b/solana/seeds/nft_solana_trades/magiceden_solana_trades_solscan.csv similarity index 100% rename from nft/seeds/trades/solana_trades/magiceden_solana_trades_solscan.csv rename to solana/seeds/nft_solana_trades/magiceden_solana_trades_solscan.csv diff --git a/nft/seeds/trades/solana_trades/magiceden_v2_solana_trades_seed.csv b/solana/seeds/nft_solana_trades/magiceden_v2_solana_trades_seed.csv similarity index 100% rename from nft/seeds/trades/solana_trades/magiceden_v2_solana_trades_seed.csv rename to solana/seeds/nft_solana_trades/magiceden_v2_solana_trades_seed.csv diff --git a/nft/seeds/trades/solana_trades/magiceden_v3_solana_trades_seed.csv b/solana/seeds/nft_solana_trades/magiceden_v3_solana_trades_seed.csv similarity index 100% rename from nft/seeds/trades/solana_trades/magiceden_v3_solana_trades_seed.csv rename to solana/seeds/nft_solana_trades/magiceden_v3_solana_trades_seed.csv diff --git a/nft/seeds/trades/solana_trades/tensorswap_v1_solana_trades_seed.csv b/solana/seeds/nft_solana_trades/tensorswap_v1_solana_trades_seed.csv similarity index 100% rename from nft/seeds/trades/solana_trades/tensorswap_v1_solana_trades_seed.csv rename to solana/seeds/nft_solana_trades/tensorswap_v1_solana_trades_seed.csv diff --git a/nft/seeds/trades/solana_trades/tensorswap_v2_solana_trades_seed.csv b/solana/seeds/nft_solana_trades/tensorswap_v2_solana_trades_seed.csv similarity index 100% rename from nft/seeds/trades/solana_trades/tensorswap_v2_solana_trades_seed.csv rename to solana/seeds/nft_solana_trades/tensorswap_v2_solana_trades_seed.csv diff --git a/nft/seeds/opensea/solana/opensea_solana_trades_solscan.csv b/solana/seeds/opensea/opensea_solana_trades_solscan.csv similarity index 100% rename from nft/seeds/opensea/solana/opensea_solana_trades_solscan.csv rename to solana/seeds/opensea/opensea_solana_trades_solscan.csv diff --git a/nft/seeds/opensea/solana/schema.yml b/solana/seeds/opensea/schema.yml similarity index 100% rename from nft/seeds/opensea/solana/schema.yml rename to solana/seeds/opensea/schema.yml From 26e4420113c2e2a1a6fac0476afb2a320c632efe Mon Sep 17 00:00:00 2001 From: 0xRob <0xRobin5@gmail.com> Date: Wed, 19 Jun 2024 11:35:31 +0200 Subject: [PATCH 4/4] move tests --- solana/package-lock.yml | 2 +- .../tests/magiceden/solana/magiceden_solana_assert_samples.sql | 0 .../tests/opensea/solana/opensea_solana_assert_samples.sql | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename {nft => solana}/tests/magiceden/solana/magiceden_solana_assert_samples.sql (100%) rename {nft => solana}/tests/opensea/solana/opensea_solana_assert_samples.sql (100%) diff --git a/solana/package-lock.yml b/solana/package-lock.yml index 8f9a42c7b94..709885d7a0b 100644 --- a/solana/package-lock.yml +++ b/solana/package-lock.yml @@ -1,4 +1,4 @@ packages: - package: dbt-labs/dbt_utils version: 1.2.0 -sha1_hash: d4f259856543b0ef301e0b3b0bbc94ccb6b12a54 +sha1_hash: eb1031c07e7c89332527e572f2e44613ce5b62bf diff --git a/nft/tests/magiceden/solana/magiceden_solana_assert_samples.sql b/solana/tests/magiceden/solana/magiceden_solana_assert_samples.sql similarity index 100% rename from nft/tests/magiceden/solana/magiceden_solana_assert_samples.sql rename to solana/tests/magiceden/solana/magiceden_solana_assert_samples.sql diff --git a/nft/tests/opensea/solana/opensea_solana_assert_samples.sql b/solana/tests/opensea/solana/opensea_solana_assert_samples.sql similarity index 100% rename from nft/tests/opensea/solana/opensea_solana_assert_samples.sql rename to solana/tests/opensea/solana/opensea_solana_assert_samples.sql