73 lines
1.8 KiB
Dart
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();
|
|
}
|