UNPKG

raiden-ts

Version:

Raiden Light Client Typescript/Javascript SDK

30 lines (29 loc) 1.68 kB
import type { Observable } from 'rxjs'; import type { RaidenAction } from '../../actions'; import type { RaidenState } from '../../state'; import type { RaidenEpicDeps } from '../../types'; import { channelDeposit } from '../actions'; /** * A channelDeposit action requested by user or by channelOpenEpic * Needs to be called on a previously monitored channel. Calls Token.approve for TokenNetwork * and then set respective setTotalDeposit. If all tx go through successfuly, stop as * channelDeposit.success action will instead be detected and reacted by channelEventsEpic. * If anything detectable goes wrong, fires channelDeposit.failure instead * Fails immediately if channel doesn't exist or isn't open, unless payload.waitOpen is true, in * which case 'approve' in paralle and wait for confirmed channelOpen.success to 'setTotalDeposit' * * @param action$ - Observable of channelDeposit.request|channelOpen.failure actions * @param state$ - Observable of RaidenStates * @param deps - RaidenEpicDeps members * @param deps.log - Logger instance * @param deps.signer - Signer instance * @param deps.address - Our address * @param deps.main - Main signer/address * @param deps.getTokenContract - Token contract instance getter * @param deps.getTokenNetworkContract - TokenNetwork contract instance getter * @param deps.provider - Eth provider * @param deps.config$ - Config observable * @param deps.latest$ - Latest observable * @returns Observable of channelDeposit.failure actions */ export declare function channelDepositEpic(action$: Observable<RaidenAction>, {}: Observable<RaidenState>, deps: RaidenEpicDeps): Observable<channelDeposit.failure>;