Type Alias MulticallContracts<contracts, options, result>

MulticallContracts<contracts, options, result>: contracts extends readonly []
    ? readonly []
    : contracts extends readonly [infer contract]
        ? readonly [...result, MaybePartial<Prettify<GetMulticallContractParameters<contract, options["mutability"]> & options["properties"]>, options["optional"]>]
        : contracts extends readonly [infer contract, ...(infer rest)]
            ? MulticallContracts<[...rest], options, [...result, MaybePartial<Prettify<GetMulticallContractParameters<contract, options["mutability"]> & options["properties"]>, options["optional"]>]>
            : readonly unknown[] extends contracts
                ? contracts
                : contracts extends readonly (infer contract extends ContractFunctionParameters)[]
                    ? readonly MaybePartial<Prettify<contract & (...)[(...)]>, options["optional"]>[]
                    : readonly MaybePartial<Prettify<ContractFunctionParameters & (...)[(...)]>, options["optional"]>[]

Type Parameters

  • contracts extends readonly unknown[]
  • options extends {
        mutability: AbiStateMutability;
        optional?: boolean;
        properties?: Record<string, any>;
    } = {
        mutability: AbiStateMutability;
    }
  • result extends readonly any[] = []