raiden-ts
Version:
Raiden Light Client Typescript/Javascript SDK
32 lines (31 loc) • 1.73 kB
TypeScript
import type { Observable } from 'rxjs';
import type { RaidenAction } from '../../actions';
import { channelSettle } from '../../channels/actions';
import type { RaidenState } from '../../state';
import type { RaidenEpicDeps } from '../../types';
import { withdraw, withdrawBusy } from '../actions';
/**
* Upon valid [[WithdrawConfirmation]] for a [[WithdrawRequest]].coop_settle=true from partner,
* also send a [[WithdrawRequest]] with whole balance
*
* @param action$ - Observable of withdrawMessage.success actions
* @param state$ - Observable of RaidenStates
* @param deps - Epics dependencies
* @param deps.log - Logger instance
* @param deps.getTokenNetworkContract - TokenNetwork contract getter
* @returns Observable of withdraw.request(coop_settle=false) actions
*/
export declare function coopSettleWithdrawReplyEpic(action$: Observable<RaidenAction>, state$: Observable<RaidenState>, { log, getTokenNetworkContract }: RaidenEpicDeps): Observable<withdraw.request>;
/**
* When both valid [[WithdrawConfirmation]] for a [[WithdrawRequest]].coop_settle=true from us,
* send a channelSettle.request
*
* @param action$ - Observable of withdrawMessage.success actions
* @param state$ - Observable of RaidenStates
* @param deps - Epics dependencies
* @param deps.latest$ - Latest observable
* @param deps.config$ - Config observable
* @param deps.log - Logger instance
* @returns Observable of channelSettle.request|withdraw.failure|success|withdrawBusy actions
*/
export declare function coopSettleEpic(action$: Observable<RaidenAction>, {}: Observable<RaidenState>, { latest$, config$, log }: RaidenEpicDeps): Observable<channelSettle.request | withdraw.failure | withdraw.success | withdrawBusy>;