Files
peyawallet/lib/native/wallet_backend.dart
Codex Bot 6480e4a555
build / Build Linux wallet (push) Successful in 2m19s
build / Build Windows wallet (push) Successful in 20m35s
Improve wallet password handling and seed backup flow
2026-04-17 18:41:18 +02:00

73 lines
1.8 KiB
Dart

import '../domain/models.dart';
import '../domain/send.dart';
import '../domain/staking.dart';
import '../domain/transactions.dart';
abstract class WalletBackend {
Future<void> createWallet({
required String name,
required String path,
required String password,
});
Future<void> restoreWalletFromSeed({
required String name,
required String seed,
required String path,
required String password,
});
Future<void> openWallet({
required String path,
required String password,
});
Future<bool> verifyWalletPassword({
required String path,
required String password,
});
Future<void> closeWallet();
int get maxDestinations;
Future<String> getAddress();
Future<int> getBalance();
Future<int> getUnlockedBalance();
Future<String> getSeed();
Future<List<WalletTransaction>> getTransactions();
Future<bool> isConnected();
Future<String> createSubaddress({String? label});
Future<List<SubaddressInfo>> getSubaddresses();
Future<void> setSubaddressLabel({
required int accountIndex,
required int addressIndex,
required String label,
});
Future<void> connectToNode(NodeConfig nodeConfig);
Future<int> getNodeHeight();
Future<int> getWalletHeight();
Future<bool> isSynced();
Future<double> getSyncProgress();
Future<void> refresh();
Future<void> rescanBlockchain({int? fromHeight});
Future<SendPreview> prepareSend(SendRequest request);
Future<SendResult> commitPreparedSend();
Future<void> discardPreparedSend();
Future<StakePreview> prepareStake({
required int amountAtomic,
int accountIndex = 0,
});
Future<Map<String, StakeYieldInfo>> getActiveStakeYields({
required List<WalletTransaction> activeStakes,
required int currentHeight,
});
Future<StakeResult> commitPreparedStake();
Future<void> discardPreparedStake();
}