@nimiq/libswap
Version:
Typed Javascript library to handle atomic swaps.
22 lines (21 loc) • 1.15 kB
TypeScript
import { Htlc as OasisHtlc, HtlcStatus } from '@nimiq/oasis-api';
import { AssetAdapter, SwapAsset } from './IAssetAdapter';
export type HtlcDetails = OasisHtlc;
export interface OasisClient {
getHtlc(id: string): Promise<HtlcDetails>;
settleHtlc(id: string, secret: string, settlementJWS: string, authorizationToken?: string): Promise<HtlcDetails>;
}
export declare class EuroAssetAdapter implements AssetAdapter<SwapAsset.EUR> {
client: OasisClient;
private cancelCallback;
private stopped;
constructor(client: OasisClient);
private findTransaction;
awaitHtlcFunding(id: string, value: number, data?: string, confirmations?: number, onUpdate?: (htlc: HtlcDetails) => any): Promise<HtlcDetails>;
fundHtlc(): Promise<HtlcDetails>;
awaitHtlcSettlement(id: string): Promise<OasisHtlc<HtlcStatus.SETTLED>>;
awaitSwapSecret(id: string): Promise<string>;
settleHtlc(settlementJWS: string, secret: string, hash: string, authorizationToken?: string): Promise<HtlcDetails>;
awaitSettlementConfirmation(id: string, onUpdate?: (tx: HtlcDetails) => any): Promise<HtlcDetails>;
stop(reason: Error): void;
}