From 1db6d66f1fcf6e48cb6cdc2093db784abf15caee Mon Sep 17 00:00:00 2001 From: Angela Minster Date: Fri, 30 Sep 2022 15:56:24 -0400 Subject: [PATCH] lfg! --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 4 +++ sql/.DS_Store | Bin 0 -> 6148 bytes sql/bags/.DS_Store | Bin 0 -> 6148 bytes sql/bags/flow/cex_activity.sql | 52 +++++++++++++++++++++++++++++++++ sql/defi/flow/dex_swaps.sql | 43 +++++++++++++++++++++++++++ sql/nfts/.DS_Store | Bin 0 -> 6148 bytes sql/nfts/flow/nft_trades.sql | 46 +++++++++++++++++++++++++++++ user_metrics.Rproj | 13 +++++++++ 9 files changed, 158 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 sql/.DS_Store create mode 100644 sql/bags/.DS_Store create mode 100644 sql/bags/flow/cex_activity.sql create mode 100644 sql/defi/flow/dex_swaps.sql create mode 100644 sql/nfts/.DS_Store create mode 100644 sql/nfts/flow/nft_trades.sql create mode 100644 user_metrics.Rproj diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ebb2612f62729782feea1455c603946534105b55 GIT binary patch literal 6148 zcmeHK%Z}496uq7XCd~*@AtYddlnuM8YG)9mE|5BC$Iu(?n z?)d}w2zG4Qut59(-@*!xAB8r7E@R6JvB^KJa7iqb&wBW)v_AoNWcfyK7O6h7?g=cz+KNtNoBBC*iE}kUON5 zI87)la6S|`JK)@>F)}$lhd-r^LYi!{*!2Rd49+1PP>1dUYm`t>V7x6bN*MPA#r`ZC z>mBH;KaQg;uh+k^t&(-_{I+d7wsXOG=8gEw%lr8>YxgHlMC)EZANksUz0C<0p=mkQ<9fl6KhfEK!?!Iz)@Kv#4C zTN;-N(F0?O3RG04uNX|<9GIdb-qQI?g^Es0{xZhVzs&Rvh3Sh2b7eZQmO@h-1&jil z3Y1i{BF_KA)9?SAB-1hq7zO?-1(?rE#ecJuvejAZ0L>QQ)5{@Dl+}uDSpK literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b6a065 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.Rproj.user +.Rhistory +.RData +.Ruserdata diff --git a/sql/.DS_Store b/sql/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..8ca15ec2eeb094809e7d2dd6b4524666bd7f4620 GIT binary patch literal 6148 zcmeHK!EO^V5FNJ*b%H8#Kq}mP=`DwBTY+*wT0)TEhO~$tTGZ}#(`2R1I?8T{AWgM* z{s8`fpMV1=et_R$#-3IQp&V&dd8F|hduHtQlWgw*fapvTAD{sM5|z-aWAhgwKk16B z@d!Bu%@I$FQJm=*`#)Er-GF1jF>uouptI{i3=#C9SUkV+C`*g7)%qpY*1bD-H>9k~ z`eyxIIMCCujLJ#TiN*)idmWX7nC&-OXP0&qzfF77qsD{hIxnL%?~P4zn)EQ_a6iox zJ?-d8o)l)D&^n~7$=Xrl(QLNcZa0;`*Pb`k%-?D4G}YrLyYqQXZf*NdUmXuWe4L%l z&p%sA1>QhL?lWG%7c?$+_&yxxna=w-M)4lxa0=zE-Z}3u>-*t}9*!<(S={|lce{LV z%a@Yhm=s^)S715>&E-{2n$8p7R0b^y+ri0+(L-5LiD->Z? z$N7~B2N76wtz*D3u*|@^?KbHBe}QNCiu!*!$@Lrqj)7anfbhCuw}V^aw{>N6^wuiW sV^k7~t1OxnZ1_1g20g_OQH`Kak%1U6Ru*vt#r+5v8eHQT_^%B71_9QukpKVy literal 0 HcmV?d00001 diff --git a/sql/bags/.DS_Store b/sql/bags/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..92c3826120b777a6b796cf62adad055fd01fad92 GIT binary patch literal 6148 zcmeHKOHRW;47DMPNNl?7a<0%D3{?;Z=mn~_0v3s;5<=Z($4R(H7d;R+fag!ERv}1i zkU+NNc^TU;le|S76A{l}HZ!6L5!G-(dX;5pk{2J?l}9Qd%RSo1*ns6G5&&k$-VhNO8x?3&_7Q`P zj(GCA?ARL`omfxCef(th35E4^#FLg2XTw-Sfl%O5fot1Nr2pT+N9O-aQtU#3P~cxF zz*Vzo=6EIVt%H}7UYp=c_|Z_S81GN=nBdvIPR+r=&`Rv#mDjjj91LH?PbO{Ru HenWvza=t4# literal 0 HcmV?d00001 diff --git a/sql/bags/flow/cex_activity.sql b/sql/bags/flow/cex_activity.sql new file mode 100644 index 0000000..a2abb7b --- /dev/null +++ b/sql/bags/flow/cex_activity.sql @@ -0,0 +1,52 @@ +WITH dep_addys AS ( + SELECT + sender + FROM FLOW.CORE.EZ_TOKEN_TRANSFERS + WHERE recipient IN (SELECT address FROM FLIPSIDE_PROD_DB.CROSSCHAIN.ADDRESS_LABELS WHERE blockchain = 'flow' AND label_type = 'cex' AND label_subtype = 'hot_wallet') + GROUP BY sender +), +deps AS ( +SELECT + sender AS user_address, + token_contract AS token_contract, + count(tx_id) AS n_deposits, + sum(amount) AS token_deposit_volume + FROM + flow.core.ez_token_transfers + WHERE + block_timestamp > current_date - 90 + AND + tx_succeeded = 'TRUE' + AND + recipient IN (SELECT sender FROM dep_addys) + GROUP BY + user_address, token_contract +), +wdraws AS ( + SELECT + recipient AS user_address, + token_contract AS token_contract, + count(tx_id) AS n_withdrawals, + sum(amount) AS token_withdrawal_volume + FROM + flow.core.ez_token_transfers + WHERE + block_timestamp > current_date - 90 + AND + tx_succeeded = 'TRUE' + AND + sender IN (SELECT address FROM FLIPSIDE_PROD_DB.CROSSCHAIN.ADDRESS_LABELS WHERE blockchain = 'flow' AND label_type = 'cex' AND label_subtype = 'hot_wallet') + GROUP BY + user_address, token_contract +) + +SELECT +COALESCE(ds.user_address, ws.user_address) AS user_address, +COALESCE(ds.token_contract, ws.token_contract) AS token_contract, +COALESCE(n_deposits, 0) AS n_deposits, +COALESCE(token_deposit_volume, 0) AS token_deposit_volume, +COALESCE(n_withdrawals, 0) AS n_withdrawals, +COALESCE(token_withdrawal_volume, 0) AS token_withdrawal_volume +FROM deps ds +FULL OUTER JOIN wdraws ws ON ds.user_address = ws.user_address +AND ds.token_contract = ws.token_contract \ No newline at end of file diff --git a/sql/defi/flow/dex_swaps.sql b/sql/defi/flow/dex_swaps.sql new file mode 100644 index 0000000..e717a6d --- /dev/null +++ b/sql/defi/flow/dex_swaps.sql @@ -0,0 +1,43 @@ +-- n sells / amount / protocol / token +WITH sells AS ( + SELECT + trader AS user_address, + swap_contract, + token_out_contract AS token_contract, + count(tx_id) AS n_sells, + sum(token_out_amount) AS token_sell_volume + FROM + flow.core.ez_dex_swaps + WHERE + block_timestamp > current_date - 90 + GROUP BY + trader, swap_contract, token_out_contract +), + +buys AS ( + SELECT + trader AS user_address, + swap_contract, + token_in_contract AS token_contract, + count(tx_id) AS n_buys, + sum(token_in_amount) AS token_buy_volume + FROM + flow.core.ez_dex_swaps + WHERE + block_timestamp > current_date - 90 + GROUP BY + trader, swap_contract, token_in_contract +) + +SELECT +COALESCE(sells.user_address, buys.user_address) AS user_address, +COALESCE(sells.swap_contract, buys.swap_contract) AS swap_contract, +COALESCE(sells.token_contract, buys.token_contract) AS token_contract, +COALESCE(n_buys, 0) AS n_buys, +COALESCE(token_buy_volume, 0) AS token_buy_volume, +COALESCE(n_sells, 0) AS n_sells, +COALESCE(token_sell_volume, 0) AS token_sell_volume +FROM sells +FULL OUTER JOIN buys ON sells.user_address = buys.user_address +AND sells.swap_contract = buys.swap_contract +AND sells.token_contract = buys.token_contract \ No newline at end of file diff --git a/sql/nfts/.DS_Store b/sql/nfts/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e6729b8ed553b1a51c5d272a12179a81a29f1e4a GIT binary patch literal 6148 zcmeHK%}(1u5Z(l>-}u)dI%xZ83q<1RYC{@l~^c4^NL8n)CDP+ zkrE)4bNE@(_aos$|KCD14y+>s^4%559f^n_+3frC`%##r_4*4fY!o+3TZ~m$Wv6oO zc17l%n`#l zNYp&8b}&|E<(ulK(deMjsB!DCF|P5EwO`+_@uTB|@wm+PK3gZ}t=^A^(a-U(M@=h* zFHp&@!3jKpG2LO*vD{nH>rb4szMg0{&DYDGozmam$)D4CfAFTi-(5cUy*r2_5qDs| z$#c#;0-DGGGJp)Mm;rMVvF#PFi_0Mc$iVtDAkPO5D$zEWYg9)EG^zvuEW)r7uw^YF zbGSjQrh<464&%oSQh?V6IW86KaYNYF4JELZNDPn4ha~LT!!MA_K_4 zJOdlLTb1|!m*w^Ud=mDM0c7A^F+ht=x9Px^%-y=MIeFJ|&=#l^8JBCErhuWYVu+Pj d@kdZ4FwUg`XdBEm!Uzcd2q+q`K?YXJz<-2cYy current_date - 90 + GROUP BY + seller, marketplace, nf_token_contract, currency +), + +buys AS ( + SELECT + buyer AS user_address, + marketplace, + nft_collection AS nf_token_contract, + count(tx_id) AS n_buys, + sum(price) AS token_buy_volume, + currency + FROM + flow.core.ez_nft_sales + WHERE + block_timestamp > current_date - 90 + GROUP BY + buyer, marketplace, nf_token_contract, currency +) + +SELECT +COALESCE(sells.user_address, buys.user_address) AS user_address, +COALESCE(sells.marketplace, buys.marketplace) AS marketplace, +COALESCE(sells.nf_token_contract, buys.nf_token_contract) AS nf_token_contract, +COALESCE(sells.currency, buys.currency) AS currency, +COALESCE(n_buys, 0) AS n_buys, +COALESCE(token_buy_volume, 0) AS token_buy_volume, +COALESCE(n_sells, 0) AS n_sells, +COALESCE(token_sell_volume, 0) AS token_sell_volume +FROM sells +FULL OUTER JOIN buys ON sells.user_address = buys.user_address +AND sells.marketplace = buys.marketplace +AND sells.nf_token_contract = buys.nf_token_contract +AND sells.currency = buys.currency \ No newline at end of file diff --git a/user_metrics.Rproj b/user_metrics.Rproj new file mode 100644 index 0000000..8e3c2eb --- /dev/null +++ b/user_metrics.Rproj @@ -0,0 +1,13 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX