Skip to content

Commit 69c5d6f

Browse files
committed
improve seed/secret detection
1 parent 7f02bd5 commit 69c5d6f

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

Sources/KukaiCryptoSwift/KeyPair.swift

+6-3
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,12 @@ public struct KeyPair {
9292

9393
switch first4 {
9494
case "edsk":
95-
let is54Chars = (secretKey.count == 54)
96-
let prefix = is54Chars ? Prefix.Keys.Ed25519.seed : Prefix.Keys.Ed25519.secret
97-
guard let decoded = Base58Check.decode(string: secretKey, prefix: prefix), let keyPair = Sodium.shared.sign.keyPair(seed: Array(decoded.prefix(32))) else {
95+
var decoded = Base58Check.decode(string: secretKey, prefix: Prefix.Keys.Ed25519.secret)
96+
if decoded == nil {
97+
decoded = Base58Check.decode(string: secretKey, prefix: Prefix.Keys.Ed25519.seed)
98+
}
99+
100+
guard let decoded = decoded, let keyPair = Sodium.shared.sign.keyPair(seed: Array(decoded.prefix(32))) else {
98101
return nil
99102
}
100103

0 commit comments

Comments
 (0)