libspiffy library

LibSpiffy - Actor-Based Bitcoin SPV Wallet Library

A comprehensive SPV wallet library built on the Dactor/Eventador stack with SpiffyNode integration for robust P2P functionality and chain tracking.

Classes

AddressDiscoveryResult
Result of address discovery scan
AddressEntity
Address entity for efficient address lookup and metadata
AddressGeneratedResponse
Response from BitcoinWalletAggregate after processing GenerateAddressCommand
AddressMetadata
Domain model for address metadata
AddressScriptInfo
Information about a script associated with an address
ARCActor
Actor that handles ARC service integration for transaction broadcasting and monitoring
ArcHealthResponse
Health status response from ARC
ArcMerkleProofResponse
Merkle proof response for BEEF format support
ArcPolicyResponse
Policy settings response from ARC
ArcService
Service for interacting with the ARC API (Advanced Relayer Console)
ArcServiceConfig
Configuration for the ARC service
ArcSubmitResponse
Response from submitting a transaction to ARC
ArcTransactionResponse
Response from querying a transaction status from ARC
BalanceTrackedTransaction
Base class for balance-tracked transactions
BEEF
Represents a Background Evaluation Extended Format transaction
BEEFPaymentResponse
Response with BEEF package ready to send to receiver
BEEFValidationResult
BEEF validation result
BenfordCoordinatorActor
Coordinator actor for Benford UTXO splitting operations
BenfordDistribution
Utility class for distributing amounts according to Benford's Law
BitcoinTransaction
Represents a Bitcoin transaction in the wallet.
BitcoinTransactionEntity
Bitcoin transaction storage entity
BitcoinUtxo
Represents a Bitcoin UTXO (Unspent Transaction Output) in the wallet.
BitcoinUtxoEntity
Bitcoin UTXO storage entity
BlockchainDataSource
Abstract interface for blockchain data providers
BlockchainReorganizationNotification
Notification about blockchain reorganization
BlockHeaderEntity
Block header storage entity for SPV validation
BlockHeaderEvent
Block header event
BlockHeaderService
Service for managing block headers in SPV clients Provides merkle root verification for BEEF/BUMP validation
BlockHeaderServiceConfig
Configuration for block header service
BlockHeaderUpdateMessage
Block header update from SpiffyNode
BroadcastBEEFMessage
Request to broadcast BEEF data
BroadcastFailedMessage
Broadcast failure notification
BroadcastSuccessMessage
Broadcast success notification
BroadcastTransactionMessage
Request to broadcast a transaction
BUMP
Represents a BSV Universal Merkle Path
CallbackTransactionSigner
A TransactionSigner that delegates ECDSA signing to a callback.
CancelInvoiceMessage
Cancel an invoice
CdnChunkInfo
Describes a single chunk of binary block headers on the CDN.
CdnHeaderSyncConfig
Configuration for CDN-based fast initial block header sync.
CdnHeaderSyncService
Downloads and imports block headers from a CDN for fast initial sync.
CdnManifest
CDN manifest describing all available header chunks for a network.
CdnSyncResult
Result of a CDN header sync operation.
ChannelP2PAdapter
Transport-agnostic adapter that translates between P2P protocol messages (as raw maps) and LibSpiffy's PaymentChannelManagerActor messages.
ChannelProjection
Channel projection that builds read models from channel events
ChannelTransactionResult
Result of a payment channel transaction build
CheckInvoiceMessage
Request to check/lookup invoice details
CheckStoragePendingUTXOsMessage
Message to trigger checking all pending UTXOs from storage against Arc
CheckTransactionStatusMessage
Check transaction status
ClientChannelInfo
Tracks state for a channel we initiated (client role).
CreateInvoiceMessage
Request to create a new invoice/payment request
CreateWalletMessage
Request to create a new wallet
CryptoService
Cryptographic service interface for Bitcoin operations Provides all cryptographic functionality needed by the wallet
DartSVCryptoService
DiscoveredAddress
Information about a discovered address
EncryptionResult
Result of an encryption operation.
EncryptionService
Service for encrypting and decrypting sensitive data.
EstimateFeeMessage
Estimate fee for transaction
EventStorage
Abstract interface for event storage operations.
FeeEstimateMessage
Fee estimate response
FeeQuoteMessage
Fee quote response
FundingTransactionBuiltResponse
Response from building and signing a funding transaction
GetFeeQuoteMessage
Request fee quote
HarvestedUTXO
HarvestResult
ImportableTransaction
Raw transaction with merkle proof for import
ImportedTransaction
Represents a successfully imported transaction
InMemorySecureStorage
In-memory implementation of SecureStorage for development and testing.
InMemoryWalletStorage
In-memory implementation of WalletStorage for development and testing.
Invoice
Invoice data class for storage
InvoiceCoordinatorActor
Coordinator actor for invoice management using CQRS pattern
InvoiceCreatedMessage
Response when an invoice is successfully created
InvoiceDetailsResponse
Response with invoice details
InvoiceEntity
Invoice entity for payment request management
InvoiceOutputSpec
Specification for a single invoice output (distinct UTXO) Supports both P2PKH (address-based) and P2MS (multisig) outputs
InvoiceProjection
Invoice projection that builds read models from invoice events
InvoiceReadModel
Read model for invoice queries - optimized for UI/query needs
InvoicesListMessage
Response with list of invoices
InvoiceState
Represents the current state of an invoice aggregate (write model)
InvoiceStatusMessage
Invoice status update notification
IsarWalletStorage
Isar-based implementation of ReadModelStorage.
IsolateConfig
Configuration for isolate-aware Isar storage operations.
Leaf
Represents a leaf in the merkle tree
Level
Represents a level in the merkle tree
LibSpiffyActorSystem
Initialization and management utilities for the LibSpiffy actor system
LibSpiffySchemas
LibSpiffy's Isar schemas that developers can add to their Isar instance.
ListInvoicesMessage
List all invoices for a wallet
ListWalletsMessage
Request list of all wallets
MarkInvoicePaidMessage
Mark an invoice as paid
MerkleProof
Merkle proof data for SPV validation
MerkleProofData
Merkle proof data in a generic format
MerkleProofEntity
Merkle proof storage entity for SPV validation
MerkleProofMessage
Merkle proof retrieved from ARC (NEW)
Migration
Base class for database migrations.
MultisigSignatureResult
Result of signing a multisig input
MultisigTransactionSignedResponse
Response for multisig transaction signing
OPReturnOutputSpec
OP_RETURN (data carrier) output specification OP_RETURN outputs are unspendable and carry arbitrary data on-chain
P2MSOutputSpec
P2MS (Pay-to-Multisig) output specification
P2PKHOutputSpec
P2PKH (Pay-to-Public-Key-Hash) output specification
PayInvoiceMessage
Request to pay an invoice with BEEF-formatted transaction
PaymentChannelBuilder
Payment Channel Builder Service
PaymentChannelEntity
PaymentCoordinatorActor
Coordinator actor for payment operations with SPV BEEF construction
PaymentWithBEEF
Result of building a payment transaction with BEEF ancestry
PeerInfo
Tracks which peers are involved in a channel.
PendingRequest
A pending incoming channel request awaiting accept/reject.
PluginOutputSpec
Plugin-delegated output specification.
PluginRegistry
Central registry for script plugins. Singleton.
PluginTransactionRequest
Request for a TransactionBuilderPlugin to build a complete transaction.
PluginUnlockSpec
Parameters for building an unlocking script to spend a plugin-managed UTXO.
PostgresConfig
Configuration for PostgreSQL database connections.
PostgresEventStore
PostgreSQL implementation of EventStore and EventStream.
PostgresMigrations
Manages database migrations for PostgreSQL.
PostgresSecureStorage
PostgreSQL-based secure storage that ONLY supports xpub storage.
PostgresWalletStorage
PostgreSQL implementation of ReadModelStorage.
ReadModelStorage
Abstract interface for read-model storage operations.
ReceiveTransactionMessage
Receive transaction directly from counterparty with proofs (CORE SPV)
RegisterTransactionOutputsMessage
Messages for coordinating between actors in the LibSpiffy system Register transaction outputs for status tracking
RetrieveMerkleProofMessage
Request merkle proof retrieval from ARC (NEW)
ScriptPlugin
Interface that external token/script libraries implement to teach libspiffy how to identify, parse, and build their script types.
ScriptTypeRegistry
A wrapper around DartSV's script template system focused on accounting
SecureStorage
Abstract interface for secure storage operations.
ServerChannelInfo
Tracks state for a channel we accepted (server role).
SetArcActorForSPVMessage
Message to set the ARC actor reference in SPVActor
SetArcActorMessage
Internal message to set ARC actor reference in WalletManager
SetBenfordCoordinatorMessage
Message to set the Benford coordinator reference in WalletManager
SetHeaderSyncActorMessage
Message to set HeaderSyncActor reference in SPVActor
SetInvoiceManagerMessage
Internal message to set InvoiceManager reference in WalletManager
SplitUTXOsResponse
Response from BenfordCoordinatorActor or BitcoinWalletAggregate for SplitUTXOsToBenfordCommand
SPVActor
Actor that handles true SPV validation - receives transactions from counterparties and validates them using merkle proofs against the block header chain
SPVService
Enhanced SPV service with ChainTipTracker and BlockHeaderService integration Provides real-time blockchain monitoring, confirmation tracking, and BEEF/BUMP validation
SPVValidationResult
SPV validation result after processing received transaction
StorageFactory
Factory for creating storage instances based on the selected backend.
StoredBlockHeader
Stored block header with metadata
TrackedSpendingTransaction
Tracked spending transaction with BEEF validation
TrackedTransaction
Tracked transaction for confirmation monitoring
TrackedUTXO
Tracked UTXO with validation details
TransactionAddressEntity
Junction table for transaction-address many-to-many relationship Enables efficient queries like "all transactions involving address X"
TransactionAddresses
Contains all addresses involved in a transaction
Represents a link between a transaction and an address
TransactionAnalyzer
Analyzes transactions to identify wallet outputs and spending patterns
TransactionBuildConfig
Transaction building configuration based on proven patterns
TransactionBuilderPlugin
Extended plugin interface for protocols that build complete multi-output transactions with protocol-specific structure.
TransactionBuilderService
Enhanced transaction building service with proven DartSV patterns Based on battle-tested patterns from spv_protocol.dart
TransactionBuildResult
Result of transaction building operation
TransactionConfirmationUpdate
Transaction confirmation update event
TransactionDetails
Transaction details with BEEF proof
TransactionImportResult
Result of transaction import operation
TransactionImportService
Service for importing transactions with SPV validation
TransactionInfo
Data models for blockchain data sources
TransactionLifecycleCoordinator
Coordinator actor for transaction lifecycle management
TransactionOutputSpec
Transaction output specification
TransactionRecordedResponse
Response from BitcoinWalletAggregate after processing RecordImportedTransactionCommand
TransactionSignedResponse
Response from BitcoinWalletAggregate after signing transaction
TransactionStatusMessage
Transaction status response (ENHANCED)
TransactionVerificationStatus
Enhanced transaction verification status
TxHistoryEntry
Transaction history entry (minimal definition for BEEF creation)
TxInput
Transaction input
TxOutput
Transaction output
UtxoInfo
Information about an unspent transaction output (UTXO)
UTXOLock
UTXO lock information for preventing double-spending
UTXOReceivedResponse
Response from BitcoinWalletAggregate after processing ReceiveUTXOCommand
ValidateBEEFMessage
Request BEEF validation (enhanced transaction format)
WalletBalance
Multi-tier wallet balance
WalletBalanceConfig
Configuration for wallet balance service
WalletBalanceService
Comprehensive wallet balance service with BEEF-based confirmation logic Provides multi-tier balance tracking, reorganization handling, and real-time updates
WalletBalanceUpdate
Balance update event
WalletCommandMessage
Route a command to a specific wallet
WalletCoordinatorActor
The canonical public interface for third-party apps using LibSpiffy.
WalletCreatedMessage
Response containing wallet creation result (from WalletManagerActor to external caller)
WalletCreatedResponse
Response from BitcoinWalletAggregate after processing CreateWalletCommand
WalletEvent
Base class for all wallet events that integrates with Eventador event sourcing
WalletEventEntity
Wallet event storage entity for event sourcing
WalletListMessage
Response with list of wallet IDs
WalletManagerActor
Central coordinator that manages multiple wallet aggregates and routes commands
WalletMetadataEntity
Wallet metadata storage entity
WalletProjection
Wallet projection that builds read models from wallet events
WalletReadModel
Read model for wallet queries - optimized for UI/query needs
WalletState
Represents the current state of a wallet at a specific point in time.
WalletStorage
Combined storage interface for backward compatibility.
WhatsOnChainDataSource
WhatsOnChain implementation of BlockchainDataSource

