Type alias MulticallContracts<TContracts, TProperties, Result, Depth>
MulticallContracts<TContracts, TProperties, Result, Depth>: Depth["length"] extends MAXIMUM_DEPTH ? (ContractFunctionConfig & TProperties)[] : TContracts extends [] ? [] : TContracts extends [infer Head extends MulticallContract] ? [...Result, ContractFunctionConfig<Head["abi"], Head["functionName"]> & TProperties] : TContracts extends [infer Head extends MulticallContract, ...(infer Tail extends readonly MulticallContract[])] ? MulticallContracts<[...Tail], TProperties, [...Result, ContractFunctionConfig<Head["abi"], Head["functionName"]> & TProperties], [...Depth, 1]> : unknown[] extends TContracts ? TContracts : TContracts extends ContractFunctionConfig<infer TAbi, infer TFunctionName>[] ? (ContractFunctionConfig<TAbi, TFunctionName> & TProperties)[] : (ContractFunctionConfig & TProperties)[] Type Parameters
TProperties extends Record<string, any> = object
Result extends any[] = []
Depth extends readonly number[] = []