Prerequisites
You need Web3 libraries configured with Para authentication.Setup Web3 Libraries
Get Transaction Receipt
- Ethers.js
- Viem
- Wagmi
Check transaction status, confirmations, and retrieve receipt details
import { ethers } from "ethers";
async function getTransactionReceipt(
provider: ethers.Provider,
txHash: string
) {
const receipt = await provider.getTransactionReceipt(txHash);
console.log("Transaction Receipt:", receipt);
return receipt;
}
async function waitForTransaction(provider: ethers.Provider, txHash: string) {
const receipt = await provider.waitForTransaction(txHash);
console.log("Transaction Confirmed:", receipt);
return receipt;
}
async function getTransactionReceipt(
publicClient: any,
txHash: `0x${string}`
) {
const receipt = await publicClient.getTransactionReceipt({
hash: txHash,
});
console.log("Transaction Receipt:", receipt);
return receipt;
}
async function waitForTransactionReceipt(
publicClient: any,
txHash: `0x${string}`
) {
const receipt = await publicClient.waitForTransactionReceipt({
hash: txHash,
});
console.log("Transaction Confirmed:", receipt);
return receipt;
}
import { useTransactionReceipt, useWaitForTransactionReceipt } from "wagmi";
function TransactionReceipt({ txHash }: { txHash: `0x${string}` }) {
const { data: receipt, isLoading } = useTransactionReceipt({
hash: txHash,
});
const { data: confirmedReceipt, isLoading: isConfirming } = useWaitForTransactionReceipt({
hash: txHash,
});
if (isLoading) return <div>Loading receipt...</div>;
return (
<div>
<h2>Transaction Receipt</h2>
<pre>{JSON.stringify(receipt, null, 2)}</pre>
{isConfirming && <div>Waiting for confirmation...</div>}
{confirmedReceipt && (
<div>
<h2>Confirmed Receipt</h2>
<pre>{JSON.stringify(confirmedReceipt, null, 2)}</pre>
</div>
)}
</div>
);
}