Enums

ArcTransactionStatus
Status of a transaction in the ARC system
BitcoinScriptType
BitcoinTransactionDirection
Represents the direction of a Bitcoin transaction
BlockHeaderEventType
Block header event types
CdnSyncPhase
Phase of CDN block header synchronization.
InvoiceStatus
Messages for invoice/payment request management Status of an invoice
StorageBackend
Available storage backend options for libspiffy.
TransactionStatus
Enumeration of transaction statuses
UTXOSelectionStrategy
UTXO selection strategy enumeration
UTXOStatus
Enumeration of UTXO statuses
WalletBalanceUpdateReason
Reason for balance update
WalletType
Supported wallet types in LibSpiffy

Extensions

AddressEntityByIndex on IsarCollection<AddressEntity>
AddressEntityQueryFilter on QueryBuilder<AddressEntity, AddressEntity, QFilterCondition>
AddressEntityQueryObject on QueryBuilder<AddressEntity, AddressEntity, QFilterCondition>
AddressEntityQueryProperty on QueryBuilder<AddressEntity, AddressEntity, QQueryProperty>
AddressEntityQuerySortBy on QueryBuilder<AddressEntity, AddressEntity, QSortBy>
AddressEntityQuerySortThenBy on QueryBuilder<AddressEntity, AddressEntity, QSortThenBy>
AddressEntityQueryWhere on QueryBuilder<AddressEntity, AddressEntity, QWhereClause>
AddressEntityQueryWhereDistinct on QueryBuilder<AddressEntity, AddressEntity, QDistinct>
AddressEntityQueryWhereSort on QueryBuilder<AddressEntity, AddressEntity, QWhere>
BitcoinTransactionEntityByIndex on IsarCollection<BitcoinTransactionEntity>
BitcoinTransactionEntityQueryFilter on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QFilterCondition>
BitcoinTransactionEntityQueryObject on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QFilterCondition>
BitcoinTransactionEntityQueryProperty on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QQueryProperty>
BitcoinTransactionEntityQuerySortBy on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QSortBy>
BitcoinTransactionEntityQuerySortThenBy on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QSortThenBy>
BitcoinTransactionEntityQueryWhere on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QWhereClause>
BitcoinTransactionEntityQueryWhereDistinct on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QDistinct>
BitcoinTransactionEntityQueryWhereSort on QueryBuilder<BitcoinTransactionEntity, BitcoinTransactionEntity, QWhere>
BitcoinUtxoEntityByIndex on IsarCollection<BitcoinUtxoEntity>
BitcoinUtxoEntityQueryFilter on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QFilterCondition>
BitcoinUtxoEntityQueryObject on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QFilterCondition>
BitcoinUtxoEntityQueryProperty on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QQueryProperty>
BitcoinUtxoEntityQuerySortBy on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QSortBy>
BitcoinUtxoEntityQuerySortThenBy on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QSortThenBy>
BitcoinUtxoEntityQueryWhere on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QWhereClause>
BitcoinUtxoEntityQueryWhereDistinct on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QDistinct>
BitcoinUtxoEntityQueryWhereSort on QueryBuilder<BitcoinUtxoEntity, BitcoinUtxoEntity, QWhere>
BlockHeaderEntityByIndex on IsarCollection<BlockHeaderEntity>
BlockHeaderEntityQueryFilter on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QFilterCondition>
BlockHeaderEntityQueryObject on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QFilterCondition>
BlockHeaderEntityQueryProperty on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QQueryProperty>
BlockHeaderEntityQuerySortBy on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QSortBy>
BlockHeaderEntityQuerySortThenBy on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QSortThenBy>
BlockHeaderEntityQueryWhere on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QWhereClause>
BlockHeaderEntityQueryWhereDistinct on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QDistinct>
BlockHeaderEntityQueryWhereSort on QueryBuilder<BlockHeaderEntity, BlockHeaderEntity, QWhere>
GetAddressEntityCollection on Isar
GetBitcoinTransactionEntityCollection on Isar
GetBitcoinUtxoEntityCollection on Isar
GetBlockHeaderEntityCollection on Isar
GetInvoiceEntityCollection on Isar
GetMerkleProofEntityCollection on Isar
GetPaymentChannelEntityCollection on Isar
GetTransactionAddressEntityCollection on Isar
GetWalletEventEntityCollection on Isar
GetWalletMetadataEntityCollection on Isar
InvoiceEntityByIndex on IsarCollection<InvoiceEntity>
InvoiceEntityQueryFilter on QueryBuilder<InvoiceEntity, InvoiceEntity, QFilterCondition>
InvoiceEntityQueryObject on QueryBuilder<InvoiceEntity, InvoiceEntity, QFilterCondition>
InvoiceEntityQueryProperty on QueryBuilder<InvoiceEntity, InvoiceEntity, QQueryProperty>
InvoiceEntityQuerySortBy on QueryBuilder<InvoiceEntity, InvoiceEntity, QSortBy>
InvoiceEntityQuerySortThenBy on QueryBuilder<InvoiceEntity, InvoiceEntity, QSortThenBy>
InvoiceEntityQueryWhere on QueryBuilder<InvoiceEntity, InvoiceEntity, QWhereClause>
InvoiceEntityQueryWhereDistinct on QueryBuilder<InvoiceEntity, InvoiceEntity, QDistinct>
InvoiceEntityQueryWhereSort on QueryBuilder<InvoiceEntity, InvoiceEntity, QWhere>
MerkleProofEntityQueryFilter on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QFilterCondition>
MerkleProofEntityQueryObject on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QFilterCondition>
MerkleProofEntityQueryProperty on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QQueryProperty>
MerkleProofEntityQuerySortBy on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QSortBy>
MerkleProofEntityQuerySortThenBy on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QSortThenBy>
MerkleProofEntityQueryWhere on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QWhereClause>
MerkleProofEntityQueryWhereDistinct on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QDistinct>
MerkleProofEntityQueryWhereSort on QueryBuilder<MerkleProofEntity, MerkleProofEntity, QWhere>
PaymentChannelEntityByIndex on IsarCollection<PaymentChannelEntity>
PaymentChannelEntityQueryFilter on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QFilterCondition>
PaymentChannelEntityQueryObject on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QFilterCondition>
PaymentChannelEntityQueryProperty on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QQueryProperty>
PaymentChannelEntityQuerySortBy on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QSortBy>
PaymentChannelEntityQuerySortThenBy on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QSortThenBy>
PaymentChannelEntityQueryWhere on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QWhereClause>
PaymentChannelEntityQueryWhereDistinct on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QDistinct>
PaymentChannelEntityQueryWhereSort on QueryBuilder<PaymentChannelEntity, PaymentChannelEntity, QWhere>
TransactionAddressEntityQueryFilter on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QFilterCondition>
TransactionAddressEntityQueryObject on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QFilterCondition>
TransactionAddressEntityQueryProperty on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QQueryProperty>
TransactionAddressEntityQuerySortBy on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QSortBy>
TransactionAddressEntityQuerySortThenBy on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QSortThenBy>
TransactionAddressEntityQueryWhere on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QWhereClause>
TransactionAddressEntityQueryWhereDistinct on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QDistinct>
TransactionAddressEntityQueryWhereSort on QueryBuilder<TransactionAddressEntity, TransactionAddressEntity, QWhere>
WalletEventEntityQueryFilter on QueryBuilder<WalletEventEntity, WalletEventEntity, QFilterCondition>
WalletEventEntityQueryObject on QueryBuilder<WalletEventEntity, WalletEventEntity, QFilterCondition>
WalletEventEntityQueryProperty on QueryBuilder<WalletEventEntity, WalletEventEntity, QQueryProperty>
WalletEventEntityQuerySortBy on QueryBuilder<WalletEventEntity, WalletEventEntity, QSortBy>
WalletEventEntityQuerySortThenBy on QueryBuilder<WalletEventEntity, WalletEventEntity, QSortThenBy>
WalletEventEntityQueryWhere on QueryBuilder<WalletEventEntity, WalletEventEntity, QWhereClause>
WalletEventEntityQueryWhereDistinct on QueryBuilder<WalletEventEntity, WalletEventEntity, QDistinct>
WalletEventEntityQueryWhereSort on QueryBuilder<WalletEventEntity, WalletEventEntity, QWhere>
WalletMetadataEntityByIndex on IsarCollection<WalletMetadataEntity>
WalletMetadataEntityQueryFilter on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QFilterCondition>
WalletMetadataEntityQueryObject on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QFilterCondition>
WalletMetadataEntityQueryProperty on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QQueryProperty>
WalletMetadataEntityQuerySortBy on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QSortBy>
WalletMetadataEntityQuerySortThenBy on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QSortThenBy>
WalletMetadataEntityQueryWhere on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QWhereClause>
WalletMetadataEntityQueryWhereDistinct on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QDistinct>
WalletMetadataEntityQueryWhereSort on QueryBuilder<WalletMetadataEntity, WalletMetadataEntity, QWhere>
WalletTypeExtension on WalletType

