machinomy
Version:
Micropayments powered by Ethereum
19 lines (18 loc) • 1.26 kB
TypeScript
import ChannelId from '../../ChannelId';
import * as BigNumber from 'bignumber.js';
import { PaymentChannel } from '../../PaymentChannel';
import EngineSqlite from './EngineSqlite';
import AbstractChannelsDatabase from '../AbstractChannelsDatabase';
export default class SqliteChannelsDatabase extends AbstractChannelsDatabase<EngineSqlite> {
save(paymentChannel: PaymentChannel): Promise<void>;
firstById(channelId: ChannelId | string): Promise<PaymentChannel | null>;
spend(channelId: ChannelId | string, spent: BigNumber.BigNumber): Promise<void>;
deposit(channelId: ChannelId | string, value: BigNumber.BigNumber): Promise<void>;
all(): Promise<Array<PaymentChannel>>;
allOpen(): Promise<Array<PaymentChannel>>;
findUsable(sender: string, receiver: string, amount: BigNumber.BigNumber): Promise<PaymentChannel | null>;
findBySenderReceiver(sender: string, receiver: string): Promise<Array<PaymentChannel>>;
findBySenderReceiverChannelId(sender: string, receiver: string, channelId: ChannelId | string): Promise<PaymentChannel | null>;
updateState(channelId: ChannelId | string, state: number): Promise<void>;
updateSettlingUntil(channelId: ChannelId | string, settlingUntil: BigNumber.BigNumber): Promise<void>;
}