rubic-sdk-next
Version:
Simplify dApp creation
43 lines (42 loc) • 2.91 kB
TypeScript
import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from '../../../../../../common/tokens';
import { BitcoinBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
import { BitcoinWeb3Private } from '../../../../../../core/blockchain/web3-private-service/web3-private/bitcoin-web3-private/bitcoin-web3-private';
import { BitcoinPsbtEncodedConfig } from '../../../../../../core/blockchain/web3-private-service/web3-private/bitcoin-web3-private/models/bitcoin-psbt-encoded-config';
import { BitcoinTransferEncodedConfig } from '../../../../../../core/blockchain/web3-private-service/web3-private/bitcoin-web3-private/models/bitcoin-transfer-encoded-config';
import { EvmBasicTransactionOptions } from '../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/models/evm-basic-transaction-options';
import { EvmTransactionOptions } from '../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/models/evm-transaction-options';
import { BitcoinWeb3Public } from '../../../../../../core/blockchain/web3-public-service/web3-public/bitcoin-web3-public/bitcoin-web3-public';
import { ContractParams } from '../../../../../common/models/contract-params';
import { SwapTransactionOptions } from '../../../../../common/models/swap-transaction-options';
import { CrossChainTrade } from '../cross-chain-trade';
import { TransactionConfig } from 'web3-core';
import { TransactionReceipt } from 'web3-eth';
export declare abstract class BitcoinCrossChainTrade extends CrossChainTrade<BitcoinTransferEncodedConfig | BitcoinPsbtEncodedConfig> {
abstract readonly from: PriceTokenAmount<BitcoinBlockchainName>;
abstract readonly memo: string;
protected get fromWeb3Public(): BitcoinWeb3Public;
protected get web3Private(): BitcoinWeb3Private;
protected abstract needProvidePubKey: boolean;
/**
* Gets gas fee in source blockchain.
*/
get estimatedGas(): BigNumber | null;
approve(_options: EvmBasicTransactionOptions, _checkNeedApprove?: boolean, _amount?: BigNumber | 'infinity'): Promise<TransactionReceipt>;
protected checkAllowanceAndApprove(): Promise<void>;
/**
*
* @returns txHash(srcTxHash) | never
*/
swap(options?: SwapTransactionOptions): Promise<string | never>;
encode(): Promise<TransactionConfig>;
encodeApprove(_tokenAddress: string, _spenderAddress: string, _value: BigNumber | 'infinity', _options?: EvmTransactionOptions): Promise<TransactionConfig>;
protected getContractParams(): Promise<ContractParams>;
getUsdPrice(providerFeeToken?: BigNumber): BigNumber;
protected getTransactionConfigAndAmount(testMode?: boolean, receiverAddress?: string): Promise<{
config: BitcoinTransferEncodedConfig | BitcoinPsbtEncodedConfig;
amount: string;
}>;
private isPsbtConfig;
authWallet(): Promise<string>;
}