UNPKG

raiden-ts

Version:

Raiden Light Client Typescript/Javascript SDK

704 lines (703 loc) 20.8 kB
import * as t from 'io-ts'; import { WithdrawConfirmation, WithdrawRequest } from '../messages'; import type { ActionType } from '../utils/actions'; import { Address, UInt } from '../utils/types'; export declare const newBlock: ((payload: { blockNumber: number; }) => { readonly type: "block/new"; readonly payload: { blockNumber: number; }; }) & { type: "block/new"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "block/new"; readonly payload: { blockNumber: number; }; }; error: undefined; }; export interface newBlock extends ActionType<typeof newBlock> { } export declare const blockTime: ((payload: { blockTime: number; }) => { readonly type: "block/time"; readonly payload: { blockTime: number; }; }) & { type: "block/time"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "block/time"; readonly payload: { blockTime: number; }; }; error: undefined; }; export interface blockTime extends ActionType<typeof blockTime> { } export declare const blockStale: ((payload: { stale: boolean; }) => { readonly type: "block/stale"; readonly payload: { stale: boolean; }; }) & { type: "block/stale"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "block/stale"; readonly payload: { stale: boolean; }; }; error: undefined; }; export interface blockStale extends ActionType<typeof blockStale> { } export declare const contractSettleTimeout: ((payload: number) => { readonly type: "contract/settleTimeout"; readonly payload: number; }) & { type: "contract/settleTimeout"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "contract/settleTimeout"; readonly payload: number; }; error: undefined; }; export interface contractSettleTimeout extends ActionType<typeof contractSettleTimeout> { } /** * A new token network is detected in the TokenNetworkRegistry instance * fromBlock is only set on the first time, to fetch and handle past events */ export declare const tokenMonitored: ((payload: { token: Address; tokenNetwork: Address; } & { fromBlock?: number | undefined; toBlock?: number | undefined; }) => { readonly type: "token/monitored"; readonly payload: { token: Address; tokenNetwork: Address; } & { fromBlock?: number | undefined; toBlock?: number | undefined; }; }) & { type: "token/monitored"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "token/monitored"; readonly payload: { token: Address; tokenNetwork: Address; } & { fromBlock?: number | undefined; toBlock?: number | undefined; }; }; error: undefined; }; export interface tokenMonitored extends ActionType<typeof tokenMonitored> { } /** * Channel actions receive ChannelId as 'meta' action property * This way, 'meta' can be used equally for request, success and error actions */ export declare const channelOpen: { readonly request: ((payload: { deposit?: UInt<32> | undefined; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/open/request"; readonly payload: { deposit?: UInt<32> | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/open/request"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/open/request"; readonly payload: { deposit?: UInt<32> | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly success: ((payload: { id: number; token: Address; isFirstParticipant: boolean; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/open/success"; readonly payload: { id: number; token: Address; isFirstParticipant: boolean; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/open/success"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/open/success"; readonly payload: { id: number; token: Address; isFirstParticipant: boolean; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly failure: ((payload: unknown, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/open/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }) & { type: "channel/open/failure"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/open/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }; error: true; }; }; export declare namespace channelOpen { interface request extends ActionType<typeof channelOpen.request> { } interface success extends ActionType<typeof channelOpen.success> { } interface failure extends ActionType<typeof channelOpen.failure> { } } export declare const channelMonitored: ((payload: { id: number; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/monitored"; readonly payload: { id: number; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/monitored"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/monitored"; readonly payload: { id: number; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; export interface channelMonitored extends ActionType<typeof channelMonitored> { } export declare const channelDeposit: { readonly request: ((payload: ({ deposit: UInt<32>; } | { totalDeposit: UInt<32>; }) & { waitOpen?: true | undefined; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/deposit/request"; readonly payload: ({ deposit: UInt<32>; } | { totalDeposit: UInt<32>; }) & { waitOpen?: true | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/deposit/request"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/deposit/request"; readonly payload: ({ deposit: UInt<32>; } | { totalDeposit: UInt<32>; }) & { waitOpen?: true | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly success: ((payload: { id: number; participant: Address; totalDeposit: UInt<32>; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/deposit/success"; readonly payload: { id: number; participant: Address; totalDeposit: UInt<32>; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/deposit/success"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/deposit/success"; readonly payload: { id: number; participant: Address; totalDeposit: UInt<32>; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly failure: ((payload: unknown, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/deposit/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }) & { type: "channel/deposit/failure"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/deposit/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }; error: true; }; }; export declare namespace channelDeposit { interface request extends ActionType<typeof channelDeposit.request> { } interface success extends ActionType<typeof channelDeposit.success> { } interface failure extends ActionType<typeof channelDeposit.failure> { } } export declare const channelWithdrawn: ((payload: { id: number; participant: Address; totalWithdraw: UInt<32>; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/withdraw/success"; readonly payload: { id: number; participant: Address; totalWithdraw: UInt<32>; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/withdraw/success"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/withdraw/success"; readonly payload: { id: number; participant: Address; totalWithdraw: UInt<32>; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; export interface channelWithdrawn extends ActionType<typeof channelWithdrawn> { } export declare const channelClose: { readonly request: ((payload: undefined, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/close/request"; readonly payload: undefined; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/close/request"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/close/request"; readonly payload: undefined; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly success: ((payload: { id: number; participant: Address; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/close/success"; readonly payload: { id: number; participant: Address; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/close/success"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/close/success"; readonly payload: { id: number; participant: Address; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly failure: ((payload: unknown, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/close/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }) & { type: "channel/close/failure"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/close/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }; error: true; }; }; export declare namespace channelClose { interface request extends ActionType<typeof channelClose.request> { } interface success extends ActionType<typeof channelClose.success> { } interface failure extends ActionType<typeof channelClose.failure> { } } export declare const channelSettleable: ((payload: { settleableBlock: number; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/settleable"; readonly payload: { settleableBlock: number; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/settleable"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/settleable"; readonly payload: { settleableBlock: number; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; export interface channelSettleable extends ActionType<typeof channelSettleable> { } export declare const channelSettle: { readonly request: ((payload: { coopSettle: [[WithdrawRequest & Readonly<{ signature: import("../utils/types").HexString<65>; }>, WithdrawConfirmation & Readonly<{ signature: import("../utils/types").HexString<65>; }>], [WithdrawRequest & Readonly<{ signature: import("../utils/types").HexString<65>; }>, WithdrawConfirmation & Readonly<{ signature: import("../utils/types").HexString<65>; }>]]; } | undefined, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/settle/request"; readonly payload: { coopSettle: [[WithdrawRequest & Readonly<{ signature: import("../utils/types").HexString<65>; }>, WithdrawConfirmation & Readonly<{ signature: import("../utils/types").HexString<65>; }>], [WithdrawRequest & Readonly<{ signature: import("../utils/types").HexString<65>; }>, WithdrawConfirmation & Readonly<{ signature: import("../utils/types").HexString<65>; }>]]; } | undefined; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/settle/request"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/settle/request"; readonly payload: { coopSettle: [[WithdrawRequest & Readonly<{ signature: import("../utils/types").HexString<65>; }>, WithdrawConfirmation & Readonly<{ signature: import("../utils/types").HexString<65>; }>], [WithdrawRequest & Readonly<{ signature: import("../utils/types").HexString<65>; }>, WithdrawConfirmation & Readonly<{ signature: import("../utils/types").HexString<65>; }>]]; } | undefined; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly success: ((payload: { id: number; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; } & { locks?: readonly ({ amount: UInt<32>; expiration: UInt<32>; secrethash: import("../utils/types").HexString<32>; } & { registered?: true | undefined; })[] | undefined; }, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/settle/success"; readonly payload: { id: number; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; } & { locks?: readonly ({ amount: UInt<32>; expiration: UInt<32>; secrethash: import("../utils/types").HexString<32>; } & { registered?: true | undefined; })[] | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }) & { type: "channel/settle/success"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/settle/success"; readonly payload: { id: number; txHash: import("../utils/types").HexString<32>; txBlock: number; confirmed: boolean | undefined; } & { locks?: readonly ({ amount: UInt<32>; expiration: UInt<32>; secrethash: import("../utils/types").HexString<32>; } & { registered?: true | undefined; })[] | undefined; }; readonly meta: { tokenNetwork: Address; partner: Address; }; }; error: undefined; }; readonly failure: ((payload: unknown, meta: { tokenNetwork: Address; partner: Address; }) => { readonly type: "channel/settle/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }) & { type: "channel/settle/failure"; codec: t.Mixed; is: (a: unknown) => a is { readonly type: "channel/settle/failure"; readonly payload: unknown; readonly meta: { tokenNetwork: Address; partner: Address; }; readonly error: true; }; error: true; }; }; export declare namespace channelSettle { interface request extends ActionType<typeof channelSettle.request> { } interface success extends ActionType<typeof channelSettle.success> { } interface failure extends ActionType<typeof channelSettle.failure> { } }