import { type BaseBlockchain } from './base-blockchain.js'; export type BlockchainLockscriptSubscribable = Pick< BaseBlockchain, 'subscribeLockscript' | 'unsubscribeLockscript' >; export type BlockchainAddressSubscribable = Pick< BaseBlockchain, 'subscribeAddress' | 'unsubscribeAddress' >; export type BlockchainTransactionSubscribable = Pick< BaseBlockchain, 'subscribeTransaction' | 'unsubscribeTransaction' >; // TODO: We may have a fetchTokenHistory in future, but Fulcrum does not currently support indexing tokens. // There are actually a few functional discrepancies with the adapters: different adapters grant different capabilities. // For example, Chaingraph can fetch token and address history. But BCHN P2P network cannot even fetch address history. // We might want to handle this by having multiple BlockchainInterfaces (e.g. IBlockchainAddressSubscriptions) that describe capabilities. // But we should return to that later.