@moosty/lisk-htlc
Version:
Hashed Time Lock Contract transaction for Lisk SDK based blockchain applications
84 lines (83 loc) • 2.52 kB
TypeScript
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;
}