2022-04-20 22:47:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT native_to_address, COUNT(1) AS n
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE block_timestamp >= '2022-04-01'
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
)
|
|
|
|
|
select b.n, s.* from thorchain.swaps s
|
|
|
|
|
JOIN base b ON b.native_to_address = s.native_to_address
|
|
|
|
|
where block_timestamp >= '2022-04-10'
|
|
|
|
|
ORDER BY block_timestamp, n, tx_id
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_dev_db.thorchain.liquidity_actions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_dev_db.thorchain.liquidity_actions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_dev_db.thorchain.bond_actions
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://app.flipsidecrypto.com/dashboard/small-lp-actions-LD1XQ9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://app.flipsidecrypto.com/dashboard/pool-ranks-UbtLg9
|
|
|
|
|
https://app.flipsidecrypto.com/dashboard/price-shift-_-JpTq
|
|
|
|
|
https://app.flipsidecrypto.com/dashboard/tho-rchain-average-age-of-synth-holders-Z2AXIx
|
|
|
|
|
https://app.flipsidecrypto.com/dashboard/thor-64-standardized-tvl-over-time-all-pools-Zf6w-L
|
|
|
|
|
https://app.flipsidecrypto.com/dashboard/tho-rchain-pool-ranks-RNNzza
|
|
|
|
|
https://app.flipsidecrypto.com/dashboard/thorchain-synth-mints-burns-aH0lCY
|
|
|
|
|
|
|
|
|
|
https://discord.com/channels/889577356681945098/889577399308656662/951960381411192842
|
|
|
|
|
|
|
|
|
|
solana-keygen recover 'prompt:?key=3/0' --outfile ~/.config/solana/tmp.json
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
, instructions[0]:parsed:info:lamports / POWER(10, 9) AS sol_amount
|
|
|
|
|
FROM solana.fact_transactions
|
|
|
|
|
WHERE block_timestamp >= '2022-01-02'
|
|
|
|
|
AND tx_id = '5H6UQqbxa2wtryax6SAZgjXB9B6Za4ip6GsheqopAsbLCrLMPvYf35H551SaAKNy6bi6BceRGtkwwP9LRoN7RiVo'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.fact_transfers
|
|
|
|
|
WHERE block_timestamp >= '2022-01-02'
|
|
|
|
|
AND tx_id = '393xRouisz4DuMxzARAqPy7FVYQZtkfpmAMuDXXj39uvASFYtMijHM9hyVzXSocsB4fk2woLNfnWTM4qXJxJsWBw'
|
|
|
|
|
|
|
|
|
|
SELECT lp.tx_id
|
|
|
|
|
, lp.signers[0] as signer
|
|
|
|
|
, t.instructions[0]:parsed:info:lamports / POWER(10, 9) AS sol_amount
|
|
|
|
|
FROM solana.fact_staking_lp_actions lp
|
|
|
|
|
JOIN solana.fact_transactions t ON t.tx_id = lp.tx_id
|
|
|
|
|
WHERE lp.block_timestamp >= '2022-01-01'
|
|
|
|
|
AND lp.event_type = 'delegate'
|
|
|
|
|
AND tx_id = '393xRouisz4DuMxzARAqPy7FVYQZtkfpmAMuDXXj39uvASFYtMijHM9hyVzXSocsB4fk2woLNfnWTM4qXJxJsWBw'
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
|
|
|
|
sudo apt-get build-dep python E: You must put some 'deb-src' URIs in your sources.list
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT project_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, SUM( CASE WHEN address IS NULL THEN 1 ELSE 0 END) AS n_nulls
|
|
|
|
|
FROM crosschain.address_labels
|
|
|
|
|
WHERE blockchain = 'solana'
|
|
|
|
|
AND label_subtype = 'nf_token_contract'
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
-- MEv1 De-Listing
|
|
|
|
|
WITH mints AS (
|
|
|
|
|
SELECT DISTINCT project_name
|
|
|
|
|
, mint
|
|
|
|
|
, token_id
|
|
|
|
|
FROM solana.dim_nft_metadata
|
|
|
|
|
)
|
|
|
|
|
SELECT pre_token_balances[0]:mint::string AS mint
|
|
|
|
|
, t.*
|
|
|
|
|
, m.project_name
|
|
|
|
|
, m.token_id
|
|
|
|
|
FROM solana.fact_transactions t
|
|
|
|
|
JOIN mints m ON m.mint = t.pre_token_balances[0]:mint::string
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 30
|
|
|
|
|
AND tx_id = '3CxhnTCXYX1zH6HbNESFsZLwdHfTe7RUYF8tAgB168hciVjUGggp2PwVEsnDvpd2kNqMha7kH2be7NtSTppAnXzn'
|
|
|
|
|
AND instructions[0]:data = 'TE6axTojnpk'
|
|
|
|
|
AND instructions[0]:programId = 'MEisE1HzehtrDpAAT8PnLHjpSSkRYakotTuJRPjTpo8'
|
|
|
|
|
AND succeeded = TRUE
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
ENwHiaH9NA9veUqRzGozjWnTuR9xcNvHcPZVFMi3Ca9L
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH mints AS (
|
|
|
|
|
SELECT DISTINCT project_name
|
|
|
|
|
, mint
|
|
|
|
|
, token_id
|
|
|
|
|
FROM solana.dim_nft_metadata
|
|
|
|
|
)
|
|
|
|
|
SELECT instructions[0]:data AS data
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM solana.fact_transactions t
|
|
|
|
|
JOIN mints m ON m.mint = t.pre_token_balances[0]:mint::string
|
|
|
|
|
WHERE block_timestamp >= '2022-04-17'
|
|
|
|
|
AND instructions[0]:programId = 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'
|
|
|
|
|
AND succeeded = TRUE
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- MEv2 De-Listing
|
|
|
|
|
WITH mints AS (
|
|
|
|
|
SELECT DISTINCT project_name
|
|
|
|
|
, mint
|
|
|
|
|
, token_id
|
|
|
|
|
FROM solana.dim_nft_metadata
|
|
|
|
|
), rem AS (
|
|
|
|
|
SELECT pre_token_balances[0]:mint::string AS mint
|
|
|
|
|
, m.project_name
|
|
|
|
|
, m.token_id
|
|
|
|
|
, t.tx_id AS remove_tx
|
|
|
|
|
, block_timestamp AS remove_time
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY mint ORDER BY block_timestamp DESC) AS rn
|
|
|
|
|
FROM solana.fact_transactions t
|
|
|
|
|
JOIN mints m ON m.mint = t.pre_token_balances[0]:mint::string
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 3
|
|
|
|
|
AND LEFT(instructions[0]:data::string, 4) IN ('ENwH','3GyW')
|
|
|
|
|
AND instructions[0]:programId = 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'
|
|
|
|
|
), add AS (
|
|
|
|
|
SELECT pre_token_balances[0]:mint::string AS mint
|
|
|
|
|
, m.project_name
|
|
|
|
|
, m.token_id
|
|
|
|
|
, t.tx_id AS listing_tx
|
|
|
|
|
, block_timestamp AS listing_time
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY mint ORDER BY block_timestamp DESC) AS rn
|
|
|
|
|
FROM solana.fact_transactions t
|
|
|
|
|
JOIN mints m ON m.mint = t.pre_token_balances[0]:mint::string
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 3
|
|
|
|
|
AND LEFT(instructions[0]:data::string, 4) IN ('2B3v')
|
|
|
|
|
AND instructions[0]:programId = 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'
|
|
|
|
|
AND succeeded = TRUE
|
|
|
|
|
)
|
|
|
|
|
SELECT a.*
|
|
|
|
|
, r.remove_tx
|
|
|
|
|
, r.remove_time
|
|
|
|
|
, CASE WHEN r.remove_time IS NULL OR a.listing_time > r.remove_time THEN 1 ELSE 0 END AS is_listed
|
|
|
|
|
FROM add a
|
|
|
|
|
LEFT JOIN rem r ON r.mint = a.mint AND r.rn = 1
|
|
|
|
|
WHERE a.rn = 1
|
|
|
|
|
|
|
|
|
|
thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT from_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, -from_amount AS amount
|
|
|
|
|
, 'From Swap' AS tx_type
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE from_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
AND from_asset = 'THOR.RUNE'
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
SELECT native_to_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, to_amount AS amount
|
|
|
|
|
, 'To Swap' AS tx_type
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE native_to_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
AND to_asset = 'THOR.RUNE'
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
SELECT from_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, -rune_amount AS amount
|
|
|
|
|
, 'From Transfer' AS tx_type
|
|
|
|
|
FROM thorchain.transfers
|
|
|
|
|
WHERE from_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
SELECT to_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, rune_amount AS amount
|
|
|
|
|
, 'To Transfer' AS tx_type
|
|
|
|
|
FROM thorchain.transfers
|
|
|
|
|
WHERE to_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
ORDER BY date DESC
|
|
|
|
|
|
|
|
|
|
68. [Hard] $RUNE Distribution
|
|
|
|
|
Calculate the distribution of $RUNE holdings by address. Include RUNE that is in liquidity pools. (e.g. if I have 100 $RUNE in my wallet and LP 50, I should still be considered to be holding 100). In terms of charts, feel free to create a histogram or whichever visual you think works best!
|
|
|
|
|
|
|
|
|
|
Hint: use thorchain.transfers and thorchain.liquidity_actions
|
|
|
|
|
|
|
|
|
|
70. [Hard] Weighted-average LP duration
|
|
|
|
|
What is the average duration of liquidity held in each pool, weighted by the size of the LP?
|
|
|
|
|
|
|
|
|
|
Hint: use thorchain.liquidity_actions
|
|
|
|
|
|
|
|
|
|
69. [Medium] LP Size Distribution
|
|
|
|
|
What is the current distribution of LP size for each pool? You will have to use both 'add_liquidity' and 'remove_liquidity' to determine which LPs are stil current.
|
|
|
|
|
|
|
|
|
|
Hint: use thorchain.liquidity_actions
|
|
|
|
|
|
|
|
|
|
71. [Easy] Block Rewards vs Swap Fees
|
|
|
|
|
Breakdown the yield from block rewards vs swap fees, both total and by pool. Show how the proportions have changed over time since the network started.
|
|
|
|
|
|
|
|
|
|
Hint: use thorchain.block_rewards
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72. [Medium] Swap Volume vs LP Rewards
|
|
|
|
|
Chart the weekly swap volume and LP rewards on the same chart. What is the relationship between the two?
|
|
|
|
|
|
|
|
|
|
Hint: use thorchain.daily_pool_stats to get swap volume and earnings_to_pools from thorchain.daily_earnings to get LP rewards
|
|
|
|
|
|
|
|
|
|
73. [Hard] Realized APY
|
|
|
|
|
Visualize the realized APY of LP-ers that have removed liquidity from THORChain. What was their actual APY vs HODL (accounting for impermanent loss) when you pro-rate it for how long they were LP-ing for? Are certain pools out-performing others?
|
|
|
|
|
|
|
|
|
|
Hint: use thorchain.liquidity_actions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM THORCHAIN.DAILY_POOL_STATS
|
|
|
|
|
WHERE pool_name ilike '%luna%'
|
|
|
|
|
ORDER BY day DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT from_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, rune_amount AS lp_amount
|
|
|
|
|
, 'Add LP' AS tx_type
|
|
|
|
|
FROM thorchain.liquidity_actions
|
|
|
|
|
WHERE from_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
AND lp_action = 'add_liquidity'
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
SELECT from_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, -rune_amount AS lp_amount
|
|
|
|
|
, 'Rem LP' AS tx_type
|
|
|
|
|
FROM thorchain.liquidity_actions
|
|
|
|
|
WHERE from_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
AND lp_action = 'remove_liquidity'
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
SELECT native_to_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, to_amount AS amount
|
|
|
|
|
, 'To Swap' AS tx_type
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE native_to_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
AND to_asset = 'THOR.RUNE'
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
SELECT from_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, -rune_amount AS amount
|
|
|
|
|
, 'From Transfer' AS tx_type
|
|
|
|
|
FROM thorchain.transfers
|
|
|
|
|
WHERE from_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
|
|
|
|
|
UNION ALL
|
|
|
|
|
|
|
|
|
|
SELECT to_address AS address
|
|
|
|
|
, block_timestamp::date AS date
|
|
|
|
|
, rune_amount AS amount
|
|
|
|
|
, 'To Transfer' AS tx_type
|
|
|
|
|
FROM thorchain.transfers
|
|
|
|
|
WHERE to_address = 'thor12209cxpf4mpm8qxdyzmm4k8mfuyjt4fysnwyjj'
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
ORDER BY date DESC
|
|
|
|
|
|
|
|
|
|
-- 2B3v: listing
|
|
|
|
|
-- ENwH: de-listing
|
|
|
|
|
-- 3GyW: sale
|
|
|
|
|
|
|
|
|
|
WITH mints AS (
|
|
|
|
|
SELECT DISTINCT project_name
|
|
|
|
|
, mint
|
|
|
|
|
, token_id
|
|
|
|
|
FROM solana.dim_nft_metadata
|
|
|
|
|
)
|
|
|
|
|
SELECT pre_token_balances[0]:mint::string AS mint
|
|
|
|
|
, t.*
|
|
|
|
|
, m.project_name
|
|
|
|
|
, m.token_id
|
|
|
|
|
FROM solana.fact_transactions t
|
|
|
|
|
JOIN mints m ON m.mint = t.pre_token_balances[0]:mint::string
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 2
|
|
|
|
|
AND tx_id = '3CxhnTCXYX1zH6HbNESFsZLwdHfTe7RUYF8tAgB168hciVjUGggp2PwVEsnDvpd2kNqMha7kH2be7NtSTppAnXzn'
|
|
|
|
|
AND LEFT(instructions[0]:data::string, 4) IN ('2B3v')
|
|
|
|
|
AND instructions[0]:programId = 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'
|
|
|
|
|
AND succeeded = TRUE
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_prod_db.thorchain.liquidity_actions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_prod_db.thorchain.prices
|
|
|
|
|
|
|
|
|
|
liquidity_actions
|
|
|
|
|
bond_actions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_prod_db.thorchain.bond_actions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_prod_db.thorchain.pool_block_balances
|
|
|
|
|
WHERE rune_amount > 0 and COALESCE(rune_amount_usd, 0) = 0
|
|
|
|
|
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_prod_db.thorchain.pool_block_balances
|
|
|
|
|
WHERE asset_amount > 0 and COALESCE(asset_amount_usd, 0) = 0
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM flipside_prod_db.thorchain.pool_block_balances
|
|
|
|
|
WHERE (asset_amount > 0 and COALESCE(asset_amount_usd, 0) = 0)
|
|
|
|
|
OR (rune_amount > 0 and COALESCE(rune_amount_usd, 0) = 0)
|
|
|
|
|
ORDER BY block_timestamp DESC
|
|
|
|
|
LIMIT 10000
|
|
|
|
|
|
|
|
|
|
SELECT block_timestamp::date AS date
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM flipside_prod_db.thorchain.pool_block_balances
|
|
|
|
|
WHERE (asset_amount > 0 and COALESCE(asset_amount_usd, 0) = 0)
|
|
|
|
|
OR (rune_amount > 0 and COALESCE(rune_amount_usd, 0) = 0)
|
|
|
|
|
ORDER BY block_timestamp DESC
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-11 04:07:14 +00:00
|
|
|
WITH active_vault_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'active_vault_events' AS "table"
|
|
|
|
|
FROM thorchain.active_vault_events),
|
|
|
|
|
add_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'add_events' AS "table"
|
|
|
|
|
FROM thorchain.add_events),
|
|
|
|
|
asgard_fund_yggdrasil_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'asgard_fund_yggdrasil_events' AS "table"
|
|
|
|
|
FROM thorchain.asgard_fund_yggdrasil_events),
|
|
|
|
|
block_pool_depths_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'block_pool_depths' AS "table"
|
|
|
|
|
FROM thorchain.block_pool_depths),
|
|
|
|
|
block_rewards_cte AS
|
|
|
|
|
(SELECT max(day)::string AS recency, min(day)::string AS start_time,
|
|
|
|
|
'block_rewards' AS "table"
|
|
|
|
|
FROM thorchain.block_rewards),
|
|
|
|
|
bond_actions_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'bond_actions' AS "table"
|
|
|
|
|
FROM thorchain.bond_actions),
|
|
|
|
|
bond_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'bond_events' AS "table"
|
|
|
|
|
FROM thorchain.bond_events),
|
|
|
|
|
constants_cte AS
|
|
|
|
|
(SELECT 'NA for this table' AS recency, 'NA for this table' AS start_time,
|
|
|
|
|
'constants' AS "table"
|
|
|
|
|
FROM thorchain.constants),
|
|
|
|
|
daily_earnings_cte AS
|
|
|
|
|
(SELECT max(day)::string AS recency, min(day)::string AS start_time,
|
|
|
|
|
'daily_earnings' AS "table"
|
|
|
|
|
FROM thorchain.daily_earnings),
|
|
|
|
|
daily_pool_stats_cte AS
|
|
|
|
|
(SELECT max(day)::string AS recency, min(day)::string AS start_time,
|
|
|
|
|
'daily_pool_stats' AS "table"
|
|
|
|
|
FROM thorchain.daily_pool_stats),
|
|
|
|
|
daily_tvl_cte AS
|
|
|
|
|
(SELECT max(day)::string AS recency, min(day)::string AS start_time,
|
|
|
|
|
'daily_tvl' AS "table"
|
|
|
|
|
FROM thorchain.daily_tvl),
|
|
|
|
|
errata_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'errata_events' AS "table"
|
|
|
|
|
FROM thorchain.errata_events),
|
|
|
|
|
fee_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'fee_events' AS "table"
|
|
|
|
|
FROM thorchain.fee_events),
|
|
|
|
|
gas_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'gas_events' AS "table"
|
|
|
|
|
FROM thorchain.gas_events),
|
|
|
|
|
inactive_vault_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'inactive_vault_events' AS "table"
|
|
|
|
|
FROM thorchain.inactive_vault_events),
|
|
|
|
|
liquidity_actions_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'liquidity_actions' AS "table"
|
|
|
|
|
FROM thorchain.liquidity_actions),
|
|
|
|
|
message_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'message_events' AS "table"
|
|
|
|
|
FROM thorchain.message_events),
|
|
|
|
|
new_node_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'new_node_events' AS "table"
|
|
|
|
|
FROM thorchain.new_node_events),
|
|
|
|
|
outbound_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'outbound_events' AS "table"
|
|
|
|
|
FROM thorchain.outbound_events),
|
|
|
|
|
pending_liquidity_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'pending_liquidity_events' AS "table"
|
|
|
|
|
FROM thorchain.pending_liquidity_events),
|
|
|
|
|
pool_balance_change_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'pool_balance_change_events' AS "table"
|
|
|
|
|
FROM thorchain.pool_balance_change_events),
|
|
|
|
|
pool_block_balances_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'pool_block_balances' AS "table"
|
|
|
|
|
FROM thorchain.pool_block_balances),
|
|
|
|
|
pool_block_fees_cte AS
|
|
|
|
|
(SELECT max(day)::string AS recency, min(day)::string AS start_time,
|
|
|
|
|
'pool_block_fees' AS "table"
|
|
|
|
|
FROM thorchain.pool_block_fees),
|
|
|
|
|
pool_block_statistics_cte AS
|
|
|
|
|
(SELECT max(day)::string AS recency, min(day)::string AS start_time,
|
|
|
|
|
'pool_block_statistics' AS "table"
|
|
|
|
|
FROM thorchain.pool_block_statistics),
|
|
|
|
|
pool_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'pool_events' AS "table"
|
|
|
|
|
FROM thorchain.pool_events),
|
|
|
|
|
prices_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'prices' AS "table"
|
|
|
|
|
FROM thorchain.prices),
|
|
|
|
|
refund_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'refund_events' AS "table"
|
|
|
|
|
FROM thorchain.refund_events),
|
|
|
|
|
reserve_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'reserve_events' AS "table"
|
|
|
|
|
FROM thorchain.reserve_events),
|
|
|
|
|
rewards_event_entries_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'rewards_event_entries' AS "table"
|
|
|
|
|
FROM thorchain.rewards_event_entries),
|
|
|
|
|
rewards_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'rewards_events' AS "table"
|
|
|
|
|
FROM thorchain.rewards_events),
|
|
|
|
|
set_ip_address_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'set_ip_address_events' AS "table"
|
|
|
|
|
FROM thorchain.set_ip_address_events),
|
|
|
|
|
set_mimir_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'set_mimir_events' AS "table"
|
|
|
|
|
FROM thorchain.set_mimir_events),
|
|
|
|
|
set_node_keys_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'set_node_keys_events' AS "table"
|
|
|
|
|
FROM thorchain.set_node_keys_events),
|
|
|
|
|
set_version_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'set_version_events' AS "table"
|
|
|
|
|
FROM thorchain.set_version_events),
|
|
|
|
|
slash_amounts_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'slash_amounts' AS "table"
|
|
|
|
|
FROM thorchain.slash_amounts),
|
|
|
|
|
stake_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'stake_events' AS "table"
|
|
|
|
|
FROM thorchain.stake_events),
|
|
|
|
|
swap_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'swap_events' AS "table"
|
|
|
|
|
FROM thorchain.swap_events),
|
|
|
|
|
swaps_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'swaps' AS "table"
|
|
|
|
|
FROM thorchain.swaps),
|
|
|
|
|
switch_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'switch_events' AS "table"
|
|
|
|
|
FROM thorchain.switch_events),
|
|
|
|
|
thorname_change_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'thorname_change_events' AS "table"
|
|
|
|
|
FROM thorchain.thorname_change_events),
|
|
|
|
|
total_block_rewards_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'total_block_rewards' AS "table"
|
|
|
|
|
FROM thorchain.total_block_rewards),
|
|
|
|
|
total_value_locked_cte AS
|
|
|
|
|
(SELECT max(day)::string AS recency, min(day)::string AS start_time,
|
|
|
|
|
'total_value_locked' AS "table"
|
|
|
|
|
FROM thorchain.total_value_locked),
|
|
|
|
|
transfer_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'transfer_events' AS "table"
|
|
|
|
|
FROM thorchain.transfer_events),
|
|
|
|
|
transfers_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'transfers' AS "table"
|
|
|
|
|
FROM thorchain.transfers),
|
|
|
|
|
unstake_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'unstake_events' AS "table"
|
|
|
|
|
FROM thorchain.unstake_events),
|
|
|
|
|
update_node_account_status_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'update_node_account_status_events' AS "table"
|
|
|
|
|
FROM thorchain.update_node_account_status_events),
|
|
|
|
|
upgrades_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'upgrades' AS "table"
|
|
|
|
|
FROM thorchain.upgrades),
|
|
|
|
|
validator_request_leave_events_cte AS
|
|
|
|
|
(SELECT max(block_timestamp)::string AS recency, min(block_timestamp)::string AS start_time,
|
|
|
|
|
'validator_request_leave_events' AS "table"
|
|
|
|
|
FROM thorchain.validator_request_leave_events)
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM active_vault_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM add_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM asgard_fund_yggdrasil_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM block_pool_depths_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM block_rewards_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM bond_actions_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM bond_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM constants_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM daily_earnings_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM daily_pool_stats_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM daily_tvl_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM errata_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM fee_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM gas_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM inactive_vault_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM liquidity_actions_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM message_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM new_node_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM outbound_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM pending_liquidity_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM pool_balance_change_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM pool_block_balances_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM pool_block_fees_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM pool_block_statistics_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM pool_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM prices_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM refund_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM reserve_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM rewards_event_entries_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM rewards_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM set_ip_address_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM set_mimir_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM set_node_keys_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM set_version_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM slash_amounts_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM stake_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM swap_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM swaps_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM switch_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM thorname_change_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM total_block_rewards_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM total_value_locked_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM transfer_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM transfers_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM unstake_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM update_node_account_status_events_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM upgrades_cte
|
|
|
|
|
UNION
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM validator_request_leave_events_cte
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-04 04:35:13 +00:00
|
|
|
|
2022-03-18 00:23:50 +00:00
|
|
|
|
2022-04-11 04:07:14 +00:00
|
|
|
SELECT s.block_timestamp::date AS date
|
|
|
|
|
, COUNT(1) AS num_sales
|
|
|
|
|
, SUM(sales_amount) AS volume
|
|
|
|
|
, volume / num_sales AS avg_sale_price
|
|
|
|
|
FROM solana.dim_nft_metadata m
|
|
|
|
|
JOIN solana.fact_nft_sales s ON s.mint_address = m.mint_address
|
|
|
|
|
WHERE m.project_name = 'Cets On Creck'
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
2022-04-05 05:25:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
21:33:53 Failure in test dbt_utils_unique_combination_of_columns_thorchain__bond_events_TX_ID__BLOCK_ID (models/thorchain/thorchain__bond_events.yml)
|
|
|
|
|
21:33:53 Got 6806 results, configured to fail if != 0
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 compiled SQL at target/compiled/sql_models/models/thorchain/thorchain__bond_events.yml/dbt_utils_unique_combination_o_4c33313a0a68966742499a57f9c413f2.sql
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 Failure in test dbt_utils_unique_combination_of_columns_thorchain__daily_pool_stats_DAY__POOL_NAME (models/thorchain/thorchain__daily_pool_stats.yml)
|
|
|
|
|
21:33:53 Got 103 results, configured to fail if != 0
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 compiled SQL at target/compiled/sql_models/models/thorchain/thorchain__daily_pool_stats.yml/dbt_utils_unique_combination_o_091de1e000a8d4666a014c0688a50b0f.sql
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 Failure in test dbt_utils_unique_combination_of_columns_thorchain__pool_balance_change_events_BLOCK_ID__ASSET__REASON (models/thorchain/thorchain__pool_balance_change_events.yml)
|
|
|
|
|
21:33:53 Got 870 results, configured to fail if != 0
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 compiled SQL at target/compiled/sql_models/models/thorchain/thorchain__pool_balance_change_events.yml/dbt_utils_unique_combination_o_309a465be5fc79461b0d64ac3c9308c9.sql
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 Failure in test dbt_utils_unique_combination_of_columns_thorchain__pool_block_statistics_DAY__ASSET (models/thorchain/thorchain__pool_block_statistics.yml)
|
|
|
|
|
21:33:53 Got 103 results, configured to fail if != 0
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 compiled SQL at target/compiled/sql_models/models/thorchain/thorchain__pool_block_statistics.yml/dbt_utils_unique_combination_o_e0e0f1f5a63053051ee1a1a182029461.sql
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 Failure in test dbt_utils_unique_combination_of_columns_thorchain__refund_events_TX_ID__BLOCK_ID__TX_ID__TO_ADDRESS__FROM_ADDRESS__ASSET__ASSET_E8__ASSET_2ND (models/thorchain/thorchain__refund_events.yml)
|
|
|
|
|
21:33:53 Got 1 result, configured to fail if != 0
|
|
|
|
|
21:33:53
|
|
|
|
|
21:33:53 compiled SQL at target/compiled/sql_models/models/thorchain/thorchain__refund_events.yml/dbt_utils_unique_combination_o_1602ea813e0daecea06daa5bf0ce53c0.sql
|
|
|
|
|
21:33:53
|
|
|
|
|
|
|
|
|
|
thorchain__bond_events: dupes come from tx = "0000000000000000000000000000000000000000000000000000000000000000". did not implement any fix
|
|
|
|
|
thorchain__daily_pool_stats: dupes come from pool_block_statistics dupes, which I implemented a fix for
|
|
|
|
|
thorchain__pool_balance_change_events: have incorrect test, which I removed
|
|
|
|
|
thorchain__pool_block_statistics: implemented fix
|
|
|
|
|
thorchain__refund_events: not sure what the issue is there. need to do more digging
|
|
|
|
|
|
2022-04-11 04:07:14 +00:00
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, synth_amount / asset_amount AS ratio
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY pool_name ORDER BY block_timestamp DESC) AS rn
|
|
|
|
|
FROM THORCHAIN.POOL_BLOCK_BALANCES
|
|
|
|
|
WHERE block_timestamp >= '2022-04-04'
|
|
|
|
|
ORDER BY block_timestamp DESC, ratio DESC
|
|
|
|
|
LIMIT 100
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
SELECT pool_name
|
|
|
|
|
, SUM(COALESCE(rune_amount_usd, 0) + COALESCE(asset_amount_usd, 0)) AS amount_usd
|
|
|
|
|
, SUM(COALESCE(il_protection_usd, 0)) AS il_protection_usd
|
|
|
|
|
FROM thorchain.liquidity_actions
|
|
|
|
|
WHERE lp_action = 'remove_liquidity'
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
2022-04-05 05:25:23 +00:00
|
|
|
goes as profile.yml in ~/.dbt/
|
|
|
|
|
dbt deps to install dependencies
|
|
|
|
|
dbt test
|
|
|
|
|
dbt run --full-refresh -s models/thorchain
|
|
|
|
|
dbt test -s models/thorchain
|
|
|
|
|
|
2022-04-11 04:07:14 +00:00
|
|
|
SELECT *
|
|
|
|
|
SELECT MIN(block_timestamp) AS mn
|
|
|
|
|
, MIN(block_timestamp) AS mn2
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE 1=1
|
|
|
|
|
AND (
|
|
|
|
|
from_asset LIKE '%/%'
|
|
|
|
|
OR to_asset LIKE '%/%'
|
|
|
|
|
)
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
|
|
|
|
SELECT tx_id
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM FLIPSIDE_DEV_DB.BRONZE_MIDGARD_2_6_9_20220405.MIDGARD_FEE_EVENTS
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
|
|
|
|
|
SELECT pool_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, MAX(block_timestamp) AS m
|
|
|
|
|
, MAX(block_timestamp) AS mm
|
|
|
|
|
FROM thorchain.pool_block_statistics
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
SELECT POOL_NAME
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, MAX(BLOCK_TIMESTAMP) AS m
|
|
|
|
|
, MAX(BLOCK_TIMESTAMP) AS mm
|
|
|
|
|
FROM thorchain.block_pool_depths
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM thorchain.pool_block_statistics
|
|
|
|
|
|
|
|
|
|
SELECT pool_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
, MIN(block_timestamp) AS mn
|
|
|
|
|
FROM thorchain.prices
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY pool_name ORDER BY block_timestamp DESC) AS rn
|
|
|
|
|
FROM thorchain.pool_block_balances
|
|
|
|
|
WHERE block_timestamp >= '2022-04-01'
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
SELECT DISTINCT pool_name
|
|
|
|
|
FROM thorchain.pool_block_balances
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT DISTINCT pool_name
|
|
|
|
|
FROM thorchain.pool_block_depths
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT DISTINCT pool_name
|
|
|
|
|
FROM FLIPSIDE_DEV_DB.BRONZE_MIDGARD_2_6_9_20220405.MIDGARD_BLOCK_POOL_DEPTHS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT COUNT(1) AS n FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_block_pool_depths
|
|
|
|
|
SELECT COUNT(1) AS n FROM flipside_dev_db.bronze_midgard_2_6_9_20220405.midgard_block_pool_depths
|
|
|
|
|
|
|
|
|
|
SELECT COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_block_pool_depths
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM BRONZE_MIDGARD_2_6_9.MIDGARD_SWAP_EVENTS
|
|
|
|
|
WHERE memo like '=:TERRA/LUNA:%:%'
|
|
|
|
|
AND pool like 'TERRA/LUNA'
|
|
|
|
|
ORDER BY block_timestamp DESC
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, CASE WHEN memo like '=:TERRA/LUNA:%:%' THEN 1 ELSE 0 END AS is_synth
|
|
|
|
|
FROM BRONZE_MIDGARD_2_6_9.MIDGARD_SWAP_EVENTS
|
|
|
|
|
WHERE block_timestamp >= '2022-04-01'
|
|
|
|
|
AND pool like 'TERRA/LUNA%'
|
|
|
|
|
LIMIT 1000
|
|
|
|
|
)
|
|
|
|
|
SELECT is_synth, COUNT(1) AS
|
|
|
|
|
|
2022-04-05 05:25:23 +00:00
|
|
|
SELECT asset_e8 / POWER(10, 8) AS asset_amt
|
|
|
|
|
, rune_e8 / POWER(10, 8) AS rune_amt
|
|
|
|
|
, synth_e8 / POWER(10, 8) AS synth_amt
|
|
|
|
|
, synth_amt / asset_amt AS synth_ratio
|
|
|
|
|
, *
|
|
|
|
|
FROM bronze_midgard_2_6_9.midgard_block_pool_depths
|
|
|
|
|
ORDER BY block_timestamp DESC, rune_e8 DESC
|
|
|
|
|
LIMIT 40
|
|
|
|
|
|
|
|
|
|
-- thorchain__refund_events
|
|
|
|
|
not sure what the issue is there. need to do more digging
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_refund_events
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
|
|
|
|
SELECT tx
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, to_addr
|
|
|
|
|
, from_addr
|
|
|
|
|
, asset
|
|
|
|
|
, asset_e8
|
|
|
|
|
, COALESCE(asset_2nd, '')
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_refund_events
|
|
|
|
|
GROUP BY 1, 2, 3, 4, 5, 6, 7
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_refund_events
|
|
|
|
|
WHER tx = 'FBB528600711E455908F90340470CED18D24801F62ED123D7BF9A5F5E68466F1'
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT tx
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nnn
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_bond_events
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
)
|
|
|
|
|
SELECT tx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM base
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- has 103 dupes
|
|
|
|
|
SELECT day
|
|
|
|
|
, asset
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.thorchain.pool_block_statistics
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- has 134 dupes, fixed implemented by getting the latest status in the day
|
|
|
|
|
SELECT date(block_timestamp) AS day
|
|
|
|
|
, asset AS pool_name
|
|
|
|
|
, block_id
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.thorchain.pool_events
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 4 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- thorchain__pool_balance_change_events -> incorrect test
|
|
|
|
|
|
|
|
|
|
SELECT block_timestamp
|
|
|
|
|
, reason
|
|
|
|
|
, asset
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_pool_balance_change_events
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 4 DESC
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_pool_balance_change_events
|
|
|
|
|
WHERE block_timestamp = 1647355019937352448
|
|
|
|
|
AND asset = 'ETH.ETH'
|
|
|
|
|
AND reason = 'burn dust'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT MAX(day) AS d
|
|
|
|
|
, MAX(day) AS dd
|
|
|
|
|
FROM flipside_dev_db.thorchain.daily_pool_stats
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT day
|
|
|
|
|
, pool_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.thorchain.daily_pool_stats
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
|
|
|
|
|
SELECT day
|
|
|
|
|
, pool_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.thorchain.daily_pool_stats
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
|
|
|
|
|
SELECT day
|
|
|
|
|
, asset
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM flipside_dev_db.thorchain.pool_block_statistics
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT tx
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nnn
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_bond_events
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
)
|
|
|
|
|
SELECT tx
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM base
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM flipside_dev_db.bronze_midgard_2_6_9.midgard_bond_events
|
|
|
|
|
WHERE tx = '0000000000000000000000000000000000000000000000000000000000000000'
|
|
|
|
|
LIMIT 1000
|
|
|
|
|
|
|
|
|
|
SELECT block_id, tx_id
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM thorchain.bond_events
|
|
|
|
|
WHERE tx = '0000000000000000000000000000000000000000000000000000000000000000'
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM thorchain.bond_events
|
|
|
|
|
WHERE tx = '0000000000000000000000000000000000000000000000000000000000000000'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT project_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS nn
|
|
|
|
|
FROM solana.dim_nft_metadata
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT tx_id
|
|
|
|
|
, n.mint
|
|
|
|
|
, l.project_name AS lp
|
|
|
|
|
, m.project_name AS mp
|
|
|
|
|
, n.block_timestamp AS sale_date
|
|
|
|
|
, (inner_instruction:instructions[0]:parsed:info:lamports
|
|
|
|
|
+ inner_instruction:instructions[1]:parsed:info:lamports
|
|
|
|
|
+ inner_instruction:instructions[2]:parsed:info:lamports
|
|
|
|
|
+ inner_instruction:instructions[3]:parsed:info:lamports) / POWER(10, 9) AS price
|
|
|
|
|
FROM solana.nfts n
|
|
|
|
|
LEFT JOIN crosschain.address_labels l ON LOWER(n.mint) = LOWER(l.address)
|
|
|
|
|
LEFT JOIN solana.dim_nft_metadata m ON LOWER(m.mint) = LOWER(l.address)
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 200
|
|
|
|
|
AND instruction:data like '3UjLyJvuY4%'
|
|
|
|
|
AND COALESCE(l.project_name, m.project_name) IN ('degods','stoned ape crew','Astrals','Cets On Creck','DeFi Pirates')
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT tx_id
|
|
|
|
|
, s.mint
|
|
|
|
|
, l.project_name AS lp
|
|
|
|
|
, m.project_name AS mp
|
|
|
|
|
, s.block_timestamp AS sale_date
|
|
|
|
|
, sales_amount AS price
|
|
|
|
|
FROM solana.fact_nft_sales s
|
|
|
|
|
LEFT JOIN crosschain.address_labels l ON LOWER(s.mint) = LOWER(l.address)
|
|
|
|
|
LEFT JOIN solana.dim_nft_metadata m ON LOWER(m.mint) = LOWER(s.mint)
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 200
|
|
|
|
|
AND COALESCE(l.project_name, m.project_name) IN ('degods','stoned ape crew','DeGods','Stoned Ape Crew','Astrals','Cets On Creck','DeFi Pirates')
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
SELECT tx_id
|
|
|
|
|
, n.mint
|
|
|
|
|
, n.mint
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT CAST(token_id AS INT) AS token_id
|
|
|
|
|
, token_metadata:Hat AS Hat
|
|
|
|
|
, token_metadata:Eyes AS Eyes
|
|
|
|
|
, token_metadata:Hair AS Hair
|
|
|
|
|
, token_metadata:Skin AS Skin
|
|
|
|
|
, token_metadata:Type AS Type
|
|
|
|
|
, token_metadata:Cloth AS Cloth
|
|
|
|
|
, token_metadata:Mouth AS Mouth
|
|
|
|
|
, token_metadata:Necklace AS Necklace
|
|
|
|
|
, token_metadata:Specialty AS Background
|
|
|
|
|
, token_metadata:"Attribute Count" AS Attribute_Count
|
|
|
|
|
FROM solana.dim_nft_metadata
|
|
|
|
|
WHERE project_name = 'Aurory'
|
|
|
|
|
ORDER BY CAST(token_id AS INT)
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE tx_id IN (
|
|
|
|
|
'167CF767E6163475F307A6EDC34F37C70B108094A0BE7C8A718C13BFC3213ED1'
|
|
|
|
|
, '9426EFC03348B4EAD11E97792B6CAFC049D2719B28CA49E84E6D627F4D1F74F6'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SELECT MAX(block_timestamp)
|
|
|
|
|
FROM solana.transactions
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 5
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
MAX(block_timestamp) AS n
|
|
|
|
|
, MAX(block_timestamp) AS nn
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 10
|
|
|
|
|
|
|
|
|
|
SELECT to_address
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
WHERE tx_id IN (
|
|
|
|
|
'167CF767E6163475F307A6EDC34F37C70B108094A0BE7C8A718C13BFC3213ED1'
|
|
|
|
|
, '9426EFC03348B4EAD11E97792B6CAFC049D2719B28CA49E84E6D627F4D1F74F6'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE to_address = 'bnb1rv89nkw2x5ksvhf6jtqwqpke4qhh7jmudpvqmj'
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.dim_nft_metadata
|
|
|
|
|
WHERE project_name = 'Aurory'
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
2022-03-21 16:34:42 +00:00
|
|
|
SELECT program_id
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM solana.nfts
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND block_timestamp <= '2022-03-03'
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.transfers
|
|
|
|
|
WHERE block_timestamp >= '2022-03-15'
|
|
|
|
|
AND tx_id = 'YuwerNe5KLLj8RFUj97igYm9icMxuYTHAvgy7C2dPMoebUDPmYQ7rXUrHqPuhkytZTZ74iduokutr6gghUDGZvM'
|
|
|
|
|
|
2022-03-18 00:23:50 +00:00
|
|
|
|
|
|
|
|
SELECT blockchain
|
|
|
|
|
, pool_name
|
|
|
|
|
, from_asset
|
|
|
|
|
, to_asset
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, SUM(to_amount_usd) AS usd
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
GROUP BY 1, 2, 3, 4
|
|
|
|
|
ORDER BY 6 DESC
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
AND pool_name = 'DOGE.DOGE'
|
|
|
|
|
ORDER BY block_timestamp DESC
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM thorchain.swap_events
|
|
|
|
|
WHERE memo like '%/%'
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
2022-03-21 16:34:42 +00:00
|
|
|
SELECT *
|
|
|
|
|
FROM ethereum.nft_events
|
|
|
|
|
|
|
|
|
|
SELECT project_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, SUM(CASE WHEN price_usd >= 1000000 THEN 1000000 ELSE 1000000 END) AS price_usd
|
|
|
|
|
FROM ethereum.nft_events
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND price_usd >= 100
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 3 DESC
|
|
|
|
|
|
2022-04-05 05:25:23 +00:00
|
|
|
SELECT *
|
|
|
|
|
FROM thorchain.block_pool_depths
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.nfts
|
|
|
|
|
WHERE block_timestamp >= '2022-03-20'
|
|
|
|
|
AND tx_id = '4bjynBRfwRJ24vbYZDMVdrhN5GhZqpHDEtXZHSpNny8GzAr6X8NCBBy4g4jeXVCVmPeNbP1evyUDr6LZxhmwc11q'
|
|
|
|
|
|
|
|
|
|
SELECT project_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM solana.nft_metadata
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.transfers
|
|
|
|
|
WHERE block_timestamp >= '2021-12-04'
|
|
|
|
|
AND block_timestamp <= '2021-12-08'
|
|
|
|
|
AND tx_id = '66suFvwSN83rCJ9VXAQXG21fGDYaWfcVbgiHHtfTL2fuLAZri61XuspKHwSPGjRJG7TZpR9dxDqioUSSLaBJB2Ue'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.transfers
|
|
|
|
|
WHERE block_timestamp >= '2022-02-06'
|
|
|
|
|
AND block_timestamp <= '2022-02-10'
|
|
|
|
|
AND source = '2L6j3wZXEByg8jycytabZitDh9VVMhKiMYv7EeJh6R2H'
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.transfers
|
|
|
|
|
WHERE block_timestamp >= '2022-02-06'
|
|
|
|
|
AND block_timestamp <= '2022-02-10'
|
|
|
|
|
AND tx_id = 'BmtiqCyrPMG6tqXdukDQZsCyW1upaWVmjN6FLu62jwj3kiShQacSvCSGLUE3F3YsB8LAopj4yQGs58KjZKZHGAW'
|
|
|
|
|
|
|
|
|
|
SELECT record_content:results[0]:project_name AS project_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, COUNT(1) AS n2
|
|
|
|
|
FROM bronze.prod_nft_metadata_uploads_1828572827
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
, instructions[0]:programId AS programId
|
|
|
|
|
FROM solana.fact_transactions
|
|
|
|
|
WHERE block_timestamp >= '2022-02-24'
|
|
|
|
|
AND block_timestamp <= '2022-02-26'
|
|
|
|
|
AND tx_id IN (
|
|
|
|
|
'5pTUfdXkHfG8WQhThmYW6fkVpp6oheTZRrLYD3mhANJ86XrkV75AQ8HNuj8CasHVrGHXGaep9nsNM4dTaVpYX4AB'
|
|
|
|
|
, '9cUctD4sVARDyYQsV2zrpPuTatPS5aYZZuPehupDkUZLNfdRKP8zBmEqR4FnwdsSMEcV6y7VqJ92ap8vpCm5rfB'
|
|
|
|
|
)
|
|
|
|
|
AND instructions[0]:programId = 'Daovoteq2Y28gJyme6TNUXT9TxXrePiouFuHezkiozci'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
, instructions[0]:programId AS programId
|
|
|
|
|
FROM solana.fact_transactions
|
|
|
|
|
WHERE block_timestamp >= '2022-03-05'
|
|
|
|
|
AND block_timestamp <= '2022-02-01'
|
|
|
|
|
AND tx_id IN (
|
|
|
|
|
'5pTUfdXkHfG8WQhThmYW6fkVpp6oheTZRrLYD3mhANJ86XrkV75AQ8HNuj8CasHVrGHXGaep9nsNM4dTaVpYX4AB'
|
|
|
|
|
, '9cUctD4sVARDyYQsV2zrpPuTatPS5aYZZuPehupDkUZLNfdRKP8zBmEqR4FnwdsSMEcV6y7VqJ92ap8vpCm5rfB'
|
|
|
|
|
)
|
|
|
|
|
AND instructions[0]:programId = 'Daovoteq2Y28gJyme6TNUXT9TxXrePiouFuHezkiozci'
|
|
|
|
|
LIMIT 1000
|
|
|
|
|
|
|
|
|
|
SELECT instructions[0]:accounts[6] AS acct_6
|
|
|
|
|
, instructions[0]:data AS data
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, SUM(LEN(inner_instruction)) AS total_votes
|
|
|
|
|
FROM solana.fact_transactions
|
|
|
|
|
WHERE block_timestamp <= '2022-03-05'
|
|
|
|
|
AND block_timestamp >= '2022-02-15'
|
|
|
|
|
AND instructions[0]:programId = 'Daovoteq2Y28gJyme6TNUXT9TxXrePiouFuHezkiozci'
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT instructions[0]:accounts[6] AS acct_6
|
|
|
|
|
, instructions[0]:data AS data
|
|
|
|
|
, CASE WHEN ARRAY_SIZE(inner_instructions) = 1 THEN '1'
|
|
|
|
|
WHEN ARRAY_SIZE(inner_instructions) <= 3 THEN '2-3'
|
|
|
|
|
WHEN ARRAY_SIZE(inner_instructions) <= 9 THEN '4-9'
|
|
|
|
|
ELSE '10+'
|
|
|
|
|
END AS voting_power
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM solana.fact_transactions
|
|
|
|
|
WHERE block_timestamp <= '2022-03-05'
|
|
|
|
|
AND block_timestamp >= '2022-02-15'
|
|
|
|
|
AND instructions[0]:programId = 'Daovoteq2Y28gJyme6TNUXT9TxXrePiouFuHezkiozci'
|
|
|
|
|
AND succeeded = TRUE
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
, instructions[0]:programId AS programId
|
|
|
|
|
, instructions[0]:accounts[0] AS acct_0
|
|
|
|
|
, instructions[0]:accounts[1] AS acct_1
|
|
|
|
|
, instructions[0]:accounts[2] AS acct_2
|
|
|
|
|
, instructions[0]:accounts[3] AS acct_3
|
|
|
|
|
, instructions[0]:accounts[4] AS acct_4
|
|
|
|
|
, instructions[0]:accounts[5] AS acct_5
|
|
|
|
|
, instructions[0]:accounts[6] AS acct_6
|
|
|
|
|
FROM solana.fact_transactions
|
|
|
|
|
WHERE block_timestamp <= '2022-03-05'
|
|
|
|
|
AND block_timestamp >= '2022-03-02'
|
|
|
|
|
AND instructions[0]:programId = 'Daovoteq2Y28gJyme6TNUXT9TxXrePiouFuHezkiozci'
|
|
|
|
|
LIMIT 1000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, record_content:results[0]:project_name AS project_name
|
|
|
|
|
, record_content:results[0]:token_id AS token_id_0
|
|
|
|
|
, record_content:results[1]:token_id AS token_id_1
|
|
|
|
|
FROM bronze.prod_nft_metadata_uploads_1828572827
|
|
|
|
|
WHERE record_content:model:blockchain = 'solana'
|
|
|
|
|
AND record_content:results[0]:project_name = 'Solana Monkey Business'
|
|
|
|
|
ORDER BY _inserted_timestamp DESC
|
|
|
|
|
LIMIT 10
|
|
|
|
|
)
|
|
|
|
|
SELECT b.*
|
|
|
|
|
, CASE WHEN m0.token_id IS NULL THEN 0 ELSE 1 END AS has_entry_0
|
|
|
|
|
, CASE WHEN m1.token_id IS NULL THEN 0 ELSE 1 END AS has_entry_1
|
|
|
|
|
FROM base b
|
|
|
|
|
LEFT JOIN solana.nft_metadata m0 ON m0.token_id = b.token_id_0
|
|
|
|
|
AND m0.project_name = b.project_name
|
|
|
|
|
LEFT JOIN solana.nft_metadata m1 ON m1.token_id = b.token_id_1
|
|
|
|
|
AND m1.project_name = b.project_name
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM bronze.prod_nft_metadata_uploads_1828572827
|
|
|
|
|
WHERE record_content:model:blockchain = 'solana'
|
|
|
|
|
AND record_content:results[0]:project_name = 'Solana Monkey Business'
|
|
|
|
|
ORDER BY _inserted_timestamp DESC
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT block_timestamp
|
|
|
|
|
FROM thorchain.block_pool_depths
|
|
|
|
|
WHERE block_timestamp
|
|
|
|
|
order by block_timestamp DESC
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
2022-03-21 16:34:42 +00:00
|
|
|
|
|
|
|
|
SELECT contract_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM ethereum.nft_metadata
|
|
|
|
|
WHERE contract_name IN ('MutantApeYachtClub','bayc')
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
2022-03-22 20:27:08 +00:00
|
|
|
SELECT *
|
|
|
|
|
FROM ethereum.nft_metadata
|
|
|
|
|
WHERE contract_name IN ('MutantApeYachtClub','bayc')
|
|
|
|
|
LIMIT 10000
|
|
|
|
|
|
2022-03-21 16:34:42 +00:00
|
|
|
SELECT contract_name
|
|
|
|
|
, token_id
|
|
|
|
|
, token_metadata:Background AS background
|
|
|
|
|
, token_metadata:Clothes AS clother
|
|
|
|
|
, token_metadata:Earring AS earring
|
|
|
|
|
, token_metadata:Eyes AS eyes
|
|
|
|
|
, token_metadata:Fur AS fur
|
|
|
|
|
, token_metadata:Hat AS hat
|
|
|
|
|
, token_metadata:Mouth AS mouth
|
|
|
|
|
FROM ethereum.nft_metadata
|
|
|
|
|
WHERE contract_name IN ('MutantApeYachtClub','bayc')
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
SELECT pretokenbalances[0]:mint AS pre_mint_0
|
|
|
|
|
, pretokenbalances[1]:mint AS pre_mint_1
|
|
|
|
|
, posttokenbalances[0]:mint AS pos_mint_0
|
|
|
|
|
, posttokenbalances[1]:mint AS pos_mint_1
|
|
|
|
|
, CASE WHEN NOT COALESCE(pre_mint_0, '') IN ('', 'So11111111111111111111111111111111111111112') THEN pre_mint_0
|
|
|
|
|
WHEN NOT COALESCE(pre_mint_1, '') IN ('', 'So11111111111111111111111111111111111111112') THEN pre_mint_1
|
|
|
|
|
WHEN NOT COALESCE(pos_mint_0, '') IN ('', 'So11111111111111111111111111111111111111112') THEN pos_mint_0
|
|
|
|
|
ELSE pos_mint_1 END
|
|
|
|
|
AS clean_mint
|
|
|
|
|
, n.*
|
|
|
|
|
, inner_instruction:instructions[1]:parsed:info:amount AS amount
|
|
|
|
|
FROM solana.nfts n
|
|
|
|
|
WHERE block_timestamp >= '2022-03-14'
|
|
|
|
|
AND program_id = 'J7RagMKwSD5zJSbRQZU56ypHUtux8LRDkUpAPSKH4WPp'
|
|
|
|
|
LIMIT 10000
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.nfts
|
|
|
|
|
WHERE block_timestamp >= '2022-03-17'
|
|
|
|
|
AND tx_id = 'TxYhxw8KHyQsvUSSQascYWBdUFbzYSZcVHXFyex3npNRh5ib4mHoTJk6vxH2Eo7zSyZ71KFrvnpHRDNry3AASDN'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
"index": 4,
|
|
|
|
|
"instructions": [
|
|
|
|
|
{
|
|
|
|
|
"parsed": {
|
|
|
|
|
"info": {
|
|
|
|
|
"amount": "0",
|
|
|
|
|
"authority": "8LXpW8fPk757j5zMGnkLYFaPP46MrmtnG5H8W3LcsbNh",
|
|
|
|
|
"destination": "AFf394pRN13JYGQYQ7pRQFHn4keGf5XXYpbASzqxpN2H",
|
|
|
|
|
"source": "2S9uN7rZc2ztzipex5rt76nsm9G8vKuz3nZ4GZWekZFA"
|
|
|
|
|
},
|
|
|
|
|
"type": "transfer"
|
|
|
|
|
},
|
|
|
|
|
"program": "spl-token",
|
|
|
|
|
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"parsed": {
|
|
|
|
|
"info": {
|
|
|
|
|
"amount": "9479999999",
|
|
|
|
|
"authority": "8LXpW8fPk757j5zMGnkLYFaPP46MrmtnG5H8W3LcsbNh",
|
|
|
|
|
"destination": "3BjpoZic969Wh8dvgYApuCKL3v5nzgpLAekvumD44qZJ",
|
|
|
|
|
"source": "2S9uN7rZc2ztzipex5rt76nsm9G8vKuz3nZ4GZWekZFA"
|
|
|
|
|
},
|
|
|
|
|
"type": "transfer"
|
|
|
|
|
},
|
|
|
|
|
"program": "spl-token",
|
|
|
|
|
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"parsed": {
|
|
|
|
|
"info": {
|
|
|
|
|
"amount": "1",
|
|
|
|
|
"authority": "7Ppgch9d4XRAygVNJP4bDkc7V6htYXGfghX4zzG9r4cH",
|
|
|
|
|
"destination": "3B2aKxDj4DH7Mo7R4Twdwvi6FLe7uDkX28FFHEv8UQoT",
|
|
|
|
|
"source": "9yj8ZUM1ji2xTwePnHakrGW4gUsiswzvo27orp7v96JW"
|
|
|
|
|
},
|
|
|
|
|
"type": "transfer"
|
|
|
|
|
},
|
|
|
|
|
"program": "spl-token",
|
|
|
|
|
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"parsed": {
|
|
|
|
|
"info": {
|
|
|
|
|
"account": "2S9uN7rZc2ztzipex5rt76nsm9G8vKuz3nZ4GZWekZFA",
|
|
|
|
|
"destination": "ExHjH7nZufPmsbTZc1n9R1iWMGJPDaJTeDv3PA75iunH",
|
|
|
|
|
"owner": "8LXpW8fPk757j5zMGnkLYFaPP46MrmtnG5H8W3LcsbNh"
|
|
|
|
|
},
|
|
|
|
|
"type": "closeAccount"
|
|
|
|
|
},
|
|
|
|
|
"program": "spl-token",
|
|
|
|
|
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"parsed": {
|
|
|
|
|
"info": {
|
|
|
|
|
"account": "9yj8ZUM1ji2xTwePnHakrGW4gUsiswzvo27orp7v96JW",
|
|
|
|
|
"authority": "7Ppgch9d4XRAygVNJP4bDkc7V6htYXGfghX4zzG9r4cH",
|
|
|
|
|
"authorityType": "accountOwner",
|
|
|
|
|
"newAuthority": "ExHjH7nZufPmsbTZc1n9R1iWMGJPDaJTeDv3PA75iunH"
|
|
|
|
|
},
|
|
|
|
|
"type": "setAuthority"
|
|
|
|
|
},
|
|
|
|
|
"program": "spl-token",
|
|
|
|
|
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT pretokenbalances[0]:mint AS pre_mint_0
|
|
|
|
|
, pretokenbalances[1]:mint AS pre_mint_1
|
|
|
|
|
, posttokenbalances[0]:mint AS pos_mint_0
|
|
|
|
|
, posttokenbalances[1]:mint AS pos_mint_1
|
|
|
|
|
, CASE WHEN NOT COALESCE(pre_mint_0, '') IN ('', 'So11111111111111111111111111111111111111112') THEN pre_mint_0
|
|
|
|
|
WHEN NOT COALESCE(pre_mint_1, '') IN ('', 'So11111111111111111111111111111111111111112') THEN pre_mint_1
|
|
|
|
|
WHEN NOT COALESCE(pos_mint_0, '') IN ('', 'So11111111111111111111111111111111111111112') THEN pos_mint_0
|
|
|
|
|
ELSE pos_mint_1 END
|
|
|
|
|
AS clean_mint
|
|
|
|
|
, n.*
|
|
|
|
|
, inner_instruction:instructions[1]:parsed:info:amount AS amount
|
|
|
|
|
FROM solana.nfts n
|
|
|
|
|
WHERE block_timestamp >= '2022-03-14'
|
|
|
|
|
AND program_id = 'J7RagMKwSD5zJSbRQZU56ypHUtux8LRDkUpAPSKH4WPp'
|
|
|
|
|
LIMIT 10000
|
|
|
|
|
), cleaned AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, REPLACE(b.clean_mint, '"', '') AS clean_mint_2
|
|
|
|
|
FROM base b
|
|
|
|
|
)
|
|
|
|
|
SELECT m.token_id
|
|
|
|
|
, b.*
|
|
|
|
|
FROM cleaned b
|
|
|
|
|
JOIN solana.nft_metadata m ON m.mint = clean_mint_2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.nft_metadata
|
|
|
|
|
WHERE mint = '98ofVuvQr1RiFKkZuehpgUJSkz9LUDqGEef4rvmXpfD7'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT project_name
|
|
|
|
|
, token_id
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, price
|
|
|
|
|
FROM ethereum.nft_events
|
|
|
|
|
WHERE project_name IN (
|
|
|
|
|
'BoredApeYachtClub'
|
|
|
|
|
, 'MutantApeYachtClub'
|
|
|
|
|
, 'BoredApeKennelClub'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SELECT block_timestamp::date AS date
|
|
|
|
|
, to_asset
|
|
|
|
|
, pool_name
|
|
|
|
|
, CASE WHEN memo like '%/%' THEN 1 ELSE 0 END AS is_synth
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM thorchain.swap_events
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
GROUP BY 1, 2, 3, 4
|
|
|
|
|
ORDER BY 5 DESC
|
|
|
|
|
|
|
|
|
|
SELECT block_timestamp::date AS date
|
|
|
|
|
, CASE WHEN from_asset LIKE '%/%' OR to_asset LIKE '%/%' THEN 1 ELSE 0 END AS is_synth
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
ORDER BY 1, 2
|
|
|
|
|
|
|
|
|
|
SELECT contract_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM ethereum.nft_metadata
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM ethereum.nft_metadata
|
|
|
|
|
WHERE contract_name IN ('MutantApeYachtClub','bayc')
|
|
|
|
|
ORDER BY contract_name, token_id
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT project_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM solana.nft_metadata
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM solana.nft_metadata
|
|
|
|
|
WHERE project_name = 'Solana Monkey Business'
|
|
|
|
|
LIMIT 10000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT block_timestamp::date AS date
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM solana.nfts
|
|
|
|
|
WHERE block_timestamp >= '2022-03-14'
|
|
|
|
|
AND program_id = 'J7RagMKwSD5zJSbRQZU56ypHUtux8LRDkUpAPSKH4WPp'
|
|
|
|
|
AND inner_instruction:instructions[1]:parsed:info:amount IS NOT NULL
|
|
|
|
|
|
|
|
|
|
SELECT m.token_id
|
|
|
|
|
, pretoken_balance[1]:mint AS pre_mint_1
|
|
|
|
|
, n.*
|
|
|
|
|
, inner_instruction:instructions[1]:parsed:info:amount AS amount
|
|
|
|
|
FROM solana.nfts n
|
|
|
|
|
JOIN solana.nft_metadata m ON m.mint = n.mint
|
|
|
|
|
WHERE block_timestamp >= '2022-03-14'
|
|
|
|
|
AND program_id = 'J7RagMKwSD5zJSbRQZU56ypHUtux8LRDkUpAPSKH4WPp'
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
FROM solana.nfts
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM thorchain.swaps
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
|
|
|
|
|
2022-03-18 00:23:50 +00:00
|
|
|
SELECT from_asset
|
|
|
|
|
, to_asset
|
|
|
|
|
, pool_name
|
|
|
|
|
, CASE WHEN memo like '%/%' THEN 1 ELSE 0 END AS is_synth
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM thorchain.swap_events
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
ORDER BY 4 DESC
|
|
|
|
|
|
2022-03-21 16:34:42 +00:00
|
|
|
cp -R props props-protocol find props \( -path "*/.git/*" -or -name ".git" \) -delete
|
|
|
|
|
|
|
|
|
|
And given t he quickly changing nature of such technology, most sources of traditional analytics
|
|
|
|
|
are often caught playing "catch-up" rather than innovating.
|
2022-03-18 00:23:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT pool
|
|
|
|
|
, from_asset
|
|
|
|
|
, to_asset
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM thorchain_midgard_public
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 3
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
ORDER BY 4 DESC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE log_id = '0xbfecf5e4d8e159c54103a0e7d8c21b27503be89e2048c02fabfb9cfa18e69f5b'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT block_timestamp::date AS date
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM algorand.transactions
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
WHERE hero_id = 107255
|
|
|
|
|
ORDER BY block_timestamp
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT hero_id
|
|
|
|
|
, summoning_info_summonerid
|
|
|
|
|
, summoning_info_assistantid
|
|
|
|
|
, hero_info_class
|
|
|
|
|
, hero_info_subclass
|
|
|
|
|
, hero_stats_strength
|
|
|
|
|
, hero_stats_intelligence
|
|
|
|
|
, hero_stats_wisdom
|
|
|
|
|
, hero_stats_luck
|
|
|
|
|
, hero_stats_agility
|
|
|
|
|
, hero_stats_vitality
|
|
|
|
|
, hero_stats_endurance
|
|
|
|
|
, hero_stats_dexterity
|
|
|
|
|
, hero_stats_hp
|
|
|
|
|
, hero_stats_mp
|
|
|
|
|
, hero_stats_stamina
|
|
|
|
|
, hero_primary_stat_growth_strength
|
|
|
|
|
, hero_primary_stat_growth_intelligence
|
|
|
|
|
, hero_primary_stat_growth_wisdom
|
|
|
|
|
, hero_primary_stat_growth_luck
|
|
|
|
|
, hero_primary_stat_growth_agility
|
|
|
|
|
, hero_primary_stat_growth_vitality
|
|
|
|
|
, hero_primary_stat_growth_endurance
|
|
|
|
|
, hero_primary_stat_growth_dexterity
|
|
|
|
|
, hero_primary_stat_growth_hpsm
|
|
|
|
|
, hero_primary_stat_growth_hprg
|
|
|
|
|
, hero_primary_stat_growth_hplg
|
|
|
|
|
, hero_primary_stat_growth_mpsm
|
|
|
|
|
, hero_primary_stat_growth_mprg
|
|
|
|
|
, hero_primary_stat_growth_mplg
|
|
|
|
|
, hero_secondary_stat_growth_strength
|
|
|
|
|
, hero_secondary_stat_growth_intelligence
|
|
|
|
|
, hero_secondary_stat_growth_wisdom
|
|
|
|
|
, hero_secondary_stat_growth_luck
|
|
|
|
|
, hero_secondary_stat_growth_agility
|
|
|
|
|
, hero_secondary_stat_growth_vitality
|
|
|
|
|
, hero_secondary_stat_growth_endurance
|
|
|
|
|
, hero_secondary_stat_growth_dexterity
|
|
|
|
|
, hero_secondary_stat_growth_hpsm
|
|
|
|
|
, hero_secondary_stat_growth_hprg
|
|
|
|
|
, hero_secondary_stat_growth_hplg
|
|
|
|
|
, hero_secondary_stat_growth_mpsm
|
|
|
|
|
, hero_secondary_stat_growth_mprg
|
|
|
|
|
, hero_secondary_stat_growth_mplg
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY hero_id ORDER BY block_timestamp) AS rn
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
), base2 AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
)
|
|
|
|
|
SELECT b
|
|
|
|
|
FROM base2
|
|
|
|
|
|
|
|
|
|
Boaz Barak - CS 127 course about cryptography (you can talk about how you've bee working for a crypto company)
|
|
|
|
|
Finale Doshi-Velez - CS 181 course about machine learning
|
|
|
|
|
David Parkes - CS 181 course about machine learning
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE tx_hash = '0x3964399cdcb7f2de11a9da39a3d812fa4b9a88070caaa97d5d1ec5242d2f8d4b'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0xc855dea300000000000000000000000000000000000000000000000000000000000000600000000000000000000000006ff019415ee105acf2ac52483a33f5b43eadb8d000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000cc3c000000000000000000000000000000000000000000000000000000000000be8000000000000000000000000000000000000000000000000000000000000190b80000000000000000000000000000000000000000000000000000000000017df60000000000000000000000000000000000000000000000000000000000003158000000000000000000000000000000000000000000000000000000000001777d
|
|
|
|
|
0xf51333f50000000000000000000000000000000000000000000000000000000000000080000000000000000000000000e4154b6e5d240507f9699c730a496790a722df19000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001a2f7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
|
|
|
0xc855dea30000000000000000000000000000000000000000000000000000000000000060000000000000000000000000e259e8386d38467f0e7ffedb69c3c9c935dfaefc000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000018345000000000000000000000000000000000000000000000000000000000000dada00000000000000000000000000000000000000000000000000000000000181f50000000000000000000000000000000000000000000000000000000000016280000000000000000000000000000000000000000000000000000000000000dbb0
|
|
|
|
|
0xc855dea300000000000000000000000000000000000000000000000000000000000000600000000000000000000000003132c76acf2217646fb8391918d28a16bd8a8ef4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000018201000000000000000000000000000000000000000000000000000000000001663d000000000000000000000000000000000000000000000000000000000001a6e2
|
|
|
|
|
1: 0xf51333f50000000000000000000000000000000000000000000000000000000000000080000000000000000000000000e4154b6e5d240507f9699c730a496790a722df19000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001a2f7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
|
|
|
2: 0xc855dea300000000000000000000000000000000000000000000000000000000000000600000000000000000000000003132c76acf2217646fb8391918d28a16bd8a8ef4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000018201000000000000000000000000000000000000000000000000000000000001663d000000000000000000000000000000000000000000000000000000000001a6e2
|
|
|
|
|
3: 0xc855dea300000000000000000000000000000000000000000000000000000000000000600000000000000000000000003132c76acf2217646fb8391918d28a16bd8a8ef400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000001fbff00000000000000000000000000000000000000000000000000000000000233cc0000000000000000000000000000000000000000000000000000000000022d29000000000000000000000000000000000000000000000000000000000001c486
|
|
|
|
|
|
|
|
|
|
-- DFK level ups
|
|
|
|
|
SELECT log_id
|
|
|
|
|
, hero_id
|
|
|
|
|
, MIN(hero_state_level) AS mn_level
|
|
|
|
|
, MAX(hero_state_level) AS mx_level
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
WHERE block_timestamp >= '2022-03-08'
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING mn_level < mx_level
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.logs
|
|
|
|
|
WHERE tx_hash = '0x191f7317aedeef0ec87c3cb5834a798197deca7ab8885ace43bfb0ffbe7b744d'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT RIGHT(LEFT(data, 10 + (64 * 2)), 2) AS s1
|
|
|
|
|
, RIGHT(LEFT(data, 10 + (64 * 3)), 2) AS s2
|
|
|
|
|
, RIGHT(LEFT(data, 10 + (64 * 4)), 2) AS s3
|
|
|
|
|
, *
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
AND native_to_address = 'one1qk2ds6efyvrk5gckat4yu89zsmd2zskpwyytuq'
|
|
|
|
|
AND data like '0xfa863736%'
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT RIGHT(LEFT(data, 10 + (64 * 2)), 2) AS s1
|
|
|
|
|
, CASE WHEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) < RIGHT(LEFT(data, 10 + (64 * 4)), 2) THEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) ELSE RIGHT(LEFT(data, 10 + (64 * 4)), 2) END AS s2
|
|
|
|
|
, CASE WHEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) > RIGHT(LEFT(data, 10 + (64 * 4)), 2) THEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) ELSE RIGHT(LEFT(data, 10 + (64 * 4)), 2) END AS s3
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
AND native_to_address = 'one1qk2ds6efyvrk5gckat4yu89zsmd2zskpwyytuq'
|
|
|
|
|
AND data like '0xfa863736%'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
ORDER BY 1, 2, 3
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT tx_hash
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, RIGHT(LEFT(data, 10 + 64), 64) AS hero_hash
|
|
|
|
|
, RIGHT(LEFT(data, 10 + (64 * 2)), 2) AS s1
|
|
|
|
|
, CASE WHEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) < RIGHT(LEFT(data, 10 + (64 * 4)), 2) THEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) ELSE RIGHT(LEFT(data, 10 + (64 * 4)), 2) END AS s2
|
|
|
|
|
, CASE WHEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) > RIGHT(LEFT(data, 10 + (64 * 4)), 2) THEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) ELSE RIGHT(LEFT(data, 10 + (64 * 4)), 2) END AS s3
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
AND native_to_address = 'one1qk2ds6efyvrk5gckat4yu89zsmd2zskpwyytuq'
|
|
|
|
|
AND data like '0xfa863736%'
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY hero_id ORDER BY block_timestamp DESC) AS rn
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
And heal the earth which the angels have defiled, and announce the healing of the earth that I will heal it, and that not all the sons of men shall be destroyed through the mystery of all the things which the watchers have spoken and have taught their sons.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT hero_state_level
|
|
|
|
|
, MAX(CAST hero_state_xp AS INT)
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT hero_state_level
|
|
|
|
|
, hero_state_xp
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
HAVING COUNT(1) > 10
|
|
|
|
|
)
|
|
|
|
|
SELECT hero_state_level
|
|
|
|
|
, MAX(hero_state_xp)
|
|
|
|
|
FROM base
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
WITH start_meditation AS (
|
|
|
|
|
SELECT tx_hash
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, RIGHT(LEFT(data, 10 + 64), 64) AS hero_hash
|
|
|
|
|
, RIGHT(LEFT(data, 10 + (64 * 2)), 2) AS s1
|
|
|
|
|
, CASE WHEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) < RIGHT(LEFT(data, 10 + (64 * 4)), 2) THEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) ELSE RIGHT(LEFT(data, 10 + (64 * 4)), 2) END AS s2
|
|
|
|
|
, CASE WHEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) > RIGHT(LEFT(data, 10 + (64 * 4)), 2) THEN RIGHT(LEFT(data, 10 + (64 * 3)), 2) ELSE RIGHT(LEFT(data, 10 + (64 * 4)), 2) END AS s3
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
AND native_to_address = 'one1qk2ds6efyvrk5gckat4yu89zsmd2zskpwyytuq'
|
|
|
|
|
AND data like '0xfa863736%'
|
|
|
|
|
), end_meditation AS (
|
|
|
|
|
SELECT tx_hash
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, RIGHT(LEFT(data, 10 + 64), 64) AS hero_hash
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
AND native_to_address = 'one1qk2ds6efyvrk5gckat4yu89zsmd2zskpwyytuq'
|
|
|
|
|
AND data like '0x756fcd69%'
|
|
|
|
|
)
|
|
|
|
|
SELECT s.*
|
|
|
|
|
, e.tx_hash AS end_hash
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY s.tx_hash ORDER BY s.block_timestamp DESC, e.block_timestamp) AS rn
|
|
|
|
|
FROM start_meditation s
|
|
|
|
|
JOIN end_meditation e ON e.hero_hash = s.hero_hash
|
|
|
|
|
AND e.block_timestamp > s.block_timestamp
|
|
|
|
|
AND DATEADD(hours, 24, s.block_timestamp) < e.block_timestamp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
WHERE block_timestamp >= '2022-03-09'
|
|
|
|
|
AND log_id like '0x9948be24eedafdf7185969524578f292faf6c642fc37d3a0b55c1582d650e607%'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT b.log_id
|
|
|
|
|
, a.block_timestamp
|
|
|
|
|
, b.block_timestamp
|
|
|
|
|
, a.hero_state_level AS old_level
|
|
|
|
|
, a.hero_stats_strength AS str_base
|
|
|
|
|
, a.hero_stats_intelligence AS int_base
|
|
|
|
|
, a.hero_stats_wisdom AS wis_base
|
|
|
|
|
, a.hero_stats_luck AS lck_base
|
|
|
|
|
, a.hero_stats_agility AS agi_base
|
|
|
|
|
, a.hero_stats_vitality AS vit_base
|
|
|
|
|
, a.hero_stats_endurance AS end_base
|
|
|
|
|
, a.hero_stats_hp AS hp_base
|
|
|
|
|
, a.hero_stats_mp AS mp_base
|
|
|
|
|
, a.hero_stats_stamina AS stam_base
|
|
|
|
|
, b.hero_stats_strength - a.hero_stats_strength AS str_inc
|
|
|
|
|
, b.hero_stats_intelligence - a.hero_stats_intelligence AS int_inc
|
|
|
|
|
, b.hero_stats_wisdom - a.hero_stats_wisdom AS wis_inc
|
|
|
|
|
, b.hero_stats_luck - a.hero_stats_luck AS lck_inc
|
|
|
|
|
, b.hero_stats_agility - a.hero_stats_agility AS agi_inc
|
|
|
|
|
, b.hero_stats_vitality - a.hero_stats_vitality AS vit_inc
|
|
|
|
|
, b.hero_stats_endurance - a.hero_stats_endurance AS end_inc
|
|
|
|
|
, b.hero_stats_dexterity - a.hero_stats_dexterity AS dex_inc
|
|
|
|
|
, b.hero_stats_hp - a.hero_stats_hp AS hp_inc
|
|
|
|
|
, b.hero_stats_mp - a.hero_stats_mp AS mp_inc
|
|
|
|
|
, b.hero_stats_stamina - a.hero_stats_stamina AS stam_inc
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY a.hero_id ORDER BY a.block_timestamp DESC, b.block_timestamp) AS rn
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates a
|
|
|
|
|
JOIN mdao_harmony.dfk_hero_updates b ON a.hero_id = b.hero_id
|
|
|
|
|
AND a.hero_state_level = b.hero_state_level - 1
|
|
|
|
|
AND a.block_timestamp < b.block_timestamp
|
|
|
|
|
AND DATEADD(hours, 24, a.block_timestamp) > b.block_timestamp
|
|
|
|
|
WHERE a.block_timestamp >= '2022-03-01'
|
|
|
|
|
AND a.hero_id = 107255
|
|
|
|
|
ORDER BY b.block_timestamp
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select log_id
|
|
|
|
|
, tx_hash
|
|
|
|
|
, topics[1] as quest_id
|
|
|
|
|
from mdao_harmony.logs
|
|
|
|
|
WHERE quest_id IN (
|
|
|
|
|
'0x00000000000000000000000000000000000000000000000000000000008d04c8'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-02-20'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
AND tx_hash = '0x02d562dc33d8b92744aa73a685bc1938e324a8368a5977a1b9983a764d72e11d'
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE tx_hash = '0x2e929a6fc7326547eb0fd0cb52dd9bbe70f59229afa919ec9d48bed72bfc8903'
|
|
|
|
|
|
|
|
|
|
WITH q AS (
|
|
|
|
|
SELECT DISTINCT tx_hash
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
), base AS (
|
|
|
|
|
SELECT hero_id
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, MIN(hero_state_level) AS level
|
|
|
|
|
, MIN(CAST(hero_professions_mining AS INT)) AS mn_mining
|
|
|
|
|
, MIN(CAST(hero_professions_gardening AS INT)) AS mn_gardening
|
|
|
|
|
, MIN(CAST(hero_professions_foraging AS INT)) AS mn_foraging
|
|
|
|
|
, MIN(CAST(hero_professions_fishing AS INT)) AS mn_fishing
|
|
|
|
|
, MAX(CAST(hero_professions_mining AS INT)) AS mx_mining
|
|
|
|
|
, MAX(CAST(hero_professions_gardening AS INT)) AS mx_gardening
|
|
|
|
|
, MAX(CAST(hero_professions_foraging AS INT)) AS mx_foraging
|
|
|
|
|
, MAX(CAST(hero_professions_fishing AS INT)) AS mx_fishing
|
|
|
|
|
, MIN(CAST(hero_state_xp AS INT)) AS mn_xp
|
|
|
|
|
, MAX(CAST(hero_state_xp AS INT)) AS mx_xp
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates u
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
)
|
|
|
|
|
SELECT b.*
|
|
|
|
|
, mx_xp - mn_xp AS xp_increase
|
|
|
|
|
, mx_fishing - mn_fishing AS fishing_increase
|
|
|
|
|
, mx_foraging - mn_foraging AS foraging_increase
|
|
|
|
|
, mx_gardening - mn_gardening AS gardening_increase
|
|
|
|
|
, mx_mining - mn_mining AS mining_increase
|
|
|
|
|
, CASE WHEN q.tx_hash IS NULL THEN 0 ELSE 1 END AS is_quest
|
|
|
|
|
FROM base b
|
|
|
|
|
LEFT JOIN q ON q.tx_hash = b.tx_hash
|
|
|
|
|
ORDER BY hero_id, block_timestamp
|
|
|
|
|
LIMIT 1000
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
select try_base64_decode_string(tx_message:txn:apaa[0]::string) as code
|
|
|
|
|
, block_timestamp::date
|
|
|
|
|
, tx_group_id
|
|
|
|
|
, app_id
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY app_id ORDER BY block_timestamp DESC) AS rn
|
2022-04-05 05:25:23 +00:00
|
|
|
from "flipside_dev_db"."ALGORAND"."APPLICATION_CALL_TRANSACTION"
|
2022-03-18 00:23:50 +00:00
|
|
|
where 1=1
|
|
|
|
|
AND block_timestamp IS NOT NULL
|
|
|
|
|
and code in ('sef','sfe')
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM base
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
SELECT CASE WHEN block_timestamp IS NULL THEN 1 ELSE 0 END AS timstamp_is_null
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
, MAX(block_timestamp) AS mx
|
|
|
|
|
FROM algorand.application_call_transaction
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select max(block_timestamp)
|
|
|
|
|
from algorand.transactions
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
|
|
|
|
|
PactFi
|
|
|
|
|
PLXdumWjHCE6caDGNvwauHJChxFg7VJtZpC2uBqq8cU=
|
|
|
|
|
|
|
|
|
|
AlgoFi
|
|
|
|
|
yHcHFpy31C9CHHGm815PR4qRNL4STsJq4RElnEoDLjo=
|
|
|
|
|
LP
|
|
|
|
|
1iDBw/P9/SzpLnQI2eCUGYTaBlNsIousWSPQjEYaNdU=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
|
tx_group_id
|
|
|
|
|
, try_base64_decode_string(tx_message:txn:note::string) AS code
|
|
|
|
|
, tx_message:txn:note::string AS note
|
|
|
|
|
, try_base64_decode_string(tx_message:txn:apaa[0]::string) AS code2
|
|
|
|
|
, (tx_message:txn:apaa[0]::string) AS apaa
|
|
|
|
|
, *
|
|
|
|
|
FROM algorand.application_call_transaction
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
-- AND tx_group_id = 'PtUbYJnOE0+DTd+94YvepmCNub5NB6/vsjjP3ez6iYE='
|
|
|
|
|
AND code2 = 'ADDLIQ'
|
|
|
|
|
ORDER BY block_timestamp DESC
|
|
|
|
|
LIMIT 1000
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND tx_hash = '0xeb43a66ee8c281bb9ee5b491e9e2036eeeaa8584e06727a8e69ab4e94b384f71'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0xc855dea30000000000000000000000000000000000000000000000000000000000000060000000000000000000000000569e6a4c2e3af31b337be00657b4c040c828dd7300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001e9f8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM algorand.application_call_transaction
|
|
|
|
|
WHERE block_timestamp >= '2022-03-04'
|
|
|
|
|
AND try_base64_decode_string(tx_message:txn:apaa[0]::string) = 'rpa1r'
|
|
|
|
|
ORDER BY block_timestamp DESC
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select *
|
|
|
|
|
from algorand.transactions
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND try_base64_decode_string(tx_message:txn:apaa[0]::string) = 'swap'
|
|
|
|
|
AND tx_group_id = 'WfFULCOGyZUavqEyoT9CPidQuZQsxCCV3YsWy6MEjh0='
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
WITH a AS (
|
|
|
|
|
SELECT 'Gold' AS token
|
|
|
|
|
, price
|
|
|
|
|
, ROW_NUMBER() OVER (ORDER BY timestamp DESC) AS rn
|
|
|
|
|
FROM mdao_harmony.tokenprice_dfkgold
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT 'GaiasTears' AS token
|
|
|
|
|
, price
|
|
|
|
|
, ROW_NUMBER() OVER (ORDER BY timestamp DESC) AS rn
|
|
|
|
|
FROM mdao_harmony.tokenprice_gaiatear
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT 'Jewel' AS token
|
|
|
|
|
, price
|
|
|
|
|
, ROW_NUMBER() OVER (ORDER BY timestamp DESC) AS rn
|
|
|
|
|
FROM mdao_harmony.tokenprice_jewel
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM a
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH name_map AS (
|
|
|
|
|
SELECT token_name
|
|
|
|
|
,evm_contract_address
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp >= CURRENT_DATE - 14
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
)
|
|
|
|
|
SELECT n.*, g.gold
|
|
|
|
|
FROM name_map n
|
|
|
|
|
LEFT JOIN mdao_harmony.dfk_item_to_gold g ON g.contract_address = n.evm_contract_address
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH q AS (
|
|
|
|
|
SELECT DISTINCT tx_hash
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
), base AS (
|
|
|
|
|
SELECT hero_id
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, MIN(hero_state_level) AS level
|
|
|
|
|
, MIN(CAST(hero_professions_mining AS INT)) AS mn_mining
|
|
|
|
|
, MIN(CAST(hero_professions_gardening AS INT)) AS mn_gardening
|
|
|
|
|
, MIN(CAST(hero_professions_foraging AS INT)) AS mn_foraging
|
|
|
|
|
, MIN(CAST(hero_professions_fishing AS INT)) AS mn_fishing
|
|
|
|
|
, MAX(CAST(hero_professions_mining AS INT)) AS mx_mining
|
|
|
|
|
, MAX(CAST(hero_professions_gardening AS INT)) AS mx_gardening
|
|
|
|
|
, MAX(CAST(hero_professions_foraging AS INT)) AS mx_foraging
|
|
|
|
|
, MAX(CAST(hero_professions_fishing AS INT)) AS mx_fishing
|
|
|
|
|
, MIN(CAST(hero_state_xp AS INT)) AS mn_xp
|
|
|
|
|
, MAX(CAST(hero_state_xp AS INT)) AS mx_xp
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates u
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
)
|
|
|
|
|
SELECT b.*
|
|
|
|
|
, mx_xp - mn_xp AS xp_increase
|
|
|
|
|
, mx_fishing - mn_fishing AS fishing_increase
|
|
|
|
|
, mx_foraging - mn_foraging AS foraging_increase
|
|
|
|
|
, mx_gardening - mn_gardening AS gardening_increase
|
|
|
|
|
, mx_mining - mn_mining AS mining_increase
|
|
|
|
|
, CASE WHEN q.tx_hash IS NULL THEN 0 ELSE 1 END AS is_quest
|
|
|
|
|
FROM base b
|
|
|
|
|
LEFT JOIN q ON q.tx_hash = b.tx_hash
|
|
|
|
|
ORDER BY hero_id, block_timestamp
|
|
|
|
|
LIMIT 1000
|
|
|
|
|
|
|
|
|
|
-- start gold mining
|
|
|
|
|
0x6033a41dcaf1852643db637cca601c1f55ee619331199e2bb01c5e8511623207
|
|
|
|
|
0x760500da5f7f137bd9bfc0a705a0230aab4e08ec000ee4fecc5d763e4ff4fc96
|
|
|
|
|
0x1fba20b42053972f77adee2415dc79d8484608c3b1cc82dc16f072d4fd423a99
|
|
|
|
|
|
|
|
|
|
-- gardening
|
|
|
|
|
0x39ef89ac1fb677c1fdeb1a55bc692d5e8a9a467633597ef06b096caebbf5a5c3
|
|
|
|
|
0xf51333f50000000000000000000000000000000000000000000000000000000000000080000000000000000000000000e4154b6e5d240507f9699c730a496790a722df19000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001a2f7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
|
|
|
0xf51333f50000000000000000000000000000000000000000000000000000000000000080000000000000000000000000e4154b6e5d240507f9699c730a496790a722df19000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001a2f7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
|
|
|
0xf51333f50000000000000000000000000000000000000000000000000000000000000080000000000000000000000000e4154b6e5d240507f9699c730a496790a722df19000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001a2f7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-05'
|
|
|
|
|
AND tx_hash IN (
|
|
|
|
|
'0x6033a41dcaf1852643db637cca601c1f55ee619331199e2bb01c5e8511623207'
|
|
|
|
|
, '0x760500da5f7f137bd9bfc0a705a0230aab4e08ec000ee4fecc5d763e4ff4fc96'
|
|
|
|
|
, '0x1fba20b42053972f77adee2415dc79d8484608c3b1cc82dc16f072d4fd423a99'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
0xc855dea300000000000000000000000000000000000000000000000000000000000000600000000000000000000000006ff019415ee105acf2ac52483a33f5b43eadb8d000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000b8c3000000000000000000000000000000000000000000000000000000000000e1b0000000000000000000000000000000000000000000000000000000000001109d000000000000000000000000000000000000000000000000000000000000ec6f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT token_name
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
ORDER BY 2 DESC
|
|
|
|
|
|
|
|
|
|
-- start quest
|
|
|
|
|
WITH s AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, CASE
|
|
|
|
|
WHEN data like '%569e6a4c2e3af31b337be00657b4c040c828dd73%' THEN 'Mining'
|
|
|
|
|
WHEN data like '%e259e8386d38467f0e7ffedb69c3c9c935dfaefc%' THEN 'Fishing'
|
|
|
|
|
WHEN data like '%3132c76acf2217646fb8391918d28a16bd8a8ef4%' THEN 'Foraging'
|
|
|
|
|
WHEN data like '%e4154b6e5d240507f9699c730a496790a722df19%' THEN 'Gardening'
|
|
|
|
|
ELSE 'Other'
|
|
|
|
|
END AS quest_type
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND native_from_address = 'one1r2kkl9unhvhd2rmacd304u48rt7u2zrkquazn7'
|
|
|
|
|
AND data like '0xc855dea3%'
|
|
|
|
|
), e AS (
|
|
|
|
|
SELECT tx_hash, block_timestamp, native_from_address
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND native_from_address = 'one1r2kkl9unhvhd2rmacd304u48rt7u2zrkquazn7'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
), r AS (
|
|
|
|
|
SELECT log_id
|
|
|
|
|
, token_name
|
|
|
|
|
, calculated_value
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
), base AS (
|
|
|
|
|
SELECT hero_id
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, MIN(hero_state_level) AS level
|
|
|
|
|
, MIN(CAST(hero_professions_mining AS INT)) AS mn_mining
|
|
|
|
|
, MIN(CAST(hero_professions_gardening AS INT)) AS mn_gardening
|
|
|
|
|
, MIN(CAST(hero_professions_foraging AS INT)) AS mn_foraging
|
|
|
|
|
, MIN(CAST(hero_professions_fishing AS INT)) AS mn_fishing
|
|
|
|
|
, MAX(CAST(hero_professions_mining AS INT)) AS mx_mining
|
|
|
|
|
, MAX(CAST(hero_professions_gardening AS INT)) AS mx_gardening
|
|
|
|
|
, MAX(CAST(hero_professions_foraging AS INT)) AS mx_foraging
|
|
|
|
|
, MAX(CAST(hero_professions_fishing AS INT)) AS mx_fishing
|
|
|
|
|
, MIN(CAST(hero_state_xp AS INT)) AS mn_xp
|
|
|
|
|
, MAX(CAST(hero_state_xp AS INT)) AS mx_xp
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates u
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
), m AS (
|
|
|
|
|
SELECT s.quest_type
|
|
|
|
|
, s.block_timestamp AS start_time
|
|
|
|
|
, b.*
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY s.tx_hash ORDER BY e.block_timestamp) AS rn
|
|
|
|
|
FROM s
|
|
|
|
|
JOIN e ON e.block_timestamp > s.block_timestamp
|
|
|
|
|
AND e.block_timestamp <= DATEADD('hour', 24, s.block_timestamp)
|
|
|
|
|
AND s.native_from_address = e.native_from_address
|
|
|
|
|
JOIN base b ON b.tx_hash = e.tx_hash
|
|
|
|
|
)
|
|
|
|
|
SELECT quest_type
|
|
|
|
|
, level
|
|
|
|
|
, AVG(mx_xp - mn_xp) AS avg_xp_inc
|
|
|
|
|
, COUNT(1) AS n
|
|
|
|
|
FROM m
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
ORDER BY 4 DESC
|
|
|
|
|
|
|
|
|
|
-- start quest
|
|
|
|
|
WITH s AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, CASE
|
|
|
|
|
WHEN data like '%569e6a4c2e3af31b337be00657b4c040c828dd73%' THEN 'Mining'
|
|
|
|
|
WHEN data like '%e259e8386d38467f0e7ffedb69c3c9c935dfaefc%' THEN 'Fishing'
|
|
|
|
|
WHEN data like '%3132c76acf2217646fb8391918d28a16bd8a8ef4%' THEN 'Foraging'
|
|
|
|
|
WHEN data like '%e4154b6e5d240507f9699c730a496790a722df19%' THEN 'Gardening'
|
|
|
|
|
ELSE 'Other'
|
|
|
|
|
END AS quest_type
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND native_from_address = 'one1r2kkl9unhvhd2rmacd304u48rt7u2zrkquazn7'
|
|
|
|
|
AND data like '0xc855dea3%'
|
|
|
|
|
), e AS (
|
|
|
|
|
SELECT tx_hash, block_timestamp, native_from_address
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND native_from_address = 'one1r2kkl9unhvhd2rmacd304u48rt7u2zrkquazn7'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
), r AS (
|
|
|
|
|
SELECT LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, token_name
|
|
|
|
|
, calculated_value
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
), base AS (
|
|
|
|
|
SELECT hero_id
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, MIN(hero_state_level) AS level
|
|
|
|
|
, MIN(CAST(hero_professions_mining AS INT)) AS mn_mining
|
|
|
|
|
, MIN(CAST(hero_professions_gardening AS INT)) AS mn_gardening
|
|
|
|
|
, MIN(CAST(hero_professions_foraging AS INT)) AS mn_foraging
|
|
|
|
|
, MIN(CAST(hero_professions_fishing AS INT)) AS mn_fishing
|
|
|
|
|
, MAX(CAST(hero_professions_mining AS INT)) AS mx_mining
|
|
|
|
|
, MAX(CAST(hero_professions_gardening AS INT)) AS mx_gardening
|
|
|
|
|
, MAX(CAST(hero_professions_foraging AS INT)) AS mx_foraging
|
|
|
|
|
, MAX(CAST(hero_professions_fishing AS INT)) AS mx_fishing
|
|
|
|
|
, MIN(CAST(hero_state_xp AS INT)) AS mn_xp
|
|
|
|
|
, MAX(CAST(hero_state_xp AS INT)) AS mx_xp
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates u
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
), m AS (
|
|
|
|
|
SELECT s.quest_type
|
|
|
|
|
, s.block_timestamp AS start_time
|
|
|
|
|
, b.*
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY s.tx_hash ORDER BY e.block_timestamp) AS rn
|
|
|
|
|
FROM s
|
|
|
|
|
JOIN e ON e.block_timestamp > s.block_timestamp
|
|
|
|
|
AND e.block_timestamp <= DATEADD('hour', 24, s.block_timestamp)
|
|
|
|
|
AND s.native_from_address = e.native_from_address
|
|
|
|
|
JOIN base b ON b.tx_hash = e.tx_hash
|
|
|
|
|
)
|
|
|
|
|
SELECT m.*
|
|
|
|
|
, mx_xp - mn_xp AS avg_xp_inc
|
|
|
|
|
, r.token_name
|
|
|
|
|
, r.calculated_value
|
|
|
|
|
FROM m
|
|
|
|
|
LEFT JOIN r ON r.tx_hash = m.tx_hash
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
-- quests with rewards by profession
|
|
|
|
|
WITH s AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, CASE
|
|
|
|
|
WHEN data like '%569e6a4c2e3af31b337be00657b4c040c828dd73%' THEN 'Mining'
|
|
|
|
|
WHEN data like '%e259e8386d38467f0e7ffedb69c3c9c935dfaefc%' THEN 'Fishing'
|
|
|
|
|
WHEN data like '%3132c76acf2217646fb8391918d28a16bd8a8ef4%' THEN 'Foraging'
|
|
|
|
|
WHEN data like '%e4154b6e5d240507f9699c730a496790a722df19%' THEN 'Gardening'
|
|
|
|
|
ELSE 'Other'
|
|
|
|
|
END AS quest_type
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0xc855dea3%'
|
|
|
|
|
), e AS (
|
|
|
|
|
SELECT tx_hash, block_timestamp, native_from_address
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
), r AS (
|
|
|
|
|
SELECT LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, token_name
|
|
|
|
|
, calculated_value
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
), base AS (
|
|
|
|
|
SELECT hero_id
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, MIN(hero_state_level) AS level
|
|
|
|
|
, MIN(CAST(hero_stats_strength AS INT)) AS mn_str
|
|
|
|
|
, MIN(CAST(hero_stats_dexterity AS INT)) AS mn_dex
|
|
|
|
|
, MIN(CAST(hero_stats_agility AS INT)) AS mn_agi
|
|
|
|
|
, MIN(CAST(hero_stats_vitality AS INT)) AS mn_vit
|
|
|
|
|
, MIN(CAST(hero_stats_endurance AS INT)) AS mn_end
|
|
|
|
|
, MIN(CAST(hero_stats_intelligence AS INT)) AS mn_int
|
|
|
|
|
, MIN(CAST(hero_stats_wisdom AS INT)) AS mn_wis
|
|
|
|
|
, MIN(CAST(hero_stats_luck AS INT)) AS mn_lck
|
|
|
|
|
, MIN(CAST(hero_professions_mining AS INT)) AS mn_mining
|
|
|
|
|
, MIN(CAST(hero_professions_gardening AS INT)) AS mn_gardening
|
|
|
|
|
, MIN(CAST(hero_professions_foraging AS INT)) AS mn_foraging
|
|
|
|
|
, MIN(CAST(hero_professions_fishing AS INT)) AS mn_fishing
|
|
|
|
|
, MAX(CAST(hero_professions_mining AS INT)) AS mx_mining
|
|
|
|
|
, MAX(CAST(hero_professions_gardening AS INT)) AS mx_gardening
|
|
|
|
|
, MAX(CAST(hero_professions_foraging AS INT)) AS mx_foraging
|
|
|
|
|
, MAX(CAST(hero_professions_fishing AS INT)) AS mx_fishing
|
|
|
|
|
, MIN(CAST(hero_state_xp AS INT)) AS mn_xp
|
|
|
|
|
, MAX(CAST(hero_state_xp AS INT)) AS mx_xp
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates u
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
), m AS (
|
|
|
|
|
SELECT s.quest_type
|
|
|
|
|
, s.block_timestamp AS start_time
|
|
|
|
|
, b.*
|
|
|
|
|
, ROW_NUMBER() OVER (PARTITION BY s.tx_hash ORDER BY e.block_timestamp) AS rn
|
|
|
|
|
FROM s
|
|
|
|
|
JOIN e ON e.block_timestamp > s.block_timestamp
|
|
|
|
|
AND e.block_timestamp <= DATEADD('hour', 24, s.block_timestamp)
|
|
|
|
|
AND s.native_from_address = e.native_from_address
|
|
|
|
|
JOIN base b ON b.tx_hash = e.tx_hash
|
|
|
|
|
)
|
|
|
|
|
SELECT m.*
|
|
|
|
|
, mx_xp - mn_xp AS avg_xp_inc
|
|
|
|
|
, r.token_name
|
|
|
|
|
, r.calculated_value
|
|
|
|
|
FROM m
|
|
|
|
|
LEFT JOIN r ON r.tx_hash = m.tx_hash
|
|
|
|
|
WHERE rn = 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
, CASE
|
|
|
|
|
WHEN data like '%569e6a4c2e3af31b337be00657b4c040c828dd73%' THEN 'Mining'
|
|
|
|
|
WHEN data like '%e259e8386d38467f0e7ffedb69c3c9c935dfaefc%' THEN 'Fishing'
|
|
|
|
|
WHEN data like '%3132c76acf2217646fb8391918d28a16bd8a8ef4%' THEN 'Foraging'
|
|
|
|
|
WHEN data like '%e4154b6e5d240507f9699c730a496790a722df19%' THEN 'Gardening'
|
|
|
|
|
WHEN data like '%0548214A0760a897aF53656F4b69DbAD688D8f29%' THEN 'WishingWell'
|
|
|
|
|
ELSE 'Other'
|
|
|
|
|
END AS quest_type
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
AND from_address = '0x1aad6f9793bb2ed50f7dc362faf2a71afdc50876'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0xc855dea3%'
|
|
|
|
|
|
|
|
|
|
-- start quest
|
|
|
|
|
WITH s AS (
|
|
|
|
|
SELECT *
|
|
|
|
|
, CASE
|
|
|
|
|
WHEN data like '%569e6a4c2e3af31b337be00657b4c040c828dd73%' THEN 'Mining'
|
|
|
|
|
WHEN data like '%e259e8386d38467f0e7ffedb69c3c9c935dfaefc%' THEN 'Fishing'
|
|
|
|
|
WHEN data like '%3132c76acf2217646fb8391918d28a16bd8a8ef4%' THEN 'Foraging'
|
|
|
|
|
WHEN data like '%e4154b6e5d240507f9699c730a496790a722df19%' THEN 'Gardening'
|
|
|
|
|
ELSE 'Other'
|
|
|
|
|
END AS quest_type
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-06'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0xc855dea3%'
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM s
|
|
|
|
|
WHERE quest_type = 'Other'
|
|
|
|
|
LIMIT 100
|
|
|
|
|
|
|
|
|
|
WITH q AS (
|
|
|
|
|
SELECT DISTINCT tx_hash
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
), base AS (
|
|
|
|
|
SELECT hero_id
|
|
|
|
|
, block_timestamp
|
|
|
|
|
, LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
, MIN(hero_state_level) AS level
|
|
|
|
|
, MIN(CAST(hero_professions_mining AS INT)) AS mn_mining
|
|
|
|
|
, MIN(CAST(hero_professions_gardening AS INT)) AS mn_gardening
|
|
|
|
|
, MIN(CAST(hero_professions_foraging AS INT)) AS mn_foraging
|
|
|
|
|
, MIN(CAST(hero_professions_fishing AS INT)) AS mn_fishing
|
|
|
|
|
, MAX(CAST(hero_professions_mining AS INT)) AS mx_mining
|
|
|
|
|
, MAX(CAST(hero_professions_gardening AS INT)) AS mx_gardening
|
|
|
|
|
, MAX(CAST(hero_professions_foraging AS INT)) AS mx_foraging
|
|
|
|
|
, MAX(CAST(hero_professions_fishing AS INT)) AS mx_fishing
|
|
|
|
|
, MIN(CAST(hero_state_xp AS INT)) AS mn_xp
|
|
|
|
|
, MAX(CAST(hero_state_xp AS INT)) AS mx_xp
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates u
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
GROUP BY 1, 2, 3
|
|
|
|
|
), base2 AS (
|
|
|
|
|
SELECT b.*
|
|
|
|
|
, mx_xp - mn_xp AS xp_increase
|
|
|
|
|
, mx_fishing - mn_fishing AS fishing_increase
|
|
|
|
|
, mx_foraging - mn_foraging AS foraging_increase
|
|
|
|
|
, mx_gardening - mn_gardening AS gardening_increase
|
|
|
|
|
, mx_mining - mn_mining AS mining_increase
|
|
|
|
|
, CASE WHEN q.tx_hash IS NULL THEN 0 ELSE 1 END AS is_quest
|
|
|
|
|
FROM base b
|
|
|
|
|
JOIN q ON q.tx_hash = b.tx_hash
|
|
|
|
|
)
|
|
|
|
|
SELECT level
|
|
|
|
|
,AVG(xp_increase)
|
|
|
|
|
,COUNT(1) AS n
|
|
|
|
|
FROM base2
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
SELECT token_name
|
|
|
|
|
,COUNT(1) AS n
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
GROUP BY 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select log_id
|
|
|
|
|
, tx_hash
|
|
|
|
|
, topics[1] as quest_id
|
|
|
|
|
from mdao_harmony.logs
|
|
|
|
|
WHERE tx_hash IN (
|
|
|
|
|
'0x19020484cd737548759478053addf9fc877ed389e064f478a10d67209132227b'
|
|
|
|
|
, '0x3fbccc087450a9273466dea29da1a0c4d8d5e3f07fd8ca97fd6676fd0b9a7ab3'
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
q_map AS (
|
|
|
|
|
SELECT
|
|
|
|
|
tx_hash
|
|
|
|
|
, topics[1] as quest_id
|
|
|
|
|
from mdao_harmony.logs
|
|
|
|
|
WHERE block_timestamp >= '2022-02-01'
|
|
|
|
|
AND evm_contract_address = '0x5100bd31b822371108a0f63dcfb6594b9919eaf4'
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
with
|
|
|
|
|
quest_start_table as (
|
|
|
|
|
-- this query is used to select quests sent from my wallet to the quest contract
|
|
|
|
|
select tx_hash
|
|
|
|
|
from mdao_harmony.txs
|
|
|
|
|
where from_address = '0x0ba43bae4613e03492e4c17af3b014b6c3202b9d' -- my address
|
|
|
|
|
and to_address = '0x5100bd31b822371108a0f63dcfb6594b9919eaf4' -- quest core contract
|
|
|
|
|
--and tx_hash = '0x7d6f0613cc43cd928a2cc19c1fdb3718453145a77c31ada152c7cf4ab65bb66d' -- for testing purposes
|
|
|
|
|
--and tx_hash ='0x5019b6b8518a3ab63803aab7fa4e09e751114953d863d078eea2f494fac6c835'
|
|
|
|
|
and block_timestamp > current_date - 4
|
|
|
|
|
order by block_timestamp desc
|
|
|
|
|
),
|
|
|
|
|
quest_id_table as (
|
|
|
|
|
-- this query is used to select quests id that is a log from the quest contract
|
|
|
|
|
select topics[1] as quest_id
|
|
|
|
|
from mdao_harmony.logs
|
|
|
|
|
where 1=1
|
|
|
|
|
and tx_hash in ( select tx_hash from quest_start_table )
|
|
|
|
|
--and tx_hash = '0x7d6f0613cc43cd928a2cc19c1fdb3718453145a77c31ada152c7cf4ab65bb66d' -- for faster testing
|
|
|
|
|
--and tx_hash ='0x5019b6b8518a3ab63803aab7fa4e09e751114953d863d078eea2f494fac6c835' -- testing
|
|
|
|
|
and evm_contract_address = '0x5100bd31b822371108a0f63dcfb6594b9919eaf4' -- quest core contract
|
|
|
|
|
)
|
|
|
|
|
/*,
|
|
|
|
|
quest_log_getter as (
|
|
|
|
|
-- this query is used to select rewards that is matching the questid
|
|
|
|
|
select * from mdao_harmony.txs
|
|
|
|
|
where from_address = '0x0ba43bae4613e03492e4c17af3b014b6c3202b9d' -- my address
|
|
|
|
|
and to_address = '0x5100bd31b822371108a0f63dcfb6594b9919eaf4' -- quest core
|
|
|
|
|
and block_timestamp >= '2022-02-10 02:14:56.000' -- test code , can remove
|
|
|
|
|
and block_timestamp <= '2022-02-13 02:14:56.000' -- test code , can remove
|
|
|
|
|
and data = '0x528be0a9000000000000000000000000000000000000000000000000000000000001011f' -- test code, can remove
|
|
|
|
|
)
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
-- select logs where quest_id matches topics[1] and topics[0] says quest reward (you probably need to filter more by contracts )
|
|
|
|
|
select
|
|
|
|
|
substr(data,67,64) as token_address,
|
|
|
|
|
substr(data,67+64,64) as amount_rewards
|
|
|
|
|
from mdao_harmony.logs
|
|
|
|
|
where block_timestamp > current_date - 4
|
|
|
|
|
and topics[1] in (select quest_id from quest_id_table)
|
|
|
|
|
and topics[0] = '0xd24d0ec0941a2f5cf71e34aab5120a6ec265b4ff45c78e510a05928202f82786' -- quest reward
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp >= '2022-03-01'
|
|
|
|
|
AND token_name = 'Jewels'
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates
|
|
|
|
|
WHERE hero_id = 107255
|
|
|
|
|
ORDER BY block_timestamp, hero_state_xp
|
|
|
|
|
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
LIMIT 10
|
|
|
|
|
|
|
|
|
|
WITH base AS (
|
|
|
|
|
SELECT DISTINCT tx_hash
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
), a AS (
|
|
|
|
|
SELECT hero_state_level
|
|
|
|
|
, hero_professions_mining
|
|
|
|
|
, hero_professions_gardening
|
|
|
|
|
, hero_professions_foraging
|
|
|
|
|
, hero_professions_fishing
|
|
|
|
|
, LEFT(log_id, LEN(log_id) - 5) AS tx_hash
|
|
|
|
|
FROM mdao_harmony.dfk_hero_updates u
|
|
|
|
|
JOIN base b ON b.tx_hash = tx_hash
|
|
|
|
|
WHERE hero_id = 107255
|
|
|
|
|
)
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--How does that change based on their stats / level / what profession they do?
|
|
|
|
|
-- Labels are missing
|
|
|
|
|
-- Warrior = HERO_INFO_CLASS = '0'
|
|
|
|
|
-- Knight = HERO_INFO_CLASS = '1'
|
|
|
|
|
-- Thief = HERO_INFO_CLASS = '2'
|
|
|
|
|
-- Archer = HERO_INFO_CLASS = '3'
|
|
|
|
|
-- Priest = HERO_INFO_CLASS = '4'
|
|
|
|
|
-- Wizard = HERO_INFO_CLASS = '5'
|
|
|
|
|
-- Monk = HERO_INFO_CLASS = '6'
|
|
|
|
|
-- Pirate = HERO_INFO_CLASS = '7'
|
|
|
|
|
-- Paladin = HERO_INFO_CLASS = '16'
|
|
|
|
|
-- Darkknight = HERO_INFO_CLASS = '17'
|
|
|
|
|
-- Summoner = HERO_INFO_CLASS = '18'
|
|
|
|
|
-- Ninja = HERO_INFO_CLASS = '19'
|
|
|
|
|
-- Dragoon = HERO_INFO_CLASS = '24'
|
|
|
|
|
-- Sage = HERO_INFO_CLASS = '25'
|
|
|
|
|
-- Dreadknight = HERO_INFO_CLASS = '28'
|
|
|
|
|
WITH hero_info AS (
|
|
|
|
|
--Grabs all the hero data
|
|
|
|
|
--Need to join this table onto dfk_quest_rewards so that we are able
|
|
|
|
|
-- to remove 'StartQuest' tx. Since XP is stored as a state, it messes up the AVG
|
|
|
|
|
SELECT hi.*, SPLIT( LOG_ID , '-') AS tx_hash FROM mdao_harmony.dfk_hero_updates hi)
|
|
|
|
|
SELECT DISTINCT hi.HERO_INFO_CLASS, CAST(hi.HERO_STATE_LEVEL as int) as HERO_STATE_LEVEL, avg(hi.HERO_STATE_XP)
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards qr JOIN hero_info hi ON hi.tx_hash[0] = qr.TX_HASH
|
|
|
|
|
GROUP BY hi.HERO_INFO_CLASS , HERO_STATE_LEVEL ORDER BY hi.HERO_INFO_CLASS, HERO_STATE_LEVEL
|
|
|
|
|
|
|
|
|
|
WITH hero_info AS (
|
|
|
|
|
SELECT HERO_STATE_LEVEL,HERO_STATE_XP, HERO_INFO_CLASS,CAST(hi.HERO_PROFESSIONS_MINING as int) as HERO_PROFESSIONS_MINING, CAST(hi.HERO_PROFESSIONS_GARDENING as int) as HERO_PROFESSIONS_GARDENING,
|
|
|
|
|
CAST(hi.HERO_PROFESSIONS_FORAGING as int) as HERO_PROFESSIONS_FORAGING, CAST(hi.HERO_PROFESSIONS_FISHING as int) as HERO_PROFESSIONS_FISHING
|
|
|
|
|
, SPLIT( LOG_ID , '-') AS tx_hash FROM mdao_harmony.dfk_hero_updates hi)
|
|
|
|
|
SELECT DISTINCT CAST(hi.HERO_STATE_LEVEL as int) as HERO_STATE_LEVEL, avg(hi.HERO_STATE_XP),
|
|
|
|
|
CASE
|
|
|
|
|
WHEN
|
|
|
|
|
HERO_PROFESSIONS_MINING >= HERO_PROFESSIONS_GARDENING
|
|
|
|
|
AND HERO_PROFESSIONS_MINING >= HERO_PROFESSIONS_FORAGING
|
|
|
|
|
AND HERO_PROFESSIONS_MINING >= HERO_PROFESSIONS_FISHING
|
|
|
|
|
AND HERO_PROFESSIONS_MINING != 0 THEN 'mining'
|
|
|
|
|
WHEN
|
|
|
|
|
HERO_PROFESSIONS_GARDENING >= HERO_PROFESSIONS_MINING
|
|
|
|
|
AND HERO_PROFESSIONS_GARDENING >= HERO_PROFESSIONS_FORAGING
|
|
|
|
|
AND HERO_PROFESSIONS_GARDENING >= HERO_PROFESSIONS_FISHING
|
|
|
|
|
AND HERO_PROFESSIONS_GARDENING != 0 THEN 'gardening'
|
|
|
|
|
WHEN
|
|
|
|
|
HERO_PROFESSIONS_FORAGING >= HERO_PROFESSIONS_MINING
|
|
|
|
|
AND HERO_PROFESSIONS_FORAGING >= HERO_PROFESSIONS_GARDENING
|
|
|
|
|
AND HERO_PROFESSIONS_FORAGING >= HERO_PROFESSIONS_FISHING
|
|
|
|
|
AND HERO_PROFESSIONS_FORAGING != 0 THEN 'foraging'
|
|
|
|
|
WHEN
|
|
|
|
|
HERO_PROFESSIONS_FISHING >= HERO_PROFESSIONS_MINING
|
|
|
|
|
AND HERO_PROFESSIONS_FISHING >= HERO_PROFESSIONS_GARDENING
|
|
|
|
|
AND HERO_PROFESSIONS_FISHING >= HERO_PROFESSIONS_FORAGING
|
|
|
|
|
AND HERO_PROFESSIONS_FISHING != 0 THEN 'fishing'
|
|
|
|
|
else 'professionless'
|
|
|
|
|
END AS category
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards qr JOIN hero_info hi ON hi.tx_hash[0] = qr.TX_HASH
|
|
|
|
|
group by HERO_STATE_LEVEL, CATEGORY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT DATEDIFF(week, date_trunc('WEEK', block_timestamp), date_trunc('WEEK', CURRENT_TIMESTAMP)) AS weeks_ago
|
|
|
|
|
, date_trunc('WEEK', block_timestamp) AS date
|
|
|
|
|
, COUNT(1) AS n_quests
|
|
|
|
|
, COUNT(DISTINCT native_from_address) as n_questers
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
GROUP BY 1, 2
|
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WITH
|
|
|
|
|
--Grabs all paying quests
|
|
|
|
|
buckets AS (
|
|
|
|
|
SELECT AS_VARCHAR(to_address) AS to_address,
|
|
|
|
|
week(date_trunc('day', block_timestamp)) AS quest_week
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
WHERE block_timestamp < '2022-01-03'
|
|
|
|
|
GROUP BY to_address, quest_week),
|
|
|
|
|
|
|
|
|
|
--Grabs the first week for paying quest
|
|
|
|
|
first_week as (
|
|
|
|
|
SELECT
|
|
|
|
|
AS_VARCHAR(to_address) as to_address,
|
|
|
|
|
min(week(date_trunc('day', block_timestamp))) AS first_quest_week
|
|
|
|
|
FROM mdao_harmony.dfk_quest_rewards
|
|
|
|
|
where block_timestamp < '2022-01-03'
|
|
|
|
|
GROUP BY to_address
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
--Grabs quest that pays out no rewards
|
|
|
|
|
no_reward_buckets AS (
|
|
|
|
|
SELECT from_address AS to_address, week(date_trunc('day', block_timestamp)) AS quest_week
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
AND tx_hash not in (SELECT tx_hash FROM mdao_harmony.dfk_quest_rewards)
|
|
|
|
|
AND block_timestamp < '2022-01-03'
|
|
|
|
|
--Only grab valid tx
|
|
|
|
|
AND status = TRUE),
|
|
|
|
|
|
|
|
|
|
--Grabs the first week for non-paying quest
|
|
|
|
|
first_week_no_rewards as (
|
|
|
|
|
SELECT from_address as to_address, min(week(date_trunc('day', block_timestamp))) AS first_quest_week
|
|
|
|
|
FROM mdao_harmony.txs
|
|
|
|
|
WHERE native_to_address = 'one12yqt6vdcygm3zz9q7c7uldjefwv3n6h5trltq4'
|
|
|
|
|
AND data like '0x528be0a9%'
|
|
|
|
|
AND tx_hash not in (SELECT tx_hash FROM mdao_harmony.dfk_quest_rewards)
|
|
|
|
|
AND block_timestamp < '2022-01-03'
|
|
|
|
|
AND status = TRUE
|
|
|
|
|
GROUP BY 1),
|
|
|
|
|
|
|
|
|
|
--Merges the two tables for first week
|
|
|
|
|
merge_first_week AS (
|
|
|
|
|
SELECT * FROM first_week_no_rewards
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT * FROM first_week ),
|
|
|
|
|
|
|
|
|
|
--If duplicate addresses, picks the one with a lower first week
|
|
|
|
|
fiter_first_week AS (
|
|
|
|
|
SELECT to_address, min(first_quest_week) AS first_quest_week
|
|
|
|
|
FROM merge_first_week
|
|
|
|
|
GROUP BY to_address
|
|
|
|
|
ORDER BY to_address),
|
|
|
|
|
merge_buckets as (
|
|
|
|
|
select * from buckets
|
|
|
|
|
union all
|
|
|
|
|
select * from no_reward_buckets
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
--Creates table of user, week they quested, and week of first quest
|
|
|
|
|
merge_login_first AS (
|
|
|
|
|
SELECT a.to_address,
|
|
|
|
|
a.quest_week,
|
|
|
|
|
b.first_quest_week AS first_quest
|
|
|
|
|
FROM merge_buckets a, fiter_first_week b
|
|
|
|
|
WHERE a.to_address = b.to_address
|
|
|
|
|
|
|
|
|
|
), week_num AS (
|
|
|
|
|
SELECT a.to_address, a.quest_week, b.first_quest_week AS first_quest,
|
|
|
|
|
a.quest_week - first_quest AS week_number
|
|
|
|
|
FROM buckets a, first_week b
|
|
|
|
|
WHERE a.to_address = b.to_address
|
|
|
|
|
) SELECT first_quest AS first_week,
|
|
|
|
|
SUM(CASE WHEN week_number = 0 THEN 1 ELSE 0 END) AS week_0,
|
|
|
|
|
SUM(CASE WHEN week_number = 1 THEN 1 ELSE 0 END) AS week_1,
|
|
|
|
|
SUM(CASE WHEN week_number = 2 THEN 1 ELSE 0 END) AS week_2,
|
|
|
|
|
SUM(CASE WHEN week_number = 3 THEN 1 ELSE 0 END) AS week_3,
|
|
|
|
|
SUM(CASE WHEN week_number = 4 THEN 1 ELSE 0 END) AS week_4,
|
|
|
|
|
SUM(CASE WHEN week_number = 5 THEN 1 ELSE 0 END) AS week_5
|
|
|
|
|
FROM week_num GROUP BY first_week ORDER BY first_week
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AlgoFi
|
|
|
|
|
ALGO / OPUL
|
|
|
|
|
Add LP
|
|
|
|
|
Examples
|
|
|
|
|
gb/8+oHUk+3G6l7UGycJA+huSAQhycl5E4eYxsG5XXI=
|
|
|
|
|
ik0azydJLpeQi8qsRbt0zxDfmJDzX7V9cQ7mEzszOCo=
|
|
|
|
|
app_id = 613210847
|
|
|
|
|
Swap
|
|
|
|
|
Examples
|
|
|
|
|
yHcHFpy31C9CHHGm815PR4qRNL4STsJq4RElnEoDLjo=
|
|
|
|
|
c+X1QfLHuqpGbiecxYlUM7c74eThALxKl5Bp04sojOg=
|
|
|
|
|
gb/8+oHUk+3G6l7UGycJA+huSAQhycl5E4eYxsG5XXI=
|
|
|
|
|
xLHcgXj43Ts3h6FcgJGkwUZ3R05fDt16u13Jfb/eYGg=
|
|
|
|
|
|
|
|
|
|
app_id = 613210847
|
|
|
|
|
|
|
|
|
|
Pact.Fi
|
|
|
|
|
ALGO / USDC
|
|
|
|
|
app_id = 620995314
|
|
|
|
|
|
2022-02-04 04:35:13 +00:00
|
|
|
WITH orders AS (
|
|
|
|
|
SELECT tx_id
|
|
|
|
|
, block_timestamp AS sale_date
|
|
|
|
|
, msg_value:execute_msg:execute_order:order:order:maker_asset:info:nft:token_id AS token_id
|
|
|
|
|
, msg_value:execute_msg:execute_order:order:order:maker_asset:info:nft:contract_addr::string AS contract
|
|
|
|
|
, msg_value:execute_msg:execute_order:order:order:taker_asset:amount::decimal/pow(10,6) AS price
|
|
|
|
|
FROM terra.msgs
|
|
|
|
|
WHERE msg_value:contract::string = 'terra1eek0ymmhyzja60830xhzm7k7jkrk99a60q2z2t'
|
|
|
|
|
AND tx_status = 'SUCCEEDED'
|
|
|
|
|
AND msg_value:execute_msg:execute_order IS NOT NULL
|
|
|
|
|
AND contract IN ( '{}' )
|
|
|
|
|
), Lorders AS (
|
|
|
|
|
SELECT tx_id
|
|
|
|
|
, block_timestamp AS sale_date
|
|
|
|
|
, msg_value:execute_msg:ledger_proxy:msg:execute_order:order:order:maker_asset:info:nft:token_id AS token_id
|
|
|
|
|
, msg_value:execute_msg:ledger_proxy:msg:execute_order:order:order:maker_asset:info:nft:contract_addr::string AS contract
|
|
|
|
|
, msg_value:execute_msg:ledger_proxy:msg:execute_order:order:order:taker_asset:amount::decimal/pow(10,6) AS price
|
|
|
|
|
FROM terra.msgs
|
|
|
|
|
WHERE msg_value:contract::string = 'terra1eek0ymmhyzja60830xhzm7k7jkrk99a60q2z2t'
|
|
|
|
|
AND tx_status = 'SUCCEEDED'
|
|
|
|
|
AND msg_value:execute_msg:ledger_proxy:msg:execute_order IS NOT NULL
|
|
|
|
|
AND contract IN ( '{}' )
|
|
|
|
|
), unioned AS (
|
|
|
|
|
SELECT * FROM orders
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT * FROM Lorders
|
|
|
|
|
)
|
|
|
|
|
SELECT CASE
|
|
|
|
|
WHEN contract = 'terra1p70x7jkqhf37qa7qm4v23g4u4g8ka4ktxudxa7' THEN 'Levana Dust'
|
|
|
|
|
WHEN contract = 'terra1chrdxaef0y2feynkpq63mve0sqeg09acjnp55v' THEN 'Levana Meteors'
|
|
|
|
|
WHEN contract = 'terra1k0y373yxqne22pc9g7jvnr4qclpsxtafevtrpg' THEN 'Levana Dragon Eggs'
|
|
|
|
|
WHEN contract = 'terra1trn7mhgc9e2wfkm5mhr65p3eu7a2lc526uwny2' THEN 'LunaBulls'
|
|
|
|
|
WHEN contract = 'terra103z9cnqm8psy0nyxqtugg6m7xnwvlkqdzm4s4k' THEN 'Galactic Punks'
|
|
|
|
|
ELSE 'Other'
|
|
|
|
|
END AS collection
|
|
|
|
|
, sale_date
|
|
|
|
|
, token_id
|
|
|
|
|
, tx_id
|
|
|
|
|
, price
|
|
|
|
|
FROM unioned
|