diff --git a/redux/selectors/getAccountRewards.ts b/redux/selectors/getAccountRewards.ts index 7ffa18ac..6a85713a 100644 --- a/redux/selectors/getAccountRewards.ts +++ b/redux/selectors/getAccountRewards.ts @@ -64,18 +64,41 @@ export const getGains = ( return result; }; -export const getGainsArr = (tokens: any[], assets: AssetsState, withNetTvlMultiplier = false) => { +export const getGainsArr = ( + tokens: any[], + assets: AssetsState, + withNetTvlMultiplier = false, + isLog = false, +) => { const res = tokens.map((data) => { const asset = assets.data[data.token_id]; const netTvlMultiplier = asset.config.net_tvl_multiplier / 10000; const { balance } = data; const apr = Number(data.apr); const balanceUSD = toUsd(balance, asset); + if (isLog) { + console.info( + ` | token:${data.token_id} balance:${ + balanceUSD * (withNetTvlMultiplier ? netTvlMultiplier : 1) + }=> balanceUSD:${balanceUSD} * netTvlMultiplier:${ + withNetTvlMultiplier ? netTvlMultiplier : 1 + }, apr:${apr}`, + ); + } return [balanceUSD * (withNetTvlMultiplier ? netTvlMultiplier : 1), apr]; }); const result = res.reduce( - ([gain, sum], [balance, apr]) => [gain + balance * apr, sum + balance], + ([gain, sum], [balance, apr]) => { + if (isLog) { + console.info( + ` | gain:${ + gain + balance * apr + }(gain:${gain}+balance:${balance}*apr:${apr}) totalBalance:${sum + balance}`, + ); + } + return [gain + balance * apr, sum + balance]; + }, [0, 0], ); return result; diff --git a/redux/selectors/getExtraDailyTotals.ts b/redux/selectors/getExtraDailyTotals.ts index 71d7942d..94878658 100644 --- a/redux/selectors/getExtraDailyTotals.ts +++ b/redux/selectors/getExtraDailyTotals.ts @@ -11,15 +11,25 @@ export const getExtraDailyTotals = ({ isStaking = false }: { isStaking: boolean (state: RootState) => state.app.config, (assets, rewards, config) => { if (!hasAssets(assets)) return 0; - + if (!isStaking) { + console.info(`=====getExtraDailyTotals1=====`); + } const { extra, brrr } = rewards; - const gainBrrr = (brrr.dailyAmount || 0) * (assets.data[config.booster_token_id]?.price?.usd || 0); - + if (!isStaking) { + console.info( + `token:${config.booster_token_id} gainBrrr:${gainBrrr}=> daily:${ + brrr.dailyAmount + }*price:${assets.data[config.booster_token_id]?.price?.usd}`, + ); + } const gainExtra = Object.keys(extra).reduce((acc, tokenId) => { const price = assets.data[tokenId]?.price?.usd || 0; const daily = isStaking ? extra[tokenId].newDailyAmount : extra[tokenId].dailyAmount; + if (!isStaking) { + console.info(`token:${tokenId} acc:${acc}=> daily:${daily}*price:${price}`); + } return acc + daily * price; }, 0); diff --git a/redux/selectors/getNetAPY.ts b/redux/selectors/getNetAPY.ts index 275f910e..559ed673 100644 --- a/redux/selectors/getNetAPY.ts +++ b/redux/selectors/getNetAPY.ts @@ -16,19 +16,41 @@ export const getNetAPY = ({ isStaking = false }: { isStaking: boolean }) => if (!hasAssets(assets)) return 0; // check if new data borrows/collaterals exist, could be remove in next patch const { borrows, collaterals } = account?.portfolio || {}; + const isLog = !isStaking; + if (isLog) { + console.info(`=====getNetAPY====`); + } + const [gainBorrowed, totalBorrowed] = borrows - ? getGainsArr(borrows, assets) + ? getGainsArr(borrows, assets, false, isLog) : getGains(account.portfolio, assets, "borrowed"); + if (isLog) { + console.info(`gainBorrowed:${gainBorrowed}, totalBorrowed:${totalBorrowed}`); + } const [gainCollateral, totalCollateral] = collaterals - ? getGainsArr(collaterals, assets) + ? getGainsArr(collaterals, assets, false, isLog) : getGains(account.portfolio, assets, "collateral"); + if (isLog) { + console.info(`gainCollateral:${gainCollateral}, totalCollateral:${totalCollateral}`); + } const [gainSupplied, totalSupplied] = getGains(account.portfolio, assets, "supplied"); + if (isLog) { + console.info(`gainSupplied:${gainSupplied}, totalSupplied:${totalSupplied}`); + } const gainExtra = extraDaily * 365; const netGains = gainCollateral + gainSupplied + gainExtra - gainBorrowed; const netTotals = totalCollateral + totalSupplied - totalBorrowed; const netAPY = (netGains / netTotals) * 100; - + if (isLog) { + console.info( + `> netGains:${netGains}=> gainCollateral:${gainCollateral} + gainSupplied:${gainSupplied} + gainExtra:${gainExtra}(extraDaily:${extraDaily}*365) - gainBorrowed:${gainBorrowed}`, + ); + console.info( + `> netTotals:${netTotals}=> totalCollateral:${totalCollateral} + totalSupplied:${totalSupplied} - totalBorrowed:${totalBorrowed}`, + ); + console.info(`> netAPY:${netAPY}=> netGains:${netGains}/${netTotals}*100`); + } return netAPY || 0; }, );