UNPKG

@deliquifiedlabs/uniswapx-sdk

Version:

SDK for the UniswapX protocol

27 lines (26 loc) 1.18 kB
import { Interface } from "@ethersproject/abi"; import { BaseProvider } from "@ethersproject/providers"; export type MulticallParams = { contractInterface: Interface; functionName: string; }; export type MulticallSameContractParams<TFunctionParams> = MulticallParams & { address: string; functionParams: TFunctionParams[]; }; export type MulticallSameFunctionParams<TFunctionParams> = MulticallParams & { addresses: string[]; functionParam: TFunctionParams; }; export type MulticallResult = { success: boolean; returnData: string; }; type Call = { target: string; callData: string; }; export declare function multicallSameContractManyFunctions<TFunctionParams extends any[] | undefined>(provider: BaseProvider, params: MulticallSameContractParams<TFunctionParams>): Promise<MulticallResult[]>; export declare function multicallSameFunctionManyContracts<TFunctionParams extends any[] | undefined>(provider: BaseProvider, params: MulticallSameFunctionParams<TFunctionParams>): Promise<MulticallResult[]>; export declare function multicall(provider: BaseProvider, calls: Call[]): Promise<MulticallResult[]>; export {};