import { Beef, Transaction } from "@bsv/sdk"; import type { TableOutput, sdk as toolboxSdk } from "@bsv/wallet-toolbox"; type Chain = toolboxSdk.Chain; type BlockHeader = toolboxSdk.BlockHeader; type GetMerklePathResult = toolboxSdk.GetMerklePathResult; type GetRawTxResult = toolboxSdk.GetRawTxResult; type GetScriptHashHistoryResult = toolboxSdk.GetScriptHashHistoryResult; type GetStatusForTxidsResult = toolboxSdk.GetStatusForTxidsResult; type GetUtxoStatusOutputFormat = toolboxSdk.GetUtxoStatusOutputFormat; type GetUtxoStatusResult = toolboxSdk.GetUtxoStatusResult; type PostBeefResult = toolboxSdk.PostBeefResult; type ServicesCallHistory = toolboxSdk.ServicesCallHistory; type WalletServices = toolboxSdk.WalletServices; import { ArcadeClient, BeefClient, Bsv21Client, ChaintracksClient, OrdfsClient, OverlayClient, OwnerClient, TxoClient } from "./client"; import type { Capability, SyncOutput } from "./types"; export type { SyncOutput }; /** * WalletServices implementation for 1Sat ecosystem. * * Provides access to 1Sat API clients and implements the WalletServices * interface required by wallet-toolbox. * * API Routes: * - /1sat/chaintracks/* - Block headers and chain tracking * - /1sat/beef/* - Raw transactions and proofs * - /1sat/arcade/* - Transaction broadcasting * - /1sat/bsv21/* - BSV21 token data * - /1sat/txo/* - Transaction outputs * - /1sat/owner/* - Address queries and sync * - /1sat/ordfs/* - Content/inscription serving * - /overlay/* - Overlay services (topic managers, lookups) */ export declare class OneSatServices implements WalletServices { chain: Chain; readonly baseUrl: string; readonly chaintracks: ChaintracksClient; readonly beef: BeefClient; readonly arcade: ArcadeClient; readonly txo: TxoClient; readonly owner: OwnerClient; readonly ordfs: OrdfsClient; readonly bsv21: Bsv21Client; readonly overlay: OverlayClient; private fallbackServices?; /** * URL for wallet storage sync endpoint (BRC-100 JSON-RPC). * Used by StorageClient for remote wallet backup/sync. */ get storageUrl(): string; constructor(chain: Chain, baseUrl?: string, fallbackServices?: WalletServices); /** * Get list of enabled capabilities from the server */ getCapabilities(): Promise; /** * Close all client connections */ close(): void; getRawTx(txid: string, _useNext?: boolean): Promise; getChainTracker(): Promise; getHeaderForHeight(height: number): Promise; getHeight(): Promise; getMerklePath(txid: string, _useNext?: boolean): Promise; postBeef(beef: Beef, txids: string[]): Promise; getBeefForTxid(txid: string): Promise; hashOutputScript(script: string): string; getServicesCallHistory(_reset?: boolean): ServicesCallHistory; getBsvExchangeRate(): Promise; getFiatExchangeRate(currency: "USD" | "GBP" | "EUR", base?: "USD" | "GBP" | "EUR"): Promise; getStatusForTxids(txids: string[], _useNext?: boolean): Promise; /** * Helper to get tx status from Beef storage (fallback when Arcade doesn't know the tx) */ private getStatusFromBeef; isUtxo(output: TableOutput): Promise; getUtxoStatus(_output: string, _outputFormat?: GetUtxoStatusOutputFormat, outpoint?: string, _useNext?: boolean): Promise; getScriptHashHistory(hash: string, useNext?: boolean): Promise; hashToHeader(hash: string): Promise; nLockTimeIsFinal(txOrLockTime: string | number[] | Transaction | number): Promise; }