@pancakeswap/pools 5.0.2 → 5.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants/pools/index.ts","../src/constants/pools/1.ts","../src/types.ts","../src/constants/pools/56.ts","../src/constants/pools/97.ts","../src/constants/pools/42161.ts","../src/constants/pools/421613.ts","../src/constants/pools/324.ts","../src/constants/pools/280.ts","../src/constants/pools/8453.ts","../src/constants/pools/84531.ts","../src/constants/pools/59144.ts","../src/constants/pools/59140.ts","../src/constants/pools/1101.ts","../src/constants/pools/1442.ts","../src/constants/supportedChains.ts","../src/utils/isPoolsSupported.ts","../src/constants/boostedPools/index.ts","../src/constants/boostedPools/arb.ts","../src/constants/contracts.ts","../src/constants/index.ts","../src/queries/fetchPools.ts","../../utils/bigNumber.ts","../src/abis/ISousChef.ts","../src/abis/ISousChefV2.ts","../src/abis/ISmartChef.ts","../src/abis/ISousChefV3.ts","../src/utils/getContractAddress.ts","../src/utils/isLegacyPool.ts","../src/utils/apr.ts","../src/utils/getPoolContractBySousId.ts","../src/abis/ISousChefBNB.ts","../src/utils/boosted/checkIsBoostedPool.ts","../src/utils/boosted/apr/fetchAlpBoostedPoolApr.ts","../src/utils/boosted/apr/getBoostedPoolApr.ts","../src/queries/fetchUserPoolsData.ts","../src/queries/fetchVaultPublic.ts","../src/abis/ICakeVaultV2.ts","../src/queries/getAddresses.ts","../src/queries/fetchVaultUser.ts","../src/abis/ICakeFlexibleSideVaultV2.ts"],"names":["ChainId","PoolCategory","VaultKey","getAddress","livePools","finishedPools","pools","BigNumber","fromPairs","erc20ABI"],"mappings":"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","sourcesContent":["import { ChainId } from '@pancakeswap/chains'\n\nimport { pools as ethPools, livePools as ethLivePools } from './1'\nimport { pools as bscPools, livePools as bscLivePools } from './56'\nimport { pools as bscTestnetPools, livePools as bscTestnetLivePools } from './97'\nimport { pools as arbPools, livePools as arbLivePools } from './42161'\nimport { pools as arbTestnetPools, livePools as arbTestnetLivePools } from './421613'\nimport { pools as zkSyncPools, livePools as zkSyncLivePools } from './324'\nimport { pools as zkSyncTestnetPools, livePools as zkSyncTestnetLivePools } from './280'\nimport { pools as basePools, livePools as baseLivePools } from './8453'\nimport { pools as baseTestnetPools, livePools as baseTestnetLivePools } from './84531'\nimport { pools as lineaPools, livePools as lineaLivePools } from './59144'\nimport { pools as lineaTestnetPools, livePools as lineaTestnetLivePools } from './59140'\nimport { pools as polygonZkEvmPools, livePools as polygonZkEvmLivePools } from './1101'\nimport { pools as polygonZkEvmTestnetPools, livePools as polygonZkEvmTestnetLivePools } from './1442'\n\nimport { SerializedPool } from '../../types'\nimport { SupportedChainId } from '../supportedChains'\nimport { isPoolsSupported } from '../../utils/isPoolsSupported'\n\nexport type PoolsConfigByChain<TChainId extends ChainId> = {\n [chainId in TChainId]: SerializedPool[]\n}\n\nexport const POOLS_CONFIG_BY_CHAIN = {\n [ChainId.ETHEREUM]: ethPools,\n [ChainId.BSC]: bscPools,\n [ChainId.BSC_TESTNET]: bscTestnetPools,\n [ChainId.ARBITRUM_ONE]: arbPools,\n [ChainId.ARBITRUM_GOERLI]: arbTestnetPools,\n [ChainId.ZKSYNC]: zkSyncPools,\n [ChainId.ZKSYNC_TESTNET]: zkSyncTestnetPools,\n [ChainId.BASE]: basePools,\n [ChainId.BASE_TESTNET]: baseTestnetPools,\n [ChainId.LINEA]: lineaPools,\n [ChainId.LINEA_TESTNET]: lineaTestnetPools,\n [ChainId.POLYGON_ZKEVM]: polygonZkEvmPools,\n [ChainId.POLYGON_ZKEVM_TESTNET]: polygonZkEvmTestnetPools,\n} as PoolsConfigByChain<SupportedChainId>\n\nexport const LIVE_POOLS_CONFIG_BY_CHAIN = {\n [ChainId.ETHEREUM]: ethLivePools,\n [ChainId.BSC]: bscLivePools,\n [ChainId.BSC_TESTNET]: bscTestnetLivePools,\n [ChainId.ARBITRUM_ONE]: arbLivePools,\n [ChainId.ARBITRUM_GOERLI]: arbTestnetLivePools,\n [ChainId.ZKSYNC]: zkSyncLivePools,\n [ChainId.ZKSYNC_TESTNET]: zkSyncTestnetLivePools,\n [ChainId.BASE]: baseLivePools,\n [ChainId.BASE_TESTNET]: baseTestnetLivePools,\n [ChainId.LINEA]: lineaLivePools,\n [ChainId.LINEA_TESTNET]: lineaTestnetLivePools,\n [ChainId.POLYGON_ZKEVM]: polygonZkEvmLivePools,\n [ChainId.POLYGON_ZKEVM_TESTNET]: polygonZkEvmTestnetLivePools,\n} as PoolsConfigByChain<SupportedChainId>\n\nexport const getPoolsConfig = (chainId: ChainId) => {\n if (!isPoolsSupported(chainId)) {\n return undefined\n }\n return POOLS_CONFIG_BY_CHAIN[chainId]\n}\n\nexport const getLivePoolsConfig = (chainId: ChainId) => {\n if (!isPoolsSupported(chainId)) {\n return undefined\n }\n return LIVE_POOLS_CONFIG_BY_CHAIN[chainId]\n}\n\nexport const MAX_LOCK_DURATION = 31536000\nexport const UNLOCK_FREE_DURATION = 604800\nexport const ONE_WEEK_DEFAULT = 604800\nexport const BOOST_WEIGHT = 20000000000000n\nexport const DURATION_FACTOR = 31536000n\n","import { ethereumTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n// .map((p) => ({\n// ...p,\n// contractAddress: getAddress(p.contractAddress),\n// stakingToken: p.stakingToken.serialize,\n// earningToken: p.earningToken.serialize,\n// }))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 9,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x3B30A93D056e9A1156D0f17CBd05B711c4232C84',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0006045',\n },\n {\n sousId: 8,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.wstETH,\n contractAddress: '0x3C6452d5a217Cc65b98F0803c6D1BD7Fe588389A',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.00000271',\n },\n {\n sousId: 7,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x3df19692a70fc55Ec8BfE1C9593E584D8F69c510',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0005623',\n },\n {\n sousId: 6,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x3f0bCCa8f5aA37e184B22e3A2ca8C292fe6B716B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0005093',\n },\n {\n sousId: 5,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x0A150c0AbbbD852ec8940AeE67A1aB59d9Fe76d1',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.000331',\n },\n {\n sousId: 1,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.wncg,\n contractAddress: '0x5eC855219e236b75E7cfba0D56105b9Cc88B4A18',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.04061',\n },\n {\n sousId: 4,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0xd7136B50E641CfFf9D0aeB5c4617c779A80F0c8b',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.000282',\n },\n {\n sousId: 3,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.alcx,\n contractAddress: '0x5A8C87047c290dD8A2e1a1a2D2341Da41d1Aa009',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0002989',\n },\n {\n sousId: 2,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.ush,\n contractAddress: '0x3Bb1CCa68756a7E0ffEBf59d52174784047f3dE8',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.04629',\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { ChainId } from '@pancakeswap/chains'\nimport { PublicClient, Address } from 'viem'\nimport type { SerializedWrappedToken } from '@pancakeswap/token-lists'\nimport BigNumber from 'bignumber.js'\n\nexport type OnChainProvider = ({ chainId }: { chainId?: ChainId }) => PublicClient\n\nexport type SerializedBigNumber = string\n\nexport interface Addresses {\n [chainId: number]: string\n}\n\nexport enum PoolCategory {\n 'COMMUNITY' = 'Community',\n 'CORE' = 'Core',\n 'BINANCE' = 'Binance', // Pools using native BNB behave differently than pools using a token\n 'AUTO' = 'Auto',\n}\n\n// @deprecated\nexport interface LegacyPoolConfigBaseProps {\n sousId: number\n contractAddress: Address\n poolCategory: PoolCategory\n tokenPerBlock: string\n isFinished?: boolean\n enableEmergencyWithdraw?: boolean\n version?: number\n}\n\nexport interface PoolConfigBaseProps {\n sousId: number\n contractAddress: Address\n poolCategory: PoolCategory\n tokenPerSecond: string\n isFinished?: boolean\n enableEmergencyWithdraw?: boolean\n}\n\ninterface GenericToken {\n decimals: number\n symbol: string\n address: string\n}\n\nexport interface LegacySerializedPoolConfig<T> extends LegacyPoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport interface SerializedPoolConfig<T> extends PoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport type LegacySerializedPool = LegacySerializedPoolConfig<SerializedWrappedToken>\n\nexport type UpgradedSerializedPool = SerializedPoolConfig<SerializedWrappedToken>\n\nexport type SerializedPool = LegacySerializedPool | UpgradedSerializedPool\n\nexport type UpgradedSerializedPoolWithInfo = UpgradedSerializedPool & SerializedPoolInfo\n\nexport type LegacySerializedPoolWithInfo = LegacySerializedPool & SerializedPoolInfo\n\nexport type SerializedPoolWithInfo = LegacySerializedPoolWithInfo | UpgradedSerializedPoolWithInfo\n\nexport interface SerializedVaultUser {\n isLoading: boolean\n userShares: SerializedBigNumber\n cakeAtLastUserAction: SerializedBigNumber\n lastDepositedTime: string\n lastUserActionTime: string\n}\n\nexport interface SerializedLockedVaultUser extends SerializedVaultUser {\n lockStartTime: string\n lockEndTime: string\n userBoostedShare: SerializedBigNumber\n locked: boolean\n lockedAmount: SerializedBigNumber\n currentPerformanceFee: SerializedBigNumber\n currentOverdueFee: SerializedBigNumber\n}\n\nexport interface LegacyDeserializedPoolConfig<T> extends LegacyPoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport interface UpgradedDeserializedPoolConfig<T> extends PoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport type DeserializedPoolConfig<T> = LegacyDeserializedPoolConfig<T> | UpgradedDeserializedPoolConfig<T>\n\ninterface SerializedPoolInfo extends CorePoolProps {\n totalStaked?: string\n stakingLimit?: string\n stakingLimitEndTimestamp?: number\n profileRequirement?: {\n required: boolean\n thresholdPoints: string\n }\n userDataLoaded?: boolean\n userData?: {\n allowance: string\n stakingTokenBalance: string\n stakedBalance: string\n pendingReward: string\n }\n}\n\ninterface PoolInfo extends CorePoolProps {\n totalStaked?: BigNumber\n stakingLimit?: BigNumber\n stakingLimitEndTimestamp?: number\n profileRequirement?: {\n required: boolean\n thresholdPoints: BigNumber\n }\n userDataLoaded?: boolean\n userData?: {\n allowance: BigNumber\n stakingTokenBalance: BigNumber\n stakedBalance: BigNumber\n pendingReward: BigNumber\n }\n}\n\nexport type UpgradedDeserializedPool<T> = UpgradedDeserializedPoolConfig<T> & PoolInfo\n\nexport type LegacyDeserializedPool<T> = LegacyDeserializedPoolConfig<T> & PoolInfo\n\nexport type DeserializedPool<T> = UpgradedDeserializedPool<T> | LegacyDeserializedPool<T>\n\nexport type DeserializedPoolVault<T> = DeserializedPool<T> & DeserializedCakeVault\nexport type DeserializedPoolLockedVault<T> = DeserializedPool<T> & DeserializedLockedCakeVault\n\nexport interface DeserializedLockedVaultUser extends DeserializedVaultUser {\n lastDepositedTime: string\n lastUserActionTime: string\n lockStartTime: string\n lockEndTime: string\n burnStartTime: string\n userBoostedShare: BigNumber\n locked: boolean\n lockedAmount: BigNumber\n currentPerformanceFee: BigNumber\n currentOverdueFee: BigNumber\n}\n\nexport interface DeserializedLockedCakeVault extends Omit<DeserializedCakeVault, 'userData'> {\n totalLockedAmount?: BigNumber\n userData?: DeserializedLockedVaultUser\n}\n\nexport interface SerializedVaultFees {\n performanceFee: number\n withdrawalFee: number\n withdrawalFeePeriod: number\n}\n\nexport interface DeserializedVaultFees extends SerializedVaultFees {\n performanceFeeAsDecimal: number\n}\n\nexport interface DeserializedVaultUser {\n isLoading: boolean\n userShares: BigNumber\n cakeAtLastUserAction: BigNumber\n lastDepositedTime: string\n lastUserActionTime: string\n balance: {\n cakeAsNumberBalance: number\n cakeAsBigNumber: BigNumber\n cakeAsDisplayBalance: string\n }\n}\n\nexport interface DeserializedCakeVault {\n totalShares?: BigNumber\n totalLockedAmount?: BigNumber\n pricePerFullShare: BigNumber\n totalCakeInVault?: BigNumber\n fees?: DeserializedVaultFees\n userData?: DeserializedVaultUser\n}\n\nexport enum VaultKey {\n CakeVaultV1 = 'cakeVaultV1',\n CakeVault = 'cakeVault',\n CakeFlexibleSideVault = 'cakeFlexibleSideVault',\n IfoPool = 'ifoPool',\n}\n\ninterface CorePoolProps {\n startTimestamp?: number\n endTimestamp?: number\n apr?: number\n rawApr?: number\n stakingTokenPrice?: number\n earningTokenPrice?: number\n vaultKey?: VaultKey\n}\n","import { bscTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 0,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cake,\n contractAddress: '0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '10',\n isFinished: false,\n },\n {\n sousId: 364,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.csix,\n contractAddress: '0x692dF8297495f02f31a24A93D10Bd77D072840d7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5131',\n version: 3,\n },\n {\n sousId: 363,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.play,\n contractAddress: '0x17D87e825A2231628bCBf1aF1aaEaD419dd3a53D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5902',\n version: 3,\n },\n {\n sousId: 362,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcad,\n contractAddress: '0x1328F684569cE0Cb0F13ce023e1C910f23CaBcA8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01658',\n version: 3,\n },\n {\n sousId: 361,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mbx,\n contractAddress: '0x51ebC2F8D7Af302835A1C2Bd02111a3af573e399',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1118',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nconst finishedPools = [\n {\n sousId: 359,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wncg,\n contractAddress: '0xBA75a11EC6e8AFcDAb95E46F5E39941d6bB7334F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7716',\n version: 3,\n },\n {\n sousId: 347,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tusd,\n contractAddress: '0x72cd910eE115E494485Dd32Ce7bC5dE563eceA51',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02314',\n version: 3,\n },\n {\n sousId: 360,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axl,\n contractAddress: '0x32f0414a4e970a3edd9e7db367A43348F25D74cD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05358',\n version: 3,\n },\n {\n sousId: 357,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ush,\n contractAddress: '0x3408367d6d4F379e1dfb2bb61664c4833Ec3588c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1157',\n version: 3,\n },\n {\n sousId: 356,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dck,\n contractAddress: '0x3171DeA40dB52081999Cd589972EF55D5D5B4777',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5594',\n version: 3,\n },\n {\n sousId: 352,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sable,\n contractAddress: '0x40757a3F2BC322f411D905cD489eaf4Eb84C50Aa',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.192',\n version: 3,\n },\n {\n sousId: 351,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.eqb,\n contractAddress: '0x283812B4F4c77A0f169b6F8a79d1d7d996770477',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02411',\n version: 3,\n },\n {\n sousId: 354,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.snbnb,\n contractAddress: '0x854906693F7bAc4E4c8C31c001b6a42b3d93493E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00004813',\n version: 3,\n },\n {\n sousId: 350,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xalgo,\n contractAddress: '0x0Cb99886e31FCe86Fc411A2D744d63E6748133b5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05865',\n version: 3,\n },\n {\n sousId: 349,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pendle,\n contractAddress: '0x658136728Cf2D0845BEE552B07cA7FE82D1B7938',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01426',\n version: 3,\n },\n {\n sousId: 348,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xalgo,\n contractAddress: '0x4b5A6BA2cAf4B6FD04407513172D3e01c288f9bD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07716',\n version: 3,\n },\n {\n sousId: 353,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hay,\n contractAddress: '0x8c41046b3C0D7b7C80316a57C39C74c9F5133852',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02314',\n version: 3,\n },\n {\n sousId: 346,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.csix,\n contractAddress: '0x5250320d765F366E2B96Cd5c7d08F1902422195e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.017',\n },\n {\n sousId: 355,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.planet,\n contractAddress: '0x69Aeec4EBA2333deC563E378a6AFD5eF23437677',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '150.4',\n version: 3,\n },\n {\n sousId: 325,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lvl,\n contractAddress: '0x1394a09F868bE27B1c8D39D79F0b0D6f112bddAf',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009765',\n version: 3,\n },\n {\n sousId: 345,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axl,\n contractAddress: '0x0592c701fE5DE53d534AFBaf3A11A8F1bbEE9E91',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05173',\n version: 3,\n },\n {\n sousId: 343,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.edu,\n contractAddress: '0x3d2d34Ea77B3702B7634C8D208feC5E08CEa88B6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05425',\n version: 3,\n },\n {\n sousId: 342,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ush,\n contractAddress: '0x6Db79ba7c0A6DDC48cFDd79Df6cb757b9E8B51DD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1851',\n version: 3,\n },\n {\n sousId: 341,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pstake,\n contractAddress: '0x17086aF09D63852aD4646f1f837b34e171bEa99B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5497',\n version: 3,\n },\n {\n sousId: 327,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.id,\n contractAddress: '0x7aCcC054bB199ca976C95aee495C9888f566AaAA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07716',\n version: 3,\n },\n {\n sousId: 326,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.unw,\n contractAddress: '0x929641DF8F11b6460efAdb09db357717C60003E1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7716',\n version: 3,\n },\n {\n sousId: 329,\n stakingToken: bscTokens.hay,\n earningToken: bscTokens.cake,\n contractAddress: '0x1c7D573D9614187096276a01Ec15263FCa820BDD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0121',\n version: 3,\n },\n {\n sousId: 324,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.caps,\n contractAddress: '0xA31a351e3FBE3278949242Ff152317c12cd786e2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.7',\n version: 3,\n },\n {\n sousId: 321,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.csix,\n contractAddress: '0x8BD7b0d392D2dE8F682704A3186A48467FcDC7AC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '8.68',\n version: 3,\n },\n {\n sousId: 323,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sd,\n contractAddress: '0xaEC63F134a7853C6DaC9BA428d7962cD7C6c5e30',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01022',\n version: 3,\n },\n {\n sousId: 328,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.rdnt,\n contractAddress: '0xb87d170eC2C22F6078C9ed3214aB6f47f4A924D2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3342',\n version: 3,\n },\n {\n sousId: 339,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axl,\n contractAddress: '0xC0878B7907De5d332C6C296E30d14d604AA6ada6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01041',\n version: 3,\n },\n {\n sousId: 320,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axlusdc,\n contractAddress: '0x08287F4942A7B68DDb87D20Becd4fdadF4aE206e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0135',\n version: 3,\n },\n {\n sousId: 344,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.peel,\n contractAddress: '0xeBc4E95DF515a34c173530b231EDa53E6a786944',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.9186',\n version: 3,\n },\n {\n sousId: 322,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pstake,\n contractAddress: '0x98AC153577d65f2eEF2256f3AeF8ba9D7E4B756B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1186',\n version: 3,\n },\n {\n sousId: 340,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.champ,\n contractAddress: '0x731Aa0b17143A3095430bf322D6aB132cA32b99F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.432',\n version: 3,\n },\n {\n sousId: 336,\n stakingToken: bscTokens.xcad,\n earningToken: bscTokens.cake,\n contractAddress: '0x548e422031E9063c21c84C7478EBa0f7ae9641B7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009548',\n version: 3,\n },\n {\n sousId: 338,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x4809d86700E1f6be32992172Bd57fD3d954993e7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06145',\n version: 3,\n },\n {\n sousId: 337,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.moni,\n contractAddress: '0x47EF9D0A1ff91b4398Ff622eEaf111874d2e0870',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.366',\n version: 3,\n },\n {\n sousId: 335,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sis,\n contractAddress: '0xFBA59bA5485670ec243EFA8903564aa5C0AD2373',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5704',\n version: 3,\n },\n {\n sousId: 334,\n stakingToken: bscTokens.rdnt,\n earningToken: bscTokens.cake,\n contractAddress: '0xaaFf0B9fdC503087764Ee7155039015d74fE79B1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009409',\n version: 3,\n },\n {\n sousId: 333,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gq,\n contractAddress: '0x2F50D0010d408e0C299BE8e1a8d553B8eb3E96ED',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7.093',\n version: 3,\n },\n {\n sousId: 306,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.squad,\n contractAddress: '0x08C9d626a2F0CC1ed9BD07eBEdeF8929F45B83d3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.459',\n version: 3,\n },\n {\n sousId: 332,\n stakingToken: bscTokens.csix,\n earningToken: bscTokens.cake,\n contractAddress: '0x6fBD8a65c844a3565cA4e71Eb577a2a8F821ABB4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0124',\n version: 3,\n },\n {\n sousId: 331,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mgp,\n contractAddress: '0xCA4A503c79cfDa91246f2084fE315F1cA54694D8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.704',\n version: 3,\n },\n {\n sousId: 330,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens['8pay'],\n contractAddress: '0x67c7014b1C6B6a2d811687d4c5a53de518fA705f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.48',\n version: 3,\n },\n {\n sousId: 310,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.champ,\n contractAddress: '0x3B48325b7CA831ca7D5b649B074fF697c66166c3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.961',\n version: 3,\n },\n {\n sousId: 303,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mgp,\n contractAddress: '0x365F744c8b7608253697cA2Ed561537B65a3438B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '6.944',\n version: 3,\n },\n {\n sousId: 309,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arena,\n contractAddress: '0xDe9FC6485b5f4A1905d8011fcd201EB78CF34073',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.893',\n version: 3,\n },\n {\n sousId: 307,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zbc,\n contractAddress: '0xa683C30d47BCd31fB1399b80A4475bc960b903e3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '10.52',\n version: 3,\n },\n {\n sousId: 308,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.primal,\n contractAddress: '0x7cE7A5C3241629763899474500D8db1fDFf1dab6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '30.86',\n version: 3,\n },\n {\n sousId: 304,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcad,\n contractAddress: '0x68Cc90351a79A4c10078FE021bE430b7a12aaA09',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1102',\n version: 3,\n },\n {\n sousId: 302,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wmx,\n contractAddress: '0xaEd58Af2c98dbF05d26B3E5b3cc809fc70D203ce',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n version: 3,\n },\n {\n sousId: 305,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hft,\n contractAddress: '0x92465602f35bb0F22aA1Cf2102B17B563B0a26Dd',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6319',\n version: 3,\n },\n {\n sousId: 301,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.krs,\n contractAddress: '0x067F926EB8f2a95f260327B01C29B2034A785029',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.96',\n version: 3,\n },\n {\n sousId: 299,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.co,\n contractAddress: '0x31736A52bBdda4eaf0117B17736306Bbecb711ca',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.6296',\n version: 3,\n },\n {\n sousId: 298,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hoop,\n contractAddress: '0x6C254E3AB3e4B909A2CfAA3E0b9d2B3F7887CFae',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.146',\n version: 3,\n },\n {\n sousId: 297,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.moni,\n contractAddress: '0xB5e36D441016016f251223EBD5E946cdeFe0E2E1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.411',\n version: 3,\n },\n {\n sousId: 296,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gq,\n contractAddress: '0x983A241Bfe910fcFa3E70744AA21AAe5f45861f0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '55.6446',\n version: 3,\n },\n {\n sousId: 300,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arv,\n contractAddress: '0x420Cd06440d8845FBcde9a396d9Aa211FE78C03d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1335.47',\n version: 3,\n },\n {\n sousId: 295,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wom,\n contractAddress: '0xf78DB5b635bA108212C9D84c124a52D7B1596b97',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n version: 3,\n },\n {\n sousId: 294,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ankr,\n contractAddress: '0x985A20998c7C59e98005c556393215e39c9A4978',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '6.0763',\n version: 3,\n },\n {\n sousId: 293,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hay,\n contractAddress: '0x8cBCf2f2be93D154be5135f465369Ee6dD84314B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2604',\n version: 3,\n },\n {\n sousId: 292,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x449EC6B2779A3F63E6c2527CBB162A38Ef199d7D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1071',\n version: 3,\n },\n {\n sousId: 291,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pstake,\n contractAddress: '0x56D6955Ba6404647191DD7A5D65A5c9Fe43905e1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n version: 3,\n },\n {\n sousId: 290,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.peel,\n contractAddress: '0x288d1aD79c113552B618765B4986f7DE679367Da',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.34',\n version: 3,\n },\n {\n sousId: 289,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.shell,\n contractAddress: '0x595B7AF4F1828AB4953792482b01B2AFC4A46b72',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '89.699',\n version: 3,\n },\n {\n sousId: 288,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.high,\n contractAddress: '0x28cc814bE3B994187B7f8Bfed10516A84A671119',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1332',\n version: 3,\n },\n {\n sousId: 287,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ole,\n contractAddress: '0xda6F750be1331963E5772BEe757062f6bddcEA4C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.2569',\n version: 3,\n },\n {\n sousId: 286,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trivia,\n contractAddress: '0x86471019Bf3f403083390AC47643062e15B0256e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.976',\n version: 3,\n },\n {\n sousId: 285,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sdao,\n contractAddress: '0x168eF2e470bfeAEB32BE52FB218A41483904851c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.405',\n version: 3,\n },\n {\n sousId: 284,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.antex,\n contractAddress: '0xdC37A2B2A6a62008beEe029E36153dF8055a8ADa',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1937.62',\n version: 3,\n },\n {\n sousId: 283,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcn,\n contractAddress: '0xa79D37ce9DF9443eF4B6DEC2e38a8ecd35303adc',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.2505',\n version: 3,\n },\n {\n sousId: 282,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chr,\n contractAddress: '0x2D17ec6cd0AF737B2adE40ea527d41ceEedc166f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.58',\n version: 3,\n },\n {\n sousId: 281,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_MIX,\n contractAddress: '0x0F96E19Bdc787e767BA1e8F1aDD0f62cbdad87C8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '63.136',\n version: 3,\n },\n {\n sousId: 280,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.metis,\n contractAddress: '0xC0A94bFF88EdCae7D5d79294C0e9954Ed75CBCb7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01331',\n version: 3,\n },\n {\n sousId: 279,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gal,\n contractAddress: '0xa5D57C5dca083a7051797920c78fb2b19564176B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09645',\n version: 3,\n },\n {\n sousId: 278,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_rpg,\n contractAddress: '0xD1c395BCdC2d64ac6544A34A36185483B00530a1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06794',\n version: 3,\n },\n {\n sousId: 277,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ankr,\n contractAddress: '0xc581345e1648CcE154978eA80bF8A584EC8aFDe0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.6296',\n version: 3,\n },\n {\n sousId: 276,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ceek,\n contractAddress: '0xED53944b1c0cEecDe1a413fDb4D0496e1a08ab58',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.8078',\n version: 3,\n },\n {\n sousId: 275,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tinc,\n contractAddress: '0x9593462fF51A14633b243Ba3d054A8183d057A02',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4677',\n version: 3,\n },\n {\n sousId: 274,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pex,\n contractAddress: '0x641B1F2781B34a493E4308A0A3F1c7E042A9B952',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3865',\n version: 3,\n },\n {\n sousId: 273,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gmi,\n contractAddress: '0x0D53E0f2Eb384777442e4EB813d8f5fAcC742206',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '17.939',\n version: 3,\n },\n {\n sousId: 272,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.froyo,\n contractAddress: '0x84e3208578eE7db397a3d584d97Fea107b15bF35',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.404',\n version: 3,\n },\n {\n sousId: 271,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bsw,\n contractAddress: '0x7092e029E4ce660F9AC081BF6D8a339BE602398b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.157',\n version: 3,\n },\n {\n sousId: 270,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.duet,\n contractAddress: '0xA581349F26dE887700045F9B7d148775d422fDA2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4861',\n version: 3,\n },\n {\n sousId: 269,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gmt,\n contractAddress: '0xe76a31cF974BA5819ce86cB4667a4bf05174bC59',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.629',\n version: 3,\n },\n {\n sousId: 268,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xwg,\n contractAddress: '0x6e0272A70075f6782F6842730107E9ABf74C5CC7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.106',\n version: 3,\n },\n {\n sousId: 267,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.high,\n contractAddress: '0x60c4998C058BaC8042712B54E7e43b892Ab0B0c4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09756',\n version: 3,\n },\n {\n sousId: 266,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.thg,\n contractAddress: '0xD1D03A3D4C27884a8703Cdb78504737C9E9A159e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.162',\n version: 3,\n },\n {\n sousId: 265,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.era,\n contractAddress: '0x260F95f5b7FD8eda720ED9d0829164dE35B048ab',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.608',\n version: 3,\n },\n {\n sousId: 264,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.btt,\n contractAddress: '0x346a1b672C5Cbb6AE21715428f77A0049B29B332',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '157829',\n },\n {\n sousId: 263,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ach,\n contractAddress: '0xcD1Be742b04DB005e2C445A11BDe6d13DD9dd454',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7.502',\n },\n {\n sousId: 261,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x80762101bd79D6e7A175E9678d05c7f815b8D7d7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06481',\n },\n {\n sousId: 260,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.raca,\n contractAddress: '0xAaF43935a526DF88AB57FC69b1d80a8d35e1De82',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '204.2',\n },\n {\n sousId: 259,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ertha,\n contractAddress: '0x921Ea7e12A66025F2BD287eDbff6dc5cEABd6477',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.585',\n },\n {\n sousId: 258,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.fuse,\n contractAddress: '0xeAd7b8fc5F2E5672FAe9dCf14E902287F35CB169',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.19',\n },\n {\n sousId: 257,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.froyo,\n contractAddress: '0x1c9E3972fdBa29b40954Bb7594Da6611998F8830',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.893',\n },\n {\n sousId: 256,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.aog,\n contractAddress: '0xa34832efe74133763A85060a64103542031B0A7E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6435',\n },\n {\n sousId: 255,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.apx,\n contractAddress: '0x92c07c325cE7b340Da2591F5e9CbB1F5Bab73FCF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.035',\n },\n {\n sousId: 254,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bcoin,\n contractAddress: '0x25ca61796D786014FfE15E42aC11C7721d46E120',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1493',\n },\n {\n sousId: 253,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bcoin,\n contractAddress: '0xad8F6A9d58012DCa2303226B287E80e5fE27eff0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1493',\n },\n {\n sousId: 252,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.insur,\n contractAddress: '0x1A777aE604CfBC265807A46Db2d228d4CC84E09D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3281',\n },\n {\n sousId: 251,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gm,\n contractAddress: '0x09e727c83a75fFdB729280639eDBf947dB76EeB7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7893',\n },\n {\n sousId: 250,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.woop,\n contractAddress: '0x2718D56aE2b8F08B3076A409bBF729542233E451',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.226',\n },\n {\n sousId: 249,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.high,\n contractAddress: '0x2461ea28907A2028b2bCa40040396F64B4141004',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02679',\n },\n {\n sousId: 247,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dpt,\n contractAddress: '0x1c0C7F3B07a42efb4e15679a9ed7e70B2d7Cc157',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.62962963',\n },\n {\n sousId: 246,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.thg,\n contractAddress: '0x56Bfb98EBEF4344dF2d88c6b80694Cba5EfC56c8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.03761',\n },\n {\n sousId: 245,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.idia,\n contractAddress: '0x07984aBb7489CD436d27875c07Eb532d4116795a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1262',\n },\n {\n sousId: 244,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcv,\n contractAddress: '0xF1fA41f593547E406a203b681df18acCC3971A43',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7413',\n },\n {\n sousId: 243,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nabox,\n contractAddress: '0x13A40BFab005D9284f8938FBb70Bf39982580e4D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1271',\n },\n {\n sousId: 242,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.santos,\n contractAddress: '0x0914b2d9D4DD7043893DEF53ecFC0F1179F87d5c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0578',\n },\n {\n sousId: 241,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.quidd,\n contractAddress: '0xD97Ee2bFE79A4d4ab388553411c462fbb536A88C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07471',\n },\n {\n sousId: 240,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zoo,\n contractAddress: '0x2EfE8772EB97B74be742d578A654AB6C95bF18db',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4516',\n },\n {\n sousId: 239,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x7F103689cabe17C2F70DA6faa298045d72a943b8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0311',\n },\n {\n sousId: 238,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.qi,\n contractAddress: '0xbd52ef04DB1ad1c68A8FA24Fa71f2188978ba617',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.736',\n },\n {\n sousId: 237,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kart,\n contractAddress: '0x73bB10B89091f15e8FeD4d6e9EBa6415df6acb21',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1897',\n },\n {\n sousId: 236,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.porto,\n contractAddress: '0xdD52FAB121376432DBCBb47592742F9d86CF8952',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0578',\n },\n {\n sousId: 235,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dvi,\n contractAddress: '0x2b8751B7141Efa7a9917f9C6fea2CEA071af5eE7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2516',\n },\n {\n sousId: 234,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.jgn,\n contractAddress: '0xfDFb4DbE94916F9f55dBC2c14Ea8B3e386eCD9F9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5233',\n },\n {\n sousId: 232,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xwg,\n contractAddress: '0x79f5f7DDADeFa0A9e850DFFC4fBa77e5172Fe701',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.3379',\n },\n {\n sousId: 231,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dar,\n contractAddress: '0x9b861A078B2583373A7a3EEf815bE1A39125Ae08',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.3148',\n },\n {\n sousId: 230,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.fina,\n contractAddress: '0xa35caA9509a2337E22C54C929146D5F7f6515794',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06944',\n },\n {\n sousId: 229,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bmon,\n contractAddress: '0x6e63B2B96c77532ea7ec2B3D3BFA9C8e1d383f3C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.0254',\n },\n {\n sousId: 228,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dkt,\n contractAddress: '0xFef4B7a0194159d89717Efa592384d42B28D3926',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09838',\n },\n {\n sousId: 227,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0x2D26e4b9a5F19eD5BB7AF221DC02432D31DEB4dA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.2152',\n },\n {\n sousId: 226,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lazio,\n contractAddress: '0xd008416C2C9cF23843BD179AA3cefedB4c8D1607',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0694',\n },\n {\n sousId: 225,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sps,\n contractAddress: '0xD9B63Bb6C62FE2E9a641699A91e680994b8b0081',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.40046',\n },\n {\n sousId: 224,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mcb,\n contractAddress: '0xCc2D359c3a99d9cfe8e6F31230142efF1C828e6D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00706',\n },\n {\n sousId: 223,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_rpg,\n contractAddress: '0x65C0940C50A3C98AEEc95a115Ae62E9804588713',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01863',\n },\n {\n sousId: 222,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.beta,\n contractAddress: '0x6f660C58723922c6f866a058199FF4881019B4B5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 233,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.eternal,\n contractAddress: '0xc28c400F2B675b25894FA632205ddec71E432288',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.002893',\n },\n {\n sousId: 221,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nft,\n contractAddress: '0x8d018823d13C56D62fFB795151a9e629C21E047b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '173727',\n },\n {\n sousId: 220,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chess,\n contractAddress: '0x4D1Ec426d0d7fb6bF344Dd372d0502EDD71c8d88',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0861',\n },\n {\n sousId: 219,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tlos,\n contractAddress: '0xCB41a72067c227D6Ed7bc7CFAcd13eCe47Dfe5E9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3616',\n },\n {\n sousId: 218,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.stephero,\n contractAddress: '0xcECBa456Fefe5b18D43DF23419e7AB755b436655',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1851',\n },\n {\n sousId: 217,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bp,\n contractAddress: '0x8eD7aCF12b08274D5CdAF03d43D0E54bCbDD487e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.217',\n },\n {\n sousId: 216,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cvp,\n contractAddress: '0xC4b15117BC0be030c20754FF36197641477af5d1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.14',\n },\n {\n sousId: 215,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.qbt,\n contractAddress: '0xB72dEf58D0832f747d6B7197471Fe20AeA7EB463',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.412',\n },\n {\n sousId: 214,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.naos,\n contractAddress: '0xb38b78529bCc895dA16CE2978D6cD6C56e8CfFC3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1736',\n },\n {\n sousId: 213,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pha,\n contractAddress: '0x2E101b5F7f910F2609e5AcE5f43bD274b1DE09AA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.28',\n },\n {\n sousId: 212,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bel,\n contractAddress: '0x52733Ad7b4D09BF613b0389045e33E2F287afa04',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.101',\n },\n {\n sousId: 211,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0x401B9B97bDbC3197C1adFaB9652dC78040bd1E13',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.9837',\n },\n {\n sousId: 210,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pots,\n contractAddress: '0xBeDb490970204cb3CC7B0fea94463BeD67d5364D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0868',\n },\n {\n sousId: 209,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_tusd,\n contractAddress: '0xb6e510AE2Da1AB4E350f837c70823ab75091780e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n },\n {\n sousId: 208,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.revv,\n contractAddress: '0x8aA5B2C67852ED5334c8A7F0b5eB0eF975106793',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.331',\n },\n {\n sousId: 207,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bttold,\n contractAddress: '0x3b804460C3C62f0F565aF593984159f13B1AC976',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '263',\n },\n {\n sousId: 206,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.skill,\n contractAddress: '0x455F4d4Cc4d6CA15441a93c631E82aAF338ad843',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00289',\n },\n {\n sousId: 205,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.win,\n contractAddress: '0xDe4AEf42Bb27a2cb45c746aCDe4e4D8aB711D27C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1815.39',\n },\n {\n sousId: 204,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.if,\n contractAddress: '0x57d3524888Ded4085D9124A422F13b27C8a43DE7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02835',\n },\n {\n sousId: 203,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sps,\n contractAddress: '0xB56299d8FBF46C509014b103a164ad1fC65EA222',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '12.86',\n },\n {\n sousId: 202,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.c98,\n contractAddress: '0x5e49531BA07bE577323e55666D46C6217164119E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 201,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axs,\n contractAddress: '0xBB472601B3CB32723d0755094BA80B73F67f2AF3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00744',\n },\n {\n sousId: 200,\n stakingToken: bscTokens.axs,\n earningToken: bscTokens.cake,\n contractAddress: '0x583A36816F3b8401C4fdf682203E0caDA6997740',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00992',\n },\n {\n sousId: 199,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pmon,\n contractAddress: '0x28050E8F024E05F9DdBeF5f60dD49F536DBA0cF0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02696',\n },\n {\n sousId: 198,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trx,\n contractAddress: '0xb2B62f88AB82ed0bB4aB4dA60D9Dc9ACF9e816e5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '9.6643',\n },\n {\n sousId: 197,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chess,\n contractAddress: '0xD1812e7E28C39e78727592de030fC0e7c366D61a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4286',\n },\n {\n sousId: 196,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.titan,\n contractAddress: '0x97058CF9B36c9Ef1622485ceF22E72d6fEA32a36',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.08912',\n },\n {\n sousId: 195,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.harmony,\n contractAddress: '0xe595456846155E23B24cc9cbEe910ee97027DB6d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.0092',\n },\n {\n sousId: 194,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mask,\n contractAddress: '0xAE611C6D4D3cA2CeE44cd34EB7aAc29D5A387fcf',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06423',\n },\n {\n sousId: 193,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dvi,\n contractAddress: '0x135827eaF9746573C0B013F18EE12f138B9b0384',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7233',\n },\n {\n sousId: 192,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gum,\n contractAddress: '0x09b8a5f51c9e245402057851ADA274174Fa00E2A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.67129',\n },\n {\n sousId: 191,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.adx,\n contractAddress: '0x53A2D1db049b5271c6b6dB020dBa0e8A7C4Eb90d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7523',\n },\n {\n sousId: 190,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.suter,\n contractAddress: '0x4dA8Da81647ee0Aa7350e9959f3e4771eB753Da0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '69.9074',\n },\n {\n sousId: 189,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bscpad,\n contractAddress: '0x0446b8F8474C590d2249a4ACDD6Eedbc2e004bca',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3877',\n },\n {\n sousId: 188,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.rabbit,\n contractAddress: '0x391240A007Bfd8A59bA74978D691219a76c64c5C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.993',\n },\n {\n sousId: 187,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.waultx,\n contractAddress: '0x017DEa5C58c2Bcf57FA73945073dF7AD4052a71C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7.9108',\n },\n {\n sousId: 186,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wex,\n contractAddress: '0x6Bd94783caCef3fb7eAa9284f1631c464479829f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '11.574',\n },\n {\n sousId: 185,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.form,\n contractAddress: '0x7c71723fB1F9Cfb250B702cfc4eBd5D9Ab2E83d9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.4467',\n },\n {\n sousId: 184,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.orbs,\n contractAddress: '0x9C8813d7D0A61d30610a7A5FdEF9109e196a3D77',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.8946',\n },\n {\n sousId: 183,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.$dg,\n contractAddress: '0xa07a91DA6D10173f33c294803684bCeEde325957',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00135',\n },\n {\n sousId: 182,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.woo,\n contractAddress: '0x88c321D444C88acF3e747dC90F20421b97648903',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3854',\n },\n {\n sousId: 181,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.woo,\n contractAddress: '0x3C7234c496d76133b48bD6A342E7aEa4f8d87fC8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0003854',\n },\n {\n sousId: 180,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.htb,\n contractAddress: '0x64473c33c360f315cAb38674F1633505d1d8dcb2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.2083',\n },\n {\n sousId: 179,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.jgn,\n contractAddress: '0x5cC7a19a50bE2A6b2540EbCd55Bd728E732e59C3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1001',\n },\n {\n sousId: 178,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dft,\n contractAddress: '0x2666E2494E742301fFC8026e476Acc1710a775Ed',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 177,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hai,\n contractAddress: '0x6ac2213F09A404c86AFf506Aa51B6a5BF1F6e24E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.3078',\n },\n {\n sousId: 176,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.o3,\n contractAddress: '0x35BD47263f7E57368Df76339903C53bAa99076e1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.107638',\n },\n {\n sousId: 175,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ampl,\n contractAddress: '0x62dEc3A560D2e8A84D30752bA454f97b26757877',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.398',\n },\n {\n sousId: 174,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oddz,\n contractAddress: '0x44D1F81e80E43e935d66d65874354eF91E5E49f6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4843',\n },\n {\n sousId: 173,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bondly,\n contractAddress: '0x4Ea43FCE546975aAe120C9eECeB172500BE4a02b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6741',\n },\n {\n sousId: 172,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.marsh,\n contractAddress: '0x567fd708e788e51b68666b9310Ee9dF163D60fAE',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1108',\n },\n {\n sousId: 171,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mbox,\n contractAddress: '0x36F9452083fC9bC469a31e7966B873F402292433',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4803',\n },\n {\n sousId: 170,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ata,\n contractAddress: '0xC612680457751D0D01B5d901AD08132a3B001900',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 169,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mx,\n contractAddress: '0x336bcd59f2B6Eb7221a99F7A50fd03c6bf9A306b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.27777',\n },\n {\n sousId: 168,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bcfx,\n contractAddress: '0x2b3974DDa76B2d408B7D680a27fbb0393E3CF0e1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6944',\n },\n {\n sousId: 167,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.qkc,\n contractAddress: '0xFa67f97eEEE6De55d179eCAbBfE701F27D9A1Ed9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '15.9143',\n },\n {\n sousId: 166,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ktn,\n contractAddress: '0x48852322a185DC5Fc733ff8C8D7c6DCBd2B3b2A2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01215',\n },\n {\n sousId: 165,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mtrg,\n contractAddress: '0xf4D0F71698f58f221911515781B05E808a8635cB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05613',\n },\n {\n sousId: 164,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_tusd,\n contractAddress: '0x9DCeB1d92f7e0361d0766f3D98482424DF857654',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n },\n {\n sousId: 163,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.vrt,\n contractAddress: '0xB77F1425eC3A7C78b1A1E892f72332C8b5e8FFcb',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '40.5092',\n },\n {\n sousId: 162,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kalm,\n contractAddress: '0xB9FF4dA0954B300542E722097671EaD8cf337C17',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0868',\n },\n {\n sousId: 161,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ez,\n contractAddress: '0xB19395702460261e51Edf7A7B130109c64f13AF9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01736',\n },\n {\n sousId: 160,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kalm,\n contractAddress: '0x6E113ecB9Ff2d271140f124C2CC5b5e4B5700c9f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00868',\n },\n {\n sousId: 159,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.popen,\n contractAddress: '0x7Baf1763CE5d0Da8c9d85927F08a8be9c481ce50',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.19097',\n },\n {\n sousId: 158,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lien,\n contractAddress: '0x2b8d6C9C62bFc1BeD84724165D3000e61D332caB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.023148',\n },\n {\n sousId: 157,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.well,\n contractAddress: '0x8a06ff2748eDCBa3FB4e44a6bfDA4e46769e557b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2025',\n },\n {\n sousId: 156,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deri,\n contractAddress: '0x3eba95F5493349bbe0CaD33EAAe05DC6a7E26b90',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.6087',\n },\n {\n sousId: 155,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chr,\n contractAddress: '0x593EDbD14A5B7eEc828336ACCCA9C16CC12F04be',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.655',\n },\n {\n sousId: 154,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cyc,\n contractAddress: '0xD714738837944C3c592477249E8edB724A76e068',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00015914',\n },\n {\n sousId: 153,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xend,\n contractAddress: '0x8EA9f2482B2f7b12744a831F81F8d08714adc093',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.31828',\n },\n {\n sousId: 152,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hget,\n contractAddress: '0x8E8125f871eb5bA9D55361365F5391Ab437f9acc',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.03553',\n },\n {\n sousId: 151,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hotcross,\n contractAddress: '0x0E09205E993f78cd5B3A5df355Ae98eE7D0b5834',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n },\n {\n sousId: 150,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.rfox,\n contractAddress: '0xF9F00d41b1f4b3c531ff750a9b986C1a530F33d9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 149,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wmass,\n contractAddress: '0x4Af531EcD50167a9402Ce921ee6436dd4cFC04FD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.24942',\n },\n {\n sousId: 148,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ubxt,\n contractAddress: '0x9B4BaC2d8F69853Aa29cb45478C77FC54532aC22',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.4074',\n },\n {\n sousId: 147,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.btr,\n contractAddress: '0x20EE70a07ae1B475cB150dEC27930D97915726Ea',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.8935',\n },\n {\n sousId: 146,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.τdoge,\n contractAddress: '0x017556dFFb8C6a52Fd7F4788aDF6fb339309C81B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.868',\n },\n {\n sousId: 145,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pmon,\n contractAddress: '0xDaa711ecf2Ac0BFf5C82fCEEAE96d0008791cC49',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01261',\n },\n {\n sousId: 144,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.one,\n contractAddress: '0x74AF842ecD0B6588ADd455A47aa21ED9bA794108',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '57.87',\n },\n {\n sousId: 143,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.fine,\n contractAddress: '0x42D41749d6e9a1c5b47e27F690D4531f181B2159',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1342',\n },\n {\n sousId: 142,\n stakingToken: bscTokens.doge,\n earningToken: bscTokens.cake,\n contractAddress: '0xBEbD44824631b55991Fa5f2bf5c7a4ec96ff805B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01388',\n },\n {\n sousId: 141,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bmxx,\n contractAddress: '0x55131f330c886E3f0CaE389CeDb23766aC9aA3ED',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01331',\n },\n {\n sousId: 140,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oin,\n contractAddress: '0x01453A74a94687Fa3f99b80762435855a13664f4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n },\n {\n sousId: 139,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hyfi,\n contractAddress: '0x0032CeB978FE5FC8A5D5D6f5ADfc005e76397E29',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.8935',\n },\n {\n sousId: 138,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kun,\n contractAddress: '0x439B46D467402CEbC1a2FA05038B5b696B1f4417',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.23148',\n },\n {\n sousId: 137,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.math,\n contractAddress: '0x377AE5f933AA4CfA41fA03E2CAE8a2BEFCCF53B2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.15798',\n },\n {\n sousId: 136,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ust,\n contractAddress: '0xce3EbaC3F549ebf1A174A6aC3b390c179422B5f6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.17361',\n },\n {\n sousId: 135,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.win,\n contractAddress: '0xD26DEc254C699935c286CD90E9841DCABF1aF72d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '462.96',\n },\n {\n sousId: 134,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trx,\n contractAddress: '0x93E2867D9b74341C2D19101b7Fbb81d6063CcA4d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.0509',\n },\n {\n sousId: 133,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bttold,\n contractAddress: '0x3b644e44033cFF70BD6b771904225f3dd69DFb6d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '79.86',\n },\n {\n sousId: 132,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lmt,\n contractAddress: '0x0A687D7b951348D681f7Ed5Eea84C0Ba7b9566dC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.66145',\n },\n {\n sousId: 131,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pnt,\n contractAddress: '0x417df1c0e6A498eB1F2247F99032A01D4faFe922',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09548',\n },\n {\n sousId: 130,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xmark,\n contractAddress: '0xDC8943d806F9Dd64312D155284ABF780455fD345',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0298',\n },\n {\n sousId: 129,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0xa90a894e5Bc20aB2bE46c7E033A38f8B8eaa771A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4861',\n isFinished: true,\n },\n {\n sousId: 128,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hakka,\n contractAddress: '0x34ac807E34e534Fe426Da1E11F816422774AAe1C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n },\n {\n sousId: 127,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pbtc,\n contractAddress: '0x31FA2F516b77c4273168b284AC6D9def5AA6DaFb',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0000031',\n },\n {\n sousId: 126,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lien,\n contractAddress: '0x7112f8988f075C7784666ab071927AE4109a8076',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.003472',\n },\n {\n sousId: 125,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bbadger,\n contractAddress: '0x126dfBcef85c5Bf335F8BE99CA4006037f417892',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00265278',\n },\n {\n sousId: 124,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bdigg,\n contractAddress: '0x4F0AD2332B1F9983E8F63Cbee617523Bb7de5031',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000403',\n },\n {\n sousId: 123,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bondly,\n contractAddress: '0x9483ca44324dE06802576866b9D296f7614f45Ac',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4629',\n },\n {\n sousId: 122,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xed,\n contractAddress: '0x72ceec6E2A142678E703aB0710DE78bc819F4cE0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n },\n {\n sousId: 121,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cgg,\n contractAddress: '0x1C6eD21D3313822ae73ed0d94811FfbBE543f341',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.10918',\n },\n {\n sousId: 120,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.perl,\n contractAddress: '0x1aC0d0333640F57327c83053C581340ebC829E30',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n },\n {\n sousId: 119,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arpa,\n contractAddress: '0xC707e5589aeb1dC117B0BB5A3622362F1812D4fc',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.949',\n },\n {\n sousId: 118,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oddz,\n contractAddress: '0x22106cdCF9787969e1672d8E6A9C03A889CdA9c5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.11284',\n },\n {\n sousId: 117,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dexe,\n contractAddress: '0x999B86E8BBA3D4F05afB8155963999db70aFA97F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009837',\n isFinished: true,\n },\n {\n sousId: 116,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dfd,\n contractAddress: '0xAF3EfE5fCEeBc603Eada6A2b0172be11f7405102',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.46296',\n },\n {\n sousId: 115,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.alpaca,\n contractAddress: '0xF73FdEB26a8C7a4Abf3809d3DB11a06ba5c13D0e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.22743',\n },\n {\n sousId: 114,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.τbtc,\n contractAddress: '0xAaC7171afC93f4b75e1268d208040B152ac65E32',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000608',\n },\n {\n sousId: 113,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.τbtc,\n contractAddress: '0x2c6017269B4324D016ca5d8e3267368652c18905',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000608',\n isFinished: true,\n },\n {\n sousId: 112,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swingby,\n contractAddress: '0x675434C68F2672c983e36cF10Ed13a4014720B79',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.21527',\n },\n {\n sousId: 111,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xed,\n contractAddress: '0x05d6C2d1d687eACfb5E6440d5a3511E91F2201A8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 110,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hakka,\n contractAddress: '0xD623a32da4A632Ce01766C317D07Cb2CAD56949B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 109,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cgg,\n contractAddress: '0xdF75f38DBC98F9F26377414e567aBcb8D57CCa33',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.10918',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 108,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mix,\n contractAddress: '0xce64A930884B2c68CD93FC1C7c7Cdc221D427692',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3721',\n },\n {\n sousId: 107,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.suter,\n contractAddress: '0xc1E70edd0141c454b834Deac7ddDeA413424aEf9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '15.3356',\n },\n {\n sousId: 106,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.broobee,\n contractAddress: '0x189d8228CdfDc404Bd9e5bD65ff958cb5fd8855c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '14.4675',\n },\n {\n sousId: 105,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hzn,\n contractAddress: '0x0196c582216e2463f052E2B07Ef8667Bec9Fb17a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6944',\n },\n {\n sousId: 104,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.alpa,\n contractAddress: '0x8f84106286c9c8A42bc3555C835E6e2090684ab7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.23495',\n },\n {\n sousId: 103,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.perl,\n contractAddress: '0xa8d32b31ECB5142f067548Bf0424389eE98FaF26',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 102,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tlm,\n contractAddress: '0xC59aa49aE508050c2dF653E77bE13822fFf02E9A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '17.361',\n },\n {\n sousId: 101,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.jgn,\n contractAddress: '0x14AeA62384789EDA98f444cCb970F6730877d3F9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.08796',\n },\n {\n sousId: 100,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.eps,\n contractAddress: '0xebb87dF24D65977cbe62538E4B3cFBD5d0308642',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07716',\n },\n {\n sousId: 99,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arpa,\n contractAddress: '0x40918EF8efFF4aA061656013a81E0e5A8A702eA7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.949',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 98,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.itam,\n contractAddress: '0x44eC1B26035865D9A7C130fD872670CD7Ebac2bC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.096',\n },\n {\n sousId: 97,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bondly,\n contractAddress: '0x1329ad151dE6C441184E32E108401126AE850937',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4629',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 96,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tko,\n contractAddress: '0x9bbDc92474a7e7321B78dcDA5EF35f4981438760',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n },\n {\n sousId: 95,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.apys,\n contractAddress: '0x46530d79b238f809e80313e73715b160c66677aF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09953',\n },\n {\n sousId: 94,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hoo,\n contractAddress: '0x47fD853D5baD391899172892F91FAa6d0cd8A2Aa',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.489',\n },\n {\n sousId: 93,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oddz,\n contractAddress: '0xe25aB6F05BBF6C1be953BF2d7df15B3e01b8e5a5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.11284',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 92,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.easy,\n contractAddress: '0xEB8Fd597921E3Dd37B0F103a2625F855e2C9b9B5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0072338',\n },\n {\n sousId: 91,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nrv,\n contractAddress: '0xABFd8d1942628124aB971937154f826Bce86DcbC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.15046',\n },\n {\n sousId: 90,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dego,\n contractAddress: '0x526d3c204255f807C95a99b69596f2f9f72345e5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00405',\n },\n {\n sousId: 89,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gum,\n contractAddress: '0xAa2082BeE04fc518300ec673F9497ffa6F669dB8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.08912',\n },\n {\n sousId: 88,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pbtc,\n contractAddress: '0x9096625Bc0d36F5EDa6d44e511641667d89C28f4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0000031',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 87,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dft,\n contractAddress: '0x78BD4dB48F8983c3C36C8EAFbEF38f6aC7B55285',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6811',\n },\n {\n sousId: 86,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swth,\n contractAddress: '0x35418e14F5aA615C4f020eFBa6e01C5DbF15AdD2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.3148',\n },\n {\n sousId: 85,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lien,\n contractAddress: '0x3c7cC49a35942fbD3C2ad428a6c22490cd709d03',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.003472',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 84,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zil,\n contractAddress: '0xF795739737ABcFE0273f4Dced076460fdD024Dd9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.0995',\n },\n {\n sousId: 83,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pcws,\n contractAddress: '0x06FF8960F7F4aE572A3f57FAe77B2882BE94Bf90',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00434',\n },\n {\n sousId: 82,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bbadger,\n contractAddress: '0xe4dD0C50fb314A8B2e84D211546F5B57eDd7c2b9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00265278',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 81,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bdigg,\n contractAddress: '0xb627A7e33Db571bE792B0b69c5C2f5a8160d5500',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000403',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 80,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lto,\n contractAddress: '0xadBfFA25594AF8Bc421ecaDF54D057236a99781e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2893',\n },\n {\n sousId: 79,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mir,\n contractAddress: '0x3e31488f08EBcE6F2D8a2AA512aeFa49a3C7dFa7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01273',\n },\n {\n sousId: 78,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mir,\n contractAddress: '0x453a75908fb5A36D482D5F8fe88ECA836f32eAd5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01273',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 77,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trade,\n contractAddress: '0x509C99D73FB54b2c20689708b3F824147292D38e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4484',\n },\n {\n sousId: 76,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dusk,\n contractAddress: '0xF1bd5673Ea4a1C415ec84fa3E402F2F7788E7717',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4629',\n },\n {\n sousId: 75,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bifi,\n contractAddress: '0xB4C68A1C565298834360BbFF1652284275120D47',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00007234',\n },\n {\n sousId: 74,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.txl,\n contractAddress: '0x153e62257F1AAe05d5d253a670Ca7585c8D3F94F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.434027',\n },\n {\n sousId: 73,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cos,\n contractAddress: '0xF682D186168b4114ffDbF1291F19429310727151',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.787',\n },\n {\n sousId: 72,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bunny,\n contractAddress: '0xaDdAE5f4dB84847ac9d947AED1304A8e7D19f7cA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00289',\n },\n {\n sousId: 71,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.alice,\n contractAddress: '0x4C32048628D0d32d4D6c52662FB4A92747782B56',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.14467',\n },\n {\n sousId: 70,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.for,\n contractAddress: '0x47642101e8D8578C42765d7AbcFd0bA31868c523',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.8935',\n },\n {\n sousId: 69,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bux,\n contractAddress: '0x07F8217c68ed9b838b0b8B58C19c79bACE746e9A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n },\n {\n sousId: 68,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nuls,\n contractAddress: '0x580DC9bB9260A922E3A4355b9119dB990F09410d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0868',\n },\n {\n sousId: 67,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.belt,\n contractAddress: '0x6f0037d158eD1AeE395e1c12d21aE8583842F472',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00868',\n isFinished: true,\n },\n {\n sousId: 66,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0x423382f989C6C289c8D441000e1045e231bd7d90',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4861',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 65,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bfi,\n contractAddress: '0x0A595623b58dFDe6eB468b613C11A7A8E84F09b9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0001157',\n },\n {\n sousId: 64,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dexe,\n contractAddress: '0x9E6dA246d369a41DC44673ce658966cAf487f7b2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009837',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 63,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bel,\n contractAddress: '0x2C0f449387b15793B9da27c2d945dBed83ab1B07',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0549',\n },\n {\n sousId: 62,\n stakingToken: bscTokens.tpt,\n earningToken: bscTokens.cake,\n contractAddress: '0x0c3D6892aa3b23811Af3bd1bbeA8b0740E8e4528',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0462',\n isFinished: true,\n },\n {\n sousId: 61,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tpt,\n contractAddress: '0x75C91844c5383A68b7d3A427A44C32E3ba66Fe45',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.616',\n isFinished: true,\n },\n {\n sousId: 60,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.watch,\n contractAddress: '0xC58954199E268505fa3D3Cb0A00b7207af8C2D1d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n isFinished: true,\n },\n {\n sousId: 59,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xmark,\n contractAddress: '0xA5137e08C48167E363Be8Ec42A68f4F54330964E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0413',\n isFinished: true,\n },\n {\n sousId: 58,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bmxx,\n contractAddress: '0x6F31B87f51654424Ce57E9F8243E27ed13846CDB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00248',\n isFinished: true,\n },\n {\n sousId: 57,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.iotx,\n contractAddress: '0xCE54BA909d23B9d4BE0Ff0d84e5aE83F0ADD8D9a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '6.365',\n isFinished: true,\n },\n {\n sousId: 56,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bor,\n contractAddress: '0x3e677dC00668d69c2A7724b9AFA7363e8A56994e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.000395',\n isFinished: true,\n },\n {\n sousId: 55,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bopen,\n contractAddress: '0x5Ac8406498dC1921735d559CeC271bEd23B294A7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0723',\n isFinished: true,\n },\n {\n sousId: 54,\n stakingToken: bscTokens.sushi,\n earningToken: bscTokens.cake,\n contractAddress: '0xb69b6e390cba1F68442A886bC89E955048DAe7E3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0367',\n isFinished: true,\n },\n {\n sousId: 53,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dodo,\n contractAddress: '0xae3001ddb18A6A57BEC2C19D71680437CA87bA1D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0578',\n isFinished: true,\n },\n {\n sousId: 52,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swingby,\n contractAddress: '0x02aa767e855b8e80506fb47176202aA58A95315a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.13',\n isFinished: true,\n },\n {\n sousId: 51,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bry,\n contractAddress: '0x1c736F4FB20C7742Ee83a4099fE92abA61dFca41',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1157',\n isFinished: true,\n },\n {\n sousId: 50,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zee,\n contractAddress: '0x02861B607a5E87daf3FD6ec19DFB715F1b371379',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1736',\n isFinished: true,\n },\n {\n sousId: 49,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swgb,\n contractAddress: '0x73e4E8d010289267dEe3d1Fc48974B60363963CE',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.899',\n isFinished: true,\n },\n {\n sousId: 48,\n stakingToken: bscTokens.comp,\n earningToken: bscTokens.cake,\n contractAddress: '0xE0565fBb109A3f3f8097D8A9D931277bfd795072',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.055',\n isFinished: true,\n },\n {\n sousId: 47,\n stakingToken: bscTokens.comp,\n earningToken: bscTokens.cake,\n contractAddress: '0xc3693e3cbc3514d5d07EA5b27A721F184F617900',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.55',\n isFinished: true,\n },\n {\n sousId: 46,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfp,\n contractAddress: '0x2B02d43967765b18E31a9621da640588f3550EFD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6',\n isFinished: true,\n },\n {\n sousId: 45,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lina,\n contractAddress: '0x212bb602418C399c29D52C55100fD6bBa12bea05',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.983',\n isFinished: true,\n },\n {\n sousId: 44,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lina,\n contractAddress: '0x04aE8ca68A116278026fB721c06dCe709eD7013C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0983',\n isFinished: true,\n },\n {\n sousId: 43,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lit,\n contractAddress: '0x1714bAAE9DD4738CDEA07756427FA8d4F08D9479',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.231',\n isFinished: true,\n },\n {\n sousId: 42,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hget,\n contractAddress: '0xcCD0b93cC6ce3dC6dFaA9DB68f70e5C8455aC5bd',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0138',\n isFinished: true,\n },\n {\n sousId: 41,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bdo,\n contractAddress: '0x9cB24e9460351bC51d4066BC6AEd1F3809b02B78',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.075',\n isFinished: true,\n },\n {\n sousId: 40,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.egld,\n contractAddress: '0x2dcf4cDFf4Dd954683Fe0a6123077f8a025b66cF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.001215',\n isFinished: true,\n },\n {\n sousId: 39,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ust,\n contractAddress: '0x6EFa207ACdE6e1caB77c1322CbdE9628929ba88F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1157',\n isFinished: true,\n },\n {\n sousId: 38,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wsote,\n contractAddress: '0xD0b738eC507571176D40f28bd56a0120E375f73a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.23',\n isFinished: true,\n },\n {\n sousId: 37,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.front,\n contractAddress: '0xf7a31366732F08E8e6B88519dC3E827e04616Fc9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2546',\n isFinished: true,\n },\n {\n sousId: 36,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.helmet,\n contractAddress: '0x9F23658D5f4CEd69282395089B0f8E4dB85C6e79',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.81',\n isFinished: true,\n },\n {\n sousId: 35,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.btcst,\n contractAddress: '0xB6fd2724cc9c90DD31DA35DbDf0300009dceF97d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.011574',\n isFinished: true,\n },\n {\n sousId: 34,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bscx,\n contractAddress: '0x108BFE84Ca8BCe0741998cb0F60d313823cEC143',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.17361',\n isFinished: true,\n },\n {\n sousId: 33,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ten,\n contractAddress: '0x4A26b082B432B060B1b00A84eE4E823F04a6f69a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05787',\n isFinished: true,\n },\n {\n sousId: 32,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.balbt,\n contractAddress: '0x3cc08B7C6A31739CfEd9d8d38b484FDb245C79c8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4166',\n isFinished: true,\n },\n {\n sousId: 31,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.asr,\n contractAddress: '0xd18E1AEb349ef0a6727eCe54597D98D263e05CAB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: true,\n },\n {\n sousId: 30,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.atm,\n contractAddress: '0x68C7d180bD8F7086D91E65A422c59514e4aFD638',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: true,\n },\n {\n sousId: 29,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.og,\n contractAddress: '0xbE65d7e42E05aD2c4ad28769dc9c5b4b6EAff2C7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: true,\n },\n {\n sousId: 28,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.reef,\n contractAddress: '0x1500fA1AFBFE4f4277ED0345cdf12b2C9cA7e139',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '115.74',\n isFinished: true,\n },\n {\n sousId: 27,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ditto,\n contractAddress: '0x624ef5C2C6080Af188AF96ee5B3160Bb28bb3E02',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01157',\n },\n {\n sousId: 26,\n stakingToken: bscTokens.twt,\n earningToken: bscTokens.cake,\n contractAddress: '0x0554a5D083Abf2f056ae3F6029e1714B9A655174',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.248',\n isFinished: true,\n },\n {\n sousId: 24,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.juv,\n contractAddress: '0x543467B17cA5De50c8BF7285107A36785Ab57E56',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02',\n isFinished: true,\n },\n {\n sousId: 25,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.psg,\n contractAddress: '0x65aFEAFaec49F23159e897EFBDCe19D94A86A1B6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02',\n isFinished: true,\n },\n {\n sousId: 21,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.vai,\n contractAddress: '0x1AD34D8d4D79ddE88c9B6b8490F8fC67831f2CAe',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.104',\n isFinished: true,\n },\n {\n sousId: 20,\n stakingToken: bscTokens.bnb,\n earningToken: bscTokens.cake,\n contractAddress: '0x555Ea72d7347E82C614C16f005fA91cAf06DCB5a',\n poolCategory: PoolCategory.BINANCE,\n tokenPerBlock: '0.5',\n isFinished: true,\n },\n {\n sousId: 19,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bnb,\n contractAddress: '0x326D754c64329aD7cb35744770D56D0E1f3B3124',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0041',\n isFinished: true,\n },\n {\n sousId: 18,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.blink,\n contractAddress: '0x42Afc29b2dEa792974d1e9420696870f1Ca6d18b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '23.14',\n isFinished: true,\n },\n {\n sousId: 17,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.blink,\n contractAddress: '0xBb2B66a2c7C2fFFB06EA60BeaD69741b3f5BF831',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '23.14',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 16,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.unfi,\n contractAddress: '0xFb1088Dae0f03C5123587d2babb3F307831E6367',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02893',\n isFinished: true,\n },\n {\n sousId: 15,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.twt,\n contractAddress: '0x9c4EBADa591FFeC4124A7785CAbCfb7068fED2fb',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5',\n isFinished: true,\n },\n {\n sousId: 14,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hard,\n contractAddress: '0x90F995b9d46b32c4a1908A8c6D0122e392B3Be97',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.346',\n isFinished: true,\n },\n {\n sousId: 13,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.broobee,\n contractAddress: '0xdc8c45b7F3747Ca9CaAEB3fa5e0b5FCE9430646b',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '12.5',\n isFinished: true,\n },\n {\n sousId: 12,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.stax,\n contractAddress: '0xFF02241a2A1d2a7088A344309400E9fE74772815',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '0.2',\n isFinished: true,\n },\n {\n sousId: 11,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nar,\n contractAddress: '0xDc938BA1967b06d666dA79A7B1E31a8697D1565E',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '1',\n isFinished: true,\n },\n {\n sousId: 10,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nya,\n contractAddress: '0x07a0A5B67136d40F4d7d95Bc8e0583bafD7A81b9',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '10',\n isFinished: true,\n },\n {\n sousId: 9,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ctk,\n contractAddress: '0x21A9A53936E812Da06B7623802DEc9A1f94ED23a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5',\n isFinished: true,\n },\n {\n sousId: 8,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.twt,\n contractAddress: '0xe7f9A439Aa7292719aC817798DDd1c4D35934aAF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '20',\n isFinished: true,\n },\n {\n sousId: 7,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.inj,\n contractAddress: '0xcec2671C81a0Ecf7F8Ee796EFa6DBDc5Cb062693',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.25',\n isFinished: true,\n },\n {\n sousId: 248,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ccar,\n contractAddress: '0x9e31aef040941E67356519f44bcA07c5f82215e5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6093',\n },\n {\n sousId: 262,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ach,\n contractAddress: '0xD5668e936B951292Ddf8c84553CC58F85948F816',\n poolCategory: PoolCategory.CORE,\n\n enableEmergencyWithdraw: true,\n tokenPerBlock: '7.502',\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { bscTestnetTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 0,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.cake2,\n contractAddress: '0xf6B427A2Df6E24600e3e3c62634B7c478826619D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: false,\n },\n {\n sousId: 1,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.mockA,\n contractAddress: '0xe7080E3afDfF2322080B5ba85700FE41287D864B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n },\n {\n sousId: 2,\n stakingToken: bscTestnetTokens.mockA,\n earningToken: bscTestnetTokens.mockB,\n contractAddress: '0x31a069925fB770202b302C7911AF1ACBe0395420',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n },\n {\n sousId: 3,\n stakingToken: bscTestnetTokens.wbnb,\n earningToken: bscTestnetTokens.cake2,\n contractAddress: '0x550d3a43D5CB57E70dD1F53699CEaA0f371ADbBb',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n },\n {\n sousId: 5,\n stakingToken: bscTestnetTokens.msix,\n earningToken: bscTestnetTokens.cake2,\n contractAddress: '0xf45c9e61318006Dc31CA4993b8ab75E611fe0792',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0001',\n },\n {\n sousId: 6,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.msix,\n contractAddress: '0xeB019927EB2d79b6A03B728a6f7A9020f3e2E25f',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '1',\n },\n {\n sousId: 7,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.msix,\n contractAddress: '0xd41F619f2f2E91F77054877Ed1a47661f290d19e',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.1',\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress, 97),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { arbitrumTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 3,\n stakingToken: arbitrumTokens.alp,\n earningToken: arbitrumTokens.cake,\n contractAddress: '0x85146C0c5968d9640121eebd13030c99298f87b3',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.00615',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 2,\n stakingToken: arbitrumTokens.alp,\n earningToken: arbitrumTokens.cake,\n contractAddress: '0x0639c5715EC308E16f089c96C0C109302d76FA81',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01177',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: arbitrumTokens.alp,\n earningToken: arbitrumTokens.cake,\n contractAddress: '0x3dBdE2682330105902fb482d9849C270aa8E0881',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01135',\n version: 3,\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { arbitrumGoerliTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 5,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0x291f459243621E7d7c83a67644D87022F1FC39F5',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 4,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0xbA17c9f21bDea078c54F263a8cc63227F28EBfF8',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0xdDa7E82fF3c7b308c7f91a7080e474e41173F7f1',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 2,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0x4aB4ec9EC094E6042E822A73Cd3979A946280E56',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0x5b37404299Ef7DCABA32B00A8f36f0F43eC28E92',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { zksyncTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n// .map((p) => ({\n// ...p,\n// contractAddress: getAddress(p.contractAddress),\n// stakingToken: p.stakingToken.serialize,\n// earningToken: p.earningToken.serialize,\n// }))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 1,\n stakingToken: zksyncTokens.cake,\n earningToken: zksyncTokens.tes,\n contractAddress: '0xedB2E9eB4fc47d57c08B387775e09E5fC9e21EBE',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.02546',\n version: 3,\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { zkSyncTestnetTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x4BDFF8A608be623077E54F6916761f631e87D884',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x926E99bad2BC7dA5c0880f0bebD7f448Be86562B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x5F7Cc0C5E3FC6e26bC98d392fa3516D4F33Df8aD',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x455d2eBbfb172CDba2D499cAf36cBbF5366F976D',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { getAddress } from 'viem'\nimport { baseTestnetTokens } from '@pancakeswap/tokens'\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0x55F8912596F06453466e208e79AB808328146d06',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0xE61a1065B740a61950E08C073833B85D3362f48B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0xF9991a0e33115c1B7e0690109115747ab5C48D9E',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0x35DB927618560B8878543ea0019A8E664581ADb5',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { getAddress } from 'viem'\nimport { lineaTestnetTokens } from '@pancakeswap/tokens'\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0x5d4A2dCefA1B6D5031f57a05651F0b49f4E0eC74',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0xa014641f932E8b7985Ffd6F722DfE6995bbA15aF',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0x4dc9C14A5542f3D0544a6c11d717AD04A70afF8C',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0x30669C960b90Eb71DB4173D8b5069ca83CD2d400',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { getAddress } from 'viem'\nimport { polygonZkEvmTestnetTokens } from '@pancakeswap/tokens'\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0x6e9Cf632243070984A44743d9009CD48cb232F83',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0x6C9ffC1FE0f6aD00eeedbF99384E60517CA3E706',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0x452ED06e65aF886Ff778E9aF319fdC0ffaFA9d85',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0xd6bF7f0C9B1A19A7124625ECF7d6Db8b5610444A',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { ChainId } from '@pancakeswap/chains'\n\nexport const SUPPORTED_CHAIN_IDS = [\n ChainId.BSC,\n ChainId.BSC_TESTNET,\n ChainId.ETHEREUM,\n ChainId.ARBITRUM_ONE,\n ChainId.ARBITRUM_GOERLI,\n ChainId.ZKSYNC,\n ChainId.ZKSYNC_TESTNET,\n ChainId.LINEA_TESTNET,\n ChainId.BASE_TESTNET,\n ChainId.POLYGON_ZKEVM_TESTNET,\n] as const\n\nexport type SupportedChainId = (typeof SUPPORTED_CHAIN_IDS)[number]\n\nexport const CAKE_VAULT_SUPPORTED_CHAINS = [ChainId.BSC, ChainId.BSC_TESTNET] as const\n\nexport type CakeVaultSupportedChainId = (typeof CAKE_VAULT_SUPPORTED_CHAINS)[number]\n","import { ChainId } from '@pancakeswap/chains'\n\nimport {\n SupportedChainId,\n SUPPORTED_CHAIN_IDS,\n CakeVaultSupportedChainId,\n CAKE_VAULT_SUPPORTED_CHAINS,\n} from '../constants/supportedChains'\n\nexport function isPoolsSupported(chainId: number): chainId is SupportedChainId {\n return SUPPORTED_CHAIN_IDS.includes(chainId)\n}\n\nexport function isCakeVaultSupported(chainId?: ChainId): chainId is CakeVaultSupportedChainId {\n return !!chainId && (CAKE_VAULT_SUPPORTED_CHAINS as readonly ChainId[]).includes(chainId)\n}\n","import { ChainId } from '@pancakeswap/chains'\nimport { arbBoostedPools } from './arb'\nimport { BoosterConfig } from '../../utils/boosted/types'\n\nexport type BoostedPoolsConfigByChain<TChainId extends ChainId> = {\n [chainId in TChainId]?: BoosterConfig[]\n}\n\nexport const BOOSTED_POOLS_CONFIG_BY_CHAIN = {\n [ChainId.ARBITRUM_ONE]: arbBoostedPools,\n} as BoostedPoolsConfigByChain<ChainId>\n\nexport const getBoostedPoolsConfig = (chainId: ChainId) => {\n return BOOSTED_POOLS_CONFIG_BY_CHAIN[chainId]\n}\n\nexport const getBoostedPoolConfig = (chainId: ChainId, contractAddress: string): BoosterConfig | undefined => {\n const pool = getBoostedPoolsConfig(chainId)\n return pool?.find((i) => i?.contractAddress?.toLowerCase() === contractAddress.toLowerCase())\n}\n","import { BoosterConfig, BoosterType } from '../../utils/boosted/types'\n\nexport const arbBoostedPools: BoosterConfig[] = [\n {\n boosterType: BoosterType.ALP,\n contractAddress: '0x85146C0c5968d9640121eebd13030c99298f87b3',\n tooltipsText:\n 'Fee APY include the transaction fees shared in the ALP pool, funding rates for positions held, and liquidation income, and will be reflected in the growth of the ALP price. Stake APY is the return for staking ALP. Both Annualized using compound interest, for reference purposes only.',\n },\n]\n","import { ChainId } from '@pancakeswap/chains'\nimport { Address } from 'viem'\n\nimport { SupportedChainId } from './supportedChains'\n\nexport type ContractAddresses<T extends ChainId = SupportedChainId> = {\n [chainId in T]: Address\n}\n\nexport const ICAKE = {\n [ChainId.BSC]: '0x3C458828D1622F5f4d526eb0d24Da8C4Eb8F07b1',\n [ChainId.BSC_TESTNET]: '0x5FB0b7a782c2f192493d86922dD3873b6392C8e8',\n [ChainId.ETHEREUM]: '0x',\n [ChainId.ARBITRUM_ONE]: '0x',\n [ChainId.ARBITRUM_GOERLI]: '0x',\n [ChainId.ZKSYNC]: '0x',\n [ChainId.ZKSYNC_TESTNET]: '0x',\n [ChainId.BASE_TESTNET]: '0x',\n [ChainId.LINEA_TESTNET]: '0x',\n [ChainId.POLYGON_ZKEVM_TESTNET]: '0x',\n} as const satisfies ContractAddresses<SupportedChainId>\n\nexport const CAKE_VAULT = {\n [ChainId.BSC]: '0x45c54210128a065de780C4B0Df3d16664f7f859e',\n [ChainId.BSC_TESTNET]: '0x1088Fb24053F03802F673b84d16AE1A7023E400b',\n [ChainId.ETHEREUM]: '0x',\n [ChainId.ARBITRUM_ONE]: '0x',\n [ChainId.ARBITRUM_GOERLI]: '0x',\n [ChainId.ZKSYNC]: '0x',\n [ChainId.ZKSYNC_TESTNET]: '0x',\n [ChainId.BASE_TESTNET]: '0x',\n [ChainId.LINEA_TESTNET]: '0x',\n [ChainId.POLYGON_ZKEVM_TESTNET]: '0x',\n} as const satisfies ContractAddresses<SupportedChainId>\n\nexport const CAKE_FLEXIBLE_SIDE_VAULT = {\n [ChainId.BSC]: '0x615e896A8C2CA8470A2e9dc2E9552998f8658Ea0',\n [ChainId.BSC_TESTNET]: '0x',\n [ChainId.ETHEREUM]: '0x',\n [ChainId.ARBITRUM_ONE]: '0x',\n [ChainId.ARBITRUM_GOERLI]: '0x',\n [ChainId.ZKSYNC]: '0x',\n [ChainId.ZKSYNC_TESTNET]: '0x',\n [ChainId.BASE_TESTNET]: '0x',\n [ChainId.LINEA_TESTNET]: '0x',\n [ChainId.POLYGON_ZKEVM_TESTNET]: '0x',\n} as const satisfies ContractAddresses<SupportedChainId>\n","export * from './pools'\nexport * from './boostedPools'\nexport * from './contracts'\nexport * from './supportedChains'\n\nexport const BSC_BLOCK_TIME = 3\n\nexport const BLOCKS_PER_DAY = (60 / BSC_BLOCK_TIME) * 60 * 24\nexport const BLOCKS_PER_YEAR = BLOCKS_PER_DAY * 365 // 10512000\n\nexport const SECONDS_IN_YEAR = 31536000 // 365 * 24 * 60 * 60\n","import BigNumber from 'bignumber.js'\nimport fromPairs from 'lodash/fromPairs'\nimport chunk from 'lodash/chunk'\nimport { BIG_ZERO } from '@pancakeswap/utils/bigNumber'\nimport { ChainId } from '@pancakeswap/chains'\nimport { erc20ABI } from 'wagmi'\n\nimport { BSC_BLOCK_TIME, getPoolsConfig } from '../constants'\nimport { sousChefABI } from '../abis/ISousChef'\nimport { sousChefV2ABI } from '../abis/ISousChefV2'\nimport { smartChefABI } from '../abis/ISmartChef'\nimport { sousChefV3ABI } from '../abis/ISousChefV3'\nimport { LegacySerializedPool, OnChainProvider, UpgradedSerializedPool } from '../types'\nimport { isLegacyPool, isUpgradedPool } from '../utils'\n\nconst getLivePoolsWithEnd = async (chainId: ChainId) => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n return null\n }\n return poolsConfig.filter((p) => p.sousId !== 0 && !p.isFinished)\n}\n\nasync function fetchUpgradedPoolsTimeLimits(\n pools: UpgradedSerializedPool[],\n chainId: ChainId,\n provider: OnChainProvider,\n) {\n if (!pools.length) {\n return []\n }\n\n const calls = pools.flatMap(({ contractAddress }) => {\n return [\n {\n abi: smartChefABI,\n address: contractAddress,\n functionName: 'startTimestamp',\n },\n {\n abi: smartChefABI,\n address: contractAddress,\n functionName: 'endTimestamp',\n },\n ] as const\n })\n\n const client = provider({ chainId })\n const startEndRaw = await client.multicall({\n contracts: calls,\n allowFailure: false,\n })\n\n const startEndResult = startEndRaw.reduce<bigint[][]>((resultArray, item, index) => {\n const chunkIndex = Math.floor(index / 2)\n\n if (!resultArray[chunkIndex]) {\n // eslint-disable-next-line no-param-reassign\n resultArray[chunkIndex] = [] // start a new chunk\n }\n\n resultArray[chunkIndex].push(item)\n\n return resultArray\n }, [])\n\n return pools.map((cakePoolConfig, index) => {\n const [startTimestamp, endTimestamp] = startEndResult[index]\n return {\n sousId: cakePoolConfig.sousId,\n startTimestamp: Number(startTimestamp),\n endTimestamp: Number(endTimestamp),\n }\n })\n}\n\nconst fetchLegacyPoolsBlockLimits = async (\n pools: LegacySerializedPool[],\n chainId: ChainId,\n provider: OnChainProvider,\n) => {\n if (!pools.length) {\n return []\n }\n const startEndBlockCalls = pools.flatMap(({ contractAddress }) => {\n return [\n {\n abi: sousChefABI,\n address: contractAddress,\n functionName: 'startBlock',\n },\n {\n abi: sousChefABI,\n address: contractAddress,\n functionName: 'bonusEndBlock',\n },\n ] as const\n })\n\n const client = provider({ chainId })\n\n const [block, startEndBlockRaw] = await Promise.all([\n client.getBlock({ blockTag: 'latest' }),\n client.multicall({\n contracts: startEndBlockCalls,\n allowFailure: false,\n }),\n ])\n\n const startEndBlockResult = startEndBlockRaw.reduce<bigint[][]>((resultArray, item, index) => {\n const chunkIndex = Math.floor(index / 2)\n\n if (!resultArray[chunkIndex]) {\n // eslint-disable-next-line no-param-reassign\n resultArray[chunkIndex] = [] // start a new chunk\n }\n\n resultArray[chunkIndex].push(item)\n\n return resultArray\n }, [])\n\n const getTimestampFromBlock = (targetBlock: number) => {\n return Number(block.timestamp) + (targetBlock - Number(block.number)) * BSC_BLOCK_TIME\n }\n return pools.map((cakePoolConfig, index) => {\n const [startBlock, endBlock] = startEndBlockResult[index]\n return {\n sousId: cakePoolConfig.sousId,\n startTimestamp: getTimestampFromBlock(Number(startBlock)),\n endTimestamp: getTimestampFromBlock(Number(endBlock)),\n }\n })\n}\n\nexport const fetchPoolsTimeLimits = async (chainId: ChainId, provider: OnChainProvider) => {\n const livedPools = await getLivePoolsWithEnd(chainId)\n if (!livedPools) {\n return null\n }\n const upgradedPools = livedPools.filter(isUpgradedPool)\n const legacyPools = livedPools.filter(isLegacyPool)\n const [upgradePoolLimits, legacyPoolLimits] = await Promise.all([\n fetchUpgradedPoolsTimeLimits(upgradedPools, chainId, provider),\n fetchLegacyPoolsBlockLimits(legacyPools, chainId, provider),\n ])\n return [...upgradePoolLimits, ...legacyPoolLimits]\n}\n\nexport const fetchPoolsTotalStaking = async (chainId: ChainId, provider: OnChainProvider) => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n return null\n }\n const poolsBalanceOf = poolsConfig.map(({ contractAddress, stakingToken }) => {\n return {\n abi: erc20ABI,\n address: stakingToken.address,\n functionName: 'balanceOf',\n args: [contractAddress],\n } as const\n })\n\n const client = provider({ chainId })\n const poolsTotalStaked = await client.multicall({\n contracts: poolsBalanceOf,\n allowFailure: false,\n })\n\n return poolsConfig.map((p, index) => ({\n sousId: p.sousId,\n totalStaked: new BigNumber(poolsTotalStaked[index].toString()).toJSON(),\n }))\n}\n\ninterface FetchingPoolsStakingLimitsParams {\n poolsWithStakingLimit: number[]\n chainId: ChainId\n provider: OnChainProvider\n}\n\nexport const fetchPoolsStakingLimitsByBlock = async ({\n poolsWithStakingLimit,\n chainId,\n provider,\n}: FetchingPoolsStakingLimitsParams): Promise<{\n [key: string]: { stakingLimit: BigNumber; numberSecondsForUserLimit: number }\n}> => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`No pools found on chain ${chainId}`)\n }\n\n const validPools = poolsConfig\n .filter(isLegacyPool)\n .filter((p) => p.stakingToken.symbol !== 'BNB' && !p.isFinished)\n .filter((p) => !poolsWithStakingLimit.includes(p.sousId))\n\n // Get the staking limit for each valid pool\n const poolStakingCalls = validPools\n .map(({ contractAddress }) => {\n return (['hasUserLimit', 'poolLimitPerUser', 'numberBlocksForUserLimit'] as const).map(\n (method) =>\n ({\n address: contractAddress,\n functionName: method,\n abi: sousChefV2ABI,\n } as const),\n )\n })\n .flat()\n\n const client = provider({ chainId })\n\n const poolStakingResultRaw = await client.multicall({\n contracts: poolStakingCalls,\n allowFailure: true,\n })\n\n const chunkSize = poolStakingCalls.length / validPools.length\n const poolStakingChunkedResultRaw = chunk(poolStakingResultRaw.flat(), chunkSize)\n return fromPairs(\n poolStakingChunkedResultRaw.map((stakingLimitRaw, index) => {\n const hasUserLimit = stakingLimitRaw[0]?.result as boolean\n const stakingLimit =\n hasUserLimit && stakingLimitRaw[1].result ? new BigNumber(stakingLimitRaw[1].result.toString()) : BIG_ZERO\n const numberBlocksForUserLimit = stakingLimitRaw[2].result ? Number(stakingLimitRaw[2].result) : 0\n const numberSecondsForUserLimit = numberBlocksForUserLimit * BSC_BLOCK_TIME\n return [validPools[index].sousId, { stakingLimit, numberSecondsForUserLimit }]\n }),\n )\n}\n\nconst fetchPoolsStakingLimitsByTime = async ({\n poolsWithStakingLimit,\n chainId,\n provider,\n}: FetchingPoolsStakingLimitsParams): Promise<{\n [key: string]: { stakingLimit: BigNumber; numberSecondsForUserLimit: number }\n}> => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`No pools found on chain ${chainId}`)\n }\n\n const validPools = poolsConfig\n .filter(isUpgradedPool)\n .filter((p) => p.stakingToken.symbol !== 'BNB' && !p.isFinished)\n .filter((p) => !poolsWithStakingLimit.includes(p.sousId))\n\n // Get the staking limit for each valid pool\n const poolStakingCalls = validPools\n .map(({ contractAddress }) => {\n return (['hasUserLimit', 'poolLimitPerUser', 'numberSecondsForUserLimit'] as const).map(\n (method) =>\n ({\n abi: smartChefABI,\n address: contractAddress,\n functionName: method,\n } as const),\n )\n })\n .flat()\n\n const client = provider({ chainId })\n const poolStakingResultRaw = await client.multicall({\n contracts: poolStakingCalls,\n allowFailure: true,\n })\n const chunkSize = poolStakingCalls.length / validPools.length\n const poolStakingChunkedResultRaw = chunk(poolStakingResultRaw.flat(), chunkSize)\n return fromPairs(\n poolStakingChunkedResultRaw.map((stakingLimitRaw, index) => {\n const hasUserLimit = stakingLimitRaw[0].result\n const stakingLimit =\n hasUserLimit && stakingLimitRaw[1].result ? new BigNumber(stakingLimitRaw[1].result.toString()) : BIG_ZERO\n const numberSecondsForUserLimit = stakingLimitRaw[2].result ? Number(stakingLimitRaw[2].result) : 0\n return [validPools[index].sousId, { stakingLimit, numberSecondsForUserLimit }]\n }),\n )\n}\n\nexport const fetchPoolsStakingLimits = async (\n params: FetchingPoolsStakingLimitsParams,\n): Promise<{\n [key: string]: { stakingLimit: BigNumber; numberSecondsForUserLimit: number }\n}> => {\n const [limitsByTime, limitsByBlock] = await Promise.all([\n fetchPoolsStakingLimitsByTime(params),\n fetchPoolsStakingLimitsByBlock(params),\n ])\n return {\n ...limitsByTime,\n ...limitsByBlock,\n }\n}\n\nexport const fetchPoolsProfileRequirement = async (\n chainId: ChainId,\n provider: OnChainProvider,\n): Promise<{\n [key: string]: {\n required: boolean\n thresholdPoints: string\n }\n}> => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`No pools found on chain ${chainId}`)\n }\n\n const livePoolsWithV3 = poolsConfig.filter(\n (pool) => (isUpgradedPool(pool) || (isLegacyPool(pool) && pool?.version === 3)) && !pool?.isFinished,\n )\n const poolProfileRequireCalls = livePoolsWithV3\n .map(({ contractAddress }) => {\n return (['pancakeProfileIsRequested', 'pancakeProfileThresholdPoints'] as const).map(\n (method) =>\n ({\n abi: sousChefV3ABI,\n address: contractAddress,\n functionName: method,\n } as const),\n )\n })\n .flat()\n\n const client = provider({ chainId })\n const poolProfileRequireResultRaw = await client.multicall({\n contracts: poolProfileRequireCalls,\n })\n\n const chunkSize = poolProfileRequireCalls.length / livePoolsWithV3.length\n const poolStakingChunkedResultRaw = chunk(poolProfileRequireResultRaw.flat(), chunkSize)\n return fromPairs(\n poolStakingChunkedResultRaw.map((poolProfileRequireRaw, index) => {\n const hasProfileRequired = poolProfileRequireRaw[0].result\n const profileThresholdPoints = poolProfileRequireRaw[1].result\n ? new BigNumber(poolProfileRequireRaw[1].result.toString())\n : BIG_ZERO\n return [\n livePoolsWithV3[index].sousId,\n {\n required: !!hasProfileRequired,\n thresholdPoints: profileThresholdPoints.toJSON(),\n },\n ]\n }),\n )\n}\n","import BigNumber from 'bignumber.js'\n\nexport const BIG_ZERO = new BigNumber(0)\nexport const BIG_ONE = new BigNumber(1)\nexport const BIG_TWO = new BigNumber(2)\nexport const BIG_NINE = new BigNumber(9)\nexport const BIG_TEN = new BigNumber(10)\nexport const BIG_ONE_HUNDRED = new BigNumber(100)\n\nexport const bigIntToSerializedBigNumber = (bigint: bigint): string => bigIntToBigNumber(bigint).toJSON()\n\nexport const bigIntToBigNumber = (bigint: bigint): BigNumber => new BigNumber(bigint.toString())\n","export const sousChefABI = [\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [\n { internalType: 'uint256', name: '_from', type: 'uint256' },\n { internalType: 'uint256', name: '_to', type: 'uint256' },\n ],\n name: 'getMultiplier',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'massUpdatePools', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n name: 'poolInfo',\n outputs: [\n { internalType: 'contract IBEP20', name: 'lpToken', type: 'address' },\n { internalType: 'uint256', name: 'allocPoint', type: 'uint256' },\n { internalType: 'uint256', name: 'lastRewardBlock', type: 'uint256' },\n { internalType: 'uint256', name: 'accCakePerShare', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IBEP20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'stopReward', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'syrup',\n outputs: [{ internalType: 'contract IBEP20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_pid', type: 'uint256' }],\n name: 'updatePool',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","export const sousChefV2ABI = [\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'accTokenPerShare',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'emergencyWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'hasUserLimit',\n outputs: [\n {\n internalType: 'bool',\n name: '',\n type: 'bool',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastRewardBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'numberBlocksForUserLimit',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_user',\n type: 'address',\n },\n ],\n name: 'pendingReward',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolLimitPerUser',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_tokenAddress',\n type: 'address',\n },\n {\n internalType: 'uint256',\n name: '_tokenAmount',\n type: 'uint256',\n },\n ],\n name: 'recoverWrongTokens',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [\n {\n internalType: 'contract IBEP20',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stakedToken',\n outputs: [\n {\n internalType: 'contract IBEP20',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stopReward',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'newOwner',\n type: 'address',\n },\n ],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'bool',\n name: '_hasUserLimit',\n type: 'bool',\n },\n {\n internalType: 'uint256',\n name: '_poolLimitPerUser',\n type: 'uint256',\n },\n ],\n name: 'updatePoolLimitPerUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_rewardPerBlock',\n type: 'uint256',\n },\n ],\n name: 'updateRewardPerBlock',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_startBlock',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: '_bonusEndBlock',\n type: 'uint256',\n },\n ],\n name: 'updateStartAndEndBlocks',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n name: 'userInfo',\n outputs: [\n {\n internalType: 'uint256',\n name: 'amount',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'rewardDebt',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","export const smartChefABI = [\n {\n inputs: [\n { internalType: 'address', name: '_pancakeProfile', type: 'address' },\n { internalType: 'bool', name: '_pancakeProfileIsRequested', type: 'bool' },\n { internalType: 'uint256', name: '_pancakeProfileThresholdPoints', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'EmergencyWithdraw',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'poolLimitPerUser', type: 'uint256' }],\n name: 'NewPoolLimit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'rewardPerSecond', type: 'uint256' }],\n name: 'NewRewardPerSecond',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'startTimestamp', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'endTimestamp', type: 'uint256' },\n ],\n name: 'NewStartAndEndTimestamp',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'previousOwner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newOwner', type: 'address' },\n ],\n name: 'OwnershipTransferred',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'blockNumber', type: 'uint256' }],\n name: 'RewardsStop',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'TokenRecovery',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'bool', name: 'isProfileRequested', type: 'bool' },\n { indexed: false, internalType: 'uint256', name: 'thresholdPoints', type: 'uint256' },\n ],\n name: 'UpdateProfileAndThresholdPointsRequirement',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Withdraw',\n type: 'event',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'SMART_CHEF_FACTORY',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'accTokenPerShare',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'endTimestamp',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'hasUserLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract IERC20Metadata', name: '_stakedToken', type: 'address' },\n { internalType: 'contract IERC20Metadata', name: '_rewardToken', type: 'address' },\n { internalType: 'uint256', name: '_rewardPerSecond', type: 'uint256' },\n { internalType: 'uint256', name: '_startTimestamp', type: 'uint256' },\n { internalType: 'uint256', name: '_endTimestamp', type: 'uint256' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n { internalType: 'uint256', name: '_numberSecondsForUserLimit', type: 'uint256' },\n { internalType: 'address', name: '_admin', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'isInitialized',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastRewardTimestamp',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'numberSecondsForUserLimit',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfile',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileIsRequested',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileThresholdPoints',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolLimitPerUser',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_token', type: 'address' }],\n name: 'recoverToken',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerSecond',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stakedToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startTimestamp',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'stopReward', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_userLimit', type: 'bool' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n ],\n name: 'updatePoolLimitPerUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_isRequested', type: 'bool' },\n { internalType: 'uint256', name: '_thresholdPoints', type: 'uint256' },\n ],\n name: 'updateProfileAndThresholdPointsRequirement',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_rewardPerSecond', type: 'uint256' }],\n name: 'updateRewardPerSecond',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_startTimestamp', type: 'uint256' },\n { internalType: 'uint256', name: '_endTimestamp', type: 'uint256' },\n ],\n name: 'updateStartAndEndTimestamp',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'userLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","export const sousChefV3ABI = [\n {\n inputs: [\n { internalType: 'address', name: '_pancakeProfile', type: 'address' },\n { internalType: 'bool', name: '_pancakeProfileIsRequested', type: 'bool' },\n { internalType: 'uint256', name: '_pancakeProfileThresholdPoints', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'EmergencyWithdraw',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'poolLimitPerUser', type: 'uint256' }],\n name: 'NewPoolLimit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'rewardPerBlock', type: 'uint256' }],\n name: 'NewRewardPerBlock',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'startBlock', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'endBlock', type: 'uint256' },\n ],\n name: 'NewStartAndEndBlocks',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'previousOwner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newOwner', type: 'address' },\n ],\n name: 'OwnershipTransferred',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'blockNumber', type: 'uint256' }],\n name: 'RewardsStop',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'TokenRecovery',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'bool', name: 'isProfileRequested', type: 'bool' },\n { indexed: false, internalType: 'uint256', name: 'thresholdPoints', type: 'uint256' },\n ],\n name: 'UpdateProfileAndThresholdPointsRequirement',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Withdraw',\n type: 'event',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'SMART_CHEF_FACTORY',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'accTokenPerShare',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'hasUserLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract IERC20Metadata', name: '_stakedToken', type: 'address' },\n { internalType: 'contract IERC20Metadata', name: '_rewardToken', type: 'address' },\n { internalType: 'uint256', name: '_rewardPerBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_startBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_bonusEndBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n { internalType: 'uint256', name: '_numberBlocksForUserLimit', type: 'uint256' },\n { internalType: 'address', name: '_admin', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'isInitialized',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastRewardBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'numberBlocksForUserLimit',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfile',\n outputs: [{ internalType: 'contract IPancakeProfile', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileIsRequested',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileThresholdPoints',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolLimitPerUser',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_token', type: 'address' }],\n name: 'recoverToken',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stakedToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'stopReward', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_userLimit', type: 'bool' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n ],\n name: 'updatePoolLimitPerUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_isRequested', type: 'bool' },\n { internalType: 'uint256', name: '_thresholdPoints', type: 'uint256' },\n ],\n name: 'updateProfileAndThresholdPointsRequirement',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_rewardPerBlock', type: 'uint256' }],\n name: 'updateRewardPerBlock',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_startBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_bonusEndBlock', type: 'uint256' },\n ],\n name: 'updateStartAndEndBlocks',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'userLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","import { ChainId } from '@pancakeswap/chains'\n\nimport { ContractAddresses } from '../constants/contracts'\nimport { isPoolsSupported } from './isPoolsSupported'\n\nexport function getContractAddress(addresses: ContractAddresses, chainId: ChainId) {\n if (!isPoolsSupported(chainId)) {\n throw new Error(`Cannot get contract address. Unsupported chain ${chainId}`)\n }\n return addresses[chainId]\n}\n","import { LegacySerializedPool, SerializedPool, UpgradedSerializedPool } from '../types'\n\nexport function isLegacyPool(pool: SerializedPool): pool is LegacySerializedPool {\n if ((pool as any).tokenPerBlock) {\n return true\n }\n return false\n}\n\nexport function isUpgradedPool(pool: SerializedPool): pool is UpgradedSerializedPool {\n if ((pool as any).tokenPerSecond) {\n return true\n }\n return false\n}\n","import BigNumber from 'bignumber.js'\n\nimport { BLOCKS_PER_YEAR, SECONDS_IN_YEAR } from '../constants'\n\n/**\n * Get the APR value in %\n * @param stakingTokenPrice Token price in the same quote currency\n * @param rewardTokenPrice Token price in the same quote currency\n * @param totalStaked Total amount of stakingToken in the pool\n * @param tokenPerBlock Amount of new cake allocated to the pool for each new block\n * @returns Null if the APR is NaN or infinite.\n */\nexport const getPoolAprByTokenPerBlock = (\n stakingTokenPrice: number,\n rewardTokenPrice: number,\n totalStaked: number,\n tokenPerBlock: number,\n): number | null => {\n const totalRewardPricePerYear = new BigNumber(rewardTokenPrice).times(tokenPerBlock).times(BLOCKS_PER_YEAR)\n const totalStakingTokenInPool = new BigNumber(stakingTokenPrice).times(totalStaked)\n const apr = totalRewardPricePerYear.div(totalStakingTokenInPool).times(100)\n return apr.isNaN() || !apr.isFinite() ? null : apr.toNumber()\n}\n\nexport const getPoolAprByTokenPerSecond = (\n stakingTokenPrice: number,\n rewardTokenPrice: number,\n totalStaked: number,\n tokenPerSecond: number,\n): number | null => {\n const totalRewardPricePerYear = new BigNumber(rewardTokenPrice).times(tokenPerSecond).times(SECONDS_IN_YEAR)\n const totalStakingTokenInPool = new BigNumber(stakingTokenPrice).times(totalStaked)\n const apr = totalRewardPricePerYear.div(totalStakingTokenInPool).times(100)\n return apr.isNaN() || !apr.isFinite() ? null : apr.toNumber()\n}\n","import { ChainId } from '@pancakeswap/chains'\nimport { WalletClient, getContract, PublicClient, Address, GetContractReturnType, Account, Chain } from 'viem'\n\nimport { getPoolsConfig } from '../constants'\nimport { isLegacyPool } from './isLegacyPool'\nimport { smartChefABI } from '../abis/ISmartChef'\nimport { PoolCategory } from '../types'\nimport { sousChefV2ABI } from '../abis/ISousChefV2'\nimport { sousChefBnbABI } from '../abis/ISousChefBNB'\n\ninterface Params {\n chainId?: ChainId\n sousId: number\n signer?: any\n publicClient?: any\n}\n\ntype GetContractReturnType_<TAbi extends readonly unknown[]> = GetContractReturnType<TAbi, any, any> & {\n abi: TAbi\n address: Address\n account?: Account\n chain?: Chain\n}\n\nexport function getSousChefBNBContract({\n address,\n signer,\n publicClient,\n}: {\n address: Address\n signer?: WalletClient\n publicClient?: PublicClient\n}): GetContractReturnType_<typeof sousChefBnbABI> {\n return {\n ...getContract({\n abi: sousChefBnbABI,\n address,\n walletClient: signer,\n publicClient,\n }),\n abi: sousChefBnbABI,\n address,\n account: signer?.account,\n chain: signer?.chain,\n }\n}\n\nexport function getSousChefV2Contract({\n address,\n signer,\n publicClient,\n}: {\n address: Address\n signer?: WalletClient\n publicClient?: PublicClient\n}): GetContractReturnType_<typeof sousChefV2ABI> {\n return {\n ...getContract({\n abi: sousChefV2ABI,\n address,\n walletClient: signer,\n publicClient,\n }),\n abi: sousChefV2ABI,\n address,\n account: signer?.account,\n chain: signer?.chain,\n }\n}\n\nexport function getSmartChefChefV2Contract({\n address,\n signer,\n publicClient,\n}: {\n address: Address\n signer?: WalletClient\n publicClient?: PublicClient\n}): GetContractReturnType_<typeof smartChefABI> {\n return {\n ...getContract({\n abi: smartChefABI,\n address,\n walletClient: signer,\n publicClient,\n }),\n abi: smartChefABI,\n address,\n account: signer?.account,\n chain: signer?.chain,\n }\n}\n\nexport function getPoolContractBySousId({ chainId, sousId, signer, publicClient }: Params): any | null {\n if (!chainId) {\n return null\n }\n const pools = getPoolsConfig(chainId)\n const pool = pools?.find((p) => p.sousId === Number(sousId))\n if (!pool) {\n return null\n }\n const { contractAddress } = pool\n if (isLegacyPool(pool)) {\n if (pool.poolCategory === PoolCategory.BINANCE) {\n return getSousChefBNBContract({ address: contractAddress, signer, publicClient })\n }\n return getSousChefV2Contract({ address: contractAddress, signer, publicClient })\n }\n return getSmartChefChefV2Contract({ address: contractAddress, signer, publicClient })\n}\n","export const sousChefBnbABI = [\n {\n inputs: [],\n name: 'WBNB',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'adminAddress',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'deposit', outputs: [], stateMutability: 'payable', type: 'function' },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [\n { internalType: 'uint256', name: '_from', type: 'uint256' },\n { internalType: 'uint256', name: '_to', type: 'uint256' },\n ],\n name: 'getMultiplier',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'limitAmount',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'massUpdatePools', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n name: 'poolInfo',\n outputs: [\n { internalType: 'contract IBEP20', name: 'lpToken', type: 'address' },\n { internalType: 'uint256', name: 'allocPoint', type: 'uint256' },\n { internalType: 'uint256', name: 'lastRewardBlock', type: 'uint256' },\n { internalType: 'uint256', name: 'accCakePerShare', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_blacklistAddress', type: 'address' }],\n name: 'removeBlackList',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IBEP20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_adminAddress', type: 'address' }],\n name: 'setAdmin',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_blacklistAddress', type: 'address' }],\n name: 'setBlackList',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'setLimitAmount',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalAllocPoint',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_pid', type: 'uint256' }],\n name: 'updatePool',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n { internalType: 'bool', name: 'inBlackList', type: 'bool' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n] as const\n","import { ChainId } from '@pancakeswap/chains'\nimport { getBoostedPoolsConfig } from '../../constants/boostedPools'\n\nexport const checkIsBoostedPool = (contract: string, chainId: ChainId): boolean => {\n const list = getBoostedPoolsConfig(chainId)\n const isBoosted = list?.find((i) => i?.contractAddress?.toLowerCase() === contract.toLowerCase())\n\n return isBoosted !== undefined\n}\n","import BigNumber from 'bignumber.js'\nimport { PublicClient } from 'viem'\n\nconst WEEK = 7\nconst YEAR = 365\nconst CONTRACT_ADDRESS = '0xB3879E95a4B8e3eE570c232B19d520821F540E48'\nconst API_URL = 'https://perp.pancakeswap.finance/bapi/futures/v1/public/future/apx/fee/info?chain=ARB'\n\nexport const fetchAlpBoostedPoolApr = async (client: PublicClient) => {\n try {\n const [totalValue] = await client.multicall({\n contracts: [\n {\n abi: [\n {\n inputs: [],\n name: 'totalValue',\n outputs: [\n {\n components: [\n { internalType: 'address', name: 'tokenAddress', type: 'address' },\n { internalType: 'int256', name: 'value', type: 'int256' },\n { internalType: 'uint8', name: 'decimals', type: 'uint8' },\n { internalType: 'int256', name: 'valueUsd', type: 'int256' },\n { internalType: 'uint16', name: 'targetWeight', type: 'uint16' },\n { internalType: 'uint16', name: 'feeBasisPoints', type: 'uint16' },\n { internalType: 'uint16', name: 'taxBasisPoints', type: 'uint16' },\n { internalType: 'bool', name: 'dynamicFee', type: 'bool' },\n ],\n internalType: 'struct IVault.LpItem[]',\n name: 'lpItems',\n type: 'tuple[]',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n ] as const,\n address: CONTRACT_ADDRESS,\n functionName: 'totalValue',\n },\n ],\n allowFailure: false,\n })\n\n const totalValueUsd = totalValue\n .map((i) => new BigNumber(i.valueUsd.toString()).div(1e18).toNumber())\n .reduce((a, b) => a + b, 0)\n\n const response = await fetch(API_URL)\n const result = await response.json()\n\n const { alpFundingFee, alpTradingFee, alpLipFee } = result.data\n const apr = new BigNumber(alpFundingFee).plus(alpTradingFee).plus(alpLipFee)\n const totalApr = apr.div(totalValueUsd.toString()).div(WEEK)\n\n const apy = totalApr.plus(1).exponentiatedBy(YEAR).minus(1).times(100)\n return apy.toNumber()\n } catch (error) {\n console.info('Fetch ALP boosted fee error: ', error)\n return 0\n }\n}\n","import { Address, PublicClient } from 'viem'\nimport { BoosterType } from '../types'\nimport { fetchAlpBoostedPoolApr } from './fetchAlpBoostedPoolApr'\nimport { getBoostedPoolConfig } from '../../../constants/boostedPools'\n\ninterface GetBoostedPoolApr {\n client: PublicClient\n contractAddress: Address\n chainId: number | undefined\n}\n\nexport const getBoostedPoolApr = async ({ client, contractAddress, chainId }: GetBoostedPoolApr): Promise<number> => {\n const pool = chainId && getBoostedPoolConfig(chainId, contractAddress)\n\n if (!contractAddress || !chainId || !pool) {\n return 0\n }\n\n // Arbitrum ALP pools\n if (pool?.boosterType === BoosterType.ALP) {\n const result = await fetchAlpBoostedPoolApr(client)\n return result\n }\n\n return 0\n}\n","import { ChainId } from '@pancakeswap/chains'\nimport BigNumber from 'bignumber.js'\nimport uniq from 'lodash/uniq'\nimport fromPairs from 'lodash/fromPairs'\nimport { erc20ABI } from 'wagmi'\nimport { Address } from 'viem'\nimport { getPoolsConfig } from '../constants'\nimport { sousChefABI } from '../abis/ISousChef'\nimport { OnChainProvider, SerializedPool } from '../types'\n\n// Pool 0, Cake / Cake is a different kind of contract (master chef)\n// BNB pools use the native BNB token (wrapping ? unwrapping is done at the contract level)\nconst getPoolsFactory = (filter: (pool: SerializedPool) => boolean) => (chainId: ChainId) => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`Unable to get pools config on chain ${chainId}`)\n }\n return poolsConfig.filter(filter)\n}\nconst getNonBnbPools = getPoolsFactory((pool) => pool.stakingToken.symbol !== 'BNB')\nconst getBnbPools = getPoolsFactory((pool) => pool.stakingToken.symbol === 'BNB')\nconst getNonMasterPools = getPoolsFactory((pool) => pool.sousId !== 0)\n\ninterface FetchUserDataParams {\n account: string\n chainId: ChainId\n provider: OnChainProvider\n}\n\nexport const fetchPoolsAllowance = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonBnbPools = getNonBnbPools(chainId)\n\n const client = provider({ chainId })\n const allowances = await client.multicall({\n contracts: nonBnbPools.map(\n ({ contractAddress, stakingToken }) =>\n ({\n address: stakingToken.address,\n abi: erc20ABI,\n functionName: 'allowance',\n args: [account as Address, contractAddress] as const,\n } as const),\n ),\n allowFailure: false,\n })\n return fromPairs(\n nonBnbPools.map((pool, index) => [pool.sousId, new BigNumber(allowances[index].toString()).toJSON()]),\n )\n}\n\nexport const fetchUserBalances = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonBnbPools = getNonBnbPools(chainId)\n const bnbPools = getBnbPools(chainId)\n // Non BNB pools\n const tokens = uniq(nonBnbPools.map((pool) => pool.stakingToken.address))\n const client = provider({ chainId })\n const tokenBalance = await client.multicall({\n contracts: [\n {\n abi: [\n {\n inputs: [{ internalType: 'address', name: 'addr', type: 'address' }],\n name: 'getEthBalance',\n outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n ] as const,\n address: '0xcA11bde05977b3631167028862bE2a173976CA11', // TODO: Here is multicall address, should extract addresses to a package for multi chain\n functionName: 'getEthBalance',\n args: [account as Address] as const,\n } as const,\n ...tokens.map(\n (token) =>\n ({\n abi: erc20ABI,\n address: token,\n functionName: 'balanceOf',\n args: [account] as const,\n } as const),\n ),\n ],\n })\n const [bnbBalance, ...tokenBalancesResults] = tokenBalance\n\n const tokenBalances = fromPairs(tokens.map((token, index) => [token, tokenBalancesResults[index].result as bigint]))\n\n const poolTokenBalances = fromPairs(\n nonBnbPools\n .map<[number, string] | null>((pool) => {\n if (!tokenBalances[pool.stakingToken.address]) return null\n return [pool.sousId, new BigNumber(tokenBalances[pool.stakingToken.address].toString()).toJSON()]\n })\n .filter((p): p is [number, string] => Boolean(p)),\n )\n\n // BNB pools\n const bnbBalanceJson = new BigNumber((bnbBalance.result as bigint)?.toString()).toJSON()\n const bnbBalances = fromPairs(bnbPools.map((pool) => [pool.sousId, bnbBalanceJson]))\n\n return { ...poolTokenBalances, ...bnbBalances }\n}\n\nexport const fetchUserStakeBalances = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonMasterPools = getNonMasterPools(chainId)\n\n const client = provider({ chainId })\n const userInfo = await client.multicall({\n contracts: nonMasterPools.map(\n ({ contractAddress }) =>\n ({\n abi: sousChefABI.filter((r) => r.name === 'userInfo'),\n address: contractAddress,\n functionName: 'userInfo',\n args: [account as Address] as const,\n } as const),\n ),\n allowFailure: false,\n })\n\n return fromPairs(\n nonMasterPools.map((pool, index) => [pool.sousId, new BigNumber(userInfo[index][0].toString()).toJSON()]),\n )\n}\n\nexport const fetchUserPendingRewards = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonMasterPools = getNonMasterPools(chainId)\n\n const client = provider({ chainId })\n const res = await client.multicall({\n contracts: nonMasterPools.map(\n ({ contractAddress }) =>\n ({\n abi: sousChefABI.filter((r) => r.name === 'pendingReward'),\n address: contractAddress,\n functionName: 'pendingReward',\n args: [account as Address] as const,\n } as const),\n ),\n allowFailure: false,\n })\n return fromPairs(nonMasterPools.map((pool, index) => [pool.sousId, new BigNumber(res[index].toString()).toJSON()]))\n}\n","import BigNumber from 'bignumber.js'\nimport { BIG_ZERO } from '@pancakeswap/utils/bigNumber'\nimport { ChainId } from '@pancakeswap/chains'\nimport { CAKE } from '@pancakeswap/tokens'\nimport { Address } from 'viem'\n\nimport { cakeVaultV2ABI } from '../abis/ICakeVaultV2'\nimport { OnChainProvider } from '../types'\nimport { getCakeFlexibleSideVaultAddress, getCakeVaultAddress } from './getAddresses'\n\ninterface Params {\n cakeVaultAddress?: Address\n chainId: ChainId\n provider: OnChainProvider\n}\n\nconst balanceOfAbi = [\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n] as const\n\nexport const fetchPublicVaultData = async ({\n chainId,\n cakeVaultAddress = getCakeVaultAddress(chainId),\n provider,\n}: Params) => {\n try {\n const client = provider({ chainId })\n\n const [sharePrice, shares, totalLockedAmount, totalCakeInVault] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'getPricePerFullShare',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'totalShares',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'totalLockedAmount',\n },\n {\n abi: balanceOfAbi,\n address: CAKE[ChainId.BSC].address,\n functionName: 'balanceOf',\n args: [cakeVaultAddress],\n },\n ],\n allowFailure: true,\n })\n\n const totalSharesAsBigNumber =\n shares.status === 'success' && shares.result ? new BigNumber(shares.result.toString()) : BIG_ZERO\n const totalLockedAmountAsBigNumber =\n totalLockedAmount.status === 'success' && totalLockedAmount.result\n ? new BigNumber(totalLockedAmount.result.toString())\n : BIG_ZERO\n const sharePriceAsBigNumber =\n sharePrice.status === 'success' && sharePrice.result ? new BigNumber(sharePrice.result.toString()) : BIG_ZERO\n\n return {\n totalShares: totalSharesAsBigNumber.toJSON(),\n totalLockedAmount: totalLockedAmountAsBigNumber.toJSON(),\n pricePerFullShare: sharePriceAsBigNumber.toJSON(),\n totalCakeInVault: totalCakeInVault.result ? new BigNumber(totalCakeInVault.result.toString()).toJSON() : '0',\n }\n } catch (error) {\n return {\n totalShares: null,\n totalLockedAmount: null,\n pricePerFullShare: null,\n totalCakeInVault: null,\n }\n }\n}\n\nexport const fetchPublicFlexibleSideVaultData = async ({\n chainId,\n cakeVaultAddress = getCakeFlexibleSideVaultAddress(chainId),\n provider,\n}: Params) => {\n try {\n const client = provider({ chainId })\n\n const [sharePrice, shares, totalCakeInVault] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'getPricePerFullShare',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'totalShares',\n },\n {\n abi: balanceOfAbi,\n address: CAKE[ChainId.BSC].address,\n functionName: 'balanceOf',\n args: [cakeVaultAddress],\n },\n ],\n allowFailure: true,\n })\n\n const totalSharesAsBigNumber = shares.status === 'success' ? new BigNumber(shares.result.toString()) : BIG_ZERO\n const sharePriceAsBigNumber =\n sharePrice.status === 'success' ? new BigNumber(sharePrice.result.toString()) : BIG_ZERO\n return {\n totalShares: totalSharesAsBigNumber.toJSON(),\n pricePerFullShare: sharePriceAsBigNumber.toJSON(),\n totalCakeInVault: new BigNumber((totalCakeInVault.result || '0').toString()).toJSON(),\n }\n } catch (error) {\n return {\n totalShares: null,\n pricePerFullShare: null,\n totalCakeInVault: null,\n }\n }\n}\n\nexport const fetchVaultFees = async ({\n chainId,\n cakeVaultAddress = getCakeVaultAddress(chainId),\n provider,\n}: Params) => {\n try {\n const client = provider({ chainId })\n\n const [performanceFee, withdrawalFee, withdrawalFeePeriod] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'performanceFee',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'withdrawFee',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'withdrawFeePeriod',\n },\n ],\n allowFailure: false,\n })\n\n return {\n performanceFee: Number(performanceFee),\n withdrawalFee: Number(withdrawalFee),\n withdrawalFeePeriod: Number(withdrawalFeePeriod),\n }\n } catch (error) {\n return {\n performanceFee: null,\n withdrawalFee: null,\n withdrawalFeePeriod: null,\n }\n }\n}\n","export const cakeVaultV2ABI = [\n {\n inputs: [],\n name: 'BOOST_WEIGHT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'BOOST_WEIGHT_LIMIT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'DURATION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'DURATION_FACTOR_OVERDUE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_CALL_FEE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_LOCK_DURATION',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_LOCK_DURATION_LIMIT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_PERFORMANCE_FEE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE_PERIOD',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_DEPOSIT_AMOUNT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_LOCK_DURATION',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_WITHDRAW_AMOUNT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR_SHARE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'UNLOCK_FREE_DURATION',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'admin',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'available',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'boostContract',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'cakePoolPID',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'calculateOverdueFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'calculatePerformanceFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'calculateTotalPendingCakeRewards',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '_user', type: 'address' },\n { internalType: 'uint256', name: '_shares', type: 'uint256' },\n ],\n name: 'calculateWithdrawFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_amount', type: 'uint256' },\n { internalType: 'uint256', name: '_lockDuration', type: 'uint256' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'freeFeeUsers',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getPricePerFullShare',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_token', type: 'address' }],\n name: 'inCaseTokensGetStuck',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'contract IERC20', name: 'dummyToken', type: 'address' }],\n name: 'init',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastHarvestedTime',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'masterchefV2',\n outputs: [{ internalType: 'contract IMasterChefV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'operator',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'overdueFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'pause', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'paused',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'performanceFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'performanceFeeContract',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: '_admin', type: 'address' }],\n name: 'setAdmin',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_boostContract', type: 'address' }],\n name: 'setBoostContract',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_boostWeight', type: 'uint256' }],\n name: 'setBoostWeight',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_durationFactor', type: 'uint256' }],\n name: 'setDurationFactor',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_durationFactorOverdue', type: 'uint256' }],\n name: 'setDurationFactorOverdue',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '_user', type: 'address' },\n { internalType: 'bool', name: '_free', type: 'bool' },\n ],\n name: 'setFreeFeeUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_maxLockDuration', type: 'uint256' }],\n name: 'setMaxLockDuration',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_operator', type: 'address' }],\n name: 'setOperator',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_performanceFee', type: 'uint256' }],\n name: 'setPerformanceFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_performanceFeeContract', type: 'uint256' }],\n name: 'setPerformanceFeeContract',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_treasury', type: 'address' }],\n name: 'setTreasury',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_unlockFreeDuration', type: 'uint256' }],\n name: 'setUnlockFreeDuration',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_withdrawFee', type: 'uint256' }],\n name: 'setWithdrawFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_withdrawFeeContract', type: 'uint256' }],\n name: 'setWithdrawFeeContract',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_withdrawFeePeriod', type: 'uint256' }],\n name: 'setWithdrawFeePeriod',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'token',\n outputs: [{ internalType: 'contract IERC20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalBoostDebt',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalLockedAmount',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalShares',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'treasury',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'unlock',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'unpause', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'shares', type: 'uint256' },\n { internalType: 'uint256', name: 'lastDepositedTime', type: 'uint256' },\n { internalType: 'uint256', name: 'cakeAtLastUserAction', type: 'uint256' },\n { internalType: 'uint256', name: 'lastUserActionTime', type: 'uint256' },\n { internalType: 'uint256', name: 'lockStartTime', type: 'uint256' },\n { internalType: 'uint256', name: 'lockEndTime', type: 'uint256' },\n { internalType: 'uint256', name: 'userBoostedShare', type: 'uint256' },\n { internalType: 'bool', name: 'locked', type: 'bool' },\n { internalType: 'uint256', name: 'lockedAmount', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_shares', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'withdrawAll', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdrawByAmount',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFeeContract',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFeePeriod',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n] as const\n","import { ChainId } from '@pancakeswap/chains'\n\nimport { CAKE_FLEXIBLE_SIDE_VAULT, CAKE_VAULT } from '../constants/contracts'\nimport { getContractAddress } from '../utils'\n\nexport function getCakeFlexibleSideVaultAddress(chainId: ChainId) {\n return getContractAddress(CAKE_FLEXIBLE_SIDE_VAULT, chainId)\n}\n\nexport function getCakeVaultAddress(chainId: ChainId) {\n return getContractAddress(CAKE_VAULT, chainId)\n}\n","import BigNumber from 'bignumber.js'\nimport { ChainId } from '@pancakeswap/chains'\nimport { Address } from 'viem'\n\nimport { OnChainProvider, SerializedLockedVaultUser, SerializedVaultUser } from '../types'\nimport { cakeVaultV2ABI } from '../abis/ICakeVaultV2'\nimport { getCakeFlexibleSideVaultAddress, getCakeVaultAddress } from './getAddresses'\nimport { cakeFlexibleSideVaultV2ABI } from '../abis/ICakeFlexibleSideVaultV2'\n\ninterface Params {\n account: Address\n chainId: ChainId\n provider: OnChainProvider\n}\n\nexport const fetchVaultUser = async ({ account, chainId, provider }: Params): Promise<SerializedLockedVaultUser> => {\n try {\n const cakeVaultAddress = getCakeVaultAddress(chainId)\n\n const client = provider({ chainId })\n\n const [userContractResponse, currentPerformanceFee, currentOverdueFee] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'userInfo',\n args: [account],\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'calculatePerformanceFee',\n args: [account],\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'calculateOverdueFee',\n args: [account],\n },\n ],\n allowFailure: false,\n })\n\n return {\n isLoading: false,\n userShares: new BigNumber(userContractResponse[0].toString()).toJSON(),\n lastDepositedTime: userContractResponse[1].toString(),\n lastUserActionTime: userContractResponse[3].toString(),\n cakeAtLastUserAction: new BigNumber(userContractResponse[2].toString()).toJSON(),\n userBoostedShare: new BigNumber(userContractResponse[6].toString()).toJSON(),\n locked: userContractResponse[7],\n lockEndTime: userContractResponse[5].toString(),\n lockStartTime: userContractResponse[4].toString(),\n lockedAmount: new BigNumber(userContractResponse[8].toString()).toJSON(),\n currentPerformanceFee: new BigNumber(currentPerformanceFee.toString()).toJSON(),\n currentOverdueFee: new BigNumber(currentOverdueFee.toString()).toJSON(),\n }\n } catch (error) {\n return {\n isLoading: true,\n userShares: '',\n lastDepositedTime: '',\n lastUserActionTime: '',\n cakeAtLastUserAction: '',\n userBoostedShare: '',\n lockEndTime: '',\n lockStartTime: '',\n locked: false,\n lockedAmount: '',\n currentPerformanceFee: '',\n currentOverdueFee: '',\n }\n }\n}\n\nexport const fetchFlexibleSideVaultUser = async ({\n account,\n chainId,\n provider,\n}: Params): Promise<SerializedVaultUser> => {\n try {\n const userContractResponse = await await provider({ chainId }).readContract({\n abi: cakeFlexibleSideVaultV2ABI,\n address: getCakeFlexibleSideVaultAddress(chainId),\n functionName: 'userInfo',\n args: [account],\n })\n return {\n isLoading: false,\n userShares: new BigNumber(userContractResponse[0].toString()).toJSON(),\n lastDepositedTime: userContractResponse[1].toString(),\n lastUserActionTime: userContractResponse[3].toString(),\n cakeAtLastUserAction: new BigNumber(userContractResponse[2].toString()).toJSON(),\n }\n } catch (error) {\n return {\n isLoading: true,\n userShares: '',\n lastDepositedTime: '',\n lastUserActionTime: '',\n cakeAtLastUserAction: '',\n }\n }\n}\n","export const cakeFlexibleSideVaultV2ABI = [\n {\n inputs: [],\n name: 'MAX_PERFORMANCE_FEE',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_AMOUNT_BOOSTER',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE_PERIOD',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_DEPOSIT_AMOUNT',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_WITHDRAW_AMOUNT',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_WITHDRAW_AMOUNT_BOOSTER',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'admin',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'available',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'balanceOf',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'cakePool',\n outputs: [\n {\n internalType: 'contract ICakePool',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'emergencyWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getPricePerFullShare',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_token',\n type: 'address',\n },\n ],\n name: 'inCaseTokensGetStuck',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pause',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'paused',\n outputs: [\n {\n internalType: 'bool',\n name: '',\n type: 'bool',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'performanceFee',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_admin',\n type: 'address',\n },\n ],\n name: 'setAdmin',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_performanceFee',\n type: 'uint256',\n },\n ],\n name: 'setPerformanceFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_treasury',\n type: 'address',\n },\n ],\n name: 'setTreasury',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_withdrawAmountBooster',\n type: 'uint256',\n },\n ],\n name: 'setWithdrawAmountBooster',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_withdrawFee',\n type: 'uint256',\n },\n ],\n name: 'setWithdrawFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_withdrawFeePeriod',\n type: 'uint256',\n },\n ],\n name: 'setWithdrawFeePeriod',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'staking',\n outputs: [\n {\n internalType: 'bool',\n name: '',\n type: 'bool',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'token',\n outputs: [\n {\n internalType: 'contract IERC20',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalShares',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'newOwner',\n type: 'address',\n },\n ],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'treasury',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'unpause',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n name: 'userInfo',\n outputs: [\n {\n internalType: 'uint256',\n name: 'shares',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'lastDepositedTime',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'cakeAtLastUserAction',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'lastUserActionTime',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_shares',\n type: 'uint256',\n },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawAll',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawAmountBooster',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFee',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFeePeriod',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n] as const\n"]}
1
+ {"version":3,"sources":["../src/constants/pools/index.ts","../src/constants/pools/1.ts","../src/types.ts","../src/constants/pools/56.ts","../src/constants/pools/97.ts","../src/constants/pools/42161.ts","../src/constants/pools/421613.ts","../src/constants/pools/324.ts","../src/constants/pools/280.ts","../src/constants/pools/8453.ts","../src/constants/pools/84531.ts","../src/constants/pools/59144.ts","../src/constants/pools/59140.ts","../src/constants/pools/1101.ts","../src/constants/pools/1442.ts","../src/constants/supportedChains.ts","../src/utils/isPoolsSupported.ts","../src/constants/boostedPools/index.ts","../src/constants/boostedPools/arb.ts","../src/constants/contracts.ts","../src/constants/index.ts","../src/queries/fetchPools.ts","../../utils/bigNumber.ts","../src/abis/ISousChef.ts","../src/abis/ISousChefV2.ts","../src/abis/ISmartChef.ts","../src/abis/ISousChefV3.ts","../src/utils/getContractAddress.ts","../src/utils/isLegacyPool.ts","../src/utils/apr.ts","../src/utils/getPoolContractBySousId.ts","../src/abis/ISousChefBNB.ts","../src/utils/boosted/checkIsBoostedPool.ts","../src/utils/boosted/apr/fetchAlpBoostedPoolApr.ts","../src/utils/boosted/apr/getBoostedPoolApr.ts","../src/queries/fetchUserPoolsData.ts","../src/queries/fetchVaultPublic.ts","../src/abis/ICakeVaultV2.ts","../src/queries/getAddresses.ts","../src/queries/fetchVaultUser.ts","../src/abis/ICakeFlexibleSideVaultV2.ts"],"names":["ChainId","PoolCategory","VaultKey","getAddress","livePools","finishedPools","pools","BigNumber","fromPairs","erc20ABI"],"mappings":"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","sourcesContent":["import { ChainId } from '@pancakeswap/chains'\n\nimport { pools as ethPools, livePools as ethLivePools } from './1'\nimport { pools as bscPools, livePools as bscLivePools } from './56'\nimport { pools as bscTestnetPools, livePools as bscTestnetLivePools } from './97'\nimport { pools as arbPools, livePools as arbLivePools } from './42161'\nimport { pools as arbTestnetPools, livePools as arbTestnetLivePools } from './421613'\nimport { pools as zkSyncPools, livePools as zkSyncLivePools } from './324'\nimport { pools as zkSyncTestnetPools, livePools as zkSyncTestnetLivePools } from './280'\nimport { pools as basePools, livePools as baseLivePools } from './8453'\nimport { pools as baseTestnetPools, livePools as baseTestnetLivePools } from './84531'\nimport { pools as lineaPools, livePools as lineaLivePools } from './59144'\nimport { pools as lineaTestnetPools, livePools as lineaTestnetLivePools } from './59140'\nimport { pools as polygonZkEvmPools, livePools as polygonZkEvmLivePools } from './1101'\nimport { pools as polygonZkEvmTestnetPools, livePools as polygonZkEvmTestnetLivePools } from './1442'\n\nimport { SerializedPool } from '../../types'\nimport { SupportedChainId } from '../supportedChains'\nimport { isPoolsSupported } from '../../utils/isPoolsSupported'\n\nexport type PoolsConfigByChain<TChainId extends ChainId> = {\n [chainId in TChainId]: SerializedPool[]\n}\n\nexport const POOLS_CONFIG_BY_CHAIN = {\n [ChainId.ETHEREUM]: ethPools,\n [ChainId.BSC]: bscPools,\n [ChainId.BSC_TESTNET]: bscTestnetPools,\n [ChainId.ARBITRUM_ONE]: arbPools,\n [ChainId.ARBITRUM_GOERLI]: arbTestnetPools,\n [ChainId.ZKSYNC]: zkSyncPools,\n [ChainId.ZKSYNC_TESTNET]: zkSyncTestnetPools,\n [ChainId.BASE]: basePools,\n [ChainId.BASE_TESTNET]: baseTestnetPools,\n [ChainId.LINEA]: lineaPools,\n [ChainId.LINEA_TESTNET]: lineaTestnetPools,\n [ChainId.POLYGON_ZKEVM]: polygonZkEvmPools,\n [ChainId.POLYGON_ZKEVM_TESTNET]: polygonZkEvmTestnetPools,\n} as PoolsConfigByChain<SupportedChainId>\n\nexport const LIVE_POOLS_CONFIG_BY_CHAIN = {\n [ChainId.ETHEREUM]: ethLivePools,\n [ChainId.BSC]: bscLivePools,\n [ChainId.BSC_TESTNET]: bscTestnetLivePools,\n [ChainId.ARBITRUM_ONE]: arbLivePools,\n [ChainId.ARBITRUM_GOERLI]: arbTestnetLivePools,\n [ChainId.ZKSYNC]: zkSyncLivePools,\n [ChainId.ZKSYNC_TESTNET]: zkSyncTestnetLivePools,\n [ChainId.BASE]: baseLivePools,\n [ChainId.BASE_TESTNET]: baseTestnetLivePools,\n [ChainId.LINEA]: lineaLivePools,\n [ChainId.LINEA_TESTNET]: lineaTestnetLivePools,\n [ChainId.POLYGON_ZKEVM]: polygonZkEvmLivePools,\n [ChainId.POLYGON_ZKEVM_TESTNET]: polygonZkEvmTestnetLivePools,\n} as PoolsConfigByChain<SupportedChainId>\n\nexport const getPoolsConfig = (chainId: ChainId) => {\n if (!isPoolsSupported(chainId)) {\n return undefined\n }\n return POOLS_CONFIG_BY_CHAIN[chainId]\n}\n\nexport const getLivePoolsConfig = (chainId: ChainId) => {\n if (!isPoolsSupported(chainId)) {\n return undefined\n }\n return LIVE_POOLS_CONFIG_BY_CHAIN[chainId]\n}\n\nexport const MAX_LOCK_DURATION = 31536000\nexport const UNLOCK_FREE_DURATION = 604800\nexport const ONE_WEEK_DEFAULT = 604800\nexport const BOOST_WEIGHT = 20000000000000n\nexport const DURATION_FACTOR = 31536000n\n","import { ethereumTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n// .map((p) => ({\n// ...p,\n// contractAddress: getAddress(p.contractAddress),\n// stakingToken: p.stakingToken.serialize,\n// earningToken: p.earningToken.serialize,\n// }))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 9,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x3B30A93D056e9A1156D0f17CBd05B711c4232C84',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0006045',\n },\n {\n sousId: 8,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.wstETH,\n contractAddress: '0x3C6452d5a217Cc65b98F0803c6D1BD7Fe588389A',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.00000271',\n },\n {\n sousId: 7,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x3df19692a70fc55Ec8BfE1C9593E584D8F69c510',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0005623',\n },\n {\n sousId: 6,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x3f0bCCa8f5aA37e184B22e3A2ca8C292fe6B716B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0005093',\n },\n {\n sousId: 5,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0x0A150c0AbbbD852ec8940AeE67A1aB59d9Fe76d1',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.000331',\n },\n {\n sousId: 1,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.wncg,\n contractAddress: '0x5eC855219e236b75E7cfba0D56105b9Cc88B4A18',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.04061',\n },\n {\n sousId: 4,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.rpl,\n contractAddress: '0xd7136B50E641CfFf9D0aeB5c4617c779A80F0c8b',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.000282',\n },\n {\n sousId: 3,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.alcx,\n contractAddress: '0x5A8C87047c290dD8A2e1a1a2D2341Da41d1Aa009',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0002989',\n },\n {\n sousId: 2,\n stakingToken: ethereumTokens.cake,\n earningToken: ethereumTokens.ush,\n contractAddress: '0x3Bb1CCa68756a7E0ffEBf59d52174784047f3dE8',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.04629',\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { ChainId } from '@pancakeswap/chains'\nimport { PublicClient, Address } from 'viem'\nimport type { SerializedWrappedToken } from '@pancakeswap/token-lists'\nimport BigNumber from 'bignumber.js'\n\nexport type OnChainProvider = ({ chainId }: { chainId?: ChainId }) => PublicClient\n\nexport type SerializedBigNumber = string\n\nexport interface Addresses {\n [chainId: number]: string\n}\n\nexport enum PoolCategory {\n 'COMMUNITY' = 'Community',\n 'CORE' = 'Core',\n 'BINANCE' = 'Binance', // Pools using native BNB behave differently than pools using a token\n 'AUTO' = 'Auto',\n}\n\n// @deprecated\nexport interface LegacyPoolConfigBaseProps {\n sousId: number\n contractAddress: Address\n poolCategory: PoolCategory\n tokenPerBlock: string\n isFinished?: boolean\n enableEmergencyWithdraw?: boolean\n version?: number\n}\n\nexport interface PoolConfigBaseProps {\n sousId: number\n contractAddress: Address\n poolCategory: PoolCategory\n tokenPerSecond: string\n isFinished?: boolean\n enableEmergencyWithdraw?: boolean\n}\n\ninterface GenericToken {\n decimals: number\n symbol: string\n address: string\n}\n\nexport interface LegacySerializedPoolConfig<T> extends LegacyPoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport interface SerializedPoolConfig<T> extends PoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport type LegacySerializedPool = LegacySerializedPoolConfig<SerializedWrappedToken>\n\nexport type UpgradedSerializedPool = SerializedPoolConfig<SerializedWrappedToken>\n\nexport type SerializedPool = LegacySerializedPool | UpgradedSerializedPool\n\nexport type UpgradedSerializedPoolWithInfo = UpgradedSerializedPool & SerializedPoolInfo\n\nexport type LegacySerializedPoolWithInfo = LegacySerializedPool & SerializedPoolInfo\n\nexport type SerializedPoolWithInfo = LegacySerializedPoolWithInfo | UpgradedSerializedPoolWithInfo\n\nexport interface SerializedVaultUser {\n isLoading: boolean\n userShares: SerializedBigNumber\n cakeAtLastUserAction: SerializedBigNumber\n lastDepositedTime: string\n lastUserActionTime: string\n}\n\nexport interface SerializedLockedVaultUser extends SerializedVaultUser {\n lockStartTime: string\n lockEndTime: string\n userBoostedShare: SerializedBigNumber\n locked: boolean\n lockedAmount: SerializedBigNumber\n currentPerformanceFee: SerializedBigNumber\n currentOverdueFee: SerializedBigNumber\n}\n\nexport interface LegacyDeserializedPoolConfig<T> extends LegacyPoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport interface UpgradedDeserializedPoolConfig<T> extends PoolConfigBaseProps {\n earningToken: T & GenericToken\n stakingToken: T & GenericToken\n}\n\nexport type DeserializedPoolConfig<T> = LegacyDeserializedPoolConfig<T> | UpgradedDeserializedPoolConfig<T>\n\ninterface SerializedPoolInfo extends CorePoolProps {\n totalStaked?: string\n stakingLimit?: string\n stakingLimitEndTimestamp?: number\n profileRequirement?: {\n required: boolean\n thresholdPoints: string\n }\n userDataLoaded?: boolean\n userData?: {\n allowance: string\n stakingTokenBalance: string\n stakedBalance: string\n pendingReward: string\n }\n}\n\ninterface PoolInfo extends CorePoolProps {\n totalStaked?: BigNumber\n stakingLimit?: BigNumber\n stakingLimitEndTimestamp?: number\n profileRequirement?: {\n required: boolean\n thresholdPoints: BigNumber\n }\n userDataLoaded?: boolean\n userData?: {\n allowance: BigNumber\n stakingTokenBalance: BigNumber\n stakedBalance: BigNumber\n pendingReward: BigNumber\n }\n}\n\nexport type UpgradedDeserializedPool<T> = UpgradedDeserializedPoolConfig<T> & PoolInfo\n\nexport type LegacyDeserializedPool<T> = LegacyDeserializedPoolConfig<T> & PoolInfo\n\nexport type DeserializedPool<T> = UpgradedDeserializedPool<T> | LegacyDeserializedPool<T>\n\nexport type DeserializedPoolVault<T> = DeserializedPool<T> & DeserializedCakeVault\nexport type DeserializedPoolLockedVault<T> = DeserializedPool<T> & DeserializedLockedCakeVault\n\nexport interface DeserializedLockedVaultUser extends DeserializedVaultUser {\n lastDepositedTime: string\n lastUserActionTime: string\n lockStartTime: string\n lockEndTime: string\n burnStartTime: string\n userBoostedShare: BigNumber\n locked: boolean\n lockedAmount: BigNumber\n currentPerformanceFee: BigNumber\n currentOverdueFee: BigNumber\n}\n\nexport interface DeserializedLockedCakeVault extends Omit<DeserializedCakeVault, 'userData'> {\n totalLockedAmount?: BigNumber\n userData?: DeserializedLockedVaultUser\n}\n\nexport interface SerializedVaultFees {\n performanceFee: number\n withdrawalFee: number\n withdrawalFeePeriod: number\n}\n\nexport interface DeserializedVaultFees extends SerializedVaultFees {\n performanceFeeAsDecimal: number\n}\n\nexport interface DeserializedVaultUser {\n isLoading: boolean\n userShares: BigNumber\n cakeAtLastUserAction: BigNumber\n lastDepositedTime: string\n lastUserActionTime: string\n balance: {\n cakeAsNumberBalance: number\n cakeAsBigNumber: BigNumber\n cakeAsDisplayBalance: string\n }\n}\n\nexport interface DeserializedCakeVault {\n totalShares?: BigNumber\n totalLockedAmount?: BigNumber\n pricePerFullShare: BigNumber\n totalCakeInVault?: BigNumber\n fees?: DeserializedVaultFees\n userData?: DeserializedVaultUser\n}\n\nexport enum VaultKey {\n CakeVaultV1 = 'cakeVaultV1',\n CakeVault = 'cakeVault',\n CakeFlexibleSideVault = 'cakeFlexibleSideVault',\n IfoPool = 'ifoPool',\n}\n\ninterface CorePoolProps {\n startTimestamp?: number\n endTimestamp?: number\n apr?: number\n rawApr?: number\n stakingTokenPrice?: number\n earningTokenPrice?: number\n vaultKey?: VaultKey\n}\n","import { bscTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 0,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cake,\n contractAddress: '0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '10',\n isFinished: false,\n },\n {\n sousId: 365,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ace,\n contractAddress: '0xafB6d6B64fe5007EeE87210B91638ddCeb9f326B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.003858',\n isFinished: false,\n version: 3,\n },\n {\n sousId: 364,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.csix,\n contractAddress: '0x692dF8297495f02f31a24A93D10Bd77D072840d7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5131',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nconst finishedPools = [\n {\n sousId: 363,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.play,\n contractAddress: '0x17D87e825A2231628bCBf1aF1aaEaD419dd3a53D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5902',\n version: 3,\n },\n {\n sousId: 362,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcad,\n contractAddress: '0x1328F684569cE0Cb0F13ce023e1C910f23CaBcA8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01658',\n version: 3,\n },\n {\n sousId: 361,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mbx,\n contractAddress: '0x51ebC2F8D7Af302835A1C2Bd02111a3af573e399',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1118',\n version: 3,\n },\n {\n sousId: 359,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wncg,\n contractAddress: '0xBA75a11EC6e8AFcDAb95E46F5E39941d6bB7334F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7716',\n version: 3,\n },\n {\n sousId: 347,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tusd,\n contractAddress: '0x72cd910eE115E494485Dd32Ce7bC5dE563eceA51',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02314',\n version: 3,\n },\n {\n sousId: 360,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axl,\n contractAddress: '0x32f0414a4e970a3edd9e7db367A43348F25D74cD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05358',\n version: 3,\n },\n {\n sousId: 357,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ush,\n contractAddress: '0x3408367d6d4F379e1dfb2bb61664c4833Ec3588c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1157',\n version: 3,\n },\n {\n sousId: 356,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dck,\n contractAddress: '0x3171DeA40dB52081999Cd589972EF55D5D5B4777',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5594',\n version: 3,\n },\n {\n sousId: 352,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sable,\n contractAddress: '0x40757a3F2BC322f411D905cD489eaf4Eb84C50Aa',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.192',\n version: 3,\n },\n {\n sousId: 351,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.eqb,\n contractAddress: '0x283812B4F4c77A0f169b6F8a79d1d7d996770477',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02411',\n version: 3,\n },\n {\n sousId: 354,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.snbnb,\n contractAddress: '0x854906693F7bAc4E4c8C31c001b6a42b3d93493E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00004813',\n version: 3,\n },\n {\n sousId: 350,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xalgo,\n contractAddress: '0x0Cb99886e31FCe86Fc411A2D744d63E6748133b5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05865',\n version: 3,\n },\n {\n sousId: 349,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pendle,\n contractAddress: '0x658136728Cf2D0845BEE552B07cA7FE82D1B7938',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01426',\n version: 3,\n },\n {\n sousId: 348,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xalgo,\n contractAddress: '0x4b5A6BA2cAf4B6FD04407513172D3e01c288f9bD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07716',\n version: 3,\n },\n {\n sousId: 353,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hay,\n contractAddress: '0x8c41046b3C0D7b7C80316a57C39C74c9F5133852',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02314',\n version: 3,\n },\n {\n sousId: 346,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.csix,\n contractAddress: '0x5250320d765F366E2B96Cd5c7d08F1902422195e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.017',\n },\n {\n sousId: 355,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.planet,\n contractAddress: '0x69Aeec4EBA2333deC563E378a6AFD5eF23437677',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '150.4',\n version: 3,\n },\n {\n sousId: 325,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lvl,\n contractAddress: '0x1394a09F868bE27B1c8D39D79F0b0D6f112bddAf',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009765',\n version: 3,\n },\n {\n sousId: 345,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axl,\n contractAddress: '0x0592c701fE5DE53d534AFBaf3A11A8F1bbEE9E91',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05173',\n version: 3,\n },\n {\n sousId: 343,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.edu,\n contractAddress: '0x3d2d34Ea77B3702B7634C8D208feC5E08CEa88B6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05425',\n version: 3,\n },\n {\n sousId: 342,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ush,\n contractAddress: '0x6Db79ba7c0A6DDC48cFDd79Df6cb757b9E8B51DD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1851',\n version: 3,\n },\n {\n sousId: 341,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pstake,\n contractAddress: '0x17086aF09D63852aD4646f1f837b34e171bEa99B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5497',\n version: 3,\n },\n {\n sousId: 327,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.id,\n contractAddress: '0x7aCcC054bB199ca976C95aee495C9888f566AaAA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07716',\n version: 3,\n },\n {\n sousId: 326,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.unw,\n contractAddress: '0x929641DF8F11b6460efAdb09db357717C60003E1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7716',\n version: 3,\n },\n {\n sousId: 329,\n stakingToken: bscTokens.hay,\n earningToken: bscTokens.cake,\n contractAddress: '0x1c7D573D9614187096276a01Ec15263FCa820BDD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0121',\n version: 3,\n },\n {\n sousId: 324,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.caps,\n contractAddress: '0xA31a351e3FBE3278949242Ff152317c12cd786e2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.7',\n version: 3,\n },\n {\n sousId: 321,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.csix,\n contractAddress: '0x8BD7b0d392D2dE8F682704A3186A48467FcDC7AC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '8.68',\n version: 3,\n },\n {\n sousId: 323,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sd,\n contractAddress: '0xaEC63F134a7853C6DaC9BA428d7962cD7C6c5e30',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01022',\n version: 3,\n },\n {\n sousId: 328,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.rdnt,\n contractAddress: '0xb87d170eC2C22F6078C9ed3214aB6f47f4A924D2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3342',\n version: 3,\n },\n {\n sousId: 339,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axl,\n contractAddress: '0xC0878B7907De5d332C6C296E30d14d604AA6ada6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01041',\n version: 3,\n },\n {\n sousId: 320,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axlusdc,\n contractAddress: '0x08287F4942A7B68DDb87D20Becd4fdadF4aE206e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0135',\n version: 3,\n },\n {\n sousId: 344,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.peel,\n contractAddress: '0xeBc4E95DF515a34c173530b231EDa53E6a786944',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.9186',\n version: 3,\n },\n {\n sousId: 322,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pstake,\n contractAddress: '0x98AC153577d65f2eEF2256f3AeF8ba9D7E4B756B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1186',\n version: 3,\n },\n {\n sousId: 340,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.champ,\n contractAddress: '0x731Aa0b17143A3095430bf322D6aB132cA32b99F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.432',\n version: 3,\n },\n {\n sousId: 336,\n stakingToken: bscTokens.xcad,\n earningToken: bscTokens.cake,\n contractAddress: '0x548e422031E9063c21c84C7478EBa0f7ae9641B7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009548',\n version: 3,\n },\n {\n sousId: 338,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x4809d86700E1f6be32992172Bd57fD3d954993e7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06145',\n version: 3,\n },\n {\n sousId: 337,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.moni,\n contractAddress: '0x47EF9D0A1ff91b4398Ff622eEaf111874d2e0870',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.366',\n version: 3,\n },\n {\n sousId: 335,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sis,\n contractAddress: '0xFBA59bA5485670ec243EFA8903564aa5C0AD2373',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5704',\n version: 3,\n },\n {\n sousId: 334,\n stakingToken: bscTokens.rdnt,\n earningToken: bscTokens.cake,\n contractAddress: '0xaaFf0B9fdC503087764Ee7155039015d74fE79B1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009409',\n version: 3,\n },\n {\n sousId: 333,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gq,\n contractAddress: '0x2F50D0010d408e0C299BE8e1a8d553B8eb3E96ED',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7.093',\n version: 3,\n },\n {\n sousId: 306,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.squad,\n contractAddress: '0x08C9d626a2F0CC1ed9BD07eBEdeF8929F45B83d3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.459',\n version: 3,\n },\n {\n sousId: 332,\n stakingToken: bscTokens.csix,\n earningToken: bscTokens.cake,\n contractAddress: '0x6fBD8a65c844a3565cA4e71Eb577a2a8F821ABB4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0124',\n version: 3,\n },\n {\n sousId: 331,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mgp,\n contractAddress: '0xCA4A503c79cfDa91246f2084fE315F1cA54694D8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.704',\n version: 3,\n },\n {\n sousId: 330,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens['8pay'],\n contractAddress: '0x67c7014b1C6B6a2d811687d4c5a53de518fA705f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.48',\n version: 3,\n },\n {\n sousId: 310,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.champ,\n contractAddress: '0x3B48325b7CA831ca7D5b649B074fF697c66166c3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.961',\n version: 3,\n },\n {\n sousId: 303,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mgp,\n contractAddress: '0x365F744c8b7608253697cA2Ed561537B65a3438B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '6.944',\n version: 3,\n },\n {\n sousId: 309,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arena,\n contractAddress: '0xDe9FC6485b5f4A1905d8011fcd201EB78CF34073',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.893',\n version: 3,\n },\n {\n sousId: 307,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zbc,\n contractAddress: '0xa683C30d47BCd31fB1399b80A4475bc960b903e3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '10.52',\n version: 3,\n },\n {\n sousId: 308,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.primal,\n contractAddress: '0x7cE7A5C3241629763899474500D8db1fDFf1dab6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '30.86',\n version: 3,\n },\n {\n sousId: 304,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcad,\n contractAddress: '0x68Cc90351a79A4c10078FE021bE430b7a12aaA09',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1102',\n version: 3,\n },\n {\n sousId: 302,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wmx,\n contractAddress: '0xaEd58Af2c98dbF05d26B3E5b3cc809fc70D203ce',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n version: 3,\n },\n {\n sousId: 305,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hft,\n contractAddress: '0x92465602f35bb0F22aA1Cf2102B17B563B0a26Dd',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6319',\n version: 3,\n },\n {\n sousId: 301,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.krs,\n contractAddress: '0x067F926EB8f2a95f260327B01C29B2034A785029',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.96',\n version: 3,\n },\n {\n sousId: 299,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.co,\n contractAddress: '0x31736A52bBdda4eaf0117B17736306Bbecb711ca',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.6296',\n version: 3,\n },\n {\n sousId: 298,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hoop,\n contractAddress: '0x6C254E3AB3e4B909A2CfAA3E0b9d2B3F7887CFae',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.146',\n version: 3,\n },\n {\n sousId: 297,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.moni,\n contractAddress: '0xB5e36D441016016f251223EBD5E946cdeFe0E2E1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.411',\n version: 3,\n },\n {\n sousId: 296,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gq,\n contractAddress: '0x983A241Bfe910fcFa3E70744AA21AAe5f45861f0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '55.6446',\n version: 3,\n },\n {\n sousId: 300,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arv,\n contractAddress: '0x420Cd06440d8845FBcde9a396d9Aa211FE78C03d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1335.47',\n version: 3,\n },\n {\n sousId: 295,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wom,\n contractAddress: '0xf78DB5b635bA108212C9D84c124a52D7B1596b97',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n version: 3,\n },\n {\n sousId: 294,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ankr,\n contractAddress: '0x985A20998c7C59e98005c556393215e39c9A4978',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '6.0763',\n version: 3,\n },\n {\n sousId: 293,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hay,\n contractAddress: '0x8cBCf2f2be93D154be5135f465369Ee6dD84314B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2604',\n version: 3,\n },\n {\n sousId: 292,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x449EC6B2779A3F63E6c2527CBB162A38Ef199d7D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1071',\n version: 3,\n },\n {\n sousId: 291,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pstake,\n contractAddress: '0x56D6955Ba6404647191DD7A5D65A5c9Fe43905e1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n version: 3,\n },\n {\n sousId: 290,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.peel,\n contractAddress: '0x288d1aD79c113552B618765B4986f7DE679367Da',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.34',\n version: 3,\n },\n {\n sousId: 289,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.shell,\n contractAddress: '0x595B7AF4F1828AB4953792482b01B2AFC4A46b72',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '89.699',\n version: 3,\n },\n {\n sousId: 288,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.high,\n contractAddress: '0x28cc814bE3B994187B7f8Bfed10516A84A671119',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1332',\n version: 3,\n },\n {\n sousId: 287,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ole,\n contractAddress: '0xda6F750be1331963E5772BEe757062f6bddcEA4C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.2569',\n version: 3,\n },\n {\n sousId: 286,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trivia,\n contractAddress: '0x86471019Bf3f403083390AC47643062e15B0256e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.976',\n version: 3,\n },\n {\n sousId: 285,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sdao,\n contractAddress: '0x168eF2e470bfeAEB32BE52FB218A41483904851c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.405',\n version: 3,\n },\n {\n sousId: 284,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.antex,\n contractAddress: '0xdC37A2B2A6a62008beEe029E36153dF8055a8ADa',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1937.62',\n version: 3,\n },\n {\n sousId: 283,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcn,\n contractAddress: '0xa79D37ce9DF9443eF4B6DEC2e38a8ecd35303adc',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.2505',\n version: 3,\n },\n {\n sousId: 282,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chr,\n contractAddress: '0x2D17ec6cd0AF737B2adE40ea527d41ceEedc166f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.58',\n version: 3,\n },\n {\n sousId: 281,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_MIX,\n contractAddress: '0x0F96E19Bdc787e767BA1e8F1aDD0f62cbdad87C8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '63.136',\n version: 3,\n },\n {\n sousId: 280,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.metis,\n contractAddress: '0xC0A94bFF88EdCae7D5d79294C0e9954Ed75CBCb7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01331',\n version: 3,\n },\n {\n sousId: 279,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gal,\n contractAddress: '0xa5D57C5dca083a7051797920c78fb2b19564176B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09645',\n version: 3,\n },\n {\n sousId: 278,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_rpg,\n contractAddress: '0xD1c395BCdC2d64ac6544A34A36185483B00530a1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06794',\n version: 3,\n },\n {\n sousId: 277,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ankr,\n contractAddress: '0xc581345e1648CcE154978eA80bF8A584EC8aFDe0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.6296',\n version: 3,\n },\n {\n sousId: 276,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ceek,\n contractAddress: '0xED53944b1c0cEecDe1a413fDb4D0496e1a08ab58',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.8078',\n version: 3,\n },\n {\n sousId: 275,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tinc,\n contractAddress: '0x9593462fF51A14633b243Ba3d054A8183d057A02',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4677',\n version: 3,\n },\n {\n sousId: 274,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pex,\n contractAddress: '0x641B1F2781B34a493E4308A0A3F1c7E042A9B952',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3865',\n version: 3,\n },\n {\n sousId: 273,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gmi,\n contractAddress: '0x0D53E0f2Eb384777442e4EB813d8f5fAcC742206',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '17.939',\n version: 3,\n },\n {\n sousId: 272,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.froyo,\n contractAddress: '0x84e3208578eE7db397a3d584d97Fea107b15bF35',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.404',\n version: 3,\n },\n {\n sousId: 271,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bsw,\n contractAddress: '0x7092e029E4ce660F9AC081BF6D8a339BE602398b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.157',\n version: 3,\n },\n {\n sousId: 270,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.duet,\n contractAddress: '0xA581349F26dE887700045F9B7d148775d422fDA2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4861',\n version: 3,\n },\n {\n sousId: 269,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gmt,\n contractAddress: '0xe76a31cF974BA5819ce86cB4667a4bf05174bC59',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.629',\n version: 3,\n },\n {\n sousId: 268,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xwg,\n contractAddress: '0x6e0272A70075f6782F6842730107E9ABf74C5CC7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.106',\n version: 3,\n },\n {\n sousId: 267,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.high,\n contractAddress: '0x60c4998C058BaC8042712B54E7e43b892Ab0B0c4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09756',\n version: 3,\n },\n {\n sousId: 266,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.thg,\n contractAddress: '0xD1D03A3D4C27884a8703Cdb78504737C9E9A159e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.162',\n version: 3,\n },\n {\n sousId: 265,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.era,\n contractAddress: '0x260F95f5b7FD8eda720ED9d0829164dE35B048ab',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.608',\n version: 3,\n },\n {\n sousId: 264,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.btt,\n contractAddress: '0x346a1b672C5Cbb6AE21715428f77A0049B29B332',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '157829',\n },\n {\n sousId: 263,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ach,\n contractAddress: '0xcD1Be742b04DB005e2C445A11BDe6d13DD9dd454',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7.502',\n },\n {\n sousId: 261,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x80762101bd79D6e7A175E9678d05c7f815b8D7d7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06481',\n },\n {\n sousId: 260,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.raca,\n contractAddress: '0xAaF43935a526DF88AB57FC69b1d80a8d35e1De82',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '204.2',\n },\n {\n sousId: 259,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ertha,\n contractAddress: '0x921Ea7e12A66025F2BD287eDbff6dc5cEABd6477',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.585',\n },\n {\n sousId: 258,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.fuse,\n contractAddress: '0xeAd7b8fc5F2E5672FAe9dCf14E902287F35CB169',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.19',\n },\n {\n sousId: 257,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.froyo,\n contractAddress: '0x1c9E3972fdBa29b40954Bb7594Da6611998F8830',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.893',\n },\n {\n sousId: 256,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.aog,\n contractAddress: '0xa34832efe74133763A85060a64103542031B0A7E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6435',\n },\n {\n sousId: 255,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.apx,\n contractAddress: '0x92c07c325cE7b340Da2591F5e9CbB1F5Bab73FCF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.035',\n },\n {\n sousId: 254,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bcoin,\n contractAddress: '0x25ca61796D786014FfE15E42aC11C7721d46E120',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1493',\n },\n {\n sousId: 253,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bcoin,\n contractAddress: '0xad8F6A9d58012DCa2303226B287E80e5fE27eff0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1493',\n },\n {\n sousId: 252,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.insur,\n contractAddress: '0x1A777aE604CfBC265807A46Db2d228d4CC84E09D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3281',\n },\n {\n sousId: 251,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gm,\n contractAddress: '0x09e727c83a75fFdB729280639eDBf947dB76EeB7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7893',\n },\n {\n sousId: 250,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.woop,\n contractAddress: '0x2718D56aE2b8F08B3076A409bBF729542233E451',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.226',\n },\n {\n sousId: 249,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.high,\n contractAddress: '0x2461ea28907A2028b2bCa40040396F64B4141004',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02679',\n },\n {\n sousId: 247,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dpt,\n contractAddress: '0x1c0C7F3B07a42efb4e15679a9ed7e70B2d7Cc157',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.62962963',\n },\n {\n sousId: 246,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.thg,\n contractAddress: '0x56Bfb98EBEF4344dF2d88c6b80694Cba5EfC56c8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.03761',\n },\n {\n sousId: 245,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.idia,\n contractAddress: '0x07984aBb7489CD436d27875c07Eb532d4116795a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1262',\n },\n {\n sousId: 244,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xcv,\n contractAddress: '0xF1fA41f593547E406a203b681df18acCC3971A43',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7413',\n },\n {\n sousId: 243,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nabox,\n contractAddress: '0x13A40BFab005D9284f8938FBb70Bf39982580e4D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1271',\n },\n {\n sousId: 242,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.santos,\n contractAddress: '0x0914b2d9D4DD7043893DEF53ecFC0F1179F87d5c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0578',\n },\n {\n sousId: 241,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.quidd,\n contractAddress: '0xD97Ee2bFE79A4d4ab388553411c462fbb536A88C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07471',\n },\n {\n sousId: 240,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zoo,\n contractAddress: '0x2EfE8772EB97B74be742d578A654AB6C95bF18db',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4516',\n },\n {\n sousId: 239,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfund,\n contractAddress: '0x7F103689cabe17C2F70DA6faa298045d72a943b8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0311',\n },\n {\n sousId: 238,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.qi,\n contractAddress: '0xbd52ef04DB1ad1c68A8FA24Fa71f2188978ba617',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.736',\n },\n {\n sousId: 237,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kart,\n contractAddress: '0x73bB10B89091f15e8FeD4d6e9EBa6415df6acb21',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1897',\n },\n {\n sousId: 236,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.porto,\n contractAddress: '0xdD52FAB121376432DBCBb47592742F9d86CF8952',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0578',\n },\n {\n sousId: 235,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dvi,\n contractAddress: '0x2b8751B7141Efa7a9917f9C6fea2CEA071af5eE7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2516',\n },\n {\n sousId: 234,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.jgn,\n contractAddress: '0xfDFb4DbE94916F9f55dBC2c14Ea8B3e386eCD9F9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5233',\n },\n {\n sousId: 232,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xwg,\n contractAddress: '0x79f5f7DDADeFa0A9e850DFFC4fBa77e5172Fe701',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.3379',\n },\n {\n sousId: 231,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dar,\n contractAddress: '0x9b861A078B2583373A7a3EEf815bE1A39125Ae08',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.3148',\n },\n {\n sousId: 230,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.fina,\n contractAddress: '0xa35caA9509a2337E22C54C929146D5F7f6515794',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06944',\n },\n {\n sousId: 229,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bmon,\n contractAddress: '0x6e63B2B96c77532ea7ec2B3D3BFA9C8e1d383f3C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.0254',\n },\n {\n sousId: 228,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dkt,\n contractAddress: '0xFef4B7a0194159d89717Efa592384d42B28D3926',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09838',\n },\n {\n sousId: 227,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0x2D26e4b9a5F19eD5BB7AF221DC02432D31DEB4dA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.2152',\n },\n {\n sousId: 226,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lazio,\n contractAddress: '0xd008416C2C9cF23843BD179AA3cefedB4c8D1607',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0694',\n },\n {\n sousId: 225,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sps,\n contractAddress: '0xD9B63Bb6C62FE2E9a641699A91e680994b8b0081',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.40046',\n },\n {\n sousId: 224,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mcb,\n contractAddress: '0xCc2D359c3a99d9cfe8e6F31230142efF1C828e6D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00706',\n },\n {\n sousId: 223,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_rpg,\n contractAddress: '0x65C0940C50A3C98AEEc95a115Ae62E9804588713',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01863',\n },\n {\n sousId: 222,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.beta,\n contractAddress: '0x6f660C58723922c6f866a058199FF4881019B4B5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 233,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.eternal,\n contractAddress: '0xc28c400F2B675b25894FA632205ddec71E432288',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.002893',\n },\n {\n sousId: 221,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nft,\n contractAddress: '0x8d018823d13C56D62fFB795151a9e629C21E047b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '173727',\n },\n {\n sousId: 220,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chess,\n contractAddress: '0x4D1Ec426d0d7fb6bF344Dd372d0502EDD71c8d88',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0861',\n },\n {\n sousId: 219,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tlos,\n contractAddress: '0xCB41a72067c227D6Ed7bc7CFAcd13eCe47Dfe5E9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3616',\n },\n {\n sousId: 218,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.stephero,\n contractAddress: '0xcECBa456Fefe5b18D43DF23419e7AB755b436655',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1851',\n },\n {\n sousId: 217,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bp,\n contractAddress: '0x8eD7aCF12b08274D5CdAF03d43D0E54bCbDD487e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.217',\n },\n {\n sousId: 216,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cvp,\n contractAddress: '0xC4b15117BC0be030c20754FF36197641477af5d1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.14',\n },\n {\n sousId: 215,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.qbt,\n contractAddress: '0xB72dEf58D0832f747d6B7197471Fe20AeA7EB463',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.412',\n },\n {\n sousId: 214,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.naos,\n contractAddress: '0xb38b78529bCc895dA16CE2978D6cD6C56e8CfFC3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1736',\n },\n {\n sousId: 213,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pha,\n contractAddress: '0x2E101b5F7f910F2609e5AcE5f43bD274b1DE09AA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.28',\n },\n {\n sousId: 212,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bel,\n contractAddress: '0x52733Ad7b4D09BF613b0389045e33E2F287afa04',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.101',\n },\n {\n sousId: 211,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0x401B9B97bDbC3197C1adFaB9652dC78040bd1E13',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.9837',\n },\n {\n sousId: 210,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pots,\n contractAddress: '0xBeDb490970204cb3CC7B0fea94463BeD67d5364D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0868',\n },\n {\n sousId: 209,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_tusd,\n contractAddress: '0xb6e510AE2Da1AB4E350f837c70823ab75091780e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n },\n {\n sousId: 208,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.revv,\n contractAddress: '0x8aA5B2C67852ED5334c8A7F0b5eB0eF975106793',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.331',\n },\n {\n sousId: 207,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bttold,\n contractAddress: '0x3b804460C3C62f0F565aF593984159f13B1AC976',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '263',\n },\n {\n sousId: 206,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.skill,\n contractAddress: '0x455F4d4Cc4d6CA15441a93c631E82aAF338ad843',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00289',\n },\n {\n sousId: 205,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.win,\n contractAddress: '0xDe4AEf42Bb27a2cb45c746aCDe4e4D8aB711D27C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1815.39',\n },\n {\n sousId: 204,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.if,\n contractAddress: '0x57d3524888Ded4085D9124A422F13b27C8a43DE7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02835',\n },\n {\n sousId: 203,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sps,\n contractAddress: '0xB56299d8FBF46C509014b103a164ad1fC65EA222',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '12.86',\n },\n {\n sousId: 202,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.c98,\n contractAddress: '0x5e49531BA07bE577323e55666D46C6217164119E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 201,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.axs,\n contractAddress: '0xBB472601B3CB32723d0755094BA80B73F67f2AF3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00744',\n },\n {\n sousId: 200,\n stakingToken: bscTokens.axs,\n earningToken: bscTokens.cake,\n contractAddress: '0x583A36816F3b8401C4fdf682203E0caDA6997740',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00992',\n },\n {\n sousId: 199,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pmon,\n contractAddress: '0x28050E8F024E05F9DdBeF5f60dD49F536DBA0cF0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02696',\n },\n {\n sousId: 198,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trx,\n contractAddress: '0xb2B62f88AB82ed0bB4aB4dA60D9Dc9ACF9e816e5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '9.6643',\n },\n {\n sousId: 197,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chess,\n contractAddress: '0xD1812e7E28C39e78727592de030fC0e7c366D61a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4286',\n },\n {\n sousId: 196,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.titan,\n contractAddress: '0x97058CF9B36c9Ef1622485ceF22E72d6fEA32a36',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.08912',\n },\n {\n sousId: 195,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.harmony,\n contractAddress: '0xe595456846155E23B24cc9cbEe910ee97027DB6d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.0092',\n },\n {\n sousId: 194,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mask,\n contractAddress: '0xAE611C6D4D3cA2CeE44cd34EB7aAc29D5A387fcf',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.06423',\n },\n {\n sousId: 193,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dvi,\n contractAddress: '0x135827eaF9746573C0B013F18EE12f138B9b0384',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7233',\n },\n {\n sousId: 192,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gum,\n contractAddress: '0x09b8a5f51c9e245402057851ADA274174Fa00E2A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.67129',\n },\n {\n sousId: 191,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.adx,\n contractAddress: '0x53A2D1db049b5271c6b6dB020dBa0e8A7C4Eb90d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.7523',\n },\n {\n sousId: 190,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.suter,\n contractAddress: '0x4dA8Da81647ee0Aa7350e9959f3e4771eB753Da0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '69.9074',\n },\n {\n sousId: 189,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bscpad,\n contractAddress: '0x0446b8F8474C590d2249a4ACDD6Eedbc2e004bca',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3877',\n },\n {\n sousId: 188,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.rabbit,\n contractAddress: '0x391240A007Bfd8A59bA74978D691219a76c64c5C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.993',\n },\n {\n sousId: 187,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.waultx,\n contractAddress: '0x017DEa5C58c2Bcf57FA73945073dF7AD4052a71C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '7.9108',\n },\n {\n sousId: 186,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wex,\n contractAddress: '0x6Bd94783caCef3fb7eAa9284f1631c464479829f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '11.574',\n },\n {\n sousId: 185,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.form,\n contractAddress: '0x7c71723fB1F9Cfb250B702cfc4eBd5D9Ab2E83d9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.4467',\n },\n {\n sousId: 184,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.orbs,\n contractAddress: '0x9C8813d7D0A61d30610a7A5FdEF9109e196a3D77',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.8946',\n },\n {\n sousId: 183,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.$dg,\n contractAddress: '0xa07a91DA6D10173f33c294803684bCeEde325957',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00135',\n },\n {\n sousId: 182,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.woo,\n contractAddress: '0x88c321D444C88acF3e747dC90F20421b97648903',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3854',\n },\n {\n sousId: 181,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.woo,\n contractAddress: '0x3C7234c496d76133b48bD6A342E7aEa4f8d87fC8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0003854',\n },\n {\n sousId: 180,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.htb,\n contractAddress: '0x64473c33c360f315cAb38674F1633505d1d8dcb2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.2083',\n },\n {\n sousId: 179,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.jgn,\n contractAddress: '0x5cC7a19a50bE2A6b2540EbCd55Bd728E732e59C3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1001',\n },\n {\n sousId: 178,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dft,\n contractAddress: '0x2666E2494E742301fFC8026e476Acc1710a775Ed',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 177,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hai,\n contractAddress: '0x6ac2213F09A404c86AFf506Aa51B6a5BF1F6e24E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.3078',\n },\n {\n sousId: 176,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.o3,\n contractAddress: '0x35BD47263f7E57368Df76339903C53bAa99076e1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.107638',\n },\n {\n sousId: 175,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ampl,\n contractAddress: '0x62dEc3A560D2e8A84D30752bA454f97b26757877',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.398',\n },\n {\n sousId: 174,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oddz,\n contractAddress: '0x44D1F81e80E43e935d66d65874354eF91E5E49f6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4843',\n },\n {\n sousId: 173,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bondly,\n contractAddress: '0x4Ea43FCE546975aAe120C9eECeB172500BE4a02b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6741',\n },\n {\n sousId: 172,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.marsh,\n contractAddress: '0x567fd708e788e51b68666b9310Ee9dF163D60fAE',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1108',\n },\n {\n sousId: 171,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mbox,\n contractAddress: '0x36F9452083fC9bC469a31e7966B873F402292433',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4803',\n },\n {\n sousId: 170,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ata,\n contractAddress: '0xC612680457751D0D01B5d901AD08132a3B001900',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 169,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mx,\n contractAddress: '0x336bcd59f2B6Eb7221a99F7A50fd03c6bf9A306b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.27777',\n },\n {\n sousId: 168,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bcfx,\n contractAddress: '0x2b3974DDa76B2d408B7D680a27fbb0393E3CF0e1',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6944',\n },\n {\n sousId: 167,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.qkc,\n contractAddress: '0xFa67f97eEEE6De55d179eCAbBfE701F27D9A1Ed9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '15.9143',\n },\n {\n sousId: 166,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ktn,\n contractAddress: '0x48852322a185DC5Fc733ff8C8D7c6DCBd2B3b2A2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01215',\n },\n {\n sousId: 165,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mtrg,\n contractAddress: '0xf4D0F71698f58f221911515781B05E808a8635cB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05613',\n },\n {\n sousId: 164,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deprecated_tusd,\n contractAddress: '0x9DCeB1d92f7e0361d0766f3D98482424DF857654',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n },\n {\n sousId: 163,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.vrt,\n contractAddress: '0xB77F1425eC3A7C78b1A1E892f72332C8b5e8FFcb',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '40.5092',\n },\n {\n sousId: 162,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kalm,\n contractAddress: '0xB9FF4dA0954B300542E722097671EaD8cf337C17',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0868',\n },\n {\n sousId: 161,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ez,\n contractAddress: '0xB19395702460261e51Edf7A7B130109c64f13AF9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01736',\n },\n {\n sousId: 160,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kalm,\n contractAddress: '0x6E113ecB9Ff2d271140f124C2CC5b5e4B5700c9f',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00868',\n },\n {\n sousId: 159,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.popen,\n contractAddress: '0x7Baf1763CE5d0Da8c9d85927F08a8be9c481ce50',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.19097',\n },\n {\n sousId: 158,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lien,\n contractAddress: '0x2b8d6C9C62bFc1BeD84724165D3000e61D332caB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.023148',\n },\n {\n sousId: 157,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.well,\n contractAddress: '0x8a06ff2748eDCBa3FB4e44a6bfDA4e46769e557b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2025',\n },\n {\n sousId: 156,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.deri,\n contractAddress: '0x3eba95F5493349bbe0CaD33EAAe05DC6a7E26b90',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.6087',\n },\n {\n sousId: 155,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.chr,\n contractAddress: '0x593EDbD14A5B7eEc828336ACCCA9C16CC12F04be',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.655',\n },\n {\n sousId: 154,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cyc,\n contractAddress: '0xD714738837944C3c592477249E8edB724A76e068',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00015914',\n },\n {\n sousId: 153,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xend,\n contractAddress: '0x8EA9f2482B2f7b12744a831F81F8d08714adc093',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.31828',\n },\n {\n sousId: 152,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hget,\n contractAddress: '0x8E8125f871eb5bA9D55361365F5391Ab437f9acc',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.03553',\n },\n {\n sousId: 151,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hotcross,\n contractAddress: '0x0E09205E993f78cd5B3A5df355Ae98eE7D0b5834',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n },\n {\n sousId: 150,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.rfox,\n contractAddress: '0xF9F00d41b1f4b3c531ff750a9b986C1a530F33d9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.7361',\n },\n {\n sousId: 149,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wmass,\n contractAddress: '0x4Af531EcD50167a9402Ce921ee6436dd4cFC04FD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.24942',\n },\n {\n sousId: 148,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ubxt,\n contractAddress: '0x9B4BaC2d8F69853Aa29cb45478C77FC54532aC22',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.4074',\n },\n {\n sousId: 147,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.btr,\n contractAddress: '0x20EE70a07ae1B475cB150dEC27930D97915726Ea',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.8935',\n },\n {\n sousId: 146,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.τdoge,\n contractAddress: '0x017556dFFb8C6a52Fd7F4788aDF6fb339309C81B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.868',\n },\n {\n sousId: 145,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pmon,\n contractAddress: '0xDaa711ecf2Ac0BFf5C82fCEEAE96d0008791cC49',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01261',\n },\n {\n sousId: 144,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.one,\n contractAddress: '0x74AF842ecD0B6588ADd455A47aa21ED9bA794108',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '57.87',\n },\n {\n sousId: 143,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.fine,\n contractAddress: '0x42D41749d6e9a1c5b47e27F690D4531f181B2159',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1342',\n },\n {\n sousId: 142,\n stakingToken: bscTokens.doge,\n earningToken: bscTokens.cake,\n contractAddress: '0xBEbD44824631b55991Fa5f2bf5c7a4ec96ff805B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01388',\n },\n {\n sousId: 141,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bmxx,\n contractAddress: '0x55131f330c886E3f0CaE389CeDb23766aC9aA3ED',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01331',\n },\n {\n sousId: 140,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oin,\n contractAddress: '0x01453A74a94687Fa3f99b80762435855a13664f4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n },\n {\n sousId: 139,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hyfi,\n contractAddress: '0x0032CeB978FE5FC8A5D5D6f5ADfc005e76397E29',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.8935',\n },\n {\n sousId: 138,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.kun,\n contractAddress: '0x439B46D467402CEbC1a2FA05038B5b696B1f4417',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.23148',\n },\n {\n sousId: 137,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.math,\n contractAddress: '0x377AE5f933AA4CfA41fA03E2CAE8a2BEFCCF53B2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.15798',\n },\n {\n sousId: 136,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ust,\n contractAddress: '0xce3EbaC3F549ebf1A174A6aC3b390c179422B5f6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.17361',\n },\n {\n sousId: 135,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.win,\n contractAddress: '0xD26DEc254C699935c286CD90E9841DCABF1aF72d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '462.96',\n },\n {\n sousId: 134,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trx,\n contractAddress: '0x93E2867D9b74341C2D19101b7Fbb81d6063CcA4d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '4.0509',\n },\n {\n sousId: 133,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bttold,\n contractAddress: '0x3b644e44033cFF70BD6b771904225f3dd69DFb6d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '79.86',\n },\n {\n sousId: 132,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lmt,\n contractAddress: '0x0A687D7b951348D681f7Ed5Eea84C0Ba7b9566dC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.66145',\n },\n {\n sousId: 131,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pnt,\n contractAddress: '0x417df1c0e6A498eB1F2247F99032A01D4faFe922',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09548',\n },\n {\n sousId: 130,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xmark,\n contractAddress: '0xDC8943d806F9Dd64312D155284ABF780455fD345',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0298',\n },\n {\n sousId: 129,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0xa90a894e5Bc20aB2bE46c7E033A38f8B8eaa771A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4861',\n isFinished: true,\n },\n {\n sousId: 128,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hakka,\n contractAddress: '0x34ac807E34e534Fe426Da1E11F816422774AAe1C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n },\n {\n sousId: 127,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pbtc,\n contractAddress: '0x31FA2F516b77c4273168b284AC6D9def5AA6DaFb',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0000031',\n },\n {\n sousId: 126,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lien,\n contractAddress: '0x7112f8988f075C7784666ab071927AE4109a8076',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.003472',\n },\n {\n sousId: 125,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bbadger,\n contractAddress: '0x126dfBcef85c5Bf335F8BE99CA4006037f417892',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00265278',\n },\n {\n sousId: 124,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bdigg,\n contractAddress: '0x4F0AD2332B1F9983E8F63Cbee617523Bb7de5031',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000403',\n },\n {\n sousId: 123,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bondly,\n contractAddress: '0x9483ca44324dE06802576866b9D296f7614f45Ac',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4629',\n },\n {\n sousId: 122,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xed,\n contractAddress: '0x72ceec6E2A142678E703aB0710DE78bc819F4cE0',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n },\n {\n sousId: 121,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cgg,\n contractAddress: '0x1C6eD21D3313822ae73ed0d94811FfbBE543f341',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.10918',\n },\n {\n sousId: 120,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.perl,\n contractAddress: '0x1aC0d0333640F57327c83053C581340ebC829E30',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n },\n {\n sousId: 119,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arpa,\n contractAddress: '0xC707e5589aeb1dC117B0BB5A3622362F1812D4fc',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.949',\n },\n {\n sousId: 118,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oddz,\n contractAddress: '0x22106cdCF9787969e1672d8E6A9C03A889CdA9c5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.11284',\n },\n {\n sousId: 117,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dexe,\n contractAddress: '0x999B86E8BBA3D4F05afB8155963999db70aFA97F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009837',\n isFinished: true,\n },\n {\n sousId: 116,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dfd,\n contractAddress: '0xAF3EfE5fCEeBc603Eada6A2b0172be11f7405102',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.46296',\n },\n {\n sousId: 115,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.alpaca,\n contractAddress: '0xF73FdEB26a8C7a4Abf3809d3DB11a06ba5c13D0e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.22743',\n },\n {\n sousId: 114,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.τbtc,\n contractAddress: '0xAaC7171afC93f4b75e1268d208040B152ac65E32',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000608',\n },\n {\n sousId: 113,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.τbtc,\n contractAddress: '0x2c6017269B4324D016ca5d8e3267368652c18905',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000608',\n isFinished: true,\n },\n {\n sousId: 112,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swingby,\n contractAddress: '0x675434C68F2672c983e36cF10Ed13a4014720B79',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.21527',\n },\n {\n sousId: 111,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xed,\n contractAddress: '0x05d6C2d1d687eACfb5E6440d5a3511E91F2201A8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 110,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hakka,\n contractAddress: '0xD623a32da4A632Ce01766C317D07Cb2CAD56949B',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.4722',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 109,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cgg,\n contractAddress: '0xdF75f38DBC98F9F26377414e567aBcb8D57CCa33',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.10918',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 108,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mix,\n contractAddress: '0xce64A930884B2c68CD93FC1C7c7Cdc221D427692',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3721',\n },\n {\n sousId: 107,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.suter,\n contractAddress: '0xc1E70edd0141c454b834Deac7ddDeA413424aEf9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '15.3356',\n },\n {\n sousId: 106,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.broobee,\n contractAddress: '0x189d8228CdfDc404Bd9e5bD65ff958cb5fd8855c',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '14.4675',\n },\n {\n sousId: 105,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hzn,\n contractAddress: '0x0196c582216e2463f052E2B07Ef8667Bec9Fb17a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6944',\n },\n {\n sousId: 104,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.alpa,\n contractAddress: '0x8f84106286c9c8A42bc3555C835E6e2090684ab7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.23495',\n },\n {\n sousId: 103,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.perl,\n contractAddress: '0xa8d32b31ECB5142f067548Bf0424389eE98FaF26',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 102,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tlm,\n contractAddress: '0xC59aa49aE508050c2dF653E77bE13822fFf02E9A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '17.361',\n },\n {\n sousId: 101,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.jgn,\n contractAddress: '0x14AeA62384789EDA98f444cCb970F6730877d3F9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.08796',\n },\n {\n sousId: 100,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.eps,\n contractAddress: '0xebb87dF24D65977cbe62538E4B3cFBD5d0308642',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.07716',\n },\n {\n sousId: 99,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.arpa,\n contractAddress: '0x40918EF8efFF4aA061656013a81E0e5A8A702eA7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.949',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 98,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.itam,\n contractAddress: '0x44eC1B26035865D9A7C130fD872670CD7Ebac2bC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.096',\n },\n {\n sousId: 97,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bondly,\n contractAddress: '0x1329ad151dE6C441184E32E108401126AE850937',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4629',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 96,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tko,\n contractAddress: '0x9bbDc92474a7e7321B78dcDA5EF35f4981438760',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.1574',\n },\n {\n sousId: 95,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.apys,\n contractAddress: '0x46530d79b238f809e80313e73715b160c66677aF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.09953',\n },\n {\n sousId: 94,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hoo,\n contractAddress: '0x47fD853D5baD391899172892F91FAa6d0cd8A2Aa',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.489',\n },\n {\n sousId: 93,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.oddz,\n contractAddress: '0xe25aB6F05BBF6C1be953BF2d7df15B3e01b8e5a5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.11284',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 92,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.easy,\n contractAddress: '0xEB8Fd597921E3Dd37B0F103a2625F855e2C9b9B5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0072338',\n },\n {\n sousId: 91,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nrv,\n contractAddress: '0xABFd8d1942628124aB971937154f826Bce86DcbC',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.15046',\n },\n {\n sousId: 90,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dego,\n contractAddress: '0x526d3c204255f807C95a99b69596f2f9f72345e5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00405',\n },\n {\n sousId: 89,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.gum,\n contractAddress: '0xAa2082BeE04fc518300ec673F9497ffa6F669dB8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.08912',\n },\n {\n sousId: 88,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pbtc,\n contractAddress: '0x9096625Bc0d36F5EDa6d44e511641667d89C28f4',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0000031',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 87,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dft,\n contractAddress: '0x78BD4dB48F8983c3C36C8EAFbEF38f6aC7B55285',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6811',\n },\n {\n sousId: 86,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swth,\n contractAddress: '0x35418e14F5aA615C4f020eFBa6e01C5DbF15AdD2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.3148',\n },\n {\n sousId: 85,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lien,\n contractAddress: '0x3c7cC49a35942fbD3C2ad428a6c22490cd709d03',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.003472',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 84,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zil,\n contractAddress: '0xF795739737ABcFE0273f4Dced076460fdD024Dd9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '1.0995',\n },\n {\n sousId: 83,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.pcws,\n contractAddress: '0x06FF8960F7F4aE572A3f57FAe77B2882BE94Bf90',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00434',\n },\n {\n sousId: 82,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bbadger,\n contractAddress: '0xe4dD0C50fb314A8B2e84D211546F5B57eDd7c2b9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00265278',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 81,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bdigg,\n contractAddress: '0xb627A7e33Db571bE792B0b69c5C2f5a8160d5500',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00000403',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 80,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lto,\n contractAddress: '0xadBfFA25594AF8Bc421ecaDF54D057236a99781e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2893',\n },\n {\n sousId: 79,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mir,\n contractAddress: '0x3e31488f08EBcE6F2D8a2AA512aeFa49a3C7dFa7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01273',\n },\n {\n sousId: 78,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.mir,\n contractAddress: '0x453a75908fb5A36D482D5F8fe88ECA836f32eAd5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01273',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 77,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.trade,\n contractAddress: '0x509C99D73FB54b2c20689708b3F824147292D38e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4484',\n },\n {\n sousId: 76,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dusk,\n contractAddress: '0xF1bd5673Ea4a1C415ec84fa3E402F2F7788E7717',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4629',\n },\n {\n sousId: 75,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bifi,\n contractAddress: '0xB4C68A1C565298834360BbFF1652284275120D47',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00007234',\n },\n {\n sousId: 74,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.txl,\n contractAddress: '0x153e62257F1AAe05d5d253a670Ca7585c8D3F94F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.434027',\n },\n {\n sousId: 73,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.cos,\n contractAddress: '0xF682D186168b4114ffDbF1291F19429310727151',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5.787',\n },\n {\n sousId: 72,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bunny,\n contractAddress: '0xaDdAE5f4dB84847ac9d947AED1304A8e7D19f7cA',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00289',\n },\n {\n sousId: 71,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.alice,\n contractAddress: '0x4C32048628D0d32d4D6c52662FB4A92747782B56',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.14467',\n },\n {\n sousId: 70,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.for,\n contractAddress: '0x47642101e8D8578C42765d7AbcFd0bA31868c523',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '2.8935',\n },\n {\n sousId: 69,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bux,\n contractAddress: '0x07F8217c68ed9b838b0b8B58C19c79bACE746e9A',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5787',\n },\n {\n sousId: 68,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nuls,\n contractAddress: '0x580DC9bB9260A922E3A4355b9119dB990F09410d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0868',\n },\n {\n sousId: 67,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.belt,\n contractAddress: '0x6f0037d158eD1AeE395e1c12d21aE8583842F472',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00868',\n isFinished: true,\n },\n {\n sousId: 66,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ramp,\n contractAddress: '0x423382f989C6C289c8D441000e1045e231bd7d90',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4861',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 65,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bfi,\n contractAddress: '0x0A595623b58dFDe6eB468b613C11A7A8E84F09b9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0001157',\n },\n {\n sousId: 64,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dexe,\n contractAddress: '0x9E6dA246d369a41DC44673ce658966cAf487f7b2',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.009837',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 63,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bel,\n contractAddress: '0x2C0f449387b15793B9da27c2d945dBed83ab1B07',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0549',\n },\n {\n sousId: 62,\n stakingToken: bscTokens.tpt,\n earningToken: bscTokens.cake,\n contractAddress: '0x0c3D6892aa3b23811Af3bd1bbeA8b0740E8e4528',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0462',\n isFinished: true,\n },\n {\n sousId: 61,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.tpt,\n contractAddress: '0x75C91844c5383A68b7d3A427A44C32E3ba66Fe45',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '3.616',\n isFinished: true,\n },\n {\n sousId: 60,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.watch,\n contractAddress: '0xC58954199E268505fa3D3Cb0A00b7207af8C2D1d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.3472',\n isFinished: true,\n },\n {\n sousId: 59,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.xmark,\n contractAddress: '0xA5137e08C48167E363Be8Ec42A68f4F54330964E',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0413',\n isFinished: true,\n },\n {\n sousId: 58,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bmxx,\n contractAddress: '0x6F31B87f51654424Ce57E9F8243E27ed13846CDB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.00248',\n isFinished: true,\n },\n {\n sousId: 57,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.iotx,\n contractAddress: '0xCE54BA909d23B9d4BE0Ff0d84e5aE83F0ADD8D9a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '6.365',\n isFinished: true,\n },\n {\n sousId: 56,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bor,\n contractAddress: '0x3e677dC00668d69c2A7724b9AFA7363e8A56994e',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.000395',\n isFinished: true,\n },\n {\n sousId: 55,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bopen,\n contractAddress: '0x5Ac8406498dC1921735d559CeC271bEd23B294A7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0723',\n isFinished: true,\n },\n {\n sousId: 54,\n stakingToken: bscTokens.sushi,\n earningToken: bscTokens.cake,\n contractAddress: '0xb69b6e390cba1F68442A886bC89E955048DAe7E3',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0367',\n isFinished: true,\n },\n {\n sousId: 53,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.dodo,\n contractAddress: '0xae3001ddb18A6A57BEC2C19D71680437CA87bA1D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0578',\n isFinished: true,\n },\n {\n sousId: 52,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swingby,\n contractAddress: '0x02aa767e855b8e80506fb47176202aA58A95315a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.13',\n isFinished: true,\n },\n {\n sousId: 51,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bry,\n contractAddress: '0x1c736F4FB20C7742Ee83a4099fE92abA61dFca41',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1157',\n isFinished: true,\n },\n {\n sousId: 50,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.zee,\n contractAddress: '0x02861B607a5E87daf3FD6ec19DFB715F1b371379',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1736',\n isFinished: true,\n },\n {\n sousId: 49,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.swgb,\n contractAddress: '0x73e4E8d010289267dEe3d1Fc48974B60363963CE',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.899',\n isFinished: true,\n },\n {\n sousId: 48,\n stakingToken: bscTokens.comp,\n earningToken: bscTokens.cake,\n contractAddress: '0xE0565fBb109A3f3f8097D8A9D931277bfd795072',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.055',\n isFinished: true,\n },\n {\n sousId: 47,\n stakingToken: bscTokens.comp,\n earningToken: bscTokens.cake,\n contractAddress: '0xc3693e3cbc3514d5d07EA5b27A721F184F617900',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.55',\n isFinished: true,\n },\n {\n sousId: 46,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.sfp,\n contractAddress: '0x2B02d43967765b18E31a9621da640588f3550EFD',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6',\n isFinished: true,\n },\n {\n sousId: 45,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lina,\n contractAddress: '0x212bb602418C399c29D52C55100fD6bBa12bea05',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.983',\n isFinished: true,\n },\n {\n sousId: 44,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lina,\n contractAddress: '0x04aE8ca68A116278026fB721c06dCe709eD7013C',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0983',\n isFinished: true,\n },\n {\n sousId: 43,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.lit,\n contractAddress: '0x1714bAAE9DD4738CDEA07756427FA8d4F08D9479',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.231',\n isFinished: true,\n },\n {\n sousId: 42,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hget,\n contractAddress: '0xcCD0b93cC6ce3dC6dFaA9DB68f70e5C8455aC5bd',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0138',\n isFinished: true,\n },\n {\n sousId: 41,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bdo,\n contractAddress: '0x9cB24e9460351bC51d4066BC6AEd1F3809b02B78',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.075',\n isFinished: true,\n },\n {\n sousId: 40,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.egld,\n contractAddress: '0x2dcf4cDFf4Dd954683Fe0a6123077f8a025b66cF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.001215',\n isFinished: true,\n },\n {\n sousId: 39,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ust,\n contractAddress: '0x6EFa207ACdE6e1caB77c1322CbdE9628929ba88F',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.1157',\n isFinished: true,\n },\n {\n sousId: 38,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.wsote,\n contractAddress: '0xD0b738eC507571176D40f28bd56a0120E375f73a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.23',\n isFinished: true,\n },\n {\n sousId: 37,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.front,\n contractAddress: '0xf7a31366732F08E8e6B88519dC3E827e04616Fc9',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.2546',\n isFinished: true,\n },\n {\n sousId: 36,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.helmet,\n contractAddress: '0x9F23658D5f4CEd69282395089B0f8E4dB85C6e79',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.81',\n isFinished: true,\n },\n {\n sousId: 35,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.btcst,\n contractAddress: '0xB6fd2724cc9c90DD31DA35DbDf0300009dceF97d',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.011574',\n isFinished: true,\n },\n {\n sousId: 34,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bscx,\n contractAddress: '0x108BFE84Ca8BCe0741998cb0F60d313823cEC143',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.17361',\n isFinished: true,\n },\n {\n sousId: 33,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ten,\n contractAddress: '0x4A26b082B432B060B1b00A84eE4E823F04a6f69a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.05787',\n isFinished: true,\n },\n {\n sousId: 32,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.balbt,\n contractAddress: '0x3cc08B7C6A31739CfEd9d8d38b484FDb245C79c8',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.4166',\n isFinished: true,\n },\n {\n sousId: 31,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.asr,\n contractAddress: '0xd18E1AEb349ef0a6727eCe54597D98D263e05CAB',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: true,\n },\n {\n sousId: 30,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.atm,\n contractAddress: '0x68C7d180bD8F7086D91E65A422c59514e4aFD638',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: true,\n },\n {\n sousId: 29,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.og,\n contractAddress: '0xbE65d7e42E05aD2c4ad28769dc9c5b4b6EAff2C7',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: true,\n },\n {\n sousId: 28,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.reef,\n contractAddress: '0x1500fA1AFBFE4f4277ED0345cdf12b2C9cA7e139',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '115.74',\n isFinished: true,\n },\n {\n sousId: 27,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ditto,\n contractAddress: '0x624ef5C2C6080Af188AF96ee5B3160Bb28bb3E02',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01157',\n },\n {\n sousId: 26,\n stakingToken: bscTokens.twt,\n earningToken: bscTokens.cake,\n contractAddress: '0x0554a5D083Abf2f056ae3F6029e1714B9A655174',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.248',\n isFinished: true,\n },\n {\n sousId: 24,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.juv,\n contractAddress: '0x543467B17cA5De50c8BF7285107A36785Ab57E56',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02',\n isFinished: true,\n },\n {\n sousId: 25,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.psg,\n contractAddress: '0x65aFEAFaec49F23159e897EFBDCe19D94A86A1B6',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02',\n isFinished: true,\n },\n {\n sousId: 21,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.vai,\n contractAddress: '0x1AD34D8d4D79ddE88c9B6b8490F8fC67831f2CAe',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.104',\n isFinished: true,\n },\n {\n sousId: 20,\n stakingToken: bscTokens.bnb,\n earningToken: bscTokens.cake,\n contractAddress: '0x555Ea72d7347E82C614C16f005fA91cAf06DCB5a',\n poolCategory: PoolCategory.BINANCE,\n tokenPerBlock: '0.5',\n isFinished: true,\n },\n {\n sousId: 19,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.bnb,\n contractAddress: '0x326D754c64329aD7cb35744770D56D0E1f3B3124',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.0041',\n isFinished: true,\n },\n {\n sousId: 18,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.blink,\n contractAddress: '0x42Afc29b2dEa792974d1e9420696870f1Ca6d18b',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '23.14',\n isFinished: true,\n },\n {\n sousId: 17,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.blink,\n contractAddress: '0xBb2B66a2c7C2fFFB06EA60BeaD69741b3f5BF831',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '23.14',\n isFinished: true,\n enableEmergencyWithdraw: true,\n },\n {\n sousId: 16,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.unfi,\n contractAddress: '0xFb1088Dae0f03C5123587d2babb3F307831E6367',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.02893',\n isFinished: true,\n },\n {\n sousId: 15,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.twt,\n contractAddress: '0x9c4EBADa591FFeC4124A7785CAbCfb7068fED2fb',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '5',\n isFinished: true,\n },\n {\n sousId: 14,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.hard,\n contractAddress: '0x90F995b9d46b32c4a1908A8c6D0122e392B3Be97',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.346',\n isFinished: true,\n },\n {\n sousId: 13,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.broobee,\n contractAddress: '0xdc8c45b7F3747Ca9CaAEB3fa5e0b5FCE9430646b',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '12.5',\n isFinished: true,\n },\n {\n sousId: 12,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.stax,\n contractAddress: '0xFF02241a2A1d2a7088A344309400E9fE74772815',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '0.2',\n isFinished: true,\n },\n {\n sousId: 11,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nar,\n contractAddress: '0xDc938BA1967b06d666dA79A7B1E31a8697D1565E',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '1',\n isFinished: true,\n },\n {\n sousId: 10,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.nya,\n contractAddress: '0x07a0A5B67136d40F4d7d95Bc8e0583bafD7A81b9',\n poolCategory: PoolCategory.COMMUNITY,\n tokenPerBlock: '10',\n isFinished: true,\n },\n {\n sousId: 9,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ctk,\n contractAddress: '0x21A9A53936E812Da06B7623802DEc9A1f94ED23a',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.5',\n isFinished: true,\n },\n {\n sousId: 8,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.twt,\n contractAddress: '0xe7f9A439Aa7292719aC817798DDd1c4D35934aAF',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '20',\n isFinished: true,\n },\n {\n sousId: 7,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.inj,\n contractAddress: '0xcec2671C81a0Ecf7F8Ee796EFa6DBDc5Cb062693',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.25',\n isFinished: true,\n },\n {\n sousId: 248,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ccar,\n contractAddress: '0x9e31aef040941E67356519f44bcA07c5f82215e5',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.6093',\n },\n {\n sousId: 262,\n stakingToken: bscTokens.cake,\n earningToken: bscTokens.ach,\n contractAddress: '0xD5668e936B951292Ddf8c84553CC58F85948F816',\n poolCategory: PoolCategory.CORE,\n\n enableEmergencyWithdraw: true,\n tokenPerBlock: '7.502',\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { bscTestnetTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 0,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.cake2,\n contractAddress: '0xf6B427A2Df6E24600e3e3c62634B7c478826619D',\n poolCategory: PoolCategory.CORE,\n tokenPerBlock: '0.01',\n isFinished: false,\n },\n {\n sousId: 1,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.mockA,\n contractAddress: '0xe7080E3afDfF2322080B5ba85700FE41287D864B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n },\n {\n sousId: 2,\n stakingToken: bscTestnetTokens.mockA,\n earningToken: bscTestnetTokens.mockB,\n contractAddress: '0x31a069925fB770202b302C7911AF1ACBe0395420',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n },\n {\n sousId: 3,\n stakingToken: bscTestnetTokens.wbnb,\n earningToken: bscTestnetTokens.cake2,\n contractAddress: '0x550d3a43D5CB57E70dD1F53699CEaA0f371ADbBb',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n },\n {\n sousId: 5,\n stakingToken: bscTestnetTokens.msix,\n earningToken: bscTestnetTokens.cake2,\n contractAddress: '0xf45c9e61318006Dc31CA4993b8ab75E611fe0792',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.0001',\n },\n {\n sousId: 6,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.msix,\n contractAddress: '0xeB019927EB2d79b6A03B728a6f7A9020f3e2E25f',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '1',\n },\n {\n sousId: 7,\n stakingToken: bscTestnetTokens.cake2,\n earningToken: bscTestnetTokens.msix,\n contractAddress: '0xd41F619f2f2E91F77054877Ed1a47661f290d19e',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.1',\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress, 97),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { arbitrumTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 3,\n stakingToken: arbitrumTokens.alp,\n earningToken: arbitrumTokens.cake,\n contractAddress: '0x85146C0c5968d9640121eebd13030c99298f87b3',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.00615',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 2,\n stakingToken: arbitrumTokens.alp,\n earningToken: arbitrumTokens.cake,\n contractAddress: '0x0639c5715EC308E16f089c96C0C109302d76FA81',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01177',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: arbitrumTokens.alp,\n earningToken: arbitrumTokens.cake,\n contractAddress: '0x3dBdE2682330105902fb482d9849C270aa8E0881',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01135',\n version: 3,\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { arbitrumGoerliTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 5,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0x291f459243621E7d7c83a67644D87022F1FC39F5',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 4,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0xbA17c9f21bDea078c54F263a8cc63227F28EBfF8',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0xdDa7E82fF3c7b308c7f91a7080e474e41173F7f1',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 2,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0x4aB4ec9EC094E6042E822A73Cd3979A946280E56',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: arbitrumGoerliTokens.cake,\n earningToken: arbitrumGoerliTokens.mockA,\n contractAddress: '0x5b37404299Ef7DCABA32B00A8f36f0F43eC28E92',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { zksyncTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n// .map((p) => ({\n// ...p,\n// contractAddress: getAddress(p.contractAddress),\n// stakingToken: p.stakingToken.serialize,\n// earningToken: p.earningToken.serialize,\n// }))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = [\n {\n sousId: 1,\n stakingToken: zksyncTokens.cake,\n earningToken: zksyncTokens.tes,\n contractAddress: '0xedB2E9eB4fc47d57c08B387775e09E5fC9e21EBE',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.02546',\n version: 3,\n },\n].map((p) => ({\n ...p,\n isFinished: true,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { zkSyncTestnetTokens } from '@pancakeswap/tokens'\nimport { getAddress } from 'viem'\n\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x4BDFF8A608be623077E54F6916761f631e87D884',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x926E99bad2BC7dA5c0880f0bebD7f448Be86562B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x5F7Cc0C5E3FC6e26bC98d392fa3516D4F33Df8aD',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: zkSyncTestnetTokens.cake,\n earningToken: zkSyncTestnetTokens.mock,\n contractAddress: '0x455d2eBbfb172CDba2D499cAf36cBbF5366F976D',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { getAddress } from 'viem'\nimport { baseTestnetTokens } from '@pancakeswap/tokens'\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0x55F8912596F06453466e208e79AB808328146d06',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0xE61a1065B740a61950E08C073833B85D3362f48B',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0xF9991a0e33115c1B7e0690109115747ab5C48D9E',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: baseTestnetTokens.cake,\n earningToken: baseTestnetTokens.mockA,\n contractAddress: '0x35DB927618560B8878543ea0019A8E664581ADb5',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { getAddress } from 'viem'\nimport { lineaTestnetTokens } from '@pancakeswap/tokens'\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0x5d4A2dCefA1B6D5031f57a05651F0b49f4E0eC74',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0xa014641f932E8b7985Ffd6F722DfE6995bbA15aF',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0x4dc9C14A5542f3D0544a6c11d717AD04A70afF8C',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: lineaTestnetTokens.cake,\n earningToken: lineaTestnetTokens.mockA,\n contractAddress: '0x30669C960b90Eb71DB4173D8b5069ca83CD2d400',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = []\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { getAddress } from 'viem'\nimport { polygonZkEvmTestnetTokens } from '@pancakeswap/tokens'\nimport { PoolCategory, SerializedPool } from '../../types'\n\nexport const livePools: SerializedPool[] = [\n {\n sousId: 4,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0x6e9Cf632243070984A44743d9009CD48cb232F83',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 3,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0x6C9ffC1FE0f6aD00eeedbF99384E60517CA3E706',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 2,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0x452ED06e65aF886Ff778E9aF319fdC0ffaFA9d85',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n {\n sousId: 1,\n stakingToken: polygonZkEvmTestnetTokens.cake,\n earningToken: polygonZkEvmTestnetTokens.mockA,\n contractAddress: '0xd6bF7f0C9B1A19A7124625ECF7d6Db8b5610444A',\n poolCategory: PoolCategory.CORE,\n tokenPerSecond: '0.01',\n version: 3,\n },\n].map((p) => ({\n ...p,\n contractAddress: getAddress(p.contractAddress),\n stakingToken: p.stakingToken.serialize,\n earningToken: p.earningToken.serialize,\n}))\n\n// known finished pools\nexport const finishedPools: SerializedPool[] = []\n\nexport const pools: SerializedPool[] = [...livePools, ...finishedPools]\n","import { ChainId } from '@pancakeswap/chains'\n\nexport const SUPPORTED_CHAIN_IDS = [\n ChainId.BSC,\n ChainId.BSC_TESTNET,\n ChainId.ETHEREUM,\n ChainId.ARBITRUM_ONE,\n ChainId.ARBITRUM_GOERLI,\n ChainId.ZKSYNC,\n ChainId.ZKSYNC_TESTNET,\n ChainId.LINEA_TESTNET,\n ChainId.BASE_TESTNET,\n ChainId.POLYGON_ZKEVM_TESTNET,\n] as const\n\nexport type SupportedChainId = (typeof SUPPORTED_CHAIN_IDS)[number]\n\nexport const CAKE_VAULT_SUPPORTED_CHAINS = [ChainId.BSC, ChainId.BSC_TESTNET] as const\n\nexport type CakeVaultSupportedChainId = (typeof CAKE_VAULT_SUPPORTED_CHAINS)[number]\n","import { ChainId } from '@pancakeswap/chains'\n\nimport {\n SupportedChainId,\n SUPPORTED_CHAIN_IDS,\n CakeVaultSupportedChainId,\n CAKE_VAULT_SUPPORTED_CHAINS,\n} from '../constants/supportedChains'\n\nexport function isPoolsSupported(chainId: number): chainId is SupportedChainId {\n return SUPPORTED_CHAIN_IDS.includes(chainId)\n}\n\nexport function isCakeVaultSupported(chainId?: ChainId): chainId is CakeVaultSupportedChainId {\n return !!chainId && (CAKE_VAULT_SUPPORTED_CHAINS as readonly ChainId[]).includes(chainId)\n}\n","import { ChainId } from '@pancakeswap/chains'\nimport { arbBoostedPools } from './arb'\nimport { BoosterConfig } from '../../utils/boosted/types'\n\nexport type BoostedPoolsConfigByChain<TChainId extends ChainId> = {\n [chainId in TChainId]?: BoosterConfig[]\n}\n\nexport const BOOSTED_POOLS_CONFIG_BY_CHAIN = {\n [ChainId.ARBITRUM_ONE]: arbBoostedPools,\n} as BoostedPoolsConfigByChain<ChainId>\n\nexport const getBoostedPoolsConfig = (chainId: ChainId) => {\n return BOOSTED_POOLS_CONFIG_BY_CHAIN[chainId]\n}\n\nexport const getBoostedPoolConfig = (chainId: ChainId, contractAddress: string): BoosterConfig | undefined => {\n const pool = getBoostedPoolsConfig(chainId)\n return pool?.find((i) => i?.contractAddress?.toLowerCase() === contractAddress.toLowerCase())\n}\n","import { BoosterConfig, BoosterType } from '../../utils/boosted/types'\n\nexport const arbBoostedPools: BoosterConfig[] = [\n {\n boosterType: BoosterType.ALP,\n contractAddress: '0x85146C0c5968d9640121eebd13030c99298f87b3',\n tooltipsText:\n 'Fee APY include the transaction fees shared in the ALP pool, funding rates for positions held, and liquidation income, and will be reflected in the growth of the ALP price. Stake APY is the return for staking ALP. Both Annualized using compound interest, for reference purposes only.',\n },\n]\n","import { ChainId } from '@pancakeswap/chains'\nimport { Address } from 'viem'\n\nimport { SupportedChainId } from './supportedChains'\n\nexport type ContractAddresses<T extends ChainId = SupportedChainId> = {\n [chainId in T]: Address\n}\n\nexport const ICAKE = {\n [ChainId.BSC]: '0x3C458828D1622F5f4d526eb0d24Da8C4Eb8F07b1',\n [ChainId.BSC_TESTNET]: '0x5FB0b7a782c2f192493d86922dD3873b6392C8e8',\n [ChainId.ETHEREUM]: '0x',\n [ChainId.ARBITRUM_ONE]: '0x',\n [ChainId.ARBITRUM_GOERLI]: '0x',\n [ChainId.ZKSYNC]: '0x',\n [ChainId.ZKSYNC_TESTNET]: '0x',\n [ChainId.BASE_TESTNET]: '0x',\n [ChainId.LINEA_TESTNET]: '0x',\n [ChainId.POLYGON_ZKEVM_TESTNET]: '0x',\n} as const satisfies ContractAddresses<SupportedChainId>\n\nexport const CAKE_VAULT = {\n [ChainId.BSC]: '0x45c54210128a065de780C4B0Df3d16664f7f859e',\n [ChainId.BSC_TESTNET]: '0x1088Fb24053F03802F673b84d16AE1A7023E400b',\n [ChainId.ETHEREUM]: '0x',\n [ChainId.ARBITRUM_ONE]: '0x',\n [ChainId.ARBITRUM_GOERLI]: '0x',\n [ChainId.ZKSYNC]: '0x',\n [ChainId.ZKSYNC_TESTNET]: '0x',\n [ChainId.BASE_TESTNET]: '0x',\n [ChainId.LINEA_TESTNET]: '0x',\n [ChainId.POLYGON_ZKEVM_TESTNET]: '0x',\n} as const satisfies ContractAddresses<SupportedChainId>\n\nexport const CAKE_FLEXIBLE_SIDE_VAULT = {\n [ChainId.BSC]: '0x615e896A8C2CA8470A2e9dc2E9552998f8658Ea0',\n [ChainId.BSC_TESTNET]: '0x',\n [ChainId.ETHEREUM]: '0x',\n [ChainId.ARBITRUM_ONE]: '0x',\n [ChainId.ARBITRUM_GOERLI]: '0x',\n [ChainId.ZKSYNC]: '0x',\n [ChainId.ZKSYNC_TESTNET]: '0x',\n [ChainId.BASE_TESTNET]: '0x',\n [ChainId.LINEA_TESTNET]: '0x',\n [ChainId.POLYGON_ZKEVM_TESTNET]: '0x',\n} as const satisfies ContractAddresses<SupportedChainId>\n","export * from './pools'\nexport * from './boostedPools'\nexport * from './contracts'\nexport * from './supportedChains'\n\nexport const BSC_BLOCK_TIME = 3\n\nexport const BLOCKS_PER_DAY = (60 / BSC_BLOCK_TIME) * 60 * 24\nexport const BLOCKS_PER_YEAR = BLOCKS_PER_DAY * 365 // 10512000\n\nexport const SECONDS_IN_YEAR = 31536000 // 365 * 24 * 60 * 60\n","import BigNumber from 'bignumber.js'\nimport fromPairs from 'lodash/fromPairs'\nimport chunk from 'lodash/chunk'\nimport { BIG_ZERO } from '@pancakeswap/utils/bigNumber'\nimport { ChainId } from '@pancakeswap/chains'\nimport { erc20ABI } from 'wagmi'\n\nimport { BSC_BLOCK_TIME, getPoolsConfig } from '../constants'\nimport { sousChefABI } from '../abis/ISousChef'\nimport { sousChefV2ABI } from '../abis/ISousChefV2'\nimport { smartChefABI } from '../abis/ISmartChef'\nimport { sousChefV3ABI } from '../abis/ISousChefV3'\nimport { LegacySerializedPool, OnChainProvider, UpgradedSerializedPool } from '../types'\nimport { isLegacyPool, isUpgradedPool } from '../utils'\n\nconst getLivePoolsWithEnd = async (chainId: ChainId) => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n return null\n }\n return poolsConfig.filter((p) => p.sousId !== 0 && !p.isFinished)\n}\n\nasync function fetchUpgradedPoolsTimeLimits(\n pools: UpgradedSerializedPool[],\n chainId: ChainId,\n provider: OnChainProvider,\n) {\n if (!pools.length) {\n return []\n }\n\n const calls = pools.flatMap(({ contractAddress }) => {\n return [\n {\n abi: smartChefABI,\n address: contractAddress,\n functionName: 'startTimestamp',\n },\n {\n abi: smartChefABI,\n address: contractAddress,\n functionName: 'endTimestamp',\n },\n ] as const\n })\n\n const client = provider({ chainId })\n const startEndRaw = await client.multicall({\n contracts: calls,\n allowFailure: false,\n })\n\n const startEndResult = startEndRaw.reduce<bigint[][]>((resultArray, item, index) => {\n const chunkIndex = Math.floor(index / 2)\n\n if (!resultArray[chunkIndex]) {\n // eslint-disable-next-line no-param-reassign\n resultArray[chunkIndex] = [] // start a new chunk\n }\n\n resultArray[chunkIndex].push(item)\n\n return resultArray\n }, [])\n\n return pools.map((cakePoolConfig, index) => {\n const [startTimestamp, endTimestamp] = startEndResult[index]\n return {\n sousId: cakePoolConfig.sousId,\n startTimestamp: Number(startTimestamp),\n endTimestamp: Number(endTimestamp),\n }\n })\n}\n\nconst fetchLegacyPoolsBlockLimits = async (\n pools: LegacySerializedPool[],\n chainId: ChainId,\n provider: OnChainProvider,\n) => {\n if (!pools.length) {\n return []\n }\n const startEndBlockCalls = pools.flatMap(({ contractAddress }) => {\n return [\n {\n abi: sousChefABI,\n address: contractAddress,\n functionName: 'startBlock',\n },\n {\n abi: sousChefABI,\n address: contractAddress,\n functionName: 'bonusEndBlock',\n },\n ] as const\n })\n\n const client = provider({ chainId })\n\n const [block, startEndBlockRaw] = await Promise.all([\n client.getBlock({ blockTag: 'latest' }),\n client.multicall({\n contracts: startEndBlockCalls,\n allowFailure: false,\n }),\n ])\n\n const startEndBlockResult = startEndBlockRaw.reduce<bigint[][]>((resultArray, item, index) => {\n const chunkIndex = Math.floor(index / 2)\n\n if (!resultArray[chunkIndex]) {\n // eslint-disable-next-line no-param-reassign\n resultArray[chunkIndex] = [] // start a new chunk\n }\n\n resultArray[chunkIndex].push(item)\n\n return resultArray\n }, [])\n\n const getTimestampFromBlock = (targetBlock: number) => {\n return Number(block.timestamp) + (targetBlock - Number(block.number)) * BSC_BLOCK_TIME\n }\n return pools.map((cakePoolConfig, index) => {\n const [startBlock, endBlock] = startEndBlockResult[index]\n return {\n sousId: cakePoolConfig.sousId,\n startTimestamp: getTimestampFromBlock(Number(startBlock)),\n endTimestamp: getTimestampFromBlock(Number(endBlock)),\n }\n })\n}\n\nexport const fetchPoolsTimeLimits = async (chainId: ChainId, provider: OnChainProvider) => {\n const livedPools = await getLivePoolsWithEnd(chainId)\n if (!livedPools) {\n return null\n }\n const upgradedPools = livedPools.filter(isUpgradedPool)\n const legacyPools = livedPools.filter(isLegacyPool)\n const [upgradePoolLimits, legacyPoolLimits] = await Promise.all([\n fetchUpgradedPoolsTimeLimits(upgradedPools, chainId, provider),\n fetchLegacyPoolsBlockLimits(legacyPools, chainId, provider),\n ])\n return [...upgradePoolLimits, ...legacyPoolLimits]\n}\n\nexport const fetchPoolsTotalStaking = async (chainId: ChainId, provider: OnChainProvider) => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n return null\n }\n const poolsBalanceOf = poolsConfig.map(({ contractAddress, stakingToken }) => {\n return {\n abi: erc20ABI,\n address: stakingToken.address,\n functionName: 'balanceOf',\n args: [contractAddress],\n } as const\n })\n\n const client = provider({ chainId })\n const poolsTotalStaked = await client.multicall({\n contracts: poolsBalanceOf,\n allowFailure: false,\n })\n\n return poolsConfig.map((p, index) => ({\n sousId: p.sousId,\n totalStaked: new BigNumber(poolsTotalStaked[index].toString()).toJSON(),\n }))\n}\n\ninterface FetchingPoolsStakingLimitsParams {\n poolsWithStakingLimit: number[]\n chainId: ChainId\n provider: OnChainProvider\n}\n\nexport const fetchPoolsStakingLimitsByBlock = async ({\n poolsWithStakingLimit,\n chainId,\n provider,\n}: FetchingPoolsStakingLimitsParams): Promise<{\n [key: string]: { stakingLimit: BigNumber; numberSecondsForUserLimit: number }\n}> => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`No pools found on chain ${chainId}`)\n }\n\n const validPools = poolsConfig\n .filter(isLegacyPool)\n .filter((p) => p.stakingToken.symbol !== 'BNB' && !p.isFinished)\n .filter((p) => !poolsWithStakingLimit.includes(p.sousId))\n\n // Get the staking limit for each valid pool\n const poolStakingCalls = validPools\n .map(({ contractAddress }) => {\n return (['hasUserLimit', 'poolLimitPerUser', 'numberBlocksForUserLimit'] as const).map(\n (method) =>\n ({\n address: contractAddress,\n functionName: method,\n abi: sousChefV2ABI,\n } as const),\n )\n })\n .flat()\n\n const client = provider({ chainId })\n\n const poolStakingResultRaw = await client.multicall({\n contracts: poolStakingCalls,\n allowFailure: true,\n })\n\n const chunkSize = poolStakingCalls.length / validPools.length\n const poolStakingChunkedResultRaw = chunk(poolStakingResultRaw.flat(), chunkSize)\n return fromPairs(\n poolStakingChunkedResultRaw.map((stakingLimitRaw, index) => {\n const hasUserLimit = stakingLimitRaw[0]?.result as boolean\n const stakingLimit =\n hasUserLimit && stakingLimitRaw[1].result ? new BigNumber(stakingLimitRaw[1].result.toString()) : BIG_ZERO\n const numberBlocksForUserLimit = stakingLimitRaw[2].result ? Number(stakingLimitRaw[2].result) : 0\n const numberSecondsForUserLimit = numberBlocksForUserLimit * BSC_BLOCK_TIME\n return [validPools[index].sousId, { stakingLimit, numberSecondsForUserLimit }]\n }),\n )\n}\n\nconst fetchPoolsStakingLimitsByTime = async ({\n poolsWithStakingLimit,\n chainId,\n provider,\n}: FetchingPoolsStakingLimitsParams): Promise<{\n [key: string]: { stakingLimit: BigNumber; numberSecondsForUserLimit: number }\n}> => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`No pools found on chain ${chainId}`)\n }\n\n const validPools = poolsConfig\n .filter(isUpgradedPool)\n .filter((p) => p.stakingToken.symbol !== 'BNB' && !p.isFinished)\n .filter((p) => !poolsWithStakingLimit.includes(p.sousId))\n\n // Get the staking limit for each valid pool\n const poolStakingCalls = validPools\n .map(({ contractAddress }) => {\n return (['hasUserLimit', 'poolLimitPerUser', 'numberSecondsForUserLimit'] as const).map(\n (method) =>\n ({\n abi: smartChefABI,\n address: contractAddress,\n functionName: method,\n } as const),\n )\n })\n .flat()\n\n const client = provider({ chainId })\n const poolStakingResultRaw = await client.multicall({\n contracts: poolStakingCalls,\n allowFailure: true,\n })\n const chunkSize = poolStakingCalls.length / validPools.length\n const poolStakingChunkedResultRaw = chunk(poolStakingResultRaw.flat(), chunkSize)\n return fromPairs(\n poolStakingChunkedResultRaw.map((stakingLimitRaw, index) => {\n const hasUserLimit = stakingLimitRaw[0].result\n const stakingLimit =\n hasUserLimit && stakingLimitRaw[1].result ? new BigNumber(stakingLimitRaw[1].result.toString()) : BIG_ZERO\n const numberSecondsForUserLimit = stakingLimitRaw[2].result ? Number(stakingLimitRaw[2].result) : 0\n return [validPools[index].sousId, { stakingLimit, numberSecondsForUserLimit }]\n }),\n )\n}\n\nexport const fetchPoolsStakingLimits = async (\n params: FetchingPoolsStakingLimitsParams,\n): Promise<{\n [key: string]: { stakingLimit: BigNumber; numberSecondsForUserLimit: number }\n}> => {\n const [limitsByTime, limitsByBlock] = await Promise.all([\n fetchPoolsStakingLimitsByTime(params),\n fetchPoolsStakingLimitsByBlock(params),\n ])\n return {\n ...limitsByTime,\n ...limitsByBlock,\n }\n}\n\nexport const fetchPoolsProfileRequirement = async (\n chainId: ChainId,\n provider: OnChainProvider,\n): Promise<{\n [key: string]: {\n required: boolean\n thresholdPoints: string\n }\n}> => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`No pools found on chain ${chainId}`)\n }\n\n const livePoolsWithV3 = poolsConfig.filter(\n (pool) => (isUpgradedPool(pool) || (isLegacyPool(pool) && pool?.version === 3)) && !pool?.isFinished,\n )\n const poolProfileRequireCalls = livePoolsWithV3\n .map(({ contractAddress }) => {\n return (['pancakeProfileIsRequested', 'pancakeProfileThresholdPoints'] as const).map(\n (method) =>\n ({\n abi: sousChefV3ABI,\n address: contractAddress,\n functionName: method,\n } as const),\n )\n })\n .flat()\n\n const client = provider({ chainId })\n const poolProfileRequireResultRaw = await client.multicall({\n contracts: poolProfileRequireCalls,\n })\n\n const chunkSize = poolProfileRequireCalls.length / livePoolsWithV3.length\n const poolStakingChunkedResultRaw = chunk(poolProfileRequireResultRaw.flat(), chunkSize)\n return fromPairs(\n poolStakingChunkedResultRaw.map((poolProfileRequireRaw, index) => {\n const hasProfileRequired = poolProfileRequireRaw[0].result\n const profileThresholdPoints = poolProfileRequireRaw[1].result\n ? new BigNumber(poolProfileRequireRaw[1].result.toString())\n : BIG_ZERO\n return [\n livePoolsWithV3[index].sousId,\n {\n required: !!hasProfileRequired,\n thresholdPoints: profileThresholdPoints.toJSON(),\n },\n ]\n }),\n )\n}\n","import BigNumber from 'bignumber.js'\n\nexport const BIG_ZERO = new BigNumber(0)\nexport const BIG_ONE = new BigNumber(1)\nexport const BIG_TWO = new BigNumber(2)\nexport const BIG_NINE = new BigNumber(9)\nexport const BIG_TEN = new BigNumber(10)\nexport const BIG_ONE_HUNDRED = new BigNumber(100)\n\nexport const bigIntToSerializedBigNumber = (bigint: bigint): string => bigIntToBigNumber(bigint).toJSON()\n\nexport const bigIntToBigNumber = (bigint: bigint): BigNumber => new BigNumber(bigint.toString())\n","export const sousChefABI = [\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [\n { internalType: 'uint256', name: '_from', type: 'uint256' },\n { internalType: 'uint256', name: '_to', type: 'uint256' },\n ],\n name: 'getMultiplier',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'massUpdatePools', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n name: 'poolInfo',\n outputs: [\n { internalType: 'contract IBEP20', name: 'lpToken', type: 'address' },\n { internalType: 'uint256', name: 'allocPoint', type: 'uint256' },\n { internalType: 'uint256', name: 'lastRewardBlock', type: 'uint256' },\n { internalType: 'uint256', name: 'accCakePerShare', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IBEP20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'stopReward', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'syrup',\n outputs: [{ internalType: 'contract IBEP20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_pid', type: 'uint256' }],\n name: 'updatePool',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","export const sousChefV2ABI = [\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'accTokenPerShare',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'emergencyWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'hasUserLimit',\n outputs: [\n {\n internalType: 'bool',\n name: '',\n type: 'bool',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastRewardBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'numberBlocksForUserLimit',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_user',\n type: 'address',\n },\n ],\n name: 'pendingReward',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolLimitPerUser',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_tokenAddress',\n type: 'address',\n },\n {\n internalType: 'uint256',\n name: '_tokenAmount',\n type: 'uint256',\n },\n ],\n name: 'recoverWrongTokens',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [\n {\n internalType: 'contract IBEP20',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stakedToken',\n outputs: [\n {\n internalType: 'contract IBEP20',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stopReward',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'newOwner',\n type: 'address',\n },\n ],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'bool',\n name: '_hasUserLimit',\n type: 'bool',\n },\n {\n internalType: 'uint256',\n name: '_poolLimitPerUser',\n type: 'uint256',\n },\n ],\n name: 'updatePoolLimitPerUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_rewardPerBlock',\n type: 'uint256',\n },\n ],\n name: 'updateRewardPerBlock',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_startBlock',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: '_bonusEndBlock',\n type: 'uint256',\n },\n ],\n name: 'updateStartAndEndBlocks',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n name: 'userInfo',\n outputs: [\n {\n internalType: 'uint256',\n name: 'amount',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'rewardDebt',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","export const smartChefABI = [\n {\n inputs: [\n { internalType: 'address', name: '_pancakeProfile', type: 'address' },\n { internalType: 'bool', name: '_pancakeProfileIsRequested', type: 'bool' },\n { internalType: 'uint256', name: '_pancakeProfileThresholdPoints', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'EmergencyWithdraw',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'poolLimitPerUser', type: 'uint256' }],\n name: 'NewPoolLimit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'rewardPerSecond', type: 'uint256' }],\n name: 'NewRewardPerSecond',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'startTimestamp', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'endTimestamp', type: 'uint256' },\n ],\n name: 'NewStartAndEndTimestamp',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'previousOwner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newOwner', type: 'address' },\n ],\n name: 'OwnershipTransferred',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'blockNumber', type: 'uint256' }],\n name: 'RewardsStop',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'TokenRecovery',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'bool', name: 'isProfileRequested', type: 'bool' },\n { indexed: false, internalType: 'uint256', name: 'thresholdPoints', type: 'uint256' },\n ],\n name: 'UpdateProfileAndThresholdPointsRequirement',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Withdraw',\n type: 'event',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'SMART_CHEF_FACTORY',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'accTokenPerShare',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'endTimestamp',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'hasUserLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract IERC20Metadata', name: '_stakedToken', type: 'address' },\n { internalType: 'contract IERC20Metadata', name: '_rewardToken', type: 'address' },\n { internalType: 'uint256', name: '_rewardPerSecond', type: 'uint256' },\n { internalType: 'uint256', name: '_startTimestamp', type: 'uint256' },\n { internalType: 'uint256', name: '_endTimestamp', type: 'uint256' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n { internalType: 'uint256', name: '_numberSecondsForUserLimit', type: 'uint256' },\n { internalType: 'address', name: '_admin', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'isInitialized',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastRewardTimestamp',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'numberSecondsForUserLimit',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfile',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileIsRequested',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileThresholdPoints',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolLimitPerUser',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_token', type: 'address' }],\n name: 'recoverToken',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerSecond',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stakedToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startTimestamp',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'stopReward', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_userLimit', type: 'bool' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n ],\n name: 'updatePoolLimitPerUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_isRequested', type: 'bool' },\n { internalType: 'uint256', name: '_thresholdPoints', type: 'uint256' },\n ],\n name: 'updateProfileAndThresholdPointsRequirement',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_rewardPerSecond', type: 'uint256' }],\n name: 'updateRewardPerSecond',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_startTimestamp', type: 'uint256' },\n { internalType: 'uint256', name: '_endTimestamp', type: 'uint256' },\n ],\n name: 'updateStartAndEndTimestamp',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'userLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","export const sousChefV3ABI = [\n {\n inputs: [\n { internalType: 'address', name: '_pancakeProfile', type: 'address' },\n { internalType: 'bool', name: '_pancakeProfileIsRequested', type: 'bool' },\n { internalType: 'uint256', name: '_pancakeProfileThresholdPoints', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'EmergencyWithdraw',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'poolLimitPerUser', type: 'uint256' }],\n name: 'NewPoolLimit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'rewardPerBlock', type: 'uint256' }],\n name: 'NewRewardPerBlock',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint256', name: 'startBlock', type: 'uint256' },\n { indexed: false, internalType: 'uint256', name: 'endBlock', type: 'uint256' },\n ],\n name: 'NewStartAndEndBlocks',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'previousOwner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newOwner', type: 'address' },\n ],\n name: 'OwnershipTransferred',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [{ indexed: false, internalType: 'uint256', name: 'blockNumber', type: 'uint256' }],\n name: 'RewardsStop',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'token', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'TokenRecovery',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'bool', name: 'isProfileRequested', type: 'bool' },\n { indexed: false, internalType: 'uint256', name: 'thresholdPoints', type: 'uint256' },\n ],\n name: 'UpdateProfileAndThresholdPointsRequirement',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'Withdraw',\n type: 'event',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'SMART_CHEF_FACTORY',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'accTokenPerShare',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'hasUserLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract IERC20Metadata', name: '_stakedToken', type: 'address' },\n { internalType: 'contract IERC20Metadata', name: '_rewardToken', type: 'address' },\n { internalType: 'uint256', name: '_rewardPerBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_startBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_bonusEndBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n { internalType: 'uint256', name: '_numberBlocksForUserLimit', type: 'uint256' },\n { internalType: 'address', name: '_admin', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'isInitialized',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastRewardBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'numberBlocksForUserLimit',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfile',\n outputs: [{ internalType: 'contract IPancakeProfile', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileIsRequested',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pancakeProfileThresholdPoints',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'poolLimitPerUser',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_token', type: 'address' }],\n name: 'recoverToken',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'stakedToken',\n outputs: [{ internalType: 'contract IERC20Metadata', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'stopReward', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_userLimit', type: 'bool' },\n { internalType: 'uint256', name: '_poolLimitPerUser', type: 'uint256' },\n ],\n name: 'updatePoolLimitPerUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'bool', name: '_isRequested', type: 'bool' },\n { internalType: 'uint256', name: '_thresholdPoints', type: 'uint256' },\n ],\n name: 'updateProfileAndThresholdPointsRequirement',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_rewardPerBlock', type: 'uint256' }],\n name: 'updateRewardPerBlock',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_startBlock', type: 'uint256' },\n { internalType: 'uint256', name: '_bonusEndBlock', type: 'uint256' },\n ],\n name: 'updateStartAndEndBlocks',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'userLimit',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n] as const\n","import { ChainId } from '@pancakeswap/chains'\n\nimport { ContractAddresses } from '../constants/contracts'\nimport { isPoolsSupported } from './isPoolsSupported'\n\nexport function getContractAddress(addresses: ContractAddresses, chainId: ChainId) {\n if (!isPoolsSupported(chainId)) {\n throw new Error(`Cannot get contract address. Unsupported chain ${chainId}`)\n }\n return addresses[chainId]\n}\n","import { LegacySerializedPool, SerializedPool, UpgradedSerializedPool } from '../types'\n\nexport function isLegacyPool(pool: SerializedPool): pool is LegacySerializedPool {\n if ((pool as any).tokenPerBlock) {\n return true\n }\n return false\n}\n\nexport function isUpgradedPool(pool: SerializedPool): pool is UpgradedSerializedPool {\n if ((pool as any).tokenPerSecond) {\n return true\n }\n return false\n}\n","import BigNumber from 'bignumber.js'\n\nimport { BLOCKS_PER_YEAR, SECONDS_IN_YEAR } from '../constants'\n\n/**\n * Get the APR value in %\n * @param stakingTokenPrice Token price in the same quote currency\n * @param rewardTokenPrice Token price in the same quote currency\n * @param totalStaked Total amount of stakingToken in the pool\n * @param tokenPerBlock Amount of new cake allocated to the pool for each new block\n * @returns Null if the APR is NaN or infinite.\n */\nexport const getPoolAprByTokenPerBlock = (\n stakingTokenPrice: number,\n rewardTokenPrice: number,\n totalStaked: number,\n tokenPerBlock: number,\n): number | null => {\n const totalRewardPricePerYear = new BigNumber(rewardTokenPrice).times(tokenPerBlock).times(BLOCKS_PER_YEAR)\n const totalStakingTokenInPool = new BigNumber(stakingTokenPrice).times(totalStaked)\n const apr = totalRewardPricePerYear.div(totalStakingTokenInPool).times(100)\n return apr.isNaN() || !apr.isFinite() ? null : apr.toNumber()\n}\n\nexport const getPoolAprByTokenPerSecond = (\n stakingTokenPrice: number,\n rewardTokenPrice: number,\n totalStaked: number,\n tokenPerSecond: number,\n): number | null => {\n const totalRewardPricePerYear = new BigNumber(rewardTokenPrice).times(tokenPerSecond).times(SECONDS_IN_YEAR)\n const totalStakingTokenInPool = new BigNumber(stakingTokenPrice).times(totalStaked)\n const apr = totalRewardPricePerYear.div(totalStakingTokenInPool).times(100)\n return apr.isNaN() || !apr.isFinite() ? null : apr.toNumber()\n}\n","import { ChainId } from '@pancakeswap/chains'\nimport { WalletClient, getContract, PublicClient, Address, GetContractReturnType, Account, Chain } from 'viem'\n\nimport { getPoolsConfig } from '../constants'\nimport { isLegacyPool } from './isLegacyPool'\nimport { smartChefABI } from '../abis/ISmartChef'\nimport { PoolCategory } from '../types'\nimport { sousChefV2ABI } from '../abis/ISousChefV2'\nimport { sousChefBnbABI } from '../abis/ISousChefBNB'\n\ninterface Params {\n chainId?: ChainId\n sousId: number\n signer?: any\n publicClient?: any\n}\n\ntype GetContractReturnType_<TAbi extends readonly unknown[]> = GetContractReturnType<TAbi, any, any> & {\n abi: TAbi\n address: Address\n account?: Account\n chain?: Chain\n}\n\nexport function getSousChefBNBContract({\n address,\n signer,\n publicClient,\n}: {\n address: Address\n signer?: WalletClient\n publicClient?: PublicClient\n}): GetContractReturnType_<typeof sousChefBnbABI> {\n return {\n ...getContract({\n abi: sousChefBnbABI,\n address,\n walletClient: signer,\n publicClient,\n }),\n abi: sousChefBnbABI,\n address,\n account: signer?.account,\n chain: signer?.chain,\n }\n}\n\nexport function getSousChefV2Contract({\n address,\n signer,\n publicClient,\n}: {\n address: Address\n signer?: WalletClient\n publicClient?: PublicClient\n}): GetContractReturnType_<typeof sousChefV2ABI> {\n return {\n ...getContract({\n abi: sousChefV2ABI,\n address,\n walletClient: signer,\n publicClient,\n }),\n abi: sousChefV2ABI,\n address,\n account: signer?.account,\n chain: signer?.chain,\n }\n}\n\nexport function getSmartChefChefV2Contract({\n address,\n signer,\n publicClient,\n}: {\n address: Address\n signer?: WalletClient\n publicClient?: PublicClient\n}): GetContractReturnType_<typeof smartChefABI> {\n return {\n ...getContract({\n abi: smartChefABI,\n address,\n walletClient: signer,\n publicClient,\n }),\n abi: smartChefABI,\n address,\n account: signer?.account,\n chain: signer?.chain,\n }\n}\n\nexport function getPoolContractBySousId({ chainId, sousId, signer, publicClient }: Params): any | null {\n if (!chainId) {\n return null\n }\n const pools = getPoolsConfig(chainId)\n const pool = pools?.find((p) => p.sousId === Number(sousId))\n if (!pool) {\n return null\n }\n const { contractAddress } = pool\n if (isLegacyPool(pool)) {\n if (pool.poolCategory === PoolCategory.BINANCE) {\n return getSousChefBNBContract({ address: contractAddress, signer, publicClient })\n }\n return getSousChefV2Contract({ address: contractAddress, signer, publicClient })\n }\n return getSmartChefChefV2Contract({ address: contractAddress, signer, publicClient })\n}\n","export const sousChefBnbABI = [\n {\n inputs: [],\n name: 'WBNB',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'adminAddress',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bonusEndBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'deposit', outputs: [], stateMutability: 'payable', type: 'function' },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'emergencyRewardWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'emergencyWithdraw', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [\n { internalType: 'uint256', name: '_from', type: 'uint256' },\n { internalType: 'uint256', name: '_to', type: 'uint256' },\n ],\n name: 'getMultiplier',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'limitAmount',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'massUpdatePools', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'pendingReward',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n name: 'poolInfo',\n outputs: [\n { internalType: 'contract IBEP20', name: 'lpToken', type: 'address' },\n { internalType: 'uint256', name: 'allocPoint', type: 'uint256' },\n { internalType: 'uint256', name: 'lastRewardBlock', type: 'uint256' },\n { internalType: 'uint256', name: 'accCakePerShare', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_blacklistAddress', type: 'address' }],\n name: 'removeBlackList',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'rewardPerBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'rewardToken',\n outputs: [{ internalType: 'contract IBEP20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_adminAddress', type: 'address' }],\n name: 'setAdmin',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_blacklistAddress', type: 'address' }],\n name: 'setBlackList',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'setLimitAmount',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'startBlock',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalAllocPoint',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_pid', type: 'uint256' }],\n name: 'updatePool',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'rewardDebt', type: 'uint256' },\n { internalType: 'bool', name: 'inBlackList', type: 'bool' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { stateMutability: 'payable', type: 'receive' },\n] as const\n","import { ChainId } from '@pancakeswap/chains'\nimport { getBoostedPoolsConfig } from '../../constants/boostedPools'\n\nexport const checkIsBoostedPool = (contract: string, chainId: ChainId): boolean => {\n const list = getBoostedPoolsConfig(chainId)\n const isBoosted = list?.find((i) => i?.contractAddress?.toLowerCase() === contract.toLowerCase())\n\n return isBoosted !== undefined\n}\n","import BigNumber from 'bignumber.js'\nimport { PublicClient } from 'viem'\n\nconst WEEK = 7\nconst YEAR = 365\nconst CONTRACT_ADDRESS = '0xB3879E95a4B8e3eE570c232B19d520821F540E48'\nconst API_URL = 'https://perp.pancakeswap.finance/bapi/futures/v1/public/future/apx/fee/info?chain=ARB'\n\nexport const fetchAlpBoostedPoolApr = async (client: PublicClient) => {\n try {\n const [totalValue] = await client.multicall({\n contracts: [\n {\n abi: [\n {\n inputs: [],\n name: 'totalValue',\n outputs: [\n {\n components: [\n { internalType: 'address', name: 'tokenAddress', type: 'address' },\n { internalType: 'int256', name: 'value', type: 'int256' },\n { internalType: 'uint8', name: 'decimals', type: 'uint8' },\n { internalType: 'int256', name: 'valueUsd', type: 'int256' },\n { internalType: 'uint16', name: 'targetWeight', type: 'uint16' },\n { internalType: 'uint16', name: 'feeBasisPoints', type: 'uint16' },\n { internalType: 'uint16', name: 'taxBasisPoints', type: 'uint16' },\n { internalType: 'bool', name: 'dynamicFee', type: 'bool' },\n ],\n internalType: 'struct IVault.LpItem[]',\n name: 'lpItems',\n type: 'tuple[]',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n ] as const,\n address: CONTRACT_ADDRESS,\n functionName: 'totalValue',\n },\n ],\n allowFailure: false,\n })\n\n const totalValueUsd = totalValue\n .map((i) => new BigNumber(i.valueUsd.toString()).div(1e18).toNumber())\n .reduce((a, b) => a + b, 0)\n\n const response = await fetch(API_URL)\n const result = await response.json()\n\n const { alpFundingFee, alpTradingFee, alpLipFee } = result.data\n const apr = new BigNumber(alpFundingFee).plus(alpTradingFee).plus(alpLipFee)\n const totalApr = apr.div(totalValueUsd.toString()).div(WEEK)\n\n const apy = totalApr.plus(1).exponentiatedBy(YEAR).minus(1).times(100)\n return apy.toNumber()\n } catch (error) {\n console.info('Fetch ALP boosted fee error: ', error)\n return 0\n }\n}\n","import { Address, PublicClient } from 'viem'\nimport { BoosterType } from '../types'\nimport { fetchAlpBoostedPoolApr } from './fetchAlpBoostedPoolApr'\nimport { getBoostedPoolConfig } from '../../../constants/boostedPools'\n\ninterface GetBoostedPoolApr {\n client: PublicClient\n contractAddress: Address\n chainId: number | undefined\n}\n\nexport const getBoostedPoolApr = async ({ client, contractAddress, chainId }: GetBoostedPoolApr): Promise<number> => {\n const pool = chainId && getBoostedPoolConfig(chainId, contractAddress)\n\n if (!contractAddress || !chainId || !pool) {\n return 0\n }\n\n // Arbitrum ALP pools\n if (pool?.boosterType === BoosterType.ALP) {\n const result = await fetchAlpBoostedPoolApr(client)\n return result\n }\n\n return 0\n}\n","import { ChainId } from '@pancakeswap/chains'\nimport BigNumber from 'bignumber.js'\nimport uniq from 'lodash/uniq'\nimport fromPairs from 'lodash/fromPairs'\nimport { erc20ABI } from 'wagmi'\nimport { Address } from 'viem'\nimport { getPoolsConfig } from '../constants'\nimport { sousChefABI } from '../abis/ISousChef'\nimport { OnChainProvider, SerializedPool } from '../types'\n\n// Pool 0, Cake / Cake is a different kind of contract (master chef)\n// BNB pools use the native BNB token (wrapping ? unwrapping is done at the contract level)\nconst getPoolsFactory = (filter: (pool: SerializedPool) => boolean) => (chainId: ChainId) => {\n const poolsConfig = getPoolsConfig(chainId)\n if (!poolsConfig) {\n throw new Error(`Unable to get pools config on chain ${chainId}`)\n }\n return poolsConfig.filter(filter)\n}\nconst getNonBnbPools = getPoolsFactory((pool) => pool.stakingToken.symbol !== 'BNB')\nconst getBnbPools = getPoolsFactory((pool) => pool.stakingToken.symbol === 'BNB')\nconst getNonMasterPools = getPoolsFactory((pool) => pool.sousId !== 0)\n\ninterface FetchUserDataParams {\n account: string\n chainId: ChainId\n provider: OnChainProvider\n}\n\nexport const fetchPoolsAllowance = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonBnbPools = getNonBnbPools(chainId)\n\n const client = provider({ chainId })\n const allowances = await client.multicall({\n contracts: nonBnbPools.map(\n ({ contractAddress, stakingToken }) =>\n ({\n address: stakingToken.address,\n abi: erc20ABI,\n functionName: 'allowance',\n args: [account as Address, contractAddress] as const,\n } as const),\n ),\n allowFailure: false,\n })\n return fromPairs(\n nonBnbPools.map((pool, index) => [pool.sousId, new BigNumber(allowances[index].toString()).toJSON()]),\n )\n}\n\nexport const fetchUserBalances = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonBnbPools = getNonBnbPools(chainId)\n const bnbPools = getBnbPools(chainId)\n // Non BNB pools\n const tokens = uniq(nonBnbPools.map((pool) => pool.stakingToken.address))\n const client = provider({ chainId })\n const tokenBalance = await client.multicall({\n contracts: [\n {\n abi: [\n {\n inputs: [{ internalType: 'address', name: 'addr', type: 'address' }],\n name: 'getEthBalance',\n outputs: [{ internalType: 'uint256', name: 'balance', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n ] as const,\n address: '0xcA11bde05977b3631167028862bE2a173976CA11', // TODO: Here is multicall address, should extract addresses to a package for multi chain\n functionName: 'getEthBalance',\n args: [account as Address] as const,\n } as const,\n ...tokens.map(\n (token) =>\n ({\n abi: erc20ABI,\n address: token,\n functionName: 'balanceOf',\n args: [account] as const,\n } as const),\n ),\n ],\n })\n const [bnbBalance, ...tokenBalancesResults] = tokenBalance\n\n const tokenBalances = fromPairs(tokens.map((token, index) => [token, tokenBalancesResults[index].result as bigint]))\n\n const poolTokenBalances = fromPairs(\n nonBnbPools\n .map<[number, string] | null>((pool) => {\n if (!tokenBalances[pool.stakingToken.address]) return null\n return [pool.sousId, new BigNumber(tokenBalances[pool.stakingToken.address].toString()).toJSON()]\n })\n .filter((p): p is [number, string] => Boolean(p)),\n )\n\n // BNB pools\n const bnbBalanceJson = new BigNumber((bnbBalance.result as bigint)?.toString()).toJSON()\n const bnbBalances = fromPairs(bnbPools.map((pool) => [pool.sousId, bnbBalanceJson]))\n\n return { ...poolTokenBalances, ...bnbBalances }\n}\n\nexport const fetchUserStakeBalances = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonMasterPools = getNonMasterPools(chainId)\n\n const client = provider({ chainId })\n const userInfo = await client.multicall({\n contracts: nonMasterPools.map(\n ({ contractAddress }) =>\n ({\n abi: sousChefABI.filter((r) => r.name === 'userInfo'),\n address: contractAddress,\n functionName: 'userInfo',\n args: [account as Address] as const,\n } as const),\n ),\n allowFailure: false,\n })\n\n return fromPairs(\n nonMasterPools.map((pool, index) => [pool.sousId, new BigNumber(userInfo[index][0].toString()).toJSON()]),\n )\n}\n\nexport const fetchUserPendingRewards = async ({ account, chainId, provider }: FetchUserDataParams) => {\n const nonMasterPools = getNonMasterPools(chainId)\n\n const client = provider({ chainId })\n const res = await client.multicall({\n contracts: nonMasterPools.map(\n ({ contractAddress }) =>\n ({\n abi: sousChefABI.filter((r) => r.name === 'pendingReward'),\n address: contractAddress,\n functionName: 'pendingReward',\n args: [account as Address] as const,\n } as const),\n ),\n allowFailure: false,\n })\n return fromPairs(nonMasterPools.map((pool, index) => [pool.sousId, new BigNumber(res[index].toString()).toJSON()]))\n}\n","import BigNumber from 'bignumber.js'\nimport { BIG_ZERO } from '@pancakeswap/utils/bigNumber'\nimport { ChainId } from '@pancakeswap/chains'\nimport { CAKE } from '@pancakeswap/tokens'\nimport { Address } from 'viem'\n\nimport { cakeVaultV2ABI } from '../abis/ICakeVaultV2'\nimport { OnChainProvider } from '../types'\nimport { getCakeFlexibleSideVaultAddress, getCakeVaultAddress } from './getAddresses'\n\ninterface Params {\n cakeVaultAddress?: Address\n chainId: ChainId\n provider: OnChainProvider\n}\n\nconst balanceOfAbi = [\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n] as const\n\nexport const fetchPublicVaultData = async ({\n chainId,\n cakeVaultAddress = getCakeVaultAddress(chainId),\n provider,\n}: Params) => {\n try {\n const client = provider({ chainId })\n\n const [sharePrice, shares, totalLockedAmount, totalCakeInVault] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'getPricePerFullShare',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'totalShares',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'totalLockedAmount',\n },\n {\n abi: balanceOfAbi,\n address: CAKE[ChainId.BSC].address,\n functionName: 'balanceOf',\n args: [cakeVaultAddress],\n },\n ],\n allowFailure: true,\n })\n\n const totalSharesAsBigNumber =\n shares.status === 'success' && shares.result ? new BigNumber(shares.result.toString()) : BIG_ZERO\n const totalLockedAmountAsBigNumber =\n totalLockedAmount.status === 'success' && totalLockedAmount.result\n ? new BigNumber(totalLockedAmount.result.toString())\n : BIG_ZERO\n const sharePriceAsBigNumber =\n sharePrice.status === 'success' && sharePrice.result ? new BigNumber(sharePrice.result.toString()) : BIG_ZERO\n\n return {\n totalShares: totalSharesAsBigNumber.toJSON(),\n totalLockedAmount: totalLockedAmountAsBigNumber.toJSON(),\n pricePerFullShare: sharePriceAsBigNumber.toJSON(),\n totalCakeInVault: totalCakeInVault.result ? new BigNumber(totalCakeInVault.result.toString()).toJSON() : '0',\n }\n } catch (error) {\n return {\n totalShares: null,\n totalLockedAmount: null,\n pricePerFullShare: null,\n totalCakeInVault: null,\n }\n }\n}\n\nexport const fetchPublicFlexibleSideVaultData = async ({\n chainId,\n cakeVaultAddress = getCakeFlexibleSideVaultAddress(chainId),\n provider,\n}: Params) => {\n try {\n const client = provider({ chainId })\n\n const [sharePrice, shares, totalCakeInVault] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'getPricePerFullShare',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'totalShares',\n },\n {\n abi: balanceOfAbi,\n address: CAKE[ChainId.BSC].address,\n functionName: 'balanceOf',\n args: [cakeVaultAddress],\n },\n ],\n allowFailure: true,\n })\n\n const totalSharesAsBigNumber = shares.status === 'success' ? new BigNumber(shares.result.toString()) : BIG_ZERO\n const sharePriceAsBigNumber =\n sharePrice.status === 'success' ? new BigNumber(sharePrice.result.toString()) : BIG_ZERO\n return {\n totalShares: totalSharesAsBigNumber.toJSON(),\n pricePerFullShare: sharePriceAsBigNumber.toJSON(),\n totalCakeInVault: new BigNumber((totalCakeInVault.result || '0').toString()).toJSON(),\n }\n } catch (error) {\n return {\n totalShares: null,\n pricePerFullShare: null,\n totalCakeInVault: null,\n }\n }\n}\n\nexport const fetchVaultFees = async ({\n chainId,\n cakeVaultAddress = getCakeVaultAddress(chainId),\n provider,\n}: Params) => {\n try {\n const client = provider({ chainId })\n\n const [performanceFee, withdrawalFee, withdrawalFeePeriod] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'performanceFee',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'withdrawFee',\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'withdrawFeePeriod',\n },\n ],\n allowFailure: false,\n })\n\n return {\n performanceFee: Number(performanceFee),\n withdrawalFee: Number(withdrawalFee),\n withdrawalFeePeriod: Number(withdrawalFeePeriod),\n }\n } catch (error) {\n return {\n performanceFee: null,\n withdrawalFee: null,\n withdrawalFeePeriod: null,\n }\n }\n}\n","export const cakeVaultV2ABI = [\n {\n inputs: [],\n name: 'BOOST_WEIGHT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'BOOST_WEIGHT_LIMIT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'DURATION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'DURATION_FACTOR_OVERDUE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_CALL_FEE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_LOCK_DURATION',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_LOCK_DURATION_LIMIT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_PERFORMANCE_FEE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE_PERIOD',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_DEPOSIT_AMOUNT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_LOCK_DURATION',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_WITHDRAW_AMOUNT',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'PRECISION_FACTOR_SHARE',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'UNLOCK_FREE_DURATION',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'admin',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'available',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'boostContract',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'cakePoolPID',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'calculateOverdueFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'calculatePerformanceFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'calculateTotalPendingCakeRewards',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '_user', type: 'address' },\n { internalType: 'uint256', name: '_shares', type: 'uint256' },\n ],\n name: 'calculateWithdrawFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: '_amount', type: 'uint256' },\n { internalType: 'uint256', name: '_lockDuration', type: 'uint256' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'freeFeeUsers',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getPricePerFullShare',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_token', type: 'address' }],\n name: 'inCaseTokensGetStuck',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'contract IERC20', name: 'dummyToken', type: 'address' }],\n name: 'init',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastHarvestedTime',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'masterchefV2',\n outputs: [{ internalType: 'contract IMasterChefV2', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'operator',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'overdueFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'pause', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'paused',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'performanceFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'performanceFeeContract',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: '_admin', type: 'address' }],\n name: 'setAdmin',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_boostContract', type: 'address' }],\n name: 'setBoostContract',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_boostWeight', type: 'uint256' }],\n name: 'setBoostWeight',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_durationFactor', type: 'uint256' }],\n name: 'setDurationFactor',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_durationFactorOverdue', type: 'uint256' }],\n name: 'setDurationFactorOverdue',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: '_user', type: 'address' },\n { internalType: 'bool', name: '_free', type: 'bool' },\n ],\n name: 'setFreeFeeUser',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_maxLockDuration', type: 'uint256' }],\n name: 'setMaxLockDuration',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_operator', type: 'address' }],\n name: 'setOperator',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_performanceFee', type: 'uint256' }],\n name: 'setPerformanceFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_performanceFeeContract', type: 'uint256' }],\n name: 'setPerformanceFeeContract',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_treasury', type: 'address' }],\n name: 'setTreasury',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_unlockFreeDuration', type: 'uint256' }],\n name: 'setUnlockFreeDuration',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_withdrawFee', type: 'uint256' }],\n name: 'setWithdrawFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_withdrawFeeContract', type: 'uint256' }],\n name: 'setWithdrawFeeContract',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_withdrawFeePeriod', type: 'uint256' }],\n name: 'setWithdrawFeePeriod',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'token',\n outputs: [{ internalType: 'contract IERC20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalBoostDebt',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalLockedAmount',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalShares',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'treasury',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_user', type: 'address' }],\n name: 'unlock',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'unpause', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'userInfo',\n outputs: [\n { internalType: 'uint256', name: 'shares', type: 'uint256' },\n { internalType: 'uint256', name: 'lastDepositedTime', type: 'uint256' },\n { internalType: 'uint256', name: 'cakeAtLastUserAction', type: 'uint256' },\n { internalType: 'uint256', name: 'lastUserActionTime', type: 'uint256' },\n { internalType: 'uint256', name: 'lockStartTime', type: 'uint256' },\n { internalType: 'uint256', name: 'lockEndTime', type: 'uint256' },\n { internalType: 'uint256', name: 'userBoostedShare', type: 'uint256' },\n { internalType: 'bool', name: 'locked', type: 'bool' },\n { internalType: 'uint256', name: 'lockedAmount', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '_shares', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'withdrawAll', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }],\n name: 'withdrawByAmount',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFee',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFeeContract',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFeePeriod',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n] as const\n","import { ChainId } from '@pancakeswap/chains'\n\nimport { CAKE_FLEXIBLE_SIDE_VAULT, CAKE_VAULT } from '../constants/contracts'\nimport { getContractAddress } from '../utils'\n\nexport function getCakeFlexibleSideVaultAddress(chainId: ChainId) {\n return getContractAddress(CAKE_FLEXIBLE_SIDE_VAULT, chainId)\n}\n\nexport function getCakeVaultAddress(chainId: ChainId) {\n return getContractAddress(CAKE_VAULT, chainId)\n}\n","import BigNumber from 'bignumber.js'\nimport { ChainId } from '@pancakeswap/chains'\nimport { Address } from 'viem'\n\nimport { OnChainProvider, SerializedLockedVaultUser, SerializedVaultUser } from '../types'\nimport { cakeVaultV2ABI } from '../abis/ICakeVaultV2'\nimport { getCakeFlexibleSideVaultAddress, getCakeVaultAddress } from './getAddresses'\nimport { cakeFlexibleSideVaultV2ABI } from '../abis/ICakeFlexibleSideVaultV2'\n\ninterface Params {\n account: Address\n chainId: ChainId\n provider: OnChainProvider\n}\n\nexport const fetchVaultUser = async ({ account, chainId, provider }: Params): Promise<SerializedLockedVaultUser> => {\n try {\n const cakeVaultAddress = getCakeVaultAddress(chainId)\n\n const client = provider({ chainId })\n\n const [userContractResponse, currentPerformanceFee, currentOverdueFee] = await client.multicall({\n contracts: [\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'userInfo',\n args: [account],\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'calculatePerformanceFee',\n args: [account],\n },\n {\n abi: cakeVaultV2ABI,\n address: cakeVaultAddress,\n functionName: 'calculateOverdueFee',\n args: [account],\n },\n ],\n allowFailure: false,\n })\n\n return {\n isLoading: false,\n userShares: new BigNumber(userContractResponse[0].toString()).toJSON(),\n lastDepositedTime: userContractResponse[1].toString(),\n lastUserActionTime: userContractResponse[3].toString(),\n cakeAtLastUserAction: new BigNumber(userContractResponse[2].toString()).toJSON(),\n userBoostedShare: new BigNumber(userContractResponse[6].toString()).toJSON(),\n locked: userContractResponse[7],\n lockEndTime: userContractResponse[5].toString(),\n lockStartTime: userContractResponse[4].toString(),\n lockedAmount: new BigNumber(userContractResponse[8].toString()).toJSON(),\n currentPerformanceFee: new BigNumber(currentPerformanceFee.toString()).toJSON(),\n currentOverdueFee: new BigNumber(currentOverdueFee.toString()).toJSON(),\n }\n } catch (error) {\n return {\n isLoading: true,\n userShares: '',\n lastDepositedTime: '',\n lastUserActionTime: '',\n cakeAtLastUserAction: '',\n userBoostedShare: '',\n lockEndTime: '',\n lockStartTime: '',\n locked: false,\n lockedAmount: '',\n currentPerformanceFee: '',\n currentOverdueFee: '',\n }\n }\n}\n\nexport const fetchFlexibleSideVaultUser = async ({\n account,\n chainId,\n provider,\n}: Params): Promise<SerializedVaultUser> => {\n try {\n const userContractResponse = await await provider({ chainId }).readContract({\n abi: cakeFlexibleSideVaultV2ABI,\n address: getCakeFlexibleSideVaultAddress(chainId),\n functionName: 'userInfo',\n args: [account],\n })\n return {\n isLoading: false,\n userShares: new BigNumber(userContractResponse[0].toString()).toJSON(),\n lastDepositedTime: userContractResponse[1].toString(),\n lastUserActionTime: userContractResponse[3].toString(),\n cakeAtLastUserAction: new BigNumber(userContractResponse[2].toString()).toJSON(),\n }\n } catch (error) {\n return {\n isLoading: true,\n userShares: '',\n lastDepositedTime: '',\n lastUserActionTime: '',\n cakeAtLastUserAction: '',\n }\n }\n}\n","export const cakeFlexibleSideVaultV2ABI = [\n {\n inputs: [],\n name: 'MAX_PERFORMANCE_FEE',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_AMOUNT_BOOSTER',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MAX_WITHDRAW_FEE_PERIOD',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_DEPOSIT_AMOUNT',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_WITHDRAW_AMOUNT',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'MIN_WITHDRAW_AMOUNT_BOOSTER',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'admin',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'available',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'balanceOf',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'cakePool',\n outputs: [\n {\n internalType: 'contract ICakePool',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amount',\n type: 'uint256',\n },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'emergencyWithdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getPricePerFullShare',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_token',\n type: 'address',\n },\n ],\n name: 'inCaseTokensGetStuck',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pause',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'paused',\n outputs: [\n {\n internalType: 'bool',\n name: '',\n type: 'bool',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'performanceFee',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_admin',\n type: 'address',\n },\n ],\n name: 'setAdmin',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_performanceFee',\n type: 'uint256',\n },\n ],\n name: 'setPerformanceFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '_treasury',\n type: 'address',\n },\n ],\n name: 'setTreasury',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_withdrawAmountBooster',\n type: 'uint256',\n },\n ],\n name: 'setWithdrawAmountBooster',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_withdrawFee',\n type: 'uint256',\n },\n ],\n name: 'setWithdrawFee',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_withdrawFeePeriod',\n type: 'uint256',\n },\n ],\n name: 'setWithdrawFeePeriod',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'staking',\n outputs: [\n {\n internalType: 'bool',\n name: '',\n type: 'bool',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'token',\n outputs: [\n {\n internalType: 'contract IERC20',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalShares',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: 'newOwner',\n type: 'address',\n },\n ],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'treasury',\n outputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'unpause',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'address',\n name: '',\n type: 'address',\n },\n ],\n name: 'userInfo',\n outputs: [\n {\n internalType: 'uint256',\n name: 'shares',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'lastDepositedTime',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'cakeAtLastUserAction',\n type: 'uint256',\n },\n {\n internalType: 'uint256',\n name: 'lastUserActionTime',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_shares',\n type: 'uint256',\n },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawAll',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawAmountBooster',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFee',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'withdrawFeePeriod',\n outputs: [\n {\n internalType: 'uint256',\n name: '',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n] as const\n"]}