From c5139b3afd134d9041c919439be574bb38958a87 Mon Sep 17 00:00:00 2001 From: Jack Forgash <58153492+forgxyz@users.noreply.github.com> Date: Thu, 28 Sep 2023 10:00:34 -0600 Subject: [PATCH] views on new metadata --- models/descriptions/series_title.md | 5 ++++ .../core/core__dim_ft_contract_metadata.sql | 20 ++++++++++++++ .../core/core__dim_ft_contract_metadata.yml | 26 +++++++++++++++++++ .../nft/nft__dim_nft_contract_metadata.sql | 21 +++++++++++++++ .../nft/nft__dim_nft_contract_metadata.yml | 25 ++++++++++++++++++ .../gold/nft/nft__dim_nft_series_metadata.sql | 21 +++++++++++++++ .../gold/nft/nft__dim_nft_series_metadata.yml | 24 +++++++++++++++++ 7 files changed, 142 insertions(+) create mode 100644 models/descriptions/series_title.md create mode 100644 models/gold/core/core__dim_ft_contract_metadata.sql create mode 100644 models/gold/core/core__dim_ft_contract_metadata.yml create mode 100644 models/gold/nft/nft__dim_nft_contract_metadata.sql create mode 100644 models/gold/nft/nft__dim_nft_contract_metadata.yml create mode 100644 models/gold/nft/nft__dim_nft_series_metadata.sql create mode 100644 models/gold/nft/nft__dim_nft_series_metadata.yml diff --git a/models/descriptions/series_title.md b/models/descriptions/series_title.md new file mode 100644 index 0000000..26a8140 --- /dev/null +++ b/models/descriptions/series_title.md @@ -0,0 +1,5 @@ +{% docs series_title %} + +Title of the NFT series. + +{% enddocs %} diff --git a/models/gold/core/core__dim_ft_contract_metadata.sql b/models/gold/core/core__dim_ft_contract_metadata.sql new file mode 100644 index 0000000..b00ab60 --- /dev/null +++ b/models/gold/core/core__dim_ft_contract_metadata.sql @@ -0,0 +1,20 @@ +{{ config( + materialized = 'view', + tags = ['core', 'livequery', 'nearblocks'] +) }} + +WITH ft_contract_metadata AS ( + + SELECT + * + FROM + {{ ref('silver__ft_contract_metadata') }} +) +SELECT + contract_address, + NAME, + symbol, + decimals, + icon +FROM + ft_contract_metadata diff --git a/models/gold/core/core__dim_ft_contract_metadata.yml b/models/gold/core/core__dim_ft_contract_metadata.yml new file mode 100644 index 0000000..fa995eb --- /dev/null +++ b/models/gold/core/core__dim_ft_contract_metadata.yml @@ -0,0 +1,26 @@ +version: 2 + +models: + - name: core__dim_ft_contract_metadata + description: |- + Fungible Token contract metadata provided by the Nearblocks NFT endpoint. + + columns: + - name: CONTRACT_ADDRESS + description: "{{ doc('contract_address')}}" + + - name: NAME + description: "{{ doc('name')}}" + + - name: SYMBOL + description: "{{ doc('symbol')}}" + + - name: DECIMALS + description: "{{ doc('decimals')}}" + + - name: ICON + description: "{{ doc('icon')}}" + + + - name: DATA + description: "{{ doc('data')}}" diff --git a/models/gold/nft/nft__dim_nft_contract_metadata.sql b/models/gold/nft/nft__dim_nft_contract_metadata.sql new file mode 100644 index 0000000..e2590ed --- /dev/null +++ b/models/gold/nft/nft__dim_nft_contract_metadata.sql @@ -0,0 +1,21 @@ +{{ config( + materialized = 'view', + tags = ['core', 'nft', 'livequery', 'nearblocks'] +) }} + +WITH nft_contract_metadata AS ( + + SELECT + * + FROM + {{ ref('silver__nft_contract_metadata') }} +) +SELECT + contract_address, + NAME, + symbol, + base_uri, + icon, + tokens +FROM + nft_contract_metadata diff --git a/models/gold/nft/nft__dim_nft_contract_metadata.yml b/models/gold/nft/nft__dim_nft_contract_metadata.yml new file mode 100644 index 0000000..9da54ea --- /dev/null +++ b/models/gold/nft/nft__dim_nft_contract_metadata.yml @@ -0,0 +1,25 @@ +version: 2 + +models: + - name: nft__dim_nft_contract_metadata + description: |- + NFT Contract-level metadata provided by the Nearblocks NFT endpoint. + + columns: + - name: CONTRACT_ADDRESS + description: "{{ doc('contract_address')}}" + + - name: NAME + description: "{{ doc('name')}}" + + - name: SYMBOL + description: "{{ doc('symbol')}}" + + - name: BASE_URI + description: "{{ doc('base_uri')}}" + + - name: ICON + description: "{{ doc('icon')}}" + + - name: TOKENS + description: "{{ doc('tokens')}}" diff --git a/models/gold/nft/nft__dim_nft_series_metadata.sql b/models/gold/nft/nft__dim_nft_series_metadata.sql new file mode 100644 index 0000000..23a5508 --- /dev/null +++ b/models/gold/nft/nft__dim_nft_series_metadata.sql @@ -0,0 +1,21 @@ +{{ config( + materialized = 'view', + tags = ['core', 'nft', 'pagoda'] +) }} + +WITH series_metadata AS ( + + SELECT + * + FROM + {{ ref('silver__nft_series_metadata') }} +) +SELECT + contract_address, + series_id, + token_metadata :title :: STRING AS series_title, + metadata_id, + contract_metadata, + token_metadata +FROM + series_metadata diff --git a/models/gold/nft/nft__dim_nft_series_metadata.yml b/models/gold/nft/nft__dim_nft_series_metadata.yml new file mode 100644 index 0000000..e88c382 --- /dev/null +++ b/models/gold/nft/nft__dim_nft_series_metadata.yml @@ -0,0 +1,24 @@ +version: 2 + +models: + - name: nft__dim_nft_series_metadata + description: |- + NFT Series-level metadata provided by the Pagoda NFT endpoint. + + columns: + - name: CONTRACT_ADDRESS + description: "{{ doc('contract_address')}}" + + - name: SERIES_ID + description: "{{ doc('series_id')}}" + - name: SERIES_TITLE + description: "{{ doc('series_title')}}" + + - name: METADATA_ID + description: "{{ doc('metadata_id')}}" + + - name: CONTRACT_METADATA + description: "{{ doc('contract_metadata')}}" + + - name: TOKEN_METADATA + description: "{{ doc('token_metadata')}}"