@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;
|
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"}
|
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);
|
@@ -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,
|
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
|
}
|
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
|
+
"26feCSuaGDro5UJdiew6EzpQBxQhpGVkPiZ6DR8Qjdtgf3PPNPtqwRKaxV5fHfoCmcAkw1vLeXTAVo9u1qyb8g2SupHtY61Z15n1fCrsdyMVGwVboU5LDzvWLuHp7P5BqFmccXRNenWu3vF6mw5qb9em4sS9poAHBUu5Hiysyi637Dy4bWq3z1wQokkeZPdgw4jvTmKnfZQK4epvJVffMWELaJ4cPYden9meiUD7Drrk2ELaoFX4WZA8DWcB9QAY2xmguRXn1Agjp4i7vmwFHBENozWDYQiGpfztUXToE8kjrVuPoFWbCZbvvF4jpHroMr6d5bfBaU6LtdbLYfRdV8vxZkJ31tcnyGiHJJFBre6orZV8hgdVkGFMhPyb7uermCXbe4gvrH7geAUxWBznUkfWsKazYxMrQ741HVrkUfioZeXc9BtioTS3KSoFisCqVNkeGMYU3RPk6f6rvCen93JkbSrK1mG8NapnVuW6FBgKniGKd3Cktu1YxCNS27WHtQhgoav9crQqLBBNNZArqeJQ6Pd39pC7YgdMXaUWKtYticx6wx78brVPcaexDSYuwrcDSrzMDKdQdgRNRBQgDRTfR9qGN1oVKNVzpYfNWPvyy8ZYnpUQrX1xV9P3uhZv1A9GSV7C1YKBtsRxyaibw57V4YKLqC451tkshVKek6UVY6g6CeF7XKGeagiCAxr6JCgdYpwDJ6yCz62rcfqSb7X4MXb3zEgUGfRuaGsh4daRjZk7QyjU6C9xfe16Prv9DTJT3kKkEzhiuVbLthdBVYB6nMg2NjPuDAvvrUd56MsA2akNQiXYG9iN6YeGccNtJRCat5SJpLUfUCQMZSf1"
|
249
|
+
)
|
250
|
+
);
|
251
|
+
console.log(
|
252
|
+
decodeVersionedTx(
|
253
|
+
"LqSqbJDbCJqgxRq1YXyj2juUdMHCsC71fE2hxWHC7RxEE81AfA6rSkCLJfJa2mijAqRfwgv3pJ5txmrmQPbbHf3E3MYVkB4nq8sJnsc1LWVhnBZtvYuyET8t5TTeUK4HrAfdckm6jXvWQ37B544PXagREoPUsiCepmi4Xxd1PojaRJAPEPLWmx46pFvQRPrvZXQfUDmLVd7KLTZy5dw7HMRh4otrwzgCKeVo291d7rqBu6dwFaKM96ynNADT4G5yfucQqwy71YCFkGsxTKqqSBtvQnkSRRH1GzHgTS1ASTnkja89AUbjrSeaExM1YjN4YGjKc3KLVNiHFUFCZFfwhiarL6kgLRBCjGQzEwvasvE6DykvHJSoBPEUe2dqFwc3Zr7NJx7oqiQCcLuu3nr72WKEbBm4xx522pzn7xnswyJhUGtkgg68XTJhcQsV8U8gHSp22FsXgkb4cooJ3wNSsQiXmdvkQTVbTvE8E6M9zbuvQeNYigWH5mfq99CHkJBWY8qujucktZfJfpcwpd5FeqmuwLqahky8NhRKkDKZ3G4DfGAVC319NDVC4sLbtyhEMinvAuGFFJaPYTduu4q2EDU6tc41DYDZS5iX3NKy4DcHJy4FpdTNZdERzrvz3Pm1qUSETUBLuJVxsUQeqmwcCCvoQkEzTKgdJHsDr3AiRT8fJgBi1JdFSUuzsJzF8GDX9nkTMgr7iu4ueNQD3NjLtzQ68RxfZGKJD5GhXN7B6w8EoX7mztRFpraAmgNxGTQcbud2v9zsrsyHHpqPESvt9N3nJ5Wu5DVZJLxuJ5ACQMYLNSgt1DVAe1d9TZpxNSnoTzcGJPCibC8GKTLm9my4DHeVifpTPpSqtNNudFm7kwsrdMLLoSS2WWkGhZq9GCXYbZTuMMxzHmnLCr4sYz5MHxEftA9pxzVBDsExzTg2g5ECGHddDhcxzdBNT5y29qdmQ2oZ84vUDkS7HZUP1qEFTFQY87ze6LeqgyGtjo1nzj53appZz9SLgdGKndf2cv498ue6oLhNbbcDwPiz3yb3pLRzKzVp7UPHaVbDrivJw7VB1ekXAHN21i5x5yaMzqNYsPiA6A242ZS591ruznaMP9EQYnuqYTSmFdWcfEfPDNje5FavMxZdwKkWDwGdUZJcgf6f9wzSMKPYXFvgcNGdufJTiM5YRA4KAMWQFLYhme4QXxUYMvqZmUk2biWJP7n1Rn7s4Mxd1RJtiAAhKz8SZR7g1im7dgD2pZAo6568eJC1V42Z8KvCJ1u8o12k16aHwKtDacYUWopQFYHzMnbTLj45euFPDA6AKnNXia3azB5geQDqD41qkRu3hBfnrUpA2a5Y1RvkwnR6VpnfuHV1Qyhpdnpb75mbGMvccDNE1V8wwwMsXUPtp26E71FsYBrDCDnBZZHMaHoN68dtguLAnyXYb2VDumNKWHKKVRY91ZmwYUxcPXpf6AuQzah"
|
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
|
|
@@ -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
|
-
|
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))
|