@paraswap/sdk
Version:
65 lines • 3.8 kB
TypeScript
import type Web3 from 'web3';
import type { ContractTransaction as EthersV5ContractTransaction } from '@ethersproject/contracts';
import { SwapSide } from '../constants';
import { SwapSDKMethods } from '../methods/swap';
import { Web3UnpromiEvent, EthersProviderDeps } from '../helpers';
import { type RateOptions } from '../methods/swap/rates';
import { type BuildOptions, type TransactionParams } from '../methods/swap/transaction';
import type { AddressOrSymbol, Token, FetcherFunction, ParaSwapVersionUnion, Address, PriceString, OptimalRate, TxSendOverrides } from '../types';
import { type Allowance } from '../methods/swap/balance';
import type { AxiosRequirement } from '../helpers/fetchers/axios';
import { ContractTransactionResponse as EthersV6ContractTransactionResponse } from 'ethers';
export type APIError = {
message: string;
status?: number;
data?: any;
};
type Fetch = typeof fetch;
type TxResponse = Web3UnpromiEvent | EthersV5ContractTransaction | EthersV6ContractTransactionResponse;
type LegacyOptions = {
chainId?: number;
apiURL?: string;
version?: ParaSwapVersionUnion;
apiKey?: string;
web3Provider?: Web3;
ethersDeps?: EthersProviderDeps;
account?: Address;
axios?: AxiosRequirement;
fetch?: Fetch;
};
/** @deprecated */
export declare class ParaSwap {
sdk: Partial<SwapSDKMethods<TxResponse>>;
fetcher: FetcherFunction;
chainId: number;
apiURL: string;
version: ParaSwapVersionUnion;
web3Provider?: Web3;
ethersDeps?: EthersProviderDeps;
account?: Address;
constructor({ chainId, apiURL, version, apiKey, web3Provider, ethersDeps, account, axios, fetch, }: LegacyOptions);
private static handleAPIError;
private static extractHashFromTxResponse;
setWeb3Provider(web3Provider: Web3, account?: string): this;
setEthersProvider(ethersDeps: EthersProviderDeps, account?: string): this;
getTokens(): Promise<Token[] | APIError>;
getAdapters(): Promise<APIError | string[]>;
getRateByRoute(route: AddressOrSymbol[], amount: PriceString, userAddress?: Address, side?: SwapSide, options?: RateOptions, srcDecimals?: number, destDecimals?: number): Promise<OptimalRate | APIError>;
getRate(srcToken: AddressOrSymbol, destToken: AddressOrSymbol, amount: PriceString, userAddress?: Address, side?: SwapSide, options?: RateOptions, srcDecimals?: number, destDecimals?: number): Promise<OptimalRate | APIError>;
buildTx(srcToken: Address, destToken: Address, srcAmount: PriceString, destAmount: PriceString, priceRoute: OptimalRate, userAddress: Address, partner?: string, partnerAddress?: string, partnerFeeBps?: number, receiver?: Address, options?: BuildOptions, srcDecimals?: number, destDecimals?: number, permit?: string, deadline?: string): Promise<TransactionParams | APIError>;
getTokenTransferProxy(_provider?: any): Promise<Address | APIError>;
getAllowances(userAddress: Address, tokenAddresses: Address[]): Promise<Allowance[] | APIError>;
getAllowance(userAddress: Address, tokenAddress: Address): Promise<Allowance | APIError>;
approveTokenBulk(amount: PriceString, userAddress: Address, tokenAddresses: Address[],
/** @deprecated */
_provider?: any): Promise<string[] | APIError>;
approveToken(amount: PriceString, userAddress: Address, tokenAddress: Address,
/** @deprecated */
_provider?: any, // not used, can't detect if Ethers or Web3 provider without importing them
sendOptions?: Omit<TxSendOverrides, 'from'>): Promise<string | APIError>;
getMarketNames(): Promise<string[] | APIError>;
getBalance(userAddress: Address, token: AddressOrSymbol): Promise<Token | APIError>;
getBalances(userAddress: Address): Promise<Token[] | APIError>;
}
export {};
//# sourceMappingURL=index.d.ts.map