@perena/bankineco-services 1.0.74 → 1.0.75

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,8 +2,12 @@ import { Environment } from "@perena/bankineco-sdk";
2
2
  export declare const LITTLE_ENGINE_TEST_ACCOUNT = "little-engine-test";
3
3
  export declare const LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-prod888";
4
4
  export declare const LITTLE_ENGINE_10_ACCOUNT = "little-engine-10-prod";
5
+ export declare const GLOW_7_5_ACCOUNT = "glow_7_5_1";
5
6
  export declare const LE_ACCOUNTS: Record<Environment, string[]>;
6
7
  export declare const TEST_LE_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8";
7
8
  export declare const PROD_LE_CUSTODIAN = "58ubrW9j4SJ28oYoJauGbnSbCCyycrFiQNV6zu3XX5HZ";
8
9
  export declare const LE_CUSTODIAN: Record<Environment, string>;
10
+ export declare const TEST_MIDPOINT_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8";
11
+ export declare const PROD_MIDPOINT_CUSTODIAN = "AjPDeCJpUa5xZ2vwkENQrBXzAXXtXbJA2u8gNYV8DNFs";
12
+ export declare const MIDPOINT_CUSTODIAN: Record<Environment, string>;
9
13
  //# sourceMappingURL=general.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAClE,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAIrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIpD,CAAC"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAClE,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAChE,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAIrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,iDAAiD,CAAC;AACtF,eAAO,MAAM,uBAAuB,iDAAiD,CAAC;AACtF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI1D,CAAC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LE_CUSTODIAN = exports.PROD_LE_CUSTODIAN = exports.TEST_LE_CUSTODIAN = exports.LE_ACCOUNTS = exports.LITTLE_ENGINE_10_ACCOUNT = exports.LITTLE_ENGINE_PROD_ACCOUNT = exports.LITTLE_ENGINE_TEST_ACCOUNT = void 0;
3
+ exports.MIDPOINT_CUSTODIAN = exports.PROD_MIDPOINT_CUSTODIAN = exports.TEST_MIDPOINT_CUSTODIAN = exports.LE_CUSTODIAN = exports.PROD_LE_CUSTODIAN = exports.TEST_LE_CUSTODIAN = exports.LE_ACCOUNTS = exports.GLOW_7_5_ACCOUNT = exports.LITTLE_ENGINE_10_ACCOUNT = exports.LITTLE_ENGINE_PROD_ACCOUNT = exports.LITTLE_ENGINE_TEST_ACCOUNT = void 0;
4
4
  exports.LITTLE_ENGINE_TEST_ACCOUNT = "little-engine-test";
5
5
  exports.LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-prod888";
6
6
  exports.LITTLE_ENGINE_10_ACCOUNT = "little-engine-10-prod";
