UNPKG

rubic-sdk-next

Version:
43 lines (42 loc) 2.91 kB
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>; }