@kamino-finance/klend-sdk 5.11.18 → 5.12.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.
- package/dist/classes/action.d.ts +9 -1
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +15 -1
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/fraction.d.ts +6 -5
- package/dist/classes/fraction.d.ts.map +1 -1
- package/dist/classes/fraction.js +13 -8
- package/dist/classes/fraction.js.map +1 -1
- package/dist/classes/manager.d.ts +3 -2
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +13 -2
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/obligation.d.ts +54 -1
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +47 -1
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/obligationOrder.d.ts +206 -0
- package/dist/classes/obligationOrder.d.ts.map +1 -0
- package/dist/classes/obligationOrder.js +359 -0
- package/dist/classes/obligationOrder.js.map +1 -0
- package/dist/classes/reserve.d.ts +5 -5
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +80 -264
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/types.d.ts +14 -1
- package/dist/classes/types.d.ts.map +1 -1
- package/dist/classes/utils.d.ts +9 -0
- package/dist/classes/utils.d.ts.map +1 -1
- package/dist/classes/utils.js +21 -0
- package/dist/classes/utils.js.map +1 -1
- package/dist/classes/vault.d.ts +2 -1
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +4 -2
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.js +6 -6
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl.json +244 -23
- package/dist/idl_codegen/accounts/LendingMarket.d.ts +12 -6
- package/dist/idl_codegen/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/idl_codegen/accounts/LendingMarket.js +15 -3
- package/dist/idl_codegen/accounts/LendingMarket.js.map +1 -1
- package/dist/idl_codegen/accounts/Obligation.d.ts +27 -6
- package/dist/idl_codegen/accounts/Obligation.d.ts.map +1 -1
- package/dist/idl_codegen/accounts/Obligation.js +26 -9
- package/dist/idl_codegen/accounts/Obligation.js.map +1 -1
- package/dist/idl_codegen/errors/custom.d.ts +36 -4
- package/dist/idl_codegen/errors/custom.d.ts.map +1 -1
- package/dist/idl_codegen/errors/custom.js +64 -8
- package/dist/idl_codegen/errors/custom.js.map +1 -1
- package/dist/idl_codegen/instructions/index.d.ts +2 -0
- package/dist/idl_codegen/instructions/index.d.ts.map +1 -1
- package/dist/idl_codegen/instructions/index.js +3 -1
- package/dist/idl_codegen/instructions/index.js.map +1 -1
- package/dist/idl_codegen/instructions/setObligationOrder.d.ts +14 -0
- package/dist/idl_codegen/instructions/setObligationOrder.d.ts.map +1 -0
- package/dist/idl_codegen/instructions/setObligationOrder.js +62 -0
- package/dist/idl_codegen/instructions/setObligationOrder.js.map +1 -0
- package/dist/idl_codegen/types/ObligationOrder.d.ts +284 -0
- package/dist/idl_codegen/types/ObligationOrder.d.ts.map +1 -0
- package/dist/idl_codegen/types/ObligationOrder.js +205 -0
- package/dist/idl_codegen/types/ObligationOrder.js.map +1 -0
- package/dist/idl_codegen/types/ReserveConfig.d.ts +26 -11
- package/dist/idl_codegen/types/ReserveConfig.d.ts.map +1 -1
- package/dist/idl_codegen/types/ReserveConfig.js +15 -10
- package/dist/idl_codegen/types/ReserveConfig.js.map +1 -1
- package/dist/idl_codegen/types/UpdateConfigMode.d.ts +34 -21
- package/dist/idl_codegen/types/UpdateConfigMode.d.ts.map +1 -1
- package/dist/idl_codegen/types/UpdateConfigMode.js +58 -34
- package/dist/idl_codegen/types/UpdateConfigMode.js.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts +13 -0
- package/dist/idl_codegen/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js +25 -1
- package/dist/idl_codegen/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/idl_codegen/types/index.d.ts +6 -4
- package/dist/idl_codegen/types/index.d.ts.map +1 -1
- package/dist/idl_codegen/types/index.js +3 -1
- package/dist/idl_codegen/types/index.js.map +1 -1
- package/dist/idl_codegen/zero_padding/ObligationZP.d.ts +13 -6
- package/dist/idl_codegen/zero_padding/ObligationZP.d.ts.map +1 -1
- package/dist/idl_codegen/zero_padding/ObligationZP.js +25 -11
- package/dist/idl_codegen/zero_padding/ObligationZP.js.map +1 -1
- package/dist/utils/instruction.d.ts +1 -1
- package/dist/utils/instruction.d.ts.map +1 -1
- package/dist/utils/instruction.js +5 -1
- package/dist/utils/instruction.js.map +1 -1
- package/dist/utils/managerTypes.js +2 -2
- package/dist/utils/managerTypes.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/action.ts +26 -1
- package/src/classes/fraction.ts +16 -12
- package/src/classes/manager.ts +17 -2
- package/src/classes/obligation.ts +77 -1
- package/src/classes/obligationOrder.ts +514 -0
- package/src/classes/reserve.ts +257 -336
- package/src/classes/types.ts +15 -1
- package/src/classes/utils.ts +21 -0
- package/src/classes/vault.ts +5 -2
- package/src/client_kamino_manager.ts +6 -6
- package/src/idl.json +244 -23
- package/src/idl_codegen/accounts/LendingMarket.ts +23 -7
- package/src/idl_codegen/accounts/Obligation.ts +50 -13
- package/src/idl_codegen/errors/custom.ts +68 -6
- package/src/idl_codegen/instructions/index.ts +5 -0
- package/src/idl_codegen/instructions/setObligationOrder.ts +45 -0
- package/src/idl_codegen/types/ObligationOrder.ts +347 -0
- package/src/idl_codegen/types/ReserveConfig.ts +31 -16
- package/src/idl_codegen/types/UpdateConfigMode.ts +69 -39
- package/src/idl_codegen/types/UpdateLendingMarketMode.ts +30 -0
- package/src/idl_codegen/types/index.ts +15 -6
- package/src/idl_codegen/zero_padding/ObligationZP.ts +37 -15
- package/src/utils/instruction.ts +5 -1
- package/src/utils/managerTypes.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managerTypes.js","sourceRoot":"","sources":["../../src/utils/managerTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"managerTypes.js","sourceRoot":"","sources":["../../src/utils/managerTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/classes/action.ts
CHANGED
|
@@ -48,6 +48,7 @@ import {
|
|
|
48
48
|
requestElevationGroup,
|
|
49
49
|
RequestElevationGroupAccounts,
|
|
50
50
|
RequestElevationGroupArgs,
|
|
51
|
+
setObligationOrder,
|
|
51
52
|
withdrawObligationCollateralAndRedeemReserveCollateral,
|
|
52
53
|
withdrawObligationCollateralAndRedeemReserveCollateralV2,
|
|
53
54
|
withdrawReferrerFees,
|
|
@@ -77,6 +78,7 @@ import { Reserve } from '../idl_codegen/accounts';
|
|
|
77
78
|
import { VanillaObligation } from '../utils/ObligationType';
|
|
78
79
|
import { PROGRAM_ID } from '../lib';
|
|
79
80
|
import { Scope } from '@kamino-finance/scope-sdk';
|
|
81
|
+
import { KaminoObligationOrder } from './obligationOrder';
|
|
80
82
|
|
|
81
83
|
export type ActionType =
|
|
82
84
|
| 'deposit'
|
|
@@ -1072,7 +1074,7 @@ export class KaminoAction {
|
|
|
1072
1074
|
obligationOwner: PublicKey,
|
|
1073
1075
|
obligation: KaminoObligation | ObligationType,
|
|
1074
1076
|
useV2Ixs: boolean,
|
|
1075
|
-
scopeRefreshConfig: ScopePriceRefreshConfig | undefined,
|
|
1077
|
+
scopeRefreshConfig: ScopePriceRefreshConfig | undefined = undefined,
|
|
1076
1078
|
extraComputeBudget: number = 1_000_000, // if > 0 then adds the ixn
|
|
1077
1079
|
includeAtaIxns: boolean = true, // if true it includes create and close wsol and token atas, and creates all other token atas if they don't exist
|
|
1078
1080
|
requestElevationGroup: boolean = false,
|
|
@@ -1154,6 +1156,29 @@ export class KaminoAction {
|
|
|
1154
1156
|
return axn;
|
|
1155
1157
|
}
|
|
1156
1158
|
|
|
1159
|
+
/**
|
|
1160
|
+
* Builds an instruction for setting the new state of one of the given obligation's orders.
|
|
1161
|
+
*
|
|
1162
|
+
* In other words: it will overwrite the given slot in the {@link Obligation.orders} array. This possibly includes
|
|
1163
|
+
* setting the `null` state (i.e. cancelling the order).
|
|
1164
|
+
*/
|
|
1165
|
+
static buildSetObligationOrderIxn(
|
|
1166
|
+
kaminoMarket: KaminoMarket,
|
|
1167
|
+
obligation: KaminoObligation,
|
|
1168
|
+
index: number,
|
|
1169
|
+
order: KaminoObligationOrder | null
|
|
1170
|
+
): TransactionInstruction {
|
|
1171
|
+
return setObligationOrder(
|
|
1172
|
+
{ index, order: order !== null ? order.toState() : KaminoObligationOrder.NULL_STATE },
|
|
1173
|
+
{
|
|
1174
|
+
lendingMarket: kaminoMarket.getAddress(),
|
|
1175
|
+
obligation: obligation.obligationAddress,
|
|
1176
|
+
owner: obligation.state.owner,
|
|
1177
|
+
},
|
|
1178
|
+
kaminoMarket.programId
|
|
1179
|
+
);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1157
1182
|
async getTransactions() {
|
|
1158
1183
|
let txns: Transaction;
|
|
1159
1184
|
|
package/src/classes/fraction.ts
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import BN from 'bn.js';
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
|
+
import { roundNearest } from './utils';
|
|
3
4
|
|
|
4
5
|
export class Fraction {
|
|
5
6
|
static MAX_SIZE_F = 128;
|
|
6
7
|
static MAX_SIZE_BF = 256;
|
|
7
8
|
static FRACTIONS = 60;
|
|
8
|
-
static
|
|
9
|
+
static MULTIPLIER = new Decimal(2).pow(Fraction.FRACTIONS);
|
|
9
10
|
|
|
10
|
-
static
|
|
11
|
+
static MAX_F_BN = new BN(2).pow(new BN(Fraction.MAX_SIZE_F)).sub(new BN(1));
|
|
12
|
+
static MAX_BF_BN = new BN(2).pow(new BN(Fraction.MAX_SIZE_BF)).sub(new BN(1));
|
|
11
13
|
static MIN_BN = new BN(0);
|
|
12
14
|
|
|
13
15
|
valueSf: BN;
|
|
14
16
|
|
|
15
17
|
constructor(valueSf: BN) {
|
|
16
|
-
if (valueSf.lt(Fraction.MIN_BN) || valueSf.gt(Fraction.
|
|
18
|
+
if (valueSf.lt(Fraction.MIN_BN) || valueSf.gt(Fraction.MAX_BF_BN)) {
|
|
17
19
|
throw new Error('Number out of range');
|
|
18
20
|
}
|
|
19
21
|
|
|
@@ -21,23 +23,25 @@ export class Fraction {
|
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
toDecimal(): Decimal {
|
|
24
|
-
return new Decimal(this.valueSf.toString()).div(Fraction.
|
|
26
|
+
return new Decimal(this.valueSf.toString()).div(Fraction.MULTIPLIER);
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
static fromDecimal(n: Decimal): Fraction {
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
static fromDecimal(n: Decimal | number): Fraction {
|
|
30
|
+
const scaledDecimal = new Decimal(n).mul(Fraction.MULTIPLIER);
|
|
31
|
+
const roundedScaledDecimal = roundNearest(scaledDecimal);
|
|
32
|
+
// Note: the `Decimal.toString()` can return exponential notation (e.g. "1e9") for large numbers. This notation is
|
|
33
|
+
// not accepted by `BN` constructor (i.e. invalid character "e"). Hence, we use `Decimal.toFixed()` (which is
|
|
34
|
+
// different than `number.toFixed()` - it will not do any rounding, just render a normal notation).
|
|
35
|
+
const scaledValue = new BN(roundedScaledDecimal.toFixed());
|
|
32
36
|
return new Fraction(scaledValue);
|
|
33
37
|
}
|
|
34
38
|
|
|
35
|
-
static fromBps(n: Decimal): Fraction {
|
|
36
|
-
const decimal = n.div(10000);
|
|
39
|
+
static fromBps(n: Decimal | number): Fraction {
|
|
40
|
+
const decimal = new Decimal(n).div(10000);
|
|
37
41
|
return Fraction.fromDecimal(decimal);
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
static fromPercent(n: number): Fraction {
|
|
44
|
+
static fromPercent(n: Decimal | number): Fraction {
|
|
41
45
|
const decimal = new Decimal(n).div(100);
|
|
42
46
|
return Fraction.fromDecimal(decimal);
|
|
43
47
|
}
|
package/src/classes/manager.ts
CHANGED
|
@@ -221,13 +221,15 @@ export class KaminoManager {
|
|
|
221
221
|
* This method updates the vault reserve allocation cofnig for an exiting vault reserve, or adds a new reserve to the vault if it does not exist.
|
|
222
222
|
* @param vault - vault to be updated
|
|
223
223
|
* @param reserveAllocationConfig - new reserve allocation config
|
|
224
|
+
* @param [signer] - optional parameter to pass a different signer for the instruction. If not provided, the admin of the vault will be used
|
|
224
225
|
* @returns - a struct with an instruction to update the reserve allocation and an optional list of instructions to update the lookup table for the allocation changes
|
|
225
226
|
*/
|
|
226
227
|
async updateVaultReserveAllocationIxs(
|
|
227
228
|
vault: KaminoVault,
|
|
228
|
-
reserveAllocationConfig: ReserveAllocationConfig
|
|
229
|
+
reserveAllocationConfig: ReserveAllocationConfig,
|
|
230
|
+
signer?: PublicKey
|
|
229
231
|
): Promise<UpdateReserveAllocationIxs> {
|
|
230
|
-
return this._vaultClient.updateReserveAllocationIxs(vault, reserveAllocationConfig);
|
|
232
|
+
return this._vaultClient.updateReserveAllocationIxs(vault, reserveAllocationConfig, signer);
|
|
231
233
|
}
|
|
232
234
|
|
|
233
235
|
/**
|
|
@@ -1070,6 +1072,7 @@ const EXCLUDED_LENDING_MARKET_KEYS = [
|
|
|
1070
1072
|
'reserved0',
|
|
1071
1073
|
'reserved1',
|
|
1072
1074
|
'padding1',
|
|
1075
|
+
'padding2',
|
|
1073
1076
|
'elevationGroupPadding',
|
|
1074
1077
|
'quoteCurrency',
|
|
1075
1078
|
] as const;
|
|
@@ -1323,6 +1326,17 @@ const updateLendingMarketConfig = (
|
|
|
1323
1326
|
});
|
|
1324
1327
|
}
|
|
1325
1328
|
break;
|
|
1329
|
+
case 'obligationOrdersEnabled':
|
|
1330
|
+
if (market.obligationOrdersEnabled !== newMarket.obligationOrdersEnabled) {
|
|
1331
|
+
updateLendingMarketIxnsArgs.push({
|
|
1332
|
+
mode: UpdateLendingMarketMode.UpdateObligationOrdersEnabled.discriminator,
|
|
1333
|
+
value: updateMarketConfigEncodedValue(
|
|
1334
|
+
UpdateLendingMarketMode.UpdateObligationOrdersEnabled.discriminator,
|
|
1335
|
+
newMarket.autodeleverageEnabled
|
|
1336
|
+
),
|
|
1337
|
+
});
|
|
1338
|
+
}
|
|
1339
|
+
break;
|
|
1326
1340
|
default:
|
|
1327
1341
|
assertNever(key);
|
|
1328
1342
|
}
|
|
@@ -1375,6 +1389,7 @@ function updateMarketConfigEncodedValue(
|
|
|
1375
1389
|
case UpdateLendingMarketMode.UpdateInsolvencyRiskLtv.discriminator:
|
|
1376
1390
|
case UpdateLendingMarketMode.UpdatePriceRefreshTriggerToMaxAgePct.discriminator:
|
|
1377
1391
|
case UpdateLendingMarketMode.UpdateAutodeleverageEnabled.discriminator:
|
|
1392
|
+
case UpdateLendingMarketMode.UpdateObligationOrdersEnabled.discriminator:
|
|
1378
1393
|
case UpdateLendingMarketMode.UpdateBorrowingDisabled.discriminator:
|
|
1379
1394
|
buffer.writeUIntLE(value as number, 0, 1);
|
|
1380
1395
|
break;
|
|
@@ -23,10 +23,12 @@ import {
|
|
|
23
23
|
U64_MAX,
|
|
24
24
|
} from '../utils';
|
|
25
25
|
import { ActionType } from './action';
|
|
26
|
+
import { KaminoObligationOrder } from './obligationOrder';
|
|
26
27
|
|
|
27
28
|
export type Position = {
|
|
28
29
|
reserveAddress: PublicKey;
|
|
29
30
|
mintAddress: PublicKey;
|
|
31
|
+
mintFactor: Decimal;
|
|
30
32
|
/**
|
|
31
33
|
* Amount of tokens in lamports, including decimal places for interest accrued (no borrow factor weighting)
|
|
32
34
|
*/
|
|
@@ -47,8 +49,33 @@ export type ObligationStats = {
|
|
|
47
49
|
borrowLiquidationLimit: Decimal;
|
|
48
50
|
borrowUtilization: Decimal;
|
|
49
51
|
netAccountValue: Decimal;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The obligation's current LTV, *suitable for UI display*.
|
|
55
|
+
*
|
|
56
|
+
* Technically, this is a ratio:
|
|
57
|
+
* - of a sum of all borrows' values multiplied by reserves' borrowFactor (i.e. `userTotalBorrowBorrowFactorAdjusted`)
|
|
58
|
+
* - to a sum of values of all deposits having reserve's loanToValue > 0 (i.e. `userTotalCollateralDeposit`)
|
|
59
|
+
*
|
|
60
|
+
* Please note that this is different from the smart contract's definition of LTV (which divides by a sum of values
|
|
61
|
+
* of strictly all deposits, i.e. `userTotalDeposit`). Some parts of the SDK (e.g. obligation orders) need to use the
|
|
62
|
+
* smart contract's LTV definition.
|
|
63
|
+
*/
|
|
50
64
|
loanToValue: Decimal;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The LTV at which the obligation becomes subject to liquidation, *suitable for UI display*.
|
|
68
|
+
*
|
|
69
|
+
* Technically, this is a ratio:
|
|
70
|
+
* - of a sum of all borrows' values multiplied by reserves' borrowFactor (i.e. `userTotalBorrowBorrowFactorAdjusted`)
|
|
71
|
+
* - to a sum of values of all deposits having reserve's liquidationLtv > 0 (i.e. `userTotalLiquidatableDeposit`)
|
|
72
|
+
*
|
|
73
|
+
* Please note that this is different from the smart contract's definition of liquidation LTV (which divides by a sum
|
|
74
|
+
* of values of strictly all deposits, i.e. `userTotalDeposit`). Some parts of the SDK (e.g. obligation orders) need
|
|
75
|
+
* to use the smart contract's LTV definition.
|
|
76
|
+
*/
|
|
51
77
|
liquidationLtv: Decimal;
|
|
78
|
+
|
|
52
79
|
leverage: Decimal;
|
|
53
80
|
potentialElevationGroupUpdate: number;
|
|
54
81
|
};
|
|
@@ -243,6 +270,20 @@ export class KaminoObligation {
|
|
|
243
270
|
return [...this.deposits.values()];
|
|
244
271
|
}
|
|
245
272
|
|
|
273
|
+
/**
|
|
274
|
+
* Returns obligation orders (including the null ones, i.e. non-active order slots).
|
|
275
|
+
*/
|
|
276
|
+
getOrders(): Array<KaminoObligationOrder | null> {
|
|
277
|
+
return this.state.orders.map((order) => KaminoObligationOrder.fromState(order));
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Returns active obligation orders (i.e. ones that *may* have their condition met).
|
|
282
|
+
*/
|
|
283
|
+
getActiveOrders(): Array<KaminoObligationOrder> {
|
|
284
|
+
return this.getOrders().filter((order) => order !== null);
|
|
285
|
+
}
|
|
286
|
+
|
|
246
287
|
/**
|
|
247
288
|
* @returns the total deposited value of the obligation (sum of all deposits)
|
|
248
289
|
*/
|
|
@@ -340,7 +381,13 @@ export class KaminoObligation {
|
|
|
340
381
|
}
|
|
341
382
|
|
|
342
383
|
/**
|
|
343
|
-
*
|
|
384
|
+
* Calculates the current ratio of borrowed value to deposited value (taking *all* deposits into account).
|
|
385
|
+
*
|
|
386
|
+
* Please note that the denominator here is different from the one found in `refreshedStats`:
|
|
387
|
+
* - the {@link ObligationStats#loanToValue} contains a value appropriate for display on the UI (i.e. taking into
|
|
388
|
+
* account *only* the deposits having `reserve.loanToValue > 0`).
|
|
389
|
+
* - the computation below follows the logic used by the KLend smart contract, and is appropriate e.g. for evaluating
|
|
390
|
+
* LTV-based obligation orders.
|
|
344
391
|
*/
|
|
345
392
|
loanToValue(): Decimal {
|
|
346
393
|
if (this.refreshedStats.userTotalDeposit.eq(0)) {
|
|
@@ -349,6 +396,33 @@ export class KaminoObligation {
|
|
|
349
396
|
return this.refreshedStats.userTotalBorrowBorrowFactorAdjusted.div(this.refreshedStats.userTotalDeposit);
|
|
350
397
|
}
|
|
351
398
|
|
|
399
|
+
/**
|
|
400
|
+
* Calculates the ratio of borrowed value to deposited value (taking *all* deposits into account) at which the
|
|
401
|
+
* obligation is subject to liquidation.
|
|
402
|
+
*
|
|
403
|
+
* Please note that the denominator here is different from the one found in `refreshedStats`:
|
|
404
|
+
* - the {@link ObligationStats#liquidationLtv} contains a value appropriate for display on the UI (i.e. taking into
|
|
405
|
+
* account *only* the deposits having `reserve.liquidationLtv > 0`).
|
|
406
|
+
* - the computation below follows the logic used by the KLend smart contract, and is appropriate e.g. for evaluating
|
|
407
|
+
* LTV-based obligation orders.
|
|
408
|
+
*/
|
|
409
|
+
liquidationLtv(): Decimal {
|
|
410
|
+
if (this.refreshedStats.userTotalDeposit.eq(0)) {
|
|
411
|
+
return new Decimal(0);
|
|
412
|
+
}
|
|
413
|
+
return this.refreshedStats.borrowLiquidationLimit.div(this.refreshedStats.userTotalDeposit);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Calculate the current ratio of borrowed value to deposited value, disregarding the borrow factor.
|
|
418
|
+
*/
|
|
419
|
+
noBfLoanToValue(): Decimal {
|
|
420
|
+
if (this.refreshedStats.userTotalDeposit.eq(0)) {
|
|
421
|
+
return new Decimal(0);
|
|
422
|
+
}
|
|
423
|
+
return this.refreshedStats.userTotalBorrow.div(this.refreshedStats.userTotalDeposit);
|
|
424
|
+
}
|
|
425
|
+
|
|
352
426
|
/**
|
|
353
427
|
* @returns the total number of positions (deposits + borrows)
|
|
354
428
|
*/
|
|
@@ -904,6 +978,7 @@ export class KaminoObligation {
|
|
|
904
978
|
const position: Position = {
|
|
905
979
|
reserveAddress: reserve.address,
|
|
906
980
|
mintAddress: reserve.getLiquidityMint(),
|
|
981
|
+
mintFactor: reserve.getMintFactor(),
|
|
907
982
|
amount: supplyAmount,
|
|
908
983
|
marketValueRefreshed: depositValueUsd,
|
|
909
984
|
};
|
|
@@ -976,6 +1051,7 @@ export class KaminoObligation {
|
|
|
976
1051
|
const position: Position = {
|
|
977
1052
|
reserveAddress: reserve.address,
|
|
978
1053
|
mintAddress: reserve.getLiquidityMint(),
|
|
1054
|
+
mintFactor: reserve.getMintFactor(),
|
|
979
1055
|
amount: borrowAmount,
|
|
980
1056
|
marketValueRefreshed: borrowValueUsd,
|
|
981
1057
|
};
|