@haven-fi/solauto-sdk 1.0.409 → 1.0.411

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,CA+F/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);
@@ -186,15 +188,18 @@ async function sendJitoBundledTransactions(umi, connection, signer, txs, txType,
186
188
  ? await Promise.all(txs.map(async (x) => (await (0, solanaUtils_1.getComputeUnitPriceEstimate)(umi, x, priorityFeeSetting, true)) ?? 1000000))
187
189
  : undefined;
188
190
  const latestBlockhash = (await umi.rpc.getLatestBlockhash({ commitment: "confirmed" })).blockhash;
191
+ console.log("Signers expected:", txs.forEach((tx) => {
192
+ tx.getSigners(umi).map(x => x.publicKey.toString());
193
+ }));
189
194
  let builtTxs;
190
195
  let simulationResults;
191
196
  if (txType !== "skip-simulation") {
192
- builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, signer, txs, true, // REVERT ME
193
- feeEstimates);
197
+ builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, signer, txs, false, feeEstimates);
194
198
  (0, generalUtils_1.consoleLog)(builtTxs.map((x) => x.message.compiledInstructions.map((y) => x.message.staticAccountKeys[y.programIdIndex].toString())));
195
199
  simulationResults = await simulateJitoBundle(umi, builtTxs);
196
200
  }
