@pancakeswap/v3-sdk 3.7.13 → 3.8.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.
- package/dist/entities/pool.d.ts +7 -0
- package/dist/entities/pool.d.ts.map +1 -1
- package/dist/index.js +23 -0
- package/dist/index.mjs +23 -0
- package/package.json +6 -6
package/dist/entities/pool.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ export declare class Pool {
|
|
|
67
67
|
* @returns The input amount and the pool with updated state
|
|
68
68
|
*/
|
|
69
69
|
getInputAmount(outputAmount: CurrencyAmount<Token>, sqrtPriceLimitX96?: bigint): Promise<[CurrencyAmount<Token>, Pool]>;
|
|
70
|
+
/**
|
|
71
|
+
* Given a desired output amount of a token, return the computed input amount and a pool with state updated after the trade
|
|
72
|
+
* @param outputAmount the output amount for which to quote the input amount
|
|
73
|
+
* @param sqrtPriceLimitX96 The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap
|
|
74
|
+
* @returns The input amount and the pool with updated state
|
|
75
|
+
*/
|
|
76
|
+
getInputAmountByExactOut(outputAmount: CurrencyAmount<Token>, sqrtPriceLimitX96?: bigint): Promise<[CurrencyAmount<Token>, Pool]>;
|
|
70
77
|
/**
|
|
71
78
|
* Executes a swap
|
|
72
79
|
* @param zeroForOne Whether the amount in is token0 or token1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/entities/pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAG1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,SAAS,EAAqC,MAAM,cAAc,CAAA;AAM3E,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAkBzE;;GAEG;AACH,qBAAa,IAAI;IACf,SAAgB,MAAM,EAAE,KAAK,CAAA;IAE7B,SAAgB,MAAM,EAAE,KAAK,CAAA;IAE7B,SAAgB,GAAG,EAAE,SAAS,CAAA;IAE9B,SAAgB,YAAY,EAAE,MAAM,CAAA;IAEpC,SAAgB,SAAS,EAAE,MAAM,CAAA;IAEjC,SAAgB,WAAW,EAAE,MAAM,CAAA;IAEnC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAA;IAE3C,WAAW,CAAC,EAAE,MAAM,CAAA;IAE3B,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAqB;WAE5B,UAAU,CACtB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,SAAS,EACd,0BAA0B,CAAC,EAAE,IAAI,EACjC,uBAAuB,CAAC,EAAE,OAAO,GAChC,KAAK,MAAM,EAAE;IAUhB;;;;;;;;;OASG;gBAED,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,SAAS,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,gBAAgB,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC,EAAkC;IAsB1F;;;;OAIG;IACI,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAI3C;;OAEG;IACH,IAAW,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAK5C;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAK5C;IAED;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;IAKjD;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;;;OAKG;IACU,eAAe,CAC1B,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,EAClC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAkBzC;;;;;OAKG;IACU,cAAc,CACzB,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAmBzC;;;;;;;;;OASG;YACW,IAAI;IAsGlB,IAAW,WAAW,IAAI,MAAM,CAE/B;CACF"}
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/entities/pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAG1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,SAAS,EAAqC,MAAM,cAAc,CAAA;AAM3E,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAkBzE;;GAEG;AACH,qBAAa,IAAI;IACf,SAAgB,MAAM,EAAE,KAAK,CAAA;IAE7B,SAAgB,MAAM,EAAE,KAAK,CAAA;IAE7B,SAAgB,GAAG,EAAE,SAAS,CAAA;IAE9B,SAAgB,YAAY,EAAE,MAAM,CAAA;IAEpC,SAAgB,SAAS,EAAE,MAAM,CAAA;IAEjC,SAAgB,WAAW,EAAE,MAAM,CAAA;IAEnC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAA;IAE3C,WAAW,CAAC,EAAE,MAAM,CAAA;IAE3B,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAqB;WAE5B,UAAU,CACtB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,SAAS,EACd,0BAA0B,CAAC,EAAE,IAAI,EACjC,uBAAuB,CAAC,EAAE,OAAO,GAChC,KAAK,MAAM,EAAE;IAUhB;;;;;;;;;OASG;gBAED,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,SAAS,EACd,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,gBAAgB,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC,EAAkC;IAsB1F;;;;OAIG;IACI,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAI3C;;OAEG;IACH,IAAW,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAK5C;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAK5C;IAED;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;IAKjD;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;;;OAKG;IACU,eAAe,CAC1B,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,EAClC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAkBzC;;;;;OAKG;IACU,cAAc,CACzB,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAmBzC;;;;;OAKG;IACU,wBAAwB,CACnC,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAsBzC;;;;;;;;;OASG;YACW,IAAI;IAsGlB,IAAW,WAAW,IAAI,MAAM,CAE/B;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -704,6 +704,29 @@ var Pool = class {
|
|
|
704
704
|
new Pool(this.token0, this.token1, this.fee, sqrtRatioX96, liquidity, tickCurrent, this.tickDataProvider)
|
|
705
705
|
];
|
|
706
706
|
}
|
|
707
|
+
/**
|
|
708
|
+
* Given a desired output amount of a token, return the computed input amount and a pool with state updated after the trade
|
|
709
|
+
* @param outputAmount the output amount for which to quote the input amount
|
|
710
|
+
* @param sqrtPriceLimitX96 The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap
|
|
711
|
+
* @returns The input amount and the pool with updated state
|
|
712
|
+
*/
|
|
713
|
+
async getInputAmountByExactOut(outputAmount, sqrtPriceLimitX96) {
|
|
714
|
+
invariant9__default.default(outputAmount.currency.isToken && this.involvesToken(outputAmount.currency), "TOKEN");
|
|
715
|
+
const zeroForOne = outputAmount.currency.equals(this.token1);
|
|
716
|
+
const {
|
|
717
|
+
amountSpecifiedRemaining,
|
|
718
|
+
amountCalculated: inputAmount,
|
|
719
|
+
sqrtRatioX96,
|
|
720
|
+
liquidity,
|
|
721
|
+
tickCurrent
|
|
722
|
+
} = await this.swap(zeroForOne, outputAmount.quotient * NEGATIVE_ONE, sqrtPriceLimitX96);
|
|
723
|
+
invariant9__default.default(amountSpecifiedRemaining === 0n, "INSUFFICIENT_LIQUIDITY");
|
|
724
|
+
const inputToken = zeroForOne ? this.token0 : this.token1;
|
|
725
|
+
return [
|
|
726
|
+
sdk.CurrencyAmount.fromRawAmount(inputToken, inputAmount),
|
|
727
|
+
new Pool(this.token0, this.token1, this.fee, sqrtRatioX96, liquidity, tickCurrent, this.tickDataProvider)
|
|
728
|
+
];
|
|
729
|
+
}
|
|
707
730
|
/**
|
|
708
731
|
* Executes a swap
|
|
709
732
|
* @param zeroForOne Whether the amount in is token0 or token1
|
package/dist/index.mjs
CHANGED
|
@@ -698,6 +698,29 @@ var Pool = class {
|
|
|
698
698
|
new Pool(this.token0, this.token1, this.fee, sqrtRatioX96, liquidity, tickCurrent, this.tickDataProvider)
|
|
699
699
|
];
|
|
700
700
|
}
|
|
701
|
+
/**
|
|
702
|
+
* Given a desired output amount of a token, return the computed input amount and a pool with state updated after the trade
|
|
703
|
+
* @param outputAmount the output amount for which to quote the input amount
|
|
704
|
+
* @param sqrtPriceLimitX96 The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap
|
|
705
|
+
* @returns The input amount and the pool with updated state
|
|
706
|
+
*/
|
|
707
|
+
async getInputAmountByExactOut(outputAmount, sqrtPriceLimitX96) {
|
|
708
|
+
invariant9(outputAmount.currency.isToken && this.involvesToken(outputAmount.currency), "TOKEN");
|
|
709
|
+
const zeroForOne = outputAmount.currency.equals(this.token1);
|
|
710
|
+
const {
|
|
711
|
+
amountSpecifiedRemaining,
|
|
712
|
+
amountCalculated: inputAmount,
|
|
713
|
+
sqrtRatioX96,
|
|
714
|
+
liquidity,
|
|
715
|
+
tickCurrent
|
|
716
|
+
} = await this.swap(zeroForOne, outputAmount.quotient * NEGATIVE_ONE, sqrtPriceLimitX96);
|
|
717
|
+
invariant9(amountSpecifiedRemaining === 0n, "INSUFFICIENT_LIQUIDITY");
|
|
718
|
+
const inputToken = zeroForOne ? this.token0 : this.token1;
|
|
719
|
+
return [
|
|
720
|
+
CurrencyAmount.fromRawAmount(inputToken, inputAmount),
|
|
721
|
+
new Pool(this.token0, this.token1, this.fee, sqrtRatioX96, liquidity, tickCurrent, this.tickDataProvider)
|
|
722
|
+
];
|
|
723
|
+
}
|
|
701
724
|
/**
|
|
702
725
|
* Executes a swap
|
|
703
726
|
* @param zeroForOne Whether the amount in is token0 or token1
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "3.
|
|
7
|
+
"version": "3.8.1",
|
|
8
8
|
"description": "⚒️ An SDK for building applications on top of Pancakeswap V3",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist"
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"tiny-invariant": "^1.3.0",
|
|
24
24
|
"tiny-warning": "^1.0.3",
|
|
25
25
|
"toformat": "^2.0.0",
|
|
26
|
-
"viem": "
|
|
27
|
-
"@pancakeswap/
|
|
28
|
-
"@pancakeswap/
|
|
29
|
-
"@pancakeswap/
|
|
26
|
+
"viem": "2.9.19",
|
|
27
|
+
"@pancakeswap/chains": "0.4.2",
|
|
28
|
+
"@pancakeswap/sdk": "5.8.1",
|
|
29
|
+
"@pancakeswap/swap-sdk-core": "1.1.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"tsup": "^6.7.0",
|
|
33
|
-
"@pancakeswap/utils": "6.0.
|
|
33
|
+
"@pancakeswap/utils": "6.0.4"
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|
|
36
36
|
"node": ">=10"
|