import AbstractChannelsDatabase from '../AbstractChannelsDatabase'; import * as BigNumber from 'bignumber.js'; import IChannelsDatabase from '../IChannelsDatabase'; import EngineNedb from './EngineNedb'; import ChannelId from '../../ChannelId'; import { PaymentChannel } from '../../PaymentChannel'; /** * Database layer for {PaymentChannel} */ export default class NedbChannelsDatabase extends AbstractChannelsDatabase implements IChannelsDatabase { save(paymentChannel: PaymentChannel): Promise; firstById(channelId: ChannelId | string): Promise; /** * Set amount of money spent on the channel. */ spend(channelId: ChannelId | string, spent: BigNumber.BigNumber): Promise; deposit(channelId: ChannelId | string, value: BigNumber.BigNumber): Promise; /** * Retrieve all the payment channels stored. * * @return {Promise} */ all(): Promise>; allOpen(): Promise; findUsable(sender: string, receiver: string, amount: BigNumber.BigNumber): Promise; findBySenderReceiver(sender: string, receiver: string): Promise>; findBySenderReceiverChannelId(sender: string, receiver: string, channelId: ChannelId | string): Promise; updateState(channelId: ChannelId | string, state: number): Promise; updateSettlingUntil(channelId: ChannelId | string, settlingUntil: BigNumber.BigNumber): Promise; }