@hawksightco/hawk-sdk 1.1.66 → 1.1.68

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,17 +1,19 @@
1
1
  import * as web3 from "@solana/web3.js";
2
2
  import { SimpleIxGenerator } from "./SimpleIxGenerator";
3
+ import BN from "bn.js";
3
4
  import { JupiterRouteIxReturn } from '../ixGenerator/IyfMainIxGenerator';
4
5
  type JupiterIxToHawksight = {
5
6
  connection: web3.Connection;
6
7
  swapInstruction: web3.TransactionInstruction;
7
8
  slippageBpsOverride?: number;
8
- slippageOutPct: number;
9
+ slippageOutPct?: number;
9
10
  platformFeeBpsOverride?: number;
11
+ quotedOutAmount_override?: BN;
10
12
  };
11
13
  export declare class JupiterSwap {
12
14
  private ix;
13
15
  constructor(ix: SimpleIxGenerator);
14
- jupiterIxToHawksight({ connection, swapInstruction, slippageOutPct, slippageBpsOverride, platformFeeBpsOverride }: JupiterIxToHawksight): Promise<JupiterRouteIxReturn>;
16
+ jupiterIxToHawksight({ connection, swapInstruction, quotedOutAmount_override, slippageOutPct, slippageBpsOverride, platformFeeBpsOverride }: JupiterIxToHawksight): Promise<JupiterRouteIxReturn>;
15
17
  }
16
18
  export {};
17
19
  //# sourceMappingURL=JupiterSwap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JupiterSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/JupiterSwap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;IAC5B,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAEjC,CAAC;AAEF,qBAAa,WAAW;IAGpB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAGzB,oBAAoB,CAAC,EAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,sBAAsB,EAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAiB5K"}
