@haven-fi/solauto-sdk 1.0.539 → 1.0.540

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.
@@ -24,7 +24,7 @@ export interface JupSwapTransaction {
24
24
  swapIx: TransactionBuilder;
25
25
  }
26
26
  export declare function getJupSwapTransaction(signer: Signer, swapDetails: JupSwapDetails, attemptNum?: number): Promise<JupSwapTransaction>;
27
- export declare function getJupPriceData(mints: PublicKey[], extraInfo?: boolean, mayIncludeSpamTokens?: boolean): Promise<{
27
+ export declare function getJupPriceData(mints: PublicKey[], mayIncludeSpamTokens?: boolean): Promise<{
28
28
  [key: string]: any;
29
29
  }>;
30
30
  //# sourceMappingURL=jupiterUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAGL,aAAa,EACd,MAAM,aAAa,CAAC;AAUrB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,iBAAiB,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAgBD,wBAAsB,WAAW,CAAC,WAAW,EAAE,YAAY,0BAsB1D;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAmF7B;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,OAAO;;GA6B5G"}
1
+ {"version":3,"file":"jupiterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jupiterUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,kBAAkB,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA0B,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAGL,aAAa,EACd,MAAM,aAAa,CAAC;AAUrB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,iBAAiB,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAgBD,wBAAsB,WAAW,CAAC,WAAW,EAAE,YAAY,0BAsB1D;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAmF7B;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAAE,EAClB,oBAAoB,CAAC,EAAE,OAAO;;GAwC/B"}
@@ -85,11 +85,11 @@ async function getJupSwapTransaction(signer, swapDetails, attemptNum) {
85
85
  swapIx: (0, umi_1.transactionBuilder)().add((0, solanaUtils_1.getWrappedInstruction)(signer, createTransactionInstruction(instructions.swapInstruction))),
86
86
  };
87
87
  }
88
- async function getJupPriceData(mints, extraInfo, mayIncludeSpamTokens) {
88
+ async function getJupPriceData(mints, mayIncludeSpamTokens) {
89
89
  const data = await (0, generalUtils_1.retryWithExponentialBackoff)(async () => {
90
90
  const res = await (await fetch("https://api.jup.ag/price/v2?ids=" +
91
91
  mints.map((x) => x.toString()).join(",") +
92
- (extraInfo ? "&showExtraInfo=true" : ""))).json();
92
+ "&showExtraInfo=true")).json();
93
93
  const result = res.data;
94
94
  if (!result || result === null || typeof result !== "object") {
95
95
  throw new Error("Failed to get token prices using Jupiter");
@@ -101,7 +101,10 @@ async function getJupPriceData(mints, extraInfo, mayIncludeSpamTokens) {
101
101
  if (invalidValues && !mayIncludeSpamTokens) {
102
102
  throw new Error("Invalid price values");
103
103
  }
104
- return result;
104
+ const trueData = Object.entries(result).reduce((acc, [key, val]) => val.extraInfo?.quotedPrice?.sellAt === null
105
+ ? { ...acc, [key]: { ...val, price: "0" } }
106
+ : { ...acc, [key]: val }, {});
107
+ return trueData;
105
108
  }, 8);
106
109
  return data;
107
110
  }
@@ -122,7 +122,7 @@ async function getJupTokenPrices(mints, mayIncludeSpamTokens) {
122
122
  if (mints.length == 0) {
123
123
  return [];
124
124
  }
125
- const data = await (0, jupiterUtils_1.getJupPriceData)(mints, false, mayIncludeSpamTokens);
125
+ const data = await (0, jupiterUtils_1.getJupPriceData)(mints, mayIncludeSpamTokens);
126
126
  const sortedData = {};
127
127
  for (const mint of mints) {
128
128
  const key = mint.toString();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.539",
3
+ "version": "1.0.540",
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",
@@ -171,13 +171,16 @@ export async function getJupSwapTransaction(
171
171
  };
172
172
  }
173
173
 
174
- export async function getJupPriceData(mints: PublicKey[], extraInfo?: boolean, mayIncludeSpamTokens?: boolean) {
174
+ export async function getJupPriceData(
175
+ mints: PublicKey[],
176
+ mayIncludeSpamTokens?: boolean
177
+ ) {
175
178
  const data = await retryWithExponentialBackoff(async () => {
176
179
  const res = await (
177
180
  await fetch(
178
181
  "https://api.jup.ag/price/v2?ids=" +
179
182
  mints.map((x) => x.toString()).join(",") +
180
- (extraInfo ? "&showExtraInfo=true" : "")
183
+ "&showExtraInfo=true"
181
184
  )
182
185
  ).json();
183
186
  const result = res.data;
@@ -185,7 +188,7 @@ export async function getJupPriceData(mints: PublicKey[], extraInfo?: boolean, m
185
188
  throw new Error("Failed to get token prices using Jupiter");
186
189
  }
187
190
 
188
- const invalidValues =
191
+ const invalidValues =
189
192
  Boolean(Object.values(result).filter((x) => x === null).length) ||
190
193
  Boolean(
191
194
  Object.values(result)
@@ -196,8 +199,18 @@ export async function getJupPriceData(mints: PublicKey[], extraInfo?: boolean, m
196
199
  throw new Error("Invalid price values");
197
200
  }
198
201
 
199
- return result;
202
+ const trueData: { [key: string]: any } = Object.entries(
203
+ result as { [key: string]: any }
204
+ ).reduce(
205
+ (acc, [key, val]) =>
206
+ val.extraInfo?.quotedPrice?.sellAt === null
207
+ ? { ...acc, [key]: { ...val, price: "0" } }
208
+ : { ...acc, [key]: val },
209
+ {}
210
+ );
211
+
212
+ return trueData;
200
213
  }, 8);
201
214
 
202
- return data as { [key: string]: any };
215
+ return data;
203
216
  }
@@ -163,7 +163,7 @@ export async function getJupTokenPrices(
163
163
  return [];
164
164
  }
165
165
 
166
- const data = await getJupPriceData(mints, false, mayIncludeSpamTokens);
166
+ const data = await getJupPriceData(mints, mayIncludeSpamTokens);
167
167
 
168
168
  const sortedData: { [key: string]: any } = {};
169
169
  for (const mint of mints) {