@pancakeswap/pools 4.0.21 → 5.0.0

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.
Files changed (37) hide show
  1. package/dist/constants/boostedPools/arb.d.ts +3 -0
  2. package/dist/constants/boostedPools/arb.d.ts.map +1 -0
  3. package/dist/constants/boostedPools/index.d.ts +9 -0
  4. package/dist/constants/boostedPools/index.d.ts.map +1 -0
  5. package/dist/constants/contracts.d.ts +1 -1
  6. package/dist/constants/index.d.ts +1 -0
  7. package/dist/constants/index.d.ts.map +1 -1
  8. package/dist/constants/pools/324.d.ts.map +1 -1
  9. package/dist/constants/pools/42161.d.ts.map +1 -1
  10. package/dist/constants/pools/56.d.ts.map +1 -1
  11. package/dist/constants/supportedChains.d.ts +2 -0
  12. package/dist/constants/supportedChains.d.ts.map +1 -1
  13. package/dist/index.d.ts +0 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +148 -130
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.mjs +142 -127
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/queries/index.d.ts +0 -1
  20. package/dist/queries/index.d.ts.map +1 -1
  21. package/dist/utils/boosted/apr/fetchAlpBoostedPoolApr.d.ts +3 -0
  22. package/dist/utils/boosted/apr/fetchAlpBoostedPoolApr.d.ts.map +1 -0
  23. package/dist/utils/boosted/apr/getBoostedPoolApr.d.ts +9 -0
  24. package/dist/utils/boosted/apr/getBoostedPoolApr.d.ts.map +1 -0
  25. package/dist/utils/boosted/checkIsBoostedPool.d.ts +3 -0
  26. package/dist/utils/boosted/checkIsBoostedPool.d.ts.map +1 -0
  27. package/dist/utils/boosted/types.d.ts +10 -0
  28. package/dist/utils/boosted/types.d.ts.map +1 -0
  29. package/dist/utils/index.d.ts +2 -0
  30. package/dist/utils/index.d.ts.map +1 -1
  31. package/dist/utils/isPoolsSupported.d.ts +3 -1
  32. package/dist/utils/isPoolsSupported.d.ts.map +1 -1
  33. package/package.json +7 -7
  34. package/dist/abis/ICake.d.ts +0 -92
  35. package/dist/abis/ICake.d.ts.map +0 -1
  36. package/dist/queries/fetchUserIfo.d.ts +0 -16
  37. package/dist/queries/fetchUserIfo.d.ts.map +0 -1
package/dist/index.mjs CHANGED
@@ -153,16 +153,14 @@ var livePools2 = [
153
153
  poolCategory: "Core" /* CORE */,
154
154
  tokenPerBlock: "0.1118",
155
155
  version: 3
156
- },
157
- {
158
- sousId: 360,
159
- stakingToken: bscTokens.cake,
160
- earningToken: bscTokens.axl,
161
- contractAddress: "0x32f0414a4e970a3edd9e7db367A43348F25D74cD",
162
- poolCategory: "Core" /* CORE */,
163
- tokenPerBlock: "0.05358",
164
- version: 3
165
- },
156
+ }
157
+ ].map((p) => ({
158
+ ...p,
159
+ contractAddress: getAddress(p.contractAddress),
160
+ stakingToken: p.stakingToken.serialize,
161
+ earningToken: p.earningToken.serialize
162
+ }));
163
+ var finishedPools2 = [
166
164
  {
167
165
  sousId: 359,
168
166
  stakingToken: bscTokens.cake,
@@ -180,14 +178,16 @@ var livePools2 = [
180
178
  poolCategory: "Core" /* CORE */,
181
179
  tokenPerBlock: "0.02314",
182
180
  version: 3
183
- }
184
- ].map((p) => ({
185
- ...p,
186
- contractAddress: getAddress(p.contractAddress),
187
- stakingToken: p.stakingToken.serialize,
188
- earningToken: p.earningToken.serialize
189
- }));
190
- var finishedPools2 = [
181
+ },
182
+ {
183
+ sousId: 360,
184
+ stakingToken: bscTokens.cake,
185
+ earningToken: bscTokens.axl,
186
+ contractAddress: "0x32f0414a4e970a3edd9e7db367A43348F25D74cD",
187
+ poolCategory: "Core" /* CORE */,
188
+ tokenPerBlock: "0.05358",
189
+ version: 3
190
+ },
191
191
  {
192
192
  sousId: 357,
193
193
  stakingToken: bscTokens.cake,
@@ -3078,15 +3078,15 @@ var finishedPools2 = [
3078
3078
  }));
