raiden-ts
Version:
Raiden Light Client Typescript/Javascript SDK
43 lines (42 loc) • 1.75 kB
TypeScript
import type { Observable } from 'rxjs';
import type { RaidenState } from '../../state';
import type { matrixPresence } from '../../transport/actions';
import type { Latest, RaidenEpicDeps } from '../../types';
import { Signed } from '../../utils/types';
import { iouClear, iouPersist, pathFind } from '../actions';
import type { Paths } from '../types';
import { IOU, PfsError } from '../types';
declare type RouteResult = {
iou: Signed<IOU> | undefined;
} & ({
paths: Paths;
} | {
error: PfsError;
});
/**
* Returns a ISO string with millisecond resolution (same as PC)
*
* @param time - Date instance
* @returns string representing time in the format expected by PFS
*/
export declare function makeTimestamp(time?: Date): string;
/**
* @param action - pfs request action
* @param deps - Epics dependencies
* @param latest - Latest object
* @param latest.state - Latest state
* @param latest.config - Latest config
* @param targetPresence - Current presence of target
* @returns Observable containing paths, new iou or error
*/
export declare function getRoute$(action: pathFind.request, deps: RaidenEpicDeps, { state, config }: Pick<Latest, 'state' | 'config'>, targetPresence: matrixPresence.success): Observable<RouteResult>;
/**
* @param opts - validation options
* @param opts."0" - pfs request action
* @param opts."1" - Received route to validate
* @param state - Latest RaidenState
* @param deps - Epics dependencies
* @returns Observable of results actions after route is validated
*/
export declare function validateRoute$([action, route]: readonly [action: pathFind.request, route: RouteResult], state: RaidenState, deps: RaidenEpicDeps): Observable<pathFind.success | iouPersist | iouClear>;
export {};