raiden-ts
Version:
Raiden Light Client Typescript/Javascript SDK
51 lines (50 loc) • 2.71 kB
TypeScript
import type { Observable } from 'rxjs';
import type { RaidenAction } from '../../actions';
import { messageReceived, messageSend, messageServiceSend } from '../../messages/actions';
import type { RaidenState } from '../../state';
import type { RaidenEpicDeps } from '../../types';
import { matrixPresence } from '../actions';
/**
* Handles a [[messageSend.request]] action and send its message to peer through rtcChannel or
* toDevice
*
* @param action$ - Observable of messageSend.request actions
* @param state$ - Observable of RaidenStates
* @param deps - RaidenEpicDeps members
* @returns Observable of messageSend.success | messageSend.failure actions
*/
export declare function matrixMessageSendEpic(action$: Observable<RaidenAction>, {}: Observable<RaidenState>, deps: RaidenEpicDeps): Observable<messageSend.success | messageSend.failure | matrixPresence.request>;
/**
* Handles a [[messageServiceSend.request]] action and send one-shot message to a service
*
* @param action$ - Observable of messageServiceSend actions
* @param state$ - Observable of RaidenStates
* @param deps - Epics dependencies
* @returns Observable of messageServiceSend.success|failure actions
*/
export declare function matrixMessageServiceSendEpic(action$: Observable<RaidenAction>, {}: Observable<RaidenState>, deps: RaidenEpicDeps): Observable<messageServiceSend.success | messageServiceSend.failure>;
/**
* Subscribe to matrix messages and emits MessageReceivedAction upon receiving a valid message from
* an user of interest (one valid signature from an address we monitor) in a room we have for them
*
* @param action$ - Observable of RaidenActions
* @param state$ - Observable of RaidenStates
* @param deps - RaidenEpicDeps members
* @param deps.log - Logger instance
* @param deps.matrix$ - MatrixClient async subject
* @param deps.config$ - Config observable
* @param deps.latest$ - Latest values
* @returns Observable of messageReceived|matrixPresence.request actions
*/
export declare function matrixMessageReceivedEpic(action$: Observable<RaidenAction>, {}: Observable<RaidenState>, { log, matrix$, config$, latest$ }: RaidenEpicDeps): Observable<messageReceived | matrixPresence.request>;
/**
* Sends Delivered for specific messages
*
* @param action$ - Observable of messageReceived actions
* @param state$ - Observable of RaidenStates
* @param deps - RaidenEpicDeps members
* @param deps.log - Logger instance
* @param deps.signer - Signer instance
* @returns Observable of messageSend.request actions
*/
export declare function deliveredEpic(action$: Observable<RaidenAction>, {}: Observable<RaidenState>, { log, signer }: RaidenEpicDeps): Observable<messageSend.request>;