diff --git a/src/components/incentives/IncentivesTooltipContent.tsx b/src/components/incentives/IncentivesTooltipContent.tsx index cb5836cf66..3cbec0de25 100644 --- a/src/components/incentives/IncentivesTooltipContent.tsx +++ b/src/components/incentives/IncentivesTooltipContent.tsx @@ -23,6 +23,16 @@ const IncentivesSymbolMap: { symbol: 'aUSDC', aToken: true, }, + aBasCBBTC: { + tokenIconSymbol: 'CBBTC', + symbol: 'aCBBTC', + aToken: true, + }, + aBasWETH: { + tokenIconSymbol: 'WETH', + symbol: 'aWETH', + aToken: true, + }, aEthUSDS: { tokenIconSymbol: 'usds', symbol: 'aUSDS', @@ -118,6 +128,11 @@ const IncentivesSymbolMap: { symbol: 'astS', aToken: true, }, + aEthEURC: { + tokenIconSymbol: 'EURC', + symbol: 'aEURC', + aToken: true, + }, }; interface IncentivesTooltipContentProps { diff --git a/src/hooks/useMeritIncentives.ts b/src/hooks/useMeritIncentives.ts index cf1c6352c2..8fba81d546 100644 --- a/src/hooks/useMeritIncentives.ts +++ b/src/hooks/useMeritIncentives.ts @@ -24,6 +24,7 @@ export enum MeritAction { SUPPLY_CBBTC_BORROW_USDC = 'ethereum-supply-cbbtc-borrow-usdc', SUPPLY_WBTC_BORROW_USDT = 'ethereum-supply-wbtc-borrow-usdt', SUPPLY_WEETH_BORROW_USDC = 'ethereum-supply-weeth-borrow-usdc', + ETHEREUM_BORROW_EURC = 'ethereum-borrow-eurc', ARBITRUM_SUPPLY_ETH = 'arbitrum-supply-weth', ARBITRUM_SUPPLY_WSTETH = 'arbitrum-supply-wsteth', ARBITRUM_SUPPLY_EZETH = 'arbitrum-supply-ezeth', @@ -33,7 +34,11 @@ export enum MeritAction { BASE_SUPPLY_WEETH = 'base-supply-weeth', BASE_SUPPLY_EZETH = 'base-supply-ezeth', BASE_SUPPLY_EURC = 'base-supply-eurc', + BASE_SUPPLY_GHO = 'base-supply-gho', BASE_SUPPLY_LBTC_BORROW_CBBTC = 'base-supply-lbtc-borrow-cbbtc', + BASE_SUPPLY_CBBTC_BORROW_MULTIPLE = 'base-supply-cbbtc-borrow-multiple', + BASE_SUPPLY_WSTETH_BORROW_MULTIPLE = 'base-supply-wsteth-borrow-multiple', + BASE_SUPPLY_WETH_BORROW_MULTIPLE = 'base-supply-weth-borrow-multiple', BASE_BORROW_EURC = 'base-borrow-eurc', BASE_BORROW_USDC = 'base-borrow-usdc', BASE_BORROW_WSTETH = 'base-borrow-wsteth', @@ -82,10 +87,10 @@ const getMeritData = (market: string, symbol: string): MeritReserveIncentiveData MERIT_DATA_MAP[market]?.[symbol]; const antiLoopMessage = - 'Borrowing of some assets may impact the amount of rewards you are eligible for. Please check the forum post for the full eligibility criteria.'; + 'Borrowing of some assets or holding of some token may impact the amount of rewards you are eligible for. Please check the forum post for the full eligibility criteria.'; const antiLoopBorrowMessage = - 'Supplying of some assets may impact the amount of rewards you are eligible for. Please check the forum post for the full eligibility criteria.'; + 'Supplying of some assets or holding of some token may impact the amount of rewards you are eligible for. Please check the forum post for the full eligibility criteria.'; const lbtcCbbtcCampaignMessage = 'You must supply LBTC and borrow cbBTC, while maintaining a health factor of 1.5 or below, in order to receive merit rewards. Please check the forum post for the full eligibility criteria.'; @@ -96,6 +101,15 @@ const StSLoopIncentiveProgramMessage = const weethUsdcCampaignMessage = 'You must supply weETH and borrow new USDC, while maintaining a health factor of 2 or below, in order to receive merit rewards. Eligibility criteria for this campaign are different from usual, please refer to the forum post for full details.'; +const baseIncentivesCbbtcCampaignsMessage = + 'You must supply cbBTC and borrow USDC, GHO, EURC or wETH to receive Merit rewards. Holding some assets or positions on other protocols may impact the amount of rewards you are eligible for. Please check the forum post for the full eligibility criteria.'; + +const baseIncentivesWstETHCampaignsMessage = + 'You must supply wstETH and borrow USDC, GHO, EURC or wETH to receive Merit rewards. Holding some assets or positions on other protocols may impact the amount of rewards you are eligible for. Please check the forum post for the full eligibility criteria.'; + +const baseIncentivesETHCampaignsMessage = + 'Supplying ETH alone earns 1.25%, supplying ETH and borrowing USDC or EURC earns 1.50%, supplying ETH and borrowing GHO earns 1.75%. Some assets holding or positions on other protocols may impact the amount of rewards you are eligible for. Please check the forum post for the full eligibility criteria.'; + const joinedEthCorrelatedIncentiveForumLink = 'https://governance.aave.com/t/arfc-set-aci-as-emission-manager-for-liquidity-mining-programs/17898/56'; @@ -119,6 +133,9 @@ const weethUsdcForumLink = const StSLoopIncentiveProgramForumLink = 'https://governance.aave.com/t/arfc-sts-loop-incentive-program/22368'; +const baseIncentivesForumLink = + 'https://governance.aave.com/t/arfc-base-incentive-campaign-funding/21983'; + const MERIT_DATA_MAP: Record> = { [CustomMarket.proto_mainnet_v3]: { GHO: [ @@ -214,6 +231,15 @@ const MERIT_DATA_MAP: Record customForumLink: weethUsdcForumLink, }, ], + EURC: [ + { + action: MeritAction.ETHEREUM_BORROW_EURC, + rewardTokenAddress: AaveV3Ethereum.ASSETS.EURC.A_TOKEN, + rewardTokenSymbol: 'aEthEURC', + protocolAction: ProtocolAction.borrow, + customMessage: antiLoopBorrowMessage, + }, + ], }, [CustomMarket.proto_lido_v3]: { ETH: [ @@ -297,6 +323,14 @@ const MERIT_DATA_MAP: Record rewardTokenSymbol: 'aBasUSDC', protocolAction: ProtocolAction.supply, }, + { + action: MeritAction.BASE_SUPPLY_CBBTC_BORROW_MULTIPLE, + rewardTokenAddress: AaveV3Base.ASSETS.cbBTC.A_TOKEN, + rewardTokenSymbol: 'aBasCBBTC', + protocolAction: ProtocolAction.supply, + customMessage: baseIncentivesCbbtcCampaignsMessage, + customForumLink: baseIncentivesForumLink, + }, { action: MeritAction.BASE_SUPPLY_LBTC_BORROW_CBBTC, rewardTokenAddress: AaveV3Base.ASSETS.USDC.A_TOKEN, @@ -329,6 +363,14 @@ const MERIT_DATA_MAP: Record customMessage: antiLoopMessage, customForumLink: joinedEthCorrelatedIncentiveForumLink, }, + { + action: MeritAction.BASE_SUPPLY_WSTETH_BORROW_MULTIPLE, + rewardTokenAddress: AaveV3Base.ASSETS.wstETH.A_TOKEN, + rewardTokenSymbol: 'aBaswstETH', + protocolAction: ProtocolAction.supply, + customMessage: baseIncentivesWstETHCampaignsMessage, + customForumLink: baseIncentivesForumLink, + }, { action: MeritAction.BASE_BORROW_WSTETH, rewardTokenAddress: AaveV3Base.ASSETS.wstETH.A_TOKEN, @@ -387,6 +429,13 @@ const MERIT_DATA_MAP: Record }, ], GHO: [ + { + action: MeritAction.BASE_SUPPLY_GHO, + rewardTokenAddress: AaveV3Base.ASSETS.GHO.A_TOKEN, + rewardTokenSymbol: 'aBasGHO', + protocolAction: ProtocolAction.supply, + customMessage: antiLoopMessage, + }, { action: MeritAction.BASE_BORROW_GHO, rewardTokenAddress: AaveV3Base.ASSETS.GHO.A_TOKEN, @@ -397,6 +446,24 @@ const MERIT_DATA_MAP: Record 'https://governance.aave.com/t/arfc-set-aci-as-emission-manager-for-liquidity-mining-programs/17898/94', }, ], + WETH: [ + { + action: MeritAction.BASE_SUPPLY_WETH_BORROW_MULTIPLE, + rewardTokenAddress: AaveV3Base.ASSETS.WETH.A_TOKEN, + rewardTokenSymbol: 'aBasWETH', + protocolAction: ProtocolAction.supply, + customMessage: baseIncentivesETHCampaignsMessage, + }, + ], + ETH: [ + { + action: MeritAction.BASE_SUPPLY_WETH_BORROW_MULTIPLE, + rewardTokenAddress: AaveV3Base.ASSETS.WETH.A_TOKEN, + rewardTokenSymbol: 'aBasWETH', + protocolAction: ProtocolAction.supply, + customMessage: baseIncentivesETHCampaignsMessage, + }, + ], }, [CustomMarket.proto_avalanche_v3]: { ['BTC.b']: [