@kamino-finance/klend-sdk 7.3.9 → 7.4.0-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.
Files changed (126) hide show
  1. package/dist/@codegen/klend/accounts/LendingMarket.d.ts +51 -3
  2. package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
  3. package/dist/@codegen/klend/accounts/LendingMarket.js +39 -6
  4. package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
  5. package/dist/@codegen/klend/accounts/Obligation.d.ts +24 -15
  6. package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
  7. package/dist/@codegen/klend/accounts/Obligation.js +24 -21
  8. package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
  9. package/dist/@codegen/klend/accounts/Reserve.js +1 -1
  10. package/dist/@codegen/klend/accounts/UserState.d.ts +0 -75
  11. package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
  12. package/dist/@codegen/klend/accounts/UserState.js +0 -25
  13. package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
  14. package/dist/@codegen/klend/errors/custom.d.ts +89 -1
  15. package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
  16. package/dist/@codegen/klend/errors/custom.js +155 -1
  17. package/dist/@codegen/klend/errors/custom.js.map +1 -1
  18. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +36 -0
  19. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +1 -0
  20. package/dist/@codegen/klend/instructions/fillBorrowOrder.js +49 -0
  21. package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +1 -0
  22. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +0 -1
  23. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
  24. package/dist/@codegen/klend/instructions/idlMissingTypes.js +0 -2
  25. package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
  26. package/dist/@codegen/klend/instructions/index.d.ts +4 -0
  27. package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
  28. package/dist/@codegen/klend/instructions/index.js +6 -1
  29. package/dist/@codegen/klend/instructions/index.js.map +1 -1
  30. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +33 -0
  31. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +1 -0
  32. package/dist/@codegen/klend/instructions/setBorrowOrder.js +66 -0
  33. package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +1 -0
  34. package/dist/@codegen/klend/types/BorrowOrder.d.ts +192 -0
  35. package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +1 -0
  36. package/dist/@codegen/klend/types/BorrowOrder.js +194 -0
  37. package/dist/@codegen/klend/types/BorrowOrder.js.map +1 -0
  38. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +39 -0
  39. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +1 -0
  40. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +100 -0
  41. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +1 -0
  42. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +35 -5
  43. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
  44. package/dist/@codegen/klend/types/ObligationLiquidity.js +17 -7
  45. package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
  46. package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
  47. package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
  48. package/dist/@codegen/klend/types/ReserveConfig.d.ts +60 -5
  49. package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
  50. package/dist/@codegen/klend/types/ReserveConfig.js +36 -7
  51. package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
  52. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +33 -7
  53. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
  54. package/dist/@codegen/klend/types/UpdateConfigMode.js +61 -13
  55. package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
  56. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +52 -0
  57. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
  58. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +97 -1
  59. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
  60. package/dist/@codegen/klend/types/index.d.ts +8 -8
  61. package/dist/@codegen/klend/types/index.d.ts.map +1 -1
  62. package/dist/@codegen/klend/types/index.js +5 -3
  63. package/dist/@codegen/klend/types/index.js.map +1 -1
  64. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +8 -5
  65. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
  66. package/dist/@codegen/klend/zero_padding/ObligationZP.js +17 -14
  67. package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
  68. package/dist/classes/manager.d.ts.map +1 -1
  69. package/dist/classes/manager.js +4 -0
  70. package/dist/classes/manager.js.map +1 -1
  71. package/dist/classes/market.d.ts +6 -0
  72. package/dist/classes/market.d.ts.map +1 -1
  73. package/dist/classes/market.js +8 -0
  74. package/dist/classes/market.js.map +1 -1
  75. package/dist/classes/obligation.js +1 -1
  76. package/dist/classes/obligation.js.map +1 -1
  77. package/dist/classes/reserve.d.ts.map +1 -1
  78. package/dist/classes/reserve.js +3 -1
  79. package/dist/classes/reserve.js.map +1 -1
  80. package/dist/idl/klend.json +581 -54
  81. package/dist/manager/client_kamino_manager.js +12 -6
  82. package/dist/manager/client_kamino_manager.js.map +1 -1
  83. package/dist/utils/Logger.d.ts +14 -0
  84. package/dist/utils/Logger.d.ts.map +1 -0
  85. package/dist/utils/Logger.js +12 -0
  86. package/dist/utils/Logger.js.map +1 -0
  87. package/dist/utils/api.d.ts +13 -4
  88. package/dist/utils/api.d.ts.map +1 -1
  89. package/dist/utils/api.js +33 -31
  90. package/dist/utils/api.js.map +1 -1
  91. package/dist/utils/managerTypes.d.ts.map +1 -1
  92. package/dist/utils/managerTypes.js +3 -1
  93. package/dist/utils/managerTypes.js.map +1 -1
  94. package/package.json +1 -1
  95. package/src/@codegen/klend/accounts/LendingMarket.ts +79 -8
  96. package/src/@codegen/klend/accounts/Obligation.ts +42 -31
  97. package/src/@codegen/klend/accounts/Reserve.ts +1 -1
  98. package/src/@codegen/klend/accounts/UserState.ts +0 -75
  99. package/src/@codegen/klend/errors/custom.ts +172 -0
  100. package/src/@codegen/klend/instructions/fillBorrowOrder.ts +96 -0
  101. package/src/@codegen/klend/instructions/idlMissingTypes.ts +0 -3
  102. package/src/@codegen/klend/instructions/index.ts +7 -0
  103. package/src/@codegen/klend/instructions/setBorrowOrder.ts +81 -0
  104. package/src/@codegen/klend/types/BorrowOrder.ts +267 -0
  105. package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +87 -0
  106. package/src/@codegen/klend/types/ObligationLiquidity.ts +39 -9
  107. package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
  108. package/src/@codegen/klend/types/ReserveConfig.ts +72 -9
  109. package/src/@codegen/klend/types/UpdateConfigMode.ts +73 -13
  110. package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +120 -0
  111. package/src/@codegen/klend/types/index.ts +21 -14
  112. package/src/@codegen/klend/zero_padding/ObligationZP.ts +17 -14
  113. package/src/classes/manager.ts +5 -0
  114. package/src/classes/market.ts +16 -0
  115. package/src/classes/obligation.ts +1 -1
  116. package/src/classes/reserve.ts +3 -1
  117. package/src/idl/klend.json +581 -54
  118. package/src/manager/client_kamino_manager.ts +12 -6
  119. package/src/utils/Logger.ts +14 -0
  120. package/src/utils/api.ts +56 -33
  121. package/src/utils/managerTypes.ts +3 -1
  122. package/dist/@codegen/klend/types/AssetTier.d.ts +0 -45
  123. package/dist/@codegen/klend/types/AssetTier.d.ts.map +0 -1
  124. package/dist/@codegen/klend/types/AssetTier.js +0 -132
  125. package/dist/@codegen/klend/types/AssetTier.js.map +0 -1
  126. package/src/@codegen/klend/types/AssetTier.ts +0 -119
