@@ -35,35 +35,42 @@ const UnStakeTopics = [
3535] ;
3636
3737async function tvl ( api ) {
38- const bals = await api . multiCall ( { abi : abi . totalSupply , calls : vaults } )
39- const assets = await api . multiCall ( { abi : abi . asset , calls : vaults } )
40-
41- for ( let i = 0 ; i < vaults . length ; i ++ ) {
42- const totalBalance = Number ( bals [ i ] ) ;
38+ // https://x.com/StreamDefi/status/1985556360507822093
39+ // bad debts
40+ if ( api . timestamp < 1762214400 ) {
41+ const bals = await api . multiCall ( { abi : abi . totalSupply , calls : vaults } )
42+ const assets = await api . multiCall ( { abi : abi . asset , calls : vaults } )
4343
44- // remove deposit from team wallets
45- let teamDeposit = 0 ;
46- const symbol = Object . keys ( xTokens ) [ i ] ;
47- const stakeEvents = await getLogs2 ( { api, target : xTokens [ i ] , fromBlock : FromBlock , eventAbi : StakeEvent , topics : StakeTopics , extraKey : `stream-stake-${ api . chain } ${ symbol } ` } ) ;
48- const unstakeEvents = await getLogs2 ( { api, target : xTokens [ i ] , fromBlock : FromBlock , eventAbi : UnStakeEvent , topics : UnStakeTopics , extraKey : `stream-unstake-${ api . chain } ${ symbol } ` } ) ;
49- for ( const log of stakeEvents ) {
50- teamDeposit += Number ( log . amount ) ;
51- }
52- for ( const log of unstakeEvents ) {
53- teamDeposit -= Number ( log . amount ) ;
54- }
55-
56- const balance = teamDeposit > 0 ? totalBalance - teamDeposit : totalBalance ;
57-
58- api . addToken ( assets [ i ] , balance )
44+ for ( let i = 0 ; i < vaults . length ; i ++ ) {
45+ const totalBalance = Number ( bals [ i ] ) ;
46+
47+ // remove deposit from team wallets
48+ let teamDeposit = 0 ;
49+ const symbol = Object . keys ( xTokens ) [ i ] ;
50+ const stakeEvents = await getLogs2 ( { api, target : xTokens [ i ] , fromBlock : FromBlock , eventAbi : StakeEvent , topics : StakeTopics , extraKey : `stream-stake-${ api . chain } ${ symbol } ` } ) ;
51+ const unstakeEvents = await getLogs2 ( { api, target : xTokens [ i ] , fromBlock : FromBlock , eventAbi : UnStakeEvent , topics : UnStakeTopics , extraKey : `stream-unstake-${ api . chain } ${ symbol } ` } ) ;
52+ for ( const log of stakeEvents ) {
53+ teamDeposit += Number ( log . amount ) ;
54+ }
55+ for ( const log of unstakeEvents ) {
56+ teamDeposit -= Number ( log . amount ) ;
57+ }
58+
59+ const balance = teamDeposit > 0 ? totalBalance - teamDeposit : totalBalance ;
60+
61+ api . addToken ( assets [ i ] , balance )
62+ }
5963 }
6064}
6165
6266
6367module . exports = {
6468 methodology : "Calculates the TVL of all Stream vaults" ,
6569 start : 1739697390 ,
66- hallmarks : [ [ 1740283200 , "Stream V2 Launch" ] ] ,
70+ hallmarks : [
71+ [ 1740283200 , "Stream V2 Launch" ] ,
72+ [ 1762214400 , "Reported loss $93 million users fund" ] ,
73+ ] ,
6774 ethereum : {
6875 tvl,
6976 } ,
0 commit comments