Flipside Team5.1. Programs Deployed & Upgraded 30d
Updated 2024-12-04
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
-- Credit to kellen https://flipsidecrypto.xyz/kellen/q/4fMPImDwWFai/program-activity-by-month
-- each month: programs deployed + upgraded, # deployed + upgraded
WITH t0 AS (
SELECT DATE(block_timestamp) AS date
, instruction:parsed:info:programAccount::string AS programAccount
, SUM(CASE WHEN event_type = 'deployWithMaxDataLen' THEN 1 ELSE 0 END) AS n_deploys
, COUNT(DISTINCT CASE WHEN event_type = 'deployWithMaxDataLen' THEN signers[0] ELSE 0 end) as n_deployers
, COUNT(DISTINCT CASE WHEN event_type = 'deployWithMaxDataLen' THEN instruction:parsed:info:programAccount::string ELSE NULL END) AS n_unique_programs_deployed
, SUM(CASE WHEN event_type = 'upgrade' THEN 1 ELSE 0 END) AS n_upgrades
, COUNT(DISTINCT CASE WHEN event_type = 'upgrade' THEN instruction:parsed:info:programAccount::string ELSE NULL END) AS n_unique_programs_upgraded
FROM solana.core.fact_events e
WHERE e.block_timestamp >= '2020-01-01'
AND e.program_id = 'BPFLoaderUpgradeab1e11111111111111111111111'
AND e.EVENT_TYPE IN ('deployWithMaxDataLen','upgrade')
GROUP BY 1, 2
), t1 AS (
SELECT *
, ROW_NUMBER() OVER (PARTITION BY programAccount ORDER BY date) AS rn
FROM t0
), t2 AS (
SELECT date
, SUM(CASE WHEN rn=1 THEN 1 ELSE 0 END) AS n_new_programs_deployed
, SUM(n_deploys) AS n_deploys
, SUM (n_deployers) as n_deployers
, SUM(n_upgrades) AS n_upgrades
, SUM(n_unique_programs_deployed) AS n_unique_programs_deployed
, SUM(n_unique_programs_upgraded) AS n_unique_programs_upgraded
FROM t1
GROUP BY 1
)
SELECT *
QueryRunArchived: QueryRun has been archived