@@ -2464,7 +2464,7 @@ function parseReserveConfigFromFile(reserveConfigFromFile: any): ReserveConfig {
2464
2464
  protocolLiquidationFeePct: reserveConfigFromFile.protocolLiquidationFeePct,
2465
2465
  protocolOrderExecutionFeePct: reserveConfigFromFile.protocolOrderExecutionFeePct,
2466
2466
  protocolTakeRatePct: reserveConfigFromFile.protocolTakeRatePct,
2467
- assetTier: reserveConfigFromFile.assetTier,
2467
+ paddingDeprecatedAssetTier: 0,
2468
2468
  maxLiquidationBonusBps: reserveConfigFromFile.maxLiquidationBonusBps,
2469
2469
  badDebtLiquidationBonusBps: reserveConfigFromFile.badDebtLiquidationBonusBps,
2470
2470
  fees: {
@@ -2513,10 +2513,12 @@ function parseReserveConfigFromFile(reserveConfigFromFile: any): ReserveConfig {
2513
2513
  borrowLimitOutsideElevationGroup: new BN(reserveConfigFromFile.borrowLimitOutsideElevationGroup),
2514
2514
  borrowLimitAgainstThisCollateralInElevationGroup: parseReserveBorrowLimitAgainstCollInEmode(reserveConfigFromFile),
2515
2515
  deleveragingBonusIncreaseBpsPerDay: new BN(reserveConfigFromFile.deleveragingBonusIncreaseBpsPerDay),
2516
- reserved1: Array(1).fill(0),
2516
+ reserved1: Array(6).fill(0),
2517
2517
  minDeleveragingBonusBps: 0,
2518
2518
  proposerAuthorityLocked: 0,
2519
2519
  blockCtokenUsage: 0,
2520
+ debtMaturityTimestamp: new BN(reserveConfigFromFile.debtMaturityTimestamp),
2521
+ debtTermSeconds: new BN(reserveConfigFromFile.debtTermSeconds),
2520
2522
  };
2521
2523
 
2522
2524
  return new ReserveConfig(reserveConfigFields);
@@ -2590,13 +2592,16 @@ function parseReserveConfigToFile(reserveConfig: ReserveConfig) {
2590
2592
 
2591
2593
  return {
2592
2594
  status: reserveConfig.status,
2595
+ paddingDeprecatedAssetTier: reserveConfig.paddingDeprecatedAssetTier,
2596
+ hostFixedInterestRateBps: reserveConfig.hostFixedInterestRateBps,
2597
+ minDeleveragingBonusBps: reserveConfig.minDeleveragingBonusBps,
2598
+ blockCtokenUsage: reserveConfig.blockCtokenUsage,
2593
2599
  loanToValuePct: reserveConfig.loanToValuePct,
2594
2600
  liquidationThresholdPct: reserveConfig.liquidationThresholdPct,
2595
2601
  minLiquidationBonusBps: reserveConfig.minLiquidationBonusBps,
2596
2602
  protocolLiquidationFeePct: reserveConfig.protocolLiquidationFeePct,
2597
2603
  protocolOrderExecutionFeePct: reserveConfig.protocolOrderExecutionFeePct,
2598
2604
  protocolTakeRatePct: reserveConfig.protocolTakeRatePct,
2599
- assetTier: reserveConfig.assetTier,
2600
2605
  maxLiquidationBonusBps: reserveConfig.maxLiquidationBonusBps,
2601
2606
  badDebtLiquidationBonusBps: reserveConfig.badDebtLiquidationBonusBps,
2602
2607
  fees: {
@@ -2630,14 +2635,15 @@ function parseReserveConfigToFile(reserveConfig: ReserveConfig) {
2630
2635
  deleveragingThresholdDecreaseBpsPerDay: reserveConfig.deleveragingThresholdDecreaseBpsPerDay.toString(),
2631
2636
  disableUsageAsCollOutsideEmode: reserveConfig.disableUsageAsCollOutsideEmode,
2632
2637
  utilizationLimitBlockBorrowingAbovePct: reserveConfig.utilizationLimitBlockBorrowingAbovePct,
2633
- hostFixedInterestRateBps: reserveConfig.hostFixedInterestRateBps,
2634
2638
  autodeleverageEnabled: reserveConfig.autodeleverageEnabled,
2639
+ proposerAuthorityLocked: reserveConfig.proposerAuthorityLocked,
2635
2640
  borrowLimitOutsideElevationGroup: reserveConfig.borrowLimitOutsideElevationGroup.toString(),
2636
2641
  borrowLimitAgainstThisCollateralInElevationGroup:
2637
2642
  reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.map((entry) => entry.toString()),
2638
2643
  deleveragingBonusIncreaseBpsPerDay: reserveConfig.deleveragingBonusIncreaseBpsPerDay.toString(),
2639
- reserved1: Array(2).fill(0),
2640
- reserved2: Array(9).fill(0),
2644
+ debtMaturityTimestamp: reserveConfig.debtMaturityTimestamp.toString(),
2645
+ debtTermSeconds: reserveConfig.debtTermSeconds.toString(),
2646
+ reserved1: reserveConfig.reserved1,
2641
2647
  };
2642
2648
  }
2643
2649
 
@@ -0,0 +1,14 @@
1
+ export interface Logger {
2
+ info(message: string, ...args: any[]): void;
3
+ warn(message: string, ...args: any[]): void;
4
+ error(message: string, ...args: any[]): void;
5
+ debug(message: string, ...args: any[]): void;
6
+ }
7
+
8
+ export enum LogLevel {
9
+ INFO = 'info',
10
+ WARN = 'warn',
11
+ ERROR = 'error',
12
+ DEBUG = 'debug',
13
+ NONE = 'none',
14
+ }
package/src/utils/api.ts CHANGED
@@ -4,6 +4,7 @@ import { ConfigType, isEmptyObject } from '../classes';
4
4
  import { CDN_ENDPOINT, getApiEndpoint } from '../utils';
5
5
  import { IBackOffOptions, backOff } from 'exponential-backoff';
6
6
  import { PROGRAM_ID } from '../lib';
7
+ import { Logger, LogLevel } from './Logger';
7
8
 
8
9
  export type ApiRequestOptions = {
9
10
  programId?: Address;
@@ -15,6 +16,17 @@ export type ApiFilterOptions = {
15
16
  isCurated?: boolean;
16
17
  };
17
18
 
19
+ export type ApiLoggerOptions = {
20
+ logger?: Logger;
21
+ errorLevel?: LogLevel;
22
+ };
23
+
24
+ export type MarketsApiRequest = {
25
+ api?: ApiRequestOptions;
26
+ filter?: ApiFilterOptions;
27
+ log?: ApiLoggerOptions;
28
+ };
29
+
18
30
  /**
19
31
  * Fetch config from the API
20
32
  * A good place to start to find active klend markets without expensive RPC calls
@@ -23,20 +35,29 @@ export type ApiFilterOptions = {
23
35
  * @param source - CDN is a json file hosted in the cloud, API is a webserver
24
36
  * @param apiBaseUrl - Optional base URL for the API, if not provided, defaults to the standard API endpoint, not used for CDN
25
37
  * @param filterOptions - Config options to filter markets by
38
+ * @param logger - pass a custom logger instance to log retries
39
+ * @param errorLevel - retry log level, NONE for no logs
26
40
  */
27
- export async function getMarketsFromApi(
28
- { programId = PROGRAM_ID, source = 'CDN', apiBaseUrl }: ApiRequestOptions = {},
29
- filterOptions: ApiFilterOptions = {}
30
- ): Promise<ConfigType> {
41
+ export async function getMarketsFromApi({
42
+ api: { programId = PROGRAM_ID, source = 'CDN', apiBaseUrl } = {},
43
+ filter: filterOptions = {},
44
+ log: { logger = console, errorLevel = LogLevel.WARN } = {},
45
+ }: MarketsApiRequest = {}): Promise<ConfigType> {
31
46
  let unfilteredConfigs: ConfigType = {} as ConfigType;
32
47
  if (source === 'CDN') {
33
- unfilteredConfigs = (await backOff(() => axios.get(`${CDN_ENDPOINT}/kamino_lend_config_v3.json`), KAMINO_CDN_RETRY))
34
- .data[programId.toString()] as ConfigType;
48
+ unfilteredConfigs = (
49
+ await backOff(
50
+ () => axios.get(`${CDN_ENDPOINT}/kamino_lend_config_v3.json`),
51
+ getKaminoCdnRetry(logger, errorLevel)
52
+ )
53
+ ).data[programId.toString()] as ConfigType;
35
54
  }
36
55
 
37
56
  if (!unfilteredConfigs || isEmptyObject(unfilteredConfigs)) {
38
57
  const API_ENDPOINT = getApiEndpoint(programId, apiBaseUrl);
39
- unfilteredConfigs = (await backOff(() => axios.get(API_ENDPOINT), KAMINO_API_RETRY)).data as ConfigType;
58
+ unfilteredConfigs = (
59
+ await backOff(() => axios.get(API_ENDPOINT), getKaminoApiRetry(logger, errorLevel, API_ENDPOINT))
60
+ ).data as ConfigType;
40
61
  }
41
62
 
42
63
  return unfilteredConfigs.filter((c) => {
@@ -47,30 +68,32 @@ export async function getMarketsFromApi(
47
68
  });
48
69
  }
49
70
 
50
- export const KAMINO_CDN_RETRY: Partial<IBackOffOptions> = {
51
- maxDelay: 1000,
52
- numOfAttempts: 3,
53
- startingDelay: 10,
54
- retry: (e: any, attemptNumber: number) => {
55
- console.warn(e);
56
- console.warn({
57
- attemptNumber,
58
- message: 'kamino CDN call failed, retrying with exponential backoff...',
59
- });
60
- return true;
61
- },
62
- };
71
+ function getKaminoCdnRetry(logger: Logger, errorLevel: LogLevel): Partial<IBackOffOptions> {
72
+ return {
73
+ maxDelay: 1000,
74
+ numOfAttempts: 3,
75
+ startingDelay: 10,
76
+ retry: (e: any, attemptNumber: number) => {
77
+ log(logger, errorLevel, `kamino CDN call #${attemptNumber} failed, retrying with exponential backoff...`, e);
78
+ return true;
79
+ },
80
+ };
81
+ }
63
82
 
64
- export const KAMINO_API_RETRY: Partial<IBackOffOptions> = {
65
- maxDelay: 1000,
66
- numOfAttempts: 3,
67
- startingDelay: 10,
68
- retry: (e: any, attemptNumber: number) => {
69
- console.warn(e);
70
- console.warn({
71
- attemptNumber,
72
- message: 'api.kamino.finance call failed, retrying with exponential backoff...',
73
- });
74
- return true;
75
- },
76
- };
83
+ function getKaminoApiRetry(logger: Logger, errorLevel: LogLevel, apiUrl: string): Partial<IBackOffOptions> {
84
+ return {
85
+ maxDelay: 1000,
86
+ numOfAttempts: 3,
87
+ startingDelay: 10,
88
+ retry: (e: any, attemptNumber: number) => {
89
+ log(logger, errorLevel, `${apiUrl} call #${attemptNumber} failed, retrying with exponential backoff...`, e);
90
+ return true;
91
+ },
92
+ };
93
+ }
94
+
95
+ function log(logger: Logger, errorLevel: LogLevel, msg: string, ...meta: any[]): void {
96
+ if (errorLevel !== LogLevel.NONE) {
97
+ logger[errorLevel](msg, ...meta);
98
+ }
99
+ }
@@ -306,7 +306,7 @@ function buildReserveConfig(fields: {
306
306
  protocolLiquidationFeePct: 0,
307
307
  protocolOrderExecutionFeePct: 0,
308
308
  protocolTakeRatePct: fields.configParams.protocolTakeRate,
309
- assetTier: 0,
309
+ paddingDeprecatedAssetTier: 0,
310
310
  maxLiquidationBonusBps: fields.configParams.maxLiquidationBonusBps,
311
311
  badDebtLiquidationBonusBps: fields.configParams.badDebtLiquidationBonusBps,
312
312
  fees: {
@@ -373,6 +373,8 @@ function buildReserveConfig(fields: {
373
373
  minDeleveragingBonusBps: 0,
374
374
  proposerAuthorityLocked: 0,
375
375
  blockCtokenUsage: 0,
376
+ debtMaturityTimestamp: new BN(0),
377
+ debtTermSeconds: new BN(0),
376
378
  };
377
379
 
378
380
  return new ReserveConfig(reserveConfigFields);
@@ -1,45 +0,0 @@
1
- import * as types from "../types";
2
- import * as borsh from "@coral-xyz/borsh";
3
- export interface RegularJSON {
4
- kind: "Regular";
5
- }
6
- export declare class Regular {
7
- static readonly discriminator = 0;
8
- static readonly kind = "Regular";
9
- readonly discriminator = 0;
10
- readonly kind = "Regular";
11
- toJSON(): RegularJSON;
12
- toEncodable(): {
13
- Regular: {};
14
- };
15
- }
16
- export interface IsolatedCollateralJSON {
17
- kind: "IsolatedCollateral";
18
- }
19
- export declare class IsolatedCollateral {
20
- static readonly discriminator = 1;
21
- static readonly kind = "IsolatedCollateral";
22
- readonly discriminator = 1;
23
- readonly kind = "IsolatedCollateral";
24
- toJSON(): IsolatedCollateralJSON;
25
- toEncodable(): {
26
- IsolatedCollateral: {};
27
- };
28
- }
29
- export interface IsolatedDebtJSON {
30
- kind: "IsolatedDebt";
31
- }
32
- export declare class IsolatedDebt {
33
- static readonly discriminator = 2;
34
- static readonly kind = "IsolatedDebt";
35
- readonly discriminator = 2;
36
- readonly kind = "IsolatedDebt";
37
- toJSON(): IsolatedDebtJSON;
38
- toEncodable(): {
39
- IsolatedDebt: {};
40
- };
41
- }
42
- export declare function fromDecoded(obj: any): types.AssetTierKind;
43
- export declare function fromJSON(obj: types.AssetTierJSON): types.AssetTierKind;
44
- export declare function layout(property?: string): borsh.EnumLayout<unknown>;
45
- //# sourceMappingURL=AssetTier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssetTier.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/types/AssetTier.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAGzC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,qBAAa,OAAO;IAClB,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAI;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAY;IAChC,QAAQ,CAAC,aAAa,KAAI;IAC1B,QAAQ,CAAC,IAAI,aAAY;IAEzB,MAAM,IAAI,WAAW;IAMrB,WAAW;;;CAKZ;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,oBAAoB,CAAA;CAC3B;AAED,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAI;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,wBAAuB;IAC3C,QAAQ,CAAC,aAAa,KAAI;IAC1B,QAAQ,CAAC,IAAI,wBAAuB;IAEpC,MAAM,IAAI,sBAAsB;IAMhC,WAAW;;;CAKZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAI;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAiB;IACrC,QAAQ,CAAC,aAAa,KAAI;IAC1B,QAAQ,CAAC,IAAI,kBAAiB;IAE9B,MAAM,IAAI,gBAAgB;IAM1B,WAAW;;;CAKZ;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,aAAa,CAgBzD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAYtE;AAED,wBAAgB,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,6BAUvC"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.IsolatedDebt = exports.IsolatedCollateral = exports.Regular = void 0;
37
- exports.fromDecoded = fromDecoded;
38
- exports.fromJSON = fromJSON;
39
- exports.layout = layout;
40
- const borsh = __importStar(require("@coral-xyz/borsh"));
41
- class Regular {
42
- static discriminator = 0;
43
- static kind = "Regular";
44
- discriminator = 0;
45
- kind = "Regular";
46
- toJSON() {
47
- return {
48
- kind: "Regular",
49
- };
50
- }
51
- toEncodable() {
52
- return {
53
- Regular: {},
54
- };
55
- }
56
- }
57
- exports.Regular = Regular;
58
- class IsolatedCollateral {
59
- static discriminator = 1;
60
- static kind = "IsolatedCollateral";
61
- discriminator = 1;
62
- kind = "IsolatedCollateral";
63
- toJSON() {
64
- return {
65
- kind: "IsolatedCollateral",
66
- };
67
- }
68
- toEncodable() {
69
- return {
70
- IsolatedCollateral: {},
71
- };
72
- }
73
- }
74
- exports.IsolatedCollateral = IsolatedCollateral;
75
- class IsolatedDebt {
76
- static discriminator = 2;
77
- static kind = "IsolatedDebt";
78
- discriminator = 2;
79
- kind = "IsolatedDebt";
80
- toJSON() {
81
- return {
82
- kind: "IsolatedDebt",
83
- };
84
- }
85
- toEncodable() {
86
- return {
87
- IsolatedDebt: {},
88
- };
89
- }
90
- }
91
- exports.IsolatedDebt = IsolatedDebt;
92
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
93
- function fromDecoded(obj) {
94
- if (typeof obj !== "object") {
95
- throw new Error("Invalid enum object");
96
- }
97
- if ("Regular" in obj) {
98
- return new Regular();
99
- }
100
- if ("IsolatedCollateral" in obj) {
101
- return new IsolatedCollateral();
102
- }
103
- if ("IsolatedDebt" in obj) {
104
- return new IsolatedDebt();
105
- }
106
- throw new Error("Invalid enum object");
107
- }
108
- function fromJSON(obj) {
109
- switch (obj.kind) {
110
- case "Regular": {
111
- return new Regular();
112
- }
113
- case "IsolatedCollateral": {
114
- return new IsolatedCollateral();
115
- }
116
- case "IsolatedDebt": {
117
- return new IsolatedDebt();
118
- }
119
- }
120
- }
121
- function layout(property) {
122
- const ret = borsh.rustEnum([
123
- borsh.struct([], "Regular"),
124
- borsh.struct([], "IsolatedCollateral"),
125
- borsh.struct([], "IsolatedDebt"),
126
- ]);
127
- if (property !== undefined) {
128
- return ret.replicate(property);
129
- }
130
- return ret;
131
- }
132
- //# sourceMappingURL=AssetTier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssetTier.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/types/AssetTier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA,kCAgBC;AAED,4BAYC;AAED,wBAUC;AAnHD,wDAAyC;AAOzC,MAAa,OAAO;IAClB,MAAM,CAAU,aAAa,GAAG,CAAC,CAAA;IACjC,MAAM,CAAU,IAAI,GAAG,SAAS,CAAA;IACvB,aAAa,GAAG,CAAC,CAAA;IACjB,IAAI,GAAG,SAAS,CAAA;IAEzB,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,SAAS;SAChB,CAAA;IACH,CAAC;IAED,WAAW;QACT,OAAO;YACL,OAAO,EAAE,EAAE;SACZ,CAAA;IACH,CAAC;;AAhBH,0BAiBC;AAMD,MAAa,kBAAkB;IAC7B,MAAM,CAAU,aAAa,GAAG,CAAC,CAAA;IACjC,MAAM,CAAU,IAAI,GAAG,oBAAoB,CAAA;IAClC,aAAa,GAAG,CAAC,CAAA;IACjB,IAAI,GAAG,oBAAoB,CAAA;IAEpC,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,oBAAoB;SAC3B,CAAA;IACH,CAAC;IAED,WAAW;QACT,OAAO;YACL,kBAAkB,EAAE,EAAE;SACvB,CAAA;IACH,CAAC;;AAhBH,gDAiBC;AAMD,MAAa,YAAY;IACvB,MAAM,CAAU,aAAa,GAAG,CAAC,CAAA;IACjC,MAAM,CAAU,IAAI,GAAG,cAAc,CAAA;IAC5B,aAAa,GAAG,CAAC,CAAA;IACjB,IAAI,GAAG,cAAc,CAAA;IAE9B,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,cAAc;SACrB,CAAA;IACH,CAAC;IAED,WAAW;QACT,OAAO;YACL,YAAY,EAAE,EAAE;SACjB,CAAA;IACH,CAAC;;AAhBH,oCAiBC;AAED,8DAA8D;AAC9D,SAAgB,WAAW,CAAC,GAAQ;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACrB,OAAO,IAAI,OAAO,EAAE,CAAA;IACtB,CAAC;IACD,IAAI,oBAAoB,IAAI,GAAG,EAAE,CAAC;QAChC,OAAO,IAAI,kBAAkB,EAAE,CAAA;IACjC,CAAC;IACD,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;QAC1B,OAAO,IAAI,YAAY,EAAE,CAAA;IAC3B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;AACxC,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAwB;IAC/C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,IAAI,OAAO,EAAE,CAAA;QACtB,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,kBAAkB,EAAE,CAAA;QACjC,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,IAAI,YAAY,EAAE,CAAA;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,MAAM,CAAC,QAAiB;IACtC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;QACzB,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,CAAC;QACtC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC;KACjC,CAAC,CAAA;IACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1,119 +0,0 @@
1
- import { address, Address } from "@solana/kit" // eslint-disable-line @typescript-eslint/no-unused-vars
2
- import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
3
- import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
4
- import * as borsh from "@coral-xyz/borsh"
5
- import { borshAddress } from "../utils"
6
-
7
- export interface RegularJSON {
8
- kind: "Regular"
9
- }
10
-
11
- export class Regular {
12
- static readonly discriminator = 0
13
- static readonly kind = "Regular"
14
- readonly discriminator = 0
15
- readonly kind = "Regular"
16
-
17
- toJSON(): RegularJSON {
18
- return {
19
- kind: "Regular",
20
- }
21
- }
22
-
23
- toEncodable() {
24
- return {
25
- Regular: {},
26
- }
27
- }
28
- }
29
-
30
- export interface IsolatedCollateralJSON {
31
- kind: "IsolatedCollateral"
32
- }
33
-
34
- export class IsolatedCollateral {
35
- static readonly discriminator = 1
36
- static readonly kind = "IsolatedCollateral"
37
- readonly discriminator = 1
38
- readonly kind = "IsolatedCollateral"
39
-
40
- toJSON(): IsolatedCollateralJSON {
41
- return {
42
- kind: "IsolatedCollateral",
43
- }
44
- }
45
-
46
- toEncodable() {
47
- return {
48
- IsolatedCollateral: {},
49
- }
50
- }
51
- }
52
-
53
- export interface IsolatedDebtJSON {
54
- kind: "IsolatedDebt"
55
- }
56
-
57
- export class IsolatedDebt {
58
- static readonly discriminator = 2
59
- static readonly kind = "IsolatedDebt"
60
- readonly discriminator = 2
61
- readonly kind = "IsolatedDebt"
62
-
63
- toJSON(): IsolatedDebtJSON {
64
- return {
65
- kind: "IsolatedDebt",
66
- }
67
- }
68
-
69
- toEncodable() {
70
- return {
71
- IsolatedDebt: {},
72
- }
73
- }
74
- }
75
-
76
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
- export function fromDecoded(obj: any): types.AssetTierKind {
78
- if (typeof obj !== "object") {
79
- throw new Error("Invalid enum object")
80
- }
81
-
82
- if ("Regular" in obj) {
83
- return new Regular()
84
- }
85
- if ("IsolatedCollateral" in obj) {
86
- return new IsolatedCollateral()
87
- }
88
- if ("IsolatedDebt" in obj) {
89
- return new IsolatedDebt()
90
- }
91
-
92
- throw new Error("Invalid enum object")
93
- }
94
-
95
- export function fromJSON(obj: types.AssetTierJSON): types.AssetTierKind {
96
- switch (obj.kind) {
97
- case "Regular": {
98
- return new Regular()
99
- }
100
- case "IsolatedCollateral": {
101
- return new IsolatedCollateral()
102
- }
103
- case "IsolatedDebt": {
104
- return new IsolatedDebt()
105
- }
106
- }
107
- }
108
-
109
- export function layout(property?: string) {
110
- const ret = borsh.rustEnum([
111
- borsh.struct([], "Regular"),
112
- borsh.struct([], "IsolatedCollateral"),
113
- borsh.struct([], "IsolatedDebt"),
114
- ])
115
- if (property !== undefined) {
116
- return ret.replicate(property)
117
- }
118
- return ret
119
- }