@kamino-finance/klend-sdk 7.4.0-beta.3 → 7.4.0-beta.4
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/classes/market.d.ts +102 -7
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +153 -8
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/reserve.d.ts +9 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +20 -0
- package/dist/classes/reserve.js.map +1 -1
- package/dist/utils/ReserveKind.d.ts +57 -0
- package/dist/utils/ReserveKind.d.ts.map +1 -0
- package/dist/utils/ReserveKind.js +76 -0
- package/dist/utils/ReserveKind.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/market.ts +183 -8
- package/src/classes/reserve.ts +24 -0
- package/src/utils/ReserveKind.ts +94 -0
- package/src/utils/index.ts +1 -0
package/dist/classes/market.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Address, Commitment, GetAccountInfoApi, GetBalanceApi, GetMinimumBalanc
|
|
|
2
2
|
import { KaminoObligation } from './obligation';
|
|
3
3
|
import { KaminoReserve, KaminoReserveRpcApi } from './reserve';
|
|
4
4
|
import { LendingMarket, ReferrerTokenState, Reserve, UserMetadata } from '../@codegen/klend/accounts';
|
|
5
|
-
import { AllOracleAccounts, ObligationType } from '../utils';
|
|
5
|
+
import { AllOracleAccounts, ObligationType, ReserveKind } from '../utils';
|
|
6
6
|
import Decimal from 'decimal.js';
|
|
7
7
|
import { Scope } from '@kamino-finance/scope-sdk';
|
|
8
8
|
import { OraclePrices } from '@kamino-finance/scope-sdk/dist/@codegen/scope/accounts/OraclePrices';
|
|
@@ -103,18 +103,113 @@ export declare class KaminoMarket {
|
|
|
103
103
|
* reserve does not exist.
|
|
104
104
|
*/
|
|
105
105
|
getExistingReserveByAddress(address: Address, description?: string): KaminoReserve;
|
|
106
|
-
getReservesByMint(address: Address): KaminoReserve[];
|
|
107
106
|
/**
|
|
108
|
-
* Returns
|
|
109
|
-
*
|
|
107
|
+
* Returns all reserves for the given mint address (both float rate and fixed rate).
|
|
108
|
+
*
|
|
109
|
+
* @param mint The liquidity mint address
|
|
110
|
+
* @returns Array of all reserves for this mint
|
|
110
111
|
*/
|
|
112
|
+
getReservesByMint(address: Address): KaminoReserve[];
|
|
111
113
|
getExistingReservesByMint(address: Address, description?: string): KaminoReserve[];
|
|
112
|
-
getReservesBySymbol(symbol: string): KaminoReserve[];
|
|
113
114
|
/**
|
|
114
|
-
* Returns this market's reserve
|
|
115
|
-
*
|
|
115
|
+
* Returns this market's reserve matching the given mint address and reserve kind.
|
|
116
|
+
* Since a market can have multiple reserves for the same mint (with different terms),
|
|
117
|
+
* the reserve kind specifies which reserve to select.
|
|
118
|
+
*
|
|
119
|
+
* Example for fixed-term reserves:
|
|
120
|
+
* const fixedReserveKind = new FixedReserveKind(new BN(30 * 24 * 60 * 60), 500); // 30 days, 5% borrow rate
|
|
121
|
+
* const fixedReserve = market.getReserveByMintAndKind(tokenMint, fixedReserveKind)!;
|
|
122
|
+
|
|
123
|
+
* @param mint The liquidity mint address
|
|
124
|
+
* @param reserveKind The reserve kind to match (e.g., FloatRateReserveKind or FixedRateReserveKind)
|
|
125
|
+
*/
|
|
126
|
+
getReserveByMintAndKind(mint: Address, reserveKind: ReserveKind): KaminoReserve | undefined;
|
|
127
|
+
/**
|
|
128
|
+
* Returns this market's reserve matching the given mint address and reserve kind,
|
|
129
|
+
* or throws an error if not found.
|
|
130
|
+
*
|
|
131
|
+
* @param mint The liquidity mint address
|
|
132
|
+
* @param reserveKind The reserve kind to match
|
|
133
|
+
* @param description Optional description for the error message
|
|
134
|
+
*/
|
|
135
|
+
getExistingReserveByMintAndKind(mint: Address, reserveKind: ReserveKind, description?: string): KaminoReserve;
|
|
136
|
+
/**
|
|
137
|
+
* Returns this market's float rate reserve for the given mint address.
|
|
138
|
+
* Float rate reserves are reserves without a fixed term (debtTermSeconds = 0).
|
|
139
|
+
*
|
|
140
|
+
* @param mint The liquidity mint address
|
|
141
|
+
* @returns The float rate reserve, or undefined if not found
|
|
142
|
+
*/
|
|
143
|
+
getFloatRateReserveByMint(mint: Address): KaminoReserve | undefined;
|
|
144
|
+
/**
|
|
145
|
+
* Returns this market's float rate reserve for the given mint address,
|
|
146
|
+
* or throws an error if not found.
|
|
147
|
+
*
|
|
148
|
+
* @param mint The liquidity mint address
|
|
149
|
+
* @param description Optional description for the error message
|
|
150
|
+
* @returns The float rate reserve
|
|
151
|
+
*/
|
|
152
|
+
getExistingFloatRateReserveByMint(mint: Address, description?: string): KaminoReserve;
|
|
153
|
+
/**
|
|
154
|
+
* Returns all fixed rate reserves for the given mint address.
|
|
155
|
+
* Fixed rate reserves have a non-zero debt term (debtTermSeconds > 0).
|
|
156
|
+
*
|
|
157
|
+
* @param mint The liquidity mint address
|
|
158
|
+
* @returns Array of all fixed rate reserves for this mint
|
|
159
|
+
*/
|
|
160
|
+
getFixedRateReservesByMint(mint: Address): KaminoReserve[];
|
|
161
|
+
/**
|
|
162
|
+
* Returns all reserves for the given symbol (both float rate and fixed rate).
|
|
163
|
+
*
|
|
164
|
+
* @param symbol The reserve symbol
|
|
165
|
+
* @returns Array of all reserves for this symbol
|
|
116
166
|
*/
|
|
167
|
+
getReservesBySymbol(symbol: string): KaminoReserve[];
|
|
117
168
|
getExistingReservesBySymbol(symbol: string, description?: string): KaminoReserve[];
|
|
169
|
+
/**
|
|
170
|
+
* Returns this market's reserve matching the given symbol and reserve kind.
|
|
171
|
+
* Since a market can have multiple reserves for the same symbol (with different terms),
|
|
172
|
+
* the reserve kind specifies which reserve to select.
|
|
173
|
+
*
|
|
174
|
+
* @param symbol The reserve symbol
|
|
175
|
+
* @param reserveKind The reserve kind to match (e.g., FloatRateReserveKind or FixedRateReserveKind)
|
|
176
|
+
*/
|
|
177
|
+
getReserveBySymbolAndKind(symbol: string, reserveKind: ReserveKind): KaminoReserve | undefined;
|
|
178
|
+
/**
|
|
179
|
+
* Returns this market's reserve matching the given symbol and reserve kind,
|
|
180
|
+
* or throws an error if not found.
|
|
181
|
+
*
|
|
182
|
+
* @param symbol The reserve symbol
|
|
183
|
+
* @param reserveKind The reserve kind to match
|
|
184
|
+
* @param description Optional description for the error message
|
|
185
|
+
*/
|
|
186
|
+
getExistingReserveBySymbolAndKind(symbol: string, reserveKind: ReserveKind, description?: string): KaminoReserve;
|
|
187
|
+
/**
|
|
188
|
+
* Returns this market's float rate reserve for the given symbol.
|
|
189
|
+
* Float rate reserves are reserves without a fixed term (debtTermSeconds = 0).
|
|
190
|
+
*
|
|
191
|
+
* @param symbol The reserve symbol
|
|
192
|
+
* @returns The float rate reserve, or undefined if not found
|
|
193
|
+
*/
|
|
194
|
+
getFloatRateReserveBySymbol(symbol: string): KaminoReserve | undefined;
|
|
195
|
+
/**
|
|
196
|
+
* Returns this market's float rate reserve for the given symbol,
|
|
197
|
+
* or throws an error if not found.
|
|
198
|
+
*
|
|
199
|
+
* @param symbol The reserve symbol
|
|
200
|
+
* @param description Optional description for the error message
|
|
201
|
+
* @returns The float rate reserve
|
|
202
|
+
*/
|
|
203
|
+
getExistingFloatRateReserveBySymbol(symbol: string, description?: string): KaminoReserve;
|
|
204
|
+
/**
|
|
205
|
+
* Returns all fixed rate reserves for the given symbol.
|
|
206
|
+
* Fixed rate reserves have a non-zero debt term (debtTermSeconds > 0).
|
|
207
|
+
*
|
|
208
|
+
* @param symbol The reserve symbol
|
|
209
|
+
* @returns Array of all fixed rate reserves for this symbol
|
|
210
|
+
*/
|
|
211
|
+
getFixedRateReservesBySymbol(symbol: string): KaminoReserve[];
|
|
212
|
+
getReserveMintBySymbol(symbol: string): Address;
|
|
118
213
|
getReserveFarmInfo(reserveAddress: Address, getRewardPrice: (mint: Address) => Promise<number>): Promise<{
|
|
119
214
|
borrowingRewards: ReserveRewardInfo;
|
|
120
215
|
depositingRewards: ReserveRewardInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/classes/market.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGP,UAAU,EACV,iBAAiB,EACjB,aAAa,EAEb,oCAAoC,EACpC,sBAAsB,EACtB,qBAAqB,EAGrB,UAAU,EACV,yBAAyB,EACzB,GAAG,EACH,IAAI,EACL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAsB,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,aAAa,EAAc,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAClH,OAAO,EACL,iBAAiB,EAmBjB,cAAc,
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/classes/market.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/market.js
CHANGED
|
@@ -342,6 +342,12 @@ class KaminoMarket {
|
|
|
342
342
|
getExistingReserveByAddress(address, description = 'Requested') {
|
|
343
343
|
return (0, validations_1.checkDefined)(this.getReserveByAddress(address), `${description} reserve ${address} not found`);
|
|
344
344
|
}
|
|
345
|
+
/**
|
|
346
|
+
* Returns all reserves for the given mint address (both float rate and fixed rate).
|
|
347
|
+
*
|
|
348
|
+
* @param mint The liquidity mint address
|
|
349
|
+
* @returns Array of all reserves for this mint
|
|
350
|
+
*/
|
|
345
351
|
getReservesByMint(address) {
|
|
346
352
|
const reserves = [];
|
|
347
353
|
for (const reserve of this.reserves.values()) {
|
|
@@ -351,13 +357,84 @@ class KaminoMarket {
|
|
|
351
357
|
}
|
|
352
358
|
return reserves;
|
|
353
359
|
}
|
|
354
|
-
/**
|
|
355
|
-
* Returns this market's reserve of the given mint address, or throws an error (including the given description) if
|
|
356
|
-
* such reserve does not exist.
|
|
357
|
-
*/
|
|
358
360
|
getExistingReservesByMint(address, description = 'Requested') {
|
|
359
361
|
return (0, validations_1.checkArrayNotEmpty)(this.getReservesByMint(address), `${description} reserve with mint ${address} not found`);
|
|
360
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Returns this market's reserve matching the given mint address and reserve kind.
|
|
365
|
+
* Since a market can have multiple reserves for the same mint (with different terms),
|
|
366
|
+
* the reserve kind specifies which reserve to select.
|
|
367
|
+
*
|
|
368
|
+
* Example for fixed-term reserves:
|
|
369
|
+
* const fixedReserveKind = new FixedReserveKind(new BN(30 * 24 * 60 * 60), 500); // 30 days, 5% borrow rate
|
|
370
|
+
* const fixedReserve = market.getReserveByMintAndKind(tokenMint, fixedReserveKind)!;
|
|
371
|
+
|
|
372
|
+
* @param mint The liquidity mint address
|
|
373
|
+
* @param reserveKind The reserve kind to match (e.g., FloatRateReserveKind or FixedRateReserveKind)
|
|
374
|
+
*/
|
|
375
|
+
getReserveByMintAndKind(mint, reserveKind) {
|
|
376
|
+
for (const reserve of this.reserves.values()) {
|
|
377
|
+
if (reserve.getLiquidityMint() === mint && reserveKind.matches(reserve)) {
|
|
378
|
+
return reserve;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
return undefined;
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Returns this market's reserve matching the given mint address and reserve kind,
|
|
385
|
+
* or throws an error if not found.
|
|
386
|
+
*
|
|
387
|
+
* @param mint The liquidity mint address
|
|
388
|
+
* @param reserveKind The reserve kind to match
|
|
389
|
+
* @param description Optional description for the error message
|
|
390
|
+
*/
|
|
391
|
+
getExistingReserveByMintAndKind(mint, reserveKind, description = 'Requested') {
|
|
392
|
+
return (0, validations_1.checkDefined)(this.getReserveByMintAndKind(mint, reserveKind), `${description} reserve with mint ${mint} and kind ${reserveKind.toString()} not found`);
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Returns this market's float rate reserve for the given mint address.
|
|
396
|
+
* Float rate reserves are reserves without a fixed term (debtTermSeconds = 0).
|
|
397
|
+
*
|
|
398
|
+
* @param mint The liquidity mint address
|
|
399
|
+
* @returns The float rate reserve, or undefined if not found
|
|
400
|
+
*/
|
|
401
|
+
getFloatRateReserveByMint(mint) {
|
|
402
|
+
return this.getReserveByMintAndKind(mint, new utils_1.FloatRateReserveKind());
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Returns this market's float rate reserve for the given mint address,
|
|
406
|
+
* or throws an error if not found.
|
|
407
|
+
*
|
|
408
|
+
* @param mint The liquidity mint address
|
|
409
|
+
* @param description Optional description for the error message
|
|
410
|
+
* @returns The float rate reserve
|
|
411
|
+
*/
|
|
412
|
+
getExistingFloatRateReserveByMint(mint, description = 'Requested') {
|
|
413
|
+
return (0, validations_1.checkDefined)(this.getFloatRateReserveByMint(mint), `${description} float rate reserve with mint ${mint} not found`);
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Returns all fixed rate reserves for the given mint address.
|
|
417
|
+
* Fixed rate reserves have a non-zero debt term (debtTermSeconds > 0).
|
|
418
|
+
*
|
|
419
|
+
* @param mint The liquidity mint address
|
|
420
|
+
* @returns Array of all fixed rate reserves for this mint
|
|
421
|
+
*/
|
|
422
|
+
getFixedRateReservesByMint(mint) {
|
|
423
|
+
const fixedRateReserves = [];
|
|
424
|
+
const floatRateReserveKind = new utils_1.FloatRateReserveKind();
|
|
425
|
+
for (const reserve of this.reserves.values()) {
|
|
426
|
+
if (reserve.getLiquidityMint() === mint && !floatRateReserveKind.matches(reserve)) {
|
|
427
|
+
fixedRateReserves.push(reserve);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
return fixedRateReserves;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Returns all reserves for the given symbol (both float rate and fixed rate).
|
|
434
|
+
*
|
|
435
|
+
* @param symbol The reserve symbol
|
|
436
|
+
* @returns Array of all reserves for this symbol
|
|
437
|
+
*/
|
|
361
438
|
getReservesBySymbol(symbol) {
|
|
362
439
|
const reserves = [];
|
|
363
440
|
for (const reserve of this.reserves.values()) {
|
|
@@ -367,13 +444,81 @@ class KaminoMarket {
|
|
|
367
444
|
}
|
|
368
445
|
return reserves;
|
|
369
446
|
}
|
|
370
|
-
/**
|
|
371
|
-
* Returns this market's reserve of the given symbol, or throws an error (including the given description) if
|
|
372
|
-
* such reserve does not exist.
|
|
373
|
-
*/
|
|
374
447
|
getExistingReservesBySymbol(symbol, description = 'Requested') {
|
|
375
448
|
return (0, validations_1.checkArrayNotEmpty)(this.getReservesBySymbol(symbol), `${description} reserve with symbol ${symbol} not found`);
|
|
376
449
|
}
|
|
450
|
+
/**
|
|
451
|
+
* Returns this market's reserve matching the given symbol and reserve kind.
|
|
452
|
+
* Since a market can have multiple reserves for the same symbol (with different terms),
|
|
453
|
+
* the reserve kind specifies which reserve to select.
|
|
454
|
+
*
|
|
455
|
+
* @param symbol The reserve symbol
|
|
456
|
+
* @param reserveKind The reserve kind to match (e.g., FloatRateReserveKind or FixedRateReserveKind)
|
|
457
|
+
*/
|
|
458
|
+
getReserveBySymbolAndKind(symbol, reserveKind) {
|
|
459
|
+
for (const reserve of this.reserves.values()) {
|
|
460
|
+
if (reserve.symbol === symbol && reserveKind.matches(reserve)) {
|
|
461
|
+
return reserve;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
return undefined;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Returns this market's reserve matching the given symbol and reserve kind,
|
|
468
|
+
* or throws an error if not found.
|
|
469
|
+
*
|
|
470
|
+
* @param symbol The reserve symbol
|
|
471
|
+
* @param reserveKind The reserve kind to match
|
|
472
|
+
* @param description Optional description for the error message
|
|
473
|
+
*/
|
|
474
|
+
getExistingReserveBySymbolAndKind(symbol, reserveKind, description = 'Requested') {
|
|
475
|
+
return (0, validations_1.checkDefined)(this.getReserveBySymbolAndKind(symbol, reserveKind), `${description} reserve with symbol ${symbol} and kind ${reserveKind.toString()} not found`);
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Returns this market's float rate reserve for the given symbol.
|
|
479
|
+
* Float rate reserves are reserves without a fixed term (debtTermSeconds = 0).
|
|
480
|
+
*
|
|
481
|
+
* @param symbol The reserve symbol
|
|
482
|
+
* @returns The float rate reserve, or undefined if not found
|
|
483
|
+
*/
|
|
484
|
+
getFloatRateReserveBySymbol(symbol) {
|
|
485
|
+
return this.getReserveBySymbolAndKind(symbol, new utils_1.FloatRateReserveKind());
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Returns this market's float rate reserve for the given symbol,
|
|
489
|
+
* or throws an error if not found.
|
|
490
|
+
*
|
|
491
|
+
* @param symbol The reserve symbol
|
|
492
|
+
* @param description Optional description for the error message
|
|
493
|
+
* @returns The float rate reserve
|
|
494
|
+
*/
|
|
495
|
+
getExistingFloatRateReserveBySymbol(symbol, description = 'Requested') {
|
|
496
|
+
return (0, validations_1.checkDefined)(this.getFloatRateReserveBySymbol(symbol), `${description} float rate reserve with symbol ${symbol} not found`);
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Returns all fixed rate reserves for the given symbol.
|
|
500
|
+
* Fixed rate reserves have a non-zero debt term (debtTermSeconds > 0).
|
|
501
|
+
*
|
|
502
|
+
* @param symbol The reserve symbol
|
|
503
|
+
* @returns Array of all fixed rate reserves for this symbol
|
|
504
|
+
*/
|
|
505
|
+
getFixedRateReservesBySymbol(symbol) {
|
|
506
|
+
const fixedRateReserves = [];
|
|
507
|
+
const floatRateReserveKind = new utils_1.FloatRateReserveKind();
|
|
508
|
+
for (const reserve of this.reserves.values()) {
|
|
509
|
+
if (reserve.symbol === symbol && !floatRateReserveKind.matches(reserve)) {
|
|
510
|
+
fixedRateReserves.push(reserve);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
return fixedRateReserves;
|
|
514
|
+
}
|
|
515
|
+
getReserveMintBySymbol(symbol) {
|
|
516
|
+
const reserves = this.getReservesBySymbol(symbol);
|
|
517
|
+
if (reserves.length === 0) {
|
|
518
|
+
throw new Error(`No reserves found for symbol ${symbol}`);
|
|
519
|
+
}
|
|
520
|
+
return reserves[0].getLiquidityMint();
|
|
521
|
+
}
|
|
377
522
|
async getReserveFarmInfo(reserveAddress, getRewardPrice) {
|
|
378
523
|
const { address } = this;
|
|
379
524
|
if (!address) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../src/classes/market.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../src/classes/market.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address, Instruction, Slot, TransactionSigner, Rpc, GetMinimumBalanceForRentExemptionApi, Option, GetProgramAccountsApi, GetAccountInfoApi, GetMultipleAccountsApi } from '@solana/kit';
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
|
-
import { AllOracleAccounts, MarketWithAddress, TokenOracleData } from '../utils';
|
|
3
|
+
import { AllOracleAccounts, MarketWithAddress, ReserveKind, TokenOracleData } from '../utils';
|
|
4
4
|
import { FeeCalculation, Fees, ReserveDataType, ReserveRewardYield } from './shared';
|
|
5
5
|
import { Reserve } from '../@codegen/klend/accounts';
|
|
6
6
|
import { ReserveConfig, UpdateConfigModeKind } from '../@codegen/klend/types';
|
|
@@ -22,9 +22,11 @@ export declare class KaminoReserve {
|
|
|
22
22
|
private rpc;
|
|
23
23
|
private readonly recentSlotDurationMs;
|
|
24
24
|
private metadata?;
|
|
25
|
+
private reserveKind;
|
|
25
26
|
constructor(state: Reserve, address: Address, tokenOraclePrice: TokenOracleData, connection: Rpc<KaminoReserveRpcApi>, recentSlotDurationMs: number);
|
|
26
27
|
static initialize(address: Address, state: Reserve, tokenOraclePrice: TokenOracleData, rpc: Rpc<KaminoReserveRpcApi>, recentSlotDurationMs: number, cdnResourcesData?: KaminoCdnData): KaminoReserve;
|
|
27
28
|
static initializeFromAddress(address: Address, rpc: Rpc<KaminoReserveRpcApi>, recentSlotDurationMs: number, reserveState?: Reserve, oracleAccounts?: AllOracleAccounts): Promise<KaminoReserve>;
|
|
29
|
+
static createReserveKind(state: Reserve): ReserveKind;
|
|
28
30
|
/**
|
|
29
31
|
* @returns the parsed token symbol of the reserve
|
|
30
32
|
*/
|
|
@@ -213,6 +215,12 @@ export declare class KaminoReserve {
|
|
|
213
215
|
* @returns the mint of the reserve collateral token , i.e. the cToken minted for depositing the liquidity token
|
|
214
216
|
*/
|
|
215
217
|
getCTokenMint(): Address;
|
|
218
|
+
/**
|
|
219
|
+
* Returns the reserve kind (FloatRateReserveKind or FixedRateReserveKind) for this reserve.
|
|
220
|
+
*
|
|
221
|
+
* @returns The reserve kind instance
|
|
222
|
+
*/
|
|
223
|
+
getKind(): ReserveKind;
|
|
216
224
|
calculateFees(amountLamports: Decimal, borrowFeeRate: Decimal, feeCalculation: FeeCalculation, referralFeeBps: number, hasReferrer: boolean): Fees;
|
|
217
225
|
calculateFlashLoanFees(flashLoanAmountLamports: Decimal, referralFeeBps: number, hasReferrer: boolean): Fees;
|
|
218
226
|
load(tokenOraclePrice: TokenOracleData): Promise<void>;
|