@pancakeswap/v3-sdk 3.0.0 → 3.0.1

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.
@@ -1,13 +1,46 @@
1
- export declare const FACTORY_ADDRESS = "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
2
- export declare const DEPLOYER_ADDRESS = "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
1
+ /**
2
+ * To compute Pool address use DEPLOYER_ADDRESSES instead
3
+ */
4
+ export declare const FACTORY_ADDRESSES: {
5
+ readonly 1: "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
6
+ readonly 5: "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
7
+ readonly 56: "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
8
+ readonly 97: "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
9
+ readonly 42161: "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
10
+ readonly 421613: "0xBA40c83026213F9cbc79998752721a0312bdB74a";
11
+ readonly 1101: "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
12
+ readonly 1442: "0x2430dbd123BC40f8Be6110065a448C1aA0619Cb1";
13
+ readonly 324: "0x";
14
+ readonly 280: "0x57d01Fbde077C04381a28840A24aCbEeF8314062";
15
+ readonly 59140: "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E";
16
+ };
3
17
  export declare const DEPLOYER_ADDRESSES: {
4
18
  readonly 1: "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
5
19
  readonly 5: "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
6
20
  readonly 56: "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
7
21
  readonly 97: "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
22
+ readonly 42161: "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
23
+ readonly 421613: "0xbC465fbf687e4184103b67Ed86557A8155FA4343";
24
+ readonly 1101: "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
25
+ readonly 1442: "0x86808Be3f426C9B4c8C706bCDe29dBC036A1259B";
26
+ readonly 324: "0x";
27
+ readonly 280: "0x71df5b7ea5355180EAb2A54de8aA534016040008";
28
+ readonly 59140: "0xdAecee3C08e953Bd5f89A5Cc90ac560413d709E3";
8
29
  };
9
30
  export declare const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000";
10
- export declare const POOL_INIT_CODE_HASH = "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
31
+ export declare const POOL_INIT_CODE_HASHES: {
32
+ readonly 1: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
33
+ readonly 5: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
34
+ readonly 56: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
35
+ readonly 97: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
36
+ readonly 42161: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
37
+ readonly 421613: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
38
+ readonly 1101: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
39
+ readonly 1442: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
40
+ readonly 324: "0x01001487f1c11a662dda518635f8e1f03a41f505cbf7d981c899ba11bf847a8a";
41
+ readonly 280: "0x01001487f1c11a662dda518635f8e1f03a41f505cbf7d981c899ba11bf847a8a";
42
+ readonly 59140: "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
43
+ };
11
44
  /**
12
45
  * The default factory enabled fee amounts, denominated in hundredths of bips.
13
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,+CAA+C,CAAA;AAE3E,eAAO,MAAM,gBAAgB,+CAA+C,CAAA;AAC5E,eAAO,MAAM,kBAAkB;;;;;CAKc,CAAA;AAE7C,eAAO,MAAM,YAAY,+CAA+C,CAAA;AAExE,eAAO,MAAM,mBAAmB,uEAAuE,CAAA;AAEvG;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,MAAM;IACZ,GAAG,MAAM;IACT,MAAM,OAAO;IACb,IAAI,QAAQ;CACb;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;KAAG,MAAM,IAAI,SAAS,GAAG,MAAM;CAK1D,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAae,CAAA;AAI7C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAac,CAAA;AAE7C,eAAO,MAAM,YAAY,+CAA+C,CAAA;AAIxE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAaQ,CAAA;AAE1C;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,MAAM;IACZ,GAAG,MAAM;IACT,MAAM,OAAO;IACb,IAAI,QAAQ;CACb;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;KAAG,MAAM,IAAI,SAAS,GAAG,MAAM;CAK1D,CAAA"}
package/dist/index.js CHANGED
@@ -11,15 +11,51 @@ var invariant9__default = /*#__PURE__*/_interopDefault(invariant9);
11
11
 
12
12
  // src/entities/pool.ts
13
13
  var FACTORY_ADDRESS = "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
