viem
Version:
38 lines • 1.72 kB
JavaScript
import { TransactionReceiptNotFoundError, } from '../../errors/transaction.js';
import { formatTransactionReceipt, } from '../../utils/formatters/transactionReceipt.js';
/**
* Returns the [Transaction Receipt](https://viem.sh/docs/glossary/terms#transaction-receipt) given a [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash.
*
* - Docs: https://viem.sh/docs/actions/public/getTransactionReceipt
* - Example: https://stackblitz.com/github/wevm/viem/tree/main/examples/transactions_fetching-transactions
* - JSON-RPC Methods: [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionreceipt)
*
* @param client - Client to use
* @param parameters - {@link GetTransactionReceiptParameters}
* @returns The transaction receipt. {@link GetTransactionReceiptReturnType}
*
* @example
* import { createPublicClient, http } from 'viem'
* import { mainnet } from 'viem/chains'
* import { getTransactionReceipt } from 'viem/public'
*
* const client = createPublicClient({
* chain: mainnet,
* transport: http(),
* })
* const transactionReceipt = await getTransactionReceipt(client, {
* hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',
* })
*/
export async function getTransactionReceipt(client, { hash }) {
const receipt = await client.request({
method: 'eth_getTransactionReceipt',
params: [hash],
}, { dedupe: true });
if (!receipt)
throw new TransactionReceiptNotFoundError({ hash });
const format = client.chain?.formatters?.transactionReceipt?.format ||
formatTransactionReceipt;
return format(receipt);
}
//# sourceMappingURL=getTransactionReceipt.js.map