@atomiqlabs/sdk-lib
Version:
Basic SDK functionality library for atomiq
25 lines (24 loc) • 1.24 kB
TypeScript
import { IBitcoinWallet } from "../btc/wallet/IBitcoinWallet";
import { BtcToken, TokenAmount } from "../Tokens";
import { Transaction } from "@scure/btc-signer";
export interface IBTCWalletSwap {
getFundedPsbt(_bitcoinWallet: IBitcoinWallet | {
address: string;
publicKey: string;
}, feeRate?: number): Promise<{
psbt: Transaction;
signInputs: number[];
}>;
submitPsbt(psbt: Transaction): Promise<string>;
estimateBitcoinFee(wallet: IBitcoinWallet, feeRate?: number): Promise<TokenAmount<any, BtcToken<false>>>;
sendBitcoinTransaction(wallet: IBitcoinWallet, feeRate?: number): Promise<string>;
/**
* Waits till the bitcoin transaction confirms
*
* @param abortSignal Abort signal
* @param checkIntervalSeconds How often to check the bitcoin transaction
* @param updateCallback Callback called when txId is found, and also called with subsequent confirmations
* @throws {Error} if in invalid state (must be CLAIM_COMMITED)
*/
waitForBitcoinTransaction(abortSignal?: AbortSignal, checkIntervalSeconds?: number, updateCallback?: (txId: string, confirmations: number, targetConfirmations: number, txEtaMs: number) => void): Promise<string>;
}