import { Network } from '@saturnbtcio/psbt'; import { IArchProvider } from './providers/arch.provider'; import { IBitcoinProvider } from './providers/bitcoin.provider'; import { validateArchWalletConfigData } from './util/validation'; import { ArchWalletManager } from './instructions/arch-wallet'; export interface ArchWalletSdkConfig { programAddress: string; network: Network; programAccount: string; mempoolInfoOracleAccount: string; feeRateOracleAccount: string; bitcoinProvider: IBitcoinProvider; archProvider: IArchProvider; } export class ArchWalletSdk { public readonly archWalletManager: ArchWalletManager; constructor(config: ArchWalletSdkConfig) { validateArchWalletConfigData(config); this.archWalletManager = new ArchWalletManager(config); } }