7
+ exports.GLOW_7_5_ACCOUNT = "glow_7_5_1";
7
8
  exports.LE_ACCOUNTS = {
8
9
  local: [],
9
10
  test: [exports.LITTLE_ENGINE_TEST_ACCOUNT],
@@ -16,4 +17,11 @@ exports.LE_CUSTODIAN = {
16
17
  test: exports.TEST_LE_CUSTODIAN,
17
18
  prod: exports.PROD_LE_CUSTODIAN,
18
19
  };
20
+ exports.TEST_MIDPOINT_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8"; // test-custodian.json
21
+ exports.PROD_MIDPOINT_CUSTODIAN = "AjPDeCJpUa5xZ2vwkENQrBXzAXXtXbJA2u8gNYV8DNFs";
22
+ exports.MIDPOINT_CUSTODIAN = {
23
+ local: "",
24
+ test: exports.TEST_MIDPOINT_CUSTODIAN,
25
+ prod: exports.PROD_MIDPOINT_CUSTODIAN,
26
+ };
19
27
  //# sourceMappingURL=general.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,0BAA0B,GAAG,uBAAuB,CAAC;AACrD,QAAA,wBAAwB,GAAG,uBAAuB,CAAC;AAEnD,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE,CAAC,kCAA0B,EAAE,gCAAwB,CAAC;CAC7D,CAAC;AAEW,QAAA,iBAAiB,GAAG,8CAA8C,CAAC,CAAC,sBAAsB;AAC1F,QAAA,iBAAiB,GAAG,8CAA8C,CAAC;AACnE,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,yBAAiB;CACxB,CAAC"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/constants/general.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAG,oBAAoB,CAAC;AAClD,QAAA,0BAA0B,GAAG,uBAAuB,CAAC;AACrD,QAAA,wBAAwB,GAAG,uBAAuB,CAAC;AACnD,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAEhC,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE,CAAC,kCAA0B,EAAE,gCAAwB,CAAC;CAC7D,CAAC;AAEW,QAAA,iBAAiB,GAAG,8CAA8C,CAAC,CAAC,sBAAsB;AAC1F,QAAA,iBAAiB,GAAG,8CAA8C,CAAC;AACnE,QAAA,YAAY,GAAgC;IACvD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,yBAAiB;CACxB,CAAC;AAEW,QAAA,uBAAuB,GAAG,8CAA8C,CAAC,CAAC,sBAAsB;AAChG,QAAA,uBAAuB,GAAG,8CAA8C,CAAC;AACzE,QAAA,kBAAkB,GAAgC;IAC7D,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,+BAAuB;IAC7B,IAAI,EAAE,+BAAuB;CAC9B,CAAC"}
@@ -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;AAkD/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,EAId,MAAM,uBAAuB,CAAC;AA4D/B,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,aAAa,EACnB,iBAAiB,CAAC,EAAE,MAAM,iBAI3B"}
@@ -4,6 +4,8 @@ exports.runUpdateGlowUsdtVaultPrice = runUpdateGlowUsdtVaultPrice;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const bankineco_sdk_1 = require("@perena/bankineco-sdk");
6
6
  const utils_1 = require("../utils");
7
+ const api_1 = require("../api");
8
+ const constants_1 = require("../constants");
7
9
  async function updateGlowUsdtVaultPrice(client, reportingDiscount) {
8
10
  const vaultState = client.bankineco.vaultPDA(client.bankineco.bankPDA(bankineco_sdk_1.USD_STAR_CONFIG.bankIndex), bankineco_sdk_1.USDT_MINT, bankineco_sdk_1.GLOW_USDT_VAULT_CONTRACT_INDEX);
9
11
  if (!(await (0, utils_1.ensureVaultExists)(client, vaultState, "Glow USDT oracle update"))) {
@@ -19,11 +21,18 @@ async function updateGlowUsdtVaultPrice(client, reportingDiscount) {
19
21
  const connection = client.bankineco.connection;
20
22
  // Total USDT value of the Glow position; pending yield is appreciation over principal
21
23
  // tracked on-chain as external_yielding_amount (same pattern as Kamino / MarginFi oracles).
22
- const totalGlowUsdt = await (0, utils_1.fetchGlowUsdtOwed)(connection, shareHolder);
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);
23
30
  const principal = new anchor_1.BN(vaultInfo.accounting.externalYieldingAmount.toString());
24
31
  const rawPending = totalGlowUsdt.sub(principal);
25
32
  const impliedYield = rawPending.gt(new anchor_1.BN(0)) ? rawPending : new anchor_1.BN(0);
26
- console.log(totalGlowUsdt.toNumber());
33
+ console.log("Glow on-chain USDT:", onChainGlowUsdt.toNumber());
34
+ console.log("Glow 7.5 API NAV USDT:", apiNavUsdt.toNumber());
35
+ console.log("Effective total USDT:", totalGlowUsdt.toNumber());
27
36
  await client.updateYieldInfoIfNeeded(vaultState, impliedYield, reportingDiscount);
28
37
  }
29
38
  async function runUpdateGlowUsdtVaultPrice(args, reportingDiscount) {
@@ -1 +1 @@
1
- {"version":3,"file":"updateGlowUsdtVaultPrice.js","sourceRoot":"","sources":["../../src/oracle/updateGlowUsdtVaultPrice.ts"],"names":[],"mappings":";;AAyDA,kEAMC;AA/DD,8CAAuC;AACvC,yDAM+B;AAC/B,oCAAgE;AAEhE,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,aAAa,GAAG,MAAM,IAAA,yBAAiB,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACvE,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,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtC,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":";;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perena/bankineco-services",
3
- "version": "1.0.74",
3
+ "version": "1.0.75",
4
4
  "description": "Services infra for maintaining Bankineco program on Solana.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "@drift-labs/sdk": "=2.137.0",
29
29
  "@kamino-finance/klend-sdk": "^7.3.9",
30
30
  "@mrgnlabs/marginfi-client-v2": "=6.4.1",
31
- "@perena/bankineco-sdk": "=1.0.162",
31
+ "@perena/bankineco-sdk": "=1.0.166",
32
32
  "@perena/numeraire-sdk-new": "=1.1.1",
33
33
  "@solana/addresses": "^5.1.0",
34
34
  "@solana/kit": "^2.3.0",