butterjs-sdk
Version:
Butter Network SDK
56 lines (55 loc) • 3.49 kB
TypeScript
import { TransactionOptions } from '../../types/requestTypes';
import { IMapOmnichainService } from '../interfaces/IMapOmnichainService';
import { ButterTransactionResponse } from '../../types/responseTypes';
import { FinalExecutionOutcome } from 'near-api-js/lib/providers';
import { NearProviderType } from '../../types/paramTypes';
export declare class NearOmnichainService implements IMapOmnichainService {
provider: NearProviderType;
/**
* we treat account as class member cuz to initialize a near account, async is required
* @param provider
*/
constructor(provider: NearProviderType);
/**
* 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 see {@link TransactionOptions} for more detail
*/
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 see {@link TransactionOptions} for more detail
*/
doTransferOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string, options: TransactionOptions): Promise<ButterTransactionResponse>;
doSwapOutToken(fromAddress: string, tokenAddress: string, amount: string, toAddress: string, toChainId: string, msg: string, options: TransactionOptions): Promise<ButterTransactionResponse>;
doSwapOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string, swapInfo: string, options: TransactionOptions): Promise<ButterTransactionResponse>;
/**
* add tochain to allowed transfer out chains.
* @param toChainId
*/
addNativeToChain(toChainId: string): Promise<FinalExecutionOutcome | undefined>;
addTokenToChain(tokenAddress: string, toChainId: number): Promise<FinalExecutionOutcome | undefined>;
/**
* call near smart contract
* @param account
* @param options
* @private
*/
private _doNearFunctionCall;
private _doNearViewFunctionCall;
doDepositOutToken(tokenAddress: string, from: string, to: string, amount: string, options?: TransactionOptions): Promise<string>;
gasEstimateTransferOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string, options?: TransactionOptions): Promise<string>;
gasEstimateTransferOutToken(fromAddress: string, tokenAddress: string, amount: string, toAddress: string, toChainId: string, options?: TransactionOptions): Promise<string>;
gasEstimateSwapOutNative(fromAddress: string, toAddress: string, toChainId: string, amount: string, swapData: string, options?: TransactionOptions): Promise<string>;
gasEstimateSwapOutToken(fromAddress: string, tokenAddress: string, toAddress: string, toChainId: string, amount: string, swapData: string, options?: TransactionOptions): Promise<string>;
private _checkMintable;
addFungibleTokenToChain(tokenAddress: string, toChainId: string): Promise<void>;
}