rubic-sdk
Version:
Simplify dApp creation
64 lines (63 loc) • 3.39 kB
TypeScript
import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from "../../../../../common/tokens";
import { EvmBlockchainName } from "../../../../../core/blockchain/models/blockchain-name";
import { EvmEncodeConfig } from "../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config";
import { ContractParams } from "../../../../common/models/contract-params";
import { SwapTransactionOptions } from "../../../../common/models/swap-transaction-options";
import { SquidrouterTransactionRequest } from "../../../../common/providers/squidrouter/models/transaction-request";
import { EvmCrossChainTrade } from "../common/evm-cross-chain-trade/evm-cross-chain-trade";
import { GasData } from "../common/evm-cross-chain-trade/models/gas-data";
import { FeeInfo } from "../common/models/fee-info";
import { GetContractParamsOptions } from "../common/models/get-contract-params-options";
import { OnChainSubtype } from "../common/models/on-chain-subtype";
import { RubicStep } from "../common/models/rubicStep";
import { TradeInfo } from "../common/models/trade-info";
import { EvmOnChainTrade } from "../../../../on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade";
/**
* Calculated DeBridge cross-chain trade.
*/
export declare class SquidrouterCrossChainTrade extends EvmCrossChainTrade {
/** @internal */
private readonly cryptoFeeToken;
private readonly slippage;
private readonly onChainTrade;
private readonly transactionRequest;
squidrouterRequestId: string | undefined;
/** @internal */
static getGasData(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceTokenAmount<EvmBlockchainName>, transactionRequest: SquidrouterTransactionRequest, feeInfo: FeeInfo, receiverAddress: string, providerAddress: string): Promise<GasData | null>;
readonly type: "squidrouter";
readonly isAggregator = false;
readonly onChainSubtype: OnChainSubtype;
readonly bridgeType: "squidrouter";
readonly from: PriceTokenAmount<EvmBlockchainName>;
readonly to: PriceTokenAmount<EvmBlockchainName>;
readonly toTokenAmountMin: BigNumber;
readonly priceImpact: number | null;
readonly allowanceTarget: string;
readonly gasData: GasData | null;
private get fromBlockchain();
protected get fromContractAddress(): string;
readonly feeInfo: FeeInfo;
protected get methodName(): string;
constructor(crossChainTrade: {
from: PriceTokenAmount<EvmBlockchainName>;
to: PriceTokenAmount<EvmBlockchainName>;
gasData: GasData | null;
priceImpact: number | null;
allowanceTarget: string;
slippage: number;
feeInfo: FeeInfo;
cryptoFeeToken: PriceTokenAmount;
onChainTrade: EvmOnChainTrade | null;
onChainSubtype: OnChainSubtype;
transactionRequest: SquidrouterTransactionRequest;
}, providerAddress: string, routePath: RubicStep[], useProxy: boolean);
protected swapDirect(options?: SwapTransactionOptions): Promise<string | never>;
getContractParams(options: GetContractParamsOptions): Promise<ContractParams>;
getTradeAmountRatio(fromUsd: BigNumber): BigNumber;
getTradeInfo(): TradeInfo;
protected getTransactionConfigAndAmount(receiverAddress: string): Promise<{
config: EvmEncodeConfig;
amount: string;
}>;
}