14
+ var FACTORY_ADDRESSES = {
15
+ [sdk.ChainId.ETHEREUM]: FACTORY_ADDRESS,
16
+ [sdk.ChainId.GOERLI]: FACTORY_ADDRESS,
17
+ [sdk.ChainId.BSC]: FACTORY_ADDRESS,
18
+ [sdk.ChainId.BSC_TESTNET]: FACTORY_ADDRESS,
19
+ // TODO: new chains
20
+ [sdk.ChainId.ARBITRUM_ONE]: FACTORY_ADDRESS,
21
+ [sdk.ChainId.ARBITRUM_GOERLI]: "0xBA40c83026213F9cbc79998752721a0312bdB74a",
22
+ [sdk.ChainId.POLYGON_ZKEVM]: FACTORY_ADDRESS,
23
+ [sdk.ChainId.POLYGON_ZKEVM_TESTNET]: "0x2430dbd123BC40f8Be6110065a448C1aA0619Cb1",
24
+ [sdk.ChainId.ZKSYNC]: "0x",
25
+ [sdk.ChainId.ZKSYNC_TESTNET]: "0x57d01Fbde077C04381a28840A24aCbEeF8314062",
26
+ [sdk.ChainId.LINEA_TESTNET]: "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E"
27
+ };
14
28
  var DEPLOYER_ADDRESS = "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
15
29
  var DEPLOYER_ADDRESSES = {
16
30
  [sdk.ChainId.ETHEREUM]: DEPLOYER_ADDRESS,
17
31
  [sdk.ChainId.GOERLI]: DEPLOYER_ADDRESS,
18
32
  [sdk.ChainId.BSC]: DEPLOYER_ADDRESS,
19
- [sdk.ChainId.BSC_TESTNET]: DEPLOYER_ADDRESS
33
+ [sdk.ChainId.BSC_TESTNET]: DEPLOYER_ADDRESS,
34
+ // TODO: new chains
35
+ [sdk.ChainId.ARBITRUM_ONE]: DEPLOYER_ADDRESS,
36
+ [sdk.ChainId.ARBITRUM_GOERLI]: "0xbC465fbf687e4184103b67Ed86557A8155FA4343",
37
+ [sdk.ChainId.POLYGON_ZKEVM]: DEPLOYER_ADDRESS,
38
+ [sdk.ChainId.POLYGON_ZKEVM_TESTNET]: "0x86808Be3f426C9B4c8C706bCDe29dBC036A1259B",
39
+ [sdk.ChainId.ZKSYNC]: "0x",
40
+ [sdk.ChainId.ZKSYNC_TESTNET]: "0x71df5b7ea5355180EAb2A54de8aA534016040008",
41
+ [sdk.ChainId.LINEA_TESTNET]: "0xdAecee3C08e953Bd5f89A5Cc90ac560413d709E3"
20
42
  };
21
43
  var ADDRESS_ZERO = "0x0000000000000000000000000000000000000000";
22
44
  var POOL_INIT_CODE_HASH = "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
45
+ var POOL_INIT_CODE_HASHES = {
46
+ [sdk.ChainId.ETHEREUM]: POOL_INIT_CODE_HASH,
47
+ [sdk.ChainId.GOERLI]: POOL_INIT_CODE_HASH,
48
+ [sdk.ChainId.BSC]: POOL_INIT_CODE_HASH,
49
+ [sdk.ChainId.BSC_TESTNET]: POOL_INIT_CODE_HASH,
50
+ [sdk.ChainId.ARBITRUM_ONE]: POOL_INIT_CODE_HASH,
51
+ [sdk.ChainId.ARBITRUM_GOERLI]: POOL_INIT_CODE_HASH,
52
+ [sdk.ChainId.POLYGON_ZKEVM]: POOL_INIT_CODE_HASH,
53
+ [sdk.ChainId.POLYGON_ZKEVM_TESTNET]: POOL_INIT_CODE_HASH,
54
+ // TODO: new chains
55
+ [sdk.ChainId.ZKSYNC]: "0x01001487f1c11a662dda518635f8e1f03a41f505cbf7d981c899ba11bf847a8a",
56
+ [sdk.ChainId.ZKSYNC_TESTNET]: "0x01001487f1c11a662dda518635f8e1f03a41f505cbf7d981c899ba11bf847a8a",
57
+ [sdk.ChainId.LINEA_TESTNET]: POOL_INIT_CODE_HASH
58
+ };
23
59
  var FeeAmount = /* @__PURE__ */ ((FeeAmount4) => {
24
60
  FeeAmount4[FeeAmount4["LOWEST"] = 100] = "LOWEST";
25
61
  FeeAmount4[FeeAmount4["LOW"] = 500] = "LOW";
@@ -49,6 +85,13 @@ function getCreate2Address(from_, salt_, initCodeHash) {
49
85
  });
50
86
  return viem.getAddress(viem.slice(viem.keccak256(viem.concat([viem.toBytes("0xff"), from, salt, viem.toBytes(initCodeHash)])), 12));
51
87
  }
