UNPKG

@cryptovarna/tedex-api

Version:

TEDEX API

40 lines (39 loc) 1.77 kB
import { IEventFilter, IEventInfo, INodeInfo, IToken, IWalletProvider, WalletConsumer } from "@cryptovarna/tron-web-api"; import { IBridge } from "../bridge/Bridge"; import { ITokenBridgeTask, TokensBridged } from "../tasks/Task"; export interface ITokenBridgeConfiguration { token: IToken; bridge: string; currentNetwork: INodeInfo; networks: string[]; correspondents: string[]; } export declare abstract class TokenBridge extends WalletConsumer { protected _configuration: ITokenBridgeConfiguration; protected _dayLimit: { dailySwapped: number; dayLimit: number; }; protected _contract: string; constructor(provider: IWalletProvider, contract: string); abstract getConfiguration(): Promise<ITokenBridgeConfiguration>; abstract getDailyLimit(): Promise<{ dailySwapped: number; dayLimit: number; }>; getToken(): Promise<IToken>; getContractAddress(): string; abstract createMoveInTask(targetNetwork: string, recipient: string, amount: number | string): Promise<ITokenBridgeTask>; getBridge(): Promise<IBridge>; protected _createTokenBridgeTask(provider: IWalletProvider, taskId: string, destinationNode: INodeInfo): Promise<ITokenBridgeTask>; protected _checkExecutedTasks(tasks: IEventInfo<TokensBridged>[], providers: IWalletProvider[]): Promise<string[]>; private _executedTasksTron; private _executedTasksEvmLegacy; private _executedTasksEvmApi; abstract listAllPendingTasks(providers: IWalletProvider[], filter?: IEventFilter<TokensBridged>): Promise<{ tasks: ITokenBridgeTask[]; timestamp: number; oldestTimestamp: number; }>; abstract getTax(): Promise<number>; }