@kamino-finance/kliquidity-sdk 8.3.1 → 8.4.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.
Files changed (91) hide show
  1. package/dist/Kamino.d.ts +16 -14
  2. package/dist/Kamino.d.ts.map +1 -1
  3. package/dist/Kamino.js +114 -125
  4. package/dist/Kamino.js.map +1 -1
  5. package/dist/constants/numericalValues.d.ts +3 -0
  6. package/dist/constants/numericalValues.d.ts.map +1 -1
  7. package/dist/constants/numericalValues.js +4 -1
  8. package/dist/constants/numericalValues.js.map +1 -1
  9. package/dist/rebalance_methods/autodriftRebalance.d.ts.map +1 -1
  10. package/dist/rebalance_methods/autodriftRebalance.js +10 -10
  11. package/dist/rebalance_methods/autodriftRebalance.js.map +1 -1
  12. package/dist/rebalance_methods/driftRebalance.d.ts.map +1 -1
  13. package/dist/rebalance_methods/driftRebalance.js +10 -10
  14. package/dist/rebalance_methods/driftRebalance.js.map +1 -1
  15. package/dist/rebalance_methods/expanderRebalance.d.ts.map +1 -1
  16. package/dist/rebalance_methods/expanderRebalance.js +3 -4
  17. package/dist/rebalance_methods/expanderRebalance.js.map +1 -1
  18. package/dist/rebalance_methods/pricePercentageRebalance.d.ts.map +1 -1
  19. package/dist/rebalance_methods/pricePercentageRebalance.js +5 -6
  20. package/dist/rebalance_methods/pricePercentageRebalance.js.map +1 -1
  21. package/dist/rebalance_methods/pricePercentageWithResetRebalance.d.ts.map +1 -1
  22. package/dist/rebalance_methods/pricePercentageWithResetRebalance.js +5 -6
  23. package/dist/rebalance_methods/pricePercentageWithResetRebalance.js.map +1 -1
  24. package/dist/rebalance_methods/takeProfitRebalance.d.ts.map +1 -1
  25. package/dist/rebalance_methods/takeProfitRebalance.js +5 -5
  26. package/dist/rebalance_methods/takeProfitRebalance.js.map +1 -1
  27. package/dist/services/JupService.d.ts.map +1 -1
  28. package/dist/services/MeteoraService.d.ts.map +1 -1
  29. package/dist/services/MeteoraService.js +4 -1
  30. package/dist/services/MeteoraService.js.map +1 -1
  31. package/dist/services/OrcaService.d.ts +7 -11
  32. package/dist/services/OrcaService.d.ts.map +1 -1
  33. package/dist/services/OrcaService.js +133 -101
  34. package/dist/services/OrcaService.js.map +1 -1
  35. package/dist/services/OrcaWhirlpoolsResponse.d.ts +63 -92
  36. package/dist/services/OrcaWhirlpoolsResponse.d.ts.map +1 -1
  37. package/dist/services/RaydiumService.d.ts.map +1 -1
  38. package/dist/services/RaydiumService.js +7 -1
  39. package/dist/services/RaydiumService.js.map +1 -1
  40. package/dist/utils/farms.d.ts +1 -0
  41. package/dist/utils/farms.d.ts.map +1 -0
  42. package/dist/utils/farms.js +2 -0
  43. package/dist/utils/farms.js.map +1 -0
  44. package/dist/utils/index.d.ts +1 -0
  45. package/dist/utils/index.d.ts.map +1 -1
  46. package/dist/utils/index.js +1 -0
  47. package/dist/utils/index.js.map +1 -1
  48. package/dist/utils/lookupTable.d.ts.map +1 -1
  49. package/dist/utils/lookupTable.js +1 -1
  50. package/dist/utils/lookupTable.js.map +1 -1
  51. package/dist/utils/orca.d.ts +37 -1
  52. package/dist/utils/orca.d.ts.map +1 -1
  53. package/dist/utils/orca.js +242 -0
  54. package/dist/utils/orca.js.map +1 -1
  55. package/dist/utils/tokenUtils.d.ts +5 -5
  56. package/dist/utils/tokenUtils.d.ts.map +1 -1
  57. package/dist/utils/tokenUtils.js +11 -7
  58. package/dist/utils/tokenUtils.js.map +1 -1
  59. package/dist/utils/transactions.d.ts.map +1 -1
  60. package/dist/utils/types.d.ts +5 -0
  61. package/dist/utils/types.d.ts.map +1 -1
  62. package/dist/utils/types.js.map +1 -1
  63. package/dist/utils/utils.d.ts +0 -1
  64. package/dist/utils/utils.d.ts.map +1 -1
  65. package/dist/utils/utils.js +3 -4
  66. package/dist/utils/utils.js.map +1 -1
  67. package/dist/utils/whirlpools.d.ts +12 -1
  68. package/dist/utils/whirlpools.d.ts.map +1 -1
  69. package/dist/utils/whirlpools.js +30 -29
  70. package/dist/utils/whirlpools.js.map +1 -1
  71. package/package.json +10 -9
  72. package/src/Kamino.ts +271 -215
  73. package/src/constants/numericalValues.ts +5 -0
  74. package/src/rebalance_methods/autodriftRebalance.ts +30 -22
  75. package/src/rebalance_methods/driftRebalance.ts +30 -22
  76. package/src/rebalance_methods/expanderRebalance.ts +7 -4
  77. package/src/rebalance_methods/pricePercentageRebalance.ts +13 -6
  78. package/src/rebalance_methods/pricePercentageWithResetRebalance.ts +13 -6
  79. package/src/rebalance_methods/takeProfitRebalance.ts +13 -5
  80. package/src/services/MeteoraService.ts +5 -2
  81. package/src/services/OrcaService.ts +163 -126
  82. package/src/services/OrcaWhirlpoolsResponse.ts +69 -101
  83. package/src/services/RaydiumService.ts +8 -2
  84. package/src/utils/farms.ts +0 -0
  85. package/src/utils/index.ts +1 -0
  86. package/src/utils/lookupTable.ts +2 -2
  87. package/src/utils/orca.ts +377 -1
  88. package/src/utils/tokenUtils.ts +5 -5
  89. package/src/utils/types.ts +7 -0
  90. package/src/utils/utils.ts +2 -4
  91. package/src/utils/whirlpools.ts +50 -31
