@kamino-finance/klend-sdk 5.10.16 → 5.10.18
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/manager.d.ts +19 -5
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +26 -10
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/vault.d.ts +13 -7
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +25 -19
- package/dist/classes/vault.js.map +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/manager.ts +45 -12
- package/src/classes/vault.ts +36 -20
- package/src/lib.ts +1 -1
|
@@ -170,17 +170,20 @@ export declare class KaminoManager {
|
|
|
170
170
|
* @param vault - vault to calculate tokensPerShare for
|
|
171
171
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
172
172
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
173
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
173
174
|
* @returns - token per share value
|
|
174
175
|
*/
|
|
175
|
-
getTokensPerShareSingleVault(vault: KaminoVault, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
176
|
+
getTokensPerShareSingleVault(vault: KaminoVault, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<Decimal>;
|
|
176
177
|
/**
|
|
177
178
|
* This method calculates the price of one vault share(kToken)
|
|
178
179
|
* @param vault - vault to calculate sharePrice for
|
|
179
180
|
* @param tokenPrice - the price of the vault token (e.g. SOL) in USD
|
|
180
181
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
182
|
+
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
183
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
181
184
|
* @returns - share value in USD
|
|
182
185
|
*/
|
|
183
|
-
getSharePriceInUSD(vault: KaminoVault, tokenPrice: Decimal, slot?: number): Promise<Decimal>;
|
|
186
|
+
getSharePriceInUSD(vault: KaminoVault, tokenPrice: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<Decimal>;
|
|
184
187
|
/**
|
|
185
188
|
* This method returns the user shares balance for a given vault
|
|
186
189
|
* @param user - user to calculate the shares balance for
|
|
@@ -261,9 +264,10 @@ export declare class KaminoManager {
|
|
|
261
264
|
* @param price - the price of the token in the vault (e.g. USDC)
|
|
262
265
|
* @param [slot] - the slot for which to calculate the holdings. Optional. If not provided the function will fetch the current slot
|
|
263
266
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
267
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
264
268
|
* @returns an VaultHoldingsWithUSDValue object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
265
269
|
*/
|
|
266
|
-
getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
270
|
+
getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<VaultHoldingsWithUSDValue>;
|
|
267
271
|
/**
|
|
268
272
|
* This will return an VaultOverview object that encapsulates all the information about the vault, including the holdings, reserves details, theoretical APY, utilization ratio and total borrowed amount
|
|
269
273
|
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
@@ -271,9 +275,10 @@ export declare class KaminoManager {
|
|
|
271
275
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
272
276
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
273
277
|
* @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
|
|
278
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
274
279
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
275
280
|
*/
|
|
276
|
-
getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[]): Promise<VaultOverview>;
|
|
281
|
+
getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[], currentSlot?: number): Promise<VaultOverview>;
|
|
277
282
|
/**
|
|
278
283
|
* Prints a vault in a human readable form
|
|
279
284
|
* @param vaultPubkey - the address of the vault
|
|
@@ -317,9 +322,18 @@ export declare class KaminoManager {
|
|
|
317
322
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
318
323
|
* @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
|
|
319
324
|
* @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
|
|
325
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
320
326
|
* @returns a struct of simulated vault holdings and earned interest
|
|
321
327
|
*/
|
|
322
|
-
calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
328
|
+
calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, slot?: number, previousTotalAUM?: Decimal, currentSlot?: number): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
|
|
329
|
+
/** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
|
|
330
|
+
* @param vaultState - the vault state to calculate the allocation for
|
|
331
|
+
* @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
|
|
332
|
+
* @param [vaultReserves] - a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
333
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
334
|
+
* @returns - a map from each reserve to how many tokens should be invested into
|
|
335
|
+
*/
|
|
336
|
+
getVaultComputedReservesAllocation(vaultState: VaultState, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<PubkeyHashMap<PublicKey, Decimal>>;
|
|
323
337
|
/**
|
|
324
338
|
* Simulate the current holdings and compute the fees that would be charged
|
|
325
339
|
* @param vaultState the kamino vault state to get simulated fees for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/manager.js
CHANGED
|
@@ -328,20 +328,23 @@ class KaminoManager {
|
|
|
328
328
|
* @param vault - vault to calculate tokensPerShare for
|
|
329
329
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
330
330
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
331
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
331
332
|
* @returns - token per share value
|
|
332
333
|
*/
|
|
333
|
-
async getTokensPerShareSingleVault(vault, slot, vaultReservesMap) {
|
|
334
|
-
return this._vaultClient.getTokensPerShareSingleVault(vault, slot, vaultReservesMap);
|
|
334
|
+
async getTokensPerShareSingleVault(vault, slot, vaultReservesMap, currentSlot) {
|
|
335
|
+
return this._vaultClient.getTokensPerShareSingleVault(vault, slot, vaultReservesMap, currentSlot);
|
|
335
336
|
}
|
|
336
337
|
/**
|
|
337
338
|
* This method calculates the price of one vault share(kToken)
|
|
338
339
|
* @param vault - vault to calculate sharePrice for
|
|
339
340
|
* @param tokenPrice - the price of the vault token (e.g. SOL) in USD
|
|
340
341
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
342
|
+
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
343
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
341
344
|
* @returns - share value in USD
|
|
342
345
|
*/
|
|
343
|
-
async getSharePriceInUSD(vault, tokenPrice, slot) {
|
|
344
|
-
const tokensPerShare = await this.getTokensPerShareSingleVault(vault, slot);
|
|
346
|
+
async getSharePriceInUSD(vault, tokenPrice, slot, vaultReservesMap, currentSlot) {
|
|
347
|
+
const tokensPerShare = await this.getTokensPerShareSingleVault(vault, slot, vaultReservesMap, currentSlot);
|
|
345
348
|
return tokensPerShare.mul(tokenPrice);
|
|
346
349
|
}
|
|
347
350
|
/**
|
|
@@ -486,10 +489,11 @@ class KaminoManager {
|
|
|
486
489
|
* @param price - the price of the token in the vault (e.g. USDC)
|
|
487
490
|
* @param [slot] - the slot for which to calculate the holdings. Optional. If not provided the function will fetch the current slot
|
|
488
491
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
492
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
489
493
|
* @returns an VaultHoldingsWithUSDValue object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
490
494
|
*/
|
|
491
|
-
async getVaultHoldingsWithPrice(vault, price, slot, vaultReserves) {
|
|
492
|
-
return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves);
|
|
495
|
+
async getVaultHoldingsWithPrice(vault, price, slot, vaultReserves, currentSlot) {
|
|
496
|
+
return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves, currentSlot);
|
|
493
497
|
}
|
|
494
498
|
/**
|
|
495
499
|
* This will return an VaultOverview object that encapsulates all the information about the vault, including the holdings, reserves details, theoretical APY, utilization ratio and total borrowed amount
|
|
@@ -498,10 +502,11 @@ class KaminoManager {
|
|
|
498
502
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
499
503
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
500
504
|
* @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
|
|
505
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
501
506
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
502
507
|
*/
|
|
503
|
-
async getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets) {
|
|
504
|
-
return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets);
|
|
508
|
+
async getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets, currentSlot) {
|
|
509
|
+
return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets, currentSlot);
|
|
505
510
|
}
|
|
506
511
|
/**
|
|
507
512
|
* Prints a vault in a human readable form
|
|
@@ -556,10 +561,21 @@ class KaminoManager {
|
|
|
556
561
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
557
562
|
* @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
|
|
558
563
|
* @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
|
|
564
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
559
565
|
* @returns a struct of simulated vault holdings and earned interest
|
|
560
566
|
*/
|
|
561
|
-
async calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves,
|
|
562
|
-
return this._vaultClient.calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves,
|
|
567
|
+
async calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves, slot, previousTotalAUM, currentSlot) {
|
|
568
|
+
return this._vaultClient.calculateSimulatedHoldingsWithInterest(vaultState, vaultReserves, slot, previousTotalAUM, currentSlot);
|
|
569
|
+
}
|
|
570
|
+
/** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
|
|
571
|
+
* @param vaultState - the vault state to calculate the allocation for
|
|
572
|
+
* @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
|
|
573
|
+
* @param [vaultReserves] - a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
574
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
575
|
+
* @returns - a map from each reserve to how many tokens should be invested into
|
|
576
|
+
*/
|
|
577
|
+
async getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot) {
|
|
578
|
+
return this._vaultClient.getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot);
|
|
563
579
|
}
|
|
564
580
|
/**
|
|
565
581
|
* Simulate the current holdings and compute the fees that would be charged
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAUyB;AACzB,mCAgBiB;AACjB,gCA4BgB;AAChB,wDAAsD;AACtD,yDAA2E;AAC3E,kDAAuB;AACvB,gDAA8F;AAC9F,4DAAiC;AACjC,0DAA4C;AAC5C,mEAAkE;AAClE,iDAAqD;AAErD,gDAAwB;AACxB,sCAAkD;AAClD,6DAA2F;AAc3F;;GAEG;AACH,MAAa,aAAa;IACP,WAAW,CAAa;IACxB,qBAAqB,CAAY;IACjC,oBAAoB,CAAY;IAChC,YAAY,CAAoB;IACjD,oBAAoB,CAAS;IAE7B,YACE,UAAsB,EACtB,mBAA+B,EAC/B,oBAAgC,EAChC,oBAA6B;QAE7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAa,CAAC;QACzF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAU,CAAC;QACnF,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qCAA+B,CAAC;QAC1G,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAiB,CACvC,UAAU,EACV,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,MAAgC;QAEhC,MAAM,aAAa,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,mBAAa,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,IAAA,0BAAoB,EAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7G,MAAM,gBAAgB,GAA6B,EAAE,CAAC;QAEtD,gBAAgB,CAAC,IAAI,CACnB,uBAAa,CAAC,aAAa,CAAC;YAC1B,UAAU,EAAE,MAAM,CAAC,KAAK;YACxB,gBAAgB,EAAE,aAAa,CAAC,SAAS;YACzC,QAAQ,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC,IAAI,CAAC;YACxE,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI,CAAC,oBAAoB;SACrC,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,GAA8B;YAC1C,kBAAkB,EAAE,MAAM,CAAC,KAAK;YAChC,aAAa,EAAE,aAAa,CAAC,SAAS;YACtC,sBAAsB,EAAE,sBAAsB;YAC9C,aAAa,EAAE,uBAAa,CAAC,SAAS;YACtC,IAAI,EAAE,4BAAkB;SACzB,CAAC;QAEF,MAAM,IAAI,GAA0B;YAClC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACjC,CAAC;QAEF,gBAAgB,CAAC,IAAI,CAAC,IAAA,uBAAiB,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEpF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAA8B;QAE9B,MAAM,MAAM,GAAG,MAAM,mBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5G,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,iBAAiB,GAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAE9F,MAAM,cAAc,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;QAE1C,MAAM,yBAAyB,GAAG,MAAM,IAAA,sBAAgB,EACtD,IAAI,CAAC,WAAW,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,WAAW,CAAC,IAAI,EACvB,cAAc,CAAC,SAAS,EACxB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QAEF,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3D,iBAAiB,EACjB,cAAc,CAAC,SAAS,EACxB,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,EACrC,SAAS,EACT,IAAI,CACL,CAAC;QAEF,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAExC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,WAA8B;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,+BAA+B,CACnC,KAAkB,EAClB,uBAAgD;QAEhD,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACtF,CAAC;IAED,0EAA0E;IAC1E,kDAAkD;IAClD,IAAI;IAEJ;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAkB;QACvC,MAAM,YAAY,GAAG,MAAM,aAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,wCAAwC,CAC5C,MAAyB,EACzB,OAA2B,EAC3B,iBAAoC,EACpC,eAAmC,EACnC,sBAA8B,EAAE;QAEhC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAE3C,IAAI,WAAW,GAAG,mBAAO,CAAC;QAC1B,IAAI,eAAe,EAAE,CAAC;YACpB,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC;YAEvC,oEAAoE;YACpE,4DAA4D;YAC5D,IAAI;QACN,CAAC;QAED,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,6BAAuB,EAAC;YACrD,uBAAuB,EAAE,iBAAiB,CAAC,uBAAuB;YAClE,UAAU,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YACxC,cAAc,EAAE,CAAC,WAAW,CAAC;SAC9B,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,qBAAa,CAAC;YACzC,GAAG,aAAa;YAChB,SAAS,EAAE;gBACT,GAAG,aAAa,CAAC,SAAS;gBAC1B,kBAAkB,EAAE,kBAAkB;gBACtC,wEAAwE;gBACxE,iBAAiB,EAAE,eAAe;oBAChC,CAAC,CAAC,IAAI,eAAE,CAAC,eAAe,CAAC,OAAO,GAAG,mBAAmB,CAAC;oBACvD,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,iBAAiB;gBAC7C,kBAAkB,EAAE,IAAI,eAAE,CAAC,iBAAiB,CAAC,OAAO,GAAG,mBAAmB,CAAC;aAC5E;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,iBAAoC,EACpC,OAAkB,EAClB,MAAqB,EACrB,oBAA8B,EAC9B,qBAA8B,KAAK;QAEnC,MAAM,YAAY,GAAG,oBAAoB;YACvC,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,CAAC,MAAM,aAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAE,CAAC;QACjF,MAAM,IAAI,GAA6B,EAAE,CAAC;QAE1C,IAAI,CAAC,YAAY,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAA,iCAA2B,EAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CACP,GAAG,IAAA,2CAAqC,EACtC,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAI,CAAC,oBAAoB,CAC1B,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,IAAe,EACf,KAAkB,EAClB,WAAoB,EACpB,gBAA0D,EAC1D,SAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAClB,IAAe,EACf,KAAkB,EAClB,YAAsB,EACtB,SAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAAkB,EAClB,IAAmC,EACnC,KAAa,EACb,MAAkB;QAElB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,wBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,KAAkB,EAClB,IAAe,EACf,kBAA2B,IAAI;QAE/B,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAAkB;QAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAkB,EAAE,iBAA0B;QACtE,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,oBAAoB,CACxB,IAAe,EACf,KAAkB,EAClB,WAAoB,EACpB,IAAY,EACZ,gBAA0D,EAC1D,SAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAAC,KAAkB,EAAE,IAAY;QAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAgB,EAAE,GAAc,EAAE,IAAiB;QACxE,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,KAAkB,EAClB,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,4BAA4B,CAChC,KAAkB,EAClB,IAAa,EACb,gBAA0D;QAE1D,OAAO,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAkB,EAAE,UAAmB,EAAE,IAAa;QAC7E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5E,OAAO,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,+BAA+B,CAAC,IAAe,EAAE,KAAkB;QACvE,OAAO,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6BAA6B,CACjC,IAAe,EACf,cAA8B;QAE9B,OAAO,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,UAAsB;QACpC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,UAAsB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,OAAO,GAAG;YACd;gBACE,QAAQ,EAAE,qBAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;aACrC;YACD;gBACE,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,qBAAU,CAAC,aAAa,CAAC;iBAC7C;aACF;YACD;gBACE,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;iBACxB;aACF;SACF,CAAC;QAEF,MAAM,YAAY,GAA+B,MAAM,IAAA,wBAAkB,EACvE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,EAC1B,qBAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAC1B;YACE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,WAAW;YACtD,OAAO;SACR,CACF,CAAC;QAEF,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,kBAAkB,GAAG,qBAAU,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC,2BAA2B,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;YAC/F,CAAC;YAED,OAAO,IAAI,mBAAW,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,SAAoB;QAEpB,8HAA8H;QAC9H,0FAA0F;QAC1F,4HAA4H;QAC5H,OAAO,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,4BAAgB,EAAE;YACjE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,KAAkB;QAElB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,eAAe,GAAG,KAAK,EAAE,KAAkB,EAA0B,EAAE;QACrE,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAY,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC;gBACV,YAAY,EAAE,IAAI,mBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1D,MAAM,EAAE,IAAI,oBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;aACxE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAiB,EACjB,IAAa,EACb,aAAuD,EACvD,WAAoB;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yBAAyB,CAC7B,KAAiB,EACjB,KAAc,EACd,IAAa,EACb,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAiB,EACjB,KAAc,EACd,IAAa,EACb,aAAuD,EACvD,aAA8B;QAE9B,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC9F,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,WAAsB,EAAE,UAAuB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,2BAA2B,CAC/B,KAAiB,EACjB,IAAY,EACZ,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,uBAAuB,CAC3B,KAAiB,EACjB,IAAY,EACZ,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAC1B,KAAiB,EACjB,IAAY,EACZ,aAAuD;QAEvD,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B,CAAC,UAAsB;QACrD,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sCAAsC,CAC1C,UAAsB,EACtB,aAAuD,EACvD,WAAoB,EACpB,gBAA0B;QAE1B,OAAO,IAAI,CAAC,YAAY,CAAC,sCAAsC,CAC7D,UAAU,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAsB,EACtB,oCAA+E,EAC/E,gBAAuB;QAEvB,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,UAAU,EAAE,oCAAoC,EAAE,gBAAgB,CAAC,CAAC;IACtH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAsB;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,KAAiB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CAAC,UAAsB,EAAE,IAAY;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAgB,EAAE,WAAwB;QACnE,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAC1B,KAAgB,EAChB,WAAwB,EACxB,kBAAsC,EACtC,gBAA0D;QAE1D,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC5G,CAAC;IAED;;;;OAIG;IACH,4BAA4B,CAAC,UAAsB;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,UAAsB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,UAAsB,EAAE,IAAY,EAAE,OAAsB;QAC/E,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAe,QAAQ,EACvB,UAAe,cAAc;QAE7B,MAAM,kBAAkB,GAA6B,EAAE,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,iBAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,MAAM,0BAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAEpE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3G,MAAM,UAAU,GAAG,IAAA,qBAAe,EAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAErE,kBAAkB,CAAC,IAAI,CAAC;oBACtB,uBAAuB,EAAE,UAAU,CAAC,YAAY;oBAChD,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC;oBACtD,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;oBACpD,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC9C,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE;iBAC1E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,iBAAoC,EAAE,SAAwB;QACnF,OAAO,oCAAoC,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvG,CAAC;IAED;;;;;OAKG;IACH,2BAA2B,CAAC,iBAAoC;QAC9D,MAAM,QAAQ,GAAqC;YACjD,wBAAwB,EAAE,iBAAiB,CAAC,KAAK,CAAC,wBAAwB;YAC1E,aAAa,EAAE,iBAAiB,CAAC,OAAO;SACzC,CAAC;QAEF,OAAO,IAAA,8BAAwB,EAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACvE,CAAC;CACF,CAAC,gBAAgB;AA12BlB,sCA02BC;AAED,SAAS,oCAAoC,CAC3C,iBAAoC,EACpC,SAAwB,EACxB,SAAoB;IAEpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC;IACvC,MAAM,2BAA2B,GAAsC,EAAE,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpE,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,WAAW,CAAC,aAAa;oBACvD,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,WAAW,CAAC,aAAa,EACjD,SAAS,CAAC,kBAAkB,CAC7B;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAChF,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,WAAW,CAAC,aAAa;oBACvD,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,WAAW,CAAC,aAAa,EACjD,SAAS,CAAC,wBAAwB,CACnC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;gBACvD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;oBAChE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oBAAoB,CAAC,aAAa,EAC1D,SAAS,CAAC,cAAc,CACzB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa,EAAE,CAAC;gBACrD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,mBAAmB,CAAC,aAAa;oBAC/D,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,mBAAmB,CAAC,aAAa,EACzD,SAAS,CAAC,aAAa,CACxB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,uBAAuB,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBACrE,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,2BAA2B,CAAC,aAAa;oBACvE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,2BAA2B,CAAC,aAAa,EACjE,SAAS,CAAC,qBAAqB,CAChC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc,EAAE,CAAC;gBACvD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,uBAAuB,CAAC,aAAa;oBACnE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,uBAAuB,CAAC,aAAa,EAC7D,SAAS,CAAC,cAAc,CACzB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,gCAAgC,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,8BAA8B,KAAK,SAAS,CAAC,8BAA8B,EAAE,CAAC;gBACvF,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,oCAAoC,CAAC,aAAa;oBAChF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,EAC1E,SAAS,CAAC,8BAA8B,CACzC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,kCAAkC,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,gCAAgC,KAAK,SAAS,CAAC,gCAAgC,EAAE,CAAC;gBAC3F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,4BAA4B,CAAC,aAAa;oBACxE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,4BAA4B,CAAC,aAAa,EAClE,SAAS,CAAC,gCAAgC,CAC3C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,+BAA+B,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,6BAA6B,KAAK,SAAS,CAAC,6BAA6B,EAAE,CAAC;gBACrF,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,uBAAuB,CAAC,aAAa;oBACnE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,uBAAuB,CAAC,aAAa,EAC7D,SAAS,CAAC,6BAA6B,CACxC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,kCAAkC,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBAC5F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,iCAAiC,CAAC,aAAa;oBAC7E,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,iCAAiC,CAAC,aAAa,EACvE,SAAS,CAAC,gCAAgC,CAAC,QAAQ,EAAE,CACtD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,sCAAsC,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,EAAE,CAAC,SAAS,CAAC,oCAAoC,CAAC,EAAE,CAAC;gBACpG,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,yBAAyB,CAAC,aAAa;oBACrE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,EAC/D,SAAS,CAAC,oCAAoC,CAAC,QAAQ,EAAE,CAC1D;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC5E,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,yBAAyB,CAAC,aAAa;oBACrE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,EAC/D,SAAS,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAC9C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,iBAAiB,CAAC,aAAa;oBAC7D,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,iBAAiB,CAAC,aAAa,EACvD,SAAS,CAAC,WAAW,CACtB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,2BAA2B,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC9E,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;oBACjF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,qCAAqC,CAAC,aAAa,EAC3E,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,CAC/C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iCAAiC,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,EAAE,CAAC,SAAS,CAAC,+BAA+B,CAAC,EAAE,CAAC;gBAC1F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,oCAAoC,CAAC,aAAa;oBAChF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,EAC1E,SAAS,CAAC,+BAA+B,CAAC,QAAQ,EAAE,CACrD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,kCAAkC,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC,SAAS,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBAC5F,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;oBACjF,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,qCAAqC,CAAC,aAAa,EAC3E,SAAS,CAAC,gCAAgC,CAAC,QAAQ,EAAE,CACtD;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,8CAA8C,EAAE,CAAC;YAClE,IACE,CAAC,MAAM,CAAC,4CAA4C,CAAC,EAAE,CAAC,SAAS,CAAC,4CAA4C,CAAC,EAC/G,CAAC;gBACD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,kDAAkD,CAAC,aAAa;oBAC9F,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,kDAAkD,CAAC,aAAa,EACxF,SAAS,CAAC,4CAA4C,CAAC,QAAQ,EAAE,CAClE;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvD,IACE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;oBAChE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB;oBACxG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM;oBACxE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBAC1G,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa;oBACtF,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,uBAAuB;oBAC1G,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EACvF,CAAC;oBACD,2BAA2B,CAAC,IAAI,CAAC;wBAC/B,IAAI,EAAE,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;wBAChE,KAAK,EAAE,8BAA8B,CACnC,+BAAuB,CAAC,oBAAoB,CAAC,aAAa,EAC1D,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAC7B;qBACF,CAAC,CAAC;oBACH,oBAAoB,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAA,2BAAqB,EAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,2BAA2B,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,+BAAuB,CAAC,UAAU,CAAC,aAAa;oBACtD,KAAK,EAAE,8BAA8B,CAAC,+BAAuB,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC;iBACxG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,WAAW;IAEb,MAAM,IAAI,GAA6B,EAAE,CAAC;IAE1C,2BAA2B,CAAC,OAAO,CAAC,CAAC,6BAA6B,EAAE,EAAE;QACpE,IAAI,CAAC,IAAI,CACP,oBAAoB,CAClB,iBAAiB,EACjB,6BAA6B,CAAC,IAAI,EAClC,6BAA6B,CAAC,KAAK,EACnC,SAAS,CACV,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,8BAA8B,CACrC,aAAqB,EACrB,KAA8D;IAE9D,IAAI,MAAM,GAAW,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,IAAI,QAAgB,CAAC;IACrB,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAoB,CAAC;IAEzB,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,+BAAuB,CAAC,mBAAmB,CAAC,aAAa,CAAC;QAC/D,KAAK,+BAAuB,CAAC,4BAA4B,CAAC,aAAa,CAAC;QACxE,KAAK,+BAAuB,CAAC,uBAAuB,CAAC,aAAa,CAAC;QACnE,KAAK,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,CAAC;QAChF,KAAK,+BAAuB,CAAC,2BAA2B,CAAC,aAAa,CAAC;QACvE,KAAK,+BAAuB,CAAC,uBAAuB,CAAC,aAAa;YAChE,MAAM,CAAC,WAAW,CAAC,KAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;YAC7D,MAAM,CAAC,aAAa,CAAC,KAAe,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,CAAC;QACrE,KAAK,+BAAuB,CAAC,yBAAyB,CAAC,aAAa,CAAC;QACrE,KAAK,+BAAuB,CAAC,iCAAiC,CAAC,aAAa,CAAC;QAC7E,KAAK,+BAAuB,CAAC,oCAAoC,CAAC,aAAa,CAAC;QAChF,KAAK,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;YAC9E,KAAK,GAAG,KAAe,CAAC;YACxB,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,+BAAuB,CAAC,WAAW,CAAC,aAAa,CAAC;QACvD,KAAK,+BAAuB,CAAC,iBAAiB,CAAC,aAAa;YAC1D,QAAQ,GAAI,KAAmB,CAAC,QAAQ,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzB,MAAM;QACR,KAAK,+BAAuB,CAAC,oBAAoB,CAAC,aAAa;YAC7D,MAAM,GAAG,uBAAuB,CAAC,KAAuB,CAAC,CAAC;YAC1D,MAAM;QACR,KAAK,+BAAuB,CAAC,qCAAqC,CAAC,aAAa;YAC9E,WAAW,GAAG,MAAM,CAAC,KAAe,CAAC,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC;YACD,MAAM;QACR,KAAK,+BAAuB,CAAC,UAAU,CAAC,aAAa;YACnD,UAAU,GAAG,KAAiB,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAC3B,iBAAoC,EACpC,iBAAyB,EACzB,KAAa,EACb,SAAoB;IAEpB,MAAM,QAAQ,GAAgC;QAC5C,kBAAkB,EAAE,iBAAiB,CAAC,KAAK,CAAC,kBAAkB;QAC9D,aAAa,EAAE,iBAAiB,CAAC,OAAO;KACzC,CAAC;IAEF,MAAM,IAAI,GAA4B;QACpC,IAAI,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;QACtC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;KAClB,CAAC;IAEF,MAAM,EAAE,GAAG,IAAA,yBAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE1D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAAC,cAA8B;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/classes/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/vault.d.ts
CHANGED
|
@@ -162,9 +162,12 @@ export declare class KaminoVaultClient {
|
|
|
162
162
|
insertIntoLookupTableIxs(payer: PublicKey, lookupTable: PublicKey, keys: PublicKey[], accountsInLUT?: PublicKey[]): Promise<TransactionInstruction[]>;
|
|
163
163
|
/** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
|
|
164
164
|
* @param vaultState - the vault state to calculate the allocation for
|
|
165
|
+
* @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
|
|
166
|
+
* @param [vaultReserves] - a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
167
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
165
168
|
* @returns - a map from each reserve to how many tokens should be invested into
|
|
166
169
|
*/
|
|
167
|
-
getVaultComputedReservesAllocation(vaultState: VaultState): Promise<PubkeyHashMap<PublicKey, Decimal>>;
|
|
170
|
+
getVaultComputedReservesAllocation(vaultState: VaultState, slot?: number, vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<PubkeyHashMap<PublicKey, Decimal>>;
|
|
168
171
|
/**
|
|
169
172
|
* This method returns the user shares balance for a given vault
|
|
170
173
|
* @param user - user to calculate the shares balance for
|
|
@@ -190,9 +193,10 @@ export declare class KaminoVaultClient {
|
|
|
190
193
|
* @param vault - vault to calculate tokensPerShare for
|
|
191
194
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
192
195
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
196
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
193
197
|
* @returns - token per share value
|
|
194
198
|
*/
|
|
195
|
-
getTokensPerShareSingleVault(vault: KaminoVault, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
199
|
+
getTokensPerShareSingleVault(vault: KaminoVault, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<Decimal>;
|
|
196
200
|
/**
|
|
197
201
|
* This method calculates the token per share value. This will always change based on interest earned from the vault, but calculating it requires a bunch of rpc requests. Caching this for a short duration would be optimal
|
|
198
202
|
* @param [vaultsOverride] - a list of vaults to get the tokens per share for; if provided with state it will not fetch the state again. Optional
|
|
@@ -270,10 +274,10 @@ export declare class KaminoVaultClient {
|
|
|
270
274
|
* @param price - the price of the token in the vault (e.g. USDC)
|
|
271
275
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
272
276
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
273
|
-
* @param [
|
|
277
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
274
278
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
275
279
|
*/
|
|
276
|
-
getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
280
|
+
getVaultHoldingsWithPrice(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, currentSlot?: number): Promise<VaultHoldingsWithUSDValue>;
|
|
277
281
|
/**
|
|
278
282
|
* This will return an VaultOverview object that encapsulates all the information about the vault, including the holdings, reserves details, theoretical APY, utilization ratio and total borrowed amount
|
|
279
283
|
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
@@ -281,9 +285,10 @@ export declare class KaminoVaultClient {
|
|
|
281
285
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
282
286
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
283
287
|
* @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
|
|
288
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
284
289
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
285
290
|
*/
|
|
286
|
-
getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[]): Promise<VaultOverview>;
|
|
291
|
+
getVaultOverview(vault: VaultState, price: Decimal, slot?: number, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, kaminoMarkets?: KaminoMarket[], currentSlot?: number): Promise<VaultOverview>;
|
|
287
292
|
/**
|
|
288
293
|
* This will return an aggregation of the current state of the vault with all the invested amounts and the utilization ratio of the vault
|
|
289
294
|
* @param vault - the kamino vault to get available liquidity to withdraw for
|
|
@@ -319,10 +324,11 @@ export declare class KaminoVaultClient {
|
|
|
319
324
|
* @param vaultState the kamino vault state to get simulated holdings and earnings for
|
|
320
325
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
321
326
|
* @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
|
|
322
|
-
* @param [
|
|
327
|
+
* @param [previousNetAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
|
|
328
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
323
329
|
* @returns a struct of simulated vault holdings and earned interest
|
|
324
330
|
*/
|
|
325
|
-
calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
331
|
+
calculateSimulatedHoldingsWithInterest(vaultState: VaultState, vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>, slot?: number, previousNetAUM?: Decimal, currentSlot?: number): Promise<SimulatedVaultHoldingsWithEarnedInterest>;
|
|
326
332
|
/**
|
|
327
333
|
* Simulate the current holdings and compute the fees that would be charged
|
|
328
334
|
* @param vaultState the kamino vault state to get simulated fees for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
|
package/dist/classes/vault.js
CHANGED
|
@@ -73,7 +73,7 @@ class KaminoVaultClient {
|
|
|
73
73
|
const vaultName = this.decodeVaultName(vault.name);
|
|
74
74
|
const slot = await this.getConnection().getSlot('confirmed');
|
|
75
75
|
const tokensPerShare = await this.getTokensPerShareSingleVault(kaminoVault, slot);
|
|
76
|
-
const holdings = await this.getVaultHoldings(vault);
|
|
76
|
+
const holdings = await this.getVaultHoldings(vault, slot);
|
|
77
77
|
const sharesIssued = new decimal_js_1.default(vault.sharesIssued.toString()).div(new decimal_js_1.default(vault.sharesMintDecimals.toString()));
|
|
78
78
|
console.log('Name: ', vaultName);
|
|
79
79
|
console.log('Shares issued: ', sharesIssued);
|
|
@@ -1001,10 +1001,13 @@ class KaminoVaultClient {
|
|
|
1001
1001
|
}
|
|
1002
1002
|
/** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
|
|
1003
1003
|
* @param vaultState - the vault state to calculate the allocation for
|
|
1004
|
+
* @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
|
|
1005
|
+
* @param [vaultReserves] - a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
1006
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
1004
1007
|
* @returns - a map from each reserve to how many tokens should be invested into
|
|
1005
1008
|
*/
|
|
1006
|
-
async getVaultComputedReservesAllocation(vaultState) {
|
|
1007
|
-
const holdings = await this.getVaultHoldings(vaultState);
|
|
1009
|
+
async getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot) {
|
|
1010
|
+
const holdings = await this.getVaultHoldings(vaultState, slot, vaultReserves, currentSlot);
|
|
1008
1011
|
const initialVaultAllocations = this.getVaultAllocations(vaultState);
|
|
1009
1012
|
const allReserves = this.getVaultReserves(vaultState);
|
|
1010
1013
|
let totalAllocation = new decimal_js_1.default(0);
|
|
@@ -1140,16 +1143,17 @@ class KaminoVaultClient {
|
|
|
1140
1143
|
* @param vault - vault to calculate tokensPerShare for
|
|
1141
1144
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
1142
1145
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
1146
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
1143
1147
|
* @returns - token per share value
|
|
1144
1148
|
*/
|
|
1145
|
-
async getTokensPerShareSingleVault(vault, slot, vaultReservesMap) {
|
|
1149
|
+
async getTokensPerShareSingleVault(vault, slot, vaultReservesMap, currentSlot) {
|
|
1146
1150
|
const vaultState = await vault.getState(this.getConnection());
|
|
1147
1151
|
if (vaultState.sharesIssued.isZero()) {
|
|
1148
1152
|
return new decimal_js_1.default(0);
|
|
1149
1153
|
}
|
|
1150
1154
|
const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vaultState);
|
|
1151
1155
|
const sharesDecimal = (0, lib_1.lamportsToDecimal)(vaultState.sharesIssued.toString(), vaultState.sharesMintDecimals.toString());
|
|
1152
|
-
const holdings = await this.getVaultHoldings(vaultState, slot, vaultReservesState);
|
|
1156
|
+
const holdings = await this.getVaultHoldings(vaultState, slot, vaultReservesState, currentSlot);
|
|
1153
1157
|
const netAUM = holdings.totalAUMIncludingFees.sub(holdings.pendingFees);
|
|
1154
1158
|
return netAUM.div(sharesDecimal);
|
|
1155
1159
|
}
|
|
@@ -1470,11 +1474,11 @@ class KaminoVaultClient {
|
|
|
1470
1474
|
* @param price - the price of the token in the vault (e.g. USDC)
|
|
1471
1475
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
1472
1476
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
1473
|
-
* @param [
|
|
1477
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
1474
1478
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
1475
1479
|
*/
|
|
1476
|
-
async getVaultHoldingsWithPrice(vault, price, slot, vaultReservesMap) {
|
|
1477
|
-
const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap);
|
|
1480
|
+
async getVaultHoldingsWithPrice(vault, price, slot, vaultReservesMap, currentSlot) {
|
|
1481
|
+
const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap, currentSlot);
|
|
1478
1482
|
const investedInReservesUSD = new lib_1.PubkeyHashMap();
|
|
1479
1483
|
holdings.investedInReserves.forEach((amount, reserve) => {
|
|
1480
1484
|
investedInReservesUSD.set(reserve, amount.mul(price));
|
|
@@ -1495,16 +1499,17 @@ class KaminoVaultClient {
|
|
|
1495
1499
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
1496
1500
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
1497
1501
|
* @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
|
|
1502
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
1498
1503
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
1499
1504
|
*/
|
|
1500
|
-
async getVaultOverview(vault, price, slot, vaultReservesMap, kaminoMarkets) {
|
|
1505
|
+
async getVaultOverview(vault, price, slot, vaultReservesMap, kaminoMarkets, currentSlot) {
|
|
1501
1506
|
const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vault);
|
|
1502
|
-
const vaultHoldingsWithUSDValuePromise = await this.getVaultHoldingsWithPrice(vault, price, slot, vaultReservesState);
|
|
1503
|
-
const
|
|
1504
|
-
const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault,
|
|
1505
|
-
const totalInvestedAndBorrowedPromise = await this.getTotalBorrowedAndInvested(vault,
|
|
1506
|
-
const vaultCollateralsPromise = await this.getVaultCollaterals(vault,
|
|
1507
|
-
const reservesOverviewPromise = await this.getVaultReservesDetails(vault,
|
|
1507
|
+
const vaultHoldingsWithUSDValuePromise = await this.getVaultHoldingsWithPrice(vault, price, slot, vaultReservesState, currentSlot);
|
|
1508
|
+
const slotForOverview = slot ? slot : await this.getConnection().getSlot();
|
|
1509
|
+
const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault, slotForOverview, vaultReservesState);
|
|
1510
|
+
const totalInvestedAndBorrowedPromise = await this.getTotalBorrowedAndInvested(vault, slotForOverview, vaultReservesState);
|
|
1511
|
+
const vaultCollateralsPromise = await this.getVaultCollaterals(vault, slotForOverview, vaultReservesState, kaminoMarkets);
|
|
1512
|
+
const reservesOverviewPromise = await this.getVaultReservesDetails(vault, slotForOverview, vaultReservesState);
|
|
1508
1513
|
// all the async part of the functions above just read the vaultReservesState which is read beforehand, so excepting vaultCollateralsPromise they should do no additional network calls
|
|
1509
1514
|
const [vaultHoldingsWithUSDValue, vaultTheoreticalAPY, totalInvestedAndBorrowed, vaultCollaterals, reservesOverview,] = await Promise.all([
|
|
1510
1515
|
vaultHoldingsWithUSDValuePromise,
|
|
@@ -1645,10 +1650,11 @@ class KaminoVaultClient {
|
|
|
1645
1650
|
* @param vaultState the kamino vault state to get simulated holdings and earnings for
|
|
1646
1651
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
1647
1652
|
* @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
|
|
1648
|
-
* @param [
|
|
1653
|
+
* @param [previousNetAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
|
|
1654
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
1649
1655
|
* @returns a struct of simulated vault holdings and earned interest
|
|
1650
1656
|
*/
|
|
1651
|
-
async calculateSimulatedHoldingsWithInterest(vaultState, vaultReservesMap,
|
|
1657
|
+
async calculateSimulatedHoldingsWithInterest(vaultState, vaultReservesMap, slot, previousNetAUM, currentSlot) {
|
|
1652
1658
|
let prevAUM;
|
|
1653
1659
|
let pendingFees = kliquidity_sdk_1.ZERO;
|
|
1654
1660
|
if (previousNetAUM) {
|
|
@@ -1659,8 +1665,8 @@ class KaminoVaultClient {
|
|
|
1659
1665
|
prevAUM = (0, lib_1.lamportsToDecimal)(new fraction_1.Fraction(vaultState.prevAumSf).toDecimal(), tokenDecimals);
|
|
1660
1666
|
pendingFees = (0, lib_1.lamportsToDecimal)(new fraction_1.Fraction(vaultState.pendingFeesSf).toDecimal(), tokenDecimals);
|
|
1661
1667
|
}
|
|
1662
|
-
const
|
|
1663
|
-
const currentHoldings = await this.getVaultHoldings(vaultState,
|
|
1668
|
+
const latestSlot = slot ? slot : await this.getConnection().getSlot('confirmed');
|
|
1669
|
+
const currentHoldings = await this.getVaultHoldings(vaultState, latestSlot, vaultReservesMap, currentSlot);
|
|
1664
1670
|
const earnedInterest = currentHoldings.totalAUMIncludingFees.sub(prevAUM).sub(pendingFees);
|
|
1665
1671
|
return {
|
|
1666
1672
|
holdings: currentHoldings,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/classes/vault.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,yCAAyC,CAAC;AAExD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,yCAAyC,CAAC;AAExD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAE3C,0EAAwD;AACxD,0GAA0G;AAC1G,iFAA+D;AAC/D,mEAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAE3C,0EAAwD;AACxD,0GAA0G;AAC1G,iFAA+D;AAC/D,mEAAiD;AACjD,kEAA+F;AAAtF,+GAAA,kBAAkB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAEhD,4CAA0B;AAC1B,0CAAwB;AACxB,6CAA2B;AAC3B,8CAA4B;AAC5B,uDAAqC"}
|
package/package.json
CHANGED
package/src/classes/manager.ts
CHANGED
|
@@ -478,14 +478,16 @@ export class KaminoManager {
|
|
|
478
478
|
* @param vault - vault to calculate tokensPerShare for
|
|
479
479
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
480
480
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
481
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
481
482
|
* @returns - token per share value
|
|
482
483
|
*/
|
|
483
484
|
async getTokensPerShareSingleVault(
|
|
484
485
|
vault: KaminoVault,
|
|
485
486
|
slot?: number,
|
|
486
|
-
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
487
|
+
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
488
|
+
currentSlot?: number
|
|
487
489
|
): Promise<Decimal> {
|
|
488
|
-
return this._vaultClient.getTokensPerShareSingleVault(vault, slot, vaultReservesMap);
|
|
490
|
+
return this._vaultClient.getTokensPerShareSingleVault(vault, slot, vaultReservesMap, currentSlot);
|
|
489
491
|
}
|
|
490
492
|
|
|
491
493
|
/**
|
|
@@ -493,10 +495,18 @@ export class KaminoManager {
|
|
|
493
495
|
* @param vault - vault to calculate sharePrice for
|
|
494
496
|
* @param tokenPrice - the price of the vault token (e.g. SOL) in USD
|
|
495
497
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
498
|
+
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
499
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
496
500
|
* @returns - share value in USD
|
|
497
501
|
*/
|
|
498
|
-
async getSharePriceInUSD(
|
|
499
|
-
|
|
502
|
+
async getSharePriceInUSD(
|
|
503
|
+
vault: KaminoVault,
|
|
504
|
+
tokenPrice: Decimal,
|
|
505
|
+
slot?: number,
|
|
506
|
+
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
507
|
+
currentSlot?: number
|
|
508
|
+
): Promise<Decimal> {
|
|
509
|
+
const tokensPerShare = await this.getTokensPerShareSingleVault(vault, slot, vaultReservesMap, currentSlot);
|
|
500
510
|
return tokensPerShare.mul(tokenPrice);
|
|
501
511
|
}
|
|
502
512
|
|
|
@@ -674,15 +684,17 @@ export class KaminoManager {
|
|
|
674
684
|
* @param price - the price of the token in the vault (e.g. USDC)
|
|
675
685
|
* @param [slot] - the slot for which to calculate the holdings. Optional. If not provided the function will fetch the current slot
|
|
676
686
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
687
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
677
688
|
* @returns an VaultHoldingsWithUSDValue object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
678
689
|
*/
|
|
679
690
|
async getVaultHoldingsWithPrice(
|
|
680
691
|
vault: VaultState,
|
|
681
692
|
price: Decimal,
|
|
682
693
|
slot?: number,
|
|
683
|
-
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
694
|
+
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
695
|
+
currentSlot?: number
|
|
684
696
|
): Promise<VaultHoldingsWithUSDValue> {
|
|
685
|
-
return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves);
|
|
697
|
+
return this._vaultClient.getVaultHoldingsWithPrice(vault, price, slot, vaultReserves, currentSlot);
|
|
686
698
|
}
|
|
687
699
|
|
|
688
700
|
/**
|
|
@@ -692,6 +704,7 @@ export class KaminoManager {
|
|
|
692
704
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
693
705
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
694
706
|
* @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
|
|
707
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
695
708
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
696
709
|
*/
|
|
697
710
|
async getVaultOverview(
|
|
@@ -699,9 +712,10 @@ export class KaminoManager {
|
|
|
699
712
|
price: Decimal,
|
|
700
713
|
slot?: number,
|
|
701
714
|
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
702
|
-
kaminoMarkets?: KaminoMarket[]
|
|
715
|
+
kaminoMarkets?: KaminoMarket[],
|
|
716
|
+
currentSlot?: number
|
|
703
717
|
): Promise<VaultOverview> {
|
|
704
|
-
return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets);
|
|
718
|
+
return this._vaultClient.getVaultOverview(vault, price, slot, vaultReserves, kaminoMarkets, currentSlot);
|
|
705
719
|
}
|
|
706
720
|
|
|
707
721
|
/**
|
|
@@ -774,22 +788,41 @@ export class KaminoManager {
|
|
|
774
788
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
775
789
|
* @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
|
|
776
790
|
* @param [previousTotalAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
|
|
791
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
777
792
|
* @returns a struct of simulated vault holdings and earned interest
|
|
778
793
|
*/
|
|
779
794
|
async calculateSimulatedHoldingsWithInterest(
|
|
780
795
|
vaultState: VaultState,
|
|
781
796
|
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
782
|
-
|
|
783
|
-
previousTotalAUM?: Decimal
|
|
797
|
+
slot?: number,
|
|
798
|
+
previousTotalAUM?: Decimal,
|
|
799
|
+
currentSlot?: number
|
|
784
800
|
): Promise<SimulatedVaultHoldingsWithEarnedInterest> {
|
|
785
801
|
return this._vaultClient.calculateSimulatedHoldingsWithInterest(
|
|
786
802
|
vaultState,
|
|
787
803
|
vaultReserves,
|
|
788
|
-
|
|
789
|
-
previousTotalAUM
|
|
804
|
+
slot,
|
|
805
|
+
previousTotalAUM,
|
|
806
|
+
currentSlot
|
|
790
807
|
);
|
|
791
808
|
}
|
|
792
809
|
|
|
810
|
+
/** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
|
|
811
|
+
* @param vaultState - the vault state to calculate the allocation for
|
|
812
|
+
* @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
|
|
813
|
+
* @param [vaultReserves] - a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
814
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
815
|
+
* @returns - a map from each reserve to how many tokens should be invested into
|
|
816
|
+
*/
|
|
817
|
+
async getVaultComputedReservesAllocation(
|
|
818
|
+
vaultState: VaultState,
|
|
819
|
+
slot?: number,
|
|
820
|
+
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
821
|
+
currentSlot?: number
|
|
822
|
+
): Promise<PubkeyHashMap<PublicKey, Decimal>> {
|
|
823
|
+
return this._vaultClient.getVaultComputedReservesAllocation(vaultState, slot, vaultReserves, currentSlot);
|
|
824
|
+
}
|
|
825
|
+
|
|
793
826
|
/**
|
|
794
827
|
* Simulate the current holdings and compute the fees that would be charged
|
|
795
828
|
* @param vaultState the kamino vault state to get simulated fees for
|
package/src/classes/vault.ts
CHANGED
|
@@ -151,7 +151,7 @@ export class KaminoVaultClient {
|
|
|
151
151
|
const vaultName = this.decodeVaultName(vault.name);
|
|
152
152
|
const slot = await this.getConnection().getSlot('confirmed');
|
|
153
153
|
const tokensPerShare = await this.getTokensPerShareSingleVault(kaminoVault, slot);
|
|
154
|
-
const holdings = await this.getVaultHoldings(vault);
|
|
154
|
+
const holdings = await this.getVaultHoldings(vault, slot);
|
|
155
155
|
|
|
156
156
|
const sharesIssued = new Decimal(vault.sharesIssued.toString()!).div(
|
|
157
157
|
new Decimal(vault.sharesMintDecimals.toString())
|
|
@@ -1482,10 +1482,18 @@ export class KaminoVaultClient {
|
|
|
1482
1482
|
|
|
1483
1483
|
/** Read the total holdings of a vault and the reserve weights and returns a map from each reserve to how many tokens should be deposited.
|
|
1484
1484
|
* @param vaultState - the vault state to calculate the allocation for
|
|
1485
|
+
* @param [slot] - the slot for which to calculate the allocation. Optional. If not provided the function will fetch the current slot
|
|
1486
|
+
* @param [vaultReserves] - a hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
1487
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
1485
1488
|
* @returns - a map from each reserve to how many tokens should be invested into
|
|
1486
1489
|
*/
|
|
1487
|
-
async getVaultComputedReservesAllocation(
|
|
1488
|
-
|
|
1490
|
+
async getVaultComputedReservesAllocation(
|
|
1491
|
+
vaultState: VaultState,
|
|
1492
|
+
slot?: number,
|
|
1493
|
+
vaultReserves?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
1494
|
+
currentSlot?: number
|
|
1495
|
+
): Promise<PubkeyHashMap<PublicKey, Decimal>> {
|
|
1496
|
+
const holdings = await this.getVaultHoldings(vaultState, slot, vaultReserves, currentSlot);
|
|
1489
1497
|
const initialVaultAllocations = this.getVaultAllocations(vaultState);
|
|
1490
1498
|
|
|
1491
1499
|
const allReserves = this.getVaultReserves(vaultState);
|
|
@@ -1651,12 +1659,14 @@ export class KaminoVaultClient {
|
|
|
1651
1659
|
* @param vault - vault to calculate tokensPerShare for
|
|
1652
1660
|
* @param [slot] - the slot at which we retrieve the tokens per share. Optional. If not provided, the function will fetch the current slot
|
|
1653
1661
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
1662
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
1654
1663
|
* @returns - token per share value
|
|
1655
1664
|
*/
|
|
1656
1665
|
async getTokensPerShareSingleVault(
|
|
1657
1666
|
vault: KaminoVault,
|
|
1658
1667
|
slot?: number,
|
|
1659
|
-
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
1668
|
+
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
1669
|
+
currentSlot?: number
|
|
1660
1670
|
): Promise<Decimal> {
|
|
1661
1671
|
const vaultState = await vault.getState(this.getConnection());
|
|
1662
1672
|
if (vaultState.sharesIssued.isZero()) {
|
|
@@ -1670,7 +1680,7 @@ export class KaminoVaultClient {
|
|
|
1670
1680
|
vaultState.sharesMintDecimals.toString()
|
|
1671
1681
|
);
|
|
1672
1682
|
|
|
1673
|
-
const holdings = await this.getVaultHoldings(vaultState, slot, vaultReservesState);
|
|
1683
|
+
const holdings = await this.getVaultHoldings(vaultState, slot, vaultReservesState, currentSlot);
|
|
1674
1684
|
const netAUM = holdings.totalAUMIncludingFees.sub(holdings.pendingFees);
|
|
1675
1685
|
|
|
1676
1686
|
return netAUM.div(sharesDecimal);
|
|
@@ -2096,16 +2106,17 @@ export class KaminoVaultClient {
|
|
|
2096
2106
|
* @param price - the price of the token in the vault (e.g. USDC)
|
|
2097
2107
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
2098
2108
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
2099
|
-
* @param [
|
|
2109
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
2100
2110
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
2101
2111
|
*/
|
|
2102
2112
|
async getVaultHoldingsWithPrice(
|
|
2103
2113
|
vault: VaultState,
|
|
2104
2114
|
price: Decimal,
|
|
2105
2115
|
slot?: number,
|
|
2106
|
-
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve
|
|
2116
|
+
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
2117
|
+
currentSlot?: number
|
|
2107
2118
|
): Promise<VaultHoldingsWithUSDValue> {
|
|
2108
|
-
const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap);
|
|
2119
|
+
const holdings = await this.getVaultHoldings(vault, slot, vaultReservesMap, currentSlot);
|
|
2109
2120
|
|
|
2110
2121
|
const investedInReservesUSD = new PubkeyHashMap<PublicKey, Decimal>();
|
|
2111
2122
|
holdings.investedInReserves.forEach((amount, reserve) => {
|
|
@@ -2128,6 +2139,7 @@ export class KaminoVaultClient {
|
|
|
2128
2139
|
* @param [slot] - the slot for which to retrieve the vault overview for. Optional. If not provided the function will fetch the current slot
|
|
2129
2140
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
2130
2141
|
* @param [kaminoMarkets] - a list of all kamino markets. Optional. If provided the function will be significantly faster as it will not have to fetch the markets
|
|
2142
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
2131
2143
|
* @returns an VaultOverview object with details about the tokens available and invested in the vault, denominated in tokens and USD
|
|
2132
2144
|
*/
|
|
2133
2145
|
async getVaultOverview(
|
|
@@ -2135,7 +2147,8 @@ export class KaminoVaultClient {
|
|
|
2135
2147
|
price: Decimal,
|
|
2136
2148
|
slot?: number,
|
|
2137
2149
|
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
2138
|
-
kaminoMarkets?: KaminoMarket[]
|
|
2150
|
+
kaminoMarkets?: KaminoMarket[],
|
|
2151
|
+
currentSlot?: number
|
|
2139
2152
|
): Promise<VaultOverview> {
|
|
2140
2153
|
const vaultReservesState = vaultReservesMap ? vaultReservesMap : await this.loadVaultReserves(vault);
|
|
2141
2154
|
|
|
@@ -2143,24 +2156,25 @@ export class KaminoVaultClient {
|
|
|
2143
2156
|
vault,
|
|
2144
2157
|
price,
|
|
2145
2158
|
slot,
|
|
2146
|
-
vaultReservesState
|
|
2159
|
+
vaultReservesState,
|
|
2160
|
+
currentSlot
|
|
2147
2161
|
);
|
|
2148
2162
|
|
|
2149
|
-
const
|
|
2163
|
+
const slotForOverview = slot ? slot : await this.getConnection().getSlot();
|
|
2150
2164
|
|
|
2151
|
-
const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault,
|
|
2165
|
+
const vaultTheoreticalAPYPromise = await this.getVaultTheoreticalAPY(vault, slotForOverview, vaultReservesState);
|
|
2152
2166
|
const totalInvestedAndBorrowedPromise = await this.getTotalBorrowedAndInvested(
|
|
2153
2167
|
vault,
|
|
2154
|
-
|
|
2168
|
+
slotForOverview,
|
|
2155
2169
|
vaultReservesState
|
|
2156
2170
|
);
|
|
2157
2171
|
const vaultCollateralsPromise = await this.getVaultCollaterals(
|
|
2158
2172
|
vault,
|
|
2159
|
-
|
|
2173
|
+
slotForOverview,
|
|
2160
2174
|
vaultReservesState,
|
|
2161
2175
|
kaminoMarkets
|
|
2162
2176
|
);
|
|
2163
|
-
const reservesOverviewPromise = await this.getVaultReservesDetails(vault,
|
|
2177
|
+
const reservesOverviewPromise = await this.getVaultReservesDetails(vault, slotForOverview, vaultReservesState);
|
|
2164
2178
|
|
|
2165
2179
|
// all the async part of the functions above just read the vaultReservesState which is read beforehand, so excepting vaultCollateralsPromise they should do no additional network calls
|
|
2166
2180
|
const [
|
|
@@ -2349,14 +2363,16 @@ export class KaminoVaultClient {
|
|
|
2349
2363
|
* @param vaultState the kamino vault state to get simulated holdings and earnings for
|
|
2350
2364
|
* @param [vaultReservesMap] - hashmap from each reserve pubkey to the reserve state. Optional. If provided the function will be significantly faster as it will not have to fetch the reserves
|
|
2351
2365
|
* @param [currentSlot] - the current slot. Optional. If not provided it will fetch the current slot
|
|
2352
|
-
* @param [
|
|
2366
|
+
* @param [previousNetAUM] - the previous AUM of the vault to compute the earned interest relative to this value. Optional. If not provided the function will estimate the total AUM at the slot of the last state update on chain
|
|
2367
|
+
* @param [currentSlot] - the latest confirmed slot. Optional. If provided the function will be faster as it will not have to fetch the latest slot
|
|
2353
2368
|
* @returns a struct of simulated vault holdings and earned interest
|
|
2354
2369
|
*/
|
|
2355
2370
|
async calculateSimulatedHoldingsWithInterest(
|
|
2356
2371
|
vaultState: VaultState,
|
|
2357
2372
|
vaultReservesMap?: PubkeyHashMap<PublicKey, KaminoReserve>,
|
|
2358
|
-
|
|
2359
|
-
previousNetAUM?: Decimal
|
|
2373
|
+
slot?: number,
|
|
2374
|
+
previousNetAUM?: Decimal,
|
|
2375
|
+
currentSlot?: number
|
|
2360
2376
|
): Promise<SimulatedVaultHoldingsWithEarnedInterest> {
|
|
2361
2377
|
let prevAUM: Decimal;
|
|
2362
2378
|
let pendingFees = ZERO;
|
|
@@ -2369,9 +2385,9 @@ export class KaminoVaultClient {
|
|
|
2369
2385
|
pendingFees = lamportsToDecimal(new Fraction(vaultState.pendingFeesSf).toDecimal(), tokenDecimals);
|
|
2370
2386
|
}
|
|
2371
2387
|
|
|
2372
|
-
const
|
|
2388
|
+
const latestSlot = slot ? slot : await this.getConnection().getSlot('confirmed');
|
|
2373
2389
|
|
|
2374
|
-
const currentHoldings = await this.getVaultHoldings(vaultState,
|
|
2390
|
+
const currentHoldings = await this.getVaultHoldings(vaultState, latestSlot, vaultReservesMap, currentSlot);
|
|
2375
2391
|
const earnedInterest = currentHoldings.totalAUMIncludingFees.sub(prevAUM).sub(pendingFees);
|
|
2376
2392
|
|
|
2377
2393
|
return {
|
package/src/lib.ts
CHANGED
|
@@ -7,7 +7,7 @@ export * from './idl_codegen_kamino_vault/instructions';
|
|
|
7
7
|
// only export vault state, do not export Reserve as it's the same one in main klend /idl_codegen/accounts
|
|
8
8
|
export * from './idl_codegen_kamino_vault/accounts/VaultState';
|
|
9
9
|
export * from './idl_codegen_kamino_vault/types';
|
|
10
|
-
export {KVAULTS_PROGRAM_ID, setKVaultsProgramId} from './idl_codegen_kamino_vault/programId';
|
|
10
|
+
export { KVAULTS_PROGRAM_ID, setKVaultsProgramId } from './idl_codegen_kamino_vault/programId';
|
|
11
11
|
|
|
12
12
|
export * from './classes';
|
|
13
13
|
export * from './utils';
|