Skip to content

Commit

Permalink
chore: update ifo and its banner config (#10700)
Browse files Browse the repository at this point in the history
<!--
Before opening a pull request, please read the [contributing
guidelines](https://github.com/pancakeswap/pancake-frontend/blob/develop/CONTRIBUTING.md)
first
-->


<!-- start pr-codex -->

---

## PR-Codex overview
The focus of this PR is to enhance the IFO banner rendering logic by
introducing a new function that uses the end timestamp from the IFO
configuration.

### Detailed summary
- Added `plannedEndTime` field for IFO banner rendering in `types.ts`
- Updated IFO contract address and timestamps in `arb.ts`
- Created `useIsRenderIfoBannerFromConfig` function in
`useIsRenderIFOBanner.tsx`
- Modified banner rendering logic in `useMultipleBannerConfig.tsx` to
use the new function

> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->
  • Loading branch information
thechefpenguin authored Sep 19, 2024
1 parent 2c8105f commit b245045
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
import dayjs from 'dayjs'

import { useActiveIfoWithTimestamps } from 'hooks/useActiveIfoWithTimestamps'
import { useActiveIfoConfig } from 'hooks/useIfoConfig'

const useIsRenderIfoBanner = () => {
const ifo = useActiveIfoWithTimestamps()

return !!(ifo && dayjs().isBefore(dayjs.unix(ifo.endTimestamp)))
}

/**
* Alternative to useIsRenderIfoBanner that uses the end timestamp from ifo config
* to determine if the IFO banner should be displayed.
* This is potentially useful for slower connections.
*/
export const useIsRenderIfoBannerFromConfig = () => {
const ifoConfig = useActiveIfoConfig()

return !!(
ifoConfig &&
ifoConfig.activeIfo?.plannedEndTime &&
dayjs().isBefore(dayjs.unix(ifoConfig.activeIfo?.plannedEndTime))
)
}

export default useIsRenderIfoBanner
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { VeCakeBanner } from '../VeCakeBanner'
import WebNotificationBanner from '../WebNotificationBanner'
import { ZksyncAirDropBanner } from '../ZksyncAirdropBanner'
import useIsRenderCompetitionBanner from './useIsRenderCompetitionBanner'
import useIsRenderIfoBanner from './useIsRenderIFOBanner'
import { useIsRenderIfoBannerFromConfig } from './useIsRenderIFOBanner'
import { useIsRenderTgPredictionBotBanner } from './useIsRenderTgPredictionBotBanner'
import useIsRenderUserBanner from './useIsRenderUserBanner'

Expand All @@ -42,12 +42,12 @@ export const useMultipleBannerConfig = () => {
const isRenderCompetitionBanner = useIsRenderCompetitionBanner()
const isRenderUserBanner = useIsRenderUserBanner()
const isRenderTgPredictionBotBanner = useIsRenderTgPredictionBotBanner()
const isRenderIFOBanner = useIsRenderIfoBanner()
const isRenderIFOBannerFromConfig = useIsRenderIfoBannerFromConfig()

return useMemo(() => {
const NO_SHUFFLE_BANNERS: IBannerConfig[] = [
{
shouldRender: isRenderIFOBanner,
shouldRender: isRenderIFOBannerFromConfig,
banner: <EigenpieIFOBanner />,
},
{
Expand Down Expand Up @@ -123,6 +123,6 @@ export const useMultipleBannerConfig = () => {
isRenderTgPredictionBotBanner,
isRenderUserBanner.isEarningsBusdZero,
isRenderUserBanner.shouldRender,
isRenderIFOBanner,
isRenderIFOBannerFromConfig,
])
}
3 changes: 2 additions & 1 deletion packages/ifos/src/constants/ifos/arb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ export const ifos: BaseIfoConfig[] = [
id: 'eigenpie',
version: 8,

address: '0x601a394e7A96C881AbeAB8Dc0ce9E7046afa765D',
address: '0x02979A3E954739AF167fE426A7412e20021A7a05',
plannedStartTime: 1727172900,
plannedEndTime: 1727259300,

isActive: true,
name: 'Eigenpie IFO',
Expand Down
4 changes: 4 additions & 0 deletions packages/ifos/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ export type BaseIfoConfig = {
vestingTitle?: string
cIFO?: boolean
plannedStartTime?: number

/** Useful for rendering IFO banner */
plannedEndTime?: number

[PoolIds.poolBasic]?: IfoPoolInfo
[PoolIds.poolUnlimited]: IfoPoolInfo
}
Expand Down

0 comments on commit b245045

Please sign in to comment.