Generic fixes (#1427)

* fix for private key solana

* Fix Solana wallet open
This commit is contained in:
Omar Hatem 2024-05-04 15:35:26 +03:00 committed by GitHub
parent d5543ceb08
commit 043d7d7c8b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -145,12 +145,17 @@ abstract class SolanaWalletBase
Future<Wallet> getWalletPair({String? mnemonic, String? privateKey}) async { Future<Wallet> getWalletPair({String? mnemonic, String? privateKey}) async {
assert(mnemonic != null || privateKey != null); assert(mnemonic != null || privateKey != null);
if (privateKey != null) { if (mnemonic != null) {
final privateKeyBytes = base58decode(privateKey); return Wallet.fromMnemonic(mnemonic, account: 0, change: 0);
return await Wallet.fromPrivateKeyBytes(privateKey: privateKeyBytes.take(32).toList());
} }
return Wallet.fromMnemonic(mnemonic!, account: 0, change: 0); try {
final privateKeyBytes = base58decode(privateKey!);
return await Wallet.fromPrivateKeyBytes(privateKey: privateKeyBytes.take(32).toList());
} catch (_) {
final privateKeyBytes = HEX.decode(privateKey!);
return await Wallet.fromPrivateKeyBytes(privateKey: privateKeyBytes);
}
} }
@override @override
@ -360,7 +365,7 @@ abstract class SolanaWalletBase
String toJSON() => json.encode({ String toJSON() => json.encode({
'mnemonic': _mnemonic, 'mnemonic': _mnemonic,
'private_key': privateKey, 'private_key': _hexPrivateKey,
'balance': balance[currency]!.toJSON(), 'balance': balance[currency]!.toJSON(),
}); });