@kamino-finance/klend-sdk 7.4.0-beta.0 → 7.4.0-beta.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.
Files changed (197) hide show
  1. package/dist/@codegen/klend/accounts/LendingMarket.d.ts +3 -51
  2. package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
  3. package/dist/@codegen/klend/accounts/LendingMarket.js +6 -39
  4. package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
  5. package/dist/@codegen/klend/accounts/Obligation.d.ts +15 -24
  6. package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
  7. package/dist/@codegen/klend/accounts/Obligation.js +21 -24
  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 +75 -0
  11. package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
  12. package/dist/@codegen/klend/accounts/UserState.js +25 -0
  13. package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
  14. package/dist/@codegen/klend/errors/custom.d.ts +1 -89
  15. package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
  16. package/dist/@codegen/klend/errors/custom.js +1 -155
  17. package/dist/@codegen/klend/errors/custom.js.map +1 -1
  18. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +1 -0
  19. package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
  20. package/dist/@codegen/klend/instructions/idlMissingTypes.js +2 -0
  21. package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
  22. package/dist/@codegen/klend/instructions/index.d.ts +0 -4
  23. package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
  24. package/dist/@codegen/klend/instructions/index.js +1 -6
  25. package/dist/@codegen/klend/instructions/index.js.map +1 -1
  26. package/dist/@codegen/klend/types/AssetTier.d.ts +45 -0
  27. package/dist/@codegen/klend/types/AssetTier.d.ts.map +1 -0
  28. package/dist/@codegen/klend/types/AssetTier.js +132 -0
  29. package/dist/@codegen/klend/types/AssetTier.js.map +1 -0
  30. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +5 -35
  31. package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
  32. package/dist/@codegen/klend/types/ObligationLiquidity.js +7 -17
  33. package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
  34. package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
  35. package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
  36. package/dist/@codegen/klend/types/ReserveConfig.d.ts +5 -60
  37. package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
  38. package/dist/@codegen/klend/types/ReserveConfig.js +7 -36
  39. package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
  40. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +7 -33
  41. package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
  42. package/dist/@codegen/klend/types/UpdateConfigMode.js +13 -61
  43. package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
  44. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +0 -52
  45. package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
  46. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +1 -97
  47. package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
  48. package/dist/@codegen/klend/types/index.d.ts +8 -8
  49. package/dist/@codegen/klend/types/index.d.ts.map +1 -1
  50. package/dist/@codegen/klend/types/index.js +3 -5
  51. package/dist/@codegen/klend/types/index.js.map +1 -1
  52. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +5 -8
  53. package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
  54. package/dist/@codegen/klend/zero_padding/ObligationZP.js +14 -17
  55. package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
  56. package/dist/classes/action.d.ts +21 -91
  57. package/dist/classes/action.d.ts.map +1 -1
  58. package/dist/classes/action.js +141 -119
  59. package/dist/classes/action.js.map +1 -1
  60. package/dist/classes/actionTypes.d.ts +310 -0
  61. package/dist/classes/actionTypes.d.ts.map +1 -0
  62. package/dist/classes/actionTypes.js +3 -0
  63. package/dist/classes/actionTypes.js.map +1 -0
  64. package/dist/classes/manager.d.ts.map +1 -1
  65. package/dist/classes/manager.js +0 -4
  66. package/dist/classes/manager.js.map +1 -1
  67. package/dist/classes/market.d.ts +5 -11
  68. package/dist/classes/market.d.ts.map +1 -1
  69. package/dist/classes/market.js +29 -21
  70. package/dist/classes/market.js.map +1 -1
  71. package/dist/classes/obligation.d.ts +9 -9
  72. package/dist/classes/obligation.d.ts.map +1 -1
  73. package/dist/classes/obligation.js +49 -51
  74. package/dist/classes/obligation.js.map +1 -1
  75. package/dist/classes/obligationOrder.d.ts.map +1 -1
  76. package/dist/classes/obligationOrder.js +6 -3
  77. package/dist/classes/obligationOrder.js.map +1 -1
  78. package/dist/classes/reserve.d.ts.map +1 -1
  79. package/dist/classes/reserve.js +1 -3
  80. package/dist/classes/reserve.js.map +1 -1
  81. package/dist/classes/shared.d.ts +1 -0
  82. package/dist/classes/shared.d.ts.map +1 -1
  83. package/dist/client/commands/borrow.d.ts +1 -1
  84. package/dist/client/commands/borrow.d.ts.map +1 -1
  85. package/dist/client/commands/borrow.js +11 -2
  86. package/dist/client/commands/borrow.js.map +1 -1
  87. package/dist/client/commands/deposit.d.ts +1 -1
  88. package/dist/client/commands/deposit.d.ts.map +1 -1
  89. package/dist/client/commands/deposit.js +11 -2
  90. package/dist/client/commands/deposit.js.map +1 -1
  91. package/dist/client/commands/printReserve.d.ts +1 -1
  92. package/dist/client/commands/printReserve.d.ts.map +1 -1
  93. package/dist/client/commands/printReserve.js +2 -4
  94. package/dist/client/commands/printReserve.js.map +1 -1
  95. package/dist/client/commands/repay.d.ts +1 -1
  96. package/dist/client/commands/repay.d.ts.map +1 -1
  97. package/dist/client/commands/repay.js +12 -2
  98. package/dist/client/commands/repay.js.map +1 -1
  99. package/dist/client/commands/withdraw.d.ts +1 -1
  100. package/dist/client/commands/withdraw.d.ts.map +1 -1
  101. package/dist/client/commands/withdraw.js +11 -2
  102. package/dist/client/commands/withdraw.js.map +1 -1
  103. package/dist/idl/klend.json +54 -581
  104. package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -1
  105. package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
  106. package/dist/lending_operations/repay_with_collateral_calcs.js +2 -2
  107. package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
  108. package/dist/lending_operations/repay_with_collateral_operations.d.ts +4 -4
  109. package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
  110. package/dist/lending_operations/repay_with_collateral_operations.js +43 -10
  111. package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
  112. package/dist/lending_operations/swap_collateral_operations.d.ts +4 -4
  113. package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
  114. package/dist/lending_operations/swap_collateral_operations.js +40 -21
  115. package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
  116. package/dist/leverage/operations.d.ts +6 -6
  117. package/dist/leverage/operations.d.ts.map +1 -1
  118. package/dist/leverage/operations.js +167 -52
  119. package/dist/leverage/operations.js.map +1 -1
  120. package/dist/leverage/types.d.ts +2 -2
  121. package/dist/leverage/types.d.ts.map +1 -1
  122. package/dist/manager/client_kamino_manager.js +6 -12
  123. package/dist/manager/client_kamino_manager.js.map +1 -1
  124. package/dist/obligation_orders/price_based.js +1 -0
  125. package/dist/obligation_orders/price_based.js.map +1 -1
  126. package/dist/utils/ObligationType.d.ts +33 -1
  127. package/dist/utils/ObligationType.d.ts.map +1 -1
  128. package/dist/utils/ObligationType.js +81 -2
  129. package/dist/utils/ObligationType.js.map +1 -1
  130. package/dist/utils/managerTypes.d.ts.map +1 -1
  131. package/dist/utils/managerTypes.js +1 -3
  132. package/dist/utils/managerTypes.js.map +1 -1
  133. package/dist/utils/userMetadata.d.ts +2 -2
  134. package/dist/utils/userMetadata.d.ts.map +1 -1
  135. package/dist/utils/userMetadata.js +49 -25
  136. package/dist/utils/userMetadata.js.map +1 -1
  137. package/package.json +1 -1
  138. package/src/@codegen/klend/accounts/LendingMarket.ts +8 -79
  139. package/src/@codegen/klend/accounts/Obligation.ts +31 -42
  140. package/src/@codegen/klend/accounts/Reserve.ts +1 -1
  141. package/src/@codegen/klend/accounts/UserState.ts +75 -0
  142. package/src/@codegen/klend/errors/custom.ts +0 -172
  143. package/src/@codegen/klend/instructions/idlMissingTypes.ts +3 -0
  144. package/src/@codegen/klend/instructions/index.ts +0 -7
  145. package/src/@codegen/klend/types/AssetTier.ts +119 -0
  146. package/src/@codegen/klend/types/ObligationLiquidity.ts +9 -39
  147. package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
  148. package/src/@codegen/klend/types/ReserveConfig.ts +9 -72
  149. package/src/@codegen/klend/types/UpdateConfigMode.ts +13 -73
  150. package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +0 -120
  151. package/src/@codegen/klend/types/index.ts +14 -21
  152. package/src/@codegen/klend/zero_padding/ObligationZP.ts +14 -17
  153. package/src/classes/action.ts +321 -347
  154. package/src/classes/actionTypes.ts +295 -0
  155. package/src/classes/manager.ts +0 -5
  156. package/src/classes/market.ts +42 -32
  157. package/src/classes/obligation.ts +55 -54
  158. package/src/classes/obligationOrder.ts +6 -3
  159. package/src/classes/reserve.ts +1 -3
  160. package/src/classes/shared.ts +2 -0
  161. package/src/client/client.ts +17 -18
  162. package/src/client/commands/borrow.ts +10 -9
  163. package/src/client/commands/deposit.ts +10 -9
  164. package/src/client/commands/printReserve.ts +2 -4
  165. package/src/client/commands/repay.ts +11 -10
  166. package/src/client/commands/withdraw.ts +15 -9
  167. package/src/idl/klend.json +54 -581
  168. package/src/lending_operations/repay_with_collateral_calcs.ts +3 -4
  169. package/src/lending_operations/repay_with_collateral_operations.ts +40 -38
  170. package/src/lending_operations/swap_collateral_operations.ts +47 -41
  171. package/src/leverage/operations.ts +168 -129
  172. package/src/leverage/types.ts +2 -2
  173. package/src/manager/client_kamino_manager.ts +6 -12
  174. package/src/obligation_orders/price_based.ts +1 -0
  175. package/src/utils/ObligationType.ts +92 -1
  176. package/src/utils/managerTypes.ts +1 -3
  177. package/src/utils/userMetadata.ts +64 -30
  178. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +0 -36
  179. package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +0 -1
  180. package/dist/@codegen/klend/instructions/fillBorrowOrder.js +0 -49
  181. package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +0 -1
  182. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +0 -33
  183. package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +0 -1
  184. package/dist/@codegen/klend/instructions/setBorrowOrder.js +0 -66
  185. package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +0 -1
  186. package/dist/@codegen/klend/types/BorrowOrder.d.ts +0 -192
  187. package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +0 -1
  188. package/dist/@codegen/klend/types/BorrowOrder.js +0 -194
  189. package/dist/@codegen/klend/types/BorrowOrder.js.map +0 -1
  190. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +0 -39
  191. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +0 -1
  192. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +0 -100
  193. package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +0 -1
  194. package/src/@codegen/klend/instructions/fillBorrowOrder.ts +0 -96
  195. package/src/@codegen/klend/instructions/setBorrowOrder.ts +0 -81
  196. package/src/@codegen/klend/types/BorrowOrder.ts +0 -267
  197. package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +0 -87
