@kamino-finance/klend-sdk 7.3.9 → 7.3.10-beta.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.
Files changed (108) hide show
  1. package/dist/classes/action.d.ts +21 -91
  2. package/dist/classes/action.d.ts.map +1 -1
  3. package/dist/classes/action.js +141 -119
  4. package/dist/classes/action.js.map +1 -1
  5. package/dist/classes/actionTypes.d.ts +310 -0
  6. package/dist/classes/actionTypes.d.ts.map +1 -0
  7. package/dist/classes/actionTypes.js +3 -0
  8. package/dist/classes/actionTypes.js.map +1 -0
  9. package/dist/classes/market.d.ts +15 -10
  10. package/dist/classes/market.d.ts.map +1 -1
  11. package/dist/classes/market.js +49 -26
  12. package/dist/classes/market.js.map +1 -1
  13. package/dist/classes/obligation.d.ts +9 -9
  14. package/dist/classes/obligation.d.ts.map +1 -1
  15. package/dist/classes/obligation.js +48 -50
  16. package/dist/classes/obligation.js.map +1 -1
  17. package/dist/classes/obligationOrder.d.ts.map +1 -1
  18. package/dist/classes/obligationOrder.js +6 -3
  19. package/dist/classes/obligationOrder.js.map +1 -1
  20. package/dist/classes/shared.d.ts +1 -0
  21. package/dist/classes/shared.d.ts.map +1 -1
  22. package/dist/client/commands/borrow.d.ts +1 -1
  23. package/dist/client/commands/borrow.d.ts.map +1 -1
  24. package/dist/client/commands/borrow.js +11 -2
  25. package/dist/client/commands/borrow.js.map +1 -1
  26. package/dist/client/commands/deposit.d.ts +1 -1
  27. package/dist/client/commands/deposit.d.ts.map +1 -1
  28. package/dist/client/commands/deposit.js +11 -2
  29. package/dist/client/commands/deposit.js.map +1 -1
  30. package/dist/client/commands/printReserve.d.ts +1 -1
  31. package/dist/client/commands/printReserve.d.ts.map +1 -1
  32. package/dist/client/commands/printReserve.js +2 -4
  33. package/dist/client/commands/printReserve.js.map +1 -1
  34. package/dist/client/commands/repay.d.ts +1 -1
  35. package/dist/client/commands/repay.d.ts.map +1 -1
  36. package/dist/client/commands/repay.js +12 -2
  37. package/dist/client/commands/repay.js.map +1 -1
  38. package/dist/client/commands/withdraw.d.ts +1 -1
  39. package/dist/client/commands/withdraw.d.ts.map +1 -1
  40. package/dist/client/commands/withdraw.js +11 -2
  41. package/dist/client/commands/withdraw.js.map +1 -1
  42. package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -1
  43. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
  44. package/dist/lending_operations/repay_with_collateral_calcs.js +2 -2
  45. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  46. package/dist/lending_operations/repay_with_collateral_operations.d.ts +4 -4
  47. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  48. package/dist/lending_operations/repay_with_collateral_operations.js +43 -10
  49. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  50. package/dist/lending_operations/swap_collateral_operations.d.ts +4 -4
  51. package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
  52. package/dist/lending_operations/swap_collateral_operations.js +40 -21
  53. package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
  54. package/dist/leverage/operations.d.ts +6 -6
  55. package/dist/leverage/operations.d.ts.map +1 -1
  56. package/dist/leverage/operations.js +167 -52
  57. package/dist/leverage/operations.js.map +1 -1
  58. package/dist/leverage/types.d.ts +2 -2
  59. package/dist/leverage/types.d.ts.map +1 -1
  60. package/dist/manager/client_kamino_manager.js +0 -2
  61. package/dist/manager/client_kamino_manager.js.map +1 -1
  62. package/dist/obligation_orders/price_based.js +5 -3
  63. package/dist/obligation_orders/price_based.js.map +1 -1
  64. package/dist/utils/Logger.d.ts +14 -0
  65. package/dist/utils/Logger.d.ts.map +1 -0
  66. package/dist/utils/Logger.js +12 -0
  67. package/dist/utils/Logger.js.map +1 -0
  68. package/dist/utils/ObligationType.d.ts +33 -1
  69. package/dist/utils/ObligationType.d.ts.map +1 -1
  70. package/dist/utils/ObligationType.js +81 -2
  71. package/dist/utils/ObligationType.js.map +1 -1
  72. package/dist/utils/api.d.ts +13 -4
  73. package/dist/utils/api.d.ts.map +1 -1
  74. package/dist/utils/api.js +33 -31
  75. package/dist/utils/api.js.map +1 -1
  76. package/dist/utils/userMetadata.d.ts +2 -2
  77. package/dist/utils/userMetadata.d.ts.map +1 -1
  78. package/dist/utils/userMetadata.js +49 -25
  79. package/dist/utils/userMetadata.js.map +1 -1
  80. package/dist/utils/validations.d.ts +1 -0
  81. package/dist/utils/validations.d.ts.map +1 -1
  82. package/dist/utils/validations.js +5 -0
  83. package/dist/utils/validations.js.map +1 -1
  84. package/package.json +1 -1
  85. package/src/classes/action.ts +321 -347
  86. package/src/classes/actionTypes.ts +295 -0
  87. package/src/classes/market.ts +74 -31
  88. package/src/classes/obligation.ts +54 -53
  89. package/src/classes/obligationOrder.ts +6 -3
  90. package/src/classes/shared.ts +2 -0
  91. package/src/client/client.ts +17 -18
  92. package/src/client/commands/borrow.ts +10 -9
  93. package/src/client/commands/deposit.ts +10 -9
  94. package/src/client/commands/printReserve.ts +2 -4
  95. package/src/client/commands/repay.ts +11 -10
  96. package/src/client/commands/withdraw.ts +15 -9
  97. package/src/lending_operations/repay_with_collateral_calcs.ts +3 -4
  98. package/src/lending_operations/repay_with_collateral_operations.ts +40 -38
  99. package/src/lending_operations/swap_collateral_operations.ts +47 -41
  100. package/src/leverage/operations.ts +168 -129
  101. package/src/leverage/types.ts +2 -2
  102. package/src/manager/client_kamino_manager.ts +0 -2
  103. package/src/obligation_orders/price_based.ts +7 -5
  104. package/src/utils/Logger.ts +14 -0
  105. package/src/utils/ObligationType.ts +92 -1
  106. package/src/utils/api.ts +56 -33
  107. package/src/utils/userMetadata.ts +64 -30
  108. package/src/utils/validations.ts +5 -0
