@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 +36 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +32 -11
- package/dist/index.d.ts +32 -11
- package/dist/index.js +35 -17
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.cts +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/jupiter.d.cts +7 -0
- package/dist/jupiter.d.ts +7 -0
- package/dist/{types-Bv7AjHar.d.ts → types-D1QBbDkU.d.ts} +4 -1
- package/dist/{types-f-ZjRBYz.d.cts → types-DrxdJJIi.d.cts} +4 -1
- package/package.json +1 -1
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,
|
|
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
|
|
24743
|
-
if (oracleFeed && oracleData &&
|
|
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
|
-
[
|
|
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/
|
|
25263
|
-
async function
|
|
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
|
|
25291
|
+
console.warn("Error fetching fallback prices for static feeds:", error);
|
|
25283
25292
|
return {};
|
|
25284
25293
|
}
|
|
25285
25294
|
}
|
|
25286
|
-
var
|
|
25295
|
+
var getBirdeyePricesForMints = getFallbackPricesForMints;
|
|
25296
|
+
var getFallbackPricesByFeedId = async (feedMint, apiEndpoint, opts) => {
|
|
25287
25297
|
const mintAddresses = feedMint.map((feedMint2) => feedMint2.mintAddress);
|
|
25288
|
-
const prices = await
|
|
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
|
|
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
|
-
|
|
76930
|
-
|
|
76946
|
+
const priceFallback = opts.priceFallback ?? opts.birdeyeFallback;
|
|
76947
|
+
if (brokenSwbFeeds.length > 0 && priceFallback) {
|
|
76948
|
+
fallbackPricesByFeedId = await getFallbackPricesByFeedId(
|
|
76931
76949
|
brokenSwbFeeds,
|
|
76932
|
-
|
|
76933
|
-
{ 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
|
-
|
|
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
|
-
|
|
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;
|