@@ -11,6 +11,9 @@ export enum ObligationTypeTag {
11
11
  Multiply = 1,
12
12
  Lending = 2,
13
13
  Leverage = 3,
14
+ MultiplyFixedRate = 4,
15
+ LendingFixedRate = 5,
16
+ LeverageFixedRate = 6,
14
17
  }
15
18
 
16
19
  export type InitObligationArgsModel = {
@@ -76,6 +79,36 @@ export class MultiplyObligation {
76
79
  }
77
80
  }
78
81
 
82
+ export class MultiplyObligationFixedRate {
83
+ readonly collReserveAddress: Address;
84
+ readonly debtReserveAddress: Address;
85
+ readonly programId: Address;
86
+ readonly id: number;
87
+ static tag = 4;
88
+
89
+ constructor(collReserveAddress: Address, debtReserveAddress: Address, programId: Address, id?: number) {
90
+ this.collReserveAddress = collReserveAddress;
91
+ this.debtReserveAddress = debtReserveAddress;
92
+ this.programId = programId;
93
+ this.id = id ?? 0;
94
+ }
95
+
96
+ toArgs() {
97
+ const initObligationArgs: InitObligationArgsModel = {
98
+ tag: MultiplyObligationFixedRate.tag,
99
+ id: this.id,
100
+ seed1: this.collReserveAddress,
101
+ seed2: this.debtReserveAddress,
102
+ };
103
+
104
+ return initObligationArgs;
105
+ }
106
+
107
+ toPda(market: Address, user: Address) {
108
+ return getObligationPdaWithArgs(market, user, this.toArgs(), this.programId);
109
+ }
110
+ }
111
+
79
112
  export class LeverageObligation {
80
113
  readonly collToken: Address;
81
114
  readonly debtToken: Address;
@@ -106,6 +139,36 @@ export class LeverageObligation {
106
139
  }
107
140
  }
