@kamino-finance/klend-sdk 5.11.6-beta.0 → 5.11.7
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 +27 -35
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +198 -344
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/index.d.ts +1 -0
- package/dist/classes/index.d.ts.map +1 -1
- package/dist/classes/index.js +1 -0
- package/dist/classes/index.js.map +1 -1
- package/dist/classes/manager.d.ts +6 -1
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +16 -1
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +3 -3
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +30 -16
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.d.ts +2 -0
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +5 -0
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/types.d.ts.map +1 -1
- package/dist/classes/vault.d.ts +1 -0
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +26 -20
- package/dist/classes/vault.js.map +1 -1
- package/dist/client_kamino_manager.d.ts.map +1 -1
- package/dist/client_kamino_manager.js +11 -0
- package/dist/client_kamino_manager.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts +6 -3
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js +13 -7
- package/dist/idl_codegen_kamino_vault/accounts/VaultState.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts +25 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.js +43 -1
- package/dist/idl_codegen_kamino_vault/errors/custom.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/giveUpPendingFees.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initVault.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js +1 -0
- package/dist/idl_codegen_kamino_vault/instructions/initVault.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateReserveAllocation.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateSharesMetadata.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/updateVaultConfig.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js +1 -1
- package/dist/idl_codegen_kamino_vault/instructions/withdrawPendingFees.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts +13 -0
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js +25 -1
- package/dist/idl_codegen_kamino_vault/types/VaultConfigField.js.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.d.ts +2 -2
- package/dist/idl_codegen_kamino_vault/types/index.d.ts.map +1 -1
- package/dist/idl_codegen_kamino_vault/types/index.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts +4 -4
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +10 -8
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.d.ts +2 -2
- package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.js +11 -6
- package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
- package/dist/leverage/operations.d.ts +9 -7
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +78 -66
- package/dist/leverage/operations.js.map +1 -1
- package/dist/leverage/types.d.ts +4 -4
- package/dist/leverage/types.d.ts.map +1 -1
- package/dist/utils/ObligationType.d.ts +1 -1
- package/dist/utils/ObligationType.d.ts.map +1 -1
- package/dist/utils/accountListing.d.ts +4 -4
- package/dist/utils/accountListing.d.ts.map +1 -1
- package/dist/utils/accountListing.js +3 -3
- package/dist/utils/accountListing.js.map +1 -1
- package/dist/utils/constants.d.ts +6 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +7 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/managerTypes.d.ts.map +1 -1
- package/dist/utils/managerTypes.js +7 -52
- package/dist/utils/managerTypes.js.map +1 -1
- package/dist/utils/oracle.d.ts +3 -3
- package/dist/utils/oracle.d.ts.map +1 -1
- package/dist/utils/oracle.js +4 -3
- package/dist/utils/oracle.js.map +1 -1
- package/package.json +2 -2
- package/src/classes/action.ts +225 -400
- package/src/classes/index.ts +1 -0
- package/src/classes/manager.ts +27 -1
- package/src/classes/market.ts +34 -25
- package/src/classes/obligation.ts +6 -0
- package/src/classes/types.ts +1 -1
- package/src/classes/vault.ts +28 -24
- package/src/client.ts +40 -9
- package/src/client_kamino_manager.ts +15 -0
- package/src/idl_codegen_kamino_vault/accounts/VaultState.ts +17 -9
- package/src/idl_codegen_kamino_vault/errors/custom.ts +42 -0
- package/src/idl_codegen_kamino_vault/instructions/giveUpPendingFees.ts +2 -2
- package/src/idl_codegen_kamino_vault/instructions/initVault.ts +2 -0
- package/src/idl_codegen_kamino_vault/instructions/initializeSharesMetadata.ts +2 -2
- package/src/idl_codegen_kamino_vault/instructions/updateReserveAllocation.ts +2 -2
- package/src/idl_codegen_kamino_vault/instructions/updateSharesMetadata.ts +2 -2
- package/src/idl_codegen_kamino_vault/instructions/updateVaultConfig.ts +2 -2
- package/src/idl_codegen_kamino_vault/instructions/withdrawPendingFees.ts +2 -2
- package/src/idl_codegen_kamino_vault/types/VaultConfigField.ts +30 -0
- package/src/idl_codegen_kamino_vault/types/index.ts +2 -0
- package/src/idl_kamino_vault.json +35 -8
- package/src/lending_operations/repay_with_collateral_operations.ts +15 -11
- package/src/lending_operations/swap_collateral_operations.ts +19 -7
- package/src/leverage/operations.ts +114 -66
- package/src/leverage/types.ts +4 -4
- package/src/utils/ObligationType.ts +1 -1
- package/src/utils/accountListing.ts +11 -7
- package/src/utils/constants.ts +7 -0
- package/src/utils/managerTypes.ts +10 -52
- package/src/utils/oracle.ts +7 -6
|
@@ -397,59 +397,17 @@ export function getReserveOracleConfigs(priceFeed: PriceFeed | null): {
|
|
|
397
397
|
};
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
+
const ORACLE_TYPE_MAP = Object.fromEntries(
|
|
401
|
+
Object.values(OracleType)
|
|
402
|
+
// Filter for oracle types that have a discriminator property
|
|
403
|
+
// This ensures we only include actual oracle implementations in the mapping
|
|
404
|
+
// Pyth is used as a type assertion here but actually any oracle type with a discriminator will pass
|
|
405
|
+
.filter((T): T is typeof OracleType.Pyth => 'discriminator' in T)
|
|
406
|
+
.map((T) => [T.discriminator, T.name])
|
|
407
|
+
);
|
|
408
|
+
|
|
400
409
|
export function parseOracleType(type: number): string {
|
|
401
|
-
|
|
402
|
-
case new OracleType.Pyth().discriminator:
|
|
403
|
-
return 'Pyth';
|
|
404
|
-
case new OracleType.SwitchboardV2().discriminator:
|
|
405
|
-
return 'SwitchboardV2';
|
|
406
|
-
case new OracleType.CToken().discriminator:
|
|
407
|
-
return 'CToken';
|
|
408
|
-
case new OracleType.KToken().discriminator:
|
|
409
|
-
return 'KToken';
|
|
410
|
-
case new OracleType.SplStake().discriminator:
|
|
411
|
-
return 'SplStake';
|
|
412
|
-
case new OracleType.PythEMA().discriminator:
|
|
413
|
-
return 'PythEMA';
|
|
414
|
-
case new OracleType.DeprecatedPlaceholder1().discriminator:
|
|
415
|
-
return 'DeprecatedPlaceholder1';
|
|
416
|
-
case new OracleType.DeprecatedPlaceholder2().discriminator:
|
|
417
|
-
return 'DeprecatedPlaceholder2';
|
|
418
|
-
case new OracleType.MsolStake().discriminator:
|
|
419
|
-
return 'MsolStake';
|
|
420
|
-
case new OracleType.KTokenToTokenA().discriminator:
|
|
421
|
-
return 'KTokenToTokenA';
|
|
422
|
-
case new OracleType.KTokenToTokenB().discriminator:
|
|
423
|
-
return 'KTokenToTokenB';
|
|
424
|
-
case new OracleType.JupiterLpFetch().discriminator:
|
|
425
|
-
return 'JupiterLpFetch';
|
|
426
|
-
case new OracleType.ScopeTwap().discriminator:
|
|
427
|
-
return 'ScopeTwap';
|
|
428
|
-
case new OracleType.OrcaWhirlpoolAtoB().discriminator:
|
|
429
|
-
return 'OrcaWhirlpoolAtoB';
|
|
430
|
-
case new OracleType.OrcaWhirlpoolBtoA().discriminator:
|
|
431
|
-
return 'OrcaWhirlpoolBtoA';
|
|
432
|
-
case new OracleType.RaydiumAmmV3AtoB().discriminator:
|
|
433
|
-
return 'RaydiumAmmV3AtoB';
|
|
434
|
-
case new OracleType.RaydiumAmmV3BtoA().discriminator:
|
|
435
|
-
return 'RaydiumAmmV3BtoA';
|
|
436
|
-
case new OracleType.JupiterLpCompute().discriminator:
|
|
437
|
-
return 'JupiterLpCompute';
|
|
438
|
-
case new OracleType.MeteoraDlmmAtoB().discriminator:
|
|
439
|
-
return 'MeteoraDlmmAtoB';
|
|
440
|
-
case new OracleType.MeteoraDlmmBtoA().discriminator:
|
|
441
|
-
return 'MeteoraDlmmBtoA';
|
|
442
|
-
case new OracleType.JupiterLpScope().discriminator:
|
|
443
|
-
return 'JupiterLpScope';
|
|
444
|
-
case new OracleType.PythPullBased().discriminator:
|
|
445
|
-
return 'PythPullBased';
|
|
446
|
-
case new OracleType.PythPullBasedEMA().discriminator:
|
|
447
|
-
return 'PythPullBasedEMA';
|
|
448
|
-
case new OracleType.FixedPrice().discriminator:
|
|
449
|
-
return 'FixedPrice';
|
|
450
|
-
default:
|
|
451
|
-
return 'Unknown';
|
|
452
|
-
}
|
|
410
|
+
return ORACLE_TYPE_MAP[type] || 'Unknown';
|
|
453
411
|
}
|
|
454
412
|
|
|
455
413
|
export type MarketWithAddress = {
|
package/src/utils/oracle.ts
CHANGED
|
@@ -35,8 +35,8 @@ export type CandidatePrice = {
|
|
|
35
35
|
valid: boolean;
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
export type
|
|
39
|
-
|
|
38
|
+
export type ScopePriceRefreshConfig = {
|
|
39
|
+
scope: Scope;
|
|
40
40
|
scopeFeed: string;
|
|
41
41
|
};
|
|
42
42
|
|
|
@@ -170,10 +170,11 @@ export function cacheOrGetPythPrices(
|
|
|
170
170
|
const { price, exponent, conf: confidence, publishTime: timestamp, emaPrice } = priceMessage;
|
|
171
171
|
if (price) {
|
|
172
172
|
const px = new Decimal(price.toString()).div(10 ** Math.abs(exponent));
|
|
173
|
+
const conf = new Decimal(confidence.toString());
|
|
173
174
|
prices.spot = {
|
|
174
175
|
price: px,
|
|
175
176
|
timestamp: BigInt(timestamp.toString()),
|
|
176
|
-
valid: validatePythPx(px,
|
|
177
|
+
valid: validatePythPx(px, conf),
|
|
177
178
|
};
|
|
178
179
|
}
|
|
179
180
|
if (emaPrice !== undefined && emaPrice !== null) {
|
|
@@ -297,9 +298,9 @@ function isBetterPrice(current: CandidatePrice | undefined, next: CandidatePrice
|
|
|
297
298
|
return next.timestamp > current.timestamp;
|
|
298
299
|
}
|
|
299
300
|
|
|
300
|
-
function validatePythPx(price: Decimal, confidence:
|
|
301
|
-
const conf50x =
|
|
302
|
-
return price.gt(conf50x);
|
|
301
|
+
function validatePythPx(price: Decimal, confidence: Decimal): boolean {
|
|
302
|
+
const conf50x = confidence.mul(CONFIDENCE_FACTOR);
|
|
303
|
+
return !price.isZero() && price.gt(conf50x);
|
|
303
304
|
}
|
|
304
305
|
|
|
305
306
|
function validateSwitchboardV2Px(agg: any): boolean {
|