@kamino-finance/klend-sdk 7.3.6 → 7.3.7-beta.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.
- package/dist/classes/configItems.d.ts.map +1 -1
- package/dist/classes/configItems.js +34 -1
- package/dist/classes/configItems.js.map +1 -1
- package/dist/classes/farm_utils.d.ts +1 -1
- package/dist/classes/farm_utils.d.ts.map +1 -1
- package/dist/classes/farm_utils.js +1 -3
- package/dist/classes/farm_utils.js.map +1 -1
- package/dist/classes/reserve.d.ts +1 -5
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +54 -21
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/shared.d.ts +2 -2
- package/dist/classes/shared.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/classes/configItems.ts +35 -1
- package/src/classes/farm_utils.ts +1 -5
- package/src/classes/reserve.ts +56 -36
- package/src/classes/shared.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configItems.d.ts","sourceRoot":"","sources":["../../src/classes/configItems.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"configItems.d.ts","sourceRoot":"","sources":["../../src/classes/configItems.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,15 +122,48 @@ class ConfigUpdater {
|
|
|
122
122
|
*/
|
|
123
123
|
encodeAllUpdates(currentConfig, newConfig) {
|
|
124
124
|
const updates = [];
|
|
125
|
+
let ltvUpdate;
|
|
126
|
+
let liquidationThresholdUpdate;
|
|
125
127
|
for (const [mode, itemUpdaters] of this.itemUpdaters.values()) {
|
|
126
128
|
for (const itemUpdater of itemUpdaters) {
|
|
127
129
|
const value = itemUpdater.encodeUpdatedItemFrom(currentConfig, newConfig);
|
|
128
130
|
if (value === undefined) {
|
|
129
131
|
continue;
|
|
130
132
|
}
|
|
131
|
-
|
|
133
|
+
const update = { mode, value };
|
|
134
|
+
if (mode.kind === 'UpdateLoanToValuePct') {
|
|
135
|
+
ltvUpdate = update;
|
|
136
|
+
}
|
|
137
|
+
else if (mode.kind === 'UpdateLiquidationThresholdPct') {
|
|
138
|
+
liquidationThresholdUpdate = update;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
updates.push(update);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Handle ordering of LTV and LiquidationThreshold updates
|
|
146
|
+
// ensure LiquidationThreshold >= LTV at all times
|
|
147
|
+
if (ltvUpdate && liquidationThresholdUpdate) {
|
|
148
|
+
const currentLiquidationThreshold = currentConfig ? currentConfig.liquidationThresholdPct : 0;
|
|
149
|
+
const newLiquidationThreshold = newConfig.liquidationThresholdPct;
|
|
150
|
+
if (newLiquidationThreshold > currentLiquidationThreshold) {
|
|
151
|
+
// Liquidation threshold is increasing, so it must be updated first
|
|
152
|
+
updates.push(liquidationThresholdUpdate);
|
|
153
|
+
updates.push(ltvUpdate);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
// All other cases, it's safer to update the LTV first
|
|
157
|
+
updates.push(ltvUpdate);
|
|
158
|
+
updates.push(liquidationThresholdUpdate);
|
|
132
159
|
}
|
|
133
160
|
}
|
|
161
|
+
else if (ltvUpdate) {
|
|
162
|
+
updates.push(ltvUpdate);
|
|
163
|
+
}
|
|
164
|
+
else if (liquidationThresholdUpdate) {
|
|
165
|
+
updates.push(liquidationThresholdUpdate);
|
|
166
|
+
}
|
|
134
167
|
return updates;
|
|
135
168
|
}
|
|
136
169
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configItems.js","sourceRoot":"","sources":["../../src/classes/configItems.ts"],"names":[],"mappings":";;;AAuFA,0DAaC;
|
|
1
|
+
{"version":3,"file":"configItems.js","sourceRoot":"","sources":["../../src/classes/configItems.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export type UnstakeAndWithdrawFromFarmIxs = {
|
|
|
28
28
|
unstakeIx: Instruction;
|
|
29
29
|
withdrawIx: Instruction;
|
|
30
30
|
};
|
|
31
|
-
export declare function getRewardPerTimeUnitSecond(reward: RewardInfo
|
|
31
|
+
export declare function getRewardPerTimeUnitSecond(reward: RewardInfo): Decimal;
|
|
32
32
|
/**
|
|
33
33
|
* reads the pending rewards for a user in a vault farm
|
|
34
34
|
* @param rpc - the rpc connection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farm_utils.d.ts","sourceRoot":"","sources":["../../src/classes/farm_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,SAAS,EAKT,UAAU,
|
|
1
|
+
{"version":3,"file":"farm_utils.d.ts","sourceRoot":"","sources":["../../src/classes/farm_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,7 +101,7 @@ async function setVaultIdForFarmIx(rpc, farmAdmin, farm, vault) {
|
|
|
101
101
|
function getSharesInFarmUserPosition(userState, tokenDecimals) {
|
|
102
102
|
return (0, farms_sdk_1.lamportsToCollDecimal)(new decimal_1.default((0, farms_sdk_1.scaleDownWads)(userState.activeStakeScaled)), tokenDecimals);
|
|
103
103
|
}
|
|
104
|
-
function getRewardPerTimeUnitSecond(reward
|
|
104
|
+
function getRewardPerTimeUnitSecond(reward) {
|
|
105
105
|
const now = new decimal_1.default(new Date().getTime()).div(1000);
|
|
106
106
|
let rewardPerTimeUnitSecond = new decimal_1.default(0);
|
|
107
107
|
for (let i = 0; i < reward.rewardScheduleCurve.points.length - 1; i++) {
|
|
@@ -122,9 +122,7 @@ function getRewardPerTimeUnitSecond(reward, farmTotalStakeLamports) {
|
|
|
122
122
|
const rewardTokenDecimals = reward.token.decimals.toNumber();
|
|
123
123
|
const rewardAmountPerUnitDecimals = new decimal_1.default(10).pow(reward.rewardsPerSecondDecimals.toString());
|
|
124
124
|
const rewardAmountPerUnitLamports = new decimal_1.default(10).pow(rewardTokenDecimals.toString());
|
|
125
|
-
const constantRewardStakeAdjustment = reward.rewardType === farms_sdk_1.RewardType.Constant.discriminator ? farmTotalStakeLamports : new decimal_1.default(1);
|
|
126
125
|
const rpsAdjusted = new decimal_1.default(rewardPerTimeUnitSecond.toString())
|
|
127
|
-
.mul(constantRewardStakeAdjustment)
|
|
128
126
|
.div(rewardAmountPerUnitDecimals)
|
|
129
127
|
.div(rewardAmountPerUnitLamports);
|
|
130
128
|
return rewardPerTimeUnitSecond ? rpsAdjusted : new decimal_1.default(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farm_utils.js","sourceRoot":"","sources":["../../src/classes/farm_utils.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"farm_utils.js","sourceRoot":"","sources":["../../src/classes/farm_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ import { ConfigUpdater } from './configItems';
|
|
|
8
8
|
import { ActionType } from './action';
|
|
9
9
|
import { BorrowCapsAndCounters, KaminoMarket } from './market';
|
|
10
10
|
import { KaminoPrices } from '@kamino-finance/kliquidity-sdk';
|
|
11
|
-
import { RewardInfo } from '@kamino-finance/farms-sdk';
|
|
12
11
|
import { KaminoCdnData } from '../utils/readCdnData';
|
|
13
12
|
export type KaminoReserveRpcApi = GetProgramAccountsApi & GetAccountInfoApi & GetMultipleAccountsApi;
|
|
14
13
|
export declare const DEFAULT_RECENT_SLOT_DURATION_MS = 400;
|
|
@@ -220,10 +219,7 @@ export declare class KaminoReserve {
|
|
|
220
219
|
totalBorrowAPY(currentSlot: Slot): number;
|
|
221
220
|
loadFarmStates(): Promise<void>;
|
|
222
221
|
getRewardYields(prices: KaminoPrices): Promise<ReserveRewardYield[]>;
|
|
223
|
-
calculateRewardYield
|
|
224
|
-
apy: Decimal;
|
|
225
|
-
apr: Decimal;
|
|
226
|
-
};
|
|
222
|
+
private calculateRewardYield;
|
|
227
223
|
private formatReserveData;
|
|
228
224
|
/**
|
|
229
225
|
* Compound current borrow rate over elapsed slots
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reserve.d.ts","sourceRoot":"","sources":["../../src/classes/reserve.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,WAAW,EACX,IAAI,EACJ,iBAAiB,EACjB,GAAG,EACH,oCAAoC,EACpC,MAAM,EAIN,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,iBAAiB,EAMjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"reserve.d.ts","sourceRoot":"","sources":["../../src/classes/reserve.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/reserve.js
CHANGED
|
@@ -36,7 +36,7 @@ class KaminoReserve {
|
|
|
36
36
|
symbol;
|
|
37
37
|
tokenOraclePrice;
|
|
38
38
|
stats;
|
|
39
|
-
farmData = { fetched: false,
|
|
39
|
+
farmData = { fetched: false, farmStates: [] };
|
|
40
40
|
rpc;
|
|
41
41
|
recentSlotDurationMs;
|
|
42
42
|
metadata;
|
|
@@ -617,17 +617,17 @@ class KaminoReserve {
|
|
|
617
617
|
if ((0, kit_1.isSome)(debtFarmAddress)) {
|
|
618
618
|
const farmState = await farms_sdk_1.FarmState.fetch(this.rpc, debtFarmAddress.value);
|
|
619
619
|
if (farmState !== null) {
|
|
620
|
-
farmStates.push(
|
|
620
|
+
farmStates.push(farmState);
|
|
621
621
|
}
|
|
622
622
|
}
|
|
623
623
|
const collateralFarmAddress = this.getCollateralFarmAddress();
|
|
624
624
|
if ((0, kit_1.isSome)(collateralFarmAddress)) {
|
|
625
625
|
const farmState = await farms_sdk_1.FarmState.fetch(this.rpc, collateralFarmAddress.value);
|
|
626
626
|
if (farmState !== null) {
|
|
627
|
-
farmStates.push(
|
|
627
|
+
farmStates.push(farmState);
|
|
628
628
|
}
|
|
629
629
|
}
|
|
630
|
-
this.farmData.
|
|
630
|
+
this.farmData.farmStates = farmStates;
|
|
631
631
|
this.farmData.fetched = true;
|
|
632
632
|
}
|
|
633
633
|
}
|
|
@@ -636,12 +636,12 @@ class KaminoReserve {
|
|
|
636
636
|
if (!stats) {
|
|
637
637
|
throw Error('KaminoMarket must call loadReserves.');
|
|
638
638
|
}
|
|
639
|
+
const isDebtReward = this.state.farmDebt === this.address;
|
|
639
640
|
await this.loadFarmStates();
|
|
640
641
|
const yields = [];
|
|
641
|
-
for (const
|
|
642
|
-
const
|
|
643
|
-
|
|
644
|
-
const { apy, apr } = this.calculateRewardYield(prices, rewardInfo, isDebtReward, new decimal_js_1.default(farmAndKey.farmState.totalActiveStakeScaled.toString()));
|
|
642
|
+
for (const farmState of this.farmData.farmStates) {
|
|
643
|
+
for (const rewardInfo of farmState.rewardInfos.filter((x) => x.token.mint !== utils_1.DEFAULT_PUBLIC_KEY && !x.rewardsAvailable.isZero())) {
|
|
644
|
+
const { apy, apr } = this.calculateRewardYield(prices, rewardInfo, isDebtReward);
|
|
645
645
|
if (apy.isZero() && apr.isZero()) {
|
|
646
646
|
continue;
|
|
647
647
|
}
|
|
@@ -650,9 +650,9 @@ class KaminoReserve {
|
|
|
650
650
|
}
|
|
651
651
|
return yields;
|
|
652
652
|
}
|
|
653
|
-
calculateRewardYield(prices, rewardInfo, isDebtReward
|
|
653
|
+
calculateRewardYield(prices, rewardInfo, isDebtReward) {
|
|
654
654
|
const mintAddress = this.getLiquidityMint();
|
|
655
|
-
const rewardPerTimeUnitSecond = (0, farm_utils_1.getRewardPerTimeUnitSecond)(rewardInfo
|
|
655
|
+
const rewardPerTimeUnitSecond = (0, farm_utils_1.getRewardPerTimeUnitSecond)(rewardInfo);
|
|
656
656
|
const reserveToken = prices.spot[mintAddress.toString()];
|
|
657
657
|
const rewardToken = prices.spot[rewardInfo.token.mint.toString()];
|
|
658
658
|
if (rewardPerTimeUnitSecond.isZero() || reserveToken === undefined || rewardToken === undefined) {
|
|
@@ -973,6 +973,7 @@ exports.RESERVE_CONFIG_UPDATER = new configItems_1.ConfigUpdater(types_1.UpdateC
|
|
|
973
973
|
[types_1.UpdateConfigMode.UpdateMinDeleveragingBonusBps.kind]: config.minDeleveragingBonusBps,
|
|
974
974
|
[types_1.UpdateConfigMode.UpdateBlockCTokenUsage.kind]: config.blockCtokenUsage,
|
|
975
975
|
}));
|
|
976
|
+
// TODO : this needs to be deprecated
|
|
976
977
|
async function updateEntireReserveConfigIx(signer, marketAddress, reserveAddress, reserveConfig, programId) {
|
|
977
978
|
const args = {
|
|
978
979
|
mode: new types_1.UpdateConfigMode.UpdateEntireReserveConfig(),
|
|
@@ -994,27 +995,59 @@ function parseForChangesReserveConfigAndGetIxs(marketWithAddress, reserve, reser
|
|
|
994
995
|
encodedConfigUpdates.sort((left, right) => priorityOf(left.mode) - priorityOf(right.mode));
|
|
995
996
|
return Promise.all(encodedConfigUpdates.map(async (encodedConfigUpdate) => updateReserveConfigIx(lendingMarketOwner, marketWithAddress.address, reserveAddress, encodedConfigUpdate.mode, encodedConfigUpdate.value, programId, shouldSkipValidation(encodedConfigUpdate.mode, reserve))));
|
|
996
997
|
}
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
types_1.UpdateConfigMode.
|
|
1000
|
-
types_1.UpdateConfigMode.
|
|
1001
|
-
types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator,
|
|
1002
|
-
types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator,
|
|
1003
|
-
types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator,
|
|
1004
|
-
types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator,
|
|
998
|
+
// Updating the deposit/borrow limit will automatically unblock usage and force validation inside the smart contract
|
|
999
|
+
const VALIDATED_DISCRIMINATORS = [
|
|
1000
|
+
types_1.UpdateConfigMode.UpdateDepositLimit.discriminator,
|
|
1001
|
+
types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator,
|
|
1005
1002
|
];
|
|
1006
1003
|
function shouldSkipValidation(mode, reserve) {
|
|
1007
|
-
|
|
1008
|
-
|
|
1004
|
+
if (VALIDATED_DISCRIMINATORS.includes(mode.discriminator)) {
|
|
1005
|
+
return false;
|
|
1006
|
+
}
|
|
1007
|
+
if (reserve == undefined) {
|
|
1008
|
+
return true;
|
|
1009
|
+
}
|
|
1010
|
+
const is_usage_blocked = reserve.config.depositLimit.isZero() && reserve.config.borrowLimit.isZero();
|
|
1011
|
+
return is_usage_blocked;
|
|
1009
1012
|
}
|
|
1013
|
+
// Lowest priority gets updated first
|
|
1010
1014
|
function priorityOf(mode) {
|
|
1011
1015
|
switch (mode.discriminator) {
|
|
1012
1016
|
case types_1.UpdateConfigMode.UpdateScopePriceFeed.discriminator:
|
|
1013
1017
|
return 0;
|
|
1018
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator:
|
|
1019
|
+
return 0;
|
|
1014
1020
|
case types_1.UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator:
|
|
1015
1021
|
return 0;
|
|
1022
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator:
|
|
1023
|
+
return 0;
|
|
1024
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator:
|
|
1025
|
+
return 0;
|
|
1026
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator:
|
|
1027
|
+
return 0;
|
|
1028
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator:
|
|
1029
|
+
return 0;
|
|
1030
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoName.discriminator:
|
|
1031
|
+
return 0;
|
|
1032
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator:
|
|
1033
|
+
return 0;
|
|
1034
|
+
case types_1.UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator:
|
|
1035
|
+
return 0;
|
|
1036
|
+
case types_1.UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator:
|
|
1037
|
+
return priorityOf(new types_1.UpdateConfigMode.UpdateAutodeleverageEnabled()) - 1;
|
|
1038
|
+
case types_1.UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator:
|
|
1039
|
+
return priorityOf(new types_1.UpdateConfigMode.UpdateAutodeleverageEnabled()) - 1;
|
|
1040
|
+
case types_1.UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator:
|
|
1041
|
+
return priorityOf(new types_1.UpdateConfigMode.UpdateAutodeleverageEnabled()) - 1;
|
|
1042
|
+
case types_1.UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator:
|
|
1043
|
+
return 4;
|
|
1044
|
+
// Always update last bc we cannot skip validation
|
|
1045
|
+
case types_1.UpdateConfigMode.UpdateDepositLimit.discriminator:
|
|
1046
|
+
return 63;
|
|
1047
|
+
case types_1.UpdateConfigMode.UpdateBorrowLimit.discriminator:
|
|
1048
|
+
return 63;
|
|
1016
1049
|
default:
|
|
1017
|
-
return
|
|
1050
|
+
return 10;
|
|
1018
1051
|
}
|
|
1019
1052
|
}
|
|
1020
1053
|
//# sourceMappingURL=reserve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reserve.js","sourceRoot":"","sources":["../../src/classes/reserve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reserve.js","sourceRoot":"","sources":["../../src/classes/reserve.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/shared.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address } from '@solana/kit';
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
|
-
import {
|
|
3
|
+
import { FarmState, RewardInfo } from '@kamino-finance/farms-sdk';
|
|
4
4
|
export type ConfigType = Array<MarketConfigType>;
|
|
5
5
|
export type MarketConfigType = {
|
|
6
6
|
name: string;
|
|
@@ -48,7 +48,7 @@ export type ReserveRewardYield = {
|
|
|
48
48
|
};
|
|
49
49
|
export type ReserveFarmInfo = {
|
|
50
50
|
fetched: boolean;
|
|
51
|
-
|
|
51
|
+
farmStates: FarmState[];
|
|
52
52
|
};
|
|
53
53
|
export declare enum FeeCalculation {
|
|
54
54
|
Inclusive = "Inclusive",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/classes/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/classes/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,2BAA2B,EAAE,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAEF,oBAAY,cAAc;IACxB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,IAAI,GAAG;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -191,15 +191,49 @@ export class ConfigUpdater<M extends BorshEnum, C> {
|
|
|
191
191
|
*/
|
|
192
192
|
encodeAllUpdates(currentConfig: C | undefined, newConfig: C): EncodedConfigUpdate<M>[] {
|
|
193
193
|
const updates: EncodedConfigUpdate<M>[] = [];
|
|
194
|
+
let ltvUpdate: EncodedConfigUpdate<M> | undefined;
|
|
195
|
+
let liquidationThresholdUpdate: EncodedConfigUpdate<M> | undefined;
|
|
196
|
+
|
|
194
197
|
for (const [mode, itemUpdaters] of this.itemUpdaters.values()) {
|
|
195
198
|
for (const itemUpdater of itemUpdaters) {
|
|
196
199
|
const value = itemUpdater.encodeUpdatedItemFrom(currentConfig, newConfig);
|
|
197
200
|
if (value === undefined) {
|
|
198
201
|
continue;
|
|
199
202
|
}
|
|
200
|
-
|
|
203
|
+
|
|
204
|
+
const update = { mode, value };
|
|
205
|
+
|
|
206
|
+
if (mode.kind === 'UpdateLoanToValuePct') {
|
|
207
|
+
ltvUpdate = update;
|
|
208
|
+
} else if (mode.kind === 'UpdateLiquidationThresholdPct') {
|
|
209
|
+
liquidationThresholdUpdate = update;
|
|
210
|
+
} else {
|
|
211
|
+
updates.push(update);
|
|
212
|
+
}
|
|
201
213
|
}
|
|
202
214
|
}
|
|
215
|
+
|
|
216
|
+
// Handle ordering of LTV and LiquidationThreshold updates
|
|
217
|
+
// ensure LiquidationThreshold >= LTV at all times
|
|
218
|
+
if (ltvUpdate && liquidationThresholdUpdate) {
|
|
219
|
+
const currentLiquidationThreshold = currentConfig ? (currentConfig as any).liquidationThresholdPct : 0;
|
|
220
|
+
const newLiquidationThreshold = (newConfig as any).liquidationThresholdPct;
|
|
221
|
+
|
|
222
|
+
if (newLiquidationThreshold > currentLiquidationThreshold) {
|
|
223
|
+
// Liquidation threshold is increasing, so it must be updated first
|
|
224
|
+
updates.push(liquidationThresholdUpdate);
|
|
225
|
+
updates.push(ltvUpdate);
|
|
226
|
+
} else {
|
|
227
|
+
// All other cases, it's safer to update the LTV first
|
|
228
|
+
updates.push(ltvUpdate);
|
|
229
|
+
updates.push(liquidationThresholdUpdate);
|
|
230
|
+
}
|
|
231
|
+
} else if (ltvUpdate) {
|
|
232
|
+
updates.push(ltvUpdate);
|
|
233
|
+
} else if (liquidationThresholdUpdate) {
|
|
234
|
+
updates.push(liquidationThresholdUpdate);
|
|
235
|
+
}
|
|
236
|
+
|
|
203
237
|
return updates;
|
|
204
238
|
}
|
|
205
239
|
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
scaleDownWads,
|
|
9
9
|
WAD,
|
|
10
10
|
RewardInfo,
|
|
11
|
-
RewardType,
|
|
12
11
|
} from '@kamino-finance/farms-sdk';
|
|
13
12
|
import {
|
|
14
13
|
address,
|
|
@@ -175,7 +174,7 @@ export type UnstakeAndWithdrawFromFarmIxs = {
|
|
|
175
174
|
withdrawIx: Instruction;
|
|
176
175
|
};
|
|
177
176
|
|
|
178
|
-
export function getRewardPerTimeUnitSecond(reward: RewardInfo
|
|
177
|
+
export function getRewardPerTimeUnitSecond(reward: RewardInfo) {
|
|
179
178
|
const now = new Decimal(new Date().getTime()).div(1000);
|
|
180
179
|
let rewardPerTimeUnitSecond = new Decimal(0);
|
|
181
180
|
for (let i = 0; i < reward.rewardScheduleCurve.points.length - 1; i++) {
|
|
@@ -197,11 +196,8 @@ export function getRewardPerTimeUnitSecond(reward: RewardInfo, farmTotalStakeLam
|
|
|
197
196
|
const rewardTokenDecimals = reward.token.decimals.toNumber();
|
|
198
197
|
const rewardAmountPerUnitDecimals = new Decimal(10).pow(reward.rewardsPerSecondDecimals.toString());
|
|
199
198
|
const rewardAmountPerUnitLamports = new Decimal(10).pow(rewardTokenDecimals.toString());
|
|
200
|
-
const constantRewardStakeAdjustment =
|
|
201
|
-
reward.rewardType === RewardType.Constant.discriminator ? farmTotalStakeLamports : new Decimal(1);
|
|
202
199
|
|
|
203
200
|
const rpsAdjusted = new Decimal(rewardPerTimeUnitSecond.toString())
|
|
204
|
-
.mul(constantRewardStakeAdjustment)
|
|
205
201
|
.div(rewardAmountPerUnitDecimals)
|
|
206
202
|
.div(rewardAmountPerUnitLamports);
|
|
207
203
|
|
package/src/classes/reserve.ts
CHANGED
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
INITIAL_COLLATERAL_RATE,
|
|
25
25
|
lendingMarketAuthPda,
|
|
26
26
|
MarketWithAddress,
|
|
27
|
-
MIN_INITIAL_DEPOSIT,
|
|
28
27
|
ONE_HUNDRED_PCT_IN_BPS,
|
|
29
28
|
reservePdas,
|
|
30
29
|
SLOTS_PER_DAY,
|
|
@@ -49,7 +48,7 @@ import {
|
|
|
49
48
|
UpdateReserveConfigArgs,
|
|
50
49
|
} from '../lib';
|
|
51
50
|
import { aprToApy, KaminoPrices } from '@kamino-finance/kliquidity-sdk';
|
|
52
|
-
import {
|
|
51
|
+
import { FarmState, RewardInfo } from '@kamino-finance/farms-sdk';
|
|
53
52
|
import { TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';
|
|
54
53
|
import { maxBigInt } from '../utils/bigint';
|
|
55
54
|
import { getCreateAccountInstruction, SYSTEM_PROGRAM_ADDRESS } from '@solana-program/system';
|
|
@@ -70,7 +69,7 @@ export class KaminoReserve {
|
|
|
70
69
|
|
|
71
70
|
tokenOraclePrice: TokenOracleData;
|
|
72
71
|
stats: ReserveDataType;
|
|
73
|
-
private farmData: ReserveFarmInfo = { fetched: false,
|
|
72
|
+
private farmData: ReserveFarmInfo = { fetched: false, farmStates: [] };
|
|
74
73
|
|
|
75
74
|
private rpc: Rpc<KaminoReserveRpcApi>;
|
|
76
75
|
private readonly recentSlotDurationMs: number;
|
|
@@ -813,22 +812,22 @@ export class KaminoReserve {
|
|
|
813
812
|
|
|
814
813
|
async loadFarmStates() {
|
|
815
814
|
if (!this.farmData.fetched) {
|
|
816
|
-
const farmStates:
|
|
815
|
+
const farmStates: FarmState[] = [];
|
|
817
816
|
const debtFarmAddress = this.getDebtFarmAddress();
|
|
818
817
|
if (isSome(debtFarmAddress)) {
|
|
819
818
|
const farmState = await FarmState.fetch(this.rpc, debtFarmAddress.value);
|
|
820
819
|
if (farmState !== null) {
|
|
821
|
-
farmStates.push(
|
|
820
|
+
farmStates.push(farmState);
|
|
822
821
|
}
|
|
823
822
|
}
|
|
824
823
|
const collateralFarmAddress = this.getCollateralFarmAddress();
|
|
825
824
|
if (isSome(collateralFarmAddress)) {
|
|
826
825
|
const farmState = await FarmState.fetch(this.rpc, collateralFarmAddress.value);
|
|
827
826
|
if (farmState !== null) {
|
|
828
|
-
farmStates.push(
|
|
827
|
+
farmStates.push(farmState);
|
|
829
828
|
}
|
|
830
829
|
}
|
|
831
|
-
this.farmData.
|
|
830
|
+
this.farmData.farmStates = farmStates;
|
|
832
831
|
this.farmData.fetched = true;
|
|
833
832
|
}
|
|
834
833
|
}
|
|
@@ -839,19 +838,14 @@ export class KaminoReserve {
|
|
|
839
838
|
throw Error('KaminoMarket must call loadReserves.');
|
|
840
839
|
}
|
|
841
840
|
|
|
841
|
+
const isDebtReward = this.state.farmDebt === this.address;
|
|
842
842
|
await this.loadFarmStates();
|
|
843
843
|
const yields: ReserveRewardYield[] = [];
|
|
844
|
-
for (const
|
|
845
|
-
const
|
|
846
|
-
for (const rewardInfo of farmAndKey.farmState.rewardInfos.filter(
|
|
844
|
+
for (const farmState of this.farmData.farmStates) {
|
|
845
|
+
for (const rewardInfo of farmState.rewardInfos.filter(
|
|
847
846
|
(x) => x.token.mint !== DEFAULT_PUBLIC_KEY && !x.rewardsAvailable.isZero()
|
|
848
847
|
)) {
|
|
849
|
-
const { apy, apr } = this.calculateRewardYield(
|
|
850
|
-
prices,
|
|
851
|
-
rewardInfo,
|
|
852
|
-
isDebtReward,
|
|
853
|
-
new Decimal(farmAndKey.farmState.totalActiveStakeScaled.toString())
|
|
854
|
-
);
|
|
848
|
+
const { apy, apr } = this.calculateRewardYield(prices, rewardInfo, isDebtReward);
|
|
855
849
|
if (apy.isZero() && apr.isZero()) {
|
|
856
850
|
continue;
|
|
857
851
|
}
|
|
@@ -861,14 +855,9 @@ export class KaminoReserve {
|
|
|
861
855
|
return yields;
|
|
862
856
|
}
|
|
863
857
|
|
|
864
|
-
calculateRewardYield(
|
|
865
|
-
prices: KaminoPrices,
|
|
866
|
-
rewardInfo: RewardInfo,
|
|
867
|
-
isDebtReward: boolean,
|
|
868
|
-
farmTotalStakeLamports: Decimal
|
|
869
|
-
) {
|
|
858
|
+
private calculateRewardYield(prices: KaminoPrices, rewardInfo: RewardInfo, isDebtReward: boolean) {
|
|
870
859
|
const mintAddress = this.getLiquidityMint();
|
|
871
|
-
const rewardPerTimeUnitSecond = getRewardPerTimeUnitSecond(rewardInfo
|
|
860
|
+
const rewardPerTimeUnitSecond = getRewardPerTimeUnitSecond(rewardInfo);
|
|
872
861
|
const reserveToken = prices.spot[mintAddress.toString()];
|
|
873
862
|
const rewardToken = prices.spot[rewardInfo.token.mint.toString()];
|
|
874
863
|
|
|
@@ -1313,6 +1302,7 @@ export const RESERVE_CONFIG_UPDATER = new ConfigUpdater(UpdateConfigMode.fromDec
|
|
|
1313
1302
|
[UpdateConfigMode.UpdateBlockCTokenUsage.kind]: config.blockCtokenUsage,
|
|
1314
1303
|
}));
|
|
1315
1304
|
|
|
1305
|
+
// TODO : this needs to be deprecated
|
|
1316
1306
|
export async function updateEntireReserveConfigIx(
|
|
1317
1307
|
signer: TransactionSigner,
|
|
1318
1308
|
marketAddress: Address,
|
|
@@ -1369,30 +1359,60 @@ export type ReserveWithAddress = {
|
|
|
1369
1359
|
state: Reserve;
|
|
1370
1360
|
};
|
|
1371
1361
|
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
UpdateConfigMode.
|
|
1375
|
-
UpdateConfigMode.
|
|
1376
|
-
UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator,
|
|
1377
|
-
UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator,
|
|
1378
|
-
UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator,
|
|
1379
|
-
UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator,
|
|
1362
|
+
// Updating the deposit/borrow limit will automatically unblock usage and force validation inside the smart contract
|
|
1363
|
+
const VALIDATED_DISCRIMINATORS = [
|
|
1364
|
+
UpdateConfigMode.UpdateDepositLimit.discriminator,
|
|
1365
|
+
UpdateConfigMode.UpdateBorrowLimit.discriminator,
|
|
1380
1366
|
];
|
|
1381
1367
|
|
|
1382
1368
|
function shouldSkipValidation(mode: UpdateConfigModeKind, reserve: Reserve | undefined): boolean {
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
)
|
|
1369
|
+
if (VALIDATED_DISCRIMINATORS.includes(mode.discriminator)) {
|
|
1370
|
+
return false;
|
|
1371
|
+
}
|
|
1372
|
+
if (reserve == undefined) {
|
|
1373
|
+
return true;
|
|
1374
|
+
}
|
|
1375
|
+
const is_usage_blocked = reserve.config.depositLimit.isZero() && reserve.config.borrowLimit.isZero();
|
|
1376
|
+
return is_usage_blocked;
|
|
1387
1377
|
}
|
|
1388
1378
|
|
|
1379
|
+
// Lowest priority gets updated first
|
|
1389
1380
|
function priorityOf(mode: UpdateConfigModeKind): number {
|
|
1390
1381
|
switch (mode.discriminator) {
|
|
1391
1382
|
case UpdateConfigMode.UpdateScopePriceFeed.discriminator:
|
|
1392
1383
|
return 0;
|
|
1384
|
+
case UpdateConfigMode.UpdateTokenInfoScopeTwap.discriminator:
|
|
1385
|
+
return 0;
|
|
1393
1386
|
case UpdateConfigMode.UpdateTokenInfoScopeChain.discriminator:
|
|
1394
1387
|
return 0;
|
|
1388
|
+
case UpdateConfigMode.UpdateTokenInfoLowerHeuristic.discriminator:
|
|
1389
|
+
return 0;
|
|
1390
|
+
case UpdateConfigMode.UpdateTokenInfoUpperHeuristic.discriminator:
|
|
1391
|
+
return 0;
|
|
1392
|
+
case UpdateConfigMode.UpdateTokenInfoExpHeuristic.discriminator:
|
|
1393
|
+
return 0;
|
|
1394
|
+
case UpdateConfigMode.UpdateTokenInfoTwapDivergence.discriminator:
|
|
1395
|
+
return 0;
|
|
1396
|
+
case UpdateConfigMode.UpdateTokenInfoName.discriminator:
|
|
1397
|
+
return 0;
|
|
1398
|
+
case UpdateConfigMode.UpdateTokenInfoPriceMaxAge.discriminator:
|
|
1399
|
+
return 0;
|
|
1400
|
+
case UpdateConfigMode.UpdateTokenInfoTwapMaxAge.discriminator:
|
|
1401
|
+
return 0;
|
|
1402
|
+
case UpdateConfigMode.UpdateDeleveragingBonusIncreaseBpsPerDay.discriminator:
|
|
1403
|
+
return priorityOf(new UpdateConfigMode.UpdateAutodeleverageEnabled()) - 1;
|
|
1404
|
+
case UpdateConfigMode.UpdateDeleveragingMarginCallPeriod.discriminator:
|
|
1405
|
+
return priorityOf(new UpdateConfigMode.UpdateAutodeleverageEnabled()) - 1;
|
|
1406
|
+
case UpdateConfigMode.UpdateDeleveragingThresholdDecreaseBpsPerDay.discriminator:
|
|
1407
|
+
return priorityOf(new UpdateConfigMode.UpdateAutodeleverageEnabled()) - 1;
|
|
1408
|
+
case UpdateConfigMode.UpdateAutodeleverageEnabled.discriminator:
|
|
1409
|
+
return 4;
|
|
1410
|
+
// Always update last bc we cannot skip validation
|
|
1411
|
+
case UpdateConfigMode.UpdateDepositLimit.discriminator:
|
|
1412
|
+
return 63;
|
|
1413
|
+
case UpdateConfigMode.UpdateBorrowLimit.discriminator:
|
|
1414
|
+
return 63;
|
|
1395
1415
|
default:
|
|
1396
|
-
return
|
|
1416
|
+
return 10;
|
|
1397
1417
|
}
|
|
1398
1418
|
}
|
package/src/classes/shared.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address } from '@solana/kit';
|
|
2
2
|
import Decimal from 'decimal.js';
|
|
3
|
-
import {
|
|
3
|
+
import { FarmState, RewardInfo } from '@kamino-finance/farms-sdk';
|
|
4
4
|
|
|
5
5
|
export type ConfigType = Array<MarketConfigType>;
|
|
6
6
|
|
|
@@ -55,7 +55,7 @@ export type ReserveRewardYield = {
|
|
|
55
55
|
|
|
56
56
|
export type ReserveFarmInfo = {
|
|
57
57
|
fetched: boolean;
|
|
58
|
-
|
|
58
|
+
farmStates: FarmState[];
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
export enum FeeCalculation {
|