108
141
 
142
+ export class LeverageObligationFixedRate {
143
+ readonly collReserveAddress: Address;
144
+ readonly debtReserveAddress: Address;
145
+ readonly programId: Address;
146
+ readonly id: number;
147
+ static tag = 6;
148
+
149
+ constructor(collReserveAddress: Address, debtReserveAddress: Address, programId: Address, id?: number) {
150
+ this.collReserveAddress = collReserveAddress;
151
+ this.debtReserveAddress = debtReserveAddress;
152
+ this.programId = programId;
153
+ this.id = id ?? 0;
154
+ }
155
+
156
+ toArgs() {
157
+ const initObligationArgs: InitObligationArgsModel = {
158
+ tag: LeverageObligationFixedRate.tag,
159
+ id: this.id,
160
+ seed1: this.collReserveAddress,
161
+ seed2: this.debtReserveAddress,
162
+ };
163
+
164
+ return initObligationArgs;
165
+ }
166
+
167
+ toPda(market: Address, user: Address) {
168
+ return getObligationPdaWithArgs(market, user, this.toArgs(), this.programId);
169
+ }
170
+ }
171
+
109
172
  export class LendingObligation {
110
173
  readonly token: Address;
111
174
  readonly programId: Address;
@@ -121,7 +184,7 @@ export class LendingObligation {
121
184
  toArgs() {
122
185
  const initObligationArgs: InitObligationArgsModel = {
123
186
  tag: LendingObligation.tag,
124
- id: 0,
187
+ id: this.id,
125
188
  seed1: this.token,
126
189
  seed2: this.token,
127
190
  };
@@ -134,6 +197,34 @@ export class LendingObligation {
134
197
  }
135
198
  }
136
199
 
200
+ export class LendingObligationFixedRate {
201
+ readonly reserveAddress: Address;
202
+ readonly programId: Address;
203
+ readonly id: number;
204
+ static tag = 5;
205
+
206
+ constructor(reserveAddress: Address, programId: Address, id?: number) {
207
+ this.reserveAddress = reserveAddress;
208
+ this.programId = programId;
209
+ this.id = id ?? 0;
210
+ }
211
+
212
+ toArgs() {
213
+ const initObligationArgs: InitObligationArgsModel = {
214
+ tag: LendingObligationFixedRate.tag,
215
+ id: this.id,
216
+ seed1: this.reserveAddress,
217
+ seed2: this.reserveAddress,
218
+ };
219
+
220
+ return initObligationArgs;
221
+ }
222
+
223
+ toPda(market: Address, user: Address) {
224
+ return getObligationPdaWithArgs(market, user, this.toArgs(), this.programId);
225
+ }
226
+ }
227
+
137
228
  export async function getObligationPdaWithArgs(
138
229
  market: Address,
139
230
  user: Address,
@@ -306,7 +306,7 @@ function buildReserveConfig(fields: {
306
306
  protocolLiquidationFeePct: 0,
307
307
  protocolOrderExecutionFeePct: 0,
308
308
  protocolTakeRatePct: fields.configParams.protocolTakeRate,
309
- paddingDeprecatedAssetTier: 0,
309
+ assetTier: 0,
310
310
  maxLiquidationBonusBps: fields.configParams.maxLiquidationBonusBps,
311
311
  badDebtLiquidationBonusBps: fields.configParams.badDebtLiquidationBonusBps,
312
312
  fees: {
@@ -373,8 +373,6 @@ 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),
378
376
  };
379
377
 
380
378
  return new ReserveConfig(reserveConfigFields);
@@ -25,6 +25,8 @@ import {
25
25
  UserMetadata,
26
26
  obligationFarmStatePda,
27
27
  DEFAULT_PUBLIC_KEY,
28
+ MultiplyObligationFixedRate,
29
+ LeverageObligationFixedRate,
28
30
  } from '../lib';
29
31
  import { KaminoReserve } from '../classes/reserve';
30
32
  import { Buffer } from 'buffer';
@@ -42,8 +44,8 @@ export const getUserLutAddressAndSetupIxs = async (
42
44
  user: TransactionSigner,
43
45
  referrer: Option<Address> = none(),
44
46
  withExtendLut: boolean = true,
45
- multiplyMints: { coll: Address; debt: Address }[] = [],
46
- leverageMints: { coll: Address; debt: Address }[] = [],
47
+ multiplyReserveAddresses: { coll: Address; debt: Address }[] = [],
48
+ leverageReserveAddresses: { coll: Address; debt: Address }[] = [],
47
49
  repayWithCollObligation: KaminoObligation | undefined = undefined,
48
50
  payer: TransactionSigner = user
49
51
  ): Promise<[Address, Instruction[][]]> => {
@@ -89,8 +91,8 @@ export const getUserLutAddressAndSetupIxs = async (
89
91
  userLookupTableAddress,
90
92
  user.address,
91
93
  referrer,
92
- multiplyMints,
93
- leverageMints,
94
+ multiplyReserveAddresses,
95
+ leverageReserveAddresses,
94
96
  userMetadataState !== null,
95
97
  repayWithCollObligation
96
98
  );
@@ -110,8 +112,8 @@ const getDedupUserLookupTableAddresses = async (
110
112
  tableAddress: Address,
111
113
  user: Address,
112
114
  referrer: Option<Address>,
113
- multiplyMints: { coll: Address; debt: Address }[] = [],
114
- leverageMints: { coll: Address; debt: Address }[] = [],
115
+ multiplyReserveAddresses: { coll: Address; debt: Address }[] = [],
116
+ leverageReserveAddresses: { coll: Address; debt: Address }[] = [],
115
117
  tableExists: boolean,
116
118
  repayWithCollObligation: KaminoObligation | undefined = undefined
117
119
  ): Promise<Address[]> => {
@@ -119,8 +121,8 @@ const getDedupUserLookupTableAddresses = async (
119
121
  kaminoMarket,
120
122
  user,
121
123
  referrer,
122
- multiplyMints,
123
- leverageMints,
124
+ multiplyReserveAddresses,
125
+ leverageReserveAddresses,
124
126
  repayWithCollObligation
125
127
  );
126
128
 
@@ -148,8 +150,8 @@ const getUserLookupTableAddresses = async (
148
150
  kaminoMarket: KaminoMarket,
149
151
  user: Address,
150
152
  referrer: Option<Address>,
151
- multiplyMints: { coll: Address; debt: Address }[] = [],
152
- leverageMints: { coll: Address; debt: Address }[] = [],
153
+ multiplyReserveAddresses: { coll: Address; debt: Address }[] = [],
154
+ leverageReserveAddresses: { coll: Address; debt: Address }[] = [],
153
155
  repayWithCollObligation: KaminoObligation | undefined = undefined
154
156
  ): Promise<{ address: Address; log: string }[]> => {
155
157
  const addresses: { address: Address; log: string }[] = [];
@@ -158,13 +160,22 @@ const getUserLookupTableAddresses = async (
158
160
  addresses.push({ address: userMetadataAddress, log: 'userMetadata address' });
159
161
 
160
162
  const allMints: Address[] = [];
161
- multiplyMints.forEach(({ coll: collMint, debt: debtMint }) => {
162
- allMints.push(collMint);
163
- allMints.push(debtMint);
163
+ const allReserves: Address[] = [];
164
+ multiplyReserveAddresses.forEach(({ coll: collReserveAddress, debt: debtReserveAddress }) => {
165
+ const collReserveMint = kaminoMarket.getExistingReserveByAddress(collReserveAddress)!.getLiquidityMint();
166
+ const debtReserveMint = kaminoMarket.getExistingReserveByAddress(debtReserveAddress)!.getLiquidityMint();
167
+ allMints.push(collReserveMint);
168
+ allMints.push(debtReserveMint);
169
+ allReserves.push(collReserveAddress);
170
+ allReserves.push(debtReserveAddress);
164
171
  });
165
- leverageMints.forEach(({ coll: collMint, debt: debtMint }) => {
166
- allMints.push(collMint);
167
- allMints.push(debtMint);
172
+ leverageReserveAddresses.forEach(({ coll: collReserveAddress, debt: debtReserveAddress }) => {
173
+ const collReserveMint = kaminoMarket.getExistingReserveByAddress(collReserveAddress)!.getLiquidityMint();
174
+ const debtReserveMint = kaminoMarket.getExistingReserveByAddress(debtReserveAddress)!.getLiquidityMint();
175
+ allMints.push(collReserveMint);
176
+ allMints.push(debtReserveMint);
177
+ allReserves.push(collReserveAddress);
178
+ allReserves.push(debtReserveAddress);
168
179
  });
169
180
 
170
181
  if (repayWithCollObligation) {
@@ -178,9 +189,10 @@ const getUserLookupTableAddresses = async (
178
189
  }
179
190
 
180
191
  const dedupMints = [...new Set(allMints)];
192
+ const dedupReserveAddresses = [...new Set(allReserves)];
181
193
  const reserves: KaminoReserve[] = [];
182
- dedupMints.forEach((mint) => {
183
- const kaminoReserve = kaminoMarket.getReserveByMint(mint);
194
+ dedupReserveAddresses.forEach((reserveAddress) => {
195
+ const kaminoReserve = kaminoMarket.getReserveByAddress(reserveAddress);
184
196
  if (kaminoReserve) {
185
197
  reserves.push(kaminoReserve);
186
198
  }
@@ -226,13 +238,13 @@ const getUserLookupTableAddresses = async (
226
238
  }
227
239
 
228
240
  const [multiplyObligations, multiplyObligationsFarmUserStates] =
229
- await getMultiplyObligationAndObligationFarmStateAddresses(kaminoMarket, user, multiplyMints);
241
+ await getMultiplyObligationAndObligationFarmStateAddresses(kaminoMarket, user, multiplyReserveAddresses);
230
242
 
231
243
  addresses.push(...multiplyObligations);
232
244
  addresses.push(...multiplyObligationsFarmUserStates);
233
245
 
234
246
  const [leverageObligations, leverageObligationsFarmUserStates] =
235
- await getLeverageObligationAndObligationFarmStateAddresses(kaminoMarket, user, leverageMints);
247
+ await getLeverageObligationAndObligationFarmStateAddresses(kaminoMarket, user, leverageReserveAddresses);
236
248
 
237
249
  addresses.push(...leverageObligations);
238
250
  addresses.push(...leverageObligationsFarmUserStates);
@@ -252,14 +264,16 @@ const getUserLookupTableAddresses = async (
252
264
  async function getMultiplyObligationAndObligationFarmStateAddresses(
253
265
  kaminoMarket: KaminoMarket,
254
266
  user: Address,
255
- mints: { coll: Address; debt: Address }[]
267
+ reserveAddresses: { coll: Address; debt: Address }[]
256
268
  ): Promise<[{ address: Address; log: string }[], { address: Address; log: string }[]]> {
257
269
  const obligationPdas: { address: Address; log: string }[] = [];
258
270
  const farmUserStates: { address: Address; log: string }[] = [];
259
271
 
260
- for (const { coll: collMint, debt: debtMint } of mints) {
261
- const collReserve = kaminoMarket.getReserveByMint(collMint);
262
- const debtReserve = kaminoMarket.getReserveByMint(debtMint);
272
+ for (const { coll: collReserveAddress, debt: debtReserveAddress } of reserveAddresses) {
273
+ const collReserve = kaminoMarket.getReserveByAddress(collReserveAddress);
274
+ const debtReserve = kaminoMarket.getReserveByAddress(debtReserveAddress);
275
+ const collMint = collReserve!.getLiquidityMint();
276
+ const debtMint = debtReserve!.getLiquidityMint();
263
277
  const collMintString = collMint.toString();
264
278
  const debtMintString = debtMint.toString();
265
279
  if (collReserve && debtReserve) {
@@ -268,6 +282,15 @@ async function getMultiplyObligationAndObligationFarmStateAddresses(
268
282
  address: await multiplyObligation.toPda(kaminoMarket.getAddress(), user),
269
283
  log: 'multiply obligation coll: ' + collMintString + ' debt: ' + debtMintString,
270
284
  });
285
+ const multiplyObligationFixedRate = new MultiplyObligationFixedRate(
286
+ collReserveAddress,
287
+ debtReserveAddress,
288
+ kaminoMarket.programId
289
+ );
290
+ obligationPdas.push({
291
+ address: await multiplyObligationFixedRate.toPda(kaminoMarket.getAddress(), user),
292
+ log: 'multiply obligation fixed rate coll: ' + collReserveAddress + ' debt: ' + debtReserveAddress,
293
+ });
271
294
  if (collReserve.state.farmCollateral !== DEFAULT_PUBLIC_KEY) {
272
295
  farmUserStates.push({
273
296
  address: await obligationFarmStatePda(
@@ -295,14 +318,16 @@ async function getMultiplyObligationAndObligationFarmStateAddresses(
295
318
  async function getLeverageObligationAndObligationFarmStateAddresses(
296
319
  kaminoMarket: KaminoMarket,
297
320
  user: Address,
298
- mints: { coll: Address; debt: Address }[]
321
+ reserveAddresses: { coll: Address; debt: Address }[]
299
322
  ): Promise<[{ address: Address; log: string }[], { address: Address; log: string }[]]> {
300
323
  const obligationPdas: { address: Address; log: string }[] = [];
301
324
  const farmUserStates: { address: Address; log: string }[] = [];
302
325
 
303
- for (const { coll: collMint, debt: debtMint } of mints) {
304
- const collReserve = kaminoMarket.getReserveByMint(collMint);
305
- const debtReserve = kaminoMarket.getReserveByMint(debtMint);
326
+ for (const { coll: collReserveAddress, debt: debtReserveAddress } of reserveAddresses) {
327
+ const collReserve = kaminoMarket.getReserveByAddress(collReserveAddress);
328
+ const debtReserve = kaminoMarket.getReserveByAddress(debtReserveAddress);
329
+ const collMint = collReserve!.getLiquidityMint();
330
+ const debtMint = debtReserve!.getLiquidityMint();
306
331
  const collMintString = collMint.toString();
307
332
  const debtMintString = debtMint.toString();
308
333
  if (collReserve && debtReserve) {
@@ -311,6 +336,15 @@ async function getLeverageObligationAndObligationFarmStateAddresses(
311
336
  address: await leverageObligation.toPda(kaminoMarket.getAddress(), user),
312
337
  log: 'leverage obligation coll: ' + collMintString + ' debt: ' + debtMintString,
313
338
  });
339
+ const leverageObligationFixedRate = new LeverageObligationFixedRate(
340
+ collReserveAddress,
341
+ debtReserveAddress,
342
+ kaminoMarket.programId
343
+ );
344
+ obligationPdas.push({
345
+ address: await leverageObligationFixedRate.toPda(kaminoMarket.getAddress(), user),
346
+ log: 'leverage obligation fixed rate coll: ' + collReserveAddress + ' debt: ' + debtReserveAddress,
347
+ });
314
348
  if (collReserve.state.farmCollateral !== DEFAULT_PUBLIC_KEY) {
315
349
  farmUserStates.push({
316
350
  address: await obligationFarmStatePda(
@@ -343,7 +377,7 @@ async function getRepayWithCollObligationFarmStateAddresses(
343
377
  const obligationString = obligation.obligationAddress.toString();
344
378
 
345
379
  for (const borrow of obligation.getBorrows()) {
346
- const borrowReserve = kaminoMarket.getReserveByMint(borrow.mintAddress)!;
380
+ const borrowReserve = kaminoMarket.getReserveByAddress(borrow.reserveAddress)!;
347
381
  if (borrowReserve.state.farmDebt !== DEFAULT_PUBLIC_KEY) {
348
382
  farmUserStates.push({
349
383
  address: await obligationFarmStatePda(borrowReserve.state.farmDebt!, obligation.obligationAddress),
@@ -353,7 +387,7 @@ async function getRepayWithCollObligationFarmStateAddresses(
353
387
  }
354
388
 
355
389
  for (const deposit of obligation.getDeposits()) {
356
- const depositReserve = kaminoMarket.getReserveByMint(deposit.mintAddress)!;
390
+ const depositReserve = kaminoMarket.getReserveByAddress(deposit.reserveAddress)!;
357
391
  if (depositReserve.state.farmCollateral !== DEFAULT_PUBLIC_KEY) {
358
392
  farmUserStates.push({
359
393
  address: await obligationFarmStatePda(depositReserve.state.farmCollateral!, obligation.obligationAddress),
@@ -1,36 +0,0 @@
1
- import { Address, AccountMeta, AccountSignerMeta, Instruction, Option, TransactionSigner } from "@solana/kit";
2
- export declare const DISCRIMINATOR: Buffer<ArrayBuffer>;
3
- export interface FillBorrowOrderAccounts {
4
- borrowAccounts: {
5
- payer: TransactionSigner;
6
- /** The obligation with a [BorrowOrder]. */
7
- obligation: Address;
8
- /** The [Self::obligation]'s market - needed for borrowing-related configuration. */
9
- lendingMarket: Address;
10
- /** The [Self::lending_market]'s authority, needed to transfer the newly-borrowed funds out of the [Self::reserve_source_liquidity]. */
11
- lendingMarketAuthority: Address;
12
- /** The reserve to borrow from. Its mint must match the asset requested by the [BorrowOrder::debt_liquidity_mint]. */
13
- borrowReserve: Address;
14
- /** The mint of [Self::borrow_reserve] - needed to execute the transfer. */
15
- borrowReserveLiquidityMint: Address;
16
- /** The vault of [Self::borrow_reserve], from which the funds are transferred. */
17
- reserveSourceLiquidity: Address;
18
- /** The fee vault of [Self::borrow_reserve], to which the fees are transferred. */
19
- borrowReserveLiquidityFeeReceiver: Address;
20
- /** The destination token account that should receive the newly borrowed funds. It must match [BorrowOrder::filled_debt_destination], owner and mint. **Warning:** An altered destination account will prevent an order from being filled. */
21
- userDestinationLiquidity: Address;
22
- /** The referrer's account, for accumulating fees - needed if the [Obligation::has_referrer]. */
23
- referrerTokenState: Option<Address>;
24
- /** The token program of [Self::borrow_reserve] - needed to execute the transfer. */
25
- tokenProgram: Address;
26
- };
27
- farmsAccounts: {
28
- obligationFarmUserState: Option<Address>;
29
- reserveFarmState: Option<Address>;
30
- };
31
- farmsProgram: Address;
32
- eventAuthority: Address;
33
- program: Address;
34
- }
35
- export declare function fillBorrowOrder(accounts: FillBorrowOrderAccounts, remainingAccounts?: Array<AccountMeta | AccountSignerMeta>, programAddress?: Address): Instruction<string, readonly (AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>;
36
- //# sourceMappingURL=fillBorrowOrder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fillBorrowOrder.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/fillBorrowOrder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAEP,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAQpB,eAAO,MAAM,aAAa,qBAAmD,CAAA;AAE7E,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE;QACd,KAAK,EAAE,iBAAiB,CAAA;QACxB,2CAA2C;QAC3C,UAAU,EAAE,OAAO,CAAA;QACnB,oFAAoF;QACpF,aAAa,EAAE,OAAO,CAAA;QACtB,uIAAuI;QACvI,sBAAsB,EAAE,OAAO,CAAA;QAC/B,sHAAsH;QACtH,aAAa,EAAE,OAAO,CAAA;QACtB,2EAA2E;QAC3E,0BAA0B,EAAE,OAAO,CAAA;QACnC,iFAAiF;QACjF,sBAAsB,EAAE,OAAO,CAAA;QAC/B,kFAAkF;QAClF,iCAAiC,EAAE,OAAO,CAAA;QAC1C,+OAA+O;QAC/O,wBAAwB,EAAE,OAAO,CAAA;QACjC,gGAAgG;QAChG,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACnC,oFAAoF;QACpF,YAAY,EAAE,OAAO,CAAA;KACtB,CAAA;IACD,aAAa,EAAE;QACb,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACxC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;KAClC,CAAA;IACD,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,uBAAuB,EACjC,iBAAiB,GAAE,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAM,EAC9D,cAAc,GAAE,OAAoB,mHAwCrC"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DISCRIMINATOR = void 0;
4
- exports.fillBorrowOrder = fillBorrowOrder;
5
- /* eslint-disable @typescript-eslint/no-unused-vars */
6
- const kit_1 = require("@solana/kit");
7
- const programId_1 = require("../programId");
8
- exports.DISCRIMINATOR = Buffer.from([102, 4, 167, 76, 131, 170, 93, 19]);
9
- function fillBorrowOrder(accounts, remainingAccounts = [], programAddress = programId_1.PROGRAM_ID) {
10
- const keys = [
11
- {
12
- address: accounts.borrowAccounts.payer.address,
13
- role: 2,
14
- signer: accounts.borrowAccounts.payer,
15
- },
16
- { address: accounts.borrowAccounts.obligation, role: 1 },
17
- { address: accounts.borrowAccounts.lendingMarket, role: 0 },
18
- { address: accounts.borrowAccounts.lendingMarketAuthority, role: 0 },
19
- { address: accounts.borrowAccounts.borrowReserve, role: 1 },
20
- { address: accounts.borrowAccounts.borrowReserveLiquidityMint, role: 0 },
21
- { address: accounts.borrowAccounts.reserveSourceLiquidity, role: 1 },
22
- {
23
- address: accounts.borrowAccounts.borrowReserveLiquidityFeeReceiver,
24
- role: 1,
25
- },
26
- { address: accounts.borrowAccounts.userDestinationLiquidity, role: 1 },
27
- (0, kit_1.isSome)(accounts.borrowAccounts.referrerTokenState)
28
- ? { address: accounts.borrowAccounts.referrerTokenState.value, role: 1 }
29
- : { address: programAddress, role: 0 },
30
- { address: accounts.borrowAccounts.tokenProgram, role: 0 },
31
- (0, kit_1.isSome)(accounts.farmsAccounts.obligationFarmUserState)
32
- ? {
33
- address: accounts.farmsAccounts.obligationFarmUserState.value,
34
- role: 1,
35
- }
36
- : { address: programAddress, role: 0 },
37
- (0, kit_1.isSome)(accounts.farmsAccounts.reserveFarmState)
38
- ? { address: accounts.farmsAccounts.reserveFarmState.value, role: 1 }
39
- : { address: programAddress, role: 0 },
40
- { address: accounts.farmsProgram, role: 0 },
41
- { address: accounts.eventAuthority, role: 0 },
42
- { address: accounts.program, role: 0 },
43
- ...remainingAccounts,
44
- ];
45
- const data = exports.DISCRIMINATOR;
46
- const ix = { accounts: keys, programAddress, data };
47
- return ix;
48
- }
49
- //# sourceMappingURL=fillBorrowOrder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fillBorrowOrder.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/fillBorrowOrder.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { Address, AccountMeta, AccountSignerMeta, Instruction, TransactionSigner } from "@solana/kit";
2
- import BN from "bn.js";
3
- import * as types from "../types";
4
- export declare const DISCRIMINATOR: Buffer<ArrayBuffer>;
5
- export interface SetBorrowOrderArgs {
6
- orderConfig: types.BorrowOrderConfigArgsFields;
7
- minExpectedCurrentRemainingDebtAmount: BN;
8
- }
9
- export interface SetBorrowOrderAccounts {
10
- /** The [Self::obligation]'s owner. */
11
- owner: TransactionSigner;
12
- /** The obligation to set the [BorrowOrder] on. */
13
- obligation: Address;
14
- /** The [Self::obligation]'s market - needed only to validate the borrow orders' feature flag. */
15
- lendingMarket: Address;
16
- /**
17
- * The [BorrowOrder::filled_debt_destination] to set on order creation. Not editable on order
18
- * updates.
19
- * Ignored when cancelling the order.
20
- */
21
- filledDebtDestination: Address;
22
- /**
23
- * The [BorrowOrder::debt_liquidity_mint] to set on order creation. Not editable on order
24
- * updates.
25
- * Ignored when cancelling the order.
26
- */
27
- debtLiquidityMint: Address;
28
- eventAuthority: Address;
29
- program: Address;
30
- }
31
- export declare const layout: import("buffer-layout").Layout<SetBorrowOrderArgs>;
32
- export declare function setBorrowOrder(args: SetBorrowOrderArgs, accounts: SetBorrowOrderAccounts, remainingAccounts?: Array<AccountMeta | AccountSignerMeta>, programAddress?: Address): Instruction<string, readonly (AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>;
33
- //# sourceMappingURL=setBorrowOrder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setBorrowOrder.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/setBorrowOrder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAEP,WAAW,EACX,iBAAiB,EACjB,WAAW,EAEX,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,MAAM,OAAO,CAAA;AAGtB,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AAGjC,eAAO,MAAM,aAAa,qBAAoD,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,KAAK,CAAC,2BAA2B,CAAA;IAC9C,qCAAqC,EAAE,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,KAAK,EAAE,iBAAiB,CAAA;IACxB,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAA;IACnB,iGAAiG;IACjG,aAAa,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,eAAO,MAAM,MAAM,oDAGjB,CAAA;AAEF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,sBAAsB,EAChC,iBAAiB,GAAE,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAM,EAC9D,cAAc,GAAE,OAAoB,mHAwBrC"}
@@ -1,66 +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.layout = exports.DISCRIMINATOR = void 0;
37
- exports.setBorrowOrder = setBorrowOrder;
38
- const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
39
- const types = __importStar(require("../types")); // eslint-disable-line @typescript-eslint/no-unused-vars
40
- const programId_1 = require("../programId");
41
- exports.DISCRIMINATOR = Buffer.from([177, 186, 45, 61, 235, 91, 68, 139]);
42
- exports.layout = borsh.struct([
43
- types.BorrowOrderConfigArgs.layout("orderConfig"),
44
- borsh.u64("minExpectedCurrentRemainingDebtAmount"),
45
- ]);
46
- function setBorrowOrder(args, accounts, remainingAccounts = [], programAddress = programId_1.PROGRAM_ID) {
47
- const keys = [
48
- { address: accounts.owner.address, role: 2, signer: accounts.owner },
49
- { address: accounts.obligation, role: 1 },
50
- { address: accounts.lendingMarket, role: 0 },
51
- { address: accounts.filledDebtDestination, role: 0 },
52
- { address: accounts.debtLiquidityMint, role: 0 },
53
- { address: accounts.eventAuthority, role: 0 },
54
- { address: accounts.program, role: 0 },
55
- ...remainingAccounts,
56
- ];
57
- const buffer = Buffer.alloc(1000);
58
- const len = exports.layout.encode({
59
- orderConfig: types.BorrowOrderConfigArgs.toEncodable(args.orderConfig),
60
- minExpectedCurrentRemainingDebtAmount: args.minExpectedCurrentRemainingDebtAmount,
61
- }, buffer);
62
- const data = Buffer.concat([exports.DISCRIMINATOR, buffer]).slice(0, 8 + len);
63
- const ix = { accounts: keys, programAddress, data };
64
- return ix;
65
- }
66
- //# sourceMappingURL=setBorrowOrder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setBorrowOrder.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/setBorrowOrder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,wCA4BC;AApED,wDAAyC,CAAC,wDAAwD;AAElG,gDAAiC,CAAC,wDAAwD;AAC1F,4CAAyC;AAE5B,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;AA8BjE,QAAA,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqB;IACrD,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC;IACjD,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC;CACnD,CAAC,CAAA;AAEF,SAAgB,cAAc,CAC5B,IAAwB,EACxB,QAAgC,EAChC,oBAA4D,EAAE,EAC9D,iBAA0B,sBAAU;IAEpC,MAAM,IAAI,GAA2C;QACnD,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE;QACpE,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE;QACzC,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE;QAC5C,EAAE,OAAO,EAAE,QAAQ,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE;QACpD,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE;QAChD,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE;QAC7C,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;QACtC,GAAG,iBAAiB;KACrB,CAAA;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,cAAM,CAAC,MAAM,CACvB;QACE,WAAW,EAAE,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QACtE,qCAAqC,EACnC,IAAI,CAAC,qCAAqC;KAC7C,EACD,MAAM,CACP,CAAA;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAa,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;IACrE,MAAM,EAAE,GAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;IAChE,OAAO,EAAE,CAAA;AACX,CAAC"}