@arkade-os/boltz-swap
Version:
A production-ready TypeScript package that brings Boltz submarine-swaps to Arkade.
29 lines (26 loc) • 1.04 kB
TypeScript
import { SQLExecutor } from '@arkade-os/sdk/repositories/sqlite';
import { m as SwapRepository, B as BoltzSwap, p as GetSwapsFilter } from '../../types-BKEkNZxK.js';
import '@arkade-os/sdk';
/**
* SQLite-based implementation of SwapRepository.
*
* Uses the SQLExecutor interface so consumers can plug in any SQLite driver
* (expo-sqlite, better-sqlite3, etc.).
*
* Tables are created lazily on first operation via `ensureInit()`.
* The consumer owns the SQLExecutor lifecycle — `[Symbol.asyncDispose]` is a no-op.
*/
declare class SQLiteSwapRepository implements SwapRepository {
private readonly executor;
readonly version: 1;
private initPromise;
constructor(executor: SQLExecutor);
private ensureInit;
private init;
[Symbol.asyncDispose](): Promise<void>;
saveSwap<T extends BoltzSwap>(swap: T): Promise<void>;
deleteSwap(id: string): Promise<void>;
getAllSwaps<T extends BoltzSwap>(filter?: GetSwapsFilter): Promise<T[]>;
clear(): Promise<void>;
}
export { SQLiteSwapRepository };