UNPKG

@moosty/lisk-htlc

Version:

Hashed Time Lock Contract transaction for Lisk SDK based blockchain applications

84 lines (83 loc) 2.52 kB
import { Account } from '@liskhq/lisk-transactions'; export interface HTLCConfig { fee?: string; } export interface ContractAsset { readonly recipientPublicKey: string; readonly senderPublicKey: string; readonly amount: string; readonly time: number; readonly hash: string; readonly type: string; readonly length: number; readonly key?: string; readonly timedOut?: boolean; } export interface Contract extends Account { readonly asset: ContractAsset; } export interface HTLCLockAsset { readonly contractId: string; readonly recipientPublicKey: string; readonly amount: bigint; readonly type: string; readonly time: number; readonly data: string; readonly secretLength: number; } export interface HTLCUnlockAsset { readonly contractId: string; readonly secret: string; } export interface HTLCRefundAsset { readonly contractId: string; readonly data: string; } export interface HTLCLockTransaction { readonly asset: HTLCLockAsset; readonly id: string; readonly blockId?: string; readonly height?: number; readonly confirmations?: number; readonly senderPublicKey: string; readonly signature?: string; readonly signatures?: ReadonlyArray<string>; readonly signSignature?: string; readonly timestamp: number; readonly type: number; readonly receivedAt?: string; readonly senderId?: string; readonly networkIdentifier?: string; } export interface HTLCUnlockTransaction { readonly asset: HTLCUnlockAsset; readonly id: string; readonly blockId?: string; readonly height?: number; readonly confirmations?: number; readonly senderPublicKey: string; readonly signature?: string; readonly signatures?: ReadonlyArray<string>; readonly signSignature?: string; readonly timestamp: number; readonly type: number; readonly receivedAt?: string; readonly senderId?: string; readonly networkIdentifier?: string; } export interface HTLCRefundTransaction { readonly asset: HTLCRefundAsset; readonly id: string; readonly blockId?: string; readonly height?: number; readonly confirmations?: number; readonly senderPublicKey: string; readonly signature?: string; readonly signatures?: ReadonlyArray<string>; readonly signSignature?: string; readonly timestamp: number; readonly type: number; readonly receivedAt?: string; readonly senderId?: string; readonly networkIdentifier?: string; }