SplitUTXOsToBenfordCommand constructor
SplitUTXOsToBenfordCommand({})
Implementation
SplitUTXOsToBenfordCommand({
required String walletId,
required this.targetUtxoCount,
this.maxUtxosToSplit,
List<String>? utxoKeys,
this.partSats,
this.minPartSats,
String? commandId,
DateTime? timestamp,
Map<String, dynamic>? metadata,
}) : utxoKeys = frozenListOrNull(utxoKeys),
super(
walletId: walletId,
commandId: commandId,
timestamp: timestamp,
metadata: metadata,
) {
// Validation
if (targetUtxoCount < 2) {
throw ArgumentError('Target UTXO count must be at least 2');
}
if (targetUtxoCount > 100) {
throw ArgumentError('Target UTXO count cannot exceed 100 (transaction size limits)');
}
if (maxUtxosToSplit != null && maxUtxosToSplit! < 1) {
throw ArgumentError('maxUtxosToSplit must be at least 1');
}
if (partSats != null && partSats! <= BigInt.zero) {
throw ArgumentError('partSats must be positive');
}
if (minPartSats != null && minPartSats! <= BigInt.zero) {
throw ArgumentError('minPartSats must be positive');
}
}