rubic-sdk
Version:
Simplify dApp creation
34 lines (33 loc) • 1.77 kB
TypeScript
import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from "../../../../../../common/tokens";
import { EvmBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
import { CelerCrossChainContractData } from "../celer-cross-chain-contract-data";
import { CelerCrossChainSupportedBlockchain } from "../models/celer-cross-chain-supported-blockchain";
import { CelerSupportedOnChainTradeProvider } from "../models/celer-supported-on-chain-trade";
import { AbiItem } from 'web3-utils';
export declare abstract class CelerContractTrade {
readonly blockchain: CelerCrossChainSupportedBlockchain;
readonly contract: CelerCrossChainContractData;
private readonly providerIndex;
abstract readonly fromToken: PriceTokenAmount<EvmBlockchainName>;
abstract readonly toToken: PriceTokenAmount<EvmBlockchainName>;
abstract readonly toTokenAmountMin: BigNumber;
get provider(): CelerSupportedOnChainTradeProvider;
protected constructor(blockchain: CelerCrossChainSupportedBlockchain, contract: CelerCrossChainContractData, providerIndex: number);
/**
* Returns method's name and contract abi to call in source network.
*/
getMethodNameAndContractAbi(): {
methodName: string;
contractAbi: AbiItem[];
};
private getAbiMethodByProvider;
private getSwapMethod;
abstract getMethodArguments(toContractTrade: CelerContractTrade, walletAddress: string, providerAddress: string, options?: {
swapTokenWithFee?: boolean;
maxSlippage?: number;
receiverAddress?: string;
}): Promise<unknown[]>;
abstract getCelerSourceTrade(): unknown[] | unknown;
abstract getCelerDestinationTrade(integratorAddress: string, receiverAddress: string): unknown[];
}