raiden-ts
Version:
Raiden Light Client Typescript/Javascript SDK
36 lines (35 loc) • 1.5 kB
TypeScript
/// <reference types="pouchdb-core" />
/// <reference types="pouchdb-find" />
/// <reference types="pouchdb-mapreduce" />
/// <reference types="pouchdb-replication" />
import type logging from 'loglevel';
import type { BehaviorSubject } from 'rxjs';
import type { TransferState } from '../transfers/state';
import type { Address, Decodable } from '../utils/types';
export interface TransferStateish extends Decodable<TransferState> {
_rev: string;
}
export declare type Migrations = {
readonly [version: number]: (doc: PouchDB.Core.IdMeta & PouchDB.Core.RevisionIdMeta, db: RaidenDatabase) => Promise<(PouchDB.Core.IdMeta & Partial<PouchDB.Core.RevisionIdMeta>)[]>;
};
export interface RaidenDatabaseMeta {
_id: '_meta';
version: number;
network: number;
udc: Address;
address: Address;
blockNumber: number;
}
export declare type RaidenDatabaseOptions = {
log?: logging.Logger;
versionchanged?: boolean;
} & (PouchDB.Configuration.LocalDatabaseConfiguration | PouchDB.Configuration.RemoteDatabaseConfiguration);
export interface RaidenDatabase extends PouchDB.Database {
storageKeys: Set<string>;
busy$: BehaviorSubject<boolean>;
constructor: RaidenDatabaseConstructor;
__opts: RaidenDatabaseOptions;
}
export declare type RaidenDatabaseConstructor = (new (name?: string, options?: PouchDB.Configuration.LocalDatabaseConfiguration | PouchDB.Configuration.RemoteDatabaseConfiguration) => RaidenDatabase) & {
__defaults: RaidenDatabaseOptions;
};