Constants

AddressEntitySchema → const CollectionSchema<AddressEntity>
beefMagicAndVersion → const int
BeefMagicAndVersion is the magic bytes and version for BEEF format (0100BEEF)
BitcoinTransactionEntitySchema → const CollectionSchema<BitcoinTransactionEntity>
BitcoinUtxoEntitySchema → const CollectionSchema<BitcoinUtxoEntity>
BlockHeaderEntitySchema → const CollectionSchema<BlockHeaderEntity>
InvoiceEntitySchema → const CollectionSchema<InvoiceEntity>
MerkleProofEntitySchema → const CollectionSchema<MerkleProofEntity>
PaymentChannelEntitySchema → const CollectionSchema<PaymentChannelEntity>
TransactionAddressEntitySchema → const CollectionSchema<TransactionAddressEntity>
WalletEventEntitySchema → const CollectionSchema<WalletEventEntity>
WalletMetadataEntitySchema → const CollectionSchema<WalletMetadataEntity>

Functions

getLibSpiffySystem() LibSpiffyActorSystem
Get or create the global LibSpiffy actor system instance
initializeLibSpiffy({ActorSystem? actorSystem, String? dataDirectory, ActorSystemConfig? config, ReadModelStorage? readModelStorage, SecureStorage? secureStorage, CryptoService? cryptoService, ArcServiceConfig? arcConfig, Isar? isar, IsolateConfig? isolateConfig, String networkType = 'test', bool enableP2P = true, int? startHeight, List<String>? peerAddresses, String? userAgent}) Future<void>
Initialize the global LibSpiffy actor system instance
shutdownLibSpiffy() Future<void>
Shutdown the global LibSpiffy actor system instance

Typedefs

CdnSyncProgressCallback = void Function(int current, int total, CdnSyncPhase phase)
Callback type for CDN sync progress reporting.
SigningCallback = Uint8List Function(Uint8List sighash, int inputIndex)
A synchronous function that signs a sighash and returns a DER-encoded signature.

Exceptions / Errors

ArcException
Exception thrown by ARC service operations
BEEFException
BlockHeaderException
Exception thrown by block header service
BUMPException
CryptoException
Exception thrown by cryptographic operations
DataSourceException
Exception thrown by blockchain data sources
EncryptionException
Exception thrown when encryption or decryption fails.
ScriptVerificationException
Exception thrown when script verification fails
SecureStorageException
Exception thrown when secure storage operations fail.
SPVException
Exception thrown by SPV service operations
StorageException
Exception thrown when event storage operations fail.
TransactionBuildException
Exception thrown during transaction building
TransactionImportException
Exception thrown during transaction import
WalletBalanceException
Exception thrown by wallet balance service