@0dotxyz/p0-ts-sdk 2.6.0-alpha.1 → 2.6.0-alpha.3

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/index.cjs CHANGED
@@ -19903,6 +19903,7 @@ var EmodeFlags = /* @__PURE__ */ ((EmodeFlags3) => {
19903
19903
  var EmodeTag = /* @__PURE__ */ ((EmodeTag3) => {
19904
19904
  EmodeTag3[EmodeTag3["UNSET"] = 0] = "UNSET";
19905
19905
  EmodeTag3[EmodeTag3["SOL"] = 501] = "SOL";
19906
+ EmodeTag3[EmodeTag3["SOL_T2"] = 502] = "SOL_T2";
19906
19907
  EmodeTag3[EmodeTag3["LST_T1"] = 1571] = "LST_T1";
19907
19908
  EmodeTag3[EmodeTag3["LST_T2"] = 1572] = "LST_T2";
19908
19909
  EmodeTag3[EmodeTag3["LST_PT"] = 15787] = "LST_PT";
@@ -19911,6 +19912,8 @@ var EmodeTag = /* @__PURE__ */ ((EmodeTag3) => {
19911
19912
  EmodeTag3[EmodeTag3["STABLE_T2"] = 57482] = "STABLE_T2";
19912
19913
  EmodeTag3[EmodeTag3["BTC_T1"] = 871] = "BTC_T1";
19913
19914
  EmodeTag3[EmodeTag3["BTC_T2"] = 872] = "BTC_T2";
19915
+ EmodeTag3[EmodeTag3["HYUSD"] = 47050] = "HYUSD";
19916
+ EmodeTag3[EmodeTag3["PT_HYUSD"] = 8747] = "PT_HYUSD";
19914
19917
  return EmodeTag3;
19915
19918
  })(EmodeTag || {});
19916
19919
  var EmodeImpactStatus = /* @__PURE__ */ ((EmodeImpactStatus3) => {
@@ -21747,6 +21750,8 @@ function parseEmodeTag(emodeTagRaw) {
21747
21750
  switch (emodeTagRaw) {
21748
21751
  case 501:
21749
21752
  return 501 /* SOL */;
21753
+ case 502:
21754
+ return 502 /* SOL_T2 */;
21750
21755
  case 1571:
21751
21756
  return 1571 /* LST_T1 */;
21752
21757
  case 1572:
@@ -21763,6 +21768,10 @@ function parseEmodeTag(emodeTagRaw) {
21763
21768
  return 871 /* BTC_T1 */;
21764
21769
  case 872:
21765
21770
  return 872 /* BTC_T2 */;
21771
+ case 47050:
21772
+ return 47050 /* HYUSD */;
21773
+ case 8747:
21774
+ return 8747 /* PT_HYUSD */;
21766
21775
  case 0:
21767
21776
  default:
21768
21777
  return 0 /* UNSET */;
@@ -24733,17 +24742,17 @@ var mapSwbBanksToOraclePrices = (banks, swbOracleAiDataByKey, crossbarResponse)
24733
24742
  });
24734
24743
  return bankOraclePriceMap;
24735
24744
  };
24736
- var mapBrokenFeedsToOraclePrices = (banks, swbOracleAiDataByKey, birdeyeResponse) => {
24745
+ var mapBrokenFeedsToOraclePrices = (banks, swbOracleAiDataByKey, fallbackPricesByFeedId) => {
24737
24746
  const bankOraclePriceMap = /* @__PURE__ */ new Map();
24738
24747
  banks.forEach((bank) => {
24739
24748
  const oracleKey = bank.config.oracleKeys[0].toBase58();
24740
24749
  const oracleData = swbOracleAiDataByKey[oracleKey];
24741
24750
  const oracleFeed = oracleData?.feedHash;
24742
- const birdeyeData = oracleFeed ? birdeyeResponse[oracleFeed] : void 0;
24743
- if (oracleFeed && oracleData && birdeyeData) {
24751
+ const fallbackPrice = oracleFeed ? fallbackPricesByFeedId[oracleFeed] : void 0;
24752
+ if (oracleFeed && oracleData && fallbackPrice) {
24744
24753
  const timestamp = (/* @__PURE__ */ new Date()).getTime().toString();
24745
24754
  const oraclePrice = parseSwbOraclePriceData(
24746
- [birdeyeData],
24755
+ [fallbackPrice],
24747
24756
  new BN9__default.default(oracleData.stdev),
24748
24757
  timestamp,
24749
24758
  oracleData
@@ -25259,8 +25268,8 @@ function partitionBanksByCrankability(banks, crankabilityResults) {
25259
25268
  return { crankable, uncrankable };
25260
25269
  }
25261
25270
 
25262
- // src/services/price/utils/birdeye.utils.ts
25263
- async function getBirdeyePricesForMints(mintAddresses, apiEndpoint, opts) {
25271
+ // src/services/price/utils/price-fallback.utils.ts
25272
+ async function getFallbackPricesForMints(mintAddresses, apiEndpoint, opts) {
25264
25273
  const queryKey = opts?.queryKey ?? "mintList";
25265
25274
  try {
25266
25275
  const url = `${apiEndpoint}?${queryKey}=${mintAddresses.join(",")}`;
@@ -25279,13 +25288,14 @@ async function getBirdeyePricesForMints(mintAddresses, apiEndpoint, opts) {
25279
25288
  });
25280
25289
  return extractedPrices;
25281
25290
  } catch (error) {
25282
- console.warn("Error fetching Birdeye prices for static feeds:", error);
25291
+ console.warn("Error fetching fallback prices for static feeds:", error);
25283
25292
  return {};
25284
25293
  }
25285
25294
  }
25286
- var getBirdeyeFallbackPricesByFeedId = async (feedMint, apiEndpoint, opts) => {
25295
+ var getBirdeyePricesForMints = getFallbackPricesForMints;
25296
+ var getFallbackPricesByFeedId = async (feedMint, apiEndpoint, opts) => {
25287
25297
  const mintAddresses = feedMint.map((feedMint2) => feedMint2.mintAddress);
25288
- const prices = await getBirdeyePricesForMints(
25298
+ const prices = await getFallbackPricesForMints(
25289
25299
  mintAddresses,
25290
25300
  apiEndpoint,
25291
25301
  opts
@@ -25301,6 +25311,7 @@ var getBirdeyeFallbackPricesByFeedId = async (feedMint, apiEndpoint, opts) => {
25301
25311
  });
25302
25312
  return priceByFeedId;
25303
25313
  };
25314
+ var getBirdeyeFallbackPricesByFeedId = getFallbackPricesByFeedId;
25304
25315
 
25305
25316
  // src/services/account/types/account.types.ts
25306
25317
  var HealthCacheFlags = /* @__PURE__ */ ((HealthCacheFlags3) => {
@@ -71259,6 +71270,7 @@ var getJupiterSwapIxsForFlashloan = async ({
71259
71270
  // src/services/account/services/swap-engine/adapters/jupiter.adapter.ts
71260
71271
  var JUPITER_MAX_ACCOUNTS_MARGIN = 4;
71261
71272
  var JUPITER_MIN_MAX_ACCOUNTS = 16;
71273
+ var BUNDLE_INCOMPATIBLE_DEXES = ["GoonFi V2"];
71262
71274
  function deserializeJupiterInstruction2(ix) {
71263
71275
  return new web3_js.TransactionInstruction({
71264
71276
  programId: new web3_js.PublicKey(ix.programId),
@@ -71320,6 +71332,11 @@ async function buildCandidates(req, apiConfig) {
71320
71332
  mode: "fast",
71321
71333
  maxAccounts,
71322
71334
  wrapAndUnwrapSol: false,
71335
+ // The swap engine always executes inside a Jito bundle; without this
71336
+ // the Router may route through DEXes whose swaps lock vote accounts,
71337
+ // which Jito rejects ("bundles cannot lock any vote accounts").
71338
+ forJitoBundle: true,
71339
+ excludeDexes: BUNDLE_INCOMPATIBLE_DEXES,
71323
71340
  destinationTokenAccount: req.destinationTokenAccount.toBase58(),
71324
71341
  platformFeeBps: useFee ? req.platformFeeBps : void 0,
71325
71342
  feeAccount: useFee ? feeAccount : void 0
@@ -76919,18 +76936,19 @@ var fetchSwbOracleData = async (banks, opts) => {
76919
76936
  }
76920
76937
  });
76921
76938
  let crossbarResponse;
76922
- let birdeyeResponse = {};
76939
+ let fallbackPricesByFeedId = {};
76923
76940
  if (opts.mode === "api") {
76924
76941
  crossbarResponse = await fetchSwbOraclePricesFromAPI(
76925
76942
  swbFeedIds,
76926
76943
  opts.swbCrossbarPrice.endpoint,
76927
76944
  { queryKey: opts.swbCrossbarPrice.queryKey }
76928
76945
  );
76929
- if (brokenSwbFeeds.length > 0 && opts.birdeyeFallback) {
76930
- birdeyeResponse = await getBirdeyeFallbackPricesByFeedId(
76946
+ const priceFallback = opts.priceFallback ?? opts.birdeyeFallback;
76947
+ if (brokenSwbFeeds.length > 0 && priceFallback) {
76948
+ fallbackPricesByFeedId = await getFallbackPricesByFeedId(
76931
76949
  brokenSwbFeeds,
76932
- opts.birdeyeFallback.endpoint,
76933
- { queryKey: opts.birdeyeFallback.queryKey }
76950
+ priceFallback.endpoint,
76951
+ { queryKey: priceFallback.queryKey }
76934
76952
  );
76935
76953
  }
76936
76954
  } else {
@@ -76939,7 +76957,7 @@ var fetchSwbOracleData = async (banks, opts) => {
76939
76957
  opts.crossbarEndpoint || "https://crossbar.0.xyz",
76940
76958
  "https://crossbar.switchboard.xyz"
76941
76959
  );
76942
- birdeyeResponse = {};
76960
+ fallbackPricesByFeedId = {};
76943
76961
  }
76944
76962
  const bankOraclePriceMap = mapSwbBanksToOraclePrices(
76945
76963
  switchboardBanks,
@@ -76949,7 +76967,7 @@ var fetchSwbOracleData = async (banks, opts) => {
76949
76967
  const brokenFeedOraclePriceMap = mapBrokenFeedsToOraclePrices(
76950
76968
  switchboardBanks,
76951
76969
  swbOracleAiDataByKey,
76952
- birdeyeResponse
76970
+ fallbackPricesByFeedId
76953
76971
  );
76954
76972
  const combinedOraclePriceMap = /* @__PURE__ */ new Map();
76955
76973
  bankOraclePriceMap.forEach((oraclePrice, bankAddress) => {
@@ -81086,6 +81104,8 @@ exports.getDriftMetadata = getDriftMetadata;
81086
81104
  exports.getDriftStatesDto = getDriftStatesDto;
81087
81105
  exports.getEmodePairs = getEmodePairs;
81088
81106
  exports.getExactOutEstimate = getExactOutEstimate;
81107
+ exports.getFallbackPricesByFeedId = getFallbackPricesByFeedId;
81108
+ exports.getFallbackPricesForMints = getFallbackPricesForMints;
81089
81109
  exports.getHealthCacheStatusDescription = getHealthCacheStatusDescription;
81090
81110
  exports.getHealthSimulationTransactions = getHealthSimulationTransactions;
81091
81111
  exports.getJupLendFTokenMultiplier = getJupLendFTokenMultiplier;