UNPKG

butterjs-sdk

Version:
78 lines (77 loc) 4.2 kB
import { Contract as EthersContract } from 'ethers'; import { Contract as Web3Contract } from 'web3-eth-contract'; import { IMapOmnichainService } from '../interfaces/IMapOmnichainService'; import { ButterTransactionResponse } from '../../types/responseTypes'; import { TransactionOptions } from '../../types'; import { ButterProviderType } from '../../types/paramTypes'; export declare class RelayOmnichainService implements IMapOmnichainService { contract: EthersContract | Web3Contract; provider: ButterProviderType; constructor(contractAddress: string, abi: any, signerOrProvider: ButterProviderType); /** * transfer out token(not native coin) from source chain to designated token on target chain * @param fromAddress * @param tokenAddress input token address * @param amount amount in minimal unit * @param toAddress target chain receiving address * @param toChainId target chain id * @param options */ doTransferOutToken(fromAddress: string, tokenAddress: string, amount: string, toAddress: string, toChainId: string, options: TransactionOptions): Promise<ButterTransactionResponse>; /** * transfer out native coin from source chain to designated token on target chain * @param fromAddress * @param toAddress target chain receiving address * @param toChainId target chain id * @param amount amount to bridge in minimal unit * @param options */ doTransferOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string, options: TransactionOptions): Promise<ButterTransactionResponse>; /** * transfer out token(not native coin) from source chain to designated token on target chain * @param fromAddress * @param tokenAddress input token address * @param amount amount in minimal unit * @param toAddress target chain receiving address * @param toChainId target chain id * @param swapData * @param options */ doSwapOutToken(fromAddress: string, tokenAddress: string, amount: string, toAddress: string, toChainId: string, swapData: string, options: TransactionOptions): Promise<ButterTransactionResponse>; /** * transfer out native coin from source chain to designated token on target chain * @param fromAddress * @param toAddress target chain receiving address * @param toChainId target chain id * @param amount amount to bridge in minimal unit * @param swapData * @param options */ doSwapOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string, swapData: string, options: TransactionOptions): Promise<ButterTransactionResponse>; gasEstimateTransferOutToken(fromAddress: string, tokenAddress: string, amount: string, toAddress: string, toChainId: string): Promise<string>; gasEstimateTransferOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string): Promise<string>; gasEstimateSwapOutToken(fromAddress: string, tokenAddress: string, amount: string, toAddress: string, toChainId: string, swapData: string): Promise<string>; gasEstimateSwapOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string, swapData: string): Promise<string>; doDepositOutToken(tokenAddress: string, from: string, to: string, amount: string): Promise<string>; /** * set id table * @param chainId * @param id */ /** * specify token decimal for the convertion of different token on different chain * @param selfTokenAddress * @param chainId * @param decimals */ doSetTokenOtherChainDecimals(selfTokenAddress: string, chainId: string, decimals: number): Promise<string>; doAddAuthToken(tokens: string[]): Promise<string>; /** * set accepted bridge address * @param chainId chain id of the bridge address is residing on * @param bridgeAddress bridge address */ doSetBridgeAddress(chainId: string, bridgeAddress: string): Promise<string>; setVaultBalance(toChain: number, address: string, amount: string): Promise<string>; getVaultBalance(toChainId: number, tokenAddress: string): Promise<string>; }