@pancakeswap/pools 4.0.21 → 4.0.22

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 (36) 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/56.d.ts.map +1 -1
  10. package/dist/constants/supportedChains.d.ts +2 -0
  11. package/dist/constants/supportedChains.d.ts.map +1 -1
  12. package/dist/index.d.ts +0 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +136 -127
  15. package/dist/index.js.map +1 -1
  16. package/dist/index.mjs +130 -124
  17. package/dist/index.mjs.map +1 -1
  18. package/dist/queries/index.d.ts +0 -1
  19. package/dist/queries/index.d.ts.map +1 -1
  20. package/dist/utils/boosted/apr/fetchAlpBoostedPoolApr.d.ts +3 -0
  21. package/dist/utils/boosted/apr/fetchAlpBoostedPoolApr.d.ts.map +1 -0
  22. package/dist/utils/boosted/apr/getBoostedPoolApr.d.ts +9 -0
  23. package/dist/utils/boosted/apr/getBoostedPoolApr.d.ts.map +1 -0
  24. package/dist/utils/boosted/checkIsBoostedPool.d.ts +3 -0
  25. package/dist/utils/boosted/checkIsBoostedPool.d.ts.map +1 -0
  26. package/dist/utils/boosted/types.d.ts +10 -0
  27. package/dist/utils/boosted/types.d.ts.map +1 -0
  28. package/dist/utils/index.d.ts +2 -0
  29. package/dist/utils/index.d.ts.map +1 -1
  30. package/dist/utils/isPoolsSupported.d.ts +3 -1
  31. package/dist/utils/isPoolsSupported.d.ts.map +1 -1
  32. package/package.json +6 -6
  33. package/dist/abis/ICake.d.ts +0 -92
  34. package/dist/abis/ICake.d.ts.map +0 -1
  35. package/dist/queries/fetchUserIfo.d.ts +0 -16
  36. 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,
@@ -3238,7 +3238,8 @@ var finishedPools5 = [
3238
3238
  earningToken: p.earningToken.serialize
3239
3239
  }));
3240
3240
  var pools5 = [...livePools5, ...finishedPools5];
