From 4000d06f6869809e7ad7bff83dca973911a52516 Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Thu, 5 Dec 2024 13:49:39 +0000 Subject: [PATCH 1/2] use higher commitment for blockhash --- .../solana/sdk/js/solana_utils/package.json | 2 +- .../solana/sdk/js/solana_utils/src/transaction.ts | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/target_chains/solana/sdk/js/solana_utils/package.json b/target_chains/solana/sdk/js/solana_utils/package.json index 40914d30ac..202ad72b52 100644 --- a/target_chains/solana/sdk/js/solana_utils/package.json +++ b/target_chains/solana/sdk/js/solana_utils/package.json @@ -1,6 +1,6 @@ { "name": "@pythnetwork/solana-utils", - "version": "0.4.2", + "version": "0.4.3", "description": "Utility functions for Solana", "homepage": "https://pyth.network", "main": "lib/index.js", diff --git a/target_chains/solana/sdk/js/solana_utils/src/transaction.ts b/target_chains/solana/sdk/js/solana_utils/src/transaction.ts index cf14efe25f..fb5037b2f8 100644 --- a/target_chains/solana/sdk/js/solana_utils/src/transaction.ts +++ b/target_chains/solana/sdk/js/solana_utils/src/transaction.ts @@ -423,7 +423,7 @@ export async function sendTransactions( maxRetries?: number ): Promise { const blockhashResult = await connection.getLatestBlockhashAndContext({ - commitment: "confirmed", + commitment: "finalized", }); const signatures: string[] = []; @@ -487,7 +487,18 @@ export async function sendTransactions( ), ]); if (confirmedTx) { - break; + console.log("this is the err", confirmedTx.err?.toString()); + if ( + confirmedTx.err && + confirmedTx.err + .toString() + .includes("Minimum context slot has not been reached.") + ) { + console.log("Handling minimum context slot error"); + confirmedTx = null; + } else { + break; + } } if (maxRetries && maxRetries < retryCount) { break; From 569fc493ef45864fe1cf1703e9af877f800a7220 Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Thu, 5 Dec 2024 13:51:57 +0000 Subject: [PATCH 2/2] use higher commitment for blockhash --- .../sdk/js/solana_utils/src/transaction.ts | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/target_chains/solana/sdk/js/solana_utils/src/transaction.ts b/target_chains/solana/sdk/js/solana_utils/src/transaction.ts index fb5037b2f8..055a28b87b 100644 --- a/target_chains/solana/sdk/js/solana_utils/src/transaction.ts +++ b/target_chains/solana/sdk/js/solana_utils/src/transaction.ts @@ -227,7 +227,7 @@ export class TransactionBuilder { args: PriorityFeeConfig ): Promise<{ tx: VersionedTransaction; signers: Signer[] }[]> { const blockhash = ( - await this.connection.getLatestBlockhash({ commitment: "confirmed" }) + await this.connection.getLatestBlockhash({ commitment: "finalized" }) ).blockhash; const jitoBundleSize = @@ -423,7 +423,7 @@ export async function sendTransactions( maxRetries?: number ): Promise { const blockhashResult = await connection.getLatestBlockhashAndContext({ - commitment: "finalized", + commitment: "confirmed", }); const signatures: string[] = []; @@ -487,18 +487,7 @@ export async function sendTransactions( ), ]); if (confirmedTx) { - console.log("this is the err", confirmedTx.err?.toString()); - if ( - confirmedTx.err && - confirmedTx.err - .toString() - .includes("Minimum context slot has not been reached.") - ) { - console.log("Handling minimum context slot error"); - confirmedTx = null; - } else { - break; - } + break; } if (maxRetries && maxRetries < retryCount) { break;