import { describe, expectTypeOf, test } from 'vitest' import { optimism } from '../../chains/index.js' import { createPublicClient } from '../../clients/createPublicClient.js' import { http } from '../../clients/transports/http.js' import type { Hex } from '../../types/misc.js' import { getTransaction } from './getTransaction.js' import { publicClient } from '~test/src/utils.js' test('blockTag = "latest"', async () => { const transaction = await getTransaction(publicClient, { hash: '0x', }) expectTypeOf(transaction.blockHash).toEqualTypeOf() expectTypeOf(transaction.blockNumber).toEqualTypeOf() expectTypeOf(transaction.transactionIndex).toEqualTypeOf() }) test('blockTag = "pending"', async () => { const transaction = await getTransaction(publicClient, { blockTag: 'pending', index: 0, }) expectTypeOf(transaction.blockHash).toEqualTypeOf() expectTypeOf(transaction.blockNumber).toEqualTypeOf() expectTypeOf(transaction.transactionIndex).toEqualTypeOf() }) describe('chain w/ formatter', () => { const client = createPublicClient({ chain: optimism, transport: http(), }) test('blockTag = "latest"', async () => { const transaction = await getTransaction(client, { hash: '0x', }) expectTypeOf(transaction.blockHash).toEqualTypeOf() expectTypeOf(transaction.blockNumber).toEqualTypeOf() expectTypeOf(transaction.transactionIndex).toEqualTypeOf() }) test('blockTag = "pending"', async () => { const transaction = await getTransaction(client, { blockTag: 'pending', index: 0, }) expectTypeOf(transaction.blockHash).toEqualTypeOf() expectTypeOf(transaction.blockNumber).toEqualTypeOf() expectTypeOf(transaction.transactionIndex).toEqualTypeOf() }) })