197
201
  if (txType !== "only-simulate") {
202
+ onAwaitingSign?.();
198
203
  builtTxs = await umiToVersionedTransactions(umi, latestBlockhash, signer, txs, true, feeEstimates, simulationResults
199
204
  ? simulationResults.map((x) => x.unitsConsumed * 1.15)
200
205
  : undefined);
@@ -202,7 +207,6 @@ async function sendJitoBundledTransactions(umi, connection, signer, txs, txType,
202
207
  if (serializedTxs.find((x) => x.length > 1232)) {
203
208
  throw new Error("A transaction is too large");
204
209
  }
205
- onAwaitingSign?.();
206
210
  const txSigs = await sendJitoBundle(umi, serializedTxs.map((x) => bs58_1.default.encode(x)));
207
211
  return txSigs.length > 0 ? txSigs : undefined;
208
212
  }
@@ -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
+ "26feCSuaGDro5UJdiew6EzpQBxQhpGVkPiZ6DR8Qjdtgf3PPNPtqwRKaxV5fHfoCmcAkw1vLeXTAVo9u1qyb8g2SupHtY61Z15n1fCrsdyMVGwVboU5LDzvWLuHp7P5BqFmccXRNenWu3vF6mw5qb9em4sS9poAHBUu5Hiysyi637Dy4bWq3z1wQokkeZPdgw4jvTmKnfZQK4epvJVffMWELaJ4cPYden9meiUD7Drrk2ELaoFX4WZA8DWcB9QAY2xmguRXn1Agjp4i7vmwFHBENozWDYQiGpfztUXToE8kjrVuPoFWbCZbvvF4jpHroMr6d5bfBaU6LtdbLYfRdV8vxZkJ31tcnyGiHJJFBre6orZV8hgdVkGFMhPyb7uermCXbe4gvrH7geAUxWBznUkfWsKazYxMrQ741HVrkUfioZeXc9BtioTS3KSoFisCqVNkeGMYU3RPk6f6rvCen93JkbSrK1mG8NapnVuW6FBgKniGKd3Cktu1YxCNS27WHtQhgoav9crQqLBBNNZArqeJQ6Pd39pC7YgdMXaUWKtYticx6wx78brVPcaexDSYuwrcDSrzMDKdQdgRNRBQgDRTfR9qGN1oVKNVzpYfNWPvyy8ZYnpUQrX1xV9P3uhZv1A9GSV7C1YKBtsRxyaibw57V4YKLqC451tkshVKek6UVY6g6CeF7XKGeagiCAxr6JCgdYpwDJ6yCz62rcfqSb7X4MXb3zEgUGfRuaGsh4daRjZk7QyjU6C9xfe16Prv9DTJT3kKkEzhiuVbLthdBVYB6nMg2NjPuDAvvrUd56MsA2akNQiXYG9iN6YeGccNtJRCat5SJpLUfUCQMZSf1"
249
+ )
250
+ );
251
+ console.log(
252
+ decodeVersionedTx(
253
+ "LqSqbJDbCJqgxRq1YXyj2juUdMHCsC71fE2hxWHC7RxEE81AfA6rSkCLJfJa2mijAqRfwgv3pJ5txmrmQPbbHf3E3MYVkB4nq8sJnsc1LWVhnBZtvYuyET8t5TTeUK4HrAfdckm6jXvWQ37B544PXagREoPUsiCepmi4Xxd1PojaRJAPEPLWmx46pFvQRPrvZXQfUDmLVd7KLTZy5dw7HMRh4otrwzgCKeVo291d7rqBu6dwFaKM96ynNADT4G5yfucQqwy71YCFkGsxTKqqSBtvQnkSRRH1GzHgTS1ASTnkja89AUbjrSeaExM1YjN4YGjKc3KLVNiHFUFCZFfwhiarL6kgLRBCjGQzEwvasvE6DykvHJSoBPEUe2dqFwc3Zr7NJx7oqiQCcLuu3nr72WKEbBm4xx522pzn7xnswyJhUGtkgg68XTJhcQsV8U8gHSp22FsXgkb4cooJ3wNSsQiXmdvkQTVbTvE8E6M9zbuvQeNYigWH5mfq99CHkJBWY8qujucktZfJfpcwpd5FeqmuwLqahky8NhRKkDKZ3G4DfGAVC319NDVC4sLbtyhEMinvAuGFFJaPYTduu4q2EDU6tc41DYDZS5iX3NKy4DcHJy4FpdTNZdERzrvz3Pm1qUSETUBLuJVxsUQeqmwcCCvoQkEzTKgdJHsDr3AiRT8fJgBi1JdFSUuzsJzF8GDX9nkTMgr7iu4ueNQD3NjLtzQ68RxfZGKJD5GhXN7B6w8EoX7mztRFpraAmgNxGTQcbud2v9zsrsyHHpqPESvt9N3nJ5Wu5DVZJLxuJ5ACQMYLNSgt1DVAe1d9TZpxNSnoTzcGJPCibC8GKTLm9my4DHeVifpTPpSqtNNudFm7kwsrdMLLoSS2WWkGhZq9GCXYbZTuMMxzHmnLCr4sYz5MHxEftA9pxzVBDsExzTg2g5ECGHddDhcxzdBNT5y29qdmQ2oZ84vUDkS7HZUP1qEFTFQY87ze6LeqgyGtjo1nzj53appZz9SLgdGKndf2cv498ue6oLhNbbcDwPiz3yb3pLRzKzVp7UPHaVbDrivJw7VB1ekXAHN21i5x5yaMzqNYsPiA6A242ZS591ruznaMP9EQYnuqYTSmFdWcfEfPDNje5FavMxZdwKkWDwGdUZJcgf6f9wzSMKPYXFvgcNGdufJTiM5YRA4KAMWQFLYhme4QXxUYMvqZmUk2biWJP7n1Rn7s4Mxd1RJtiAAhKz8SZR7g1im7dgD2pZAo6568eJC1V42Z8KvCJ1u8o12k16aHwKtDacYUWopQFYHzMnbTLj45euFPDA6AKnNXia3azB5geQDqD41qkRu3hBfnrUpA2a5Y1RvkwnR6VpnfuHV1Qyhpdnpb75mbGMvccDNE1V8wwwMsXUPtp26E71FsYBrDCDnBZZHMaHoN68dtguLAnyXYb2VDumNKWHKKVRY91ZmwYUxcPXpf6AuQzah"
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.411",
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
 
@@ -298,6 +300,13 @@ export async function sendJitoBundledTransactions(
298
300
  await umi.rpc.getLatestBlockhash({ commitment: "confirmed" })
299
301
  ).blockhash;
300
302
 
303
+ console.log(
304
+ "Signers expected:",
305
+ txs.forEach((tx) => {
306
+ tx.getSigners(umi).map(x => x.publicKey.toString());
307
+ })
308
+ );
309
+
301
310
  let builtTxs: VersionedTransaction[];
302
311
  let simulationResults: SimulatedTransactionResponse[] | undefined;
303
312
  if (txType !== "skip-simulation") {
@@ -306,7 +315,7 @@ export async function sendJitoBundledTransactions(
306
315
  latestBlockhash,
307
316
  signer,
308
317
  txs,
309
- true, // REVERT ME
318
+ false,
310
319
  feeEstimates
311
320
  );
312
321
  consoleLog(
@@ -320,6 +329,7 @@ export async function sendJitoBundledTransactions(
320
329
  }
321
330
 
322
331
  if (txType !== "only-simulate") {
332
+ onAwaitingSign?.();
323
333
  builtTxs = await umiToVersionedTransactions(
324
334
  umi,
325
335
  latestBlockhash,
@@ -337,7 +347,6 @@ export async function sendJitoBundledTransactions(
337
347
  throw new Error("A transaction is too large");
338
348
  }
339
349
 
340
- onAwaitingSign?.();
341
350
  const txSigs = await sendJitoBundle(
342
351
  umi,
343
352
  serializedTxs.map((x) => base58.encode(x))