3079
3079
  var pools2 = [...livePools2, ...finishedPools2];
3080
3080
  var livePools3 = [
3081
- // {
3082
- // sousId: 0,
3083
- // stakingToken: bscTestnetTokens.cake2,
3084
- // earningToken: bscTestnetTokens.cake2,
3085
- // contractAddress: '0x4c650FB471fe4e0f476fD3437C3411B1122c4e3B',
3086
- // poolCategory: PoolCategory.CORE,
3087
- // tokenPerBlock: '0.01',
3088
- // isFinished: false,
3089
- // },
3081
+ {
3082
+ sousId: 0,
3083
+ stakingToken: bscTestnetTokens.cake2,
3084
+ earningToken: bscTestnetTokens.cake2,
3085
+ contractAddress: "0xf6B427A2Df6E24600e3e3c62634B7c478826619D",
3086
+ poolCategory: "Core" /* CORE */,
3087
+ tokenPerBlock: "0.01",
3088
+ isFinished: false
3089
+ },
3090
3090
  {
3091
3091
  sousId: 1,
3092
3092
  stakingToken: bscTestnetTokens.cake2,
@@ -3145,12 +3145,12 @@ var finishedPools3 = [];
3145
3145
  var pools3 = [...livePools3, ...finishedPools3];
3146
3146
  var livePools4 = [
3147
3147
  {
3148
- sousId: 2,
3148
+ sousId: 3,
3149
3149
  stakingToken: arbitrumTokens.alp,
3150
3150
  earningToken: arbitrumTokens.cake,
3151
- contractAddress: "0x0639c5715EC308E16f089c96C0C109302d76FA81",
3151
+ contractAddress: "0x85146C0c5968d9640121eebd13030c99298f87b3",
3152
3152
  poolCategory: "Core" /* CORE */,
3153
- tokenPerSecond: "0.01177",
3153
+ tokenPerSecond: "0.00615",
3154
3154
  version: 3
3155
3155
  }
3156
3156
  ].map((p) => ({
@@ -3160,6 +3160,15 @@ var livePools4 = [
3160
3160
  earningToken: p.earningToken.serialize
3161
3161
  }));
3162
3162
  var finishedPools4 = [
3163
+ {
3164
+ sousId: 2,
3165
+ stakingToken: arbitrumTokens.alp,
3166
+ earningToken: arbitrumTokens.cake,
3167
+ contractAddress: "0x0639c5715EC308E16f089c96C0C109302d76FA81",
3168
+ poolCategory: "Core" /* CORE */,
3169
+ tokenPerSecond: "0.01177",
3170
+ version: 3
3171
+ },
3163
3172
  {
3164
3173
  sousId: 1,
3165
3174
  stakingToken: arbitrumTokens.alp,
@@ -3238,7 +3247,8 @@ var finishedPools5 = [
3238
3247
  earningToken: p.earningToken.serialize
3239
3248
  }));
3240
3249
  var pools5 = [...livePools5, ...finishedPools5];
3241
- var livePools6 = [
3250
+ var livePools6 = [];
3251
+ var finishedPools6 = [
3242
3252
  {
3243
3253
  sousId: 1,
3244
3254
  stakingToken: zksyncTokens.cake,
@@ -3250,11 +3260,11 @@ var livePools6 = [
3250
3260
  }
3251
3261
  ].map((p) => ({
3252
3262
  ...p,
3263
+ isFinished: true,
3253
3264
  contractAddress: getAddress(p.contractAddress),
3254
3265
  stakingToken: p.stakingToken.serialize,
3255
3266
  earningToken: p.earningToken.serialize
3256
3267
  }));
3257
- var finishedPools6 = [];
3258
3268
  var pools6 = [...livePools6, ...finishedPools6];
3259
3269
  var livePools7 = [
3260
3270
  {
@@ -3463,11 +3473,15 @@ var SUPPORTED_CHAIN_IDS = [
3463
3473
  ChainId.BASE_TESTNET,
3464
3474
  ChainId.POLYGON_ZKEVM_TESTNET
3465
3475
  ];
3476
+ var CAKE_VAULT_SUPPORTED_CHAINS = [ChainId.BSC, ChainId.BSC_TESTNET];
3466
3477
 
3467
3478
  // src/utils/isPoolsSupported.ts
3468
3479
  function isPoolsSupported(chainId) {
3469
3480
  return SUPPORTED_CHAIN_IDS.includes(chainId);
3470
3481
  }
3482
+ function isCakeVaultSupported(chainId) {
3483
+ return !!chainId && CAKE_VAULT_SUPPORTED_CHAINS.includes(chainId);
3484
+ }
3471
3485
 
3472
3486
  // src/constants/pools/index.ts
3473
3487
  var POOLS_CONFIG_BY_CHAIN = {
@@ -3517,9 +3531,30 @@ var UNLOCK_FREE_DURATION = 604800;
3517
3531
  var ONE_WEEK_DEFAULT = 604800;
3518
3532
  var BOOST_WEIGHT = 20000000000000n;
3519
3533
  var DURATION_FACTOR = 31536000n;
3534
+
3535
+ // src/constants/boostedPools/arb.ts
3536
+ var arbBoostedPools = [
3537
+ {
3538
+ boosterType: 0 /* ALP */,
3539
+ contractAddress: "0x85146C0c5968d9640121eebd13030c99298f87b3",
3540
+ tooltipsText: "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."
3541
+ }
3542
+ ];
3543
+
3544
+ // src/constants/boostedPools/index.ts
3545
+ var BOOSTED_POOLS_CONFIG_BY_CHAIN = {
3546
+ [ChainId.ARBITRUM_ONE]: arbBoostedPools
3547
+ };
3548
+ var getBoostedPoolsConfig = (chainId) => {
3549
+ return BOOSTED_POOLS_CONFIG_BY_CHAIN[chainId];
3550
+ };
3551
+ var getBoostedPoolConfig = (chainId, contractAddress) => {
3552
+ const pool = getBoostedPoolsConfig(chainId);
3553
+ return pool?.find((i) => i?.contractAddress?.toLowerCase() === contractAddress.toLowerCase());
3554
+ };
3520
3555
  var ICAKE = {
3521
3556
  [ChainId.BSC]: "0x3C458828D1622F5f4d526eb0d24Da8C4Eb8F07b1",
3522
- [ChainId.BSC_TESTNET]: "0x",
3557
+ [ChainId.BSC_TESTNET]: "0x5FB0b7a782c2f192493d86922dD3873b6392C8e8",
3523
3558
  [ChainId.ETHEREUM]: "0x",
3524
3559
  [ChainId.ARBITRUM_ONE]: "0x",
3525
3560
  [ChainId.ARBITRUM_GOERLI]: "0x",
@@ -4965,6 +5000,79 @@ function getPoolContractBySousId({ chainId, sousId, signer, publicClient }) {
4965
5000
  return getSmartChefChefV2Contract({ address: contractAddress, signer, publicClient });
4966
5001
  }
4967
5002
 
5003
+ // src/utils/boosted/checkIsBoostedPool.ts
5004
+ var checkIsBoostedPool = (contract, chainId) => {
5005
+ const list = getBoostedPoolsConfig(chainId);
5006
+ const isBoosted = list?.find((i) => i?.contractAddress?.toLowerCase() === contract.toLowerCase());
5007
+ return isBoosted !== void 0;
5008
+ };
5009
+ var WEEK = 7;
5010
+ var YEAR = 365;
5011
+ var CONTRACT_ADDRESS = "0xB3879E95a4B8e3eE570c232B19d520821F540E48";
5012
+ var API_URL = "https://perp.pancakeswap.finance/bapi/futures/v1/public/future/apx/fee/info?chain=ARB";
5013
+ var fetchAlpBoostedPoolApr = async (client) => {
5014
+ try {
5015
+ const [totalValue] = await client.multicall({
5016
+ contracts: [
5017
+ {
5018
+ abi: [
5019
+ {
5020
+ inputs: [],
5021
+ name: "totalValue",
5022
+ outputs: [
5023
+ {
5024
+ components: [
5025
+ { internalType: "address", name: "tokenAddress", type: "address" },
5026
+ { internalType: "int256", name: "value", type: "int256" },
5027
+ { internalType: "uint8", name: "decimals", type: "uint8" },
5028
+ { internalType: "int256", name: "valueUsd", type: "int256" },
5029
+ { internalType: "uint16", name: "targetWeight", type: "uint16" },
5030
+ { internalType: "uint16", name: "feeBasisPoints", type: "uint16" },
5031
+ { internalType: "uint16", name: "taxBasisPoints", type: "uint16" },
5032
+ { internalType: "bool", name: "dynamicFee", type: "bool" }
5033
+ ],
5034
+ internalType: "struct IVault.LpItem[]",
5035
+ name: "lpItems",
5036
+ type: "tuple[]"
5037
+ }
5038
+ ],
5039
+ stateMutability: "view",
5040
+ type: "function"
5041
+ }
5042
+ ],
5043
+ address: CONTRACT_ADDRESS,
5044
+ functionName: "totalValue"
5045
+ }
5046
+ ],
5047
+ allowFailure: false
5048
+ });
5049
+ const totalValueUsd = totalValue.map((i) => new BigNumber7(i.valueUsd.toString()).div(1e18).toNumber()).reduce((a, b) => a + b, 0);
5050
+ const response = await fetch(API_URL);
5051
+ const result = await response.json();
5052
+ const { alpFundingFee, alpTradingFee, alpLipFee } = result.data;
5053
+ const apr = new BigNumber7(alpFundingFee).plus(alpTradingFee).plus(alpLipFee);
5054
+ const totalApr = apr.div(totalValueUsd.toString()).div(WEEK);
5055
+ const apy = totalApr.plus(1).exponentiatedBy(YEAR).minus(1).times(100);
5056
+ return apy.toNumber();
5057
+ } catch (error) {
5058
+ console.info("Fetch ALP boosted fee error: ", error);
5059
+ return 0;
5060
+ }
5061
+ };
5062
+
5063
+ // src/utils/boosted/apr/getBoostedPoolApr.ts
5064
+ var getBoostedPoolApr = async ({ client, contractAddress, chainId }) => {
5065
+ const pool = chainId && getBoostedPoolConfig(chainId, contractAddress);
5066
+ if (!contractAddress || !chainId || !pool) {
5067
+ return 0;
5068
+ }
5069
+ if (pool?.boosterType === 0 /* ALP */) {
5070
+ const result = await fetchAlpBoostedPoolApr(client);
5071
+ return result;
5072
+ }
5073
+ return 0;
5074
+ };
5075
+
4968
5076
  // src/queries/fetchPools.ts
4969
5077
  var getLivePoolsWithEnd = async (chainId) => {
4970
5078
  const poolsConfig = getPoolsConfig(chainId);
@@ -5321,99 +5429,6 @@ var fetchUserPendingRewards = async ({ account, chainId, provider }) => {
5321
5429
  return fromPairs2(nonMasterPools.map((pool, index) => [pool.sousId, new BigNumber7(res[index].toString()).toJSON()]));
5322
5430
  };
5323
5431
 
5324
- // src/abis/ICake.ts
5325
- var iCakeABI = [
5326
- {
5327
- inputs: [],
5328
- name: "MIN_CEILING_DURATION",
5329
- outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
5330
- stateMutability: "view",
5331
- type: "function"
5332
- },
5333
- {
5334
- inputs: [],
5335
- name: "admin",
5336
- outputs: [{ internalType: "address", name: "", type: "address" }],
5337
- stateMutability: "view",
5338
- type: "function"
5339
- },
5340
- {
5341
- inputs: [],
5342
- name: "cakePool",
5343
- outputs: [{ internalType: "contract ICaKePool", name: "", type: "address" }],
5344
- stateMutability: "view",
5345
- type: "function"
5346
- },
5347
- {
5348
- inputs: [],
5349
- name: "ceiling",
5350
- outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
5351
- stateMutability: "view",
5352
- type: "function"
5353
- },
5354
- {
5355
- inputs: [{ internalType: "address", name: "_user", type: "address" }],
5356
- name: "getUserCredit",
5357
- outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
5358
- stateMutability: "view",
5359
- type: "function"
5360
- },
5361
- {
5362
- inputs: [],
5363
- name: "owner",
5364
- outputs: [{ internalType: "address", name: "", type: "address" }],
5365
- stateMutability: "view",
5366
- type: "function"
5367
- },
5368
- { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function" },
5369
- {
5370
- inputs: [{ internalType: "address", name: "newOwner", type: "address" }],
5371
- name: "transferOwnership",
5372
- outputs: [],
5373
- stateMutability: "nonpayable",
5374
- type: "function"
5375
- },
5376
- {
5377
- inputs: [{ internalType: "uint256", name: "_newCeiling", type: "uint256" }],
5378
- name: "updateCeiling",
5379
- outputs: [],
5380
- stateMutability: "nonpayable",
5381
- type: "function"
5382
- }
5383
- ];
5384
-
5385
- // src/queries/fetchUserIfo.ts
5386
- var getIfoCreditAddressContract = (chainId, provider, walletClient) => {
5387
- const address = getContractAddress(ICAKE, chainId);
5388
- if (!address || address === "0x") {
5389
- throw new Error(`ICAKE not supported on chain ${chainId}`);
5390
- }
5391
- return getContract({ abi: iCakeABI, address, publicClient: provider({ chainId }), walletClient });
5392
- };
5393
- var fetchPublicIfoData = async (chainId, provider) => {
5394
- try {
5395
- const ifoCreditAddressContract = getIfoCreditAddressContract(chainId, provider);
5396
- const ceiling = await ifoCreditAddressContract.read.ceiling();
5397
- return {
5398
- ceiling: new BigNumber7(ceiling.toString()).toJSON()
5399
- };
5400
- } catch (error) {
5401
- return {
5402
- ceiling: BIG_ZERO.toJSON()
5403
- };
5404
- }
5405
- };
5406
- var fetchUserIfoCredit = async ({ account, chainId, provider }) => {
5407
- try {
5408
- const ifoCreditAddressContract = getIfoCreditAddressContract(chainId, provider);
5409
- const credit = await ifoCreditAddressContract.read.getUserCredit([account]);
5410
- return new BigNumber7(credit.toString()).toJSON();
5411
- } catch (error) {
5412
- console.error(error);
5413
- return BIG_ZERO.toJSON();
5414
- }
5415
- };
5416
-
5417
5432
  // src/abis/ICakeVaultV2.ts
5418
5433
  var cakeVaultV2ABI = [
5419
5434
  {
@@ -6634,6 +6649,6 @@ var fetchFlexibleSideVaultUser = async ({
6634
6649
  }
6635
6650
  };
6636
6651
 
6637
- export { BLOCKS_PER_DAY, BLOCKS_PER_YEAR, BOOST_WEIGHT, BSC_BLOCK_TIME, CAKE_FLEXIBLE_SIDE_VAULT, CAKE_VAULT, DURATION_FACTOR, ICAKE, LIVE_POOLS_CONFIG_BY_CHAIN, MAX_LOCK_DURATION, ONE_WEEK_DEFAULT, POOLS_CONFIG_BY_CHAIN, PoolCategory, SECONDS_IN_YEAR, SUPPORTED_CHAIN_IDS, UNLOCK_FREE_DURATION, VaultKey, cakeFlexibleSideVaultV2ABI, cakeVaultV2ABI, fetchFlexibleSideVaultUser, fetchPoolsAllowance, fetchPoolsProfileRequirement, fetchPoolsStakingLimits, fetchPoolsStakingLimitsByBlock, fetchPoolsTimeLimits, fetchPoolsTotalStaking, fetchPublicFlexibleSideVaultData, fetchPublicIfoData, fetchPublicVaultData, fetchUserBalances, fetchUserIfoCredit, fetchUserPendingRewards, fetchUserStakeBalances, fetchVaultFees, fetchVaultUser, getCakeFlexibleSideVaultAddress, getCakeVaultAddress, getContractAddress, getIfoCreditAddressContract, getLivePoolsConfig, getPoolAprByTokenPerBlock, getPoolAprByTokenPerSecond, getPoolContractBySousId, getPoolsConfig, getSmartChefChefV2Contract, getSousChefBNBContract, getSousChefV2Contract, iCakeABI, isLegacyPool, isPoolsSupported, isUpgradedPool, smartChefABI, sousChefABI, sousChefBnbABI, sousChefV2ABI, sousChefV3ABI };
6652
+ export { BLOCKS_PER_DAY, BLOCKS_PER_YEAR, BOOSTED_POOLS_CONFIG_BY_CHAIN, BOOST_WEIGHT, BSC_BLOCK_TIME, CAKE_FLEXIBLE_SIDE_VAULT, CAKE_VAULT, CAKE_VAULT_SUPPORTED_CHAINS, DURATION_FACTOR, ICAKE, LIVE_POOLS_CONFIG_BY_CHAIN, MAX_LOCK_DURATION, ONE_WEEK_DEFAULT, POOLS_CONFIG_BY_CHAIN, PoolCategory, SECONDS_IN_YEAR, SUPPORTED_CHAIN_IDS, UNLOCK_FREE_DURATION, VaultKey, cakeFlexibleSideVaultV2ABI, cakeVaultV2ABI, checkIsBoostedPool, fetchFlexibleSideVaultUser, fetchPoolsAllowance, fetchPoolsProfileRequirement, fetchPoolsStakingLimits, fetchPoolsStakingLimitsByBlock, fetchPoolsTimeLimits, fetchPoolsTotalStaking, fetchPublicFlexibleSideVaultData, fetchPublicVaultData, fetchUserBalances, fetchUserPendingRewards, fetchUserStakeBalances, fetchVaultFees, fetchVaultUser, getBoostedPoolApr, getBoostedPoolConfig, getBoostedPoolsConfig, getCakeFlexibleSideVaultAddress, getCakeVaultAddress, getContractAddress, getLivePoolsConfig, getPoolAprByTokenPerBlock, getPoolAprByTokenPerSecond, getPoolContractBySousId, getPoolsConfig, getSmartChefChefV2Contract, getSousChefBNBContract, getSousChefV2Contract, isCakeVaultSupported, isLegacyPool, isPoolsSupported, isUpgradedPool, smartChefABI, sousChefABI, sousChefBnbABI, sousChefV2ABI, sousChefV3ABI };
6638
6653
  //# sourceMappingURL=out.js.map
6639
6654
  //# sourceMappingURL=index.mjs.map