getStarknetAccount method

Future<Account> getStarknetAccount({
  1. SecureStore? secureStore,
  2. required Future<String?> getPassword(),
})

Implementation

Future<s.Account> getStarknetAccount({
  SecureStore? secureStore,
  required Future<String?> Function() getPassword,
}) async {
  final wallet = state.selectedWallet;
  if (wallet == null) {
    throw Exception("Wallet not found");
  }
  final account = state.selectedAccount;
  if (account == null) {
    throw Exception("Account not found");
  }
  secureStore = secureStore ??
      await getSecureStore(
        getPassword: getPassword,
        type: wallet.secureStoreType,
      );
  final privateKey =
      await secureStore.getSecret(key: privateKeyKey(wallet.id, account.id));
  if (privateKey == null) {
    throw Exception("Private key not found");
  }
  return s.Account(
    accountAddress: s.Felt.fromHexString(account.address),
    chainId: s.Felt.fromString('KATANA'),
    provider: sp.JsonRpcProvider.devnet,
    signer: s.Signer(
      privateKey: s.Felt.fromHexString(privateKey),
    ),
  );
}