@kamino-finance/kliquidity-sdk 6.5.1 → 7.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.
@@ -2145,177 +2145,6 @@
2145
2145
  }
2146
2146
  ]
2147
2147
  },
2148
- {
2149
- "name": "swapUnevenVaults",
2150
- "accounts": [
2151
- {
2152
- "name": "actionsAuthority",
2153
- "isMut": true,
2154
- "isSigner": true
2155
- },
2156
- {
2157
- "name": "strategy",
2158
- "isMut": true,
2159
- "isSigner": false
2160
- },
2161
- {
2162
- "name": "globalConfig",
2163
- "isMut": false,
2164
- "isSigner": false
2165
- },
2166
- {
2167
- "name": "tokenAVault",
2168
- "isMut": true,
2169
- "isSigner": false
2170
- },
2171
- {
2172
- "name": "tokenBVault",
2173
- "isMut": true,
2174
- "isSigner": false
2175
- },
2176
- {
2177
- "name": "tokenAMint",
2178
- "isMut": false,
2179
- "isSigner": false
2180
- },
2181
- {
2182
- "name": "tokenBMint",
2183
- "isMut": false,
2184
- "isSigner": false
2185
- },
2186
- {
2187
- "name": "baseVaultAuthority",
2188
- "isMut": true,
2189
- "isSigner": false
2190
- },
2191
- {
2192
- "name": "pool",
2193
- "isMut": true,
2194
- "isSigner": false
2195
- },
2196
- {
2197
- "name": "position",
2198
- "isMut": true,
2199
- "isSigner": false
2200
- },
2201
- {
2202
- "name": "raydiumPoolConfigOrBaseVaultAuthority",
2203
- "isMut": false,
2204
- "isSigner": false
2205
- },
2206
- {
2207
- "name": "poolTokenVaultA",
2208
- "isMut": true,
2209
- "isSigner": false
2210
- },
2211
- {
2212
- "name": "poolTokenVaultB",
2213
- "isMut": true,
2214
- "isSigner": false
2215
- },
2216
- {
2217
- "name": "tickArray0",
2218
- "isMut": true,
2219
- "isSigner": false,
2220
- "docs": [
2221
- "Payer must send this correctly."
2222
- ]
2223
- },
2224
- {
2225
- "name": "tickArray1",
2226
- "isMut": true,
2227
- "isSigner": false,
2228
- "docs": [
2229
- "Payer must send this correctly."
2230
- ]
2231
- },
2232
- {
2233
- "name": "tickArray2",
2234
- "isMut": true,
2235
- "isSigner": false,
2236
- "docs": [
2237
- "Payer must send this correctly."
2238
- ]
2239
- },
2240
- {
2241
- "name": "oracle",
2242
- "isMut": true,
2243
- "isSigner": false
2244
- },
2245
- {
2246
- "name": "poolProgram",
2247
- "isMut": false,
2248
- "isSigner": false
2249
- },
2250
- {
2251
- "name": "scopePrices",
2252
- "isMut": false,
2253
- "isSigner": false
2254
- },
2255
- {
2256
- "name": "tokenInfos",
2257
- "isMut": false,
2258
- "isSigner": false
2259
- },
2260
- {
2261
- "name": "tickArrayLower",
2262
- "isMut": false,
2263
- "isSigner": false
2264
- },
2265
- {
2266
- "name": "tickArrayUpper",
2267
- "isMut": false,
2268
- "isSigner": false
2269
- },
2270
- {
2271
- "name": "tokenATokenProgram",
2272
- "isMut": false,
2273
- "isSigner": false
2274
- },
2275
- {
2276
- "name": "tokenBTokenProgram",
2277
- "isMut": false,
2278
- "isSigner": false
2279
- },
2280
- {
2281
- "name": "memoProgram",
2282
- "isMut": false,
2283
- "isSigner": false
2284
- },
2285
- {
2286
- "name": "tokenProgram",
2287
- "isMut": false,
2288
- "isSigner": false
2289
- },
2290
- {
2291
- "name": "tokenProgram2022",
2292
- "isMut": false,
2293
- "isSigner": false
2294
- },
2295
- {
2296
- "name": "instructionSysvarAccount",
2297
- "isMut": false,
2298
- "isSigner": false
2299
- },
2300
- {
2301
- "name": "consensusAccount",
2302
- "isMut": false,
2303
- "isSigner": false
2304
- },
2305
- {
2306
- "name": "eventAuthority",
2307
- "isMut": false,
2308
- "isSigner": false,
2309
- "isOptional": true
2310
- }
2311
- ],
2312
- "args": [
2313
- {
2314
- "name": "targetLimitBps",
2315
- "type": "u64"
2316
- }
2317
- ]
2318
- },
2319
2148
  {
2320
2149
  "name": "checkExpectedVaultsBalances",
2321
2150
  "accounts": [
@@ -16,6 +16,7 @@ export declare class JupService {
16
16
  static getBestRouteQuoteV6: (amount: Decimal, inputMint: PublicKey, outputMint: PublicKey, slippageBps: number, asLegacyTransaction?: boolean, maxAccounts?: number, onlyDirectRoutes?: boolean) => Promise<QuoteResponse>;
17
17
  static getSwapIxsFromQuote: (userPublicKey: PublicKey, quote: QuoteResponse, wrapUnwrapSOL?: boolean, asLegacyTransaction?: boolean) => Promise<SwapInstructionsResponse>;
18
18
  static getPrice: (inputMint: PublicKey | string, outputMint: PublicKey | string) => Promise<number>;
19
+ static getDollarPrice: (inputMint: PublicKey | string) => Promise<number>;
19
20
  static buildTransactionsFromSerialized: (serializedTransactions: Array<string | undefined>) => Transaction[];
20
21
  static deserealizeVersionedTransactions: (connection: Connection, serializedTransactions: Array<string | undefined>) => Promise<DeserializedVersionedTransaction>;
21
22
  static getLookupTableAccount: (connection: Connection, address: string | PublicKey) => Promise<import("@solana/web3.js").AddressLookupTableAccount | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"JupService.d.ts","sourceRoot":"","sources":["../../src/services/JupService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAA4C,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAA0B,MAAM,aAAa,CAAC;AAE5G,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,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAE7B,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa;IAM1D,MAAM,CAAC,cAAc,kBACJ,SAAS,UAChB,OAAO,aACJ,SAAS,cACR,SAAS,eACR,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,KACzB,OAAO,CAAC,YAAY,CAAC,CA6BtB;IAEF,MAAM,CAAC,mBAAmB,WAChB,OAAO,aACJ,SAAS,cACR,SAAS,eACR,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,KACzB,OAAO,CAAC,aAAa,CAAC,CAmBvB;IAEF,MAAM,CAAC,mBAAmB,kBACT,SAAS,SACjB,aAAa,iDAEE,OAAO,KAC5B,OAAO,CAAC,wBAAwB,CAAC,CAgBlC;IAEF,MAAM,CAAC,QAAQ,cAAqB,SAAS,GAAG,MAAM,cAAc,SAAS,GAAG,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CActG;IAEF,MAAM,CAAC,+BAA+B,2BAA4B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAG,WAAW,EAAE,CAKzG;IAEF,MAAM,CAAC,gCAAgC,eACzB,UAAU,0BACE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAChD,OAAO,CAAC,gCAAgC,CAAC,CA6B1C;IAEF,MAAM,CAAC,qBAAqB,eAAsB,UAAU,WAAW,MAAM,GAAG,SAAS,yEAEvF;CACH"}
1
+ {"version":3,"file":"JupService.d.ts","sourceRoot":"","sources":["../../src/services/JupService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAA4C,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,YAAY,EAA0B,MAAM,aAAa,CAAC;AAE5G,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,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAE7B,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa;IAM1D,MAAM,CAAC,cAAc,kBACJ,SAAS,UAChB,OAAO,aACJ,SAAS,cACR,SAAS,eACR,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,KACzB,OAAO,CAAC,YAAY,CAAC,CA6BtB;IAEF,MAAM,CAAC,mBAAmB,WAChB,OAAO,aACJ,SAAS,cACR,SAAS,eACR,MAAM,wBACG,OAAO,gBACf,MAAM,qBACD,OAAO,KACzB,OAAO,CAAC,aAAa,CAAC,CAmBvB;IAEF,MAAM,CAAC,mBAAmB,kBACT,SAAS,SACjB,aAAa,iDAEE,OAAO,KAC5B,OAAO,CAAC,wBAAwB,CAAC,CAgBlC;IAEF,MAAM,CAAC,QAAQ,cAAqB,SAAS,GAAG,MAAM,cAAc,SAAS,GAAG,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CActG;IAEF,MAAM,CAAC,cAAc,cAAqB,SAAS,GAAG,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAG5E;IAEF,MAAM,CAAC,+BAA+B,2BAA4B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAAG,WAAW,EAAE,CAKzG;IAEF,MAAM,CAAC,gCAAgC,eACzB,UAAU,0BACE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,KAChD,OAAO,CAAC,gCAAgC,CAAC,CA6B1C;IAEF,MAAM,CAAC,qBAAqB,eAAsB,UAAU,WAAW,MAAM,GAAG,SAAS,yEAEvF;CACH"}
@@ -83,6 +83,10 @@ class JupService {
83
83
  const res = await axios_1.default.get('https://quote-api.jup.ag/v6/price', { params });
84
84
  return res.data.data[inputMint.toString()].price;
85
85
  };
86
+ static getDollarPrice = async (inputMint) => {
87
+ const USDC_MINT = new web3_js_1.PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
88
+ return this.getPrice(inputMint, USDC_MINT);
89
+ };
86
90
  static buildTransactionsFromSerialized = (serializedTransactions) => {
87
91
  return serializedTransactions.filter(Boolean).map((tx) => {
88
92
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -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": "6.5.1",
3
+ "version": "7.0.1",
4
4
  "description": "Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol",
5
5
  "repository": {
6
6
  "type": "git",
@@ -55,7 +55,7 @@
55
55
  "@orca-so/whirlpool-sdk": "^0.4.2",
56
56
  "@raydium-io/raydium-sdk": "=1.3.1-beta.5",
57
57
  "@solana/spl-token": "^0.4.9",
58
- "@solana/web3.js": "1.95.8",
58
+ "@solana/web3.js": "^1.95.8",
59
59
  "axios": "^1.7.8",
60
60
  "bn.js": "^5.2.1",
61
61
  "bs58": "^6.0.0",
package/src/Kamino.ts CHANGED
@@ -2079,8 +2079,10 @@ export class Kamino {
2079
2079
  const aInvestedScaled = aInvested.div(Decimal.pow(10, decimalsA));
2080
2080
  const bInvestedScaled = bInvested.div(Decimal.pow(10, decimalsB));
2081
2081
 
2082
- const availableUsd = aPrice && bPrice ? aAvailableScaled.mul(aPrice).add(bAvailableScaled.mul(bPrice)) : new Decimal(0);
2083
- const investedUsd = aPrice && bPrice ? aInvestedScaled.mul(aPrice).add(bInvestedScaled.mul(bPrice)): new Decimal(0);
2082
+ const availableUsd =
2083
+ aPrice && bPrice ? aAvailableScaled.mul(aPrice).add(bAvailableScaled.mul(bPrice)) : new Decimal(0);
2084
+ const investedUsd =
2085
+ aPrice && bPrice ? aInvestedScaled.mul(aPrice).add(bInvestedScaled.mul(bPrice)) : new Decimal(0);
2084
2086
 
2085
2087
  return {
2086
2088
  available: {
@@ -2171,8 +2173,12 @@ export class Kamino {
2171
2173
  } else {
2172
2174
  prices = await this._scope.getOraclePrices({ prices: strategy.scopePrices });
2173
2175
  }
2174
- const aPrice = Scope.isScopeChainValid(tokenA.scopePriceChain) ? await this._scope.getPriceFromChain(tokenA.scopePriceChain, prices) : null;
2175
- const bPrice = Scope.isScopeChainValid(tokenB.scopePriceChain) ? await this._scope.getPriceFromChain(tokenB.scopePriceChain, prices) : null;
2176
+ const aPrice = Scope.isScopeChainValid(tokenA.scopePriceChain)
2177
+ ? (await this._scope.getPriceFromChain(tokenA.scopePriceChain, prices)).price
2178
+ : new Decimal(await JupService.getDollarPrice(tokenA.mint));
2179
+ const bPrice = Scope.isScopeChainValid(tokenB.scopePriceChain)
2180
+ ? (await this._scope.getPriceFromChain(tokenB.scopePriceChain, prices)).price
2181
+ : new Decimal(await JupService.getDollarPrice(tokenB.mint));
2176
2182
  const tokenATwap = stripTwapZeros(tokenA.scopeTwapPriceChain);
2177
2183
  const tokenBTwap = stripTwapZeros(tokenB.scopeTwapPriceChain);
2178
2184
  const aTwapPrice = Scope.isScopeChainValid(tokenATwap)
@@ -2182,27 +2188,33 @@ export class Kamino {
2182
2188
  ? await this._scope.getPriceFromChain(tokenBTwap, prices)
2183
2189
  : null;
2184
2190
 
2185
- const reward0Price =
2186
- strategy.reward0Decimals.toNumber() !== 0 && Scope.isScopeChainValid(rewardToken0.scopePriceChain)
2187
- ? await this._scope.getPriceFromChain(rewardToken0.scopePriceChain, prices)
2188
- : null;
2189
- const reward1Price =
2190
- strategy.reward1Decimals.toNumber() !== 0 && Scope.isScopeChainValid(rewardToken1.scopePriceChain)
2191
- ? await this._scope.getPriceFromChain(rewardToken1.scopePriceChain, prices)
2192
- : null;
2193
- const reward2Price =
2194
- strategy.reward2Decimals.toNumber() !== 0 && Scope.isScopeChainValid(rewardToken2.scopePriceChain)
2195
- ? await this._scope.getPriceFromChain(rewardToken2.scopePriceChain, prices)
2196
- : null;
2191
+ let reward0Price = null;
2192
+ if (strategy.reward0Decimals.toNumber() !== 0) {
2193
+ reward0Price = Scope.isScopeChainValid(rewardToken0.scopePriceChain)
2194
+ ? (await this._scope.getPriceFromChain(rewardToken0.scopePriceChain, prices)).price
2195
+ : new Decimal(await JupService.getDollarPrice(rewardToken0.mint));
2196
+ }
2197
+ let reward1Price = null;
2198
+ if (strategy.reward1Decimals.toNumber() !== 0) {
2199
+ reward1Price = Scope.isScopeChainValid(rewardToken1.scopePriceChain)
2200
+ ? (await this._scope.getPriceFromChain(rewardToken1.scopePriceChain, prices)).price
2201
+ : new Decimal(await JupService.getDollarPrice(rewardToken1.mint));
2202
+ }
2203
+ let reward2Price = null;
2204
+ if (strategy.reward2Decimals.toNumber() !== 0) {
2205
+ reward2Price = Scope.isScopeChainValid(rewardToken2.scopePriceChain)
2206
+ ? (await this._scope.getPriceFromChain(rewardToken2.scopePriceChain, prices)).price
2207
+ : new Decimal(await JupService.getDollarPrice(rewardToken2.mint));
2208
+ }
2197
2209
 
2198
2210
  return {
2199
- aPrice: aPrice?.price ?? null,
2200
- bPrice: bPrice?.price ?? null,
2211
+ aPrice: aPrice ?? null,
2212
+ bPrice: bPrice ?? null,
2201
2213
  aTwapPrice: aTwapPrice?.price ?? null,
2202
2214
  bTwapPrice: bTwapPrice?.price ?? null,
2203
- reward0Price: reward0Price?.price ?? null,
2204
- reward1Price: reward1Price?.price ?? null,
2205
- reward2Price: reward2Price?.price ?? null,
2215
+ reward0Price: reward0Price ?? null,
2216
+ reward1Price: reward1Price ?? null,
2217
+ reward2Price: reward2Price ?? null,
2206
2218
  };
2207
2219
  };
2208
2220
 
@@ -4199,6 +4211,16 @@ export class Kamino {
4199
4211
  ixn.keys.push({ pubkey: tokenProgram, isSigner: false, isWritable: false });
4200
4212
  }
4201
4213
  }
4214
+
4215
+ if (strategyState.strategyDex.toNumber() == dexToNumber('RAYDIUM')) {
4216
+ const [poolTickArrayBitmap, _poolTickArrayBitmapBump] = PublicKey.findProgramAddressSync(
4217
+ [Buffer.from('pool_tick_array_bitmap_extension'), strategyState.pool.toBuffer()],
4218
+ RAYDIUM_PROGRAM_ID
4219
+ );
4220
+
4221
+ ixn.keys.push({ pubkey: poolTickArrayBitmap, isSigner: false, isWritable: true });
4222
+ }
4223
+
4202
4224
  return ixn;
4203
4225
  };
4204
4226
 
@@ -129,6 +129,11 @@ export class JupService {
129
129
  return res.data.data[inputMint.toString()].price;
130
130
  };
131
131
 
132
+ static getDollarPrice = async (inputMint: PublicKey | string): Promise<number> => {
133
+ const USDC_MINT = new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
134
+ return this.getPrice(inputMint, USDC_MINT);
135
+ };
136
+
132
137
  static buildTransactionsFromSerialized = (serializedTransactions: Array<string | undefined>): Transaction[] => {
133
138
  return serializedTransactions.filter(Boolean).map((tx) => {
134
139
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion