@perena/bankineco-services 1.0.39 → 1.0.41

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.
@@ -3,6 +3,7 @@ export declare const LITTLE_ENGINE_TEST_ACCOUNT = "little-engine-test";
3
3
  export declare const LITTLE_ENGINE_PROD_ACCOUNT = "little-engine-prod333";
4
4
  export declare const LITTLE_ENGINE_BOOSTED_ACCOUNT = "little-engine-prod333-boosted";
5
5
  export declare const LITTLE_ENGINE_NERFED = "little-engine-nerfed-333";
6
+ export declare const LITTLE_ENGINE_NERFED_2 = "little-engine-nerfed2";
6
7
  export declare const LE_ACCOUNTS: Record<Environment, string[]>;
7
8
  export declare const TEST_LE_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8";
8
9
  export declare const PROD_LE_CUSTODIAN = "58ubrW9j4SJ28oYoJauGbnSbCCyycrFiQNV6zu3XX5HZ";
@@ -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,6BAA6B,kCAAkC,CAAC;AAC7E,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,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,6BAA6B,kCAAkC,CAAC;AAC7E,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAC/D,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CASrD,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,14 +1,20 @@
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_NERFED = exports.LITTLE_ENGINE_BOOSTED_ACCOUNT = exports.LITTLE_ENGINE_PROD_ACCOUNT = exports.LITTLE_ENGINE_TEST_ACCOUNT = void 0;
3
+ exports.LE_CUSTODIAN = exports.PROD_LE_CUSTODIAN = exports.TEST_LE_CUSTODIAN = exports.LE_ACCOUNTS = exports.LITTLE_ENGINE_NERFED_2 = exports.LITTLE_ENGINE_NERFED = exports.LITTLE_ENGINE_BOOSTED_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-prod333";
6
6
  exports.LITTLE_ENGINE_BOOSTED_ACCOUNT = "little-engine-prod333-boosted";
7
7
  exports.LITTLE_ENGINE_NERFED = "little-engine-nerfed-333";
8
+ exports.LITTLE_ENGINE_NERFED_2 = "little-engine-nerfed2";
8
9
  exports.LE_ACCOUNTS = {
9
10
  local: [],
10
11
  test: [exports.LITTLE_ENGINE_TEST_ACCOUNT],
11
- prod: [exports.LITTLE_ENGINE_PROD_ACCOUNT, exports.LITTLE_ENGINE_BOOSTED_ACCOUNT, exports.LITTLE_ENGINE_NERFED],
12
+ prod: [
13
+ exports.LITTLE_ENGINE_PROD_ACCOUNT,
14
+ exports.LITTLE_ENGINE_BOOSTED_ACCOUNT,
15
+ exports.LITTLE_ENGINE_NERFED,
16
+ exports.LITTLE_ENGINE_NERFED_2,
17
+ ],
12
18
  };
13
19
  exports.TEST_LE_CUSTODIAN = "64nZHh2DBKEkH7PC1Vo7DHRE6k5MohcnqcDyM6evwEn8"; // test-custodian.json
14
20
  exports.PROD_LE_CUSTODIAN = "58ubrW9j4SJ28oYoJauGbnSbCCyycrFiQNV6zu3XX5HZ";
@@ -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,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,oBAAoB,GAAG,0BAA0B,CAAC;AAElD,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE,CAAC,kCAA0B,EAAE,qCAA6B,EAAE,4BAAoB,CAAC;CACxF,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,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,oBAAoB,GAAG,0BAA0B,CAAC;AAClD,QAAA,sBAAsB,GAAG,uBAAuB,CAAC;AAEjD,QAAA,WAAW,GAAkC;IACxD,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,CAAC,kCAA0B,CAAC;IAClC,IAAI,EAAE;QACJ,kCAA0B;QAC1B,qCAA6B;QAC7B,4BAAoB;QACpB,8BAAsB;KACvB;CACF,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 +1 @@
1
- {"version":3,"file":"updateSeedLPPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,WAAW,EASZ,MAAM,uBAAuB,CAAC;AAgF/B,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,iBAI3B"}
1
+ {"version":3,"file":"updateSeedLPPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,WAAW,EAKZ,MAAM,uBAAuB,CAAC;AAkC/B,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,iBAI3B"}
@@ -5,8 +5,6 @@ const web3_js_1 = require("@solana/web3.js");
5
5
  const utils_1 = require("../utils");
6
6
  const bankineco_sdk_1 = require("@perena/bankineco-sdk");
7
7
  async function updatePrice(bankineco, signerKeypairFp, reportingDiscount) {
8
- const vaultState = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), new web3_js_1.PublicKey(bankineco_sdk_1.OLD_USD_STAR), bankineco_sdk_1.OLD_USD_STAR_CONTRACT_INDEX);
9
- const { associatedOracleIdx, signerIsRegisteredOracle, currentOracleUiPrices, currentReportedUiPrice, lastUpdatedTs, } = await (0, utils_1.getOracleStateInfo)(bankineco, vaultState, bankineco_sdk_1.USD_STAR_DECIMALS);
10
8
  let impliedPrice = -1;
11
9
  try {
12
10
  impliedPrice = await (0, utils_1.getOldUsdStarPriceFromBurnSim)(bankineco.provider, signerKeypairFp);
@@ -19,27 +17,10 @@ async function updatePrice(bankineco, signerKeypairFp, reportingDiscount) {
19
17
  console.log("Error getting Seedpool price");
20
18
  return;
21
19
  }
22
- impliedPrice = impliedPrice * (1 - (reportingDiscount ?? 0));
23
- const diffMs = Date.now() - lastUpdatedTs.toNumber() * 1000;
24
- const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
25
- console.log("Current oracle index: ", associatedOracleIdx);
26
- console.log("All reported prices: ", currentOracleUiPrices);
27
- console.log("Current reported price: ", currentReportedUiPrice);
28
- console.log("Hours since last update: ", hoursSinceLastUpdate);
29
- console.log("Implied Seedpool price: ", impliedPrice);
30
- const priceDiffBps = Math.floor(Math.abs((currentReportedUiPrice / impliedPrice - 1) * 100000));
31
- if (priceDiffBps > 5 || hoursSinceLastUpdate >= 23) {
32
- console.log("Updating price to ", impliedPrice, " vs. a current price of ", currentReportedUiPrice);
33
- if (signerIsRegisteredOracle) {
34
- console.log("Sending price update...");
35
- const sig = await (0, bankineco_sdk_1.signSendAndConfirm)(bankineco.connection, await bankineco.updateYieldingPriceGen(bankineco_sdk_1.USD_STAR_BANK_INDEX, new web3_js_1.PublicKey(bankineco_sdk_1.USD_STAR[bankineco.environment]), vaultState, bankineco.provider.publicKey, new web3_js_1.PublicKey(bankineco_sdk_1.OLD_USD_STAR), (0, bankineco_sdk_1.fromUiAmount)(impliedPrice, 6)), [bankineco.provider.wallet]);
36
- console.log("Success broadcasting price, tx ", sig);
37
- }
38
- }
39
- else {
40
- console.log("Not updating price, contract price is up to date");
41
- console.log("Difference in bps: ", priceDiffBps);
42
- }
20
+ await (0, utils_1.updateYieldingTokenPriceIfNeeded)(bankineco, {
21
+ yieldingMint: new web3_js_1.PublicKey(bankineco_sdk_1.OLD_USD_STAR),
22
+ yieldingTokenIndex: bankineco_sdk_1.OLD_USD_STAR_CONTRACT_INDEX,
23
+ }, bankineco_sdk_1.USD_STAR_DECIMALS, impliedPrice, reportingDiscount);
43
24
  }