88
+ var EMPTY_INPU_HASH = "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470";
89
+ var ZKSYNC_PREFIX = "0x2020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca494";
90
+ function getCreate2AddressZkSync(from, salt, initCodeHash) {
91
+ return viem.getAddress(
92
+ viem.keccak256(viem.concat([ZKSYNC_PREFIX, viem.pad(from, { size: 32 }), salt, initCodeHash, EMPTY_INPU_HASH])).slice(26)
93
+ );
94
+ }
52
95
  function computePoolAddress({
53
96
  deployerAddress,
54
97
  tokenA,
@@ -57,12 +100,20 @@ function computePoolAddress({
57
100
  initCodeHashManualOverride
58
101
  }) {
59
102
  const [token0, token1] = tokenA.sortsBefore(tokenB) ? [tokenA, tokenB] : [tokenB, tokenA];
103
+ const salt = viem.keccak256(
104
+ viem.encodeAbiParameters(viem.parseAbiParameters(["address, address, uint24"]), [token0.address, token1.address, fee])
105
+ );
106
+ if (token0.chainId === sdk.ChainId.ZKSYNC || token0.chainId === sdk.ChainId.ZKSYNC_TESTNET) {
107
+ return getCreate2AddressZkSync(
108
+ deployerAddress,
109
+ salt,
110
+ initCodeHashManualOverride ?? POOL_INIT_CODE_HASHES[token0.chainId]
111
+ );
112
+ }
60
113
  return getCreate2Address(
61
114
  deployerAddress,
62
- viem.keccak256(
63
- viem.encodeAbiParameters(viem.parseAbiParameters(["address, address, uint24"]), [token0.address, token1.address, fee])
64
- ),
65
- initCodeHashManualOverride ?? POOL_INIT_CODE_HASH
115
+ salt,
116
+ initCodeHashManualOverride ?? POOL_INIT_CODE_HASHES[token0.chainId]
66
117
  );
67
118
  }
68
119
 
@@ -1747,6 +1798,9 @@ function tryGetEstimatedLPFeeByAmounts({
1747
1798
  tickLower,
1748
1799
  sqrtRatioX96
1749
1800
  });
1801
+ if (!liquidity) {
1802
+ return new swapSdkCore.Fraction(swapSdkCore.ZERO);
1803
+ }
1750
1804
  const volumeInFraction = parseNumberToFraction(volume24H) || new swapSdkCore.Fraction(swapSdkCore.ZERO);
1751
1805
  return insidePercentage.multiply(volumeInFraction.multiply(BigInt(fee)).multiply(liquidity)).divide(MAX_FEE * (liquidity + mostActiveLiquidity)).asFraction;
1752
1806
  }
@@ -1756,6 +1810,9 @@ function getDependentAmount(options) {
1756
1810
  const liquidity = FeeCalculator.getLiquidityBySingleAmount(options);
1757
1811
  const isToken0 = currency.wrapped.sortsBefore(amount.currency.wrapped);
1758
1812
  const getTokenAmount = isToken0 ? PositionMath.getToken0Amount : PositionMath.getToken1Amount;
1813
+ if (!liquidity) {
1814
+ return void 0;
1815
+ }
1759
1816
  return swapSdkCore.CurrencyAmount.fromRawAmount(
1760
1817
  currency,
1761
1818
  getTokenAmount(currentTick, tickLower, tickUpper, sqrtRatioX96, liquidity)
@@ -1779,7 +1836,12 @@ function getLiquidityByAmountsAndPrice({
1779
1836
  const [inputAmount0, inputAmount1] = isToken0 ? [amountA.quotient, amountB.quotient] : [amountB.quotient, amountA.quotient];
1780
1837
  const sqrtRatioAX96 = TickMath.getSqrtRatioAtTick(tickLower);
1781
1838
  const sqrtRatioBX96 = TickMath.getSqrtRatioAtTick(tickUpper);
1782
- return maxLiquidityForAmounts(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, inputAmount0, inputAmount1, true);
1839
+ try {
1840
+ return maxLiquidityForAmounts(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, inputAmount0, inputAmount1, true);
1841
+ } catch (e) {
1842
+ console.error(e);
1843
+ return void 0;
1844
+ }
1783
1845
  }
1784
1846
  function getAmountsByLiquidityAndPrice(options) {
1785
1847
  const { currencyA, currencyB, liquidity, sqrtRatioX96, tickLower, tickUpper } = options;
@@ -1795,6 +1857,9 @@ function getAmountsByLiquidityAndPrice(options) {
1795
1857
  function getAmountsAtNewPrice({ newSqrtRatioX96, ...rest }) {
1796
1858
  const { tickLower, tickUpper, amountA, amountB } = rest;
1797
1859
  const liquidity = FeeCalculator.getLiquidityByAmountsAndPrice(rest);
1860
+ if (!liquidity) {
1861
+ return void 0;
1862
+ }
1798
1863
  return FeeCalculator.getAmountsByLiquidityAndPrice({
1799
1864
  liquidity,
1800
1865
  currencyA: amountA.currency,
@@ -6021,9 +6086,8 @@ var MasterChefV3 = _MasterChefV3;
6021
6086
  MasterChefV3.ABI = masterChefV3ABI;
6022
6087
 
6023
6088
  exports.ADDRESS_ZERO = ADDRESS_ZERO;
6024
- exports.DEPLOYER_ADDRESS = DEPLOYER_ADDRESS;
6025
6089
  exports.DEPLOYER_ADDRESSES = DEPLOYER_ADDRESSES;
6026
- exports.FACTORY_ADDRESS = FACTORY_ADDRESS;
6090
+ exports.FACTORY_ADDRESSES = FACTORY_ADDRESSES;
6027
6091
  exports.FeeAmount = FeeAmount;
6028
6092
  exports.FeeCalculator = FeeCalculator;
6029
6093
  exports.FullMath = FullMath;
@@ -6033,7 +6097,7 @@ exports.MaxUint128 = MaxUint128;
6033
6097
  exports.Multicall = Multicall;
6034
6098
  exports.NoTickDataProvider = NoTickDataProvider;
6035
6099
  exports.NonfungiblePositionManager = NonfungiblePositionManager;
6036
- exports.POOL_INIT_CODE_HASH = POOL_INIT_CODE_HASH;
6100
+ exports.POOL_INIT_CODE_HASHES = POOL_INIT_CODE_HASHES;
6037
6101
  exports.Payments = Payments;
6038
6102
  exports.Pool = Pool;
6039
6103
  exports.Position = Position;
package/dist/index.mjs CHANGED
@@ -5,15 +5,51 @@ import { keccak256, encodeAbiParameters, parseAbiParameters, encodePacked, encod
5
5
 
6
6
  // src/entities/pool.ts
7
7
  var FACTORY_ADDRESS = "0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865";
8
+ var FACTORY_ADDRESSES = {
9
+ [ChainId.ETHEREUM]: FACTORY_ADDRESS,
10
+ [ChainId.GOERLI]: FACTORY_ADDRESS,
11
+ [ChainId.BSC]: FACTORY_ADDRESS,
12
+ [ChainId.BSC_TESTNET]: FACTORY_ADDRESS,
13
+ // TODO: new chains
14
+ [ChainId.ARBITRUM_ONE]: FACTORY_ADDRESS,
15
+ [ChainId.ARBITRUM_GOERLI]: "0xBA40c83026213F9cbc79998752721a0312bdB74a",
16
+ [ChainId.POLYGON_ZKEVM]: FACTORY_ADDRESS,
17
+ [ChainId.POLYGON_ZKEVM_TESTNET]: "0x2430dbd123BC40f8Be6110065a448C1aA0619Cb1",
18
+ [ChainId.ZKSYNC]: "0x",
19
+ [ChainId.ZKSYNC_TESTNET]: "0x57d01Fbde077C04381a28840A24aCbEeF8314062",
20
+ [ChainId.LINEA_TESTNET]: "0x02a84c1b3BBD7401a5f7fa98a384EBC70bB5749E"
21
+ };
8
22
  var DEPLOYER_ADDRESS = "0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9";
9
23
  var DEPLOYER_ADDRESSES = {
10
24
  [ChainId.ETHEREUM]: DEPLOYER_ADDRESS,
11
25
  [ChainId.GOERLI]: DEPLOYER_ADDRESS,
12
26
  [ChainId.BSC]: DEPLOYER_ADDRESS,
13
- [ChainId.BSC_TESTNET]: DEPLOYER_ADDRESS
27
+ [ChainId.BSC_TESTNET]: DEPLOYER_ADDRESS,
28
+ // TODO: new chains
29
+ [ChainId.ARBITRUM_ONE]: DEPLOYER_ADDRESS,
30
+ [ChainId.ARBITRUM_GOERLI]: "0xbC465fbf687e4184103b67Ed86557A8155FA4343",
31
+ [ChainId.POLYGON_ZKEVM]: DEPLOYER_ADDRESS,
32
+ [ChainId.POLYGON_ZKEVM_TESTNET]: "0x86808Be3f426C9B4c8C706bCDe29dBC036A1259B",
33
+ [ChainId.ZKSYNC]: "0x",
34
+ [ChainId.ZKSYNC_TESTNET]: "0x71df5b7ea5355180EAb2A54de8aA534016040008",
35
+ [ChainId.LINEA_TESTNET]: "0xdAecee3C08e953Bd5f89A5Cc90ac560413d709E3"
14
36
  };
15
37
  var ADDRESS_ZERO = "0x0000000000000000000000000000000000000000";
16
38
  var POOL_INIT_CODE_HASH = "0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2";
39
+ var POOL_INIT_CODE_HASHES = {
40
+ [ChainId.ETHEREUM]: POOL_INIT_CODE_HASH,
41
+ [ChainId.GOERLI]: POOL_INIT_CODE_HASH,
42
+ [ChainId.BSC]: POOL_INIT_CODE_HASH,
43
+ [ChainId.BSC_TESTNET]: POOL_INIT_CODE_HASH,
44
+ [ChainId.ARBITRUM_ONE]: POOL_INIT_CODE_HASH,
45
+ [ChainId.ARBITRUM_GOERLI]: POOL_INIT_CODE_HASH,
46
+ [ChainId.POLYGON_ZKEVM]: POOL_INIT_CODE_HASH,
47
+ [ChainId.POLYGON_ZKEVM_TESTNET]: POOL_INIT_CODE_HASH,
48
+ // TODO: new chains
49
+ [ChainId.ZKSYNC]: "0x01001487f1c11a662dda518635f8e1f03a41f505cbf7d981c899ba11bf847a8a",
50
+ [ChainId.ZKSYNC_TESTNET]: "0x01001487f1c11a662dda518635f8e1f03a41f505cbf7d981c899ba11bf847a8a",
51
+ [ChainId.LINEA_TESTNET]: POOL_INIT_CODE_HASH
52
+ };
17
53
  var FeeAmount = /* @__PURE__ */ ((FeeAmount4) => {
18
54
  FeeAmount4[FeeAmount4["LOWEST"] = 100] = "LOWEST";
19
55
  FeeAmount4[FeeAmount4["LOW"] = 500] = "LOW";
@@ -43,6 +79,13 @@ function getCreate2Address(from_, salt_, initCodeHash) {
43
79
  });
44
80
  return getAddress(slice(keccak256(concat([toBytes("0xff"), from, salt, toBytes(initCodeHash)])), 12));
45
81
  }
82
+ var EMPTY_INPU_HASH = "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470";
83
+ var ZKSYNC_PREFIX = "0x2020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca494";
84
+ function getCreate2AddressZkSync(from, salt, initCodeHash) {
85
+ return getAddress(
86
+ keccak256(concat([ZKSYNC_PREFIX, pad(from, { size: 32 }), salt, initCodeHash, EMPTY_INPU_HASH])).slice(26)
87
+ );
88
+ }
46
89
  function computePoolAddress({
47
90
  deployerAddress,
48
91
  tokenA,
@@ -51,12 +94,20 @@ function computePoolAddress({
51
94
  initCodeHashManualOverride
52
95
  }) {
53
96
  const [token0, token1] = tokenA.sortsBefore(tokenB) ? [tokenA, tokenB] : [tokenB, tokenA];
97
+ const salt = keccak256(
98
+ encodeAbiParameters(parseAbiParameters(["address, address, uint24"]), [token0.address, token1.address, fee])
99
+ );
100
+ if (token0.chainId === ChainId.ZKSYNC || token0.chainId === ChainId.ZKSYNC_TESTNET) {
101
+ return getCreate2AddressZkSync(
102
+ deployerAddress,
103
+ salt,
104
+ initCodeHashManualOverride ?? POOL_INIT_CODE_HASHES[token0.chainId]
105
+ );
106
+ }
54
107
  return getCreate2Address(
55
108
  deployerAddress,
56
- keccak256(
57
- encodeAbiParameters(parseAbiParameters(["address, address, uint24"]), [token0.address, token1.address, fee])
58
- ),
59
- initCodeHashManualOverride ?? POOL_INIT_CODE_HASH
109
+ salt,
110
+ initCodeHashManualOverride ?? POOL_INIT_CODE_HASHES[token0.chainId]
60
111
  );
61
112
  }
62
113
 
@@ -1741,6 +1792,9 @@ function tryGetEstimatedLPFeeByAmounts({
1741
1792
  tickLower,
1742
1793
  sqrtRatioX96
1743
1794
  });
1795
+ if (!liquidity) {
1796
+ return new Fraction$1(ZERO$1);
1797
+ }
1744
1798
  const volumeInFraction = parseNumberToFraction(volume24H) || new Fraction$1(ZERO$1);
1745
1799
  return insidePercentage.multiply(volumeInFraction.multiply(BigInt(fee)).multiply(liquidity)).divide(MAX_FEE * (liquidity + mostActiveLiquidity)).asFraction;
1746
1800
  }
@@ -1750,6 +1804,9 @@ function getDependentAmount(options) {
1750
1804
  const liquidity = FeeCalculator.getLiquidityBySingleAmount(options);
1751
1805
  const isToken0 = currency.wrapped.sortsBefore(amount.currency.wrapped);
1752
1806
  const getTokenAmount = isToken0 ? PositionMath.getToken0Amount : PositionMath.getToken1Amount;
1807
+ if (!liquidity) {
1808
+ return void 0;
1809
+ }
1753
1810
  return CurrencyAmount$1.fromRawAmount(
1754
1811
  currency,
1755
1812
  getTokenAmount(currentTick, tickLower, tickUpper, sqrtRatioX96, liquidity)
@@ -1773,7 +1830,12 @@ function getLiquidityByAmountsAndPrice({
1773
1830
  const [inputAmount0, inputAmount1] = isToken0 ? [amountA.quotient, amountB.quotient] : [amountB.quotient, amountA.quotient];
1774
1831
  const sqrtRatioAX96 = TickMath.getSqrtRatioAtTick(tickLower);
1775
1832
  const sqrtRatioBX96 = TickMath.getSqrtRatioAtTick(tickUpper);
1776
- return maxLiquidityForAmounts(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, inputAmount0, inputAmount1, true);
1833
+ try {
1834
+ return maxLiquidityForAmounts(sqrtRatioX96, sqrtRatioAX96, sqrtRatioBX96, inputAmount0, inputAmount1, true);
1835
+ } catch (e) {
1836
+ console.error(e);
1837
+ return void 0;
1838
+ }
1777
1839
  }
1778
1840
  function getAmountsByLiquidityAndPrice(options) {
1779
1841
  const { currencyA, currencyB, liquidity, sqrtRatioX96, tickLower, tickUpper } = options;
@@ -1789,6 +1851,9 @@ function getAmountsByLiquidityAndPrice(options) {
1789
1851
  function getAmountsAtNewPrice({ newSqrtRatioX96, ...rest }) {
1790
1852
  const { tickLower, tickUpper, amountA, amountB } = rest;
1791
1853
  const liquidity = FeeCalculator.getLiquidityByAmountsAndPrice(rest);
1854
+ if (!liquidity) {
1855
+ return void 0;
1856
+ }
1792
1857
  return FeeCalculator.getAmountsByLiquidityAndPrice({
1793
1858
  liquidity,
1794
1859
  currencyA: amountA.currency,
@@ -6014,4 +6079,4 @@ var _MasterChefV3 = class {
6014
6079
  var MasterChefV3 = _MasterChefV3;
6015
6080
  MasterChefV3.ABI = masterChefV3ABI;
6016
6081
 
6017
- export { ADDRESS_ZERO, DEPLOYER_ADDRESS, DEPLOYER_ADDRESSES, FACTORY_ADDRESS, FeeAmount, FeeCalculator, FullMath, LiquidityMath, MasterChefV3, MaxUint128, Multicall, NoTickDataProvider, NonfungiblePositionManager, POOL_INIT_CODE_HASH, Payments, Pool, Position, PositionLibrary, PositionMath, Route, SelfPermit, SqrtPriceMath, Staker, SwapMath, SwapQuoter, SwapRouter, TICK_SPACINGS, Tick, TickLibrary, TickList, TickListDataProvider, TickMath, Trade, computePoolAddress, encodeRouteToPath, encodeSqrtRatioX96, getAmountsAtNewPrice, getAmountsByLiquidityAndPrice, getAverageLiquidity, getDependentAmount, getEstimatedLPFee, getEstimatedLPFeeByAmounts, getEstimatedLPFeeByAmountsWithProtocolFee, getEstimatedLPFeeWithProtocolFee, getLiquidityByAmountsAndPrice, getLiquidityBySingleAmount, getLiquidityFromSqrtRatioX96, getLiquidityFromTick, isMint, isSorted, masterChefV3ABI, maxLiquidityForAmounts, mostSignificantBit, nearestUsableTick, nonfungiblePositionManagerABI, parseProtocolFees, peripheryPaymentsWithFeeABI, priceToClosestTick, quoterABI, quoterV2ABI, selfPermitABI, sqrtRatioX96ToPrice, subIn256, swapRouterABI, tickToPrice, toHex, tradeComparator, v3StakerABI };
6082
+ export { ADDRESS_ZERO, DEPLOYER_ADDRESSES, FACTORY_ADDRESSES, FeeAmount, FeeCalculator, FullMath, LiquidityMath, MasterChefV3, MaxUint128, Multicall, NoTickDataProvider, NonfungiblePositionManager, POOL_INIT_CODE_HASHES, Payments, Pool, Position, PositionLibrary, PositionMath, Route, SelfPermit, SqrtPriceMath, Staker, SwapMath, SwapQuoter, SwapRouter, TICK_SPACINGS, Tick, TickLibrary, TickList, TickListDataProvider, TickMath, Trade, computePoolAddress, encodeRouteToPath, encodeSqrtRatioX96, getAmountsAtNewPrice, getAmountsByLiquidityAndPrice, getAverageLiquidity, getDependentAmount, getEstimatedLPFee, getEstimatedLPFeeByAmounts, getEstimatedLPFeeByAmountsWithProtocolFee, getEstimatedLPFeeWithProtocolFee, getLiquidityByAmountsAndPrice, getLiquidityBySingleAmount, getLiquidityFromSqrtRatioX96, getLiquidityFromTick, isMint, isSorted, masterChefV3ABI, maxLiquidityForAmounts, mostSignificantBit, nearestUsableTick, nonfungiblePositionManagerABI, parseProtocolFees, peripheryPaymentsWithFeeABI, priceToClosestTick, quoterABI, quoterV2ABI, selfPermitABI, sqrtRatioX96ToPrice, subIn256, swapRouterABI, tickToPrice, toHex, tradeComparator, v3StakerABI };
@@ -1 +1 @@
1
- {"version":3,"file":"computePoolAddress.d.ts","sourceRoot":"","sources":["../../src/utils/computePoolAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAGP,IAAI,EAUL,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAA;AAe7D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,eAAe,EACf,MAAM,EACN,MAAM,EACN,GAAG,EACH,0BAA0B,GAC3B,EAAE;IACD,eAAe,EAAE,OAAO,CAAA;IACxB,MAAM,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,KAAK,CAAA;IACb,GAAG,EAAE,SAAS,CAAA;IACd,0BAA0B,CAAC,EAAE,IAAI,CAAA;CAClC,GAAG,OAAO,CAUV"}
1
+ {"version":3,"file":"computePoolAddress.d.ts","sourceRoot":"","sources":["../../src/utils/computePoolAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAGP,IAAI,EAUL,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,KAAK,EAAW,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAyB,MAAM,cAAc,CAAA;AAwB/D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,eAAe,EACf,MAAM,EACN,MAAM,EACN,GAAG,EACH,0BAA0B,GAC3B,EAAE;IACD,eAAe,EAAE,OAAO,CAAA;IACxB,MAAM,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,KAAK,CAAA;IACb,GAAG,EAAE,SAAS,CAAA;IACd,0BAA0B,CAAC,EAAE,IAAI,CAAA;CAClC,GAAG,OAAO,CAoBV"}
@@ -39,13 +39,13 @@ interface GetAmountOptions {
39
39
  tickUpper: number;
40
40
  sqrtRatioX96: bigint;
41
41
  }
42
- export declare function getDependentAmount(options: GetAmountOptions): CurrencyAmount<Currency>;
43
- export declare function getLiquidityBySingleAmount({ amount, currency, ...rest }: GetAmountOptions): bigint;
42
+ export declare function getDependentAmount(options: GetAmountOptions): CurrencyAmount<Currency> | undefined;
43
+ export declare function getLiquidityBySingleAmount({ amount, currency, ...rest }: GetAmountOptions): bigint | undefined;
44
44
  interface GetLiquidityOptions extends Omit<GetAmountOptions, 'amount' | 'currency'> {
45
45
  amountA: CurrencyAmount<Currency>;
46
46
  amountB: CurrencyAmount<Currency>;
47
47
  }
48
- export declare function getLiquidityByAmountsAndPrice({ amountA, amountB, tickUpper, tickLower, sqrtRatioX96, }: GetLiquidityOptions): bigint;
48
+ export declare function getLiquidityByAmountsAndPrice({ amountA, amountB, tickUpper, tickLower, sqrtRatioX96, }: GetLiquidityOptions): bigint | undefined;
49
49
  interface GetAmountsOptions extends Omit<GetAmountOptions, 'amount' | 'currency'> {
50
50
  currencyA: Currency;
51
51
  currencyB: Currency;
@@ -57,7 +57,7 @@ interface GetAmountsAtNewPriceOptions extends Omit<GetAmountOptions, 'amount' |
57
57
  amountB: CurrencyAmount<Currency>;
58
58
  newSqrtRatioX96: bigint;
59
59
  }
60
- export declare function getAmountsAtNewPrice({ newSqrtRatioX96, ...rest }: GetAmountsAtNewPriceOptions): CurrencyAmount<Currency>[];
60
+ export declare function getAmountsAtNewPrice({ newSqrtRatioX96, ...rest }: GetAmountsAtNewPriceOptions): CurrencyAmount<Currency>[] | undefined;
61
61
  export declare function getAverageLiquidity(ticks: Tick[], tickSpacing: number, tickLower: number, tickUpper: number): bigint;
62
62
  export declare function getLiquidityFromSqrtRatioX96(ticks: Tick[], sqrtRatioX96: bigint): bigint;
63
63
  export declare function getLiquidityFromTick(ticks: Tick[], tick: number): bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"feeCalculator.d.ts","sourceRoot":"","sources":["../../src/utils/feeCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feeCalculator.d.ts","sourceRoot":"","sources":["../../src/utils/feeCalculator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "3.0.0",
7
+ "version": "3.0.1",
8
8
  "description": "⚒️ An SDK for building applications on top of Pancakeswap V3",
9
9
  "files": [
10
10
  "dist"
@@ -18,7 +18,7 @@
18
18
  "types": "dist/index.d.ts",
19
19
  "module": "dist/index.mjs",
20
20
  "dependencies": {
21
- "viem": "^1.0.7",
21
+ "viem": "^1.2.9",
22
22
  "@uniswap/v3-staker": "1.0.0",
23
23
  "big.js": "^5.2.2",
24
24
  "decimal.js-light": "^2.5.0",
@@ -27,13 +27,13 @@
27
27
  "toformat": "^2.0.0",
28
28
  "@pancakeswap/sdk": "5.0.0",
29
29
  "@pancakeswap/swap-sdk-core": "1.0.0",
30
- "@pancakeswap/tokens": "0.1.3"
30
+ "@pancakeswap/tokens": "0.1.4"
31
31
  },
32
32
  "devDependencies": {
33
33
  "vitest": "^0.30.1",
34
34
  "tsup": "^6.7.0",
35
35
  "typescript": "^5.1.3",
36
- "@pancakeswap/utils": "2.0.0"
36
+ "@pancakeswap/utils": "2.0.1"
37
37
  },
38
38
  "engines": {
39
39
  "node": ">=10"