UNPKG

@nimiq/libswap

Version:

Typed Javascript library to handle atomic swaps.

26 lines (25 loc) 1.67 kB
import { AssetAdapter, SwapAsset } from './IAssetAdapter'; export type TransactionDetails = import('@nimiq/core').PlainTransactionDetails; export type ConsensusState = import('@nimiq/core').ConsensusState; export interface NimiqClient { addTransactionListener(listener: (tx: TransactionDetails) => any, addresses: string[]): number | Promise<number>; getTransactionsByAddress(address: string, sinceBlockHeight?: number, knownTransactions?: TransactionDetails[]): Promise<TransactionDetails[]>; removeListener(handle: number): Promise<void>; sendTransaction(tx: TransactionDetails | string): Promise<TransactionDetails>; addConsensusChangedListener(listener: (consensusState: ConsensusState) => any): Promise<number>; } export declare class NimiqAssetAdapter implements AssetAdapter<SwapAsset.NIM> { client: NimiqClient; private cancelCallback; private stopped; constructor(client: NimiqClient); private findTransaction; awaitHtlcFunding(address: string, value: number, data: string, confirmations?: number, onPending?: (tx: TransactionDetails) => any): Promise<TransactionDetails>; fundHtlc(serializedTx: string, onPending?: (tx: TransactionDetails) => any, serializedProxyTx?: string): Promise<TransactionDetails>; awaitHtlcSettlement(address: string): Promise<TransactionDetails>; awaitSwapSecret(address: string): Promise<string>; settleHtlc(serializedTx: string, secret: string, hash: string): Promise<TransactionDetails>; awaitSettlementConfirmation(address: string, onUpdate?: (tx: TransactionDetails) => any): Promise<TransactionDetails>; stop(reason: Error): void; private sendTransaction; }