Skip to content

Commit

Permalink
log
Browse files Browse the repository at this point in the history
  • Loading branch information
yuhochu committed Dec 29, 2023
1 parent 7ac22a0 commit bef3bb0
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 8 deletions.
27 changes: 25 additions & 2 deletions redux/selectors/getAccountRewards.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
16 changes: 13 additions & 3 deletions redux/selectors/getExtraDailyTotals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
28 changes: 25 additions & 3 deletions redux/selectors/getNetAPY.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
},
);
Expand Down

0 comments on commit bef3bb0

Please sign in to comment.