Type alias MulticallResults<TContracts, TAllowFailure, Result, Depth>

MulticallResults<TContracts, TAllowFailure, Result, Depth>: Depth["length"] extends MAXIMUM_DEPTH
    ? MulticallResult<ContractFunctionResult, TAllowFailure>[]
    : TContracts extends []
        ? []
        : TContracts extends [infer Head extends MulticallContract]
            ? [...Result, MulticallResult<ContractFunctionResult<Head["abi"], Head["functionName"]>, TAllowFailure>]
            : TContracts extends [infer Head extends MulticallContract, ...(infer Tail extends readonly MulticallContract[])]
                ? MulticallResults<[...Tail], TAllowFailure, [...Result, MulticallResult<ContractFunctionResult<Head["abi"], Head["functionName"]>, TAllowFailure>], [...Depth, 1]>
                : TContracts extends ContractFunctionConfig<infer TAbi, infer TFunctionName>[]
                    ? MulticallResult<ContractFunctionResult<TAbi, TFunctionName>, TAllowFailure>[]
                    : MulticallResult<ContractFunctionResult, TAllowFailure>[]

Type Parameters

  • TContracts extends readonly MulticallContract[]

  • TAllowFailure extends boolean = true

  • Result extends any[] = []

  • Depth extends readonly number[] = []

Generated using TypeDoc