You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: spellbook/models/magiceden/solana/magiceden_solana_events.sql
+76-30Lines changed: 76 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -7,20 +7,11 @@
7
7
)
8
8
}}
9
9
10
-
{% set v1_key ="MEisE1HzehtrDpAAT8PnLHjpSSkRYakotTuJRPjTpo8" %}
11
-
{% set v2_key ="M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K" %}
12
-
{% set launchpad_v1_key ="CMX5tvuWs2rBUL3vqVWiARfcDoCKjdeSinCsZdxJmYoF" %}
13
-
{% set launchpad_v2_key ="CMY8R8yghKfFnHKCWjzrArUpYH4PbJ56aWBr4kCP4DMk" %}
14
-
{% set launchpad_v3_key ="CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb" %}
15
-
16
10
SELECT
17
11
'solana'as blockchain,
18
12
'magiceden'as project,
19
-
CASE WHEN (array_contains(account_keys, '{{v1_key}}')) THEN 'v1'
20
-
WHEN (array_contains(account_keys, '{{v2_key}}')) THEN 'v2'
21
-
WHEN (array_contains(account_keys, '{{launchpad_v1_key}}')) THEN 'launchpad_v1'
22
-
WHEN (array_contains(account_keys, '{{launchpad_v2_key}}')) THEN 'launchpad_v2'
23
-
WHEN (array_contains(account_keys, '{{launchpad_v3_key}}')) THEN 'launchpad_v3'
13
+
CASE WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K')) THEN 'v2'
14
+
WHEN (array_contains(account_keys, 'CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb')) THEN 'launchpad_v3'
24
15
END as version,
25
16
signatures[0] as tx_hash,
26
17
block_time,
@@ -31,30 +22,85 @@ SELECT
31
22
p.symbolas currency_symbol,
32
23
p.contract_addressas currency_contract,
33
24
'metaplex'as token_standard,
34
-
CASE WHEN (array_contains(account_keys, '{{v1_key}}')) THEN '{{v1_key}}'
35
-
WHEN (array_contains(account_keys, '{{v2_key}}')) THEN '{{v2_key}}'
36
-
END as project_contract_address,
37
-
CASE WHEN (array_contains(account_keys, '{{v1_key}}'))
38
-
OR (array_contains(account_keys, '{{v2_key}}')) THEN 'Trade'
39
-
WHEN (array_contains(account_keys, '{{launchpad_v1_key}}'))
40
-
OR (array_contains(account_keys, '{{launchpad_v2_key}}'))
41
-
OR (array_contains(account_keys, '{{launchpad_v3_key}}')) THEN 'Mint'
42
-
ELSE 'Transaction' END as evt_type,
43
-
signatures[0] ||'-'|| id ||'-'|| instructions[0]::string as unique_trade_id
25
+
CASE WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K')) THEN 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'
26
+
WHEN (array_contains(account_keys, 'CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb')) THEN 'CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb'
27
+
END as project_contract_address,
28
+
CASE WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'))
29
+
AND array_contains(log_messages, 'Program log: Instruction: ExecuteSale')
30
+
AND array_contains(log_messages, 'Program log: Instruction: Buy') THEN 'Trade'
31
+
WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'))
32
+
AND array_contains(log_messages, 'Program log: Instruction: Sell') THEN 'List'
33
+
WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'))
34
+
AND array_contains(log_messages, 'Program log: Instruction: Buy') THEN 'Bid'
35
+
WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'))
36
+
AND array_contains(log_messages, 'Program log: Instruction: CancelBuy') THEN 'Cancel Bid'
37
+
WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'))
38
+
AND array_contains(log_messages, 'Program log: Instruction: CancelSell') THEN 'Cancel Listing'
39
+
WHEN (array_contains(account_keys, 'CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb'))
40
+
AND array_contains(log_messages, 'Program log: Instruction: SetAuthority') THEN 'Mint'
41
+
ELSE 'Other' END as evt_type,
42
+
CASE WHEN (array_contains(account_keys, 'M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K'))
43
+
AND array_contains(log_messages, 'Program log: Instruction: ExecuteSale')
44
+
AND array_contains(log_messages, 'Program log: Instruction: Buy') THEN instructions[1].account_arguments[2]::string
45
+
WHEN (array_contains(account_keys, 'CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb'))
46
+
AND array_contains(log_messages, 'Program log: Instruction: SetAuthority') THEN COALESCE(instructions[6].account_arguments[9], instructions[5].account_arguments[9],
0 commit comments