@kamino-finance/kliquidity-sdk 8.0.1 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
1
  import { AccountRole, Address, IInstruction } from '@solana/kit';
2
2
  import Decimal from 'decimal.js';
3
3
  import { QuoteResponse, SwapInstructionsResponse, Instruction } from '@jup-ag/api';
4
- export declare const DEFAULT_JUP_API_ENDPOINT = "https://api.jup.ag";
4
+ export declare const DEFAULT_JUP_API_ENDPOINT = "https://lite-api.jup.ag/";
5
+ export declare const DEFAULT_JUP_API_SWAP_ENDPOINT = "https://lite-api.jup.ag/swap/v1/quote";
5
6
  export type SwapTransactionsResponse = {
6
7
  setupTransaction: string | undefined;
7
8
  swapTransaction: string;
@@ -1 +1 @@
1
- {"version":3,"file":"JupService.d.ts","sourceRoot":"","sources":["../../src/services/JupService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAA0B,WAAW,EAAE,MAAM,aAAa,CAAC;AAI3G,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,UAAU,yBAAyB;IACjC,sBAAsB,CAAC,EAAE,YAAY,CAAC;IACtC,yBAAyB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,eAAe,EAAE,YAAY,CAAC;IAC9B,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAClC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,qBAAa,UAAU;IAErB,MAAM,CAAC,cAAc,gBACN,OAAO,UACZ,OAAO,aACJ,OAAO,cACN,OAAO,eACN,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,KACzB,OAAO,CAAC,yBAAyB,CAAC,CA0CnC;IAEF,MAAM,CAAC,mBAAmB,WAChB,OAAO,aACJ,OAAO,cACN,OAAO,eACN,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,gBACZ,MAAM,KACnB,OAAO,CAAC,aAAa,CAAC,CAmBvB;IAEF,MAAM,CAAC,mBAAmB,gBACX,OAAO,SACb,aAAa,iDAEE,OAAO,KAC5B,OAAO,CAAC,wBAAwB,CAAC,CAgBlC;IAEF,MAAM,CAAC,QAAQ,cACF,OAAO,GAAG,MAAM,cACf,OAAO,GAAG,MAAM,gBACd,MAAM,KACnB,OAAO,CAAC,MAAM,CAAC,CAehB;IAEF,MAAM,CAAC,SAAS,eACF,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,cACpB,OAAO,GAAG,MAAM,gBACd,MAAM,KACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CA6B/B;IAEF,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAI9G,MAAM,CAAC,cAAc,cAAqB,OAAO,GAAG,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAEhG;CACH;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,YAAY,CASjE;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CAWtG"}
1
+ {"version":3,"file":"JupService.d.ts","sourceRoot":"","sources":["../../src/services/JupService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAA0B,WAAW,EAAE,MAAM,aAAa,CAAC;AAI3G,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,6BAA6B,0CAA0C,CAAC;AAErF,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,UAAU,yBAAyB;IACjC,sBAAsB,CAAC,EAAE,YAAY,CAAC;IACtC,yBAAyB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,eAAe,EAAE,YAAY,CAAC;IAC9B,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAClC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,qBAAa,UAAU;IAErB,MAAM,CAAC,cAAc,gBACN,OAAO,UACZ,OAAO,aACJ,OAAO,cACN,OAAO,eACN,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,KACzB,OAAO,CAAC,yBAAyB,CAAC,CA4CnC;IAEF,MAAM,CAAC,mBAAmB,WAChB,OAAO,aACJ,OAAO,cACN,OAAO,eACN,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,gBACZ,MAAM,KACnB,OAAO,CAAC,aAAa,CAAC,CAmBvB;IAEF,MAAM,CAAC,mBAAmB,gBACX,OAAO,SACb,aAAa,iDAEE,OAAO,KAC5B,OAAO,CAAC,wBAAwB,CAAC,CAkBlC;IAEF,MAAM,CAAC,QAAQ,cACF,OAAO,GAAG,MAAM,cACf,OAAO,GAAG,MAAM,gBACd,MAAM,KACnB,OAAO,CAAC,MAAM,CAAC,CAehB;IAEF,MAAM,CAAC,SAAS,eACF,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,cACpB,OAAO,GAAG,MAAM,gBACd,MAAM,KACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CA6B/B;IAEF,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAI9G,MAAM,CAAC,cAAc,cAAqB,OAAO,GAAG,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAEhG;CACH;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,YAAY,CASjE;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CAWtG"}
@@ -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.JupService = exports.DEFAULT_JUP_API_ENDPOINT = void 0;
6
+ exports.JupService = exports.DEFAULT_JUP_API_SWAP_ENDPOINT = exports.DEFAULT_JUP_API_ENDPOINT = void 0;
7
7
  exports.transformResponseIx = transformResponseIx;
8
8
  exports.getAccountRole = getAccountRole;
9
9
  const kit_1 = require("@solana/kit");
@@ -11,13 +11,16 @@ const axios_1 = __importDefault(require("axios"));
11
11
  const decimal_js_1 = __importDefault(require("decimal.js"));
12
12
  const api_1 = require("@jup-ag/api");
13
13
  const USDC_MINT = (0, kit_1.address)('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
14
- exports.DEFAULT_JUP_API_ENDPOINT = 'https://api.jup.ag';
14
+ exports.DEFAULT_JUP_API_ENDPOINT = 'https://lite-api.jup.ag/';
15
+ exports.DEFAULT_JUP_API_SWAP_ENDPOINT = 'https://lite-api.jup.ag/swap/v1/quote';
15
16
  class JupService {
16
17
  // the amounts has to be in lamports
17
18
  static getBestRouteV6 = async (userAddress, amount, inputMint, outputMint, slippageBps, asLegacyTransaction, maxAccounts, onlyDirectRoutes) => {
18
19
  try {
19
- const jupiterQuoteApi = (0, api_1.createJupiterApiClient)(); // config is optional
20
- // quote-api.jup.ag/v6/quote?inputMint=7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj&outputMint=mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So&amount=71101983&slippageBps=10&onlyDirectRoutes=false&asLegacyTransaction=false&maxAccounts=33
20
+ const jupiterQuoteApi = (0, api_1.createJupiterApiClient)({
21
+ basePath: exports.DEFAULT_JUP_API_SWAP_ENDPOINT,
22
+ });
23
+ // https://lite-api.jup.ag/swap/v1/quote?inputMint=7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj&outputMint=mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So&amount=71101983&slippageBps=10&onlyDirectRoutes=false&asLegacyTransaction=false&maxAccounts=33
21
24
  const res = await this.getBestRouteQuoteV6(amount, inputMint, outputMint, slippageBps, asLegacyTransaction, maxAccounts, onlyDirectRoutes);
22
25
  const ixsResponse = await jupiterQuoteApi.swapInstructionsPost({
23
26
  swapRequest: {
@@ -67,7 +70,9 @@ class JupService {
67
70
  };
68
71
  static getSwapIxsFromQuote = async (userAddress, quote, wrapUnwrapSOL = true, asLegacyTransaction) => {
69
72
  try {
70
- const jupiterQuoteApi = (0, api_1.createJupiterApiClient)(); // config is optional
73
+ const jupiterQuoteApi = (0, api_1.createJupiterApiClient)({
74
+ basePath: exports.DEFAULT_JUP_API_SWAP_ENDPOINT,
75
+ });
71
76
  return await jupiterQuoteApi.swapInstructionsPost({
72
77
  swapRequest: {
73
78
  quoteResponse: quote,
@@ -1 +1 @@
1
- {"version":3,"file":"JupService.js","sourceRoot":"","sources":["../../src/services/JupService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JupService.js","sourceRoot":"","sources":["../../src/services/JupService.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": "8.0.1",
3
+ "version": "8.1.0",
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.38",
52
+ "@jup-ag/api": "6.0.39",
53
53
  "@kamino-finance/scope-sdk": "^9.0.0",
54
54
  "@orca-so/whirlpool-client-sdk": "^0.0.8",
55
55
  "@orca-so/whirlpool-sdk": "^0.4.2",
56
- "@raydium-io/raydium-sdk-v2": "^0.1.111-alpha",
56
+ "@raydium-io/raydium-sdk-v2": "^0.1.126-alpha",
57
57
  "@solana-program/address-lookup-table": "^0.7.0",
58
58
  "@solana-program/compute-budget": "^0.7.0",
59
59
  "@solana-program/system": "^0.7.0",
package/src/Kamino.ts CHANGED
@@ -5999,6 +5999,63 @@ export class Kamino {
5999
5999
  return rebalanceFields;
6000
6000
  }
6001
6001
 
6002
+ /**
6003
+ * Get the current withdrawal caps for a strategy
6004
+ */
6005
+ async getStrategyCurrentWithdrawalCaps(strategy: Address | StrategyWithAddress): Promise<TokenAmounts> {
6006
+ const strategyWithAddress = await this.getStrategyStateIfNotFetched(strategy);
6007
+
6008
+ const tokenAWithdrawalCap = strategyWithAddress.strategy.withdrawalCapA;
6009
+ const tokenBWithdrawalCap = strategyWithAddress.strategy.withdrawalCapB;
6010
+ let tokenAWithdrawalCapTokens = Decimal.max(
6011
+ new Decimal(tokenAWithdrawalCap.configCapacity.toString()).sub(tokenAWithdrawalCap.currentTotal.toString()),
6012
+ ZERO
6013
+ );
6014
+ let tokenBWithdrawalCapTokens = Decimal.max(
6015
+ new Decimal(tokenBWithdrawalCap.configCapacity.toString()).sub(tokenBWithdrawalCap.currentTotal.toString()),
6016
+ ZERO
6017
+ );
6018
+ if (tokenAWithdrawalCap.configIntervalLengthSeconds.toNumber() == 0) {
6019
+ tokenAWithdrawalCapTokens = new Decimal(Number.MAX_VALUE);
6020
+ }
6021
+ if (tokenBWithdrawalCap.configIntervalLengthSeconds.toNumber() == 0) {
6022
+ tokenBWithdrawalCapTokens = new Decimal(Number.MAX_VALUE);
6023
+ }
6024
+ return {
6025
+ a: lamportsToNumberDecimal(tokenAWithdrawalCapTokens, strategyWithAddress.strategy.tokenAMintDecimals.toNumber()),
6026
+ b: lamportsToNumberDecimal(tokenBWithdrawalCapTokens, strategyWithAddress.strategy.tokenBMintDecimals.toNumber()),
6027
+ };
6028
+ }
6029
+
6030
+ /**
6031
+ * Get the max USD value that can be deposited per ix for a strategy
6032
+ */
6033
+ async getStrategyDepositCapInUSDPerIx(strategy: Address | StrategyWithAddress): Promise<Decimal> {
6034
+ const strategyWithAddress = await this.getStrategyStateIfNotFetched(strategy);
6035
+ return lamportsToNumberDecimal(new Decimal(strategyWithAddress.strategy.depositCapUsdPerIxn.toString()), 6);
6036
+ }
6037
+
6038
+ async getStrategyMaxDepositInUSD(strategy: Address | StrategyWithAddress): Promise<Decimal> {
6039
+ const strategyWithAddress = await this.getStrategyStateIfNotFetched(strategy);
6040
+ const depositCapInUSDPerIx = await this.getStrategyDepositCapInUSDPerIx(strategy);
6041
+
6042
+ // return the min between deposit cap per ix and the cap left in the deposit
6043
+ const depositCapInTokens = lamportsToNumberDecimal(
6044
+ new Decimal(strategyWithAddress.strategy.depositCapUsd.toString()),
6045
+ 6
6046
+ );
6047
+
6048
+ // read the tvl from API
6049
+ const url = `https://api.hubbleprotocol.io/strategies/${strategyWithAddress.address.toString()}/metrics?env=mainnet-beta`;
6050
+ const response = await fetch(url);
6051
+ const data = (await response.json()) as { totalValueLocked: number };
6052
+ const tvl = new Decimal(data.totalValueLocked);
6053
+
6054
+ const spaceLeftInDeposit = Decimal.max(depositCapInTokens.sub(tvl), ZERO);
6055
+
6056
+ return Decimal.min(depositCapInUSDPerIx, spaceLeftInDeposit);
6057
+ }
6058
+
6002
6059
  /**
6003
6060
  * Get the prices for rebalancing params (range and reset range, if strategy involves a reset range)
6004
6061
  */
@@ -5,7 +5,8 @@ import { QuoteResponse, SwapInstructionsResponse, createJupiterApiClient, Instru
5
5
 
6
6
  const USDC_MINT = address('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
7
7
 
8
- export const DEFAULT_JUP_API_ENDPOINT = 'https://api.jup.ag';
8
+ export const DEFAULT_JUP_API_ENDPOINT = 'https://lite-api.jup.ag/';
9
+ export const DEFAULT_JUP_API_SWAP_ENDPOINT = 'https://lite-api.jup.ag/swap/v1/quote';
9
10
 
10
11
  export type SwapTransactionsResponse = {
11
12
  setupTransaction: string | undefined;
@@ -35,9 +36,11 @@ export class JupService {
35
36
  onlyDirectRoutes?: boolean
36
37
  ): Promise<SwapIInstructionsResponse> => {
37
38
  try {
38
- const jupiterQuoteApi = createJupiterApiClient(); // config is optional
39
+ const jupiterQuoteApi = createJupiterApiClient({
40
+ basePath: DEFAULT_JUP_API_SWAP_ENDPOINT,
41
+ });
39
42
 
40
- // quote-api.jup.ag/v6/quote?inputMint=7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj&outputMint=mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So&amount=71101983&slippageBps=10&onlyDirectRoutes=false&asLegacyTransaction=false&maxAccounts=33
43
+ // https://lite-api.jup.ag/swap/v1/quote?inputMint=7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj&outputMint=mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So&amount=71101983&slippageBps=10&onlyDirectRoutes=false&asLegacyTransaction=false&maxAccounts=33
41
44
 
42
45
  const res = await this.getBestRouteQuoteV6(
43
46
  amount,
@@ -114,7 +117,9 @@ export class JupService {
114
117
  asLegacyTransaction?: boolean
115
118
  ): Promise<SwapInstructionsResponse> => {
116
119
  try {
117
- const jupiterQuoteApi = createJupiterApiClient(); // config is optional
120
+ const jupiterQuoteApi = createJupiterApiClient({
121
+ basePath: DEFAULT_JUP_API_SWAP_ENDPOINT,
122
+ });
118
123
 
119
124
  return await jupiterQuoteApi.swapInstructionsPost({
120
125
  swapRequest: {