raiden-ts
Version:
Raiden Light Client Typescript/Javascript SDK
236 lines (235 loc) • 8.48 kB
TypeScript
import type { Observable } from 'rxjs';
import type { RaidenAction } from '../../actions';
import type { RaidenState } from '../../state';
import type { RaidenEpicDeps } from '../../types';
import { transferClear } from '../actions';
import { Direction } from '../state';
/**
* Re-queue pending transfer's BalanceProof/Envelope messages for retry on init
*
* @param action$ - Observable of RaidenActions
* @param state$ - Observable of RaidenStates
* @returns Observable of transferSigned|transferUnlock.success actions
*/
export declare function initQueuePendingEnvelopeMessagesEpic({}: Observable<RaidenAction>, state$: Observable<RaidenState>): Observable<{
readonly type: "matrix/presence/request";
readonly meta: {
address: import("../../utils/types").Address;
};
} | {
readonly type: "transfer/signed";
readonly payload: {
message: import("../../messages").LockedTransfer & Readonly<{
signature: import("../../utils/types").HexString<65>;
}>;
fee: import("../../utils/types").Int<32>;
partner: import("../../utils/types").Address;
} & {
userId?: string | undefined;
};
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
} | {
readonly type: "transfer/unlock/success";
readonly payload: {
message: import("../../messages").Unlock & Readonly<{
signature: import("../../utils/types").HexString<65>;
}>;
partner: import("../../utils/types").Address;
} & {
userId?: string | undefined;
};
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
} | {
readonly type: "transfer/expire/success";
readonly payload: {
message: import("../../messages").LockExpired & Readonly<{
signature: import("../../utils/types").HexString<65>;
}>;
partner: import("../../utils/types").Address;
};
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
}>;
/**
* Re-queue pending Received transfer's
*
* @param action$ - Observable of RaidenActions
* @param state$ - Observable of RaidenStates
* @param deps - Epics dependencies
* @param deps.config$ - Config observable
* @returns Observable of transferSigned|transferUnlock.success actions
*/
export declare function initQueuePendingReceivedEpic({}: Observable<RaidenAction>, state$: Observable<RaidenState>, { config$ }: RaidenEpicDeps): Observable<{
readonly type: "matrix/presence/request";
readonly meta: {
address: import("../../utils/types").Address;
};
} | {
readonly type: "transfer/signed";
readonly payload: {
message: import("../../messages").LockedTransfer & Readonly<{
signature: import("../../utils/types").HexString<65>;
}>;
fee: import("../../utils/types").Int<32>;
partner: import("../../utils/types").Address;
} & {
userId?: string | undefined;
};
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
} | {
readonly type: "transfer/secret";
readonly payload: {
secret: import("../../utils/types").HexString<32>;
};
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
} | {
readonly type: "transfer/secret/request";
readonly payload: {
message: import("../../messages").SecretRequest & Readonly<{
signature: import("../../utils/types").HexString<65>;
}>;
} & {
userId?: string | undefined;
};
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
} | {
readonly type: "transfer/secret/reveal";
readonly payload: {
message: import("../../messages").SecretReveal & Readonly<{
signature: import("../../utils/types").HexString<65>;
}>;
} & {
userId?: string | undefined;
};
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
}>;
/**
* @param action$ - Observable of unresolved transfer.request actions
* @param state$ - Observable of RaidenStates
* @param deps - Epics dependenceis
* @param deps.config$ - Config observable
* @returns Observable of pathFind.request and resolved transfer.request actions
*/
export declare function transferRequestResolveEpic(action$: Observable<RaidenAction>, {}: Observable<RaidenState>, { config$ }: RaidenEpicDeps): Observable<{
readonly type: "transfer/request";
readonly payload: {
tokenNetwork: import("../../utils/types").Address;
target: import("../../utils/types").Address;
value: import("../../utils/types").UInt<32>;
paymentId: import("../../utils/types").UInt<8>;
} & (({
resolved: false;
} & {
paths?: readonly Readonly<({
route: readonly import("../../utils/types").Address[];
} | {
path: readonly import("../../utils/types").Address[];
}) & ({
fee: import("../../utils/types").Int<32>;
} | {
estimated_fee: import("../../utils/types").Int<32>;
}) & {
address_metadata?: Readonly<{
[x: string]: import("../../services/types").AddressMetadata;
}> | undefined;
}>[] | undefined;
pfs?: Readonly<{
address: import("../../utils/types").Address;
url: string;
matrixServer: string;
rtt: number;
price: import("../../utils/types").UInt<32>;
token: import("../../utils/types").Address;
validTill: number;
}> | null | undefined;
encryptSecret?: boolean | undefined;
}) | ({
resolved: true;
metadata: unknown;
fee: import("../../utils/types").Int<32>;
partner: import("../../utils/types").Address;
} & {
userId?: string | undefined;
})) & {
secret?: import("../../utils/types").HexString<32> | undefined;
initiator?: import("../../utils/types").Address | undefined;
} & ({
expiration?: number | undefined;
} | {
lockTimeout?: number | undefined;
});
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
} | {
readonly type: "transfer/failure";
readonly payload: unknown;
readonly meta: {
secrethash: import("../../utils/types").HexString<32>;
direction: Direction;
};
readonly error: true;
} | {
readonly type: "path/find/request";
readonly payload: {
paths?: readonly Readonly<({
route: readonly import("../../utils/types").Address[];
} | {
path: readonly import("../../utils/types").Address[];
}) & ({
fee: import("../../utils/types").Int<32>;
} | {
estimated_fee: import("../../utils/types").Int<32>;
}) & {
address_metadata?: Readonly<{
[x: string]: import("../../services/types").AddressMetadata;
}> | undefined;
}>[] | undefined;
pfs?: Readonly<{
address: import("../../utils/types").Address;
url: string;
matrixServer: string;
rtt: number;
price: import("../../utils/types").UInt<32>;
token: import("../../utils/types").Address;
validTill: number;
}> | null | undefined;
};
readonly meta: {
tokenNetwork: import("../../utils/types").Address;
target: import("../../utils/types").Address;
value: import("../../utils/types").UInt<32>;
};
}>;
/**
* Clear transfer from state after it's completed and some timeout of inactivity
* It should still get saved (by persister) on database, but is freed from memory.
*
* @param action$ - Observable of RaidenActions
* @param state$ - Observable of RaidenStates
* @param deps - Epics dependencies
* @param deps.config$ - Config observable
* @returns Observable of transferClear actions
*/
export declare function transferClearCompletedEpic(action$: Observable<RaidenAction>, state$: Observable<RaidenState>, { config$ }: RaidenEpicDeps): Observable<transferClear>;