@haven-fi/solauto-sdk 1.0.780 → 1.0.782

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":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,GACvB,sBAAsB,CAUxB;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,gBA2BvD"}
1
+ {"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,GACvB,sBAAsB,CAUxB;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,gBAyBvD"}
@@ -17,7 +17,6 @@ function jupIxToSolanaIx(instruction) {
17
17
  }
18
18
  async function getJupPriceData(mints) {
19
19
  const batches = (0, generalUtils_1.getBatches)(mints, 50);
20
- console.log(batches.length);
21
20
  const results = await Promise.all(batches.map((batch) => (0, generalUtils_1.retryWithExponentialBackoff)(async () => {
22
21
  const res = await (await fetch("https://lite-api.jup.ag/price/v3?ids=" +
23
22
  batch.map((x) => x.toString()).join(","))).json();
@@ -25,7 +24,7 @@ async function getJupPriceData(mints) {
25
24
  throw new Error("Failed to get token prices using Jupiter");
26
25
  }
27
26
  return res;
28
- }, 4)));
27
+ }, 6, 250)));
29
28
  const mergedResults = Object.assign({}, ...results);
30
29
  return mergedResults;
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAqDtC;AAkBD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAkDtC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAiBtC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,EACnD,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,GAAG,SAAS,CAyBpB"}
1
+ {"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAqDtC;AAkBD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAkDtC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAsBtC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,EACnD,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,GAAG,SAAS,CAyBpB"}
@@ -151,10 +151,15 @@ async function getJupTokenPrices(mints) {
151
151
  return {};
152
152
  }
153
153
  const data = getSortedPriceData(await (0, jupiterUtils_1.getJupPriceData)(mints), mints);
154
- const prices = Object.fromEntries(Object.entries(data).map(([mint, x]) => [
154
+ const prices = Object.fromEntries(mints.map((mint) => [
155
155
  mint,
156
- x !== null && typeof x === "object" && "usdPrice" in x
157
- ? { realtimePrice: parseFloat(x.usdPrice) }
156
+ data !== null &&
157
+ typeof data === "object" &&
158
+ typeof data[mint.toString()] === "object" &&
159
+ "usdPrice" in data[mint.toString()]
160
+ ? {
161
+ realtimePrice: parseFloat(data[mint.toString()].usdPrice),
162
+ }
158
163
  : { realtimePrice: 0 },
159
164
  ]));
160
165
  return prices;
@@ -4,6 +4,7 @@ import { fromWeb3JsKeypair } from "@metaplex-foundation/umi-web3js-adapters";
4
4
  import {
5
5
  ClientTransactionsManager,
6
6
  consoleLog,
7
+ fetchTokenPrices,
7
8
  getBatches,
8
9
  getClient,
9
10
  getJupTokenPrices,
@@ -69,13 +70,12 @@ export async function main() {
69
70
  // const statuses = await txManager.send(transactionItems);
70
71
  // consoleLog(statuses);
71
72
 
72
- console.log(
73
- await getJupTokenPrices([
74
- NATIVE_MINT,
75
- new PublicKey(USDC),
76
- new PublicKey(POPCAT),
77
- ])
78
- );
73
+ const mints =
74
+ "HMQ9EEaLkVCS2R7bRDSKDUT8hzHg2qszG7y6HTfTuT5y,bSo13r4TkiE4KumL71LsHTPpL2euBYLFx6h9HP3piy1,7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr,EkvNF86bV1SnMtpHXMZMnNnoXMEERs1LNc8jvcTX2RnK,7z2ze7zaSaRhLh6GyTC5VhRsdbHTS8RfsDfDiE7qKzhB,7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs,BaLL4pwZ3J9T8NtTe7wtfHLYW6fR8RCSY9mDTowKqmXm,BAvLBcZHaZV39PL3EBpSiiuQ1Nov3sBk3QLZoJpipump,F3yxnd4LL4N7ybFzjnDRBMc4d26dTAEviTjd6he3Qppj,Eyina3Cy5auLDYNCxPmqjwPTzxmTtpM2UWz5pE8s2Rnk,BALL1o7LFnCjsw38aE4pDvhbg3nmMeBbJKh3JU51HCr9,So11111111111111111111111111111111111111112"
75
+ .split(",")
76
+ .map((x) => new PublicKey(x));
77
+
78
+ console.log(await fetchTokenPrices(mints));
79
79
  }
80
80
 
81
81
  async function refreshAll() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.780",
3
+ "version": "1.0.782",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "description": "Typescript SDK for the Solauto program on the Solana blockchain",
@@ -19,8 +19,6 @@ export function jupIxToSolanaIx(
19
19
  export async function getJupPriceData(mints: PublicKey[]) {
20
20
  const batches = getBatches(mints, 50);
21
21
 
22
- console.log(batches.length);
23
-
24
22
  const results = await Promise.all(
25
23
  batches.map((batch) =>
26
24
  retryWithExponentialBackoff(async () => {
@@ -36,7 +34,7 @@ export async function getJupPriceData(mints: PublicKey[]) {
36
34
  }
37
35
 
38
36
  return res;
39
- }, 4)
37
+ }, 6, 250)
40
38
  )
41
39
  );
42
40
 
@@ -212,10 +212,15 @@ export async function getJupTokenPrices(
212
212
  const data = getSortedPriceData(await getJupPriceData(mints), mints);
213
213
 
214
214
  const prices: Record<string, PriceResult> = Object.fromEntries(
215
- Object.entries(data).map(([mint, x]) => [
215
+ mints.map((mint) => [
216
216
  mint,
217
- x !== null && typeof x === "object" && "usdPrice" in x
218
- ? { realtimePrice: parseFloat(x.usdPrice as string) }
217
+ data !== null &&
218
+ typeof data === "object" &&
219
+ typeof data[mint.toString()] === "object" &&
220
+ "usdPrice" in data[mint.toString()]
221
+ ? {
222
+ realtimePrice: parseFloat(data[mint.toString()].usdPrice as string),
223
+ }
219
224
  : { realtimePrice: 0 },
220
225
  ])
221
226
  );