@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;
|
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"}
|
package/dist/utils/jitoUtils.js
CHANGED
@@ -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
|
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,
|
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
|
}
|
package/local/logPositions.ts
CHANGED
@@ -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
|
22
|
-
import { config } from
|
21
|
+
import path from "path";
|
22
|
+
import { config } from "dotenv";
|
23
23
|
|
24
|
-
config({ path: path.join(__dirname,
|
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
|
-
|
225
|
-
|
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
package/src/utils/jitoUtils.ts
CHANGED
@@ -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
|
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
|
-
)
|
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
|
-
|
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))
|