From 080521873e7fbb305fd4d0ca87772091b7d58839 Mon Sep 17 00:00:00 2001 From: 0xRob <83790096+0xRobin@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:37:41 +0100 Subject: [PATCH 1/9] set up as pul_request_target (#7338) --- .github/workflows/pr_automation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_automation.yml b/.github/workflows/pr_automation.yml index 347e935773c..e43f95343f5 100644 --- a/.github/workflows/pr_automation.yml +++ b/.github/workflows/pr_automation.yml @@ -1,7 +1,7 @@ name: PR automation on: - pull_request: + pull_request_target: types: - opened - ready_for_review From aa33d8d412e4daf26bceb87f96d87b0801d29342 Mon Sep 17 00:00:00 2001 From: maybeyonas Date: Mon, 16 Dec 2024 16:52:54 +0530 Subject: [PATCH 2/9] [branch repeat] [swell] adding daily balances table of core swell assets (#7246) * fuck it we ball ? * dont think the previous incremental balled * trying to fix seed testing * lets try this * adding core asset balances * fix unique key * testing single seed * adding more seeds * [to be reverted] try testing only missing tokens * revert * adding missing swell assets to tokens_ethereum_erc20 * fix earnBTC decimals * add dependancy warning * add seed for earnAssets and rSWELL --------- Co-authored-by: 0xRob <83790096+0xRobin@users.noreply.github.com> --- .../balances_incremental_subset_daily.sql | 3 + .../swell_balances_ethereum_core_assets.sql | 58 +++++++++++++++++ .../swell_balances_ethereum_schema.yml | 63 +++++++++++++++++++ .../seeds/swell/balances/ethereum/schema.yml | 12 ++++ ...ell_balances_ethereum_core_assets_seed.csv | 8 +++ 5 files changed, 144 insertions(+) create mode 100644 dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_core_assets.sql create mode 100644 dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_schema.yml create mode 100644 dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/schema.yml create mode 100644 dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/swell_balances_ethereum_core_assets_seed.csv diff --git a/dbt_macros/shared/balances_incremental_subset_daily.sql b/dbt_macros/shared/balances_incremental_subset_daily.sql index d397380b258..a8566504dd6 100644 --- a/dbt_macros/shared/balances_incremental_subset_daily.sql +++ b/dbt_macros/shared/balances_incremental_subset_daily.sql @@ -2,6 +2,9 @@ @NOTICE this macro constructs the address level token balances table for given input table @NOTICE aka, you give lists of tokens and/or address, it generates table with daily balances of the address-token pair + + @WARN this macro has a dependancy on erc20.tokens. + @WARN if your token is not in the default list, manually add it via spellbook/dbt_subprojects/tokens/models/tokens//tokens__erc20.sql @PARAM blockchain -- blockchain name @PARAM address_list -- must have an address column, can be none if only filtering on tokens diff --git a/dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_core_assets.sql b/dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_core_assets.sql new file mode 100644 index 00000000000..66bf403601c --- /dev/null +++ b/dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_core_assets.sql @@ -0,0 +1,58 @@ +{{ + config( + schema = 'swell_balances_ethereum', + alias = 'core_assets', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['day', 'wallet_address', 'token_address'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.day')], + post_hook='{{ expose_spells(\'["ethereum"]\', + "project", + "swell", + \'["maybeYonas"]\') }}' + ) +}} + +with +tokens as ( + select * from (values + (0xf951E335afb289353dc249e82926178EaC7DEd78, 'swETH', 'Swell LRT'), + (0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0, 'rswETH', 'Swell LRT'), + (0x0a6E7Ba5042B38349e437ec6Db6214AEC7B35676, 'SWELL', 'Swell LRT'), + (0x358d94b5b2F147D741088803d932Acb566acB7B6, 'rSWELL', 'Swell LRT'), + (0x9Ed15383940CC380fAEF0a75edacE507cC775f22, 'earnETH', 'Swell LRT'), + (0x66E47E6957B85Cf62564610B76dD206BB04d831a, 'earnBTC', 'Swell LRT'), + (0x8DB2350D78aBc13f5673A411D4700BCF87864dDE, 'swBTC', 'Swell LRT') + ) as t( + token_address, + symbol, + name + ) +), +balances as ( + {{ + balances_incremental_subset_daily( + blockchain = 'ethereum', + token_list = 'tokens', + start_date = '2023-04-12' + ) + }} +) + +select + -- t.name, + b.blockchain, + b.day, + b.address as wallet_address, + b.token_symbol, + b.token_address, + b.token_standard, + b.token_id, + b.balance, + b.balance_usd, + b.last_updated, + b.next_update +from balances b +-- left join tokens t +-- on b.token_address = t.token_address diff --git a/dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_schema.yml b/dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_schema.yml new file mode 100644 index 00000000000..733fd566ef0 --- /dev/null +++ b/dbt_subprojects/daily_spellbook/models/swell/balances/ethereum/swell_balances_ethereum_schema.yml @@ -0,0 +1,63 @@ +version: 2 + +models: + - name: swell_balances_ethereum_core_assets + + meta: + blockchain: ethereum + project: swell + contributors: maybeYonas + + config: + tags: ['swell', 'restaking', 'lrt', 'lst', 'vaults', 'balances'] + description: "balances of swell asset holders" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - day + - wallet_address + - token_address + - check_seed: + seed_file: ref('swell_balances_ethereum_core_assets_seed') + match_columns: + - blockchain + - day + - wallet_address + - token_address + check_columns: + - balance + - last_updated + columns: + - &blockchain + name: blockchain + description: "blockchain" + - &day + name: day + description: "date on which the token balance is logged" + - &wallet_address + name: wallet_address + description: "wallet address of the holder" + - &token_symbol + name: token_symbol + description: "token symbol" + - &token_address + name: token_address + description: "token address" + - &token_standard + name: token_standard + description: "standard of the token (erc20)" + - &token_id + name: token_id + description: "ID of the token" + - &balance + name: balance + description: "asset balance of the wallet" + - &balance_usd + name: balance_usd + description: "usd value of token balance of the wallet" + - &last_updated + name: last_updated + description: "UTC timestamp when balance was last updated" + - &next_update + name: next_update + description: "UTC timestamp when balance is next updated" diff --git a/dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/schema.yml b/dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/schema.yml new file mode 100644 index 00000000000..5bf343416bd --- /dev/null +++ b/dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/schema.yml @@ -0,0 +1,12 @@ +version: 2 + +seeds: + - name: swell_balances_ethereum_core_assets_seed + config: + column_types: + blockchain: varchar + day: timestamp + wallet_address: varbinary + token_address: varbinary + balance: double + last_updated: timestamp \ No newline at end of file diff --git a/dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/swell_balances_ethereum_core_assets_seed.csv b/dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/swell_balances_ethereum_core_assets_seed.csv new file mode 100644 index 00000000000..56bd9d1d361 --- /dev/null +++ b/dbt_subprojects/daily_spellbook/seeds/swell/balances/ethereum/swell_balances_ethereum_core_assets_seed.csv @@ -0,0 +1,8 @@ +blockchain,day,wallet_address,token_address,balance,last_updated +ethereum,2024-08-13 00:00:00.000 UTC,0x4589Ef5d52a152C25Daa513cF43b1389Bd1f3C00,0xf951E335afb289353dc249e82926178EaC7DEd78,0.004752378895635013,2024-02-29 00:00:00.000 UTC +ethereum,2024-12-04 00:00:00.000 UTC,0xaf1ec97ea59e9052ee563e4265c39291c020e3dd,0x0a6e7ba5042b38349e437ec6db6214aec7b35676,1074.616281,2024-11-08 00:00:00.000 UTC +ethereum,2024-12-05 00:00:00.000 UTC,0x841ea52b74c94420a61d41ba790e710e1af8ee0a,0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0,0.050121577326075153,2024-11-24 00:00:00.000 UTC +ethereum,2024-08-13 00:00:00.000 UTC,0xfee2d4498085581dde097b9924e4e3544682d767,0x8db2350d78abc13f5673a411d4700bcf87864dde,0.04096165,2024-08-13 00:00:00.000 UTC +ethereum,2024-12-04 00:00:00.000 UTC,0xbdD5d655ad781FB9929BFe515EB4A50090444C21,0x9Ed15383940CC380fAEF0a75edacE507cC775f22,89.828941195874851394,2024-11-08 00:00:00.000 UTC +ethereum,2024-12-01 00:00:00.000 UTC,0x84a6a7c0674A3AA03e09c026600cb46181821f07,0x66E47E6957B85Cf62564610B76dD206BB04d831a,1,2024-11-25 00:00:00.000 UTC +ethereum,2024-12-04 00:00:00.000 UTC,0x22aA3f5D1daFfe1a9DF298e79a0CF2f98C1b92FF,0x358d94b5b2F147D741088803d932Acb566acB7B6,278707.960865665406065408,2024-12-02 00:00:00.000 UTC \ No newline at end of file From 2db18af7428c35bffb1122ce9b633c897c71010c Mon Sep 17 00:00:00 2001 From: viniabussafi <131974393+viniabussafi@users.noreply.github.com> Date: Mon, 16 Dec 2024 11:55:35 +0000 Subject: [PATCH 3/9] update tokens_ethereum_erc20 (#7339) * update tokens_ethereum_erc20 * remove extra line * fix --- .../tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql | 1 + .../tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql | 1 + 2 files changed, 2 insertions(+) diff --git a/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql b/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql index b185e8e88f4..edf8630b902 100644 --- a/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql +++ b/dbt_subprojects/tokens/models/tokens/arbitrum/tokens_arbitrum_erc20.sql @@ -123,4 +123,5 @@ FROM (VALUES , (0x764bfc309090e7f93edce53e5befa374cdcb7b8e, 'GRIMACE', 18) , (0xB0BDE111812EAC913b392D80D51966eC977bE3A2, 'jUSDC', 18) , (0xf3b7994e4dA53E04155057Fd61dc501599d57877, 'farmdWETHV3', 18) + , (0x521598765b0E5a4CD743f2769C06787b84617252, 'TLP', 18) ) AS temp_table (contract_address, symbol, decimals) diff --git a/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql b/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql index 56a77d10618..96bf183c18c 100644 --- a/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql +++ b/dbt_subprojects/tokens/models/tokens/ethereum/tokens_ethereum_erc20.sql @@ -4739,4 +4739,5 @@ FROM (VALUES , ( 0x9Ba021B0a9b958B5E75cE9f6dff97C7eE52cb3E6, 'apxETH', 18) , ( 0xa4f6b2cdcb67bf8f48baa459a333d2667aa4b100, 'shezETH', 8) , ( 0x7F4B66FF703336CfC35b901144614496Ae0b0D27, 'shezUSD', 18) + , ( 0xa7b66dda0d7c7c1e43d3130491216172993d163d, 'EVS', 6) ) AS temp_table (contract_address, symbol, decimals) From c134f358a522bab024ecc8e2992eb8aa10c2855f Mon Sep 17 00:00:00 2001 From: hinus <64959125+cxheng315@users.noreply.github.com> Date: Mon, 16 Dec 2024 19:55:49 +0800 Subject: [PATCH 4/9] feat: add wstETH to trusted tokens (#7312) * feat: add wstETH to trusted tokens * Add test --------- Co-authored-by: Huang Geyang --- dbt_subprojects/tokens/models/prices/_schema.yml | 5 +++++ .../tokens/models/prices/prices_trusted_tokens.sql | 1 + 2 files changed, 6 insertions(+) diff --git a/dbt_subprojects/tokens/models/prices/_schema.yml b/dbt_subprojects/tokens/models/prices/_schema.yml index 3e50acf4bd5..0774a3dfa3f 100644 --- a/dbt_subprojects/tokens/models/prices/_schema.yml +++ b/dbt_subprojects/tokens/models/prices/_schema.yml @@ -195,6 +195,11 @@ models: config: tags: [ 'prices', 'stability' ] description: "List of trusted tokens across blockchains" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - contract_address - name: prices_usd_trusted_tokens meta: diff --git a/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql b/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql index 93aacaa0d63..cb20a76eda0 100644 --- a/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql +++ b/dbt_subprojects/tokens/models/prices/prices_trusted_tokens.sql @@ -67,6 +67,7 @@ WITH trusted_tokens AS ( , ('ethereum', 0x6b175474e89094c44da98b954eedeac495271d0f) , ('ethereum', 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599) , ('ethereum', 0xf939e0a03fb07f59a73314e73794be0e57ac1b4e) + , ('ethereum', 0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0) -- wstETH , ('fantom', 0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83) , ('flare', 0x1D80c49BbBCd1C0911346656B529DF9E5c2F783d) , ('fantom', 0x04068da6c83afcfa0e13ba15a6696662335d5b75) From 643d7b9fb12fbcdf7c5ec231bed9e33fa09770e1 Mon Sep 17 00:00:00 2001 From: maybeyonas Date: Mon, 16 Dec 2024 18:02:16 +0530 Subject: [PATCH 5/9] [fluid] adding fluid to dex.trades (#7291) * add fluid pools * minor commet * add block number filter * pool typo fixes and incremental patches * fix source name * adding fluid base trades * add post_hook * add dex source * add schema and info * fix boolean * undo dex info * re add dex info * add seeds * wel wel wel * fix seed * fix seed * incremental fix * adding version * Update dbt_subprojects/dex/models/trades/ethereum/platforms/fluid_v1_ethereum_base_trades.sql Co-authored-by: jeff-dude <102681548+jeff-dude@users.noreply.github.com> --------- Co-authored-by: jeff-dude <102681548+jeff-dude@users.noreply.github.com> --- .../ethereum/fluid_v1_ethereum_pools.sql | 53 ++++++++++++++++ .../_projects/fluid/ethereum/schema.yml | 54 +++++++++++++++++ dbt_subprojects/dex/models/dex_info.sql | 1 + .../dex/models/trades/ethereum/_schema.yml | 19 ++++++ .../ethereum/dex_ethereum_base_trades.sql | 1 + .../fluid_v1_ethereum_base_trades.sql | 60 +++++++++++++++++++ dbt_subprojects/dex/seeds/trades/_schema.yml | 17 +++++- .../fluid_ethereum_base_trades_seed.csv | 3 + .../_sector/dex/trades/ethereum/_sources.yml | 3 + 9 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 dbt_subprojects/dex/models/_projects/fluid/ethereum/fluid_v1_ethereum_pools.sql create mode 100644 dbt_subprojects/dex/models/_projects/fluid/ethereum/schema.yml create mode 100644 dbt_subprojects/dex/models/trades/ethereum/platforms/fluid_v1_ethereum_base_trades.sql create mode 100644 dbt_subprojects/dex/seeds/trades/fluid_ethereum_base_trades_seed.csv diff --git a/dbt_subprojects/dex/models/_projects/fluid/ethereum/fluid_v1_ethereum_pools.sql b/dbt_subprojects/dex/models/_projects/fluid/ethereum/fluid_v1_ethereum_pools.sql new file mode 100644 index 00000000000..f716aad3990 --- /dev/null +++ b/dbt_subprojects/dex/models/_projects/fluid/ethereum/fluid_v1_ethereum_pools.sql @@ -0,0 +1,53 @@ +{{ + config( + schema = 'fluid_ethereum', + alias = 'pools', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['dex'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')], + post_hook='{{ expose_spells(blockchains = \'["ethereum"]\', + spell_type = "project", + spell_name = "fluid", + contributors = \'["maybeYonas", "pyor_xyz"]\') }}' + ) +}} + +{% set weth_address = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' %} + +with +decoded_events as ( + select + block_time, + block_number, + index as evt_index, + tx_hash, + contract_address as factory, + substr(topic1, 13) as dex, + substr(topic2, 13) as supplyToken, + substr(topic3, 13) as borrowToken, + bytearray_to_uint256(data) as dexId + from {{ source('ethereum', 'logs')}} + where topic0 = 0x3fecd5f7aca6136a20a999e7d11ff5dcea4bd675cb125f93ccd7d53f98ec57e4 + -- DexT1Deployed -> sample tx: https://etherscan.io/tx/0xabf5c0e676e69de941c283400d7ac5f47b17a09d870f225b5240522f95da501c#eventlog + and block_number > 20776998 + {% if is_incremental() %} + and {{ incremental_predicate('block_time') }} + {% endif %} +) + +select + 'ethereum' as blockchain, + 'fluid' as project, + '1' as version, + block_time, + block_number, + evt_index, + tx_hash, + factory, + dex, + case supplyToken when 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee then {{weth_address}} else supplyToken end as supply_token, + case borrowToken when 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee then {{weth_address}} else borrowToken end as borrow_token, + dexId as dex_id +from decoded_events \ No newline at end of file diff --git a/dbt_subprojects/dex/models/_projects/fluid/ethereum/schema.yml b/dbt_subprojects/dex/models/_projects/fluid/ethereum/schema.yml new file mode 100644 index 00000000000..8a955decee1 --- /dev/null +++ b/dbt_subprojects/dex/models/_projects/fluid/ethereum/schema.yml @@ -0,0 +1,54 @@ +version: 2 + +models: + - name: fluid_v1_ethereum_pools + meta: + blockchain: ethereum + sector: dex + project: fluid + contributor: maybeYonas + config: + tags: ['ethereum', 'trades', 'fluid', 'dex'] + description: "fluid pools" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - dex + columns: + - &blockchain + name: blockchain + description: "blockchain where the pool is deployed" + - &project + name: project + description: "project name" + - &version + name: version + description: "project version" + - &block_time + name: block_time + description: "utc block timestamp when the pool is deployed" + - &block_number + name: block_number + description: "block number at which the pool is deployed" + - &evt_index + name: evt_index + description: "index of log emitted" + - &tx_hash + name: tx_hash + description: "hash of tx in which pool is deployed" + - &factory + name: factory + description: "factory contract deploying the pool" + - &dex + name: dex + description: "pool contract address" + - &supply_token + name: supply_token + description: "supply token" + - &borrow_token + name: borrow_token + description: "borrow token" + - &dex_id + name: dex_id + description: "nonce unique to factory and pool" + diff --git a/dbt_subprojects/dex/models/dex_info.sql b/dbt_subprojects/dex/models/dex_info.sql index 2de3399cc3c..678dbf2100d 100644 --- a/dbt_subprojects/dex/models/dex_info.sql +++ b/dbt_subprojects/dex/models/dex_info.sql @@ -192,4 +192,5 @@ FROM (VALUES , ('katana', 'Katana', 'Direct', 'AxieInfinity') , ('jetswap', 'JetSwap', 'Direct', 'Jetfuelfinance') , ('levinswap', 'Levinswap', 'Direct', 'levinswap') + , ('fluid', 'Fluid DEX', 'Direct', '0xfluid') ) AS temp_table (project, name, marketplace_type, x_username) diff --git a/dbt_subprojects/dex/models/trades/ethereum/_schema.yml b/dbt_subprojects/dex/models/trades/ethereum/_schema.yml index 9290c868bf6..5b33a0992c0 100644 --- a/dbt_subprojects/dex/models/trades/ethereum/_schema.yml +++ b/dbt_subprojects/dex/models/trades/ethereum/_schema.yml @@ -645,3 +645,22 @@ models: combination_of_columns: - tx_hash - evt_index + + - name: fluid_v1_ethereum_base_trades + meta: + blockchain: ethereum + sector: dex + project: fluid + contributors: maybeYonas, pyor_xyz + config: + tags: ["ethereum", "dex", "trades", "fluid"] + description: "fluid dex ethereum base trades" + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - tx_hash + - evt_index + - check_dex_base_trades_seed: + seed_file: ref('fluid_ethereum_base_trades_seed') + filter: + version: 1 diff --git a/dbt_subprojects/dex/models/trades/ethereum/dex_ethereum_base_trades.sql b/dbt_subprojects/dex/models/trades/ethereum/dex_ethereum_base_trades.sql index 25e4ae0e1b8..7dc42461e0d 100644 --- a/dbt_subprojects/dex/models/trades/ethereum/dex_ethereum_base_trades.sql +++ b/dbt_subprojects/dex/models/trades/ethereum/dex_ethereum_base_trades.sql @@ -40,6 +40,7 @@ , ref('swaap_v2_ethereum_base_trades') , ref('valantis_hot_ethereum_base_trades') , ref('xchange_v2_ethereum_base_trades') + , ref('fluid_v1_ethereum_base_trades') ] %} WITH base_union AS ( diff --git a/dbt_subprojects/dex/models/trades/ethereum/platforms/fluid_v1_ethereum_base_trades.sql b/dbt_subprojects/dex/models/trades/ethereum/platforms/fluid_v1_ethereum_base_trades.sql new file mode 100644 index 00000000000..2c6008d451b --- /dev/null +++ b/dbt_subprojects/dex/models/trades/ethereum/platforms/fluid_v1_ethereum_base_trades.sql @@ -0,0 +1,60 @@ +{{ + config( + schema = 'fluid_v1_ethereum', + alias = 'base_trades', + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + unique_key = ['tx_hash', 'evt_index'], + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')] + ) +}} + +with +decoded_events as ( + select + '1' as version, + t.evt_block_number as block_number, + t.evt_block_time as block_time, + t.to as taker, + cast(null as varbinary) as maker, + t.amountOut as token_bought_amount_raw, + t.amountIn as token_sold_amount_raw, + case when swap0to1 + then p.borrow_token + else p.supply_token + end as token_bought_address, + case when not(swap0to1) + then p.borrow_token + else p.supply_token + end as token_sold_address, + t.contract_address as project_contract_address, + t.evt_tx_hash as tx_hash, + t.evt_index + from {{ source('fluid_ethereum', 'FluidDexT1_evt_Swap') }} t + inner join {{ ref('fluid_v1_ethereum_pools') }} p + on t.contract_address = p.dex + {% if is_incremental() %} + where {{ incremental_predicate('t.evt_block_time') }} + {% endif %} +) + + +SELECT + 'ethereum' as blockchain, + 'fluid' as project, + dexs.version, + cast(date_trunc('month', dexs.block_time) as date) as block_month, + cast(date_trunc('day', dexs.block_time) as date) as block_date, + dexs.block_time, + dexs.block_number, + dexs.token_bought_amount_raw, + dexs.token_sold_amount_raw, + dexs.token_bought_address, + dexs.token_sold_address, + dexs.taker, + dexs.maker, + dexs.project_contract_address, + dexs.tx_hash, + dexs.evt_index +FROM decoded_events dexs diff --git a/dbt_subprojects/dex/seeds/trades/_schema.yml b/dbt_subprojects/dex/seeds/trades/_schema.yml index 548192dab81..1bc3dd58d97 100644 --- a/dbt_subprojects/dex/seeds/trades/_schema.yml +++ b/dbt_subprojects/dex/seeds/trades/_schema.yml @@ -4559,7 +4559,7 @@ seeds: token_bought_amount_raw: uint256 token_sold_amount_raw: uint256 block_date: timestamp - + - name: levinswap_gnosis_base_trades_seed config: column_types: @@ -4574,3 +4574,18 @@ seeds: token_bought_amount_raw: uint256 token_sold_amount_raw: uint256 block_date: timestamp + + - name: fluid_ethereum_base_trades_seed + config: + column_types: + blockchain: varchar + project: varchar + version: varchar + tx_hash: varbinary + evt_index: uint256 + block_number: uint256 + token_bought_address: varbinary + token_sold_address: varbinary + token_bought_amount_raw: uint256 + token_sold_amount_raw: uint256 + block_date: timestamp diff --git a/dbt_subprojects/dex/seeds/trades/fluid_ethereum_base_trades_seed.csv b/dbt_subprojects/dex/seeds/trades/fluid_ethereum_base_trades_seed.csv new file mode 100644 index 00000000000..79406267b36 --- /dev/null +++ b/dbt_subprojects/dex/seeds/trades/fluid_ethereum_base_trades_seed.csv @@ -0,0 +1,3 @@ +blockchain,project,version,block_date,tx_hash,evt_index,token_bought_address,token_sold_address,block_number,token_bought_amount_raw,token_sold_amount_raw +ethereum,fluid,1,2024-12-10,0x6d3da988fdce7dec28e2e61cca6704cda8c9a42faf0a62d35f9a10765b59799c,350,0xdac17f958d2ee523a2206206994597c13d831ec7,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48,21374285,99976540470,100000000000 +ethereum,fluid,1,2024-10-30,0x700f7f91ce515c42872e70ce896241c6feb4cdd3390ff40853e6131cfd9361bc,400,0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0,0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,21074822,144552151975089000000,171000000000000000000 \ No newline at end of file diff --git a/sources/_sector/dex/trades/ethereum/_sources.yml b/sources/_sector/dex/trades/ethereum/_sources.yml index d95c3bb0c06..5c63d9043bc 100644 --- a/sources/_sector/dex/trades/ethereum/_sources.yml +++ b/sources/_sector/dex/trades/ethereum/_sources.yml @@ -129,3 +129,6 @@ sources: - name: SovereignPool_evt_Swap - name: ProtocolFactory_evt_SovereignPoolDeployed - name: HOT_evt_HotSwap + - name: fluid_ethereum + tables: + - name: FluidDexT1_evt_Swap From cec63b1b1d011dc0d26f84dfba1224e2c9144e53 Mon Sep 17 00:00:00 2001 From: whale_hunter <143016036+whalehunting@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:32:23 +0100 Subject: [PATCH 6/9] fix: flokibot spellbook missing trades (#7335) * chore: add openocean aggregator trades * fix: fix table name * fix: add missing sources --------- Co-authored-by: 0xRob <83790096+0xRobin@users.noreply.github.com> --- .../ethereum/flokibot_ethereum_bot_trades.sql | 13 +++++++++++++ .../ethereum/openocean_ethereum_sources.yml | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 sources/openocean/ethereum/openocean_ethereum_sources.yml diff --git a/dbt_subprojects/dex/models/bot_trades/flokibot/ethereum/flokibot_ethereum_bot_trades.sql b/dbt_subprojects/dex/models/bot_trades/flokibot/ethereum/flokibot_ethereum_bot_trades.sql index d8991b7cbfd..767d546a6c9 100644 --- a/dbt_subprojects/dex/models/bot_trades/flokibot/ethereum/flokibot_ethereum_bot_trades.sql +++ b/dbt_subprojects/dex/models/bot_trades/flokibot/ethereum/flokibot_ethereum_bot_trades.sql @@ -64,12 +64,25 @@ with {% else %} and call_block_time >= timestamp '{{project_start_date}}' {% endif %} ), + openocean_aggregator_trades as ( + select evt_block_time as block_time, evt_tx_hash as tx_hash + from {{ source('openocean_v2_ethereum', 'OpenOceanExchangeProxy_evt_Swapped') }} + where + referrer = {{ treasury_fee_wallet_2 }} + {% if is_incremental() %} + and {{ incremental_predicate('evt_block_time') }} + {% else %} and evt_block_time >= timestamp '{{project_start_date}}' + {% endif %} + ), trade_transactions as ( select block_time, address, null as tx_hash from bot_contracts union all select block_time, null as address, tx_hash from oneinch_aggregator_trades + union all + select block_time, null as address, tx_hash + from openocean_aggregator_trades ), bot_trades as ( select diff --git a/sources/openocean/ethereum/openocean_ethereum_sources.yml b/sources/openocean/ethereum/openocean_ethereum_sources.yml new file mode 100644 index 00000000000..7058039ffd1 --- /dev/null +++ b/sources/openocean/ethereum/openocean_ethereum_sources.yml @@ -0,0 +1,6 @@ +version: 2 + +sources: + - name: openocean_v2_ethereum + tables: + - name: OpenOceanExchangeProxy_evt_Swapped From a22be37f72c1531eb0e4aa5806b2554d674ab000 Mon Sep 17 00:00:00 2001 From: Haris Angelidakis <64154020+harisang@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:34:15 +0200 Subject: [PATCH 7/9] update furucombo name on gc and arbitrum (#7333) Co-authored-by: 0xRob <83790096+0xRobin@users.noreply.github.com> --- .../cow_protocol/arbitrum/cow_protocol_arbitrum_solvers.sql | 4 ++-- .../cow_protocol/gnosis/cow_protocol_gnosis_solvers.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/arbitrum/cow_protocol_arbitrum_solvers.sql b/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/arbitrum/cow_protocol_arbitrum_solvers.sql index 22feb72c40a..cfda80c9661 100644 --- a/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/arbitrum/cow_protocol_arbitrum_solvers.sql +++ b/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/arbitrum/cow_protocol_arbitrum_solvers.sql @@ -45,7 +45,7 @@ known_solver_metadata (address, environment, name) as ( (0xc46Ac109FDe084192BE59C24C3680D818763b0fd, 'prod', 'Gnosis_ParaSwap'), (0xD31E0CE8154Da6b8086d961eB3068Ef74C4322b6, 'prod', 'Gnosis_0x'), (0xAa224676d096B6Fc257F8C386C67d9e96e53AD59, 'prod', 'Gnosis_BalancerSOR'), - (0x5932b2c05172aAfE097CE0Fbd27d18a7d5A45eE1, 'prod', 'Furucombo'), + (0x5932b2c05172aAfE097CE0Fbd27d18a7d5A45eE1, 'prod', 'Portus'), (0x3A485742Bd85e660e72dE0f49cC27AD7a62911B5, 'prod', 'Seasolver'), (0x059aefdF9d9F47def37cF7066DA83fEB91fDd089, 'prod', 'Barter'), (0x40798d2261f8b7F11BFa73623c99C876844dD05A, 'prod', 'OpenOcean_Aggregator'), @@ -64,7 +64,7 @@ known_solver_metadata (address, environment, name) as ( (0x9C803d345615aDe1e5ae07A789968403fAc9171a, 'barn', 'Gnosis_ParaSwap'), (0x69433b336952e84Db44EF40b16B338F139B8baA1, 'barn', 'Gnosis_0x'), (0xCED55FC88186f672105712fe177374cce4861FDF, 'barn', 'Gnosis_BalancerSOR'), - (0xE376a730037D8B495864FD5ed6373BE89643cD06, 'barn', 'Furucombo'), + (0xE376a730037D8B495864FD5ed6373BE89643cD06, 'barn', 'Portus'), (0x2633bd8e5FDf7C72Aca1d291CA11bdB717A6aa3d, 'barn', 'Seasolver'), (0x7B0211286d8Dfdb717f4A2E5Fa5131eD911097e1, 'barn', 'Barter'), (0xc8371B2898FBaEeAe658f9FaeE8ddeDA24e37012, 'barn', 'OpenOcean_Aggregator'), diff --git a/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/gnosis/cow_protocol_gnosis_solvers.sql b/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/gnosis/cow_protocol_gnosis_solvers.sql index dd7b75e11b0..3710ace1cd4 100644 --- a/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/gnosis/cow_protocol_gnosis_solvers.sql +++ b/dbt_subprojects/hourly_spellbook/models/_project/cow_protocol/gnosis/cow_protocol_gnosis_solvers.sql @@ -61,14 +61,14 @@ known_solver_metadata (address, environment, name) as ( (0x4930a9012e8677ae764e44f2b46af8087a1f9f8e, 'barn', 'Gnosis_BalancerSOR'), (0x8e600b399Da9c46255ccac98764987cF81837a66, 'barn', 'Enso'), (0xC8D2f12a9505a82C4f6994204f4BbF095183E63A, 'barn', 'Seasolver'), - (0x67be9614C4E0FCdA95AFC66a95B5BDAFb55fa362, 'barn', 'Furucombo'), + (0x67be9614C4E0FCdA95AFC66a95B5BDAFb55fa362, 'barn', 'Portus'), (0x53F5378A6f8bb24333aD8D68FD28816504a467b2, 'barn', 'Copium_Capital'), (0xC4dd6355Fbc6Eb108FD1C100389789C5B1A9A980, 'barn', 'Barter'), (0x4398129426Cb1377E9E10395b8dfBDa153c7Fe7D, 'barn', 'Fractal'), (0x727EB77c6f84ef148403f641aA32d75b7f6902A7, 'prod', 'Fractal'), (0x0a360134553feED49FE5eb273074d80B6e45941F, 'prod', 'Barter'), (0xb4694FE6590acd1281Dc34a966bbAE224559BaD4, 'prod', 'Copium_Capital'), - (0x227FDA1D5970dF605D785Bf5F2F8899d5fdF8624, 'prod', 'Furucombo'), + (0x227FDA1D5970dF605D785Bf5F2F8899d5fdF8624, 'prod', 'Portus'), (0xE3068acB5b5672408eADaD4417e7d3BA41D4FEBe, 'prod', 'Seasolver'), (0x12c53cdD1ef150E1cd291DD210b761acFADA6B9C, 'prod', 'Enso'), (0xf671d28fef15e5eafc21898c2814b1b4cd88bc9a, 'prod', 'Gnosis_BalancerSOR'), From 1ca58e95a657839dfe58f350593cefd607b3a615 Mon Sep 17 00:00:00 2001 From: clizzard <145153355+clizzard7@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:55:14 +0100 Subject: [PATCH 8/9] add sanji (#7337) * add sanji * fixed seed --------- Co-authored-by: 0xRob <83790096+0xRobin@users.noreply.github.com> --- .../_sector/dex/bot_trades/solana/_schema.yml | 22 +++ .../solana/dex_solana_bot_trades.sql | 1 + .../platforms/sanji_solana_bot_trades.sql | 152 ++++++++++++++++++ .../seeds/sanji/sanji_solana_trades_seed.csv | 21 +++ 4 files changed, 196 insertions(+) create mode 100644 dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/sanji_solana_bot_trades.sql create mode 100644 dbt_subprojects/solana/seeds/sanji/sanji_solana_trades_seed.csv diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml index bdf23c8aba1..413d474f8a0 100644 --- a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml @@ -733,3 +733,25 @@ models: - check_bot_trades_seed: seed_file: ref('prophetbots_solana_trades_seed') blockchain: solana + + - name: sanji_solana_bot_trades + meta: + blockchain: solana + sector: dex + project: sanji + contributors: whale_hunter + config: + tags: ["solana", "dex", "sanji", "trades"] + description: > + Sanji trades on Solana + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - tx_id + - tx_index + - outer_instruction_index + - inner_instruction_index + - check_bot_trades_seed: + seed_file: ref('sanji_solana_trades_seed') + blockchain: solana diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/dex_solana_bot_trades.sql b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/dex_solana_bot_trades.sql index 1432bf2fbb6..a047ad493be 100644 --- a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/dex_solana_bot_trades.sql +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/dex_solana_bot_trades.sql @@ -38,6 +38,7 @@ , ref('bitfoot_solana_bot_trades') , ref('tradewiz_solana_bot_trades') , ref('prophetbots_solana_bot_trades') + , ref('sanji_solana_bot_trades') ] %} {% for bot in solana_trading_bot %} diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/sanji_solana_bot_trades.sql b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/sanji_solana_bot_trades.sql new file mode 100644 index 00000000000..03cc106c17b --- /dev/null +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/sanji_solana_bot_trades.sql @@ -0,0 +1,152 @@ +{{ config( + alias = 'bot_trades', + schema = 'sanji_solana', + partition_by = ['block_month'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')], + unique_key = ['blockchain', 'tx_id', 'tx_index', 'outer_instruction_index', 'inner_instruction_index'] + ) +}} + +{% set project_start_date = '2024-11-21' %} +{% set fee_receiver_1 = '4E64WX4EARRMfHsvL4ZXbrbpiPcBUyrC62uawGofhdNN' %} +{% set wsol_token = 'So11111111111111111111111111111111111111112' %} + +WITH + allFeePayments AS ( + SELECT + tx_id, + 'SOL' AS feeTokenType, + balance_change / 1e9 AS fee_token_amount, + '{{wsol_token}}' AS fee_token_mint_address + FROM + {{ source('solana','account_activity') }} + WHERE + {% if is_incremental() %} + {{ incremental_predicate('block_time') }} + {% else %} + block_time >= TIMESTAMP '{{project_start_date}}' + {% endif %} + AND tx_success + AND balance_change > 0 + AND ( + address = '{{fee_receiver_1}}' + ) + ), + botTrades AS ( + SELECT + trades.block_time, + CAST(date_trunc('day', trades.block_time) AS date) AS block_date, + CAST(date_trunc('month', trades.block_time) AS date) AS block_month, + 'solana' AS blockchain, + amount_usd, + IF( + token_sold_mint_address = '{{wsol_token}}', + 'Buy', + 'Sell' + ) AS type, + token_bought_amount, + token_bought_symbol, + token_bought_mint_address AS token_bought_address, + token_sold_amount, + token_sold_symbol, + token_sold_mint_address AS token_sold_address, + fee_token_amount * price AS fee_usd, + fee_token_amount, + IF(feeTokenType = 'SOL', 'SOL', symbol) AS fee_token_symbol, + fee_token_mint_address AS fee_token_address, + project, + version, + token_pair, + project_program_id AS project_contract_address, + trader_id AS user, + trades.tx_id, + tx_index, + outer_instruction_index, + inner_instruction_index + FROM + {{ ref('dex_solana_trades') }} AS trades + JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id + LEFT JOIN {{ source('prices', 'usd') }} AS feeTokenPrices ON ( + feeTokenPrices.blockchain = 'solana' + AND fee_token_mint_address = toBase58 (feeTokenPrices.contract_address) + AND date_trunc('minute', block_time) = minute + {% if is_incremental() %} + AND {{ incremental_predicate('minute') }} + {% else %} + AND minute >= TIMESTAMP '{{project_start_date}}' + {% endif %} + ) + JOIN {{ source('solana','transactions') }} AS transactions ON ( + trades.tx_id = id + {% if is_incremental() %} + AND {{ incremental_predicate('transactions.block_time') }} + {% else %} + AND transactions.block_time >= TIMESTAMP '{{project_start_date}}' + {% endif %} + ) + WHERE + trades.trader_id != '{{fee_receiver_1}}' -- Exclude trades signed by FeeWallet + AND transactions.signer != '{{fee_receiver_1}}' -- Exclude trades signed by FeeWallet + {% if is_incremental() %} + AND {{ incremental_predicate('trades.block_time') }} + {% else %} + AND trades.block_time >= TIMESTAMP '{{project_start_date}}' + {% endif %} + ), + highestInnerInstructionIndexForEachTrade AS ( + SELECT + tx_id, + outer_instruction_index, + MAX(inner_instruction_index) AS highestInnerInstructionIndex + FROM + botTrades + GROUP BY + tx_id, + outer_instruction_index + ) +SELECT + block_time, + block_date, + block_month, + 'Sanji' as bot, + blockchain, + amount_usd, + type, + token_bought_amount, + token_bought_symbol, + token_bought_address, + token_sold_amount, + token_sold_symbol, + token_sold_address, + fee_usd, + fee_token_amount, + fee_token_symbol, + fee_token_address, + project, + version, + token_pair, + project_contract_address, + user, + botTrades.tx_id, + tx_index, + botTrades.outer_instruction_index, + COALESCE(inner_instruction_index, 0) AS inner_instruction_index, + IF( + inner_instruction_index = highestInnerInstructionIndex, + true, + false + ) AS is_last_trade_in_transaction +FROM + botTrades + JOIN highestInnerInstructionIndexForEachTrade ON ( + botTrades.tx_id = highestInnerInstructionIndexForEachTrade.tx_id + AND botTrades.outer_instruction_index = highestInnerInstructionIndexForEachTrade.outer_instruction_index + ) +ORDER BY + block_time DESC, + tx_index DESC, + outer_instruction_index DESC, + inner_instruction_index DESC diff --git a/dbt_subprojects/solana/seeds/sanji/sanji_solana_trades_seed.csv b/dbt_subprojects/solana/seeds/sanji/sanji_solana_trades_seed.csv new file mode 100644 index 00000000000..379c07d13cc --- /dev/null +++ b/dbt_subprojects/solana/seeds/sanji/sanji_solana_trades_seed.csv @@ -0,0 +1,21 @@ +block_time,block_date,block_month,bot,blockchain,amount_usd,type,token_bought_amount,token_bought_symbol,token_bought_address,token_sold_amount,token_sold_symbol,token_sold_address,fee_usd,fee_token_amount,fee_token_symbol,fee_token_address,project,version,token_pair,project_contract_address,user,tx_id,tx_index,outer_instruction_index,inner_instruction_index,is_last_trade_in_transaction +2024-12-15 07:06:47.000 UTC,2024-12-15,2024-12-01,Sanji,solana,2.12730476036,Sell,0.009734612,SOL,So11111111111111111111111111111111111111112,632.120372,timmy,4MH3cmHGELMSWeWsYVQJFgb9tmed26ZTUVQ3jkANpump,0.014851298800000001,0.00006796,SOL,So11111111111111111111111111111111111111112,raydium,4,timmy-SOL,a5cEyYEG1RaBTpsY1QapYKDv6ixvbD6CVkisSvT5Ufo,7rqre26G9XjaEjbwtSHCU97LoU1KY7LGAthXNDyygLUD,4GdbkGaaMWoPM14vJsNWCMQ4vpnMKzJAow2ZZEXe1BnGtzoMyBq5GfLBK8X6W1XihZBPV7x677z47DAtYvv7Qwt4,1263,5,0,true +2024-12-14 21:57:46.000 UTC,2024-12-14,2024-12-01,Sanji,solana,10.8765,Buy,108399.066862,ROJO,HANuXquoXxPQuUdWq2pSonH3GUwjfwg9wwxeP8do6bWV,0.05,SOL,So11111111111111111111111111111111111111112,0.0761355,0.00035,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-ROJO,27gMxh6F68GoctWNp3YyLhrMwaZsLzwK6WDLyVQCQUmd,FAZuZgyYsYQjkJD6o3YaVwz4MdvitFDWoA4DvWmR8mS5,62qqXEMGk6uiSLBfscjbcLP7aAPHtK7uvmUmxq5akQ7FE6eHeM5axrZk6J18Wc11GstxEdgoMEKn8akZwApXjmDM,1632,6,0,true +2024-12-13 23:30:55.000 UTC,2024-12-13,2024-12-01,Sanji,solana,1.25854035633,Sell,0.005622751,SOL,So11111111111111111111111111111111111111112,19013.576389,ipod,5wQPBazUaVtMTqtAGXYPdDSenxDqM5vJiDsEfov7pump,0.007536356100000001,0.00003367,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-ipod,A7LAumFoyJFTR8V9ChoSP8iSpquVacpZHva1oZ2JqS16,8Z4zvnXqR7bgJttHKpAP2SUa1TuzmXjqLj7pEbEzMmkd,2kgteAdXaZYthVsUoxHGmQGJKBGbgEahA4nGSaYh3eqzYVGKm6ovtm3UynpcKqSPX21Zdz6GfyEnGtUDdShRS2FB,2946,3,2,true +2024-12-07 16:58:50.000 UTC,2024-12-07,2024-12-01,Sanji,solana,190.39411413672,Sell,0.786817564,SOL,So11111111111111111111111111111111111111112,856847975790.57,DNA,DiSetnR7k57wmfvywJhUVjPwWfg54SdQKxQdJEBYW23B,1.3498394538,0.00557831,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-DNA,45L3EuUJKyqhkNDfocrd3yAZu8nzMPXiHtwhjCvidgua,B273T7o6o1Cn9uy4uByzKxpHGqqALAPo9JuZBp9ctZbK,5vBFyx35NGM1Z8r8iB8TLDpVA3mK7LhqqUu5E2iTbJU6UNxPxmMFTTwspqa2Zh6FUKizddQVH2vtEQELWz3rLXbS,617,5,0,true +2024-12-06 01:33:22.000 UTC,2024-12-06,2024-12-01,Sanji,solana,2.48840085109,Sell,0.010124917,SOL,So11111111111111111111111111111111111111112,2.5,USDT,Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB,0.0174201776,0.00007088,SOL,So11111111111111111111111111111111111111112,raydium,4,USDT-SOL,7XawhbbxtsRcQA8KTkHT9f9nc6d69UwqCDh6U5EEbEmX,EYzmfW4iqDGNhgTiyA71ETMLnSRPJEKykYzDwNWBQFYv,5sY1pA9d1NY7byu4pK6FAtNGjASU51zv5guRb31HNws5pGVg88XEpMNbPULSCo3GbYhbzgRgKynyejhxfWNodBHg,895,5,0,true +2024-12-07 06:41:44.000 UTC,2024-12-07,2024-12-01,Sanji,solana,0.0774845692,Sell,0.00032884,SOL,So11111111111111111111111111111111111111112,6503.817475,Trump47,PfzhpjdDd2rHLRLWyTQBbqB6KBJfx8yVVGqSYkq5bqC,0.000541949,0.0000023,SOL,So11111111111111111111111111111111111111112,raydium,4,Trump47-SOL,2kcuRFMvJvqe82E7byJBCDMn4LT4zNFb2FpPhVbdqCw2,BLZ2UfxRoJ8arGKgAtArQ1SDFDttFA8c6v4qyPGpZLaq,4MNycd2wXRvzR8hikbS5Wsudn3tmf2vHjzxsuXSk5fvBzWW5oYFGLfv7pH1Pdo1eTL2kno7jwsDbVEFz5izKRboM,1480,5,0,true +2024-12-12 22:57:10.000 UTC,2024-12-12,2024-12-01,Sanji,solana,45.932176694949995,Sell,0.201342115,SOL,So11111111111111111111111111111111111111112,7151571.722822,JAILFORJAY,3KSkAdFbPHfGREVEo3DcGDBHEdZ8Ey3zGgFSajYVpump,0.1618422659,0.00070943,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-JAILFORJAY,Exj9V36qy1esrknFo4SAi8728BEGcrXPLwquDHfLtNqZ,8ChErCicUoNVmKbMuzVzoSoVn9s9Fkrsf8f2PoFKWrbZ,5un9ZXyeZfrYrEutX3dVG2dY76GWViTmVR4KVhfKBJQoqixsW2aZisRr31mEz86pfhoUoTWnVsqBqW5qrpyL8RPX,164,3,2,true +2024-12-12 03:19:52.000 UTC,2024-12-12,2024-12-01,Sanji,solana,67.28554651878,Sell,0.293643827,SOL,So11111111111111111111111111111111111111112,629457.273508496,CHILLSLUT,4F33vogWv87XcpGYL4pPXBfmXc5XBEKqPTVYrJrFpump,0.4643155476,0.00202634,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-CHILLSLUT,CYHPMpq6paZHLe24um42WPQMNRGNGTK4Q2LgDFWPZEdS,Ghcb5NXNE8KwvRYob3b8oGy6g5GF9z3Gd4rfrujCRAuL,TckxHyY7orvMD2Aidin1yWhpZM6L614TP8wV4zJTxN1nwgpSmS9AXyzrhG5i7vNp7DJvuurs1aQwPXyqwKEvHc1,757,5,0,true +2024-12-08 02:52:58.000 UTC,2024-12-08,2024-12-01,Sanji,solana,200.38093529355,Sell,0.831697735,SOL,So11111111111111111111111111111111111111112,1748801.699025,T51,4zGCj2Rq16sp3fFdzZHbVUdAqeS4p9buThjKKRQGpump,1.4026679577,0.00582189,SOL,So11111111111111111111111111111111111111112,raydium,4,T51-SOL,GAjizQ2pXjkT962BU9ge7iKkaJtVYvQyHvPfV4vVR9YN,4o3DSxj7rj6mJUNYYCy4vm3dKDwteZVR27K1XT8eSrqu,4BwNnddS7SJpi2oUGH4F9KWo4sQp7RoHERbJtn7eevAshAToZagzR4neQHc867ueKvFa2aU7PmYS3L3xJtEJnbyN,1722,5,0,true +2024-12-07 16:58:51.000 UTC,2024-12-07,2024-12-01,Sanji,solana,7.07179338996,Sell,0.029224702,SOL,So11111111111111111111111111111111111111112,3750224.749119,USA,69kdRLyP5DTRkpHraaSZAQbWmAwzF9guKjZfzMXzcbAs,0.0494800704,0.00020448,SOL,So11111111111111111111111111111111111111112,raydium,4,USA-SOL,HKprCtGbnh1j8xeQggzWhhVd3kwDUdphqPqDP8vMay8b,7wyuQVaYkPxu7oTp1juBXCpmjXM1JvjtBH2bDmWWjddp,xXHQ2v53E2fDymBmad8vQtQZCapEX3MFMr2k5vLgB3vjZV5sdKFtxnGaL8e7JrnYLLcA4cT5t2BbnYZGfhdaDqP,391,5,0,true +2024-12-01 04:48:17.000 UTC,2024-12-01,2024-12-01,Sanji,solana,1.5498037895799999,Sell,0.006555299,SOL,So11111111111111111111111111111111111111112,2707.23956,SNOOPY,CSh9t2fx2TAE25AiZ9oagdcuHomTQoCE1PGxaMjfpump,0.0112039438,0.00004739,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-SNOOPY,6NZ8USQQCiy2dAe6Qg7GZGMRS1z86qq2iH8bokD271ht,BcGqkk3QVi4XmN4BN4deJSvGL1ss8AwiM3n1L7BouFr1,47fBahJ11QJTSkcn2qqdMTc69nQ53yZW5yqu48DzTiLckYu2hwMJATMmQsjhoAGVUDSsUphocrPsFmH7VgL6nEUb,987,5,0,true +2024-12-12 06:28:07.000 UTC,2024-12-12,2024-12-01,Sanji,solana,93.99705161856001,Sell,0.408540732,SOL,So11111111111111111111111111111111111111112,2598.06085,APPLE,H33XL6HHDReCVRgSApZpsXM7Hy7JGyLztRJaGxjapump,0.6579804832,0.00285979,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-APPLE,BEMi9yKdXLL9rNY43cU8CVxZZP4hmr7w7odwtxAMKAzD,vv7iSWi5CFuP9GCv1ufASHBDz6kFNDEWq5nhnpKaLUt,3xS9c2bGTWoTkXfFtRriP8DYTUTm29tqdkpEvCWLe6KJtMDdqvJjgmer3QWffWVYijwkp9ouDTBVVfvjKLmeRnZc,1708,5,0,true +2024-12-04 03:46:15.000 UTC,2024-12-04,2024-12-01,Sanji,solana,7.153499999999999,Buy,99989.752594,JIZZ,Ggx1nVeY23M16r2YqgeJfXMqA5WCGmTQN8RqhaXWPbTL,0.03,SOL,So11111111111111111111111111111111111111112,0.0500745,0.00021,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-JIZZ,EhY8JFCUyPuqJpdNiU9shKjToQb1b6qycmMwdx1o2LSv,2fBwpC4QGeExBWDfpGSqTNMC8xqWMu4Q8gSJYDYiSxta,3QUbFCvFCRDcarhnprUfwDpMFd5mJc7Mp9RXAyqRmmgJWydnQgaBe8i9VgyjKDp3JbL2JwUjqBQhN8qzgd65ugGa,1605,6,0,true +2024-12-12 14:40:20.000 UTC,2024-12-12,2024-12-01,Sanji,solana,4.125138145739999,Sell,0.017878638,SOL,So11111111111111111111111111111111111111112,234.904987,TRUST,EqeEBGHQhQy6SqeaJcnqAsNs3qaG19sdF89Xsarpump,0.02884125,0.000125,SOL,So11111111111111111111111111111111111111112,raydium,4,TRUST-SOL,9dkWXEmCvQGLazzbWZiSDExoPKiw7HkwPSM5bJW8qymL,BtZ1iVeH6h98fgi88pF6qj9oG41v42n3yndpSMDif4kh,5fx2StwS691CMAcJgk7jSPwuUVg1nuWtyKbdfrTNVg62r3uqzejo8yH3o4vYGUGht2yG84HXTJEEFSFtMkcgcqk7,3037,5,0,true +2024-12-12 00:13:26.000 UTC,2024-12-12,2024-12-01,Sanji,solana,3.06566549352,Sell,0.013495622,SOL,So11111111111111111111111111111111111111112,476869.372056,AWWTIC,BPcCs1fer87KzqgkHHCvR36SkfDqaEcLGxt62fkkpump,0.0214620768,0.00009448,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-AWWTIC,4icnNdfDN3FyzTpXBBJWZ5BRHnjvLRAkgK5QhhxDHSD7,8UWDczTGjzjnwmQ3Ah6jcN5qPxCT9oWB3BKhfWyW9G6R,59nJmeny6UzHEeRdUMG1UhVY1xE74yJrR7o9rLauHfPUAsg2yR38oK3mM8sDGtYV8uxXAFmFtmTqH7zmW4FQtLuj,1926,5,0,true +2024-12-12 20:06:07.000 UTC,2024-12-12,2024-12-01,Sanji,solana,6.8361,Buy,37511.994306,CHAINSAW,7nFvyQr2mwHLjBBECj3MsUxeAbP2D89p7Tx6bQtBpump,0.03,SOL,So11111111111111111111111111111111111111112,0.047852700000000005,0.00021,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-CHAINSAW,Eg4hFsUc2MwiBumykUe5dnQws37M3P3WzdGFKpQuqp5t,AQLntiBeqNvynXjrWJv4MSmMFURSfrSbasjUbqwHyWN1,uhCyivWoQUksTryEegnTYxRjrXAp3aeBWRyc8q8Kr99FPj3m1rGZm8tq67fRsbqBSkUs6y4NL7jFGhMEoG9Ke5v,2138,6,0,true +2024-12-13 20:05:17.000 UTC,2024-12-13,2024-12-01,Sanji,solana,0.67938346075,Sell,0.003043151,SOL,So11111111111111111111111111111111111111112,2200.998928,EVOLVE,HQ7NoKrgxcep1hSnNKGbWRtpMf59As5eVKeuwyCzpump,0.0043690025,0.00001957,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-EVOLVE,6J3DXzGB9Ndw795pAfH65HQSDo4MwgRbFDpSF27L3g4S,9zxuSu9cp5euiHaB9NAZ1Y6PhtASWmpetDhvrAUhZBZm,44UWzYjiCcsG6RS81CdCbzQjFaih8ppkkxedMUoZJ2qroSn8Tqov1EXzQfiPvh8cPABK3sCXCdmBppoHSXMFxTFx,1962,5,0,true +2024-12-12 20:47:31.000 UTC,2024-12-12,2024-12-01,Sanji,solana,0.01325559392,Sell,0.000057814,SOL,So11111111111111111111111111111111111111112,0.00000341,WETH,7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs,0.0000940048,4.1e-7,SOL,So11111111111111111111111111111111111111112,raydium,4,WETH-SOL,4yrHms7ekgTBgJg77zJ33TsWrraqHsCXDtuSZqUsuGHb,6VvTvxNoZzHVgivqeFrzBcKK8N9ckMGbMTxcNgbB8MVo,2YjFHGk3YnWdLukUzUmZBZhtQbh7rhoVtSxDDEKtuCVqun85E2DG7tE13D8S9XuiEs58PbfHcBF7BJ61DKWY8wyP,1634,5,0,true +2024-12-12 13:26:56.000 UTC,2024-12-12,2024-12-01,Sanji,solana,0.0017850892199999999,Sell,0.000007698,SOL,So11111111111111111111111111111111111111112,4.5e-7,WETH,7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs,0.000013681509999999998,5.9e-8,SOL,So11111111111111111111111111111111111111112,raydium,4,WETH-SOL,4yrHms7ekgTBgJg77zJ33TsWrraqHsCXDtuSZqUsuGHb,6VvTvxNoZzHVgivqeFrzBcKK8N9ckMGbMTxcNgbB8MVo,FQBE9S8LZTiSvtMCU6qYwtRbvDCG2syeLGXUMq2whe4ALcYHNixAYxSsNY67F3QLACHYjhM1HojoeU7nPvko9J8,1019,5,0,true +2024-12-01 00:19:25.000 UTC,2024-12-01,2024-12-01,Sanji,solana,11.9225,Buy,345972.31649,GRINCHWIF,BoQPkPXdNqRuwyPpkC47Ac9mCk2WwhbgbDG5dt7spump,0.05,SOL,So11111111111111111111111111111111111111112,0.08345749999999999,0.00035,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-GRINCHWIF,ALkGqJ7inoN4n2wW6exur43YQRSHZ5dP3DpQ879DwM85,77PPF9tCqn3PsrYs7WhgKEpy76b3Uzh1i4B93BmoSq2G,4caUnR34GpNUDzeYWDWJZQEP7B6rycCLAoL6sDnYuzDF8ti7wXqsxDqoYuocumX4B7Nmzup8RyZxschkB9ZAQ2tu,1180,6,0,true From 39d698d8fcfad8121a0fe5b57196bbfe23608240 Mon Sep 17 00:00:00 2001 From: clizzard <145153355+clizzard7@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:58:01 +0100 Subject: [PATCH 9/9] add nova (#7307) * add nova * fixed seed * rename schema --------- Co-authored-by: 0xRob <83790096+0xRobin@users.noreply.github.com> --- .../_sector/dex/bot_trades/solana/_schema.yml | 22 +++ .../platforms/nova_solana_bot_trades.sql | 152 ++++++++++++++++++ .../seeds/nova/nova_solana_trades_seed.csv | 21 +++ 3 files changed, 195 insertions(+) create mode 100644 dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/nova_solana_bot_trades.sql create mode 100644 dbt_subprojects/solana/seeds/nova/nova_solana_trades_seed.csv diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml index 413d474f8a0..fb74d1ec172 100644 --- a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/_schema.yml @@ -734,6 +734,28 @@ models: seed_file: ref('prophetbots_solana_trades_seed') blockchain: solana + - name: nova_solana_bot_trades + meta: + blockchain: solana + sector: dex + project: nova + contributors: whale_hunter + config: + tags: ["solana", "dex", "nova", "trades"] + description: > + Nova trades on Solana + data_tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - blockchain + - tx_id + - tx_index + - outer_instruction_index + - inner_instruction_index + - check_bot_trades_seed: + seed_file: ref('nova_solana_trades_seed') + blockchain: solana + - name: sanji_solana_bot_trades meta: blockchain: solana diff --git a/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/nova_solana_bot_trades.sql b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/nova_solana_bot_trades.sql new file mode 100644 index 00000000000..2508b0dfedc --- /dev/null +++ b/dbt_subprojects/solana/models/_sector/dex/bot_trades/solana/platforms/nova_solana_bot_trades.sql @@ -0,0 +1,152 @@ +{{ config( + alias = 'bot_trades', + schema = 'nova_solana', + partition_by = ['block_month'], + materialized = 'incremental', + file_format = 'delta', + incremental_strategy = 'merge', + incremental_predicates = [incremental_predicate('DBT_INTERNAL_DEST.block_time')], + unique_key = ['blockchain', 'tx_id', 'tx_index', 'outer_instruction_index', 'inner_instruction_index'] + ) +}} + +{% set project_start_date = '2024-11-30' %} +{% set fee_receiver_1 = 'noVaE91mUL5jTb8e9Vf6dqJdNPzJpEQ3uAdnQ8h4nVz' %} +{% set wsol_token = 'So11111111111111111111111111111111111111112' %} + +WITH + allFeePayments AS ( + SELECT + tx_id, + 'SOL' AS feeTokenType, + balance_change / 1e9 AS fee_token_amount, + '{{wsol_token}}' AS fee_token_mint_address + FROM + {{ source('solana','account_activity') }} + WHERE + {% if is_incremental() %} + {{ incremental_predicate('block_time') }} + {% else %} + block_time >= TIMESTAMP '{{project_start_date}}' + {% endif %} + AND tx_success + AND balance_change > 0 + AND ( + address = '{{fee_receiver_1}}' + ) + ), + botTrades AS ( + SELECT + trades.block_time, + CAST(date_trunc('day', trades.block_time) AS date) AS block_date, + CAST(date_trunc('month', trades.block_time) AS date) AS block_month, + 'solana' AS blockchain, + amount_usd, + IF( + token_sold_mint_address = '{{wsol_token}}', + 'Buy', + 'Sell' + ) AS type, + token_bought_amount, + token_bought_symbol, + token_bought_mint_address AS token_bought_address, + token_sold_amount, + token_sold_symbol, + token_sold_mint_address AS token_sold_address, + fee_token_amount * price AS fee_usd, + fee_token_amount, + IF(feeTokenType = 'SOL', 'SOL', symbol) AS fee_token_symbol, + fee_token_mint_address AS fee_token_address, + project, + version, + token_pair, + project_program_id AS project_contract_address, + trader_id AS user, + trades.tx_id, + tx_index, + outer_instruction_index, + inner_instruction_index + FROM + {{ ref('dex_solana_trades') }} AS trades + JOIN allFeePayments AS feePayments ON trades.tx_id = feePayments.tx_id + LEFT JOIN {{ source('prices', 'usd') }} AS feeTokenPrices ON ( + feeTokenPrices.blockchain = 'solana' + AND fee_token_mint_address = toBase58 (feeTokenPrices.contract_address) + AND date_trunc('minute', block_time) = minute + {% if is_incremental() %} + AND {{ incremental_predicate('minute') }} + {% else %} + AND minute >= TIMESTAMP '{{project_start_date}}' + {% endif %} + ) + JOIN {{ source('solana','transactions') }} AS transactions ON ( + trades.tx_id = id + {% if is_incremental() %} + AND {{ incremental_predicate('transactions.block_time') }} + {% else %} + AND transactions.block_time >= TIMESTAMP '{{project_start_date}}' + {% endif %} + ) + WHERE + trades.trader_id != '{{fee_receiver_1}}' -- Exclude trades signed by FeeWallet + AND transactions.signer != '{{fee_receiver_1}}' -- Exclude trades signed by FeeWallet + {% if is_incremental() %} + AND {{ incremental_predicate('trades.block_time') }} + {% else %} + AND trades.block_time >= TIMESTAMP '{{project_start_date}}' + {% endif %} + ), + highestInnerInstructionIndexForEachTrade AS ( + SELECT + tx_id, + outer_instruction_index, + MAX(inner_instruction_index) AS highestInnerInstructionIndex + FROM + botTrades + GROUP BY + tx_id, + outer_instruction_index + ) +SELECT + block_time, + block_date, + block_month, + 'Nova' as bot, + blockchain, + amount_usd, + type, + token_bought_amount, + token_bought_symbol, + token_bought_address, + token_sold_amount, + token_sold_symbol, + token_sold_address, + fee_usd, + fee_token_amount, + fee_token_symbol, + fee_token_address, + project, + version, + token_pair, + project_contract_address, + user, + botTrades.tx_id, + tx_index, + botTrades.outer_instruction_index, + COALESCE(inner_instruction_index, 0) AS inner_instruction_index, + IF( + inner_instruction_index = highestInnerInstructionIndex, + true, + false + ) AS is_last_trade_in_transaction +FROM + botTrades + JOIN highestInnerInstructionIndexForEachTrade ON ( + botTrades.tx_id = highestInnerInstructionIndexForEachTrade.tx_id + AND botTrades.outer_instruction_index = highestInnerInstructionIndexForEachTrade.outer_instruction_index + ) +ORDER BY + block_time DESC, + tx_index DESC, + outer_instruction_index DESC, + inner_instruction_index DESC diff --git a/dbt_subprojects/solana/seeds/nova/nova_solana_trades_seed.csv b/dbt_subprojects/solana/seeds/nova/nova_solana_trades_seed.csv new file mode 100644 index 00000000000..e71fe551768 --- /dev/null +++ b/dbt_subprojects/solana/seeds/nova/nova_solana_trades_seed.csv @@ -0,0 +1,21 @@ +block_time,block_date,block_month,bot,blockchain,amount_usd,type,token_bought_amount,token_bought_symbol,token_bought_address,token_sold_amount,token_sold_symbol,token_sold_address,fee_usd,fee_token_amount,fee_token_symbol,fee_token_address,project,version,token_pair,project_contract_address,user,tx_id,tx_index,outer_instruction_index,inner_instruction_index,is_last_trade_in_transaction +2024-12-06 10:52:09.000 UTC,2024-12-06,2024-12-01,Nova,solana,2.336895,Buy,29376.95995,Queef,6sBcBA44i4g1m6UBMfkyn4rQKv1wag7UqB5yng7Cpump,0.0099,SOL,So11111111111111111111111111111111111111112,0.023605,0.0001,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-Queef,CCCSXX9vERWwdpT7tGKWjUiYJjzhYd4wJqMeFo2j1ZB5,6UmQuA1koenTdJ6WRtraYneA7WhJC9YopVY8deUhfhR4,5tZLEggJ183v2X1fvJm7VhrAzJ7LBMVEKR3cT9YFoHyFFzuamyMgwsWTQ1M2FoKgPDdkavNoXVqooNVhaQx2542N,832,6,1,true +2024-12-04 19:50:20.000 UTC,2024-12-04,2024-12-01,Nova,solana,126.45952852578002,Sell,0.544005543,SOL,So11111111111111111111111111111111111111112,2290980.376444,Int,3rq9pxbn9b3pBmQZEwyDieh5QgwF77wVSZprwYhqpump,1.25194912884,0.005385654,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-Int,BYDqrvBUWN9bEHHS5gRYpvxmht6GssAa2nFRA7cTcuCu,3daw5AUQXuQE8BwWevn9CSE5uKby28yu2oHJasB3dQLr,DxaqUyVNMhGXnb1SPrhb59F2bDKhuiZeJZseegjA8jcoU2eEKgZS3ZdWeoZjqsXAWsLar2WyFuDvVDfUSm4vnm4,1626,4,3,true +2024-12-06 12:54:28.000 UTC,2024-12-06,2024-12-01,Nova,solana,11.511921556419999,Buy,364304.938888,entry,3uZPvXaHH3ky2Vv9w1tkwEDtKYWqDCJ12WuE7FEppump,0.049537078,SOL,So11111111111111111111111111111111111111112,0.11619499999999999,0.0005,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-entry,DzEyLM8zFnqq3XNSVbyNxHNYAWpm8FmP3VnAJ51Nj8ye,4EGs99ECwUkwE4nxxapRyC4hdjX8aP9CdWwoJTV4KUX1,5r4wH4jMEofRzP9Sai7YoBATFhVxHhixoEfQUfoPhBninZbyMaNMj6jVUujrrG9NT2e2i62VzAa5vXKTz5q7WbNT,828,4,5,true +2024-12-11 08:26:32.000 UTC,2024-12-11,2024-12-01,Nova,solana,240.96468838129,Sell,1.091671673,SOL,So11111111111111111111111111111111111111112,17017539.00197,Fuji,2xV8eMGgZtLuiGE8gkpQzHLwoJt1PEZ1y5k7hU15pump,2.38555029077,0.010807549,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-Fuji,AoJzpdNa5msoNtAzPjBvDXGBjDLnMT7W3uL6ziUztrvB,D7RRsBqadacKN2iHwRPhAwmxkAegekmU6e5EJTXksEPH,2Qei2PVABjF9kwLkKMWqqPviCXFn5WxaQQXKdPkwuuQXM6bSbtdzuQ5zEqEjGVxu9F1Z1yQx5b9U2SGnheeybsyZ,1614,4,3,true +2024-12-11 09:06:42.000 UTC,2024-12-11,2024-12-01,Nova,solana,3.4589988938399996,Sell,0.015617658,SOL,So11111111111111111111111111111111111111112,12162.93127,o1,2wPCNPVRat4ZVFLK2cWFf7FxNKQJP1SUC9rv3FRXpump,0.03458986048,0.000156176,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-o1,9ji9mLEJXf8BYVs4fMFoTLHhxpyamGZYJRUETPczx1Dh,EkN1h43qTCbGhmCmL9qM6NCsXLXyinFjuuVQ1n6bmPsT,3c5GnTmKH5oWh7wdZd3j6mpKMAe213SvMstxH872pCgYm4Z7utiFjrpzBRMrdpbA42yGUpTw3AZLZY2LWTSb6yRt,567,4,1,true +2024-12-06 03:34:54.000 UTC,2024-12-06,2024-12-01,Nova,solana,239.75219680254,Buy,2766765.95187,MPIGGY,DEj74N1Zfs2qWJ4QdsUj2dBUGXTJvgSM2rGnvPnZJMzQ,0.999217291,SOL,So11111111111111111111111111111111111111112,2.3994,0.01,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-MPIGGY,,EF3Xy3e9zEhsucRjYixgBkPhohdJqwQ5PnbqskoRS5tH,4aR72MtDtnwGi99va776UEM4d4Y1ERLq4XsURXjTXM2PSEfLdmZN3jDkH7vwnGRMgyMmWUixwtn19mf1rTv8HMhS,63,4,5,true +2024-12-08 03:16:53.000 UTC,2024-12-08,2024-12-01,Nova,solana,238.54049999999998,Buy,177792.733025,BRAH,EjNADFFKpKJHqEPp1GLzx2ECjFL2d65J3pcGhbP4pump,0.99,SOL,So11111111111111111111111111111111111111112,2.4095,0.01,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-BRAH,4xSk39qGUvkf3H7JusDcVRfwV8enoGnswS8a8G91e6bT,4BxjftWJs2pWeEjMNiJeiB2wXKSapnxfZMWnDbj9ZmdX,5mkESD7H2Z1Djg1YnMJFBD2DH7eFRhGtWNsZsxo1neNFhDnVn3DpEMf4JmaRs9TYonZLZQRpDMdFFQr7g9EjDyP8,171,7,1,true +2024-12-09 02:52:56.000 UTC,2024-12-09,2024-12-01,Nova,solana,2.3050340978399997,Sell,0.009967284,SOL,So11111111111111111111111111111111111111112,3882.064707008,SDOGE,2ARPkfifeN9cQyPAmEcNie5KUHApMykCQHb7R1ib5txe,0.02305014672,0.000099672,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-SDOGE,Hj1bx6VEQU7bRkaZLJpoNWgpofg3nLExKrH53e8zYnqd,BcSgJcT2GdkxQcibP8uvj8gGUj8yQREp57AXZvZXDB43,F5dwis6oXVHFWCGVjznZsoMDjhSbbnjSUMPopdjx1G2bucZ5VDAmDZ93BKTCtoyLFhTWgXfRY5w3Af2YnwECiAj,602,4,1,true +2024-12-07 14:06:49.000 UTC,2024-12-07,2024-12-01,Nova,solana,124.16807477799999,Sell,0.5194013,SOL,So11111111111111111111111111111111111111112,87590.427802,SOLDIER,GGUxJxZqUDfNbnzQqdCnrEzUX7LuCA9usdAkkSfApump,1.24168074778,0.005194013,SOL,So11111111111111111111111111111111111111112,raydium,4,SOLDIER-SOL,3wReKYqb76AqStpVTZHGefrqAMH1yTv8nk4PqZyFwyeW,EWhcbXDKx2gTEXxiYuEnJ7YtfRgna4XMwdW7ELzEiQNs,21NuyTNeNhXjVPNFkEN7RVFDjFUg2uESqzVxQeS9BHGoq1dQuTFfxEvDrXEDifswMxwt5FY5SPNKBpg4p8om6DX8,801,4,1,true +2024-12-11 17:09:29.000 UTC,2024-12-11,2024-12-01,Nova,solana,166.62935509779,Sell,0.724822111,SOL,So11111111111111111111111111111111111111112,163580.068884,FKT,EHziSfC9bfpCGWpiYHSkYhBQTXsKpBJTsn5z5EyKpump,1.66629352569,0.007248221,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-FKT,55Vyv9QAKxSVX4nmufZQCKXk5WA1VnEgGcvtyav8R5ey,CtZtEjTVVbPnoHwfyxMSfei9uTLe7ts7yVKKKDkejeno,GCTUUUNMXRJ7xEU2rxFciEQGAadqUS8owS4pH6SD84KmESPFxEDBiTPurBiqsstCEpuKP6utxrnvRFNWovEH17x,1214,4,1,true +2024-12-11 04:15:16.000 UTC,2024-12-11,2024-12-01,Nova,solana,65.15147218416,Sell,0.297876153,SOL,So11111111111111111111111111111111111111112,653440.556033,BERNZY,DvgkpHBUfH5UE9ed4A7PfaBdE2yKpQ9pscyFrQwEpump,0.65151460592,0.002978761,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-BERNZY,3NBi4gcQZBj4mvG3GVhmoPaY1i4Pg4MvsgdR7g5AKNnV,6Eo8a9FxjpFNL8R6HZ2Rp6v4ZUustoLaeVehahjY817j,2Bwom76L4yFpEuEWAfdaG8THkUhQQck3b4i7arHAHFTDHhck2LEgZnPoSTHN9XPQs94oDPpFiFs1jgYr3ub8p4MH,1197,4,1,true +2024-12-11 06:57:55.000 UTC,2024-12-11,2024-12-01,Nova,solana,186.61399539676,Sell,0.847551982,SOL,So11111111111111111111111111111111111111112,161919.644767,BrettAI,CHLiroKnCmzoAJ37236F2Y5nGmpEkC1cQoa8L1AGpump,1.8661397734200003,0.008475519,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-BrettAI,4YorehZjDUSVcXfs222Y1DrbBVvpRMq17ZFNpgXd45Bb,8coN8Dq9R71tFoKjXVo1hjnH1gFRkRgvrjzcg4vkwx3E,54H2coEwVA5VWEhxa1o6DXY7ccZV9J4G1kxtLKLZ5wLnne9MpbPBZWoT8KTozUX1pPZATD8VnqDwdkEajs3SxTih,241,4,1,true +2024-12-11 13:39:47.000 UTC,2024-12-11,2024-12-01,Nova,solana,67.34178,Buy,276547.749475,KOVU,Acud16jqA9j1Hc83JrHYeiN2BpK8LYYQ1h6FGnYrpump,0.297,SOL,So11111111111111111111111111111111111111112,0.68022,0.003,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-KOVU,EFp41LWtiEzaVFiYhMema8ETHwJfx3fvdMJ2EAbUq37E,92v3iTUKvr4NZ9MSeQitRdu7BkifeCMXVJiuggtkE8uu,4FknfwQaCiHskhDbUTzramrFvSZjgTHR8RfYMeYg6F9JkDN5DRsxygpJpzQMbKHHWj9YEoKXwTiCgXnDsQ6vcguY,1283,7,1,true +2024-12-11 17:54:24.000 UTC,2024-12-11,2024-12-01,Nova,solana,40.909980354720005,Sell,0.178771108,SOL,So11111111111111111111111111111111111111112,1664280.240719,LilysBed,HKrM8f2DCGqVa2mgPwJb5oAevbqmursDEMnA4hszpump,0.40500858372,0.001769833,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-LilysBed,GMBSFRKSzvg61egswdhLPCS2GVcDPkregSSzTLzBRMpk,GnEuZhJp51vf23kwYNktiHmTjbHVNNGYNorxwi9uY5Q2,4v78BzGfCW7BPE5aSM1ir6B3rYBhiPWkFbvBj3g2ehVWN24Uqfa2DhnbZqFgd1KVE8jMhpX9gndAseHTLjVy1BRt,655,4,3,true +2024-12-12 05:09:56.000 UTC,2024-12-12,2024-12-01,Nova,solana,45.46674,Buy,318421.086978,Frog,8si8aCqGyzW2faCEHMbwKxLGMzbPQdjccSWhrYUVpump,0.198,SOL,So11111111111111111111111111111111111111112,0.45926,0.002,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-Frog,21Bnj82WEr4ZQzmSHmARYZeU6Mgm3ipFTVU7JhD8XbDz,DbczwqpdHtALaWHpDWCYRzuTaowbPdRX6vgg6oBMJLFe,4JwzNgbWwDmXV7F717t4xZ7MGyoEXFhtW1HYgWKi28oqmjbHLTDvfxWgAYNJAsUkJbBBr8Ps5qe2rs5iK23ZFBNs,1755,7,1,true +2024-12-08 22:05:34.000 UTC,2024-12-08,2024-12-01,Nova,solana,117.54818121,Buy,4480224.629267,FART,2gcS7doQQb3jisCaPeAtcA6xFEXkY9s12j1157xbpump,0.49914302,SOL,So11111111111111111111111111111111111111112,1.1775,0.005,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-FART,Esc6woR2gGtBzeswbWWuZasGF2RNb8yESG2jFEFdBaPv,2vz8yVLLS6QFboK9xtpKv24tu7GUo7SHgXZDiBzSPby8,3f9QmZUeuHToi6u1gmudS92DvmjJk1LMY1oXJvuuxSHsNA9t3cUbqNvh2uvWP8ZSk7ER9QBzY5NZ1TiyVmDg31Ws,1088,4,5,true +2024-12-09 00:22:55.000 UTC,2024-12-09,2024-12-01,Nova,solana,11.660715,Buy,104953.750318,Aaliyah,BkAUZGUSfUtxPgRJJ2JDDk1XdM72zEsf4ozsmB1Spump,0.0495,SOL,So11111111111111111111111111111111111111112,0.117785,0.0005,SOL,So11111111111111111111111111111111111111112,raydium,4,SOL-Aaliyah,CzW4ZoCyA5oDkxL8qhH9n9rKfaPZrVjJp6yuDX6LdHkC,DbczwqpdHtALaWHpDWCYRzuTaowbPdRX6vgg6oBMJLFe,5UxvyhvrKKezVbpVbQFLN2eeAB4uqrBGzaUbWLzcgdfZzpxAchGegviV1159VWyBPVTaVpCKbCVRr3zHXG6gHvkB,1853,7,1,true +2024-12-05 23:26:17.000 UTC,2024-12-05,2024-12-01,Nova,solana,237.2832,Buy,413016.040553,TIME,8oLsaCFngYG6vaRDCbFZTqWuBiz3swAL3RH4unXZpump,0.99,SOL,So11111111111111111111111111111111111111112,2.3968000000000003,0.01,SOL,So11111111111111111111111111111111111111112,raydium,4,TIME-SOL,G5pWpEtvAQCQAxEnyHDWrg8W1JFSp5hwPqYjtCAyrgdM,5URGB13Skm7oKyJgCgMpPU755veJajtHHuovQKMHrrrY,5T8GbHUH7C8JxGqCvM4miEzPYfT2SGhcC9iMsuKWxso4BwZZxLWxLGikw99ckFhKrsz9nwwsp7Csmpmdj9ijuGVv,962,7,1,true +2024-12-04 03:25:55.000 UTC,2024-12-04,2024-12-01,Nova,solana,118.7494441513,Buy,2884988.076315,Jarritos,chVWsF9er1J2umikgjrCxcMojdVn3yeszEuTjiEpump,0.498319111,SOL,So11111111111111111111111111111111111111112,1.1915,0.005,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,SOL-Jarritos,,DcpvApMJBJY7UnxxNpiFo8s6V97jBg1usvPcAcroAKQR,3UG11MTv2UabeSPkn9abzj6QM4RvKeyHqQLKBDLQ1MNJGBHjzyodBbpHYz6CDNGTQMNEBJwh3urx1ztFU6Ki68SH,2241,4,5,true +2024-12-11 23:26:18.000 UTC,2024-12-11,2024-12-01,Nova,solana,131.57564682496,Sell,0.578024192,SOL,So11111111111111111111111111111111111111112,14727345.799435,XENA,3Yxasmk23oCReSebfhkjMHvEQyVPnSr4fvBMVMKgpump,1.30259878957,0.005722439,SOL,So11111111111111111111111111111111111111112,pumpdotfun,1,XENA-SOL,6oQreXqmsB6twE8f9phvMoDdequxjVigF2sHAjMbSXmM,3ENRG3FZp3nwcGDv7hMJ9VPTEAo1qVEdPgrkL9NoknNP,31PX7xburMDvWiieFyUhnQ7cf9LTLxk5MeKrudhVii3jVD9NQTYxZzbciiA6gWHZLhwNjcHP82Q39Pfh1opeR3bZ,1314,4,3,true