@deliquifiedlabs/uniswapx-sdk
Version:
SDK for the UniswapX protocol
27 lines (26 loc) • 1.18 kB
TypeScript
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 {};