@perena/bankineco-services 1.0.75 → 1.0.76

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.
@@ -1 +1 @@
1
- {"version":3,"file":"updateGlowUsdtVaultPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateGlowUsdtVaultPrice.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EAId,MAAM,uBAAuB,CAAC;AA4D/B,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,aAAa,EACnB,iBAAiB,CAAC,EAAE,MAAM,iBAI3B"}
1
+ {"version":3,"file":"updateGlowUsdtVaultPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateGlowUsdtVaultPrice.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EAMd,MAAM,uBAAuB,CAAC;AAyE/B,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,aAAa,EACnB,iBAAiB,CAAC,EAAE,MAAM,iBAI3B"}
@@ -22,12 +22,17 @@ async function updateGlowUsdtVaultPrice(client, reportingDiscount) {
22
22
  // Total USDT value of the Glow position; pending yield is appreciation over principal
23
23
  // tracked on-chain as external_yielding_amount (same pattern as Kamino / MarginFi oracles).
24
24
  const onChainGlowUsdt = await (0, utils_1.fetchGlowUsdtOwed)(connection, shareHolder);
25
- // Off-chain NAV tracked by the yield API for the Glow 7.5 account. Take the
26
- // larger of the two so we never under-report yield while either source lags.
27
- const glow75Balance = await (0, api_1.getBalance)(constants_1.GLOW_7_5_ACCOUNT);
28
- const apiNavUsdt = new anchor_1.BN(Math.floor(glow75Balance.balance));
29
- const totalGlowUsdt = anchor_1.BN.max(onChainGlowUsdt, apiNavUsdt);
30
25
  const principal = new anchor_1.BN(vaultInfo.accounting.externalYieldingAmount.toString());
26
+ // Off-chain NAV from the yield API: principal + accrued yield for the Glow
27
+ // 7.5 account since the oracle's start marker. Take the larger of on-chain
28
+ // and API NAV so we never under-report yield while either source lags.
29
+ const oracleInfo = await client.bankineco.pg.account.oracleGenState.fetch(client.bankineco.oraclePDA(vaultState));
30
+ const startAt = new Date(oracleInfo.result.startMarkerUnixSeconds.toNumber() * 1000);
31
+ const endAt = new Date();
32
+ const apiYield = await (0, api_1.getTotalYield)([constants_1.GLOW_7_5_ACCOUNT], startAt, endAt);
33
+ // Sub 3950 due to bridging costs that we pay for
34
+ const apiNavUsdt = principal.add(apiYield).sub((0, bankineco_sdk_1.fromUiAmount)(3950, bankineco_sdk_1.USDT_DECIMALS));
35
+ const totalGlowUsdt = anchor_1.BN.max(onChainGlowUsdt, apiNavUsdt);
31
36
  const rawPending = totalGlowUsdt.sub(principal);
32
37
  const impliedYield = rawPending.gt(new anchor_1.BN(0)) ? rawPending : new anchor_1.BN(0);
33
38
  console.log("Glow on-chain USDT:", onChainGlowUsdt.toNumber());
@@ -1 +1 @@
1
- {"version":3,"file":"updateGlowUsdtVaultPrice.js","sourceRoot":"","sources":["../../src/oracle/updateGlowUsdtVaultPrice.ts"],"names":[],"mappings":";;AAmEA,kEAMC;AAzED,8CAAuC;AACvC,yDAM+B;AAC/B,oCAAgE;AAChE,gCAAoC;AACpC,4CAAgD;AAEhD,KAAK,UAAU,wBAAwB,CACrC,MAA4B,EAC5B,iBAA0B;IAE1B,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAC1C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,+BAAe,CAAC,SAAS,CAAC,EACnD,yBAAS,EACT,8CAA8B,CAC/B,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,yBAAiB,EAAC,MAAM,EAAE,UAAU,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CACrE,UAAU,CACX,CAAC;IAEF,wEAAwE;IACxE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CACpE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CACrC,CAAC;IAEF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;IAC/C,sFAAsF;IACtF,4FAA4F;IAC5F,MAAM,eAAe,GAAG,MAAM,IAAA,yBAAiB,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACzE,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,aAAa,GAAG,MAAM,IAAA,gBAAU,EAAC,4BAAgB,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,WAAE,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,IAAI,WAAE,CAAC,SAAS,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC;IAEvE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE/D,MAAM,MAAM,CAAC,uBAAuB,CAClC,UAAU,EACV,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,IAAmB,EACnB,iBAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,oCAAoB,CAAC,IAAI,EAAE,+BAAe,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"updateGlowUsdtVaultPrice.js","sourceRoot":"","sources":["../../src/oracle/updateGlowUsdtVaultPrice.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.75",
3
+ "version": "1.0.76",
4
4
  "description": "Services infra for maintaining Bankineco program on Solana.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",