ludicrousLendi
Updated 2024-12-06
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
›
⌄
WITH MarkedTransactions AS (
SELECT
OWNER,
MINT,
BLOCK_TIMESTAMP,
PRE_BALANCE,
BALANCE,
CASE
WHEN BALANCE > PRE_BALANCE THEN 'ADD_MINUTES'
WHEN BALANCE < PRE_BALANCE THEN 'SUBTRACT_MINUTES'
ELSE 'NO_CHANGE'
END AS TRANSACTION_TYPE,
ABS(BALANCE - PRE_BALANCE) AS TOKEN_CHANGE
FROM
solana.core.fact_token_balances
WHERE
MINT IN ('9mkbt5gx6XsdCBVPLbioQ1NvgNjmNBktccGWctrExwJC', '28nC2fTmasMuLnbx9uuAJbavyxmA9EVnGfiYHVXdjtzC')
AND BLOCK_TIMESTAMP BETWEEN '2024-11-25' AND '{{END_DATE}}' -- Time period up to END_DATE
AND SUCCEEDED = TRUE
),
TransactionMinutes AS (
SELECT
OWNER,
MINT,
CASE
WHEN TRANSACTION_TYPE = 'ADD_MINUTES' THEN
DATEDIFF(MINUTE, BLOCK_TIMESTAMP, '{{END_DATE}}') * TOKEN_CHANGE -- Minutes towards the END_DATE
WHEN TRANSACTION_TYPE = 'SUBTRACT_MINUTES' THEN
-DATEDIFF(MINUTE, BLOCK_TIMESTAMP, '{{END_DATE}}') * TOKEN_CHANGE -- Subtract minutes for removed tokens
ELSE
0
END AS HOLDING_MINUTES,
CASE
WHEN TRANSACTION_TYPE = 'ADD_MINUTES' THEN
DATEDIFF(MINUTE, BLOCK_TIMESTAMP, DATEADD(DAY, -7, '{{END_DATE}}')) * TOKEN_CHANGE -- Minutes for the 7 days prior to END_DATE
WHEN TRANSACTION_TYPE = 'SUBTRACT_MINUTES' THEN
QueryRunArchived: QueryRun has been archived