@cryptovarna/tedex-api
Version:
TEDEX API
40 lines (39 loc) • 1.77 kB
TypeScript
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>;
}