3241
- var livePools6 = [
3241
+ var livePools6 = [];
3242
+ var finishedPools6 = [
3242
3243
  {
3243
3244
  sousId: 1,
3244
3245
  stakingToken: zksyncTokens.cake,
@@ -3250,11 +3251,11 @@ var livePools6 = [
3250
3251
  }
3251
3252
  ].map((p) => ({
3252
3253
  ...p,
3254
+ isFinished: true,
3253
3255
  contractAddress: getAddress(p.contractAddress),
3254
3256
  stakingToken: p.stakingToken.serialize,
3255
3257
  earningToken: p.earningToken.serialize
3256
3258
  }));
3257
- var finishedPools6 = [];
3258
3259
  var pools6 = [...livePools6, ...finishedPools6];
3259
3260
  var livePools7 = [
3260
3261
  {
@@ -3463,11 +3464,15 @@ var SUPPORTED_CHAIN_IDS = [
3463
3464
  ChainId.BASE_TESTNET,
3464
3465
  ChainId.POLYGON_ZKEVM_TESTNET
3465
3466
  ];
3467
+ var CAKE_VAULT_SUPPORTED_CHAINS = [ChainId.BSC, ChainId.BSC_TESTNET];
3466
3468
 
3467
3469
  // src/utils/isPoolsSupported.ts
3468
3470
  function isPoolsSupported(chainId) {
3469
3471
  return SUPPORTED_CHAIN_IDS.includes(chainId);
3470
3472
  }
3473
+ function isCakeVaultSupported(chainId) {
3474
+ return !!chainId && CAKE_VAULT_SUPPORTED_CHAINS.includes(chainId);
3475
+ }
3471
3476
 
3472
3477
  // src/constants/pools/index.ts
3473
3478
  var POOLS_CONFIG_BY_CHAIN = {
@@ -3517,9 +3522,30 @@ var UNLOCK_FREE_DURATION = 604800;
3517
3522
  var ONE_WEEK_DEFAULT = 604800;
3518
3523
  var BOOST_WEIGHT = 20000000000000n;
3519
3524
  var DURATION_FACTOR = 31536000n;
3525
+
3526
+ // src/constants/boostedPools/arb.ts
3527
+ var arbBoostedPools = [
3528
+ {
3529
+ boosterType: 0 /* ALP */,
3530
+ contractAddress: "0x0639c5715EC308E16f089c96C0C109302d76FA81",
3531
+ 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."
3532
+ }
3533
+ ];
3534
+
3535
+ // src/constants/boostedPools/index.ts
3536
+ var BOOSTED_POOLS_CONFIG_BY_CHAIN = {
3537
+ [ChainId.ARBITRUM_ONE]: arbBoostedPools
3538
+ };
3539
+ var getBoostedPoolsConfig = (chainId) => {
3540
+ return BOOSTED_POOLS_CONFIG_BY_CHAIN[chainId];
3541
+ };
3542
+ var getBoostedPoolConfig = (chainId, contractAddress) => {
3543
+ const pool = getBoostedPoolsConfig(chainId);
3544
+ return pool?.find((i) => i?.contractAddress?.toLowerCase() === contractAddress.toLowerCase());
3545
+ };
3520
3546
  var ICAKE = {
3521
3547
  [ChainId.BSC]: "0x3C458828D1622F5f4d526eb0d24Da8C4Eb8F07b1",
3522
- [ChainId.BSC_TESTNET]: "0x",
3548
+ [ChainId.BSC_TESTNET]: "0x5FB0b7a782c2f192493d86922dD3873b6392C8e8",
3523
3549
  [ChainId.ETHEREUM]: "0x",
3524
3550
  [ChainId.ARBITRUM_ONE]: "0x",
3525
3551
  [ChainId.ARBITRUM_GOERLI]: "0x",
@@ -4965,6 +4991,79 @@ function getPoolContractBySousId({ chainId, sousId, signer, publicClient }) {
4965
4991
  return getSmartChefChefV2Contract({ address: contractAddress, signer, publicClient });
4966
4992
  }
4967
4993
 
4994
+ // src/utils/boosted/checkIsBoostedPool.ts
4995
+ var checkIsBoostedPool = (contract, chainId) => {
4996
+ const list = getBoostedPoolsConfig(chainId);
4997
+ const isBoosted = list?.find((i) => i?.contractAddress?.toLowerCase() === contract.toLowerCase());
4998
+ return isBoosted !== void 0;
4999
+ };
5000
+ var WEEK = 7;
5001
+ var YEAR = 365;
5002
+ var CONTRACT_ADDRESS = "0xB3879E95a4B8e3eE570c232B19d520821F540E48";
5003
+ var API_URL = "https://perp.pancakeswap.finance/bapi/futures/v1/public/future/apx/fee/info?chain=ARB";
5004
+ var fetchAlpBoostedPoolApr = async (client) => {
5005
+ try {
5006
+ const [totalValue] = await client.multicall({
5007
+ contracts: [
5008
+ {
5009
+ abi: [
5010
+ {
5011
+ inputs: [],
5012
+ name: "totalValue",
5013
+ outputs: [
5014
+ {
5015
+ components: [
5016
+ { internalType: "address", name: "tokenAddress", type: "address" },
5017
+ { internalType: "int256", name: "value", type: "int256" },
5018
+ { internalType: "uint8", name: "decimals", type: "uint8" },
5019
+ { internalType: "int256", name: "valueUsd", type: "int256" },
5020
+ { internalType: "uint16", name: "targetWeight", type: "uint16" },
5021
+ { internalType: "uint16", name: "feeBasisPoints", type: "uint16" },
5022
+ { internalType: "uint16", name: "taxBasisPoints", type: "uint16" },
5023
+ { internalType: "bool", name: "dynamicFee", type: "bool" }
5024
+ ],
5025
+ internalType: "struct IVault.LpItem[]",
5026
+ name: "lpItems",
5027
+ type: "tuple[]"
5028
+ }
5029
+ ],
5030
+ stateMutability: "view",
5031
+ type: "function"
5032
+ }
5033
+ ],
5034
+ address: CONTRACT_ADDRESS,
5035
+ functionName: "totalValue"
5036
+ }
5037
+ ],
5038
+ allowFailure: false
5039
+ });
5040
+ const totalValueUsd = totalValue.map((i) => new BigNumber7(i.valueUsd.toString()).div(1e18).toNumber()).reduce((a, b) => a + b, 0);
5041
+ const response = await fetch(API_URL);
5042
+ const result = await response.json();
5043
+ const { alpFundingFee, alpTradingFee, alpLipFee } = result.data;
5044
+ const apr = new BigNumber7(alpFundingFee).plus(alpTradingFee).plus(alpLipFee);
5045
+ const totalApr = apr.div(totalValueUsd.toString()).div(WEEK);
5046
+ const apy = totalApr.plus(1).exponentiatedBy(YEAR).minus(1).times(100);
5047
+ return apy.toNumber();
5048
+ } catch (error) {
5049
+ console.info("Fetch ALP boosted fee error: ", error);
5050
+ return 0;
5051
+ }
5052
+ };
5053
+
5054
+ // src/utils/boosted/apr/getBoostedPoolApr.ts
5055
+ var getBoostedPoolApr = async ({ client, contractAddress, chainId }) => {
5056
+ const pool = chainId && getBoostedPoolConfig(chainId, contractAddress);
5057
+ if (!contractAddress || !chainId || !pool) {
5058
+ return 0;
5059
+ }
5060
+ if (pool?.boosterType === 0 /* ALP */) {
5061
+ const result = await fetchAlpBoostedPoolApr(client);
5062
+ return result;
5063
+ }
5064
+ return 0;
5065
+ };
5066
+
4968
5067
  // src/queries/fetchPools.ts
4969
5068
  var getLivePoolsWithEnd = async (chainId) => {
4970
5069
  const poolsConfig = getPoolsConfig(chainId);
@@ -5321,99 +5420,6 @@ var fetchUserPendingRewards = async ({ account, chainId, provider }) => {
5321
5420
  return fromPairs2(nonMasterPools.map((pool, index) => [pool.sousId, new BigNumber7(res[index].toString()).toJSON()]));
5322
5421
  };
5323
5422
 
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
5423
  // src/abis/ICakeVaultV2.ts
5418
5424
  var cakeVaultV2ABI = [
5419
5425
  {
@@ -6634,6 +6640,6 @@ var fetchFlexibleSideVaultUser = async ({
6634
6640
  }
6635
6641
  };
6636
6642
 
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 };
6643
+ 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
6644
  //# sourceMappingURL=out.js.map
6639
6645
  //# sourceMappingURL=index.mjs.map