UNPKG

rubic-sdk

Version:
34 lines (33 loc) 1.77 kB
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[]; }