Files
peyawallet/lib/native/wallet_backend_factory.dart
2026-04-06 20:58:42 +02:00

24 lines
651 B
Dart

import 'package:logger/logger.dart';
import 'monero_c_backend.dart';
import 'wallet_backend.dart';
import 'wallet_ffi_backend.dart';
class WalletBackendFactory {
static WalletBackend create({required Logger logger}) {
Object? lastError;
try {
return MoneroCBackend(logger);
} catch (error) {
lastError = error;
logger.w('Failed to load monero_c backend, trying wrapper: $error');
}
try {
return WalletFfiBackend(logger);
} catch (error) {
lastError = error;
logger.e('Failed to load wallet backend: $error');
}
throw StateError('Failed to load wallet backend: $lastError');
}
}