Skip to content

Commit

Permalink
improve seed/secret detection
Browse files Browse the repository at this point in the history
  • Loading branch information
simonmcl committed May 28, 2024
1 parent 7f02bd5 commit 69c5d6f
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions Sources/KukaiCryptoSwift/KeyPair.swift
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,12 @@ public struct KeyPair {

switch first4 {
case "edsk":
let is54Chars = (secretKey.count == 54)
let prefix = is54Chars ? Prefix.Keys.Ed25519.seed : Prefix.Keys.Ed25519.secret
guard let decoded = Base58Check.decode(string: secretKey, prefix: prefix), let keyPair = Sodium.shared.sign.keyPair(seed: Array(decoded.prefix(32))) else {
var decoded = Base58Check.decode(string: secretKey, prefix: Prefix.Keys.Ed25519.secret)
if decoded == nil {
decoded = Base58Check.decode(string: secretKey, prefix: Prefix.Keys.Ed25519.seed)
}

guard let decoded = decoded, let keyPair = Sodium.shared.sign.keyPair(seed: Array(decoded.prefix(32))) else {
return nil
}

Expand Down

0 comments on commit 69c5d6f

Please sign in to comment.