Búsqueda de sitios web

typescript - solana web3 confirmTransaction @deprecated usando un ejemplo de TransactionConfirmationConfig


Con este código, VS muestra una advertencia deprecada:

(método) Connection.confirmTransaction(strategy: string, commitment?: Commitment): Promise<RpcResponseAndContext> (+1 sobrecarga) @deprecated — En su lugar, llama a confirmTransaction usando un TransactionConfirmationConfig

La firma '(strategy: string, commitment?: Commitment): Promise' de 'connection.confirmTransaction' está en desuso

const airDropSol = async () => {
  try {
    const connection = new Connection(clusterApiUrl("devnet"), "confirmed");
    const airdropSignature = await connection.requestAirdrop(
      publicKey,
      2 * LAMPORTS_PER_SOL
    );
    await connection.confirmTransaction(airdropSignature);
  } catch (error) {
    console.error(error);
  }
};

¿Alguien podría hacerme un ejemplo con la nueva sintaxis, por favor?

Respuesta #1

La nueva firma del método se ve así

confirmTransaction(
  strategy: BlockheightBasedTransactionConfirmationStrategy,
  commitment?: Commitment,
): Promise<RpcResponseAndContext<SignatureResult>>;

Así que en lugar del anterior TransactionSignature, ahora espera BlockheightBasedTransactionConfirmationStrategy

dónde

type BlockheightBasedTransactionConfirmationStrategy = {
    signature: string;
} & Readonly<{
    blockhash: string;
    lastValidBlockHeight: number;
}>

Por lo tanto, lo que necesitas es

  const airDropSol = async () => {
    try {
      const connection = new Connection(clusterApiUrl("devnet"), "confirmed");
      const airdropSignature = await connection.requestAirdrop(
        keypair.publicKey,
        2 * LAMPORTS_PER_SOL
      );

      const latestBlockHash = await connection.getLatestBlockhash();

      await connection.confirmTransaction({
        blockhash: latestBlockHash.blockhash,
        lastValidBlockHeight: latestBlockHash.lastValidBlockHeight,
        signature: airdropSignature,
      });
    } catch (error) {
      console.error(error);
    }
  };

Artículos relacionados