import type { CallErrorType as viem_CallErrorType, CallParameters as viem_CallParameters, CallReturnType as viem_CallReturnType, } from 'viem' import { call as viem_call } from 'viem/actions' import type { Config } from '../createConfig.js' import type { ChainIdParameter } from '../types/properties.js' import { getAction } from '../utils/getAction.js' export type CallParameters = viem_CallParameters & ChainIdParameter export type CallReturnType = viem_CallReturnType export type CallErrorType = viem_CallErrorType export async function call( config: config, parameters: CallParameters, ): Promise { const { chainId, ...rest } = parameters const client = config.getClient({ chainId }) const action = getAction(client, viem_call, 'call') return action(rest) }