@perena/bankineco-services 1.0.83 → 1.0.85

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.
@@ -2,7 +2,6 @@ export * from "./updateSeedLPPrice";
2
2
  export * from "./updateLEPendingYield";
3
3
  export * from "./updateMidpointPendingYield";
4
4
  export * from "./updateEpochTreasuryPlusPendingYield";
5
- export * from "./updateDriftVaultPendingYield";
6
5
  export * from "./updateMarginfiVaultPendingYield";
7
6
  export * from "./updateKaminoVaultPendingYield";
8
7
  export * from "./updateYBTokenPrice";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC"}
@@ -18,7 +18,6 @@ __exportStar(require("./updateSeedLPPrice"), exports);
18
18
  __exportStar(require("./updateLEPendingYield"), exports);
19
19
  __exportStar(require("./updateMidpointPendingYield"), exports);
20
20
  __exportStar(require("./updateEpochTreasuryPlusPendingYield"), exports);
21
- __exportStar(require("./updateDriftVaultPendingYield"), exports);
22
21
  __exportStar(require("./updateMarginfiVaultPendingYield"), exports);
23
22
  __exportStar(require("./updateKaminoVaultPendingYield"), exports);
24
23
  __exportStar(require("./updateYBTokenPrice"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,+DAA6C;AAC7C,wEAAsD;AACtD,iEAA+C;AAC/C,oEAAkD;AAClD,kEAAgD;AAChD,uDAAqC;AACrC,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC;AACxC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oracle/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,+DAA6C;AAC7C,wEAAsD;AACtD,oEAAkD;AAClD,kEAAgD;AAChD,uDAAqC;AACrC,6DAA2C;AAC3C,yDAAuC;AACvC,0DAAwC;AACxC,sDAAoC"}
@@ -1,4 +1,14 @@
1
1
  import { BankinecoAdminClient, BankinecoArgs, VaultDetails } from "@perena/bankineco-sdk";
2
- export declare function updateYBTokenPrice(client: BankinecoAdminClient, vaultDetails: VaultDetails, mintDecimals: number, reportingDiscount?: number): Promise<void>;
3
- export declare function runUpdateYBTokenPrice(args: BankinecoArgs, bankIndex: number, vaultDetails: VaultDetails, mintDecimals: number, reportingDiscount?: number): Promise<void>;
2
+ import { PublicKey } from "@solana/web3.js";
3
+ /** Optional oracle price source when Pyth `PYTH_PRICE_FEED_IDS` has no mint entry. */
4
+ export type YbOraclePriceOpts = {
5
+ pythFeedId?: string;
6
+ /** Jupiter spot vs USDC for mints with no Pyth feed (e.g. PST). */
7
+ jupiterUsdSpot?: {
8
+ mint: PublicKey;
9
+ decimals: number;
10
+ };
11
+ };
12
+ export declare function updateYBTokenPrice(client: BankinecoAdminClient, vaultDetails: VaultDetails, mintDecimals: number, reportingDiscount?: number, priceOpts?: YbOraclePriceOpts): Promise<void>;
13
+ export declare function runUpdateYBTokenPrice(args: BankinecoArgs, bankIndex: number, vaultDetails: VaultDetails, mintDecimals: number, reportingDiscount?: number, priceOpts?: YbOraclePriceOpts): Promise<void>;
4
14
  //# sourceMappingURL=updateYBTokenPrice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateYBTokenPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateYBTokenPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EAIb,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,iBAwB3B;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,iBAS3B"}
1
+ {"version":3,"file":"updateYBTokenPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateYBTokenPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EAMb,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,CAAC;AAsFF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,SAAS,CAAC,EAAE,iBAAiB,iBAiC9B;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,SAAS,CAAC,EAAE,iBAAiB,iBAU9B"}
@@ -4,7 +4,68 @@ exports.updateYBTokenPrice = updateYBTokenPrice;
4
4
  exports.runUpdateYBTokenPrice = runUpdateYBTokenPrice;
5
5
  const bankineco_sdk_1 = require("@perena/bankineco-sdk");
6
6
  const web3_js_1 = require("@solana/web3.js");
7
- async function updateYBTokenPrice(client, vaultDetails, mintDecimals, reportingDiscount) {
7
+ const ts_retry_1 = require("ts-retry");
8
+ const JUPITER_QUOTE_ENDPOINTS = [
9
+ ...(process.env.JUPITER_QUOTE_URL ? [process.env.JUPITER_QUOTE_URL] : []),
10
+ // quote-api.jup.ag is retired / often fails DNS; Swap API v1 lives on lite-api / api.jup.ag
11
+ "https://lite-api.jup.ag/swap/v1/quote",
12
+ "https://api.jup.ag/swap/v1/quote",
13
+ ];
14
+ async function fetchJupiterUsdSpotPerToken(mint, decimals) {
15
+ const inAmount = Math.round(Math.pow(10, decimals));
16
+ if (!Number.isFinite(inAmount) || inAmount > Number.MAX_SAFE_INTEGER) {
17
+ throw new Error(`decimals too large for Jupiter quote: ${decimals}`);
18
+ }
19
+ const params = new URLSearchParams({
20
+ inputMint: mint.toBase58(),
21
+ outputMint: bankineco_sdk_1.USDC_MINT.toBase58(),
22
+ amount: String(inAmount),
23
+ swapMode: "ExactIn",
24
+ slippageBps: "50",
25
+ });
26
+ return await (0, ts_retry_1.retry)(async () => {
27
+ let lastError;
28
+ for (const endpoint of JUPITER_QUOTE_ENDPOINTS) {
29
+ try {
30
+ const resp = await fetch(`${endpoint}?${params}`);
31
+ if (!resp.ok) {
32
+ lastError = new Error(`Jupiter quote HTTP ${resp.status} (${endpoint})`);
33
+ continue;
34
+ }
35
+ const json = (await resp.json());
36
+ if (!json.outAmount) {
37
+ lastError = new Error(`Jupiter quote missing outAmount (${endpoint})`);
38
+ continue;
39
+ }
40
+ return (Number(json.outAmount) / Math.pow(10, bankineco_sdk_1.USDC_DECIMALS));
41
+ }
42
+ catch (e) {
43
+ lastError = e;
44
+ }
45
+ }
46
+ throw lastError instanceof Error
47
+ ? lastError
48
+ : new Error(String(lastError));
49
+ }, { maxTry: 3, delay: 200 });
50
+ }
51
+ async function getPythPriceByFeedId(priceFeedId) {
52
+ const normalizedFeedId = priceFeedId.startsWith("0x")
53
+ ? priceFeedId
54
+ : `0x${priceFeedId}`;
55
+ return await (0, ts_retry_1.retry)(async () => {
56
+ const resp = await fetch(`https://hermes.pyth.network/v2/updates/price/latest?ids%5B%5D=${normalizedFeedId}`);
57
+ if (resp.status !== 200) {
58
+ throw new Error(JSON.stringify(resp));
59
+ }
60
+ const json = await resp.json();
61
+ const pythPrice = json.parsed?.[0]?.price;
62
+ if (!pythPrice) {
63
+ throw new Error(`Pyth price not found for feed ${normalizedFeedId}`);
64
+ }
65
+ return Number(pythPrice.price) * Math.pow(10, pythPrice.expo);
66
+ }, { maxTry: 3, delay: 200 });
67
+ }
68
+ async function updateYBTokenPrice(client, vaultDetails, mintDecimals, reportingDiscount, priceOpts) {
8
69
  const isUsdStar = vaultDetails.yieldingMint.equals(new web3_js_1.PublicKey(bankineco_sdk_1.USD_STAR_CONFIG.bankMint[client.bankineco.environment]));
9
70
  let impliedPrice;
10
71
  if (isUsdStar) {
@@ -13,13 +74,22 @@ async function updateYBTokenPrice(client, vaultDetails, mintDecimals, reportingD
13
74
  });
14
75
  impliedPrice = await usdStarClient.latestBankMintUiPrice();
15
76
  }
77
+ else if (priceOpts?.pythFeedId && priceOpts?.jupiterUsdSpot) {
78
+ throw new Error("Specify only one of pythFeedId or jupiterUsdSpot");
79
+ }
80
+ else if (priceOpts?.pythFeedId) {
81
+ impliedPrice = await getPythPriceByFeedId(priceOpts.pythFeedId);
82
+ }
83
+ else if (priceOpts?.jupiterUsdSpot) {
84
+ impliedPrice = await fetchJupiterUsdSpotPerToken(priceOpts.jupiterUsdSpot.mint, priceOpts.jupiterUsdSpot.decimals);
85
+ }
16
86
  else {
17
87
  impliedPrice = (await (0, bankineco_sdk_1.getPythPrices)([vaultDetails.yieldingMint]))[vaultDetails.yieldingMint.toString()];
18
88
  }
19
89
  await client.updateYieldingTokenPriceIfNeeded(vaultDetails, mintDecimals, impliedPrice, reportingDiscount);
20
90
  }
21
- async function runUpdateYBTokenPrice(args, bankIndex, vaultDetails, mintDecimals, reportingDiscount) {
91
+ async function runUpdateYBTokenPrice(args, bankIndex, vaultDetails, mintDecimals, reportingDiscount, priceOpts) {
22
92
  const client = new bankineco_sdk_1.BankinecoAdminClient(args, bankIndex);
23
- await updateYBTokenPrice(client, vaultDetails, mintDecimals, reportingDiscount);
93
+ await updateYBTokenPrice(client, vaultDetails, mintDecimals, reportingDiscount, priceOpts);
24
94
  }
25
95
  //# sourceMappingURL=updateYBTokenPrice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateYBTokenPrice.js","sourceRoot":"","sources":["../../src/oracle/updateYBTokenPrice.ts"],"names":[],"mappings":";;AAUA,gDA4BC;AAED,sDAcC;AAtDD,yDAO+B;AAC/B,6CAA4C;AAErC,KAAK,UAAU,kBAAkB,CACtC,MAA4B,EAC5B,YAA0B,EAC1B,YAAoB,EACpB,iBAA0B;IAE1B,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAChD,IAAI,mBAAS,CAAC,+BAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CACtE,CAAC;IAEF,IAAI,YAAoB,CAAC;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,aAAa,GAAG,6BAAa,CAAC,GAAG,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;SAClC,CAAC,CAAC;QACH,YAAY,GAAG,MAAM,aAAa,CAAC,qBAAqB,EAAE,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,CAAC,MAAM,IAAA,6BAAa,EAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAC/D,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CACrC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,CAAC,gCAAgC,CAC3C,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,IAAmB,EACnB,SAAiB,EACjB,YAA0B,EAC1B,YAAoB,EACpB,iBAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,oCAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,kBAAkB,CACtB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"updateYBTokenPrice.js","sourceRoot":"","sources":["../../src/oracle/updateYBTokenPrice.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  export * from "./numeraire";
2
- export * from "./drift";
3
2
  export * from "./glow";
4
3
  export * from "./general";
5
- export * from "./oracle";
6
4
  export * from "./marginfi";
7
5
  export * from "./kamino";
8
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -15,10 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./numeraire"), exports);
18
- __exportStar(require("./drift"), exports);
19
18
  __exportStar(require("./glow"), exports);
20
19
  __exportStar(require("./general"), exports);
21
- __exportStar(require("./oracle"), exports);
22
20
  __exportStar(require("./marginfi"), exports);
23
21
  __exportStar(require("./kamino"), exports);
24
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB;AACzB,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB"}
@@ -66,7 +66,7 @@ async function getPendingKaminoYield(kaminoManager, vault, bankineco, vaultState
66
66
  console.log(`[getPendingKaminoYield] Principal in Kamino: ${principal.toString()}`);
67
67
  // if (currentBalance.ltn(principal)) {
68
68
  // throw new Error(
69
- // "Current balance is less than principal, likely encountering drift due to timing differences when fetching Kamino account and vault data"
69
+ // "Current balance is less than principal, likely due to timing differences when fetching Kamino account and vault data"
70
70
  // );
71
71
  // }
72
72
  const newYield = currentBalance.subn(principal);
@@ -1 +1 @@
1
- {"version":3,"file":"kamino.js","sourceRoot":"","sources":["../../src/utils/kamino.ts"],"names":[],"mappings":";;AAiBA,4CAKC;AAKD,wCAKC;AAUD,sDA0BC;AAgBD,sDA4CC;AA/HD,8CAAuC;AACvC,yDAI+B;AAC/B,yDAImC;AACnC,qCAAyD;AAEzD;;GAEG;AACI,KAAK,UAAU,gBAAgB,CACpC,GAAsB;IAEtB,MAAM,YAAY,GAAG,MAAM,IAAA,mDAAuC,GAAE,CAAC;IACrE,OAAO,IAAI,yBAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,GAAsB,EACtB,YAAuB;IAEvB,OAAO,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAA,aAAO,EAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,qBAAqB,CACzC,aAA4B,EAC5B,KAAkB,EAClB,WAAsB;IAEtB,oFAAoF;IACpF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,+BAA+B,CACxE,IAAA,aAAO,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAC/B,KAAK,CACN,CAAC;IAEF,6BAA6B;IAC7B,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,4BAA4B,CACrE,KAAK,CACN,CAAC;IAEF,2DAA2D;IAC3D,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEvE,OAAO,CAAC,GAAG,CACT,mCAAmC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,eAAe,CAAC,QAAQ,EAAE,EAAE,CACpK,CAAC;IAEF,0EAA0E;IAC1E,oDAAoD;IACpD,OAAO,IAAI,WAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,qBAAqB,CACzC,aAA4B,EAC5B,KAAkB,EAClB,SAA2B,EAC3B,UAAqB,EACrB,YAAuB;IAEvB,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAChD,aAAa,EACb,KAAK,EACL,YAAY,CACb,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,mDAAmD,cAAc,CAAC,QAAQ,EAAE,EAAE,CAC/E,CAAC;IAEF,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE7E,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAA,0BAAU,EAC1B,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAC3C,qCAAqB,CACtB,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,gDAAgD,SAAS,CAAC,QAAQ,EAAE,EAAE,CACvE,CAAC;IAEF,uCAAuC;IACvC,qBAAqB;IACrB,gJAAgJ;IAChJ,OAAO;IACP,IAAI;IAEJ,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CACT,8CAA8C,QAAQ,CAAC,QAAQ,EAAE,EAAE,CACpE,CAAC;IAEF,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"kamino.js","sourceRoot":"","sources":["../../src/utils/kamino.ts"],"names":[],"mappings":";;AAiBA,4CAKC;AAKD,wCAKC;AAUD,sDA0BC;AAgBD,sDA4CC;AA/HD,8CAAuC;AACvC,yDAI+B;AAC/B,yDAImC;AACnC,qCAAyD;AAEzD;;GAEG;AACI,KAAK,UAAU,gBAAgB,CACpC,GAAsB;IAEtB,MAAM,YAAY,GAAG,MAAM,IAAA,mDAAuC,GAAE,CAAC;IACrE,OAAO,IAAI,yBAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,GAAsB,EACtB,YAAuB;IAEvB,OAAO,IAAI,uBAAW,CAAC,GAAG,EAAE,IAAA,aAAO,EAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,qBAAqB,CACzC,aAA4B,EAC5B,KAAkB,EAClB,WAAsB;IAEtB,oFAAoF;IACpF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,+BAA+B,CACxE,IAAA,aAAO,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAC/B,KAAK,CACN,CAAC;IAEF,6BAA6B;IAC7B,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,4BAA4B,CACrE,KAAK,CACN,CAAC;IAEF,2DAA2D;IAC3D,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEvE,OAAO,CAAC,GAAG,CACT,mCAAmC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,eAAe,CAAC,QAAQ,EAAE,EAAE,CACpK,CAAC;IAEF,0EAA0E;IAC1E,oDAAoD;IACpD,OAAO,IAAI,WAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,qBAAqB,CACzC,aAA4B,EAC5B,KAAkB,EAClB,SAA2B,EAC3B,UAAqB,EACrB,YAAuB;IAEvB,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAChD,aAAa,EACb,KAAK,EACL,YAAY,CACb,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,mDAAmD,cAAc,CAAC,QAAQ,EAAE,EAAE,CAC/E,CAAC;IAEF,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE7E,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAA,0BAAU,EAC1B,SAAS,CAAC,UAAU,CAAC,sBAAsB,EAC3C,qCAAqB,CACtB,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,gDAAgD,SAAS,CAAC,QAAQ,EAAE,EAAE,CACvE,CAAC;IAEF,uCAAuC;IACvC,qBAAqB;IACrB,6HAA6H;IAC7H,OAAO;IACP,IAAI;IAEJ,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CACT,8CAA8C,QAAQ,CAAC,QAAQ,EAAE,EAAE,CACpE,CAAC;IAEF,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -82,7 +82,7 @@ async function getPendingMarginFiYield(client, bankineco, vaultState, marginfiAc
82
82
  const newYield = currentBalance.sub(principal);
83
83
  // if (currentBalance.toNumber() < principal.toNumber()) {
84
84
  // throw new Error(
85
- // "Current balance is less than principal, likely encountering drift due to the difference in timing when fetching Marginfi account and vault data"
85
+ // "Current balance is less than principal, likely due to timing differences when fetching Marginfi account and vault data"
86
86
  // );
87
87
  // }
88
88
  console.log(`[getPendingMarginFiYield] New pending yield: ${newYield.toString()}`);
@@ -1 +1 @@
1
- {"version":3,"file":"marginfi.js","sourceRoot":"","sources":["../../src/utils/marginfi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marginfi.js","sourceRoot":"","sources":["../../src/utils/marginfi.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perena/bankineco-services",
3
- "version": "1.0.83",
3
+ "version": "1.0.85",
4
4
  "description": "Services infra for maintaining Bankineco program on Solana.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,7 +25,6 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@coral-xyz/anchor": "=0.30.1",
28
- "@drift-labs/sdk": "=2.137.0",
29
28
  "@kamino-finance/klend-sdk": "^7.3.9",
30
29
  "@mrgnlabs/marginfi-client-v2": "=6.4.1",
31
30
  "@perena/bankineco-sdk": "=1.0.167",
@@ -1,3 +0,0 @@
1
- import { BankinecoArgs } from "@perena/bankineco-sdk";
2
- export declare function runUpdateDriftVaultPendingYield(args: BankinecoArgs, reportingDiscount?: number): Promise<void>;
3
- //# sourceMappingURL=updateDriftVaultPendingYield.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateDriftVaultPendingYield.d.ts","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAId,MAAM,uBAAuB,CAAC;AA6B/B,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,aAAa,EACnB,iBAAiB,CAAC,EAAE,MAAM,iBAI3B"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runUpdateDriftVaultPendingYield = runUpdateDriftVaultPendingYield;
4
- const bankineco_sdk_1 = require("@perena/bankineco-sdk");
5
- const utils_1 = require("../utils");
6
- const web3_js_1 = require("@solana/web3.js");
7
- async function updateDriftVaultPendingYield(client, reportingDiscount) {
8
- const yieldingMint = new web3_js_1.PublicKey(bankineco_sdk_1.USDC_MINT);
9
- const vaultState = client.bankineco.vaultPDA(client.bank, yieldingMint, bankineco_sdk_1.DRIFT_USDC_CONTRACT_INDEX);
10
- if (!(await (0, utils_1.ensureVaultExists)(client, vaultState, "Drift oracle update"))) {
11
- return;
12
- }
13
- const impliedYield = await (0, utils_1.getPendingDriftYield)(client.bankineco, vaultState);
14
- await client.updateYieldInfoIfNeeded(vaultState, impliedYield, reportingDiscount);
15
- }
16
- async function runUpdateDriftVaultPendingYield(args, reportingDiscount) {
17
- const client = new bankineco_sdk_1.BankinecoAdminClient(args, bankineco_sdk_1.USD_STAR_CONFIG.bankIndex);
18
- await updateDriftVaultPendingYield(client, reportingDiscount);
19
- }
20
- //# sourceMappingURL=updateDriftVaultPendingYield.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateDriftVaultPendingYield.js","sourceRoot":"","sources":["../../src/oracle/updateDriftVaultPendingYield.ts"],"names":[],"mappings":";;AAmCA,0EAMC;AAzCD,yDAM+B;AAC/B,oCAAmE;AACnE,6CAA4C;AAE5C,KAAK,UAAU,4BAA4B,CACzC,MAA4B,EAC5B,iBAA0B;IAE1B,MAAM,YAAY,GAAG,IAAI,mBAAS,CAAC,yBAAS,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAC1C,MAAM,CAAC,IAAI,EACX,YAAY,EACZ,yCAAyB,CAC1B,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,yBAAiB,EAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAA,4BAAoB,EAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE9E,MAAM,MAAM,CAAC,uBAAuB,CAClC,UAAU,EACV,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,+BAA+B,CACnD,IAAmB,EACnB,iBAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,oCAAoB,CAAC,IAAI,EAAE,+BAAe,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAChE,CAAC"}
@@ -1,25 +0,0 @@
1
- import { DriftClient, User } from "@drift-labs/sdk";
2
- import { PublicKey } from "@solana/web3.js";
3
- import { AnchorProvider, BN } from "@coral-xyz/anchor";
4
- import { Transaction } from "@solana/web3.js";
5
- import { BankinecoProgram } from "@perena/bankineco-sdk";
6
- export declare function getDriftUserClient(provider: AnchorProvider, drift: DriftClient): Promise<User>;
7
- export declare function getDriftClient(provider: AnchorProvider, signer?: PublicKey): Promise<DriftClient>;
8
- export declare function getFirstMarketForMint(mint: PublicKey): import("@drift-labs/sdk").SpotMarketConfig;
9
- export declare function initializeDriftUserTxIfNeeded(drift: DriftClient, wallet: PublicKey): Promise<Transaction | undefined>;
10
- export declare function getDriftDepositIx(drift: DriftClient, amount: BN, marketIndex: number, associatedTokenAccount: PublicKey, reduceOnly?: boolean, subAccountId?: number): Promise<import("@solana/web3.js").TransactionInstruction[]>;
11
- export declare function getDriftWithdrawIx(drift: DriftClient, amount: BN, marketIndex: number, associatedTokenAccount: PublicKey, reduceOnly?: boolean, subAccountId?: number): Promise<import("@solana/web3.js").TransactionInstruction>;
12
- interface DriftInteractionParams {
13
- bankIndex: number;
14
- vaultState: PublicKey;
15
- externalYieldManager: PublicKey;
16
- yieldingMint: PublicKey;
17
- amount: BN;
18
- allAvailableAmount?: boolean;
19
- yieldingMintProgram?: PublicKey;
20
- driftMarketIndex: number;
21
- }
22
- export declare function teamDriftInteractionTx(action: "deposit" | "withdraw" | "pull-yield", bankineco: BankinecoProgram, drift: DriftClient, params: DriftInteractionParams): Promise<Transaction>;
23
- export declare function getDriftUserBalance(drift: DriftClient, user: PublicKey, marketIndex: number): Promise<BN>;
24
- export {};
25
- //# sourceMappingURL=drift.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAEX,IAAI,EAGL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,iBAgBnB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,SAAS,wBAwBnB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,8CAEpD;AAED,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,oCAOlB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,+DAStB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,SAAS,EACjC,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,MAAM,6DAStB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,oBAAoB,EAAE,SAAS,CAAC;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,EAAE,CAAC;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,EAC7C,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,sBAAsB,wBAiE/B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,EAAE,CAAC,CAyBb"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDriftUserClient = getDriftUserClient;
4
- exports.getDriftClient = getDriftClient;
5
- exports.getFirstMarketForMint = getFirstMarketForMint;
6
- exports.initializeDriftUserTxIfNeeded = initializeDriftUserTxIfNeeded;
7
- exports.getDriftDepositIx = getDriftDepositIx;
8
- exports.getDriftWithdrawIx = getDriftWithdrawIx;
9
- exports.teamDriftInteractionTx = teamDriftInteractionTx;
10
- exports.getDriftUserBalance = getDriftUserBalance;
11
- const sdk_1 = require("@drift-labs/sdk");
12
- const web3_js_1 = require("@solana/web3.js");
13
- const anchor_1 = require("@coral-xyz/anchor");
14
- const spl_token_1 = require("@solana/spl-token");
15
- const web3_js_2 = require("@solana/web3.js");
16
- async function getDriftUserClient(provider, drift) {
17
- const bulkAccountLoader = new sdk_1.BulkAccountLoader(provider.connection, "confirmed", 1000);
18
- return new sdk_1.User({
19
- driftClient: drift,
20
- userAccountPublicKey: await drift.getUserAccountPublicKey(),
21
- accountSubscription: {
22
- type: "polling",
23
- accountLoader: bulkAccountLoader,
24
- },
25
- });
26
- }
27
- async function getDriftClient(provider, signer) {
28
- const sdkConfig = (0, sdk_1.initialize)({ env: "mainnet-beta" });
29
- const bulkAccountLoader = new sdk_1.BulkAccountLoader(provider.connection, "confirmed", 1000);
30
- const client = new sdk_1.DriftClient({
31
- connection: provider.connection,
32
- wallet: { ...provider.wallet, publicKey: signer ?? provider.publicKey },
33
- programID: new web3_js_1.PublicKey(sdkConfig.DRIFT_PROGRAM_ID),
34
- accountSubscription: {
35
- type: "polling",
36
- accountLoader: bulkAccountLoader,
37
- },
38
- });
39
- if (signer) {
40
- client.addUser(0, signer);
41
- }
42
- await client.subscribe();
43
- return client;
44
- }
45
- function getFirstMarketForMint(mint) {
46
- return sdk_1.MainnetSpotMarkets.find((x) => x.mint.equals(mint));
47
- }
48
- async function initializeDriftUserTxIfNeeded(drift, wallet) {
49
- const user = drift.getUser(0, wallet);
50
- const userExists = await user.exists();
51
- return !userExists
52
- ? new web3_js_2.Transaction().add(...(await drift.getInitializeUserAccountIxs())[0])
53
- : undefined;
54
- }
55
- async function getDriftDepositIx(drift, amount, marketIndex, associatedTokenAccount, reduceOnly, subAccountId) {
56
- return await drift.getDepositTxnIx(amount, marketIndex, associatedTokenAccount, subAccountId, reduceOnly);
57
- }
58
- async function getDriftWithdrawIx(drift, amount, marketIndex, associatedTokenAccount, reduceOnly, subAccountId) {
59
- return await drift.getWithdrawIx(amount, marketIndex, associatedTokenAccount, reduceOnly, subAccountId);
60
- }
61
- async function teamDriftInteractionTx(action, bankineco, drift, params) {
62
- const eyManagerAta = (0, spl_token_1.getAssociatedTokenAddressSync)(params.yieldingMint, params.externalYieldManager, true, params.yieldingMintProgram);
63
- if (action === "deposit") {
64
- const teamWithdrawIx = await bankineco.teamWithdrawsToInvest(params.bankIndex, params.vaultState, params.externalYieldManager, params.yieldingMint, params.amount, params.yieldingMintProgram);
65
- const driftDepositIx = await getDriftDepositIx(drift, params.amount, params.driftMarketIndex, eyManagerAta);
66
- return new web3_js_2.Transaction().add(teamWithdrawIx, ...driftDepositIx);
67
- }
68
- else if (action === "withdraw") {
69
- const driftWithdrawalIx = await getDriftWithdrawIx(drift, params.amount, params.driftMarketIndex, eyManagerAta);
70
- const teamDepositIx = await bankineco.teamDepositsFromInvest(params.bankIndex, params.vaultState, params.externalYieldManager, params.yieldingMint, params.amount, params.yieldingMintProgram);
71
- return new web3_js_2.Transaction().add(driftWithdrawalIx, teamDepositIx);
72
- }
73
- else {
74
- const driftWithdrawalIx = await getDriftWithdrawIx(drift, params.amount, params.driftMarketIndex, eyManagerAta, false, 0);
75
- const updateYieldAmountIx = await bankineco.updateYieldingAmount(params.bankIndex, params.vaultState, params.externalYieldManager, params.yieldingMint, params.allAvailableAmount ? undefined : params.amount, Boolean(params.allAvailableAmount), undefined, false, params.yieldingMintProgram);
76
- return new web3_js_2.Transaction().add(driftWithdrawalIx, updateYieldAmountIx);
77
- }
78
- }
79
- async function getDriftUserBalance(drift, user, marketIndex) {
80
- const driftUser = drift.getUser(0, user);
81
- const spotPosition = driftUser.getSpotPosition(marketIndex);
82
- if (!spotPosition) {
83
- console.log(`[getDriftUserBalance] No spot position found, returning 0`);
84
- return new anchor_1.BN(0);
85
- }
86
- const spotMarketAccount = drift.getSpotMarketAccount(marketIndex);
87
- if (!spotMarketAccount) {
88
- throw new Error(`Spot market account not found for market index ${marketIndex}`);
89
- }
90
- const tokenBalance = (0, sdk_1.getTokenAmount)(spotPosition.scaledBalance, spotMarketAccount, spotPosition.balanceType);
91
- return tokenBalance;
92
- }
93
- //# sourceMappingURL=drift.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/utils/drift.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { BankinecoProgram } from "@perena/bankineco-sdk";
2
- import { PublicKey } from "@solana/web3.js";
3
- export declare function getPendingDriftYield(bankineco: BankinecoProgram, vaultState: PublicKey): Promise<import("bn.js")>;
4
- //# sourceMappingURL=oracle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,4BAsBtB"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPendingDriftYield = getPendingDriftYield;
4
- const bankineco_sdk_1 = require("@perena/bankineco-sdk");
5
- const web3_js_1 = require("@solana/web3.js");
6
- const drift_1 = require("./drift");
7
- async function getPendingDriftYield(bankineco, vaultState) {
8
- const teamInfo = await bankineco.pg.account.teamGenState.fetch(bankineco.teamPDA(vaultState));
9
- const eyManager = teamInfo.details.yieldManager;
10
- const drift = await (0, drift_1.getDriftClient)(bankineco.provider, eyManager);
11
- const totalExternalLiquidity = teamInfo.accounting.netYieldingToDepositBack;
12
- const liquidityInDrift = await (0, drift_1.getDriftUserBalance)(drift, eyManager, (0, drift_1.getFirstMarketForMint)(new web3_js_1.PublicKey(bankineco_sdk_1.USDC_MINT)).marketIndex);
13
- const pendingYield = liquidityInDrift.sub(totalExternalLiquidity);
14
- drift.unsubscribe();
15
- drift.unsubscribeUsers();
16
- return pendingYield;
17
- }
18
- //# sourceMappingURL=oracle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":";;AAQA,oDAwBC;AAhCD,yDAAoE;AACpE,6CAA4C;AAC5C,mCAIiB;AAEV,KAAK,UAAU,oBAAoB,CACxC,SAA2B,EAC3B,UAAqB;IAErB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAC5D,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAC9B,CAAC;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAc,EAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAElE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;IAC5E,MAAM,gBAAgB,GAAG,MAAM,IAAA,2BAAmB,EAChD,KAAK,EACL,SAAS,EACT,IAAA,6BAAqB,EAAC,IAAI,mBAAS,CAAC,yBAAS,CAAC,CAAC,CAAC,WAAW,CAC5D,CAAC;IAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAElE,KAAK,CAAC,WAAW,EAAE,CAAC;IACpB,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAEzB,OAAO,YAAY,CAAC;AACtB,CAAC"}