@@ -1 +1 @@
1
- {"version":3,"file":"MeteoraService.js","sourceRoot":"","sources":["../../src/services/MeteoraService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MeteoraService.js","sourceRoot":"","sources":["../../src/services/MeteoraService.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import { Address, Rpc, SolanaRpcApi } from '@solana/kit';
2
2
  import Decimal from 'decimal.js';
3
- import { PoolData } from '@orca-so/whirlpool-sdk';
4
- import { OrcaWhirlpoolsResponse, Whirlpool } from './OrcaWhirlpoolsResponse';
5
- import { SolanaCluster } from '@hubbleprotocol/hubble-config';
3
+ import { Whirlpool as WhirlpoolAPIResponse } from './OrcaWhirlpoolsResponse';
6
4
  import { WhirlpoolStrategy } from '../@codegen/kliquidity/accounts';
7
5
  import { WhirlpoolAprApy } from './WhirlpoolAprApy';
8
6
  import { GenericPoolInfo, LiquidityDistribution } from '../utils';
@@ -11,13 +9,12 @@ import { KaminoPrices } from '../models';
11
9
  import { Connection } from '@solana/web3.js';
12
10
  export declare class OrcaService {
13
11
  private readonly _rpc;
14
- private readonly _legacyConnection;
15
12
  private readonly _whirlpoolProgramId;
16
- private readonly _orcaNetwork;
17
13
  private readonly _orcaApiUrl;
18
- constructor(rpc: Rpc<SolanaRpcApi>, legacyConnection: Connection, cluster: SolanaCluster, whirlpoolProgramId?: Address);
14
+ constructor(rpc: Rpc<SolanaRpcApi>, legacyConnection: Connection, whirlpoolProgramId?: Address);
19
15
  getWhirlpoolProgramId(): Address;
20
- getOrcaWhirlpools(): Promise<OrcaWhirlpoolsResponse>;
16
+ getOrcaWhirlpools(tokens?: Address[]): Promise<WhirlpoolAPIResponse[]>;
17
+ getOrcaWhirlpool(poolAddress: Address): Promise<WhirlpoolAPIResponse>;
21
18
  /**
22
19
  * Get token prices for a strategy - for use with orca sdk
23
20
  * @param strategy
@@ -28,11 +25,10 @@ export declare class OrcaService {
28
25
  */
29
26
  private getTokenPrices;
30
27
  private getPoolTokensPrices;
31
- getPool(poolAddress: Address): Promise<PoolData | null>;
32
- getStrategyWhirlpoolPoolAprApy(strategy: WhirlpoolStrategy, collateralInfos: CollateralInfo[], prices: KaminoPrices, whirlpools?: Whirlpool[]): Promise<WhirlpoolAprApy>;
28
+ getStrategyWhirlpoolPoolAprApy(strategy: WhirlpoolStrategy, collateralInfos: CollateralInfo[], prices: KaminoPrices): Promise<WhirlpoolAprApy>;
33
29
  getWhirlpoolLiquidityDistribution(pool: Address, keepOrder?: boolean, lowestTick?: number, highestTick?: number): Promise<LiquidityDistribution>;
34
- getWhirlpoolPositionAprApy(poolPubkey: Address, priceLower: Decimal, priceUpper: Decimal, prices: KaminoPrices, whirlpools?: Whirlpool[]): Promise<WhirlpoolAprApy>;
35
- getGenericPoolInfo(poolPubkey: Address, whirlpools?: Whirlpool[]): Promise<GenericPoolInfo>;
30
+ getWhirlpoolPositionAprApy(poolPubkey: Address, priceLower: Decimal, priceUpper: Decimal, prices: KaminoPrices, rewardsDecimals: Map<Address, number>): Promise<WhirlpoolAprApy>;
31
+ getGenericPoolInfo(poolPubkey: Address): Promise<GenericPoolInfo>;
36
32
  getPositionsCountByPool(pool: Address): Promise<number>;
37
33
  }
38
34
  //# sourceMappingURL=OrcaService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrcaService.d.ts","sourceRoot":"","sources":["../../src/services/OrcaService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAML,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEL,eAAe,EAEf,qBAAqB,EAGtB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGnC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,gBAAgB,EAAE,UAAU,EAC5B,OAAO,EAAE,aAAa,EACtB,kBAAkB,GAAE,OAA+B;IASrD,qBAAqB,IAAI,OAAO;IAI1B,iBAAiB;IAIvB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,mBAAmB;IAsBrB,OAAO,CAAC,WAAW,EAAE,OAAO;IAQ5B,8BAA8B,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,EAAE,cAAc,EAAE,EACjC,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,SAAS,EAAE,GACvB,OAAO,CAAC,eAAe,CAAC;IAkErB,iCAAiC,CACrC,IAAI,EAAE,OAAO,EACb,SAAS,GAAE,OAAc,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAqD3B,0BAA0B,CAC9B,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,SAAS,EAAE,GACvB,OAAO,CAAC,eAAe,CAAC;IAqErB,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE;IAkChE,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAc9D"}
1
+ {"version":3,"file":"OrcaService.d.ts","sourceRoot":"","sources":["../../src/services/OrcaService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAsB,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAA0B,SAAS,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAGL,eAAe,EAMf,qBAAqB,EAGtB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGnC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,gBAAgB,EAAE,UAAU,EAC5B,kBAAkB,GAAE,OAA+B;IAOrD,qBAAqB,IAAI,OAAO;IAK1B,iBAAiB,CAAC,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqD1E,gBAAgB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAW3E;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,mBAAmB;IAsBrB,8BAA8B,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,EAAE,cAAc,EAAE,EACjC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,eAAe,CAAC;IA6ErB,iCAAiC,CACrC,IAAI,EAAE,OAAO,EACb,SAAS,GAAE,OAAc,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAoD3B,0BAA0B,CAC9B,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,eAAe,CAAC;IAiErB,kBAAkB,CAAC,UAAU,EAAE,OAAO;IAsBtC,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAc9D"}
@@ -4,31 +4,80 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OrcaService = void 0;
7
+ const kit_1 = require("@solana/kit");
7
8
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
- const whirlpool_sdk_1 = require("@orca-so/whirlpool-sdk");
9
9
  const axios_1 = __importDefault(require("axios"));
10
10
  const accounts_1 = require("../@codegen/whirlpools/accounts");
11
11
  const utils_1 = require("../utils");
12
12
  const programId_1 = require("../@codegen/whirlpools/programId");
13
- const compat_1 = require("@solana/compat");
13
+ const whirlpools_core_1 = require("@orca-so/whirlpools-core");
14
14
  class OrcaService {
15
15
  _rpc;
16
- _legacyConnection;
17
16
  _whirlpoolProgramId;
18
- _orcaNetwork;
19
17
  _orcaApiUrl;
20
- constructor(rpc, legacyConnection, cluster, whirlpoolProgramId = programId_1.PROGRAM_ID) {
18
+ constructor(rpc, legacyConnection, whirlpoolProgramId = programId_1.PROGRAM_ID) {
21
19
  this._rpc = rpc;
22
- this._legacyConnection = legacyConnection;
23
20
  this._whirlpoolProgramId = whirlpoolProgramId;
24
- this._orcaNetwork = cluster === 'mainnet-beta' ? whirlpool_sdk_1.OrcaNetwork.MAINNET : whirlpool_sdk_1.OrcaNetwork.DEVNET;
25
- this._orcaApiUrl = `https://api.${cluster === 'mainnet-beta' ? 'mainnet' : 'devnet'}.orca.so`;
21
+ this._orcaApiUrl = `https://api.orca.so/v2/solana`;
26
22
  }
27
23
  getWhirlpoolProgramId() {
28
24
  return this._whirlpoolProgramId;
29
25
  }
30
- async getOrcaWhirlpools() {
31
- return (await axios_1.default.get(`${this._orcaApiUrl}/v1/whirlpool/list`)).data;
26
+ // Fetch all Orca whirlpools with pagination support (note there are over 20 pages so it may take a while)
27
+ async getOrcaWhirlpools(tokens = []) {
28
+ const maxPageSize = 1000;
29
+ const maxPages = 100; // Safety limit to prevent infinite loops
30
+ const allWhirlpools = [];
31
+ let after = undefined;
32
+ let hasMore = true;
33
+ let pageCount = 0;
34
+ while (hasMore && pageCount < maxPages) {
35
+ pageCount++;
36
+ const url = new URL(`${this._orcaApiUrl}/pools`);
37
+ url.searchParams.set('size', maxPageSize.toString());
38
+ if (after) {
39
+ url.searchParams.set('after', after);
40
+ }
41
+ // Add token filtering parameters based on the number of tokens provided
42
+ if (tokens.length === 1) {
43
+ url.searchParams.set('token', tokens[0]);
44
+ }
45
+ else if (tokens.length === 2) {
46
+ url.searchParams.set('tokensBothOf', tokens.join(','));
47
+ }
48
+ try {
49
+ const response = await axios_1.default.get(url.toString());
50
+ const data = response.data;
51
+ // Add whirlpools from this page to our collection
52
+ if (data.data && data.data.length > 0) {
53
+ allWhirlpools.push(...data.data);
54
+ }
55
+ // Check if there are more pages using the meta.cursor.next field
56
+ if (data.meta?.cursor?.next) {
57
+ after = data.meta.cursor.next;
58
+ hasMore = true;
59
+ }
60
+ else {
61
+ hasMore = false;
62
+ }
63
+ }
64
+ catch (error) {
65
+ console.error('Error fetching Orca whirlpools page:', error);
66
+ throw error;
67
+ }
68
+ }
69
+ if (pageCount >= maxPages) {
70
+ console.warn(`Reached maximum page limit (${maxPages}). There might be more whirlpools available.`);
71
+ }
72
+ return allWhirlpools;
73
+ }
74
+ async getOrcaWhirlpool(poolAddress) {
75
+ const response = await axios_1.default.get(`${this._orcaApiUrl}/pools/${poolAddress}`);
76
+ // If the API response has a nested data field that contains the actual pool data
77
+ if (response.data.data && typeof response.data.data === 'object') {
78
+ return response.data.data;
79
+ }
80
+ return response.data;
32
81
  }
33
82
  /**
34
83
  * Get token prices for a strategy - for use with orca sdk
@@ -39,7 +88,7 @@ class OrcaService {
39
88
  * @private
40
89
  */
41
90
  getTokenPrices(strategy, prices, collateralInfos) {
42
- const tokensPrices = {};
91
+ const tokensPrices = new Map();
43
92
  const tokenA = collateralInfos[strategy.tokenACollateralId.toNumber()];
44
93
  const tokenB = collateralInfos[strategy.tokenBCollateralId.toNumber()];
45
94
  const rewardToken0 = collateralInfos[strategy.reward0CollateralId.toNumber()];
@@ -50,31 +99,31 @@ class OrcaService {
50
99
  const reward0Price = strategy.reward0Decimals.toNumber() !== 0 ? prices.spot[rewardToken0.mint.toString()] : null;
51
100
  const reward1Price = strategy.reward1Decimals.toNumber() !== 0 ? prices.spot[rewardToken1.mint.toString()] : null;
52
101
  const reward2Price = strategy.reward2Decimals.toNumber() !== 0 ? prices.spot[rewardToken2.mint.toString()] : null;
53
- const [mintA, mintB] = [strategy.tokenAMint.toString(), strategy.tokenBMint.toString()];
54
- const reward0 = collateralInfos[strategy.reward0CollateralId.toNumber()]?.mint?.toString();
55
- const reward1 = collateralInfos[strategy.reward1CollateralId.toNumber()]?.mint?.toString();
56
- const reward2 = collateralInfos[strategy.reward2CollateralId.toNumber()]?.mint?.toString();
57
- tokensPrices[mintA] = aPrice.price;
58
- tokensPrices[mintB] = bPrice.price;
102
+ const [mintA, mintB] = [(0, kit_1.address)(strategy.tokenAMint.toString()), (0, kit_1.address)(strategy.tokenBMint.toString())];
103
+ const reward0 = (0, kit_1.address)(collateralInfos[strategy.reward0CollateralId.toNumber()]?.mint?.toString());
104
+ const reward1 = (0, kit_1.address)(collateralInfos[strategy.reward1CollateralId.toNumber()]?.mint?.toString());
105
+ const reward2 = (0, kit_1.address)(collateralInfos[strategy.reward2CollateralId.toNumber()]?.mint?.toString());
106
+ tokensPrices.set(mintA, aPrice.price);
107
+ tokensPrices.set(mintB, bPrice.price);
59
108
  if (reward0Price !== null) {
60
- tokensPrices[reward0] = reward0Price.price;
109
+ tokensPrices.set(reward0, reward0Price.price);
61
110
  }
62
111
  if (reward1Price !== null) {
63
- tokensPrices[reward1] = reward1Price.price;
112
+ tokensPrices.set(reward1, reward1Price.price);
64
113
  }
65
114
  if (reward2Price !== null) {
66
- tokensPrices[reward2] = reward2Price.price;
115
+ tokensPrices.set(reward2, reward2Price.price);
67
116
  }
68
117
  return tokensPrices;
69
118
  }
70
119
  getPoolTokensPrices(pool, prices) {
71
- const tokensPrices = {};
120
+ const tokensPrices = new Map();
72
121
  const tokens = [
73
- pool.tokenMintA.toString(),
74
- pool.tokenMintB.toString(),
75
- pool.rewards[0].mint.toString(),
76
- pool.rewards[1].mint.toString(),
77
- pool.rewards[2].mint.toString(),
122
+ (0, kit_1.address)(pool.tokenMintA.toString()),
123
+ (0, kit_1.address)(pool.tokenMintB.toString()),
124
+ (0, kit_1.address)(pool.rewards[0]?.mint.toString()),
125
+ (0, kit_1.address)(pool.rewards[1]?.mint.toString()),
126
+ (0, kit_1.address)(pool.rewards[2]?.mint.toString()),
78
127
  ];
79
128
  for (const mint of tokens) {
80
129
  if (mint) {
@@ -82,39 +131,27 @@ class OrcaService {
82
131
  if (!price) {
83
132
  throw new Error(`Could not get token ${mint} price`);
84
133
  }
85
- tokensPrices[mint] = price;
134
+ tokensPrices.set(mint, price);
86
135
  }
87
136
  }
88
137
  return tokensPrices;
89
138
  }
90
- async getPool(poolAddress) {
91
- const orca = new whirlpool_sdk_1.OrcaWhirlpoolClient({
92
- connection: this._legacyConnection,
93
- network: this._orcaNetwork,
94
- });
95
- return orca.getPool(poolAddress);
96
- }
97
- async getStrategyWhirlpoolPoolAprApy(strategy, collateralInfos, prices, whirlpools) {
98
- const orca = new whirlpool_sdk_1.OrcaWhirlpoolClient({
99
- connection: this._legacyConnection,
100
- network: this._orcaNetwork,
101
- });
139
+ async getStrategyWhirlpoolPoolAprApy(strategy, collateralInfos, prices) {
102
140
  const position = await accounts_1.Position.fetch(this._rpc, strategy.position);
103
141
  if (!position) {
104
142
  throw new Error(`Position ${strategy.position.toString()} does not exist`);
105
143
  }
106
- const pool = await orca.getPool(strategy.pool);
107
- if (!whirlpools) {
108
- ({ whirlpools } = await this.getOrcaWhirlpools());
109
- }
110
- const whirlpool = whirlpools?.find((x) => x.address === strategy.pool);
111
- if (!pool || !whirlpool) {
144
+ const pool = await this.getOrcaWhirlpool(strategy.pool);
145
+ if (!pool) {
112
146
  throw Error(`Could not get orca pool data for ${strategy.pool.toString()}`);
113
147
  }
114
148
  const priceRange = (0, utils_1.getStrategyPriceRangeOrca)(position.tickLowerIndex, position.tickUpperIndex, strategy, new decimal_js_1.default(pool.price.toString()));
115
149
  if (priceRange.strategyOutOfRange) {
116
150
  return {
117
- ...priceRange,
151
+ priceLower: new decimal_js_1.default(priceRange.priceLower),
152
+ priceUpper: new decimal_js_1.default(priceRange.priceUpper),
153
+ poolPrice: new decimal_js_1.default(pool.price),
154
+ strategyOutOfRange: priceRange.strategyOutOfRange,
118
155
  rewardsApy: [],
119
156
  rewardsApr: [],
120
157
  feeApy: utils_1.ZERO,
@@ -123,12 +160,25 @@ class OrcaService {
123
160
  totalApr: utils_1.ZERO,
124
161
  };
125
162
  }
126
- const lpFeeRate = pool.feePercentage;
127
- const volume24hUsd = whirlpool?.volume?.day ?? new decimal_js_1.default(0);
163
+ const lpFeeRate = new decimal_js_1.default(pool.feeRate);
164
+ const volume24hUsd = pool.stats['24h']?.volume ?? new decimal_js_1.default(0);
128
165
  const fee24Usd = new decimal_js_1.default(volume24hUsd).mul(lpFeeRate).toNumber();
129
166
  const tokensPrices = this.getTokenPrices(strategy, prices, collateralInfos);
130
- const apr = (0, whirlpool_sdk_1.estimateAprsForPriceRange)(pool, tokensPrices, fee24Usd, position.tickLowerIndex, position.tickUpperIndex);
131
- const totalApr = new decimal_js_1.default(apr.fee).add(apr.rewards[0]).add(apr.rewards[1]).add(apr.rewards[2]);
167
+ const rewardsDecimals = new Map();
168
+ if (strategy.reward0Decimals.toNumber() !== 0) {
169
+ rewardsDecimals.set((0, kit_1.address)(pool.rewards[0]?.mint), strategy.reward0Decimals.toNumber());
170
+ }
171
+ if (strategy.reward1Decimals.toNumber() !== 0) {
172
+ rewardsDecimals.set((0, kit_1.address)(pool.rewards[1]?.mint), strategy.reward1Decimals.toNumber());
173
+ }
174
+ if (strategy.reward2Decimals.toNumber() !== 0) {
175
+ rewardsDecimals.set((0, kit_1.address)(pool.rewards[2]?.mint), strategy.reward2Decimals.toNumber());
176
+ }
177
+ const apr = (0, utils_1.estimateAprsForPriceRange)(pool, tokensPrices, fee24Usd, position.tickLowerIndex, position.tickUpperIndex, rewardsDecimals);
178
+ let totalApr = new decimal_js_1.default(apr.fee);
179
+ for (const reward of apr.rewards) {
180
+ totalApr = totalApr.add(reward);
181
+ }
132
182
  const feeApr = new decimal_js_1.default(apr.fee);
133
183
  const rewardsApr = apr.rewards.map((r) => new decimal_js_1.default(r));
134
184
  return {
@@ -138,17 +188,16 @@ class OrcaService {
138
188
  feeApy: (0, utils_1.aprToApy)(feeApr, 365),
139
189
  rewardsApr,
140
190
  rewardsApy: rewardsApr.map((x) => (0, utils_1.aprToApy)(x, 365)),
141
- ...priceRange,
191
+ priceLower: new decimal_js_1.default(priceRange.priceLower),
192
+ priceUpper: new decimal_js_1.default(priceRange.priceUpper),
193
+ poolPrice: new decimal_js_1.default(pool.price),
194
+ strategyOutOfRange: priceRange.strategyOutOfRange,
142
195
  };
143
196
  }
144
197
  // strongly recommended to pass lowestTick and highestTick because fetching the lowest and highest existent takes very long
145
198
  async getWhirlpoolLiquidityDistribution(pool, keepOrder = true, lowestTick, highestTick) {
146
- const orca = new whirlpool_sdk_1.OrcaWhirlpoolClient({
147
- connection: this._legacyConnection,
148
- network: this._orcaNetwork,
149
- });
150
- const poolData = await orca.getPool(pool);
151
- if (!poolData) {
199
+ const whirlpool = await this.getOrcaWhirlpool(pool);
200
+ if (!whirlpool) {
152
201
  throw new Error(`Could not get pool data for Whirlpool ${pool}`);
153
202
  }
154
203
  let lowestInitializedTick;
@@ -156,19 +205,19 @@ class OrcaService {
156
205
  lowestInitializedTick = lowestTick;
157
206
  }
158
207
  else {
159
- lowestInitializedTick = await orca.pool.getLowestInitializedTickArrayTickIndex(pool, poolData.tickSpacing);
208
+ lowestInitializedTick = await (0, utils_1.getLowestInitializedTickArrayTickIndex)(this._rpc, pool, whirlpool.tickSpacing);
160
209
  }
161
210
  let highestInitializedTick;
162
211
  if (highestTick) {
163
212
  highestInitializedTick = highestTick;
164
213
  }
165
214
  else {
166
- highestInitializedTick = await orca.pool.getHighestInitializedTickArrayTickIndex(pool, poolData.tickSpacing);
215
+ highestInitializedTick = await (0, utils_1.getHighestInitializedTickArrayTickIndex)(this._rpc, pool, whirlpool.tickSpacing);
167
216
  }
168
- const orcaLiqDistribution = await orca.pool.getLiquidityDistribution(pool, lowestInitializedTick, highestInitializedTick);
217
+ const orcaLiqDistribution = await (0, utils_1.getLiquidityDistribution)(this._rpc, pool, whirlpool, lowestInitializedTick, highestInitializedTick, this._whirlpoolProgramId);
169
218
  const liqDistribution = {
170
- currentPrice: poolData.price,
171
- currentTickIndex: poolData.tickCurrentIndex,
219
+ currentPrice: new decimal_js_1.default(whirlpool.price),
220
+ currentTickIndex: whirlpool.tickCurrentIndex,
172
221
  distribution: [],
173
222
  };
174
223
  orcaLiqDistribution.datapoints.forEach((entry) => {
@@ -185,21 +234,13 @@ class OrcaService {
185
234
  });
186
235
  return liqDistribution;
187
236
  }
188
- async getWhirlpoolPositionAprApy(poolPubkey, priceLower, priceUpper, prices, whirlpools) {
189
- const orca = new whirlpool_sdk_1.OrcaWhirlpoolClient({
190
- connection: this._legacyConnection,
191
- network: this._orcaNetwork,
192
- });
193
- const pool = await orca.getPool(poolPubkey);
194
- if (!whirlpools) {
195
- ({ whirlpools } = await this.getOrcaWhirlpools());
196
- }
197
- const whirlpool = whirlpools?.find((x) => x.address === poolPubkey.toString());
198
- if (!pool || !whirlpool) {
237
+ async getWhirlpoolPositionAprApy(poolPubkey, priceLower, priceUpper, prices, rewardsDecimals) {
238
+ const pool = await this.getOrcaWhirlpool(poolPubkey);
239
+ if (!pool) {
199
240
  throw Error(`Could not get orca pool data for ${poolPubkey}`);
200
241
  }
201
242
  let strategyOutOfRange = false;
202
- if (priceLower.gt(pool.price) || priceUpper.lt(pool.price)) {
243
+ if (priceLower.gt(new decimal_js_1.default(pool.price)) || priceUpper.lt(new decimal_js_1.default(pool.price))) {
203
244
  strategyOutOfRange = true;
204
245
  }
205
246
  if (strategyOutOfRange) {
@@ -207,7 +248,7 @@ class OrcaService {
207
248
  priceLower,
208
249
  priceUpper,
209
250
  strategyOutOfRange,
210
- poolPrice: pool.price,
251
+ poolPrice: new decimal_js_1.default(pool.price),
211
252
  rewardsApy: [],
212
253
  rewardsApr: [],
213
254
  feeApy: utils_1.ZERO,
@@ -216,13 +257,13 @@ class OrcaService {
216
257
  totalApr: utils_1.ZERO,
217
258
  };
218
259
  }
219
- const lpFeeRate = pool.feePercentage;
220
- const volume24hUsd = whirlpool?.volume?.day ?? new decimal_js_1.default(0);
260
+ const lpFeeRate = pool.feeRate;
261
+ const volume24hUsd = pool?.stats?.['24h']?.volume ?? new decimal_js_1.default(0);
221
262
  const fee24Usd = new decimal_js_1.default(volume24hUsd).mul(lpFeeRate).toNumber();
222
263
  const tokensPrices = this.getPoolTokensPrices(pool, prices);
223
- const tickLowerIndex = (0, whirlpool_sdk_1.getNearestValidTickIndexFromTickIndex)((0, whirlpool_sdk_1.priceToTickIndex)(priceLower, pool.tokenDecimalsA, pool.tokenDecimalsB), whirlpool.tickSpacing);
224
- const tickUpperIndex = (0, whirlpool_sdk_1.getNearestValidTickIndexFromTickIndex)((0, whirlpool_sdk_1.priceToTickIndex)(priceUpper, pool.tokenDecimalsA, pool.tokenDecimalsB), whirlpool.tickSpacing);
225
- const apr = (0, whirlpool_sdk_1.estimateAprsForPriceRange)(pool, tokensPrices, fee24Usd, tickLowerIndex, tickUpperIndex);
264
+ const tickLowerIndex = (0, utils_1.getNearestValidTickIndexFromTickIndex)((0, whirlpools_core_1.priceToTickIndex)(priceLower.toNumber(), pool.tokenA.decimals, pool.tokenB.decimals), pool.tickSpacing);
265
+ const tickUpperIndex = (0, utils_1.getNearestValidTickIndexFromTickIndex)((0, whirlpools_core_1.priceToTickIndex)(priceUpper.toNumber(), pool.tokenA.decimals, pool.tokenB.decimals), pool.tickSpacing);
266
+ const apr = (0, utils_1.estimateAprsForPriceRange)(pool, tokensPrices, fee24Usd, tickLowerIndex, tickUpperIndex, rewardsDecimals);
226
267
  const totalApr = new decimal_js_1.default(apr.fee).add(apr.rewards[0]).add(apr.rewards[1]).add(apr.rewards[2]);
227
268
  const feeApr = new decimal_js_1.default(apr.fee);
228
269
  const rewardsApr = apr.rewards.map((r) => new decimal_js_1.default(r));
@@ -235,33 +276,24 @@ class OrcaService {
235
276
  rewardsApy: rewardsApr.map((x) => (0, utils_1.aprToApy)(x, 365)),
236
277
  priceLower,
237
278
  priceUpper,
238
- poolPrice: pool.price,
279
+ poolPrice: new decimal_js_1.default(pool.price),
239
280
  strategyOutOfRange,
240
281
  };
241
282
  }
242
- async getGenericPoolInfo(poolPubkey, whirlpools) {
243
- const orca = new whirlpool_sdk_1.OrcaWhirlpoolClient({
244
- connection: this._legacyConnection,
245
- network: this._orcaNetwork,
246
- });
247
- const poolString = poolPubkey.toString();
248
- const pool = await orca.getPool(poolPubkey);
249
- if (!whirlpools) {
250
- ({ whirlpools } = await this.getOrcaWhirlpools());
251
- }
252
- const whirlpool = whirlpools?.find((x) => x.address === poolString);
253
- if (!pool || !whirlpool) {
254
- throw Error(`Could not get orca pool data for ${poolString}`);
283
+ async getGenericPoolInfo(poolPubkey) {
284
+ const pool = await this.getOrcaWhirlpool(poolPubkey);
285
+ if (!pool) {
286
+ throw Error(`Could not get orca pool data for ${poolPubkey.toString()}`);
255
287
  }
256
288
  const poolInfo = {
257
289
  dex: 'ORCA',
258
290
  address: poolPubkey,
259
- tokenMintA: (0, compat_1.fromLegacyPublicKey)(pool.tokenMintA),
260
- tokenMintB: (0, compat_1.fromLegacyPublicKey)(pool.tokenMintB),
261
- price: pool.price,
262
- feeRate: pool.feePercentage,
263
- volumeOnLast7d: whirlpool.volume ? new decimal_js_1.default(whirlpool.volume?.week) : undefined,
264
- tvl: whirlpool.tvl ? new decimal_js_1.default(whirlpool.tvl) : undefined,
291
+ tokenMintA: (0, kit_1.address)(pool.tokenMintA),
292
+ tokenMintB: (0, kit_1.address)(pool.tokenMintB),
293
+ price: new decimal_js_1.default(pool.price),
294
+ feeRate: new decimal_js_1.default(pool.feeRate),
295
+ volumeOnLast7d: pool.stats['7d'] ? new decimal_js_1.default(pool.stats['7d'].volume) : undefined,
296
+ tvl: pool.tvlUsdc ? new decimal_js_1.default(pool.tvlUsdc) : undefined,
265
297
  tickSpacing: new decimal_js_1.default(pool.tickSpacing),
266
298
  // todo(Silviu): get real amount of positions
267
299
  positions: new decimal_js_1.default(0),
@@ -275,7 +307,7 @@ class OrcaService {
275
307
  filters: [
276
308
  // account LAYOUT: https://github.com/orca-so/whirlpools/blob/main/programs/whirlpool/src/state/position.rs#L20
277
309
  { dataSize: 216n },
278
- { memcmp: { bytes: pool, offset: 8n, encoding: 'base58' } },
310
+ { memcmp: { bytes: pool.toString(), offset: 8n, encoding: 'base58' } },
279
311
  ],
280
312
  })
281
313
  .send();
@@ -1 +1 @@
1
- {"version":3,"file":"OrcaService.js","sourceRoot":"","sources":["../../src/services/OrcaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrcaService.js","sourceRoot":"","sources":["../../src/services/OrcaService.ts"],"names":[],"mappings":"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"}