1
+ {"version":3,"file":"JupiterSwap.d.ts","sourceRoot":"","sources":["../../../src/classes/JupiterSwap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;IAC5B,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,EAAE,CAAC;CAE/B,CAAC;AAEF,qBAAa,WAAW;IAGpB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAGzB,oBAAoB,CAAC,EAAC,UAAU,EAAE,eAAe,EAAE,wBAAwB,EAAE,cAAc,EAAE,mBAAmB,EAAE,sBAAsB,EAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAkBtM"}
@@ -15,7 +15,7 @@ class JupiterSwap {
15
15
  this.ix = ix;
16
16
  }
17
17
  jupiterIxToHawksight(_a) {
18
- return __awaiter(this, arguments, void 0, function* ({ connection, swapInstruction, slippageOutPct, slippageBpsOverride, platformFeeBpsOverride }) {
18
+ return __awaiter(this, arguments, void 0, function* ({ connection, swapInstruction, quotedOutAmount_override, slippageOutPct, slippageBpsOverride, platformFeeBpsOverride }) {
19
19
  return yield this.ix.iyfMain.jupiterRouteIx({
20
20
  connection,
21
21
  userPda: swapInstruction.keys[1].pubkey,
@@ -26,6 +26,7 @@ class JupiterSwap {
26
26
  eventAuthority: swapInstruction.keys[7].pubkey,
27
27
  remainingAccounts: swapInstruction.keys.slice(9),
28
28
  data: swapInstruction.data,
29
+ quotedOutAmount_override,
29
30
  slippageOutPct,
30
31
  slippageBps: slippageBpsOverride,
31
32
  platformFeeBps: platformFeeBpsOverride,
@@ -17,7 +17,8 @@ type JupiterRouteIx = {
17
17
  eventAuthority: web3.PublicKey;
18
18
  remainingAccounts: web3.AccountMeta[];
19
19
  data: Buffer;
20
- slippageOutPct: number;
20
+ slippageOutPct?: number;
21
+ quotedOutAmount_override?: BN;
21
22
  slippageBps?: number;
22
23
  platformFeeBps?: number;
23
24
  };
@@ -88,7 +89,7 @@ export declare class IyfMainIxGenerator {
88
89
  * @param params
89
90
  */
90
91
  iyfExtensionExecute(connection: web3.Connection, { userWallet, iyfExtensionIx, }: IyfExtensionExecute): Promise<web3.TransactionInstruction>;
91
- jupiterRouteIx({ connection, userWallet, userPda, sourceTokenAccount, destinationTokenAccount, destinationMint, platformFeeAccount, eventAuthority, remainingAccounts, data, slippageOutPct, slippageBps, platformFeeBps, }: JupiterRouteIx): Promise<JupiterRouteIxReturn>;
92
+ jupiterRouteIx({ connection, userWallet, userPda, sourceTokenAccount, destinationTokenAccount, destinationMint, platformFeeAccount, eventAuthority, remainingAccounts, data, slippageOutPct, quotedOutAmount_override, slippageBps, platformFeeBps, }: JupiterRouteIx): Promise<JupiterRouteIxReturn>;
92
93
  /**
93
94
  * Deposit multiple user pda token to passthrough token accounts
94
95
  *
@@ -1 +1 @@
1
- {"version":3,"file":"IyfMainIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/IyfMainIxGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IyfMainIxGenerator.d.ts","sourceRoot":"","sources":["../../../src/ixGenerator/IyfMainIxGenerator.ts"],"names":[],"mappings":"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"}
@@ -133,7 +133,7 @@ class IyfMainIxGenerator {
133
133
  });
134
134
  }
135
135
  jupiterRouteIx(_a) {
136
- return __awaiter(this, arguments, void 0, function* ({ connection, userWallet, userPda, sourceTokenAccount, destinationTokenAccount, destinationMint, platformFeeAccount, eventAuthority, remainingAccounts, data, slippageOutPct, slippageBps, platformFeeBps, }) {
136
+ return __awaiter(this, arguments, void 0, function* ({ connection, userWallet, userPda, sourceTokenAccount, destinationTokenAccount, destinationMint, platformFeeAccount, eventAuthority, remainingAccounts, data, slippageOutPct, quotedOutAmount_override, slippageBps, platformFeeBps, }) {
137
137
  var _b;
138
138
  // Initialize anchor
139
139
  anchor_1.Anchor.initialize(connection);
@@ -210,6 +210,16 @@ class IyfMainIxGenerator {
210
210
  .remainingAccounts(remainingAccounts)
211
211
  .instruction();
212
212
  });
213
+ // If quotedOutAmountOverride is set, then skip the simulation
214
+ if (quotedOutAmount_override) {
215
+ const ix = yield jupiterRouteIx(quotedOutAmount_override);
216
+ return {
217
+ swapIx: ix,
218
+ createAtaIx,
219
+ closeAtaIx,
220
+ ataExists,
221
+ };
222
+ }
213
223
  // Create simulation ix (to figure out result value of destination token)
214
224
  const ixSimulate = yield jupiterRouteIx(quotedOutAmount_sim);
215
225
  const instructions = [createAtaIx, ixSimulate]
@@ -219,25 +229,31 @@ class IyfMainIxGenerator {
219
229
  const token = (0, functions_1.parseTokenAccountData)(info.data);
220
230
  previousAmount = token.amount;
221
231
  }
222
- // Simulate the transaction to get expected out token
223
- const simulation = yield (0, functions_1.simulateTransaction)({
224
- connection,
225
- instructions,
226
- payerKey: addresses_1.HS_AUTHORITY,
227
- alts: [],
228
- signers: [],
229
- addresses: [destinationTokenAccount.toString()],
230
- });
231
- let token2;
232
- try {
233
- token2 = (0, functions_1.parseTokenAccountData)(Buffer.from((_b = simulation.accounts[0]) === null || _b === void 0 ? void 0 : _b.data[0], 'base64'));
232
+ if (slippageOutPct === undefined) {
233
+ throw new Error(`slippageOutPct parameter is not set`);
234
234
  }
235
- catch (_c) {
236
- console.log(simulation.logs);
237
- throw Error('Transaction simulation failed. See logs above.');
235
+ // Simulate the transaction to get expected out token
236
+ let tokenAmount = previousAmount;
237
+ if (slippageOutPct < 10000) {
238
+ const simulation = yield (0, functions_1.simulateTransaction)({
239
+ connection,
240
+ instructions,
241
+ payerKey: addresses_1.HS_AUTHORITY,
242
+ alts: [],
243
+ signers: [],
244
+ addresses: [destinationTokenAccount.toString()],
245
+ });
246
+ try {
247
+ const token = (0, functions_1.parseTokenAccountData)(Buffer.from((_b = simulation.accounts[0]) === null || _b === void 0 ? void 0 : _b.data[0], 'base64'));
248
+ tokenAmount = token.amount;
249
+ }
250
+ catch (_c) {
251
+ console.log(simulation.logs);
252
+ throw Error('Transaction simulation failed. See logs above.');
253
+ }
238
254
  }
239
- // console.log(`token2.amount: ${token2.amount}`);
240
- const delta = token2.amount.sub(previousAmount);
255
+ // console.log(`tokenAmount: ${tokenAmount}`);
256
+ const delta = tokenAmount.sub(previousAmount);
241
257
  const quotedOutAmount = delta.mul(new bn_js_1.default(10000)
242
258
  .sub(new bn_js_1.default(slippageOutPct))).div(new bn_js_1.default(10000));
243
259
  // console.log(`Out amount: ${delta.toNumber()}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hawksightco/hawk-sdk",
3
- "version": "1.1.66",
3
+ "version": "1.1.68",
4
4
  "description": "Hawksight v2 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/ghabxph/hawk-api-client.git",