mirror of
https://github.com/FlipsideCrypto/solana-models.git
synced 2026-02-06 13:56:50 +00:00
capture additional metaplex mints (#216)
* capture additional metaplex mints * add downstream model tests * add extra tests for downstream tables * ignore transfer when source = destination * add test cases * temp exclude impacted nft models
This commit is contained in:
parent
2258fa4732
commit
8bee42b2b1
2
.github/workflows/dbt_run_incremental.yml
vendored
2
.github/workflows/dbt_run_incremental.yml
vendored
@ -44,6 +44,6 @@ jobs:
|
||||
dbt run-operation run_sp_refresh_external_tables_full
|
||||
dbt run -s models/silver/silver__transactions.sql models/silver/silver__blocks.sql models/silver/silver__votes.sql models/silver/silver___inner_instructions.sql models/silver/silver___instructions.sql models/silver/silver__events.sql models/silver/silver___all_undecoded_instructions_data.sql
|
||||
dbt run-operation run_sp_refresh_external_tables_full
|
||||
dbt run -s ./models --exclude models/core models/silver/silver__transactions.sql models/silver/silver__blocks.sql models/silver/silver__votes.sql models/silver/silver___inner_instructions.sql models/silver/silver___instructions.sql models/silver/silver__events.sql models/silver/silver___all_undecoded_instructions_data.sql tag:share models/streamline models/silver/silver__daily_signers.sql models/silver/silver__signers.sql
|
||||
dbt run -s ./models --exclude models/core models/silver/silver__transactions.sql models/silver/silver__blocks.sql models/silver/silver__votes.sql models/silver/silver___inner_instructions.sql models/silver/silver___instructions.sql models/silver/silver__events.sql models/silver/silver___all_undecoded_instructions_data.sql tag:share models/streamline models/silver/silver__daily_signers.sql models/silver/silver__signers.sql models/silver/nfts/silver__nft_mint_price_generic.sql+
|
||||
dbt run --var '{"UPDATE_SNOWFLAKE_TAGS":True}' -s ./models/core --exclude models/core/core__ez_signers.sql
|
||||
|
||||
|
||||
10
data/testing__nft_mint_price.csv
Normal file
10
data/testing__nft_mint_price.csv
Normal file
@ -0,0 +1,10 @@
|
||||
program_id, payer, mint, mint_currency, mint_price
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,8gKR2HRvuKyFaHRopqodWh7xjGw4Tc5WfabRwDqgKTiM,5huRn5xdFZVi8TY2WEYyqimMiBJQPP1uQQcoFqNZb2oG,So11111111111111111111111111111111111111111,0.011400481
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,6fYqBU5Hanyx3SVE6trd4xXgwdKHdBK2yDPsM1Q8CHUf,5AbpcVMnyxgK1UfZRrYDD5iiFWWBXUVnAqLifa9n7Bm8,So11111111111111111111111111111111111111111,0.013683361
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,6fYqBU5Hanyx3SVE6trd4xXgwdKHdBK2yDPsM1Q8CHUf,5AbpcVMnyxgK1UfZRrYDD5iiFWWBXUVnAqLifa9n7Bm8,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263,16250000
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,67JgSAJS4u7TzKhUunmbGwvPHK4BcDwv73BS2Am28Yvj,A3PFimLjQFwFt9mHWLuXWQwfpaBBpp2CEp6uTR6yccKr,So11111111111111111111111111111111111111111,0.011400481
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,8yGGqtYud82xsUF6LYQtbsXjuXcF5JrbZmpYFxQTARpx,4CLQnbNKynn6qXF1S4woTxbiuPYREoEYbkXtvoYyzvxQ,So11111111111111111111111111111111111111111,0.016971201
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,GwQ1d3oJDvAyhTTBUeUX9JW5dhjqYxYqzaG2HNkyYcWd,5Awi9epmw6EYXzLnzkSu7qJKiZ4HnnDsJ3ix9Wxrt6DC,So11111111111111111111111111111111111111111,0.013683361
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,GwQ1d3oJDvAyhTTBUeUX9JW5dhjqYxYqzaG2HNkyYcWd,5Awi9epmw6EYXzLnzkSu7qJKiZ4HnnDsJ3ix9Wxrt6DC,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263,16250000
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,2jPtkhNbYP55Brb9bBPVwaRPFnMZHsu2YEeHHybFxwEb,AXJFRmLT11RnuFEgYC35F9tktdL77xX8y1b4HEbXPJkf,So11111111111111111111111111111111111111111,0.013683361
|
||||
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s,2jPtkhNbYP55Brb9bBPVwaRPFnMZHsu2YEeHHybFxwEb,AXJFRmLT11RnuFEgYC35F9tktdL77xX8y1b4HEbXPJkf,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263,16250000
|
||||
|
@ -20,3 +20,11 @@ Dq6H4jMXQkHEf3q3BocptwF7Nh6V9FZwABXuVRgRXtts,93oV7JEMxrzqZzcdqWtwoy2cfpmobBpWqcQ
|
||||
Ar9mEJ7qJ1uAgkWduKGo3UYVbPMdKrmWxs5z2wgZgbgN,3hNzvJcbjdhwt14cWkJMYUYFvNbVxLoS8cmrkqfAFVeM,So11111111111111111111111111111111111111111,0.00561672
|
||||
Ar9mEJ7qJ1uAgkWduKGo3UYVbPMdKrmWxs5z2wgZgbgN,3hNzvJcbjdhwt14cWkJMYUYFvNbVxLoS8cmrkqfAFVeM,GENEtH5amGSi8kHAtQoezp1XEXwZJ8vcuePYnXdKrMYz,10
|
||||
Ar9mEJ7qJ1uAgkWduKGo3UYVbPMdKrmWxs5z2wgZgbgN,GenoS3ck8xbDvYEZ8RxMG3Ln2qcyoAN8CTeZuaWgAoEA,So11111111111111111111111111111111111111111,0.0028536
|
||||
4CLQnbNKynn6qXF1S4woTxbiuPYREoEYbkXtvoYyzvxQ,8yGGqtYud82xsUF6LYQtbsXjuXcF5JrbZmpYFxQTARpx,So11111111111111111111111111111111111111111,0.016971201
|
||||
5huRn5xdFZVi8TY2WEYyqimMiBJQPP1uQQcoFqNZb2oG,8gKR2HRvuKyFaHRopqodWh7xjGw4Tc5WfabRwDqgKTiM,So11111111111111111111111111111111111111111,0.011400481
|
||||
5AbpcVMnyxgK1UfZRrYDD5iiFWWBXUVnAqLifa9n7Bm8,6fYqBU5Hanyx3SVE6trd4xXgwdKHdBK2yDPsM1Q8CHUf,So11111111111111111111111111111111111111111,0.013683361
|
||||
5AbpcVMnyxgK1UfZRrYDD5iiFWWBXUVnAqLifa9n7Bm8,6fYqBU5Hanyx3SVE6trd4xXgwdKHdBK2yDPsM1Q8CHUf,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263,16250000
|
||||
5Awi9epmw6EYXzLnzkSu7qJKiZ4HnnDsJ3ix9Wxrt6DC,GwQ1d3oJDvAyhTTBUeUX9JW5dhjqYxYqzaG2HNkyYcWd,So11111111111111111111111111111111111111111,0.013683361
|
||||
5Awi9epmw6EYXzLnzkSu7qJKiZ4HnnDsJ3ix9Wxrt6DC,GwQ1d3oJDvAyhTTBUeUX9JW5dhjqYxYqzaG2HNkyYcWd,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263,16250000
|
||||
AXJFRmLT11RnuFEgYC35F9tktdL77xX8y1b4HEbXPJkf,2jPtkhNbYP55Brb9bBPVwaRPFnMZHsu2YEeHHybFxwEb,So11111111111111111111111111111111111111111,0.013683361
|
||||
AXJFRmLT11RnuFEgYC35F9tktdL77xX8y1b4HEbXPJkf,2jPtkhNbYP55Brb9bBPVwaRPFnMZHsu2YEeHHybFxwEb,DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263,16250000
|
||||
|
@ -8,6 +8,21 @@ models:
|
||||
- MINT
|
||||
- PAYER
|
||||
- MINT_CURRENCY
|
||||
- compare_model_subset:
|
||||
name: silver__nft_mint_price_business_logic_test
|
||||
compare_model: ref('testing__nft_mint_price')
|
||||
compare_columns:
|
||||
- program_id
|
||||
- payer
|
||||
- mint
|
||||
- mint_currency
|
||||
- round(mint_price,8)
|
||||
model_condition: "where mint in ('5huRn5xdFZVi8TY2WEYyqimMiBJQPP1uQQcoFqNZb2oG',
|
||||
'5AbpcVMnyxgK1UfZRrYDD5iiFWWBXUVnAqLifa9n7Bm8',
|
||||
'A3PFimLjQFwFt9mHWLuXWQwfpaBBpp2CEp6uTR6yccKr',
|
||||
'4CLQnbNKynn6qXF1S4woTxbiuPYREoEYbkXtvoYyzvxQ',
|
||||
'5Awi9epmw6EYXzLnzkSu7qJKiZ4HnnDsJ3ix9Wxrt6DC',
|
||||
'AXJFRmLT11RnuFEgYC35F9tktdL77xX8y1b4HEbXPJkf')"
|
||||
columns:
|
||||
- name: BLOCK_TIMESTAMP
|
||||
description: "block timestamp of the latest transaction with a mint price"
|
||||
|
||||
@ -114,7 +114,9 @@ metaplex_events AS (
|
||||
program_id = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s'
|
||||
AND succeeded
|
||||
AND (
|
||||
(ARRAY_SIZE(accounts) = 7
|
||||
(ARRAY_SIZE(accounts) = 6
|
||||
AND accounts [5] = '11111111111111111111111111111111')
|
||||
OR (ARRAY_SIZE(accounts) = 7
|
||||
AND accounts [5] = '11111111111111111111111111111111'
|
||||
AND accounts [6] = 'SysvarRent111111111111111111111111111111111')
|
||||
OR (ARRAY_SIZE(accounts) = 9
|
||||
@ -148,7 +150,9 @@ metaplex_events AS (
|
||||
i.value :programId :: STRING = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s'
|
||||
AND succeeded
|
||||
AND (
|
||||
(ARRAY_SIZE(accounts) = 7
|
||||
(ARRAY_SIZE(accounts) = 6
|
||||
AND accounts [5] = '11111111111111111111111111111111')
|
||||
OR (ARRAY_SIZE(accounts) = 7
|
||||
AND accounts [5] = '11111111111111111111111111111111'
|
||||
AND accounts [6] = 'SysvarRent111111111111111111111111111111111')
|
||||
OR (ARRAY_SIZE(accounts) = 9
|
||||
@ -171,6 +175,8 @@ mint_price_events AS (
|
||||
me.index,
|
||||
i.index as inner_index,
|
||||
'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s' as program_id,
|
||||
i.value:parsed:info:destination::string as temp_destination,
|
||||
i.value:parsed:info:source::string as temp_source,
|
||||
CASE
|
||||
WHEN num_accounts in (14,17) THEN me.accounts [3] :: STRING
|
||||
ELSE me.accounts [1] :: STRING
|
||||
@ -192,7 +198,7 @@ mint_price_events AS (
|
||||
FROM
|
||||
metaplex_events me
|
||||
LEFT JOIN TABLE(FLATTEN(inner_instruction :instructions)) i
|
||||
group by 1,2,3,4,5,6,7,8,9,10
|
||||
group by 1,2,3,4,5,6,7,8,9,10,11,12
|
||||
),
|
||||
pre_final as (
|
||||
select
|
||||
@ -204,6 +210,7 @@ pre_final as (
|
||||
COALESCE(p.decimal, 9) as decimal
|
||||
from mint_price_events e
|
||||
LEFT OUTER JOIN base_ptb p on e.token_account = p.account
|
||||
where (temp_destination <> temp_source) or (temp_destination is null) or (temp_source is null)
|
||||
)
|
||||
SELECT
|
||||
p.mint,
|
||||
|
||||
@ -23,7 +23,8 @@ models:
|
||||
'FaC8SaDj6crwZA5JyucbKuTDbbTLbCSVpGbLVSXxaxJ4','BxGPRSEzHwEzX73Ep67a9u5xFc2BSuXSrAevqNMkzN8Z','HrbK1X3ooR2fBujtDSWeKQtbj1fUtptrEb7mWvsxeQQk',
|
||||
'CmejwsHB1hcQPbY7y4EjYD5gxWJEXn9G4PkXLpLoTus1','JBzLjej5DEtVupwVtn6y1mnG4HFEkm5PVxQYFNYMJzhc','J5EFUxYPxAyx5oCUUgmCrESHjhmXuzrYsscoxRvVW5Vz',
|
||||
'DCahWcCagbsW8HAqu4QMDaQZn212MrA7aN4yLNKYn3tY','58MAJPUgfSyehsKggYEeWjpNZaKw5qxnLNZ4EKeRicmq','Dq6H4jMXQkHEf3q3BocptwF7Nh6V9FZwABXuVRgRXtts',
|
||||
'Ar9mEJ7qJ1uAgkWduKGo3UYVbPMdKrmWxs5z2wgZgbgN')"
|
||||
'Ar9mEJ7qJ1uAgkWduKGo3UYVbPMdKrmWxs5z2wgZgbgN','4CLQnbNKynn6qXF1S4woTxbiuPYREoEYbkXtvoYyzvxQ','5huRn5xdFZVi8TY2WEYyqimMiBJQPP1uQQcoFqNZb2oG',
|
||||
'5AbpcVMnyxgK1UfZRrYDD5iiFWWBXUVnAqLifa9n7Bm8','5Awi9epmw6EYXzLnzkSu7qJKiZ4HnnDsJ3ix9Wxrt6DC', 'AXJFRmLT11RnuFEgYC35F9tktdL77xX8y1b4HEbXPJkf')"
|
||||
columns:
|
||||
- name: BLOCK_TIMESTAMP
|
||||
description: "{{ doc('block_timestamp') }}"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user