@kamino-finance/kliquidity-sdk 7.0.9 → 7.0.11
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/Kamino.d.ts +2 -1
- package/dist/Kamino.d.ts.map +1 -1
- package/dist/Kamino.js +38 -34
- package/dist/Kamino.js.map +1 -1
- package/dist/rebalance_methods/autodriftRebalance.d.ts.map +1 -1
- package/dist/rebalance_methods/autodriftRebalance.js +5 -5
- package/dist/rebalance_methods/autodriftRebalance.js.map +1 -1
- package/dist/rebalance_methods/driftRebalance.d.ts.map +1 -1
- package/dist/rebalance_methods/driftRebalance.js +5 -5
- package/dist/rebalance_methods/driftRebalance.js.map +1 -1
- package/dist/rebalance_methods/takeProfitRebalance.js +3 -3
- package/dist/rebalance_methods/takeProfitRebalance.js.map +1 -1
- package/dist/services/JupService.d.ts +6 -5
- package/dist/services/JupService.d.ts.map +1 -1
- package/dist/services/JupService.js +16 -12
- package/dist/services/JupService.js.map +1 -1
- package/dist/services/RaydiumPoolsResponse.d.ts +2 -2
- package/dist/services/RaydiumPoolsResponse.d.ts.map +1 -1
- package/dist/services/RaydiumService.d.ts +2 -0
- package/dist/services/RaydiumService.d.ts.map +1 -1
- package/dist/services/RaydiumService.js +20 -23
- package/dist/services/RaydiumService.js.map +1 -1
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +6 -5
- package/dist/utils/utils.js.map +1 -1
- package/dist/whirlpools-client/shim/remove-liquidity.js +5 -5
- package/dist/whirlpools-client/shim/remove-liquidity.js.map +1 -1
- package/package.json +3 -3
- package/src/Kamino.ts +25 -14
- package/src/rebalance_methods/autodriftRebalance.ts +1 -1
- package/src/rebalance_methods/driftRebalance.ts +1 -1
- package/src/rebalance_methods/takeProfitRebalance.ts +1 -1
- package/src/services/JupService.ts +25 -12
- package/src/services/RaydiumPoolsResponse.ts +2 -2
- package/src/services/RaydiumService.ts +27 -26
- package/src/utils/utils.ts +3 -1
- package/src/whirlpools-client/shim/remove-liquidity.ts +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAEL,kBAAkB,EAElB,0BAA0B,EAE1B,iBAAiB,EAEjB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ReferencePriceType = exports.Dex = exports.RebalanceParamOffset = exports.ProportionalMintingMethod = exports.DolarBasedMintingMethod = void 0;
|
|
6
|
+
exports.ReferencePriceType = exports.Dex = exports.ZERO_BN = exports.RebalanceParamOffset = exports.ProportionalMintingMethod = exports.DolarBasedMintingMethod = void 0;
|
|
7
7
|
exports.sleep = sleep;
|
|
8
8
|
exports.dexToNumber = dexToNumber;
|
|
9
9
|
exports.numberToDex = numberToDex;
|
|
@@ -33,15 +33,16 @@ const programId_2 = require("../raydium_client/programId");
|
|
|
33
33
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
34
34
|
const types_1 = require("../kamino-client/types");
|
|
35
35
|
const instructions_1 = require("../kamino-client/instructions");
|
|
36
|
-
const raydium_sdk_1 = require("@raydium-io/raydium-sdk");
|
|
37
36
|
const bn_js_1 = __importDefault(require("bn.js"));
|
|
38
37
|
const priceReferenceTypes_1 = require("./priceReferenceTypes");
|
|
39
38
|
const whirlpool_sdk_1 = require("@orca-so/whirlpool-sdk");
|
|
40
39
|
const programId_3 = require("../meteora_client/programId");
|
|
41
40
|
const numericalValues_1 = require("../constants/numericalValues");
|
|
41
|
+
const math_1 = require("@raydium-io/raydium-sdk-v2/lib/raydium/clmm/utils/math");
|
|
42
42
|
exports.DolarBasedMintingMethod = new decimal_js_1.default(0);
|
|
43
43
|
exports.ProportionalMintingMethod = new decimal_js_1.default(1);
|
|
44
44
|
exports.RebalanceParamOffset = new decimal_js_1.default(256);
|
|
45
|
+
exports.ZERO_BN = new bn_js_1.default(0);
|
|
45
46
|
function sleep(ms) {
|
|
46
47
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
47
48
|
}
|
|
@@ -112,8 +113,8 @@ function buildStrategyRebalanceParams(params, rebalance_type, tokenADecimals, to
|
|
|
112
113
|
}
|
|
113
114
|
else if (rebalance_type.kind == types_1.RebalanceType.TakeProfit.kind) {
|
|
114
115
|
// TODO: fix this for meteora
|
|
115
|
-
const lowerPrice =
|
|
116
|
-
const upperPrice =
|
|
116
|
+
const lowerPrice = math_1.SqrtPriceMath.priceToSqrtPriceX64(params[0], tokenADecimals, tokenBDecimals);
|
|
117
|
+
const upperPrice = math_1.SqrtPriceMath.priceToSqrtPriceX64(params[1], tokenADecimals, tokenBDecimals);
|
|
117
118
|
writeBN128LE(buffer, lowerPrice, 0);
|
|
118
119
|
writeBN128LE(buffer, upperPrice, 16);
|
|
119
120
|
buffer.writeUint8(params[2].toNumber(), 32);
|
|
@@ -278,7 +279,7 @@ function sqrtPriceToPrice(sqrtPrice, dexNo, decimalsA, decimalsB) {
|
|
|
278
279
|
return (0, whirlpool_sdk_1.sqrtPriceX64ToPrice)(sqrtPrice, decimalsA, decimalsB);
|
|
279
280
|
}
|
|
280
281
|
if (dex == 'RAYDIUM') {
|
|
281
|
-
return
|
|
282
|
+
return math_1.SqrtPriceMath.sqrtPriceX64ToPrice(sqrtPrice, decimalsA, decimalsB);
|
|
282
283
|
}
|
|
283
284
|
if (dex == 'METEORA') {
|
|
284
285
|
const price = new decimal_js_1.default(sqrtPrice.toString());
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;AAoCA,sBAEC;AAQD,kCAQC;AAED,kCAOC;AAED,gEAMC;AAED,0CAUC;AAED,wDAIC;AAED,oEAsDC;AAED,gEAMC;AAED,wDAQC;AAED,8DAQC;AAED,sDAQC;AAED,sDAoBC;AAED,8DAsBC;AAED,sDAGC;AAED,0DAGC;AAED,4CAEC;AAED,0CAOC;AAcD,8DAYC;AAED,gDAEC;AAED,4CAaC;AAGD,wCAEC;AAED,0CAEC;AAED,oCAKC;AAzTD,6CAAmF;AAEnF,8DAAsE;AACtE,2DAA+E;AAC/E,4DAAiC;AACjC,kDAUgC;AAChC,gEAIuC;AAEvC,kDAAuB;AACvB,+DAAuF;AACvF,0DAA6D;AAC7D,2DAAiE;AACjE,kEAAuD;AACvD,iFAAuF;AAE1E,QAAA,uBAAuB,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;AACzC,QAAA,yBAAyB,GAAG,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,QAAA,oBAAoB,GAAG,IAAI,oBAAO,CAAC,GAAG,CAAC,CAAC;AAExC,QAAA,OAAO,GAAG,IAAI,eAAE,CAAC,CAAC,CAAC,CAAC;AAEjC,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAEY,QAAA,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAG9C,QAAA,kBAAkB,GAAG,CAAC,4CAAsB,EAAE,4CAAsB,CAAU,CAAC;AAG5F,SAAgB,WAAW,CAAC,GAAQ;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,WAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,GAAG,GAAG,WAAG,CAAC,GAAG,CAAC,CAAC;IAErB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,0BAA0B,CAAC,GAAW;IACpD,MAAM,kBAAkB,GAAG,0BAAkB,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAgB,eAAe,CAAC,aAAgC;IAC9D,IAAI,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,OAAO,gCAAoB,CAAC;IAC9B,CAAC;SAAM,IAAI,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1E,OAAO,sBAAkB,CAAC;IAC5B,CAAC;SAAM,IAAI,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1E,OAAO,8BAAkB,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,eAAe,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAc;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,eAAe,CAAC,MAAM,EAAE,IAAI,eAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,SAAgB,4BAA4B,CAC1C,MAAsB,EACtB,cAAiC,EACjC,cAAuB,EACvB,cAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrD,uBAAuB;IACzB,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;QAC9E,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,eAAe,CAAC,MAAM,EAAE,IAAI,eAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAChE,6BAA6B;QAC7B,MAAM,UAAU,GAAG,oBAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAe,EAAE,cAAe,CAAC,CAAC;QAClG,MAAM,UAAU,GAAG,oBAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAe,EAAE,cAAe,CAAC,CAAC;QAClG,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACpC,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACvE,eAAe,CAAC,MAAM,EAAE,IAAI,eAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,IAAI,qBAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,2BAA2B,GAAG,cAAc,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,SAAgB,0BAA0B,CAAC,mBAA2B;IACpE,MAAM,aAAa,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IACjE,OAAO,CACL,aAAa,CAAC,IAAI,IAAI,qBAAa,CAAC,wBAAwB,CAAC,IAAI;QACjE,aAAa,CAAC,IAAI,IAAI,qBAAa,CAAC,QAAQ,CAAC,IAAI,CAClD,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAa;IAClD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,sBAAc,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;SAAM,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,sBAAc,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAAa;IACrD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,yBAAiB,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;SAAM,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,yBAAiB,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAa;IACjD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,8BAAsB,CAAC,aAAa,EAAE,CAAC;IACpD,CAAC;SAAM,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,8BAAsB,CAAC,YAAY,EAAE,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,cAAsB;IAC1D,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,qBAAa,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAa,CAAC,eAAe,EAAE,CAAC;IAC7C,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAa,CAAC,wBAAwB,EAAE,CAAC;IACtD,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAa,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAa,CAAC,iBAAiB,EAAE,CAAC;IAC/C,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAa,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;SAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAa,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,MAAiB,EACjB,YAAuB,EACvB,QAAmB,EACnB,IAA8B,EAC9B,MAAe,EACf,aAAwB,mBAAS,CAAC,OAAO;IAEzC,MAAM,IAAI,GAA6B;QACrC,IAAI,EAAE,IAAI,CAAC,aAAa;QACxB,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACtC,CAAC;IAEF,MAAM,QAAQ,GAAiC;QAC7C,cAAc,EAAE,MAAM;QACtB,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,aAAa,EAAE,uBAAa,CAAC,SAAS;KACvC,CAAC;IAEF,OAAO,IAAA,mCAAoB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAe,EAAE,QAAgB;IACrE,MAAM,MAAM,GAAG,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,uBAAuB,CAAC,MAAqB,EAAE,QAAgB;IAC7E,MAAM,MAAM,GAAG,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAc,EAAE,MAAc;IAC7D,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAgB,eAAe,CAAC,MAAc,EAAE,MAAc;IAC5D,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,oBAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,IAAI,oBAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,KAAS,EAAE,MAAc;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,KAAS,EAAE,MAAc;IAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,yBAAyB,CAAC,eAAoC;IAC5E,MAAM,mBAAmB,GAAyB,EAAE,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,mBAAmB,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAgB,EAAE,QAAY;IAC/D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAS,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,gBAAgB,CAAC,SAAa,EAAE,KAAa,EAAE,SAAiB,EAAE,SAAiB;IACjG,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;QAClB,OAAO,IAAA,mCAAmB,EAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QACrB,OAAO,oBAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,oBAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,oBAAO,CAAC,yBAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,qEAAqE;AACrE,SAAgB,cAAc,CAAC,KAAe;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,SAAgB,YAAY,CAAC,GAAc,EAAE,UAAqB;IAChE,IAAI,GAAG,CAAC,MAAM,CAAC,mBAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -7,7 +7,7 @@ exports.getRemoveLiquidityQuote = getRemoveLiquidityQuote;
|
|
|
7
7
|
*/
|
|
8
8
|
const whirlpool_client_sdk_1 = require("@orca-so/whirlpool-client-sdk");
|
|
9
9
|
const whirlpool_sdk_1 = require("@orca-so/whirlpool-sdk");
|
|
10
|
-
const
|
|
10
|
+
const utils_1 = require("../../utils");
|
|
11
11
|
function getRemoveLiquidityQuote(param, roundUp = false) {
|
|
12
12
|
const positionStatus = whirlpool_sdk_1.PositionUtil.getPositionStatus(param.tickCurrentIndex, param.tickLowerIndex, param.tickUpperIndex);
|
|
13
13
|
switch (positionStatus) {
|
|
@@ -30,9 +30,9 @@ function getRemoveLiquidityQuoteWhenPositionIsBelowRange(param, roundUp = false)
|
|
|
30
30
|
return {
|
|
31
31
|
positionAddress,
|
|
32
32
|
minTokenA,
|
|
33
|
-
minTokenB:
|
|
33
|
+
minTokenB: utils_1.ZERO_BN,
|
|
34
34
|
estTokenA,
|
|
35
|
-
estTokenB:
|
|
35
|
+
estTokenB: utils_1.ZERO_BN,
|
|
36
36
|
liquidity,
|
|
37
37
|
};
|
|
38
38
|
}
|
|
@@ -62,9 +62,9 @@ function getRemoveLiquidityQuoteWhenPositionIsAboveRange(param, roundUp = false)
|
|
|
62
62
|
const minTokenB = (0, whirlpool_sdk_1.adjustForSlippage)(estTokenB, slippageTolerance, roundUp);
|
|
63
63
|
return {
|
|
64
64
|
positionAddress,
|
|
65
|
-
minTokenA:
|
|
65
|
+
minTokenA: utils_1.ZERO_BN,
|
|
66
66
|
minTokenB,
|
|
67
|
-
estTokenA:
|
|
67
|
+
estTokenA: utils_1.ZERO_BN,
|
|
68
68
|
estTokenB,
|
|
69
69
|
liquidity,
|
|
70
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-liquidity.js","sourceRoot":"","sources":["../../../src/whirlpools-client/shim/remove-liquidity.ts"],"names":[],"mappings":";;AAuBA,0DAoBC;AA3CD,+GAA+G;AAC/G;;GAEG;AACH,wEAAwE;AAGxE,0DAGgC;AAChC,
|
|
1
|
+
{"version":3,"file":"remove-liquidity.js","sourceRoot":"","sources":["../../../src/whirlpools-client/shim/remove-liquidity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kamino-finance/kliquidity-sdk",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.11",
|
|
4
4
|
"description": "Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
"@coral-xyz/anchor": "^0.29.0",
|
|
50
50
|
"@coral-xyz/borsh": "^0.30.1",
|
|
51
51
|
"@hubbleprotocol/hubble-config": "^5.0.0",
|
|
52
|
-
"@jup-ag/api": "^6.0.
|
|
52
|
+
"@jup-ag/api": "^6.0.38",
|
|
53
53
|
"@kamino-finance/scope-sdk": "^8.0.2",
|
|
54
54
|
"@orca-so/whirlpool-client-sdk": "^0.0.8",
|
|
55
55
|
"@orca-so/whirlpool-sdk": "^0.4.2",
|
|
56
|
-
"@raydium-io/raydium-sdk": "=1.
|
|
56
|
+
"@raydium-io/raydium-sdk-v2": "=0.1.111-alpha",
|
|
57
57
|
"@solana/spl-token": "^0.4.9",
|
|
58
58
|
"@solana/web3.js": "^1.95.8",
|
|
59
59
|
"axios": "^1.7.8",
|
package/src/Kamino.ts
CHANGED
|
@@ -119,6 +119,7 @@ import {
|
|
|
119
119
|
getTokenNameFromCollateralInfo,
|
|
120
120
|
keyOrDefault,
|
|
121
121
|
getMintDecimals,
|
|
122
|
+
ZERO_BN,
|
|
122
123
|
} from './utils';
|
|
123
124
|
import {
|
|
124
125
|
ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
@@ -180,14 +181,6 @@ import {
|
|
|
180
181
|
} from './kamino-client/types';
|
|
181
182
|
import { AmmConfig, PersonalPositionState, PoolState } from './raydium_client';
|
|
182
183
|
import { setRaydiumProgramId } from './raydium_client/programId';
|
|
183
|
-
import {
|
|
184
|
-
getPdaProtocolPositionAddress,
|
|
185
|
-
i32ToBytes,
|
|
186
|
-
LiquidityMath,
|
|
187
|
-
SqrtPriceMath,
|
|
188
|
-
TickMath,
|
|
189
|
-
TickUtils,
|
|
190
|
-
} from '@raydium-io/raydium-sdk';
|
|
191
184
|
|
|
192
185
|
import KaminoIdl from './kamino-client/idl.json';
|
|
193
186
|
import { OrcaService, RaydiumService, Whirlpool as OrcaPool, WhirlpoolAprApy } from './services';
|
|
@@ -237,7 +230,7 @@ import {
|
|
|
237
230
|
TakeProfitMethod,
|
|
238
231
|
} from './utils/CreationParameters';
|
|
239
232
|
import { DOLAR_BASED, PROPORTION_BASED } from './constants/deposit_method';
|
|
240
|
-
import { JupService } from './services/JupService';
|
|
233
|
+
import { DEFAULT_JUP_API_ENDPOINT, JupService } from './services/JupService';
|
|
241
234
|
import {
|
|
242
235
|
simulateManualPool,
|
|
243
236
|
simulatePercentagePool,
|
|
@@ -345,6 +338,15 @@ import { BinArray, LbPair, PositionV2 } from './meteora_client/accounts';
|
|
|
345
338
|
import LbPairWithAddress from './models/LbPairWithAddress';
|
|
346
339
|
import { initializeBinArray, InitializeBinArrayAccounts, InitializeBinArrayArgs } from './meteora_client/instructions';
|
|
347
340
|
import { PubkeyHashMap } from './utils/pubkey';
|
|
341
|
+
import {
|
|
342
|
+
LiquidityMath,
|
|
343
|
+
SqrtPriceMath,
|
|
344
|
+
TickMath,
|
|
345
|
+
getPdaProtocolPositionAddress,
|
|
346
|
+
i32ToBytes,
|
|
347
|
+
TickUtils,
|
|
348
|
+
} from '@raydium-io/raydium-sdk-v2/lib';
|
|
349
|
+
|
|
348
350
|
export const KAMINO_IDL = KaminoIdl;
|
|
349
351
|
|
|
350
352
|
export class Kamino {
|
|
@@ -359,6 +361,7 @@ export class Kamino {
|
|
|
359
361
|
private readonly _orcaService: OrcaService;
|
|
360
362
|
private readonly _raydiumService: RaydiumService;
|
|
361
363
|
private readonly _meteoraService: MeteoraService;
|
|
364
|
+
private readonly _jupBaseAPI: string = DEFAULT_JUP_API_ENDPOINT;
|
|
362
365
|
|
|
363
366
|
/**
|
|
364
367
|
* Create a new instance of the Kamino SDK class.
|
|
@@ -376,7 +379,8 @@ export class Kamino {
|
|
|
376
379
|
programId?: PublicKey,
|
|
377
380
|
whirlpoolProgramId?: PublicKey,
|
|
378
381
|
raydiumProgramId?: PublicKey,
|
|
379
|
-
meteoraProgramId?: PublicKey
|
|
382
|
+
meteoraProgramId?: PublicKey,
|
|
383
|
+
jupBaseAPI?: string
|
|
380
384
|
) {
|
|
381
385
|
this._cluster = cluster;
|
|
382
386
|
this._connection = connection;
|
|
@@ -412,6 +416,10 @@ export class Kamino {
|
|
|
412
416
|
this._orcaService = new OrcaService(connection, cluster, whirlpoolProgramId);
|
|
413
417
|
this._raydiumService = new RaydiumService(connection, raydiumProgramId);
|
|
414
418
|
this._meteoraService = new MeteoraService(connection, meteoraProgramId);
|
|
419
|
+
|
|
420
|
+
if (jupBaseAPI) {
|
|
421
|
+
this._jupBaseAPI = jupBaseAPI;
|
|
422
|
+
}
|
|
415
423
|
}
|
|
416
424
|
|
|
417
425
|
getConnection = () => this._connection;
|
|
@@ -442,7 +450,10 @@ export class Kamino {
|
|
|
442
450
|
getDisabledTokensPrices = async (collateralInfos?: CollateralInfo[]) => {
|
|
443
451
|
const collInfos = collateralInfos ? collateralInfos : await this.getCollateralInfos();
|
|
444
452
|
const disabledTokens = collInfos.filter((x) => x.disabled && !x.mint.equals(PublicKey.default));
|
|
445
|
-
return JupService.getDollarPrices(
|
|
453
|
+
return JupService.getDollarPrices(
|
|
454
|
+
disabledTokens.map((x) => x.mint),
|
|
455
|
+
this._jupBaseAPI
|
|
456
|
+
);
|
|
446
457
|
};
|
|
447
458
|
|
|
448
459
|
getSupportedDexes = (): Dex[] => ['ORCA', 'RAYDIUM', 'METEORA'];
|
|
@@ -2189,7 +2200,7 @@ export class Kamino {
|
|
|
2189
2200
|
try {
|
|
2190
2201
|
const tokensPrices = disabledTokensPrices
|
|
2191
2202
|
? disabledTokensPrices
|
|
2192
|
-
: await JupService.getDollarPrices(disabledTokens);
|
|
2203
|
+
: await JupService.getDollarPrices(disabledTokens, this._jupBaseAPI);
|
|
2193
2204
|
for (const [token, price] of tokensPrices) {
|
|
2194
2205
|
const collInfo = collateralInfos.find((x) => x.mint.equals(token));
|
|
2195
2206
|
if (!collInfo) {
|
|
@@ -7382,7 +7393,7 @@ export class Kamino {
|
|
|
7382
7393
|
throw Error(`Could not fetch lb pair state with pubkey ${strategyState.pool.toString()}`);
|
|
7383
7394
|
}
|
|
7384
7395
|
|
|
7385
|
-
return { amountSlippageA:
|
|
7396
|
+
return { amountSlippageA: ZERO_BN, amountSlippageB: ZERO_BN };
|
|
7386
7397
|
}
|
|
7387
7398
|
|
|
7388
7399
|
private async getDepositRatioFromBMeteora(
|
|
@@ -7399,7 +7410,7 @@ export class Kamino {
|
|
|
7399
7410
|
throw Error(`Could not fetch lb pair state with pubkey ${strategyState.pool.toString()}`);
|
|
7400
7411
|
}
|
|
7401
7412
|
|
|
7402
|
-
return { amountSlippageA:
|
|
7413
|
+
return { amountSlippageA: ZERO_BN, amountSlippageB: ZERO_BN };
|
|
7403
7414
|
}
|
|
7404
7415
|
|
|
7405
7416
|
private getDepositRatioFromBOrca = async (
|
|
@@ -2,11 +2,11 @@ import Decimal from 'decimal.js';
|
|
|
2
2
|
import { PositionRange, RebalanceFieldInfo, RebalanceFieldsDict } from '../utils/types';
|
|
3
3
|
import { Dex, readPriceOption } from '../utils';
|
|
4
4
|
import { priceToTickIndex, sqrtPriceX64ToPrice, tickIndexToPrice } from '@orca-so/whirlpool-sdk';
|
|
5
|
-
import { SqrtPriceMath } from '@raydium-io/raydium-sdk';
|
|
6
5
|
import { RebalanceRaw } from '../kamino-client/types';
|
|
7
6
|
import { RebalanceTypeLabelName } from './consts';
|
|
8
7
|
import { upsertManyRebalanceFieldInfos } from './utils';
|
|
9
8
|
import { getPriceOfBinByBinIdWithDecimals } from '../utils/meteora';
|
|
9
|
+
import { SqrtPriceMath } from '@raydium-io/raydium-sdk-v2/lib';
|
|
10
10
|
|
|
11
11
|
export const DEFAULT_DRIFT_TICKS_PER_EPOCH = new Decimal(1);
|
|
12
12
|
export const DEFAULT_TICKS_BELOW_MID = new Decimal(10);
|
|
@@ -2,11 +2,11 @@ import Decimal from 'decimal.js';
|
|
|
2
2
|
import { PositionRange, RebalanceFieldInfo, RebalanceFieldsDict } from '../utils/types';
|
|
3
3
|
import { Dex } from '../utils';
|
|
4
4
|
import { priceToTickIndex, sqrtPriceX64ToPrice, tickIndexToPrice } from '@orca-so/whirlpool-sdk';
|
|
5
|
-
import { SqrtPriceMath } from '@raydium-io/raydium-sdk';
|
|
6
5
|
import { RebalanceRaw } from '../kamino-client/types';
|
|
7
6
|
import { RebalanceTypeLabelName } from './consts';
|
|
8
7
|
import { upsertManyRebalanceFieldInfos } from './utils';
|
|
9
8
|
import { getPriceOfBinByBinIdWithDecimals } from '../utils/meteora';
|
|
9
|
+
import { SqrtPriceMath } from '@raydium-io/raydium-sdk-v2/lib';
|
|
10
10
|
|
|
11
11
|
export const DEFAULT_TICKS_BELOW_MID = new Decimal(10);
|
|
12
12
|
export const DEFAULT_TICKS_ABOVE_MID = new Decimal(10);
|
|
@@ -5,8 +5,8 @@ import { Dex, readBigUint128LE } from '../utils';
|
|
|
5
5
|
import { sqrtPriceX64ToPrice } from '@orca-so/whirlpool-sdk';
|
|
6
6
|
import BN from 'bn.js';
|
|
7
7
|
import { RebalanceRaw } from '../kamino-client/types';
|
|
8
|
-
import { SqrtPriceMath } from '@raydium-io/raydium-sdk';
|
|
9
8
|
import { getPriceFromQ64Price } from '../utils/meteora';
|
|
9
|
+
import { SqrtPriceMath } from '@raydium-io/raydium-sdk-v2/lib';
|
|
10
10
|
|
|
11
11
|
export const DEFAULT_LOWER_RANGE_PRICE_DIFF_BPS = new Decimal(500);
|
|
12
12
|
export const DEFAULT_UPPER_RANGE_PRICE_DIFF_BPS = new Decimal(500);
|
|
@@ -8,6 +8,8 @@ import { PubkeyHashMap } from '../utils/pubkey';
|
|
|
8
8
|
|
|
9
9
|
const USDC_MINT = new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
|
|
10
10
|
|
|
11
|
+
export const DEFAULT_JUP_API_ENDPOINT = 'https://api.jup.ag';
|
|
12
|
+
|
|
11
13
|
export type SwapTransactionsResponse = {
|
|
12
14
|
setupTransaction: string | undefined;
|
|
13
15
|
swapTransaction: string;
|
|
@@ -71,11 +73,10 @@ export class JupService {
|
|
|
71
73
|
slippageBps: number,
|
|
72
74
|
asLegacyTransaction?: boolean,
|
|
73
75
|
maxAccounts?: number,
|
|
74
|
-
onlyDirectRoutes?: boolean
|
|
76
|
+
onlyDirectRoutes?: boolean,
|
|
77
|
+
jupEndpoint?: string
|
|
75
78
|
): Promise<QuoteResponse> => {
|
|
76
79
|
try {
|
|
77
|
-
const jupiterQuoteApi = createJupiterApiClient(); // config is optional
|
|
78
|
-
|
|
79
80
|
const params = {
|
|
80
81
|
inputMint: inputMint.toString(),
|
|
81
82
|
outputMint: outputMint.toString(),
|
|
@@ -86,7 +87,9 @@ export class JupService {
|
|
|
86
87
|
maxAccounts,
|
|
87
88
|
};
|
|
88
89
|
|
|
89
|
-
|
|
90
|
+
const baseURL = jupEndpoint || DEFAULT_JUP_API_ENDPOINT;
|
|
91
|
+
const res = await axios.get(`${baseURL}/swap/v1/quote`, { params });
|
|
92
|
+
return res.data as QuoteResponse;
|
|
90
93
|
} catch (error) {
|
|
91
94
|
console.log('getBestRouteQuoteV6 error', error);
|
|
92
95
|
throw error;
|
|
@@ -116,7 +119,11 @@ export class JupService {
|
|
|
116
119
|
}
|
|
117
120
|
};
|
|
118
121
|
|
|
119
|
-
static getPrice = async (
|
|
122
|
+
static getPrice = async (
|
|
123
|
+
inputMint: PublicKey | string,
|
|
124
|
+
outputMint: PublicKey | string,
|
|
125
|
+
jupEndpoint?: string
|
|
126
|
+
): Promise<number> => {
|
|
120
127
|
const params = {
|
|
121
128
|
ids: inputMint.toString(),
|
|
122
129
|
vsToken: outputMint.toString(),
|
|
@@ -128,13 +135,15 @@ export class JupService {
|
|
|
128
135
|
params.vsAmount = 100;
|
|
129
136
|
}
|
|
130
137
|
|
|
131
|
-
const
|
|
138
|
+
const baseURL = jupEndpoint || DEFAULT_JUP_API_ENDPOINT;
|
|
139
|
+
const res = await axios.get(`${baseURL}/price/v2`, { params });
|
|
132
140
|
return res.data.data[inputMint.toString()].price;
|
|
133
141
|
};
|
|
134
142
|
|
|
135
143
|
static getPrices = async (
|
|
136
144
|
inputMints: (PublicKey | string)[],
|
|
137
|
-
outputMint: PublicKey | string
|
|
145
|
+
outputMint: PublicKey | string,
|
|
146
|
+
jupEndpoint?: string
|
|
138
147
|
): Promise<PubkeyHashMap<PublicKey, Decimal>> => {
|
|
139
148
|
const mintsCommaSeparated = inputMints.map((mint) => mint.toString()).join(',');
|
|
140
149
|
const params = {
|
|
@@ -148,7 +157,8 @@ export class JupService {
|
|
|
148
157
|
params.vsAmount = 100;
|
|
149
158
|
}
|
|
150
159
|
|
|
151
|
-
const
|
|
160
|
+
const baseURL = jupEndpoint || DEFAULT_JUP_API_ENDPOINT;
|
|
161
|
+
const res = await axios.get(`${baseURL}/price/v2`, { params });
|
|
152
162
|
const prices: PubkeyHashMap<PublicKey, Decimal> = new PubkeyHashMap();
|
|
153
163
|
for (const mint of inputMints) {
|
|
154
164
|
try {
|
|
@@ -161,12 +171,15 @@ export class JupService {
|
|
|
161
171
|
return prices;
|
|
162
172
|
};
|
|
163
173
|
|
|
164
|
-
static getDollarPrices(
|
|
165
|
-
|
|
174
|
+
static getDollarPrices(
|
|
175
|
+
inputMints: (PublicKey | string)[],
|
|
176
|
+
jupEndpoint?: string
|
|
177
|
+
): Promise<PubkeyHashMap<PublicKey, Decimal>> {
|
|
178
|
+
return this.getPrices(inputMints, USDC_MINT, jupEndpoint);
|
|
166
179
|
}
|
|
167
180
|
|
|
168
|
-
static getDollarPrice = async (inputMint: PublicKey | string): Promise<number> => {
|
|
169
|
-
return this.getPrice(inputMint, USDC_MINT);
|
|
181
|
+
static getDollarPrice = async (inputMint: PublicKey | string, jupEndpoint?: string): Promise<number> => {
|
|
182
|
+
return this.getPrice(inputMint, USDC_MINT, jupEndpoint);
|
|
170
183
|
};
|
|
171
184
|
|
|
172
185
|
static buildTransactionsFromSerialized = (serializedTransactions: Array<string | undefined>): Transaction[] => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ClmmConfigInfo } from "@raydium-io/raydium-sdk-v2/lib";
|
|
2
2
|
|
|
3
3
|
export interface RaydiumPoolsResponse {
|
|
4
4
|
data: Pool[];
|
|
@@ -12,7 +12,7 @@ export interface Pool {
|
|
|
12
12
|
vaultB: string;
|
|
13
13
|
mintDecimalsA: number;
|
|
14
14
|
mintDecimalsB: number;
|
|
15
|
-
ammConfig:
|
|
15
|
+
ammConfig: ClmmConfigInfo;
|
|
16
16
|
tvl: number;
|
|
17
17
|
day: Day;
|
|
18
18
|
week: Week;
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
} from './RaydiumPoolsResponse';
|
|
7
7
|
import { PersonalPositionState, PoolState } from '../raydium_client';
|
|
8
8
|
import Decimal from 'decimal.js';
|
|
9
|
-
import { AmmV3, AmmV3PoolInfo, PositionInfoLayout, TickMath, SqrtPriceMath } from '@raydium-io/raydium-sdk';
|
|
10
9
|
import { WhirlpoolAprApy } from './WhirlpoolAprApy';
|
|
11
10
|
import { WhirlpoolStrategy } from '../kamino-client/accounts';
|
|
12
11
|
import {
|
|
@@ -21,6 +20,16 @@ import axios from 'axios';
|
|
|
21
20
|
import { FullPercentage } from '../utils/CreationParameters';
|
|
22
21
|
import { PROGRAM_ID as RAYDIUM_PROGRAM_ID } from '../raydium_client/programId';
|
|
23
22
|
import { priceToTickIndexWithRounding } from '../utils/raydium';
|
|
23
|
+
import {
|
|
24
|
+
ApiV3PoolInfoConcentratedItem,
|
|
25
|
+
Clmm,
|
|
26
|
+
PoolUtils,
|
|
27
|
+
PositionInfoLayout,
|
|
28
|
+
Raydium,
|
|
29
|
+
RaydiumLoadParams,
|
|
30
|
+
SqrtPriceMath,
|
|
31
|
+
TickMath,
|
|
32
|
+
} from '@raydium-io/raydium-sdk-v2/lib';
|
|
24
33
|
|
|
25
34
|
export class RaydiumService {
|
|
26
35
|
private readonly _connection: Connection;
|
|
@@ -38,6 +47,15 @@ export class RaydiumService {
|
|
|
38
47
|
async getRaydiumWhirlpools(): Promise<RaydiumPoolsResponse> {
|
|
39
48
|
return (await axios.get<RaydiumPoolsResponse>(`https://api.kamino.finance/v2/raydium/ammPools`)).data;
|
|
40
49
|
}
|
|
50
|
+
|
|
51
|
+
async getRaydiumPoolInfo(poolPubkey: PublicKey): Promise<ApiV3PoolInfoConcentratedItem> {
|
|
52
|
+
const raydiumLoadParams: RaydiumLoadParams = { connection: this._connection };
|
|
53
|
+
const raydium = await Raydium.load(raydiumLoadParams);
|
|
54
|
+
const rayClmm = new Clmm({ scope: raydium, moduleName: '' });
|
|
55
|
+
const otherPoolInfo = await rayClmm.getPoolInfoFromRpc(poolPubkey.toString());
|
|
56
|
+
console.log('otherPoolInfo', otherPoolInfo);
|
|
57
|
+
return otherPoolInfo.poolInfo;
|
|
58
|
+
}
|
|
41
59
|
|
|
42
60
|
async getRaydiumPoolLiquidityDistribution(
|
|
43
61
|
pool: PublicKey,
|
|
@@ -122,16 +140,6 @@ export class RaydiumService {
|
|
|
122
140
|
throw Error(`Could not get find Raydium amm pool ${strategy.pool} from Raydium API`);
|
|
123
141
|
}
|
|
124
142
|
|
|
125
|
-
const poolInfo = (
|
|
126
|
-
await AmmV3.fetchMultiplePoolInfos({
|
|
127
|
-
connection: this._connection,
|
|
128
|
-
// @ts-ignore
|
|
129
|
-
poolKeys: [raydiumPool],
|
|
130
|
-
batchRequest: true,
|
|
131
|
-
chainTime: new Date().getTime() / 1000,
|
|
132
|
-
})
|
|
133
|
-
)[strategy.pool.toString()].state;
|
|
134
|
-
|
|
135
143
|
const priceRange = getStrategyPriceRangeRaydium(
|
|
136
144
|
position.tickLowerIndex,
|
|
137
145
|
position.tickUpperIndex,
|
|
@@ -151,19 +159,21 @@ export class RaydiumService {
|
|
|
151
159
|
};
|
|
152
160
|
}
|
|
153
161
|
|
|
162
|
+
const raydiumPoolInfo = await this.getRaydiumPoolInfo(strategy.pool);
|
|
163
|
+
console.log('raydiumPoolInfo', raydiumPoolInfo);
|
|
154
164
|
const params: {
|
|
155
|
-
poolInfo:
|
|
165
|
+
poolInfo: ApiV3PoolInfoConcentratedItem;
|
|
156
166
|
aprType: 'day' | 'week' | 'month';
|
|
157
167
|
positionTickLowerIndex: number;
|
|
158
168
|
positionTickUpperIndex: number;
|
|
159
169
|
} = {
|
|
160
|
-
poolInfo,
|
|
170
|
+
poolInfo: raydiumPoolInfo,
|
|
161
171
|
aprType: 'day',
|
|
162
172
|
positionTickLowerIndex: position.tickLowerIndex,
|
|
163
173
|
positionTickUpperIndex: position.tickUpperIndex,
|
|
164
174
|
};
|
|
165
175
|
|
|
166
|
-
const { apr, feeApr, rewardsApr } =
|
|
176
|
+
const { apr, feeApr, rewardsApr } = PoolUtils.estimateAprsForPriceRangeMultiplier(params);
|
|
167
177
|
const totalApr = new Decimal(apr).div(100);
|
|
168
178
|
const fee = new Decimal(feeApr).div(100);
|
|
169
179
|
const rewards = rewardsApr.map((reward) => new Decimal(reward).div(100));
|
|
@@ -203,16 +213,6 @@ export class RaydiumService {
|
|
|
203
213
|
throw Error(`Could not get find Raydium amm pool ${poolPubkey.toString()} from Raydium API`);
|
|
204
214
|
}
|
|
205
215
|
|
|
206
|
-
const poolInfo = (
|
|
207
|
-
await AmmV3.fetchMultiplePoolInfos({
|
|
208
|
-
connection: this._connection,
|
|
209
|
-
// @ts-ignore
|
|
210
|
-
poolKeys: [raydiumPool],
|
|
211
|
-
batchRequest: true,
|
|
212
|
-
chainTime: new Date().getTime() / 1000,
|
|
213
|
-
})
|
|
214
|
-
)[poolPubkey.toString()].state;
|
|
215
|
-
|
|
216
216
|
const tickLowerIndex = TickMath.getTickWithPriceAndTickspacing(
|
|
217
217
|
priceLower,
|
|
218
218
|
poolState.tickSpacing,
|
|
@@ -246,8 +246,9 @@ export class RaydiumService {
|
|
|
246
246
|
};
|
|
247
247
|
}
|
|
248
248
|
|
|
249
|
+
const poolInfo = await this.getRaydiumPoolInfo(poolPubkey);
|
|
249
250
|
const params: {
|
|
250
|
-
poolInfo:
|
|
251
|
+
poolInfo: ApiV3PoolInfoConcentratedItem;
|
|
251
252
|
aprType: 'day' | 'week' | 'month';
|
|
252
253
|
positionTickLowerIndex: number;
|
|
253
254
|
positionTickUpperIndex: number;
|
|
@@ -258,7 +259,7 @@ export class RaydiumService {
|
|
|
258
259
|
positionTickUpperIndex: tickUpperIndex,
|
|
259
260
|
};
|
|
260
261
|
|
|
261
|
-
const { apr, feeApr, rewardsApr } =
|
|
262
|
+
const { apr, feeApr, rewardsApr } = PoolUtils.estimateAprsForPriceRangeMultiplier(params);
|
|
262
263
|
const totalApr = new Decimal(apr).div(100);
|
|
263
264
|
const fee = new Decimal(feeApr).div(100);
|
|
264
265
|
const rewards = rewardsApr.map((reward) => new Decimal(reward).div(100));
|
package/src/utils/utils.ts
CHANGED
|
@@ -19,19 +19,21 @@ import {
|
|
|
19
19
|
UpdateStrategyConfigArgs,
|
|
20
20
|
updateStrategyConfig,
|
|
21
21
|
} from '../kamino-client/instructions';
|
|
22
|
-
import { SqrtPriceMath } from '@raydium-io/raydium-sdk';
|
|
23
22
|
import { RebalanceFieldInfo, RebalanceFieldsDict } from './types';
|
|
24
23
|
import BN from 'bn.js';
|
|
25
24
|
import { PoolPriceReferenceType, TwapPriceReferenceType } from './priceReferenceTypes';
|
|
26
25
|
import { sqrtPriceX64ToPrice } from '@orca-so/whirlpool-sdk';
|
|
27
26
|
import { METEORA_PROGRAM_ID } from '../meteora_client/programId';
|
|
28
27
|
import { U64_MAX } from '../constants/numericalValues';
|
|
28
|
+
import { SqrtPriceMath } from '@raydium-io/raydium-sdk-v2/lib/raydium/clmm/utils/math';
|
|
29
29
|
|
|
30
30
|
export const DolarBasedMintingMethod = new Decimal(0);
|
|
31
31
|
export const ProportionalMintingMethod = new Decimal(1);
|
|
32
32
|
|
|
33
33
|
export const RebalanceParamOffset = new Decimal(256);
|
|
34
34
|
|
|
35
|
+
export const ZERO_BN = new BN(0);
|
|
36
|
+
|
|
35
37
|
export function sleep(ms: number) {
|
|
36
38
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
37
39
|
}
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
adjustForSlippage, getTokenAFromLiquidity,
|
|
10
10
|
getTokenBFromLiquidity, Percentage, PositionStatus, PositionUtil, RemoveLiquidityQuote,
|
|
11
11
|
} from '@orca-so/whirlpool-sdk';
|
|
12
|
-
import {
|
|
12
|
+
import { ZERO_BN } from "../../utils";
|
|
13
13
|
|
|
14
14
|
export type InternalRemoveLiquidityQuoteParam = {
|
|
15
15
|
positionAddress: PublicKey;
|
|
@@ -58,9 +58,9 @@ function getRemoveLiquidityQuoteWhenPositionIsBelowRange(
|
|
|
58
58
|
return {
|
|
59
59
|
positionAddress,
|
|
60
60
|
minTokenA,
|
|
61
|
-
minTokenB:
|
|
61
|
+
minTokenB: ZERO_BN,
|
|
62
62
|
estTokenA,
|
|
63
|
-
estTokenB:
|
|
63
|
+
estTokenB: ZERO_BN,
|
|
64
64
|
liquidity,
|
|
65
65
|
};
|
|
66
66
|
}
|
|
@@ -119,9 +119,9 @@ function getRemoveLiquidityQuoteWhenPositionIsAboveRange(
|
|
|
119
119
|
|
|
120
120
|
return {
|
|
121
121
|
positionAddress,
|
|
122
|
-
minTokenA:
|
|
122
|
+
minTokenA: ZERO_BN,
|
|
123
123
|
minTokenB,
|
|
124
|
-
estTokenA:
|
|
124
|
+
estTokenA: ZERO_BN,
|
|
125
125
|
estTokenB,
|
|
126
126
|
liquidity,
|
|
127
127
|
};
|