libspiffy 1.1.0
libspiffy: ^1.1.0 copied to clipboard
An actor-based Bitcoin SPV Wallet Library
1.1.0 #
WalletCoordinatorActor (Unified Public API) #
- Added
WalletCoordinatorActoras the canonical public interface for third-party apps - Single entry point: send commands via
coordinator.tell(), receive events oncoordinator.events - Clean import via
package:libspiffy/coordinator.dartwith no internal type collisions - Correlation tracking for multi-step async flows (BEEF validation, SPV, payments)
- Channel P2P adapter for payment channel communication
Plugin System #
- Added
ScriptPlugininterface for custom Bitcoin script types - Added
TransactionBuilderPluginfor multi-output protocol transactions (e.g., token issuance, transfer, burn) - Added
PluginRegistrysingleton for plugin discovery and management - Added
CallbackTransactionSignerfor secure plugin signing (private keys stay in wallet aggregate) - Plugin metadata stored on UTXOs for script identification and display
Payment Channels #
- Added
PaymentChannelAggregate(event-sourced) for off-chain micropayment channels - Added
ChannelProjectionfor channel read model updates - Channel lifecycle: open, fund, pay, close with on-chain settlement
- Payment channel builder for funding, refund, and payment transactions
Multi-Output Invoices #
- Added
InvoiceOutputSpecsealed class hierarchy:P2PKHOutputSpecfor standard address-based outputsP2MSOutputSpecfor m-of-n multisig outputsOPReturnOutputSpecfor metadata/timestamp outputsPluginOutputSpecfor plugin-delegated locking scripts
PostgreSQL Storage Backend #
- Added
PostgresWalletStorage(read model store) for server-side deployments - Added
PostgresEventStorefor event sourcing on PostgreSQL - Added
PostgresSecureStoragewith AES-256-GCM encryption for xpub/xpriv keys - Migration infrastructure with versioned schema migrations
- Connection pooling, SSL support, and connection string parsing
CDN Block Header Sync #
- Added
CdnHeaderSyncServicefor fast initial header synchronization via static CDN - Chunked binary downloads with SHA-256 integrity verification
- Concurrent download support with configurable parallelism
- Checkpoint verification for chain continuity
Additional Coordinators #
- Added
PaymentCoordinatorActorfor multi-step payment flow orchestration - Added
BenfordCoordinatorActorfor privacy-preserving UTXO splitting - Added
TransactionLifecycleCoordinatorActorfor pending transaction recovery on restart - Added
ImportActorfor wallet import from blockchain via address discovery
Wallet Import #
- Added wallet import support for xpub (watch-only) and WIF private keys
- Hierarchical address discovery via blockchain data sources
- WhatsOnChain blockchain data source implementation
- Transaction import with UTXO harvesting and dependency sorting
Other Improvements #
- Removed
generateAddressfrom publicCryptoServiceinterface (internal only) - Added
AddressMetadatamodel with script type and usage tracking - Added
TransactionAddressLinkjunction model for transaction-address relationships - Added
WalletTypeenum (HD, WIF, XPRIV, XPUB) - ARC service configuration presets:
taalTestnet()andtaalMainnet() - Lock/unlock script builders for HODL, AIP, B://, BMAP, PP1, PP2, partial witness scripts
1.0.0 #
- Initial version: event-sourced Bitcoin SPV wallet with CQRS architecture, actor model (Dactor/Eventador/DuraQ), HD wallet management, invoice system, SPV validation with BEEF/BUMP, ARC service integration, Isar storage, and SpiffyNode P2P connectivity.