UNPKG

machinomy

Version:

Micropayments powered by Ethereum

59 lines (58 loc) 1.91 kB
import Payment from './payment'; import { BigNumber } from 'bignumber.js'; import Serde from './Serde'; export interface PaymentChannelJSON { sender: string; receiver: string; channelId: string; value: BigNumber; spent: BigNumber; state: number; tokenContract: string; settlementPeriod: number; settlingUntil: BigNumber; } export interface SerializedPaymentChannel { state: number; spent: string; value: string; channelId: string; receiver: string; sender: string; tokenContract?: string; settlementPeriod: number; settlingUntil: string; } /** * The Payment Channel */ export declare class PaymentChannel { sender: string; receiver: string; channelId: string; value: BigNumber; spent: BigNumber; state: number; tokenContract: string; settlementPeriod: number; settlingUntil: BigNumber; /** * @param sender Ethereum address of the client. * @param receiver Ethereum address of the server. * @param channelId Identifier of the channel. * @param value Total value of the channel. * @param spent Value sent by {sender} to {receiver}. * @param state 0 - 'open', 1 - 'settling', 2 - 'settled' * @param tokenContract * @param settlementPeriod * @param settlingUntil */ constructor(sender: string, receiver: string, channelId: string, value: BigNumber, spent: BigNumber, state?: number, tokenContract?: string, settlementPeriod?: number, settlingUntil?: BigNumber); static fromPayment(payment: Payment): PaymentChannel; static fromDocument(document: PaymentChannelJSON): PaymentChannel; } export declare class PaymentChannelSerde implements Serde<PaymentChannel> { static instance: PaymentChannelSerde; serialize(obj: PaymentChannel): SerializedPaymentChannel; deserialize(data: any): PaymentChannel; }