rubic-sdk-next
Version:
Simplify dApp creation
47 lines (46 loc) • 2.34 kB
TypeScript
import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from '../../../../../../common/tokens';
import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
import { EvmWeb3Private } from '../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private';
import { EvmBasicTransactionOptions } from '../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/models/evm-basic-transaction-options';
import { EvmWeb3Public } from '../../../../../../core/blockchain/web3-public-service/web3-public/evm-web3-public/evm-web3-public';
import { EvmEncodeConfig } from '../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config';
import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options';
import { SwapTransactionOptions } from '../../../../../common/models/swap-transaction-options';
import { CrossChainTrade } from '../cross-chain-trade';
import { GasData } from './models/gas-data';
import { TransactionReceipt } from 'web3-eth';
export declare abstract class EvmCrossChainTrade extends CrossChainTrade<EvmEncodeConfig> {
abstract readonly from: PriceTokenAmount<EvmBlockchainName>;
/**
* Gas fee info in source blockchain.
*/
abstract readonly gasData: GasData;
protected get fromWeb3Public(): EvmWeb3Public;
protected get web3Private(): EvmWeb3Private;
/**
* Signature to auth wallet
*/
protected signature: string;
protected get gasLimitRatio(): number;
/**
* Gets gas fee in source blockchain.
*/
get estimatedGas(): BigNumber | null;
/**
* Returns true, if allowance is not enough.
*/
needApprove(): Promise<boolean>;
approve(options: EvmBasicTransactionOptions, checkNeedApprove?: boolean, amount?: BigNumber | 'infinity'): Promise<TransactionReceipt>;
authWallet(): Promise<string>;
/**
*
* @returns txHash(srcTxHash) | never
*/
swap(options?: SwapTransactionOptions): Promise<string | never>;
encode(options: EncodeTransactionOptions): Promise<EvmEncodeConfig>;
protected getTransactionConfigAndAmount(testMode?: boolean, receiverAddress?: string): Promise<{
config: EvmEncodeConfig;
amount: string;
}>;
}