@@ -0,0 +1,310 @@
1
+ import { Address, Option, Slot, TransactionSigner } from '@solana/kit';
2
+ import BN from 'bn.js';
3
+ import { ObligationType, ScopePriceRefreshConfig } from '../utils';
4
+ import { KaminoObligation } from './obligation';
5
+ import { KaminoMarket } from './market';
6
+ import { ActionType } from './action';
7
+ /**
8
+ * Props for KaminoAction.initialize
9
+ */
10
+ export interface InitializeActionProps {
11
+ kaminoMarket: KaminoMarket;
12
+ action: ActionType;
13
+ amount: string | BN;
14
+ reserveAddress: Address;
15
+ owner: TransactionSigner;
16
+ obligation: KaminoObligation | ObligationType;
17
+ referrer?: Option<Address>;
18
+ currentSlot?: Slot;
19
+ payer?: TransactionSigner;
20
+ }
21
+ /**
22
+ * Props for KaminoAction.buildDepositTxns
23
+ */
24
+ export interface BuildDepositTxnsProps {
25
+ kaminoMarket: KaminoMarket;
26
+ amount: string | BN;
27
+ reserveAddress: Address;
28
+ owner: TransactionSigner;
29
+ obligation: KaminoObligation | ObligationType;
30
+ useV2Ixs: boolean;
31
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
32
+ extraComputeBudget?: number;
33
+ includeAtaIxs?: boolean;
34
+ requestElevationGroup?: boolean;
35
+ initUserMetadata?: {
36
+ skipInitialization: boolean;
37
+ skipLutCreation: boolean;
38
+ };
39
+ referrer?: Option<Address>;
40
+ currentSlot?: Slot;
41
+ overrideElevationGroupRequest?: number;
42
+ }
43
+ /**
44
+ * Props for KaminoAction.buildBorrowTxns
45
+ */
46
+ export interface BuildBorrowTxnsProps {
47
+ kaminoMarket: KaminoMarket;
48
+ amount: string | BN;
49
+ reserveAddress: Address;
50
+ owner: TransactionSigner;
51
+ obligation: KaminoObligation | ObligationType;
52
+ useV2Ixs: boolean;
53
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
54
+ extraComputeBudget?: number;
55
+ includeAtaIxs?: boolean;
56
+ requestElevationGroup?: boolean;
57
+ initUserMetadata?: {
58
+ skipInitialization: boolean;
59
+ skipLutCreation: boolean;
60
+ };
61
+ referrer?: Option<Address>;
62
+ currentSlot?: Slot;
63
+ overrideElevationGroupRequest?: number;
64
+ }
65
+ /**
66
+ * Props for KaminoAction.buildDepositReserveLiquidityTxns
67
+ */
68
+ export interface BuildDepositReserveLiquidityTxnsProps {
69
+ kaminoMarket: KaminoMarket;
70
+ amount: string | BN;
71
+ reserveAddress: Address;
72
+ owner: TransactionSigner;
73
+ obligation: KaminoObligation | ObligationType;
74
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
75
+ extraComputeBudget?: number;
76
+ includeAtaIxs?: boolean;
77
+ requestElevationGroup?: boolean;
78
+ referrer?: Option<Address>;
79
+ currentSlot?: Slot;
80
+ }
81
+ /**
82
+ * Props for KaminoAction.buildRedeemReserveCollateralTxns
83
+ */
84
+ export interface BuildRedeemReserveCollateralTxnsProps {
85
+ kaminoMarket: KaminoMarket;
86
+ amount: string | BN;
87
+ reserveAddress: Address;
88
+ owner: TransactionSigner;
89
+ obligation: KaminoObligation | ObligationType;
90
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
91
+ extraComputeBudget?: number;
92
+ includeAtaIxs?: boolean;
93
+ requestElevationGroup?: boolean;
94
+ referrer?: Option<Address>;
95
+ currentSlot?: Slot;
96
+ }
97
+ /**
98
+ * Props for KaminoAction.buildWithdrawTxns
99
+ */
100
+ export interface BuildWithdrawTxnsProps {
101
+ kaminoMarket: KaminoMarket;
102
+ amount: string | BN;
103
+ reserveAddress: Address;
104
+ owner: TransactionSigner;
105
+ obligation: KaminoObligation | ObligationType;
106
+ useV2Ixs: boolean;
107
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
108
+ extraComputeBudget?: number;
109
+ includeAtaIxs?: boolean;
110
+ requestElevationGroup?: boolean;
111
+ initUserMetadata?: {
112
+ skipInitialization: boolean;
113
+ skipLutCreation: boolean;
114
+ };
115
+ referrer?: Option<Address>;
116
+ currentSlot?: Slot;
117
+ overrideElevationGroupRequest?: number;
118
+ obligationCustomizations?: {
119
+ addedDepositReserves?: Address[];
120
+ };
121
+ }
122
+ /**
123
+ * Props for KaminoAction.buildRepayTxns
124
+ */
125
+ export interface BuildRepayTxnsProps {
126
+ kaminoMarket: KaminoMarket;
127
+ amount: string | BN;
128
+ reserveAddress: Address;
129
+ owner: TransactionSigner;
130
+ obligation: KaminoObligation | ObligationType;
131
+ useV2Ixs: boolean;
132
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
133
+ currentSlot: Slot;
134
+ extraComputeBudget?: number;
135
+ includeAtaIxs?: boolean;
136
+ requestElevationGroup?: boolean;
137
+ payer?: TransactionSigner;
138
+ initUserMetadata?: {
139
+ skipInitialization: boolean;
140
+ skipLutCreation: boolean;
141
+ };
142
+ referrer?: Option<Address>;
143
+ }
144
+ /**
145
+ * Props for KaminoAction.buildDepositAndBorrowTxns
146
+ */
147
+ export interface BuildDepositAndBorrowTxnsProps {
148
+ kaminoMarket: KaminoMarket;
149
+ depositAmount: string | BN;
150
+ depositReserveAddress: Address;
151
+ borrowAmount: string | BN;
152
+ borrowReserveAddress: Address;
153
+ owner: TransactionSigner;
154
+ obligation: KaminoObligation | ObligationType;
155
+ useV2Ixs: boolean;
156
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
157
+ extraComputeBudget?: number;
158
+ includeAtaIxs?: boolean;
159
+ requestElevationGroup?: boolean;
160
+ initUserMetadata?: {
161
+ skipInitialization: boolean;
162
+ skipLutCreation: boolean;
163
+ };
164
+ referrer?: Option<Address>;
165
+ currentSlot?: Slot;
166
+ }
167
+ /**
168
+ * Props for KaminoAction.buildRefreshObligationTxns
169
+ */
170
+ export interface BuildRefreshObligationTxnsProps {
171
+ kaminoMarket: KaminoMarket;
172
+ payer: TransactionSigner;
173
+ obligation: KaminoObligation;
174
+ extraComputeBudget?: number;
175
+ currentSlot?: Slot;
176
+ }
177
+ /**
178
+ * Props for KaminoAction.buildRequestElevationGroupTxns
179
+ */
180
+ export interface BuildRequestElevationGroupTxnsProps {
181
+ kaminoMarket: KaminoMarket;
182
+ owner: TransactionSigner;
183
+ obligation: KaminoObligation;
184
+ elevationGroup: number;
185
+ extraComputeBudget?: number;
186
+ currentSlot?: Slot;
187
+ }
188
+ /**
189
+ * Props for KaminoAction.buildDepositAndWithdrawV2Txns
190
+ */
191
+ export interface BuildDepositAndWithdrawV2TxnsProps {
192
+ kaminoMarket: KaminoMarket;
193
+ depositAmount: string | BN;
194
+ depositReserveAddress: Address;
195
+ withdrawAmount: string | BN;
196
+ withdrawReserveAddress: Address;
197
+ owner: TransactionSigner;
198
+ currentSlot: Slot;
199
+ obligation: KaminoObligation | ObligationType;
200
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
201
+ extraComputeBudget?: number;
202
+ includeAtaIxs?: boolean;
203
+ requestElevationGroup?: boolean;
204
+ initUserMetadata?: {
205
+ skipInitialization: boolean;
206
+ skipLutCreation: boolean;
207
+ };
208
+ referrer?: Option<Address>;
209
+ }
210
+ /**
211
+ * Props for KaminoAction.buildRepayAndWithdrawTxns
212
+ */
213
+ export interface BuildRepayAndWithdrawTxnsProps {
214
+ kaminoMarket: KaminoMarket;
215
+ repayAmount: string | BN;
216
+ repayReserveAddress: Address;
217
+ withdrawAmount: string | BN;
218
+ withdrawReserveAddress: Address;
219
+ payer: TransactionSigner;
220
+ currentSlot: Slot;
221
+ obligation: KaminoObligation | ObligationType;
222
+ useV2Ixs: boolean;
223
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
224
+ extraComputeBudget?: number;
225
+ includeAtaIxs?: boolean;
226
+ requestElevationGroup?: boolean;
227
+ initUserMetadata?: {
228
+ skipInitialization: boolean;
229
+ skipLutCreation: boolean;
230
+ };
231
+ referrer?: Option<Address>;
232
+ }
233
+ /**
234
+ * Props for KaminoAction.buildRepayAndWithdrawV2Txns
235
+ */
236
+ export interface BuildRepayAndWithdrawV2TxnsProps {
237
+ kaminoMarket: KaminoMarket;
238
+ repayAmount: string | BN;
239
+ repayReserveAddress: Address;
240
+ withdrawAmount: string | BN;
241
+ withdrawReserveAddress: Address;
242
+ payer: TransactionSigner;
243
+ currentSlot: Slot;
244
+ obligation: KaminoObligation | ObligationType;
245
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
246
+ extraComputeBudget?: number;
247
+ includeAtaIxs?: boolean;
248
+ requestElevationGroup?: boolean;
249
+ initUserMetadata?: {
250
+ skipInitialization: boolean;
251
+ skipLutCreation: boolean;
252
+ };
253
+ referrer?: Option<Address>;
254
+ }
255
+ /**
256
+ * Props for KaminoAction.buildLiquidateTxns
257
+ */
258
+ export interface BuildLiquidateTxnsProps {
259
+ kaminoMarket: KaminoMarket;
260
+ amount: string | BN;
261
+ minCollateralReceiveAmount: string | BN;
262
+ repayReserveAddress: Address;
263
+ withdrawReserveAddress: Address;
264
+ liquidator: TransactionSigner;
265
+ obligationOwner: Address;
266
+ obligation: KaminoObligation | ObligationType;
267
+ useV2Ixs: boolean;
268
+ scopeRefreshConfig?: ScopePriceRefreshConfig;
269
+ extraComputeBudget?: number;
270
+ includeAtaIxs?: boolean;
271
+ requestElevationGroup?: boolean;
272
+ initUserMetadata?: {
273
+ skipInitialization: boolean;
274
+ skipLutCreation: boolean;
275
+ };
276
+ referrer?: Option<Address>;
277
+ maxAllowedLtvOverridePercent?: number;
278
+ currentSlot?: Slot;
279
+ }
280
+ /**
281
+ * Props for KaminoAction.buildWithdrawReferrerFeeTxns
282
+ */
283
+ export interface BuildWithdrawReferrerFeeTxnsProps {
284
+ owner: TransactionSigner;
285
+ reserveAddress: Address;
286
+ kaminoMarket: KaminoMarket;
287
+ currentSlot?: Slot;
288
+ }
289
+ /**
290
+ * Props for KaminoAction.buildDepositObligationCollateralTxns
291
+ */
292
+ export interface BuildDepositObligationCollateralTxnsProps {
293
+ kaminoMarket: KaminoMarket;
294
+ amount: string | BN;
295
+ reserveAddress: Address;
296
+ owner: TransactionSigner;
297
+ obligation: KaminoObligation | ObligationType;
298
+ useV2Ixs: boolean;
299
+ scopeRefreshConfig: ScopePriceRefreshConfig | undefined;
300
+ extraComputeBudget?: number;
301
+ includeAtaIxs?: boolean;
302
+ requestElevationGroup?: boolean;
303
+ initUserMetadata?: {
304
+ skipInitialization: boolean;
305
+ skipLutCreation: boolean;
306
+ };
307
+ referrer?: Option<Address>;
308
+ currentSlot?: Slot;
309
+ }
310
+ //# sourceMappingURL=actionTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionTypes.d.ts","sourceRoot":"","sources":["../../src/classes/actionTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=actionTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionTypes.js","sourceRoot":"","sources":["../../src/classes/actionTypes.ts"],"names":[],"mappings":""}
@@ -26,6 +26,12 @@ export declare class KaminoMarket {
26
26
  private readonly recentSlotDurationMs;
27
27
  readonly scopeFeeds: Set<Address>;
28
28
  private constructor();
29
+ /**
30
+ * TESTING ONLY!
31
+ *
32
+ * Used to create mock markets for testing
33
+ */
34
+ static createMarket(rpc: Rpc<KaminoMarketRpcApi>, state: LendingMarket, marketAddress: Address, reserves: Map<Address, KaminoReserve>, recentSlotDurationMs: number, programId?: Address): KaminoMarket;
29
35
  /**
30
36
  * Load a new market with all of its associated reserves
31
37
  * @param rpc
@@ -62,13 +68,13 @@ export declare class KaminoMarket {
62
68
  */
63
69
  getLendingMarketAuthority(): Promise<Address>;
64
70
  getName(): string;
65
- getObligationDepositByWallet(owner: Address, mint: Address, obligationType: ObligationType): Promise<Decimal>;
66
- getObligationBorrowByWallet(owner: Address, mint: Address, obligationType: ObligationType): Promise<Decimal>;
71
+ getObligationDepositByWallet(owner: Address, depositReserveAddress: Address, obligationType: ObligationType): Promise<Decimal>;
72
+ getObligationBorrowByWallet(owner: Address, borrowReserveAddress: Address, obligationType: ObligationType): Promise<Decimal>;
67
73
  getTotalDepositTVL(): Decimal;
68
74
  getTotalBorrowTVL(): Decimal;
69
- getMaxLeverageForPair(collTokenMint: Address, debtTokenMint: Address): number;
75
+ getMaxLeverageForPair(collReserveAddress: Address, debtReserveAddress: Address): number;
70
76
  getCommonElevationGroupsForPair(collReserve: KaminoReserve, debtReserve: KaminoReserve): number[];
71
- getMaxAndLiquidationLtvAndBorrowFactorForPair(collTokenMint: Address, debtTokenMint: Address): {
77
+ getMaxAndLiquidationLtvAndBorrowFactorForPair(collReserveAddress: Address, debtReserveAddress: Address): {
72
78
  maxLtv: number;
73
79
  liquidationLtv: number;
74
80
  borrowFactor: number;
@@ -97,20 +103,19 @@ export declare class KaminoMarket {
97
103
  * reserve does not exist.
98
104
  */
99
105
  getExistingReserveByAddress(address: Address, description?: string): KaminoReserve;
100
- getReserveByMint(address: Address): KaminoReserve | undefined;
106
+ getReservesByMint(address: Address): KaminoReserve[];
101
107
  /**
102
108
  * Returns this market's reserve of the given mint address, or throws an error (including the given description) if
103
109
  * such reserve does not exist.
104
110
  */
105
- getExistingReserveByMint(address: Address, description?: string): KaminoReserve;
106
- getReserveBySymbol(symbol: string): KaminoReserve | undefined;
111
+ getExistingReservesByMint(address: Address, description?: string): KaminoReserve[];
112
+ getReservesBySymbol(symbol: string): KaminoReserve[];
107
113
  /**
108
114
  * Returns this market's reserve of the given symbol, or throws an error (including the given description) if
109
115
  * such reserve does not exist.
110
116
  */
111
- getExistingReserveBySymbol(symbol: string, description?: string): KaminoReserve;
112
- getReserveMintBySymbol(symbol: string): Address | undefined;
113
- getReserveFarmInfo(mint: Address, getRewardPrice: (mint: Address) => Promise<number>): Promise<{
117
+ getExistingReservesBySymbol(symbol: string, description?: string): KaminoReserve[];
118
+ getReserveFarmInfo(reserveAddress: Address, getRewardPrice: (mint: Address) => Promise<number>): Promise<{
114
119
  borrowingRewards: ReserveRewardInfo;
115
120
  depositingRewards: ReserveRewardInfo;
116
121
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/classes/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/classes/market.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,14 @@ class KaminoMarket {
52
52
  .filter((r) => (0, utils_1.isNotNullPubkey)(r.state.config.tokenInfo.scopeConfiguration.priceFeed))
53
53
  .map((r) => r.state.config.tokenInfo.scopeConfiguration.priceFeed));
54
54
  }
55
+ /**
56
+ * TESTING ONLY!
57
+ *
58
+ * Used to create mock markets for testing
59
+ */
60
+ static createMarket(rpc, state, marketAddress, reserves, recentSlotDurationMs, programId = programId_1.PROGRAM_ID) {
61
+ return new KaminoMarket(rpc, state, marketAddress, reserves, recentSlotDurationMs, programId);
62
+ }
55
63
  /**
56
64
  * Load a new market with all of its associated reserves
57
65
  * @param rpc
@@ -159,13 +167,13 @@ class KaminoMarket {
159
167
  getName() {
160
168
  return (0, utils_2.parseZeroPaddedUtf8)(this.state.name);
161
169
  }
162
- async getObligationDepositByWallet(owner, mint, obligationType) {
170
+ async getObligationDepositByWallet(owner, depositReserveAddress, obligationType) {
163
171
  const obligation = await this.getObligationByWallet(owner, obligationType);
164
- return obligation?.getDepositByMint(mint)?.amount ?? new decimal_js_1.default(0);
172
+ return obligation?.getDepositByReserve(depositReserveAddress)?.amount ?? new decimal_js_1.default(0);
165
173
  }
166
- async getObligationBorrowByWallet(owner, mint, obligationType) {
174
+ async getObligationBorrowByWallet(owner, borrowReserveAddress, obligationType) {
167
175
  const obligation = await this.getObligationByWallet(owner, obligationType);
168
- return obligation?.getBorrowByMint(mint)?.amount ?? new decimal_js_1.default(0);
176
+ return obligation?.getBorrowByReserve(borrowReserveAddress)?.amount ?? new decimal_js_1.default(0);
169
177
  }
170
178
  getTotalDepositTVL() {
171
179
  let tvl = new decimal_js_1.default(0);
@@ -181,8 +189,8 @@ class KaminoMarket {
181
189
  }
182
190
  return tvl;
183
191
  }
184
- getMaxLeverageForPair(collTokenMint, debtTokenMint) {
185
- const { maxLtv: maxCollateralLtv, borrowFactor } = this.getMaxAndLiquidationLtvAndBorrowFactorForPair(collTokenMint, debtTokenMint);
192
+ getMaxLeverageForPair(collReserveAddress, debtReserveAddress) {
193
+ const { maxLtv: maxCollateralLtv, borrowFactor } = this.getMaxAndLiquidationLtvAndBorrowFactorForPair(collReserveAddress, debtReserveAddress);
186
194
  const maxLeverage =
187
195
  // const ltv = (coll * ltv_factor) / (debt * borrow_factor);
188
196
  1 / (1 - (maxCollateralLtv * 100) / (borrowFactor * 100));
@@ -197,9 +205,9 @@ class KaminoMarket {
197
205
  collReserve.state.config.borrowLimitAgainstThisCollateralInElevationGroup[item - 1].gt(new bn_js_1.default(0)) &&
198
206
  this.state.elevationGroups[item - 1].debtReserve === debtReserve.address);
199
207
  }
200
- getMaxAndLiquidationLtvAndBorrowFactorForPair(collTokenMint, debtTokenMint) {
201
- const collReserve = this.getReserveByMint(collTokenMint);
202
- const debtReserve = this.getReserveByMint(debtTokenMint);
208
+ getMaxAndLiquidationLtvAndBorrowFactorForPair(collReserveAddress, debtReserveAddress) {
209
+ const collReserve = this.getReserveByAddress(collReserveAddress);
210
+ const debtReserve = this.getReserveByAddress(debtReserveAddress);
203
211
  if (!collReserve || !debtReserve) {
204
212
  throw Error('Could not find one of the reserves.');
205
213
  }
@@ -236,6 +244,22 @@ class KaminoMarket {
236
244
  obligations = obligations.filter((obligation) => obligation.getDepositByMint(collMint) !== undefined && obligation.getBorrowByMint(debtMint) !== undefined);
237
245
  break;
238
246
  }
247
+ case utils_1.LendingObligationFixedRate.tag: {
248
+ const reserveAddress = productType.toArgs().seed1;
249
+ obligations = obligations.filter((obligation) => obligation.getDepositByReserve(reserveAddress) !== undefined);
250
+ break;
251
+ }
252
+ case utils_1.LeverageObligationFixedRate.tag:
253
+ case utils_1.MultiplyObligationFixedRate.tag: {
254
+ const collReserveAddress = productType.toArgs().seed1;
255
+ const debtReserveAddress = productType.toArgs().seed2;
256
+ obligations = obligations.filter((obligation) => {
257
+ const collDeposit = obligation.getDepositByReserve(collReserveAddress);
258
+ const debtBorrow = obligation.getBorrowByReserve(debtReserveAddress);
259
+ return collDeposit !== undefined && debtBorrow !== undefined;
260
+ });
261
+ break;
262
+ }
239
263
  default:
240
264
  throw new Error('Invalid obligation type');
241
265
  }
@@ -266,7 +290,7 @@ class KaminoMarket {
266
290
  */
267
291
  getMaxLeverageBorrowableAmount(collReserve, debtReserve, slot, requestElevationGroup, obligation) {
268
292
  return obligation
269
- ? obligation.getMaxBorrowAmount(this, debtReserve.getLiquidityMint(), slot, requestElevationGroup)
293
+ ? obligation.getMaxBorrowAmount(this, debtReserve.address, slot, requestElevationGroup)
270
294
  : debtReserve.getMaxBorrowAmountWithCollReserve(this, collReserve, slot);
271
295
  }
272
296
  async loadReserves(oracleAccounts) {
@@ -318,40 +342,39 @@ class KaminoMarket {
318
342
  getExistingReserveByAddress(address, description = 'Requested') {
319
343
  return (0, validations_1.checkDefined)(this.getReserveByAddress(address), `${description} reserve ${address} not found`);
320
344
  }
321
- getReserveByMint(address) {
345
+ getReservesByMint(address) {
346
+ const reserves = [];
322
347
  for (const reserve of this.reserves.values()) {
323
348
  if (reserve.getLiquidityMint() === address) {
324
- return reserve;
349
+ reserves.push(reserve);
325
350
  }
326
351
  }
327
- return undefined;
352
+ return reserves;
328
353
  }
329
354
  /**
330
355
  * Returns this market's reserve of the given mint address, or throws an error (including the given description) if
331
356
  * such reserve does not exist.
332
357
  */
333
- getExistingReserveByMint(address, description = 'Requested') {
334
- return (0, validations_1.checkDefined)(this.getReserveByMint(address), `${description} reserve with mint ${address} not found`);
358
+ getExistingReservesByMint(address, description = 'Requested') {
359
+ return (0, validations_1.checkArrayNotEmpty)(this.getReservesByMint(address), `${description} reserve with mint ${address} not found`);
335
360
  }
336
- getReserveBySymbol(symbol) {
361
+ getReservesBySymbol(symbol) {
362
+ const reserves = [];
337
363
  for (const reserve of this.reserves.values()) {
338
364
  if (reserve.symbol === symbol) {
339
- return reserve;
365
+ reserves.push(reserve);
340
366
  }
341
367
  }
342
- return undefined;
368
+ return reserves;
343
369
  }
344
370
  /**
345
371
  * Returns this market's reserve of the given symbol, or throws an error (including the given description) if
346
372
  * such reserve does not exist.
347
373
  */
348
- getExistingReserveBySymbol(symbol, description = 'Requested') {
349
- return (0, validations_1.checkDefined)(this.getReserveBySymbol(symbol), `${description} reserve with symbol ${symbol} not found`);
350
- }
351
- getReserveMintBySymbol(symbol) {
352
- return this.getReserveBySymbol(symbol)?.getLiquidityMint();
374
+ getExistingReservesBySymbol(symbol, description = 'Requested') {
375
+ return (0, validations_1.checkArrayNotEmpty)(this.getReservesBySymbol(symbol), `${description} reserve with symbol ${symbol} not found`);
353
376
  }
354
- async getReserveFarmInfo(mint, getRewardPrice) {
377
+ async getReserveFarmInfo(reserveAddress, getRewardPrice) {
355
378
  const { address } = this;
356
379
  if (!address) {
357
380
  throw Error('Market must be initialized to call initialize.');
@@ -360,9 +383,9 @@ class KaminoMarket {
360
383
  await this.loadReserves();
361
384
  }
362
385
  // Find the reserve
363
- const kaminoReserve = this.getReserveByMint(mint);
386
+ const kaminoReserve = this.getReserveByAddress(reserveAddress);
364
387
  if (!kaminoReserve) {
365
- throw Error(`Could not find reserve. ${mint}`);
388
+ throw Error(`Could not find reserve ${reserveAddress}`);
366
389
  }
367
390
  const totalDepositAmount = lamportsToNumberDecimal(kaminoReserve.getLiquidityAvailableAmount(), kaminoReserve.stats.decimals);
368
391
  const totalBorrowAmount = lamportsToNumberDecimal(kaminoReserve.getBorrowedAmount(), kaminoReserve.stats.decimals);