44
25
  async function runUpdateSeedLPPrice(env, signerKeypairFp, rpcUrl, reportingDiscount) {
45
26
  const [bankineco] = (0, bankineco_sdk_1.getBankineco)(env, rpcUrl, undefined, signerKeypairFp);
@@ -1 +1 @@
1
- {"version":3,"file":"updateSeedLPPrice.js","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":";;AA6FA,oDAQC;AArGD,6CAA4C;AAC5C,oCAA6E;AAC7E,yDAW+B;AAE/B,KAAK,UAAU,WAAW,CACxB,SAA2B,EAC3B,eAAuB,EACvB,iBAA0B;IAE1B,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CACnC,SAAS,CAAC,OAAO,CAAC,mCAAmB,CAAC,EACtC,IAAI,mBAAS,CAAC,4BAAY,CAAC,EAC3B,2CAA2B,CAC5B,CAAC;IACF,MAAM,EACJ,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,GACd,GAAG,MAAM,IAAA,0BAAkB,EAAC,SAAS,EAAE,UAAU,EAAE,iCAAiB,CAAC,CAAC;IAEvE,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,IAAA,qCAA6B,EAChD,SAAS,CAAC,QAAQ,EAClB,eAAe,CAChB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IACD,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC5D,MAAM,oBAAoB,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,sBAAsB,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAC/D,CAAC;IACF,IAAI,YAAY,GAAG,CAAC,IAAI,oBAAoB,IAAI,EAAE,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CACT,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,sBAAsB,CACvB,CAAC;QAEF,IAAI,wBAAwB,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,IAAA,kCAAkB,EAClC,SAAS,CAAC,UAAU,EACpB,MAAM,SAAS,CAAC,sBAAsB,CACpC,mCAAmB,EACnB,IAAI,mBAAS,CAAC,wBAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAC9C,UAAU,EACV,SAAS,CAAC,QAAQ,CAAC,SAAS,EAC5B,IAAI,mBAAS,CAAC,4BAAY,CAAC,EAC3B,IAAA,4BAAY,EAAC,YAAY,EAAE,CAAC,CAAC,CAC9B,EACD,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,GAAgB,EAChB,eAAuB,EACvB,MAAc,EACd,iBAA0B;IAE1B,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,4BAAY,EAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"updateSeedLPPrice.js","sourceRoot":"","sources":["../../src/oracle/updateSeedLPPrice.ts"],"names":[],"mappings":";;AA8CA,oDAQC;AAtDD,6CAA4C;AAC5C,oCAGkB;AAClB,yDAO+B;AAE/B,KAAK,UAAU,WAAW,CACxB,SAA2B,EAC3B,eAAuB,EACvB,iBAA0B;IAE1B,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,IAAA,qCAA6B,EAChD,SAAS,CAAC,QAAQ,EAClB,eAAe,CAChB,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IACD,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,IAAA,wCAAgC,EACpC,SAAS,EACT;QACE,YAAY,EAAE,IAAI,mBAAS,CAAC,4BAAY,CAAC;QACzC,kBAAkB,EAAE,2CAA2B;KAChD,EACD,iCAAiB,EACjB,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,GAAgB,EAChB,eAAuB,EACvB,MAAc,EACd,iBAA0B;IAE1B,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,4BAAY,EAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { BankinecoProgram, Environment, VaultDetails } from "@perena/bankineco-sdk";
2
+ export declare function updateYBTokenPrice(bankineco: BankinecoProgram, vaultDetails: VaultDetails, mintDecimals: number, reportingDiscount?: number): Promise<void>;
3
+ export declare function runUpdateYBTokenPrice(env: Environment, signerKeypairFp: string, rpcUrl: string, vaultDetails: VaultDetails, mintDecimals: number, reportingDiscount?: number): Promise<void>;
4
+ //# sourceMappingURL=updateYBTokenPrice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateYBTokenPrice.d.ts","sourceRoot":"","sources":["../../src/oracle/updateYBTokenPrice.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,WAAW,EAGX,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,iBAa3B;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,iBAS3B"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ // await getPythPrices([new PublicKey(ONYC_MINT)]);
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.updateYBTokenPrice = updateYBTokenPrice;
5
+ exports.runUpdateYBTokenPrice = runUpdateYBTokenPrice;
6
+ const bankineco_sdk_1 = require("@perena/bankineco-sdk");
7
+ const utils_1 = require("../utils");
8
+ async function updateYBTokenPrice(bankineco, vaultDetails, mintDecimals, reportingDiscount) {
9
+ const impliedPrice = (await (0, bankineco_sdk_1.getPythPrices)([vaultDetails.yieldingMint]))[vaultDetails.yieldingMint.toString()];
10
+ await (0, utils_1.updateYieldingTokenPriceIfNeeded)(bankineco, vaultDetails, mintDecimals, impliedPrice, reportingDiscount);
11
+ }
12
+ async function runUpdateYBTokenPrice(env, signerKeypairFp, rpcUrl, vaultDetails, mintDecimals, reportingDiscount) {
13
+ const [bankineco] = (0, bankineco_sdk_1.getBankineco)(env, rpcUrl, undefined, signerKeypairFp);
14
+ await updateYBTokenPrice(bankineco, vaultDetails, mintDecimals, reportingDiscount);
15
+ }
16
+ //# sourceMappingURL=updateYBTokenPrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateYBTokenPrice.js","sourceRoot":"","sources":["../../src/oracle/updateYBTokenPrice.ts"],"names":[],"mappings":";AAAA,mDAAmD;;AAWnD,gDAiBC;AAED,sDAeC;AA3CD,yDAM+B;AAC/B,oCAA4D;AAErD,KAAK,UAAU,kBAAkB,CACtC,SAA2B,EAC3B,YAA0B,EAC1B,YAAoB,EACpB,iBAA0B;IAE1B,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,6BAAa,EAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CACrE,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CACrC,CAAC;IAEF,MAAM,IAAA,wCAAgC,EACpC,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,GAAgB,EAChB,eAAuB,EACvB,MAAc,EACd,YAA0B,EAC1B,YAAoB,EACpB,iBAA0B;IAE1B,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,4BAAY,EAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,kBAAkB,CACtB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BankinecoProgram } from "@perena/bankineco-sdk";
1
+ import { BankinecoProgram, VaultDetails } from "@perena/bankineco-sdk";
2
2
  import { PublicKey } from "@solana/web3.js";
3
3
  import { BN } from "@coral-xyz/anchor";
4
4
  export declare function getPendingDriftYield(bankineco: BankinecoProgram, vaultState: PublicKey): Promise<BN>;
@@ -9,7 +9,9 @@ export declare function getOracleStateInfo(bankineco: BankinecoProgram, vaultSta
9
9
  currentOracleUiPrices: number[];
10
10
  currentReportedUiYield: number;
11
11
  currentReportedUiPrice: number;
12
- lastUpdatedTs: BN;
12
+ lastUpdatedTsForOracle: BN;
13
+ lastFinalizedOracleUpdateTs: BN;
13
14
  }>;
14
15
  export declare function updateYieldInfoIfNeeded(bankineco: BankinecoProgram, vaultState: PublicKey, impliedYield: BN, reportingDiscount?: number, startAt?: Date): Promise<void>;
16
+ export declare function updateYieldingTokenPriceIfNeeded(bankineco: BankinecoProgram, vaultDetails: VaultDetails, yieldingMintDecimals: number, impliedPrice: number, reportingDiscount?: number): Promise<void>;
15
17
  //# sourceMappingURL=oracle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAUjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAQvC,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,eAsBtB;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,oBAAoB,EAAE,MAAM;;;;;;;;GAyC7B;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,EAAE,EAChB,iBAAiB,GAAE,MAAU,EAC7B,OAAO,CAAC,EAAE,IAAI,iBAwFf"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAUhB,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAQvC,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,eAsBtB;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,oBAAoB,EAAE,MAAM;;;;;;;;;GA4C7B;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,EAAE,EAChB,iBAAiB,GAAE,MAAU,EAC7B,OAAO,CAAC,EAAE,IAAI,iBAwFf;AAED,wBAAsB,gCAAgC,CACpD,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,iBA+D3B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPendingDriftYield = getPendingDriftYield;
4
4
  exports.getOracleStateInfo = getOracleStateInfo;
5
5
  exports.updateYieldInfoIfNeeded = updateYieldInfoIfNeeded;
6
+ exports.updateYieldingTokenPriceIfNeeded = updateYieldingTokenPriceIfNeeded;
6
7
  const bankineco_sdk_1 = require("@perena/bankineco-sdk");
7
8
  const web3_js_1 = require("@solana/web3.js");
8
9
  const drift_1 = require("./drift");
@@ -31,7 +32,8 @@ async function getOracleStateInfo(bankineco, vaultState, yieldingMintDecimals) {
31
32
  const currentOracleUiPrices = oracleInfo.data.oraclePrices.map((x) => (0, bankineco_sdk_1.toUiAmount)(x, yieldingMintDecimals));
32
33
  const currentReportedUiYield = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePendingYield[associatedOracleIdx], yieldingMintDecimals);
33
34
  const currentReportedUiPrice = (0, bankineco_sdk_1.toUiAmount)(oracleInfo.data.oraclePrices[associatedOracleIdx], yieldingMintDecimals);
34
- const lastUpdatedTs = oracleInfo.data.oracleLastTs[associatedOracleIdx];
35
+ const lastUpdatedTsForOracle = oracleInfo.data.oracleLastTs[associatedOracleIdx];
36
+ const lastFinalizedOracleUpdateTs = oracleInfo.result.updateTs;
35
37
  return {
36
38
  signerIsRegisteredOracle,
37
39
  associatedOracleIdx,
@@ -39,18 +41,19 @@ async function getOracleStateInfo(bankineco, vaultState, yieldingMintDecimals) {
39
41
  currentOracleUiPrices,
40
42
  currentReportedUiYield,
41
43
  currentReportedUiPrice,
42
- lastUpdatedTs,
44
+ lastUpdatedTsForOracle,
45
+ lastFinalizedOracleUpdateTs,
43
46
  };
44
47
  }
45
48
  async function updateYieldInfoIfNeeded(bankineco, vaultState, impliedYield, reportingDiscount = 0, startAt) {
46
- const { associatedOracleIdx, signerIsRegisteredOracle, currentOracleUiYields, currentReportedUiYield, lastUpdatedTs, } = await getOracleStateInfo(bankineco, vaultState, bankineco_sdk_1.USDC_DECIMALS);
49
+ const { associatedOracleIdx, signerIsRegisteredOracle, currentOracleUiYields, currentReportedUiYield, lastUpdatedTsForOracle, } = await getOracleStateInfo(bankineco, vaultState, bankineco_sdk_1.USDC_DECIMALS);
47
50
  const vaultInfo = await bankineco.pg.account.vaultGenState.fetch(vaultState);
48
51
  const yieldingMint = vaultInfo.config.yieldingTokenMint;
49
52
  const yieldingMintDecimals = vaultInfo.config.yieldingMintDecimals;
50
53
  impliedYield = impliedYield.muln(1 - reportingDiscount);
51
54
  const impliedYieldWithoutPerformanceFee = (0, bankineco_sdk_1.yieldWithoutPerformanceFee)(impliedYield, vaultInfo.config.performanceFeeBps);
52
55
  console.log(impliedYield.toNumber(), impliedYieldWithoutPerformanceFee.toNumber(), vaultInfo.config.performanceFeeBps);
53
- const diffMs = Date.now() - lastUpdatedTs.toNumber() * 1000;
56
+ const diffMs = Date.now() - lastUpdatedTsForOracle.toNumber() * 1000;
54
57
  const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
55
58
  const impliedUiYield = (0, bankineco_sdk_1.toUiAmount)(impliedYieldWithoutPerformanceFee, yieldingMintDecimals);
56
59
  console.log("Current oracle index: ", associatedOracleIdx);
@@ -81,4 +84,31 @@ async function updateYieldInfoIfNeeded(bankineco, vaultState, impliedYield, repo
81
84
  console.log("Difference in bps: ", diffBps);
82
85
  }
83
86
  }
87
+ async function updateYieldingTokenPriceIfNeeded(bankineco, vaultDetails, yieldingMintDecimals, impliedPrice, reportingDiscount) {
88
+ const vaultState = bankineco.vaultPDA(bankineco.bankPDA(bankineco_sdk_1.USD_STAR_BANK_INDEX), vaultDetails.yieldingMint, vaultDetails.yieldingTokenIndex);
89
+ const { associatedOracleIdx, signerIsRegisteredOracle, currentOracleUiPrices, currentReportedUiPrice, lastUpdatedTsForOracle, lastFinalizedOracleUpdateTs, } = await getOracleStateInfo(bankineco, vaultState, yieldingMintDecimals);
90
+ impliedPrice = impliedPrice * (1 - (reportingDiscount ?? 0));
91
+ const diffMs = Date.now() - lastUpdatedTsForOracle.toNumber() * 1000;
92
+ const hoursSinceLastUpdate = diffMs / (1000 * 60 * 60);
93
+ console.log("Current oracle index: ", associatedOracleIdx);
94
+ console.log("All reported prices: ", currentOracleUiPrices);
95
+ console.log("Current reported pricey: ", currentReportedUiPrice);
96
+ console.log("Hours since last update: ", hoursSinceLastUpdate);
97
+ console.log("Implied Seedpool price: ", impliedPrice);
98
+ const priceDiffBps = Math.floor(Math.abs((currentReportedUiPrice / impliedPrice - 1) * 100000));
99
+ if (priceDiffBps > 5 ||
100
+ hoursSinceLastUpdate >= 23 ||
101
+ lastFinalizedOracleUpdateTs.toNumber() === 0) {
102
+ console.log("Updating price to ", impliedPrice, " vs. a current price of ", currentReportedUiPrice);
103
+ if (signerIsRegisteredOracle) {
104
+ console.log("Sending price update...");
105
+ const sig = await (0, bankineco_sdk_1.signSendAndConfirm)(bankineco.connection, await bankineco.updateYieldingPriceGen(bankineco_sdk_1.USD_STAR_BANK_INDEX, new web3_js_1.PublicKey(bankineco_sdk_1.USD_STAR[bankineco.environment]), vaultState, bankineco.provider.publicKey, vaultDetails.yieldingMint, (0, bankineco_sdk_1.fromUiAmount)(impliedPrice, yieldingMintDecimals)), [bankineco.provider.wallet]);
106
+ console.log("Success broadcasting price, tx ", sig);
107
+ }
108
+ }
109
+ else {
110
+ console.log("Not updating price, contract price is up to date");
111
+ console.log("Difference in bps: ", priceDiffBps);
112
+ }
113
+ }
84
114
  //# sourceMappingURL=oracle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../src/utils/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../src/utils/oracle.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.39",
3
+ "version": "1.0.41",
4
4
  "description": "Services infra for maintaining Bankineco program on Solana.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,8 +26,8 @@
26
26
  "dependencies": {
27
27
  "@coral-xyz/anchor": "=0.30.1",
28
28
  "@drift-labs/sdk": "=2.137.0",
29
- "@mrgnlabs/marginfi-client-v2": "^6.2.1",
30
- "@perena/bankineco-sdk": "=1.0.82",
29
+ "@mrgnlabs/marginfi-client-v2": "^6.3.2",
30
+ "@perena/bankineco-sdk": "=1.0.91",
31
31
  "@perena/numeraire-sdk-new": "=1.1.1",
32
32
  "@solana/spl-token": "=0.4.13",
33
33
  "@solana/web3.js": "=1.98.4",