@haven-fi/solauto-sdk 1.0.409 → 1.0.410

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":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEJ,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMlE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC,CAa9D;AAmND,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAwF/B"}
1
+ {"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEJ,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMlE,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC,CAa9D;AAqND,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAwF/B"}
@@ -108,8 +108,10 @@ async function simulateJitoBundle(umi, txs) {
108
108
  return transactionResults;
109
109
  }
110
110
  async function umiToVersionedTransactions(umi, blockhash, signer, txs, sign, feeEstimates, computeUnitLimits) {
111
- let builtTxs = await Promise.all(txs.map(async (tx, i) => {
112
- return await (0, solanaUtils_1.assembleFinalTransaction)(signer, tx, feeEstimates ? feeEstimates[i] : undefined, computeUnitLimits ? computeUnitLimits[i] : undefined).buildWithLatestBlockhash(umi);
111
+ let builtTxs = await Promise.all([...txs].map(async (tx, i) => {
112
+ return (0, solanaUtils_1.assembleFinalTransaction)(signer, tx, feeEstimates ? feeEstimates[i] : undefined, computeUnitLimits ? computeUnitLimits[i] : undefined)
113
+ .setBlockhash(blockhash)
114
+ .build(umi);
113
115
  }));
114
116
  if (sign) {
115
117
  builtTxs = await signer.signAllTransactions(builtTxs);
@@ -189,12 +191,12 @@ async function sendJitoBundledTransactions(umi, connection, signer, txs, txType,
189
191
  let builtTxs;
190
192
  let simulationResults;
191
193
  if (txType !== "skip-simulation") {
192
- builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, signer, txs, true, // REVERT ME
193
- feeEstimates);
194
+ builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, signer, txs, false, feeEstimates);
194
195
  (0, generalUtils_1.consoleLog)(builtTxs.map((x) => x.message.compiledInstructions.map((y) => x.message.staticAccountKeys[y.programIdIndex].toString())));
195
196
  simulationResults = await simulateJitoBundle(umi, builtTxs);
196
197
  }
197
198
  if (txType !== "only-simulate") {
199
+ onAwaitingSign?.();
198
200
  builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, signer, txs, true, feeEstimates, simulationResults
199
201
  ? simulationResults.map((x) => x.unitsConsumed * 1.15)
200
202
  : undefined);
@@ -202,7 +204,6 @@ async function sendJitoBundledTransactions(umi, connection, signer, txs, txType,
202
204
  if (serializedTxs.find((x) => x.length > 1232)) {
203
205
  throw new Error("A transaction is too large");
204
206
  }
205
- onAwaitingSign?.();
206
207
  const txSigs = await sendJitoBundle(umi, serializedTxs.map((x) => bs58_1.default.encode(x)));
207
208
  return txSigs.length > 0 ? txSigs : undefined;
208
209
  }
@@ -14,14 +14,14 @@ import {
14
14
  TOKEN_INFO,
15
15
  USD_DECIMALS,
16
16
  } from "../src";
17
- import { PublicKey } from "@solana/web3.js";
17
+ import { PublicKey, VersionedTransaction } from "@solana/web3.js";
18
18
  import { NATIVE_MINT } from "@solana/spl-token";
19
19
  import { toWeb3JsPublicKey } from "@metaplex-foundation/umi-web3js-adapters";
20
20
  import { fromBaseUnit } from "../dist";
21
- import path from 'path';
22
- import { config } from 'dotenv';
21
+ import path from "path";
22
+ import { config } from "dotenv";
23
23
 
24
- config({ path: path.join(__dirname, '.env') });
24
+ config({ path: path.join(__dirname, ".env") });
25
25
 
26
26
  function getBatches<T>(items: T[], batchSize: number): T[][] {
27
27
  const batches: T[][] = [];
@@ -221,5 +221,35 @@ async function main(filterWhitelist: boolean) {
221
221
  console.log(`Total TVL: $${formatNumber(tvl, 2, 10000, 2)}`);
222
222
  }
223
223
 
224
- const filterWhitelist = true;
225
- main(filterWhitelist).then((x) => x);
224
+ import { Transaction } from "@solana/web3.js";
225
+ import * as bs58 from "bs58";
226
+
227
+ function decodeVersionedTx(base58Tx: string) {
228
+ // 1) Decode base58 into raw bytes
229
+ const txBuffer = bs58.decode(base58Tx);
230
+
231
+ // 2) Parse as versioned transaction
232
+ const versionedTx = VersionedTransaction.deserialize(txBuffer);
233
+
234
+ // 3) Extract signatures or do other things with `versionedTx`
235
+ const signatures = versionedTx.signatures.map((sigBytes, index) => ({
236
+ index,
237
+ signature: bs58.encode(sigBytes), // convert signature bytes to base58 string
238
+ }));
239
+
240
+ return { versionedTx, signatures };
241
+ }
242
+
243
+ // const filterWhitelist = true;
244
+ // main(filterWhitelist).then((x) => x);
245
+
246
+ console.log(
247
+ decodeVersionedTx(
248
+ "2APHUzQFJw5DtKwyYLEpzLazJHHgpF2XBWtghsb5MpZp1hEcdYvUvkrURPtAvf187t2TMNQPiuA1aQ6iMmT76xGUbNXAoNHjnyp8sJsLfMw3e9o8zhq2u97EsW4ceHTHE5EMWJWjXD4wWBDvVGMThr4G3nbWoCPUYbkT37sdZta9hwZfCcntxZN3o94Un4iQhqzeC3dRXiqZvPawNTBn4ybrD5HxsGyW61FJZNUtPTMdjqy3au2mMR1RWNp8CKAK8DTvx5n32fbRazH88ZqzJYfnny53fFyg6inktoUsNCiYWB1aEpLBs6BpDm7ZXxHDEkYNcZJXA6srCuUqKU3zLqRH2djVfMxhWuMc4RZBwEb863RkD7HEMdHFLpFdLRG2NKz7kET4A6hoj8j3iEJJPR7j38RRuPNf5pnxMoswGDNubYhGwM2zf73bj2MfWSWUB1gLpcEtq1j9YEAr86vLzGEeyjEKoCgo2UxwmkXHZr6xs18hcQNsKkWBHRgcgNw8MC7BmCBsWbZqiTK9jLCA4APNnhDEeH2wz6uPBwbfehVfjtzX7oJffSNm75Hjw8ti7FC2yJzbZWJdgydKGN8Lew6tci4Zuiwkq4ghXbokZVr9q9V17GXjhLQVYaAfYsip6conz9Nuh42u2R9kVD7ByeeMDBowu98qy8LgbqyswsZQPW3rJB11caZFqka7eZC9o9JTzjrwhiXVNm7ZY9uuzvppPtd577TekxRVsUVzdW9qaSmLc8QzzRAkav9iNKnqCHhSegpUUXKgSPBnFJ2pbmw1XMuLBRqmvsyj3Hev6axUenj6fHuV27Ki8mcGzXks4LkioBWDMrK8ccwnG5FV"
249
+ )
250
+ );
251
+ console.log(
252
+ decodeVersionedTx(
253
+ "5KqMfqNHtEhb2FLQYPCzFKC97r5kzkvgQCk8gq1LDLZiXmLqdY5LqMSs5s4mhTc3zQLwkRyot23KDLrjVFPSavbN96qXrYwppNTT7SV7irvvtbWzkSVL8kh4fEWMADeEAWH2zNnrYVLDmboASUrmYRxf3UryVZXnG4LKabcouinNiFBtvgQW8KbG8ZHwzkYS9BQMQgGdrugPq5jgVVkPEF95tQiudYC7K9nmcARJvTckd6SoumAfyYDHMuZPjGHGZNanJwD2wjV2uD9Loym5HUtkk4rhnVV2CmBngaHMY5xgxWDZCX4c5vgimyRmbhQ3m1u4YGhx9FYG8ftt7bj36zNcKGGGrS1nPzRfEBs9bwWSjvW9efKKGDnV24cJXxMR3i7mYj1kzcbNpyHKdYkEk1UCVvDDQaNCxahBKXGqM9KRo3X4WrtBCQbNbo9bQSEmCUN4KDumTzTL9buwtoqdP1Ej1SZj8zqTxhVnp9BkX1hXwz6UBk7mUvC5kRjDS8Gsm2C61bfo4XME9JfhP3SvifndbJHDFQxs4TcGEP1PGr4CghwPEWP4bKTjbzs6NL4HiX7aohQTUNuZzr4425ae5UsH8WtaihwYPZXaQgmgFraHJumNUyxrYVrqpHNn2TpoQDGNBrsAEThGWzqf3KXV8WhoRfFtZAXFzf3oBi4bAaqoJnMkPfa2DjLtJY6iutaSNVx1jokhCpEgRBdoMp8nGcMJHDTNALFu6XMMVcLBV3d7FrGtoWUghn7iAWUVSw75VcjTZR7ucEGBYuj9zdrXgMDoUmSGzjoZqiArbgAUd5YM5J6o5QkkDFPUj8WWLFtaSp8iSGBuu6bG5ek5jQFu38NZq1WxMiJrYffTAtKvjkThS8kPAD2xSRWbwSbrwYe7WZBZEUVyUQYRBp4evEeVczYwaFHd47uHJFYpSipkiET9cjoZPmKtMuEpL1BxZTXpnM4GrHM8ihdUGDpDGZ5kGyzTLtoA9D4iz1R5Pn3hxHqi57UH1YzGMfVUGEbG2n9otvFAFKPFYbHTzggGGUFXMdM2BN6VBxQAD6eJQ53ztepXozz5PvALowbT5KorzLHZSBDZbqWNyP9jw5pkrYnGvNYpsx7x4NjNpBeFJft4UZRnUxrfDqop4qgURaPhFtQPGrSXwBjZqUpHcCYbJdWJwgQ54yUinuNB9mGFidFxiAPfCm5H9mdLExmw6bXh3UUXzxC1ffA6uv91Qjxtk5VgBiyoSzzejuPMN7n8K4W8W1V1E18pu5QJ2pa1pxFchDz15U4QHCjsYpbu4bPKP5WTeUER5U5wXC18ht5j9nZVHZfciMQszfFYmybDgtUg8mvRJXtnTrzZ8H62TUD11TLpyqXsZGWuFTFTsxv2tLFx1QXawA8xJbZ5HCbyXJi6no8W4VWcG3sgyZKHBRKTUTzY2BmgrKDQDbViSrxyteGtpV47RYm5czX29VmQJTMQNKQWYmLrdbrf8ZQWcZKK1HgbQvBr1VvQCMMMkw9J6b7VBxYxBx"
254
+ )
255
+ );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haven-fi/solauto-sdk",
3
- "version": "1.0.409",
3
+ "version": "1.0.410",
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",
@@ -162,13 +162,15 @@ async function umiToVersionedTransactions(
162
162
  computeUnitLimits?: number[]
163
163
  ): Promise<VersionedTransaction[]> {
164
164
  let builtTxs = await Promise.all(
165
- txs.map(async (tx, i) => {
166
- return await assembleFinalTransaction(
165
+ [...txs].map(async (tx, i) => {
166
+ return assembleFinalTransaction(
167
167
  signer,
168
168
  tx,
169
169
  feeEstimates ? feeEstimates[i] : undefined,
170
170
  computeUnitLimits ? computeUnitLimits[i] : undefined
171
- ).buildWithLatestBlockhash(umi);
171
+ )
172
+ .setBlockhash(blockhash)
173
+ .build(umi);
172
174
  })
173
175
  );
174
176
 
@@ -306,7 +308,7 @@ export async function sendJitoBundledTransactions(
306
308
  latestBlockhash,
307
309
  signer,
308
310
  txs,
309
- true, // REVERT ME
311
+ false,
310
312
  feeEstimates
311
313
  );
312
314
  consoleLog(
@@ -320,6 +322,7 @@ export async function sendJitoBundledTransactions(
320
322
  }
321
323
 
322
324
  if (txType !== "only-simulate") {
325
+ onAwaitingSign?.();
323
326
  builtTxs = await umiToVersionedTransactions(
324
327
  umi,
325
328
  latestBlockhash,
@@ -337,7 +340,6 @@ export async function sendJitoBundledTransactions(
337
340
  throw new Error("A transaction is too large");
338
341
  }
339
342
 
340
- onAwaitingSign?.();
341
343
  const txSigs = await sendJitoBundle(
342
344
  umi,
343
345
  serializedTxs.map((x) => base58.encode(x))